• VLMI - форум по обмену информацией. На форуме можете найти способы заработка, разнообразную информацию по интернет-безопасности, обмен знаниями, курсы/сливы.

    После регистрации будут доступны основные разделы.

    Контент форума создают пользователи, администрация за действия пользователей не несёт ответственности, отказ от ответственности. Так же перед использованием форума необходимо ознакомиться с правилами ресурса. Продолжая использовать ресурс вы соглашаетесь с правилами.
  • Подпишись на наш канал в Telegram для информации о актуальных зеркалах форума: https://t.me/vlmiclub

С# Пишем Экстремальный Brute / Checker (Реверсинг - Темная сторона программирования) Часть 1

ZeroByte

Senior Developer

ZeroByte

Senior Developer
Местный
Сообщения
82
Реакции
325
0 руб.
Please note, if you want to make a deal with this user, that it is blocked.
Йоу, всем привет!

Сегодня у нас очень известное приложение которое я буду всячески скрывать от вас, только лишь буду показывать интересные моменты в написании Брут / Чекера

Приступим!
Первым делом я решил установить их приложение на устройство и посмотреть что происходит в момент авторизации (какие данные он отправляет и что получает)

Заходим в меню авторизации и вводим данные

22598

Кхм. Очень интересно - авторизация не происходит, ошибка!
Как мы можем увидеть, приложение использует закрепленный SSL сертификат

22599

Вот как это выглядит
22600

Приложение не допускает сторонние сертификаты ( трафик мы не можем посмотреть)

Reverse
Engineering: Декомпиляция

Для первоначального анализа я декомпилирую приложение чтобы получить некоторые части исходного кода на Java

Теперь нужно найти проверку и вырезать проверку сертификата (что я и сделал :rolleyes:)

22601

После того как я вырезал проверку сертификата я могу попробовать еще раз просниферить трафик

Отлично! Мы обошли проверку сертификата и смогли узнать что скрывали от нас во время авторизации
22602

Я вижу здесь информацию которую закодировали в Url Encoding (ищем онлайн декодер)

22603

Чёрт!!
Каждый запрос
защищен "
цифровой подписью" об этом говорит поле "sha" которое меняется во время каждого нового запроса!
Нам нужно узнать алгоритм генерации "подписи"

Недолго думая я решил поискать метод который выполняет генерацию "цифровой подписи"

Я нашел метод который принимает строку и генерирует нашу "подпись", нам нужно любой ценой узнать что за строка туда поступает!!

22607

Reverse Engineering: Дизассемблирование

22614


Я воспользуюсь командой
apktool.jar d myapk.apk -r

В папках с smali-кодом находим файл в котором происходит генерация SHA256 подписи
22605
Строка, которую нужно узнать передавалась в регистре p0

Модифицируем код и попробуем вывести строку в LogCat
22609
Нам нужно подписать apk приложение, я использовал приложение APK Signer

Воспользуюсь командой:
apktool.jar b myApk -o patchedAPK.apk

Установим приложение и воспользуемся Android Debug Bridge (ADB)
Используем следующие команды:
- adb shell
- logcat


Переходим на авторизацию и попробуем авторизоваться! (Смотрим в LogCat)
22610

Отлично! Мы теперь знаем какая строка поступает в метод (Текущее время + секретные 2 строки)


Теперь мы можем генерировать свои "подписанные" запросы!
22611

Теперь мы можем написать Брут / Чекер

22612

Спасибо за внимание, до скорой встречи:rolleyes:

Некоторые инструменты которые были использованы в этой статье никогда не будут выпущены в публичный доступ.
 
Последнее редактирование:
Сверху Снизу