MARA - Фреймворк обратного проектирования и анализа мобильных приложений

Борис_бритва

Script Kiddie
21.09.2020
10
0
1
1601530637623.png

MARA - это платформа обратного проектирования и анализа мобильных приложений. Это набор часто используемых инструментов обратного проектирования и анализа мобильных приложений, объединенных вместе, чтобы помочь в тестировании мобильных приложений против угроз безопасности мобильных устройств OWASP. Его основная цель - сделать эту задачу проще и удобнее для разработчиков мобильных приложений и специалистов по безопасности.

Функции:
APK Обратный инжиниринг

Дизассемблирование байт-кода Dalvik в байт-код smali через baksmali и apktool.
Дизассемблирование байт-кода Dalvik в байт-код java через enjarify.
Декомпиляция APK в исходный код Java через jadx.


Деобфускация APK
Деобфускация APK через [apk-deguard.com].

Анализ APK
Разбор smali-файлов для анализа через smalisca.
Дамп активов, библиотек и ресурсов apk.
Извлечение данных сертификата через openssl.
Извлеките строки и разрешения приложения через aapt.
Идентифицируйте методы и классы с помощью ClassyShark.
Сканирование apk-уязвимостей с помощью androbugs.
Проанализируйте apk на предмет потенциального вредоносного поведения через androwarn.
Определите компиляторы, упаковщики и обфускаторы через APKiD.
Извлекайте пути выполнения, IP-адреса, URL, URI, электронные письма через регулярное выражение.

Анализ манифеста APK
Извлечение намерения.
Извлечение экспортированных действия.
Извлечение приемников.
Извлечение экспортированных ресиверов.
Услуги по извлечению.
Извлечь экспортированные услуги.
Проверьте, можно ли отладить apk.
Проверьте, разрешает ли apk резервное копирование.
Проверьте, разрешает ли apk отправлять секретные коды.
Проверьте, может ли apk получать двоичные SMS.

Анализ домена
Проверка SSL домена через pyssltest и testssl
Снятие отпечатков с веб-сайта через whatweb

Анализ безопасности
Статический анализ исходного кода на основе 10 лучших мобильных приложений OWASP и контрольного списка мобильных приложений OWASP
MARA может выполнять одиночный или массовый анализ файлов apk, dex или jar.



git clone --recursive https://github.com/xtiankisutsa/MARA_Framework


Установка зависимостей:
MARA поставляется со сценарием, который помогает в загрузке и установке зависимостей для каждого из инструментов и компонентов, с которыми он поставляется. Просто запустите сценарий setup.sh с правами sudo, и он установит их. Если вы используете Mac, просто запустите вместо него сценарий setup_mac.sh.

Чтобы упростить обновление MARA, теперь он поставляется со сценарием обновления, который после запуска извлекает самую последнюю версию из github и заменяет файлы, хранящиеся локально. Сценарий не будет влиять на папку данных, в которой находятся файлы анализа. Просто запустите ./update.sh, и все готово. Сценарий обновления также запустит новый установочный файл, который был загружен, чтобы обеспечить соблюдение зависимостей для новых инструментов.

После выполнения всех требований. Если вы запустите ./mara.sh --help, вы должны увидеть меню справки MARA, как показано ниже.



1601531562310.png

Все данные анализа и преобразования файлов хранятся в папке данных, то есть / MARA_Framework / data / file_name. Все инструменты, включенные в Framework, можно использовать автономно, все они доступны в папке инструментов, т.е. / MARA_Framework / tools.

Деобфускация APK:
MARA облегчает деобфускацию файлов APK через apk-deguard.com. Вы можете деобфускировать APK-файлы любого размера без ограничений. Однако чем больше APK, тем больше продолжительность деобфускации.

MARA поставляется с автономным скриптом деобфускации, который может пригодиться для анализа отдельных файлов APK. Просто запустите ./deobfusctor.sh и укажите APK, который вы хотите деобфускировать. Эта функция требует активного подключения к Интернету.

Сканер SSL:
MARA поставляется со скриптом сканера SSL, который использует pyssltest и testssl. Компонент сканирования SSL домена требует активного подключения к Интернету. Автономный сканер SSL можно запустить с помощью команды ./ssl_scanner.sh и следовать отображаемым инструкциям.

Результаты сканирования сохраняются в папке сканирования домена, т.е. / MARA_Framework / data / domain_scans / <domain_name>. Обратите внимание, что сканер pyssltest предназначен для сканирования доменов с включенным SSL. Не сканировать IP-адреса.

При анализе файлов APK MARA предоставляет возможность сканирования доменов, найденных в apk, с помощью вышеупомянутых инструментов. Это сканирование выполняется в фоновом режиме, и его можно пропустить. В случае выполнения сканирования пользователь должен следить за двумя файлами журнала, то есть pyssltest.log и testssl.log в / MARA_Framework / data / apk_name / analysis / static / ssl_scan / log /.

Графики управления Smali:
MARA может генерировать графы потока управления из небольшого кода. Это достигается за счет использования Smali-CFG. Создание графика необязательно и может занять много времени в зависимости от размера анализируемого приложения Android. Графики хранятся в двух папках, то есть apktool_cfg и baksmali_cfg соответственно в папке / MARA_Framework / data / file_name / smali /

Создание графика выполняется в фоновом режиме, и вы можете проверить его завершение, отслеживая файлы журнала apktool_cfg.log и baksmali_cfg.log в указанном выше месте.

Мониторинг прогресса:
Данные анализа, выгруженные MARA, будут расположены в папке data / app_name.
Где применимо, каждый пробел в предоставленном файле заменяется соответствующим символом подчеркивания.
Вы можете отслеживать процесс деобфускации APK, отслеживая данные / app_name / source / deobfuscated / deobf.log
Вы можете отслеживать генерацию smali CFG, отслеживая эти два файла, то есть data / app_name / smali / apktool_cfg.log и data / app_name / smali / baksmali_cfg.log
Вы можете отслеживать сканирование ssl домена, отслеживая эти два файла журнала data / app_name / analysis / dynamic / ssl_scan / logs / pyssltest.log и data / app_name / analysis / dynamic / ssl_scan / logs / testssl.log.

 
Последнее редактирование:

Об LS-LA

  • Мы, группа единомышленников, основная цель которых повышать уровень знаний и умений.
    Не забывая о материальном благополучии каждого)

About LS-LA

  • We, a group of like-minded people, whose main goal is to increase the level of knowledge and skills.
    Not forgetting about everyone’s material well-being)

Быстрая навигация

Пользовательское меню