fbpx

Автоматизация Android на POST\GET с помощью Frida-Server+BURPSuite

Всем привет!
Ранее уже писал статью на счет автоматизации приложений на Android, с помощью GETPOST запросов, при использовании ZennoPoster. Однако появилась необходимость разобраться подробнее.

Многим было непонятно то, как оно работает и сам пример в статье был слишком простой, в этот раз мне бы хотелось более детально пройтись по всем моментам. Особенно как на этом заработать
Некоторые даже думали что дальнейшей работы шаблона нужен включенный эмулятор. Это не так, ведь самое большое преимущество в запросах, то, что нам не нужно держать включенными кучу копий эмулятора, потому запускать много потоков можно сравнительно на слабом железе.

Когда у меня есть время, то я в основном лью на дейтинг. На данный тип трафика можно лить практически любой трафик, если вы вспомните с прошлой статьи, то оттуда сливался спортивный и он конвертился.

В основном мы начинаем по примитивному использовать приложение, например добавляем фотку красивой девушки, ссылки в профиль и начинаем фолловить пользователей мужского пола. Этот способ имеет право на жизнь! Так каждый день появляется столько новых разных приложений, на любой цвет и вкус.

Но есть еще много разных способов, как использовать. Есть отличная статья про точки касания, переписывать я не буду, просто пройдитесь глазами. 

В прошлой статье, я описал возможность работы с эмулятором Nox, но со временем столкнулся с такой проблемой, что он перестал запускаться и все приложения которые я сохранил на будущее для их изучения, они пропали.
Это была не самая приятная ситуация которая заставила меня перейти на MEMU поскольку он оказался более шустрым и стабильным.

Хочется показать, что есть не только тот способ для вскрытия приложения от SSL сертификата. Но еще с помощью Frida-Server и BURPSuite. Про бурп это вообще отдельная тема, советую всем научится с ним работать.

Так что погнали!

Данный пункт вы можете пропустить, если уже установлен Python и он нормально работает на Win10.

Установка Python в Windows 10

1. Переходим на сайт и качаем свежую версию Python https://www.python.org/downloads/

2. После того как скачали файл, запускаем установочный файл.

3. Ставим галочку на Add Python 3.8 to PATH и дальше на Customize Installation

Ставим галочку на Add Python 3.8 to PATH и дальше на Customize Installation

4. На этом шаге смотрим чтобы галочки везде стояли.

На этом шаге смотрим чтобы галочки везде стояли.

5. Тут тоже самое, обращаем внимание чтобы галочка стояла на Add Python to environment variables и меняем папку по умолчанию например на C:Python

галочка стояла на Add Python to environment variables и меняем папку по умолчанию например на C:Python

6. Ждем пока установщик сделает свое дело.

7. Снимает ограничения на длину имени файла.

8. Далее для того, чтобы Python нормально заработал, переходим в Параметры->Приложения и возможности->Псевдонимы выполнения приложения и снимаем тумблеры

переходим в Параметры->Приложения и возможности->Псевдонимы выполнения приложения и снимаем тумблеры

9. Далее открываем cmd от имени администратора и вводим эти две команды:
Код:

msiexec /unreg

msiexec /regserver
открываем cmd от имени администратора и вводим эти две команды

10. Проверяем в cmd что Python у нас установился и работает:

Код:

python --version
Проверяем в cmd что Python у нас установился и работает

Устанавливаем Memu

  1. Переходим на сайт https://www.memuplay.com/ и качаем свежую версию.
  2. Устанавливаем себе в удобную папку эмулятор и не забыв нажать Decline когда нам предложат установить антивирус McAfee 
  3. Запускает MultiMEmu и создаем новую машину на Android 7.1
  4. В настройках виртуальной машины включаем root

Установка и настройка BURPSuite

  1. Поскольку Burp написан на языке Java, то для запуска нам потребуется виртуальная машина Java, переходим на сайт oracle и скачиваем свежую версию. После этого устанавливаем.
  2. Переходим на TG канал и скачиваем BURPSuite.
  3. Там на канале есть nulled burp, описывать как эго установить не буду, делайте на свой страх и риск, это только в ознакомительных целях. Или используйте Fiddler4, который описывал в прошлой статье. Представим что BURPSuite у вас есть и потому переходим к его самой настройки.

4.Переходим в вкладку Proxy->Options и жмем Add

Переходим в вкладку Proxy->Options и жмем Add

5.В порт вписывает 8082 и нажимаем галочку на All interfaces 

