Привет! В этой публикации я покажу фреймворк, который позволит проводить реверс-инжиниринг APK файлов. Называется он MARA Framework.
Изменения в этой версии. Обновление происходит с помощью 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
> cd MARA_Framework
> ./setup.sh
> ./mara.sh
Особенности фреймворка:
· Дизассемблирование байт-кода 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
По прошествии времени, требующегося на анализ, на экране увидим такую информацию:
В папке с MARA Framework, будет содержаться подробная информация о тестируемом приложении:
На этом все, спасибо за внимание.
Изменения в этой версии. Обновление происходит с помощью 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
> cd MARA_Framework
> ./setup.sh
> ./mara.sh
Особенности фреймворка:
· Дизассемблирование байт-кода 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
По прошествии времени, требующегося на анализ, на экране увидим такую информацию:
В папке с MARA Framework, будет содержаться подробная информация о тестируемом приложении:
На этом все, спасибо за внимание.