Статья Mara Framework. Reverse engineering APK

Привет! В этой публикации я покажу фреймворк, который позволит проводить реверс-инжиниринг APK файлов. Называется он MARA Framework.

upload_2016-12-21_22-23-53.png


Изменения в этой версии. Обновление происходит с помощью setup.sh.

· Анализ домена

· Сканирование Domain SLL с помощью pyssltest и testssl

· Fingerprinting с помощью whatweb

APK reverse engineering:

· Дизассемблирование Dalvik байт-кода в java байт-код с помощью enjarify.

· Декомпиляция APK к исходному коду Java с помощью jadx

Анализ APK:

· Анализ APK для понимания потенциального поведения вредоносных программ через androwarn

· Определение компиляторов, упаковщиков и обфускаторов через APKiD

Анализ безопасности:

· Статический анализ исходного кода, основанный на OWASP Top Mobile Top 10 и OWASP Mobile Apps.

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

Приступим к установке, ставим на Kali Linux Rolling 2016.2.

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

upload_2016-12-21_22-24-44.png


> cd MARA_Framework

> ./setup.sh

upload_2016-12-21_22-25-12.png


> ./mara.sh

upload_2016-12-21_22-25-37.png


Особенности фреймворка:

· Дизассемблирование байт-кода Dalvik в smali байт-код с помощью baksmali и apktool

· Дизассемблирование байт-кода Dalvik в java байт-код, используется enjarify

· Декомпилирование APK в java код, используя jadx

· APK деобфускация с помощью apk-deguard.com

· Разбор smali файлов для анализа через smalisca

· Дамп APK, библиотек и ресурсов

· Извлечение данных сертификата через OpenSSL

· Извлечение строк и разрешений приложения через AAPT

· Определить методов и классов через ClassyShark

· Сканирование на наличие уязвимостей APK через androbugs

· Анализ APK на потенциальное поведение вредоносных программ через androwarn

· Определение компиляторов, упаковщиков и обфускаторов через APKiD

· Извлечение путей, IP-адресов, URL, URI, сообщений электронной почты с помощью регулярных выражений

Анализ АРК:

· Извлечение Intents

· Извлечение exported activities

· Извлечение receivers

· Извлечение exported receivers

· Извлечение Services

· Извлечение exported services

· Проверка поддается ли APK отладке

· Проверка на отправку секретных кодов

· Проверка на получение бинарного SMS

Анализ домена:

· SSL сканирование с помощью pyssltest и testssl

· Fingerprinting с помощью whatweb

Используем возможности фреймворка на практике, перед этим скачаем какой-нибудь .apk файл. Затем запустим Mara Framework следующей командой:

> ./mara.sh –s /root/com.miniclip.eightballpool-3.8.4-APK4Fun.com.apk


upload_2016-12-21_22-27-42.png


По прошествии времени, требующегося на анализ, на экране увидим такую информацию:

upload_2016-12-21_22-28-3.png


В папке с MARA Framework, будет содержаться подробная информация о тестируемом приложении:

upload_2016-12-21_22-28-21.png


На этом все, спасибо за внимание.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!