В порт вписывает 8082 и нажимаем галочку на All interfaces

6.Дальше нажимаем Yes.
7.Запускаем эмулятор который мы создали.
8.Устанавливаем приложение, которое мы хотим снять сертификат.
9.В эмуляторе переходим Настройки->wifi->Наша_wifi_сеть->Расширенные настройки и добавляем туда наш прокси 192.168.1.7:8082 

В эмуляторе переходим Настройки->wifi->Наша_wifi_сеть->Расширенные настройки и добавляем туда наш прокси 192.168.1.7:8082

10.Далее в браузере переходим по тому адресу, который мы добавляли 192.168.1.7:8082 и качаем CA Certificate. Скачаются сертификаты на эмулятор. 

Далее в браузере переходим по тому адресу, который мы добавляли 192.168.1.7:8082 и качаем CA Certificate

11.Переходим в файловый менеджер на устройстве и переименовуем с cacert.der на cacert.crt и устанавливаем его. 

Переходим в файловый менеджер на устройстве и переименовуем с cacert.der на cacert.crt и устанавливаем его.
Переходим в файловый менеджер на устройстве и переименовуем с cacert.der на cacert.crt и устанавливаем его.

Устанавливаем Frida

Открываем cmd с правами администратора и вводим:

1. pip install frida

2. pip install objection

3. pip install frida-tools

Пока с этим все

Качаем adbtools и Frida-server+остальное

1.Качаем на сайте свежую версию adbtools тут  и распаковываем в удобную папку, в моем случае это C:adb

2.Сохраняем этот скрип под именем fridascript.js в папке adb

Java.perform(function() {         

var array_list = Java.use("java.util.ArrayList");
var ApiClient = Java.use('com.android.org.conscrypt.TrustManagerImpl');

ApiClient.checkTrustedRecursive.implementation = function(a1,a2,a3,a4,a5,a6) {
// console.log('Bypassing SSL Pinning');
var k = array_list.$new();
return k;
}

},0);
Сохраняем этот скрип под именем fridascript.js в папке adb

3.Переходим в эмулятор Настройки->О планшете и пару раз кликаем на на вкладку «Номер сборки» 

Переходим в эмулятор Настройки->О планшете и пару раз кликаем на на вкладку "Номер сборки"

4.Теперь у нас появился пункт в меню настройки «Для разработчиков» переходим туда и включаем тублер «Отладка по USB» 

Теперь у нас появился пункт в меню настройки "Для разработчиков" переходим туда и включаем тублер "Отладка по USB"

5.Дальше нам нужно подключить устройство к adb, для этого переходим в папку C:Program Files (x86)MicrovirtMEmuMemuHyperv VMsMEmu (у вас путь может отличаться если вы устанавливали не по умолчанию эмулятор, так же если это не первый эмулятор названия похожие, думал принцип потянет)

6.Редактируем блокнотом файл MEmu.memu и находим там строку которая нам нужна, а именно hostip=»127.0.0.1″ hostport=»21503″ 

Редактируем блокнотом файл MEmu.memu и находим там строку которая нам нужна, а именно hostip="127.0.0.1" hostport="21503"

7.Открываем cmd в папке с adb (в моем случае это C:adb) и подключаем устройство
adb connect 127.0.0.1:21503

Открываем cmd в папке с adb (в моем случае это C:adb) и подключаем устройство

8.После этой команды, мы должны проверить если устройство подключено к adb, вводим еще командую строку adb devices
и видим что наше устройство подключено: 

проверить если устройство подключено к adb, вводим еще командую строку adb devices
и видим что наше устройство подключено:

9.Дальше нам надо скачать Frida-server в соответсвии архитектуры нашего устройства, потому для этого впишем в cmd еще одну команду adb shell getprop ro.product.cpu.abi 

Дальше нам надо скачать Frida-server в соответсвии архитектуры нашего устройства, потому для этого впишем в cmd еще одну команду adb shell getprop ro.product.cpu.abi

10.Переходим на сайт https://github.com/frida/frida/releases/ и скачиваем, в моем случае это frida-server-12.9.4-android-x86.xz

11.Распаковываем содержимое архива в папке с adb

12.Внедряем frida-server в наше устройство, для этого запускаем cmd с папки adb и вводим:
adb push C:adbfrida-server-12.9.4-android-x86 /data/local/tmp/

adb shell chmod 777 /data/local/tmp/frida-server-12.9.4-android-x86 

Внедряем frida-server в наше устройство, для этого запускаем cmd с папки adb и вводим

