![]() |
Цитата:
Цитата:
https://forum.antichat.xyz/attachmen...1070025067.png Качаем Frida, ставим Frida • A world-class dynamic instrumentation toolkit она нам нужна будет чтобы произвести SSL Unpinning, чтобы траф мы видили потом. В терминале должны быть доступны следующие утилиты: https://forum.antichat.xyz/attachmen...1070135167.png Затем нужен Frida-server, чтобы под рутом работал на самом телефоне, качаем отсюда Releases · frida/frida в зависимости от архитектуры эмулятора. У меня это android-x86 https://forum.antichat.xyz/attachmen...1070276753.png Скаченный файл мы по adb перекидываем на телефон в директорию Код:
/data/local/tmpСначала заходим под рутом в shell Код:
adb root ; adb shellКод:
cd /data/local/tmp/ ; ./frida-server-... &Проверим, работает ли фрида Код:
frida-ps -UПоказывает список всех процессов на телефоне Дело за малым, нам надо пустить трафик. Устанавливаем BurpSuite на комп, и экспортируем сертификат https://forum.antichat.xyz/attachmen...1070810782.png Теперь конвертируем его в PEM формат (На новых андроидах не получится напрямую установить DER) Код:
openssl x509 -inform der -in cacert.der -out burp.pemВ Burp настраиваем прокси вот так https://forum.antichat.xyz/attachmen...1071152255.png На телефоне прописываем так https://forum.antichat.xyz/attachmen...1071227963.png Теперь можете попробовать зайти в браузер, траф должен пойти https://forum.antichat.xyz/attachmen...1071310927.png Теперь непосредственно к иснтаграму. Качаем этот файл Instagram-SSL-Pinning-Bypass/instagram-ssl-pinning-bypass.js at main · Eltion/Instagram-SSL-Pinning-Bypass и обязательно раскоментируем //disableHTTP3(); Теперь запускаем фриду с этим скриптом. Код:
frida -U -l ./instagram-ssl-pinning-bypass.js -f com.instagram.androidКод:
[*][+] Deleting config files to disable HTTP3. Restart App.https://forum.antichat.xyz/attachmen...1071523029.png На телефоне открылась Инста и трафик пошел https://forum.antichat.xyz/attachmen...1071640881.png Все, стенд готов, вот вам вспомогательные команды! 1. Запуска эмулятора без открытия андроид студии. Код:
emulator -avd Pixel_6_Pro_API_28 -no-snapshot-load2. Запуск рут-шета и frida-server Код:
adb root ; adb shellКод:
cd /data/local/tmp/ ; ./frida-server-16.5.2-android-x86Код:
frida -U -l ./instagram-ssl-pinning-bypass.js -f com.instagram.androidТеперь поговорим о специфики самого Инстаграма и как повторять трафик. Весь API приложения делится на две составляющие: 1. Обычный Api / GraphQl api - обычный привычный апи, который воспроизвести легко 2. Bloks api- пропиетарное решение для динамической отрисовки UI Сразу про Bloks и что это такое. Bloks - это проприетарный фреймворк фейсбук сервисов, который динамически отрисовывает интерфейс в приложении. Нечто вроде Html, но проприетарный закрытый. Касаемо Инсты, то часть интерфейса (Логин / Регистрация / Окно блокировок / Двухфакторок / Настройка фб-аккаунта, профилей) работает именно через Bloks! Конкретный пример. Вот приложуха запускается, сразу запрос на Код:
/api/v1/bloks/apps/com.bloks.www.bloks.caa.login.process_client_data_and_redirect/Результат выполнения - отрисовка вот этой логин формы https://forum.antichat.xyz/attachmen...1072207116.png Не вдаваясь в детали, response Bloks запроса содержит в себе:а) верству (сравним с CSS) б) определенные переменные, функции, поведение кнопок, форм и прочего (сравним в javascript сниппетами) Как я рекомендую с ним работать? Есть два путя: а) написать свой интерпритатор, который будет обрабатывать проприетарный байт код и давать результат. Вот пример о каком коде идет речь: Код:
(bk.action.core.TakeLast, (bk.action.qpl.MarkerStartV2, (bk.action.core.GetArg, 0), (bk.action.core.GetArg, 1), (bk.action.tree.Make, 13704)), (bk.action.qpl.MarkerAnnotate, (bk.action.core.GetArg, 0), (bk.action.core.GetArg, 1), (bk.action.mins.CallRuntime, 6, \"app_id\", (bk.action.core.GetArg, 2))), (bk.action.bloks.AsyncActionWithDataManifestV2, (bk.action.core.GetArg, 2), (bk.action.mins.CallRuntime, 6, \"params\", (bk.action.string.JsonEncode, (bk.action.map.Make, (bk.action.array.Make, \"server_params\", \"client_input_params\"), (bk.action.array.Make, (bk.action.map.Merge, (bk.action.map.Make, (bk.action.array.Make, \"INTERNAL__latency_qpl_marker_id\", \"INTERNAL__latency_qpl_instance_id\"), ...б) поиск нужный переменных regexp-ами. Че то типо такого: https://forum.antichat.xyz/attachmen...1072567756.png Это фрагмент кода функционала Login в моем сервисе. Тут регулярками мы забираем нужные нам занчения. Итого скажу, все что надо обрабатывать в Bloks делаем регулярками, остальные запросы просто прописывам через привычные Api https://forum.antichat.xyz/attachmen...1072717888.png Тут мы получаем нормальный Json с которого можем без проблем забрать всю нужную инфу. Двухфакторки и челенжи Двухфакторка в моем понимании - это сразу вылетающее окно после логина, но до входа в сам аккаунт. Пока мною было открыто и проработано два типа: https://forum.antichat.xyz/attachmen...1076007261.png Челенжы чем-то похоже на двухфакторку, но их гораздо больше, и вылетают они чаще. Челендж - это вылетающее окно, требующее выполнения ключегого действия уже после входа в аккаунт и прогрузки ленты. Вот ключевые: https://forum.antichat.xyz/attachmen...1076140753.png Метод обхождения фродов Для этого необходимо полностью воспроизводить трафик, в том числе и действия логгирования! Покажу пример, как обошли один из банов. Вот как было дело. Писал автоскрол ленты рилсов. Постоянно на 167-ом рилсе вылетал логаут. Решено было так, был воспроизведен запрос post-auth flow Код:
/api/v1/push/register/И аналогично надо воспроизводить все-все ключевые запросы! Цитата:
С тех точки зрения я рассказал что и как делать. Но у вас возникнет вопрос - а для чего? чем я таким занимаюсь? Но сперва поговорим про вас) Будучи реверсером, вы, по моему мнению, являетесь просто элитой всей айти индустрии, так как возиться вот с этим всем - мало навыка. Нужно непреодолимое желание, терпение, мозги. У 99% людей это отсутствует, но только не у вас. Однако данное ремесло очень специфическое, зачастую применяется в вирусологии. Если вы в данный момент свободны от работы, то у меня есть деловое предложение. Я, будучи предпринимателем, знаю, как конвертировать все навыки нашей команды в полезное для людей дело, а в последствие и в очень огромные доходы для каждого. Приглашаю вступить в команду, которая впервые в истории автоматизирует нишу вертикального контента (Тикток, Шортс, Рилс)! Ведь это не просто цифровая наркота, а целый рынок контента, приносящий своим креатором доходы. Мы освободим креаторов от рутины (монтаж ролика, выгрузка, мультиаккинг, менеджинг), за что будем получать вознаграждение. Если говорить за навыки, то нужен следующий кандидат: Цитата:
Цитата:
|
| Время: 12:34 |