13.Теперь нам надо запустить frida-server adb shell /data/local/tmp/frida-server-12.9.4-android-x86 & 

Теперь нам надо запустить frida-server

14.Никакого вывода этой команды не будет, и не закрывайте это окно cmd, нам нужно поддерживать работу frida-server пока будем перехватывать запросы, теперь попробуем посмотреть все запущенные службы на устройстве, для этого открываем новую командную строку и вводим frida-ps -U  

не закрывайте это окно cmd, нам нужно поддерживать работу frida-server пока будем перехватывать запросы

Тут ищем то приложение с которого нам нужно снять сертификат. Отмечено красным.

15.Теперь внедряем код fridascript.js в приложение frida -U -l fridascript.js --no-paus -f com.gametreeapp 

Теперь внедряем код fridascript.js в приложение frida -U -l fridascript.js --no-paus -f com.gametreeapp

16.Получилось Теперь запросы у нас видны, мы сняли сертификат. 

Получилось Теперь запросы у нас видны, мы сняли сертификат.

Заработок

Теперь нам пора на всем этом добре заработать $$$. Как я уже писал, после того как мы перехватим нужные запросы, нам не нужно держать эмулятор открытым, можно смело закрывать и добавлять проект в ZennoPoster.

Разбираемся с рассылками внутри приложения


Теперь перейдем к тому, как разослать сообщения внутри самого приложения! Случайно наткнулся в PlayMarket’e на VerbApp. Аудитория приложения маленькая, но там для того, чтобы научится, подойдет как-раз. Скачиваем на эмулятор, снимаем любым удобным способом сертификат и делаем шаблон, который будет рассылать по личным сообщением. Как-раз в этом приложении нет никаких ограничений на отправку в ЛС. Но из-за маленькой аудитории, заработать почти не получится. Но нам же главное способ?)

1. Регистрируемся в приложении

Регистрируемся в приложении

2. Заполняем профиль
3. Дальше нам нужно отслеживать запросы, пробуем написать человеку в ЛС и смотрим запросы, нам важны эти два

Дальше нам нужно отслеживать запросы, пробуем написать человеку в ЛС и смотрим запросы, нам важны эти два

Делаем GET запрос и тем самым мы получаем id для создания переписки:

Делаем GET запрос и тем самым мы получаем id для создания переписки:

Переносим запросы в кубик ProjectMaker:

Переносим запросы в кубик ProjectMaker:
Переносим запросы в кубик ProjectMaker:

Пробуем его воспроизвести и видим, что мы получили id

Пробуем его воспроизвести и видим, что мы получили id

Тоже самое делаем со втором запросом:

Тоже самое делаем со втором запросом:
Тоже самое делаем со втором запросом:
Тоже самое делаем со втором запросом:

Выполняем и видим результат в переменной:

Выполняем и видим результат в переменной:

Теперь пишем сообщение человеку и дальше ловим запросы:

Теперь пишем сообщение человеку и дальше ловим запросы:

Как видим при отправке используется conversation_id который мы парсили первым get кубиком, потому при отправке мы должны это значение подставить:

Опять же переносим это в ProjectMaker и заменяем «Привет» на другое сообщение, подставляем переменную, выполняем и смотрим уже в самом приложении если отправилось:

Опять же переносим это в ProjectMaker и заменяем "Привет" на другое сообщение, подставляем переменную, выполняем и смотрим уже в самом приложении если отправилось:
Опять же переносим это в ProjectMaker и заменяем "Привет" на другое сообщение, подставляем переменную, выполняем и смотрим уже в самом приложении если отправилось:

После выполнения видим, что в эмуляторе оно отправилось.

После выполнения видим, что в эмуляторе оно отправилось.

Теперь нам больше эмулятор не нужен, мы можем обойтись без него с помощью GETPOST запросов.

Конец
Хотел сказать то, что изначально статья должна была быть более полной в плане автоматизации Android приложений, но тут я заболел и еле себя заставил добить ее ( Если заметите какие-то орфографические ошибки, прошу намекнуть! Надеюсь кому-то будет полезно!

Автор статьи — пользователь Fbtwork10, к сожалению, ссылку на ТГ не нашли.

Не забывайте подписаться на канал и вступить в чат:
Больше годноты на канале — Довольный Арбитражник 
Обсудить и задать вопросы в чате — Арбитраж трафика | Довольный

Так же рекомендуем к прочтению — «Создаем сетку аккаунтов Twitter и запускаем пассивный трафик.»

Поделиться ссылкой:

Добавить комментарий