Мобильные приложения становятся все более привлекательными целью для злоумышленников. Быстрая и автоматизированная проверка их безопасности позволяет выявлять уязвимости на ранних этапах разработки. В этой статье мы покажем, как начать (start) процесс аудита в Termux, используя два мощных инструмента: MobSF и radare2. По определению, start значит «начать делать что‑то» cambridge.org, а также «войти в состояние активности» merriam-webster.com.
Подготовка среды Termux
Установите Termux из официального репозитория Google Play или F-Droid и обновите пакеты:
pkg update && pkg upgrade -y
Установите необходимые зависимости:
pkg install git python python-pip clang make unzip wget -y
Установка MobSF
MobSF (Mobile Security Framework) – это статический и динамический анализатор мобильных приложений.
# Клонируем репозиторий MobSF
git clone https://github.com/MobSF/Mobile-Security-Framework-MobSF.git ~/MobSF
cd ~/MobSF
# Устанавливаем Python‑зависимости
pip install -r requirements.txt
# Запускаем сервер (по умолчанию на 8000 порту)
python manage.py runserver 127.0.0.1:8000 &
После запуска откройте в браузере Android http://127.0.0.1:8000 и убедитесь, что интерфейс доступен.
Установка radare2
radare2 – это открытый фреймворк для обратного анализа бинарных файлов.
pkg install radare2 -y
Проверьте установку:
r2 -v
Автоматизация аудита
Создадим Bash‑скрипт audit.sh, который будет выполнять следующие шаги:
- Сканировать APK с помощью MobSF и сохранять отчет.
- Проанализировать бинарный код с radare2, извлекая функции, вызывающие опасные API.
- Сгенерировать сводный HTML‑отчет.
#!/usr/bin/env bash
# Путь к APK
APK_PATH="$1"
if [ -z "$APK_PATH" ]; then
echo "Usage: $0 path/to/app.apk"
exit 1
fi
# 1. MobSF static analysis
echo "[+] Starting MobSF analysis..."
# API‑ключ, получаем из настроек MobSF
API_KEY="YOUR_MOBSF_API_KEY"
# Отправляем файл
RESPONSE=$(curl -s -X POST -H "Authorization: $API_KEY" -F "file=@$APK_PATH" http://127.0.0.1:8000/api/v1/upload)
SCAN_ID=$(echo $RESPONSE | python -c "import sys, json; print(json.load(sys.stdin)['scan_id'])")
# Получаем отчет в JSON
curl -s -X GET -H "Authorization: $API_KEY" http://127.0.0.1:8000/api/v1/report_json/$SCAN_ID > mobsf_report.json
echo "[+] MobSF report saved as mobsf_report.json"
# 2. radare2 analysis
echo "[+] Starting radare2 analysis..."
# Распаковываем DEX в .class (используем jadx)
apt install openjdk-17-jdk -y
wget -q https://github.com/skylot/jadx/releases/download/v1.4.7/jadx-1.4.7.zip -O /tmp/jadx.zip
unzip -q /tmp/jadx.zip -d /tmp/jadx
java -jar /tmp/jadx/jadx/bin/jadx.jar -d /tmp/jadx_out "$APK_PATH"
# Анализируем каждую .class с radare2
for CLASS in $(find /tmp/jadx_out -name "*.class"); do
r2 -A -c "aaa; pdf" "$CLASS" >> r2_report.txt
done
echo "[+] radare2 report saved as r2_report.txt"
# 3. Сводный HTML‑отчет
cat < audit_report.html
Audit Report
Отчет аудита мобильного приложения
MobSF Summary
$(jq .summary mobsf_report.json)
radare2 Findings
$(cat r2_report.txt)
EOF
echo "[+] Final report generated: audit_report.html"
Сделайте скрипт исполняемым:
chmod +x audit.sh
Запустите проверку:
./audit.sh /sdcard/Download/sample.apk
Лучшие практики
- Регулярно обновляйте MobSF и radare2 до последних версий.
- Храните API‑ключ MobSF в безопасном месте (например, в переменной окружения).
- Для больших APK используйте параметр
--jobsв radare2, чтобы ускорить анализ. - Интегрируйте скрипт в CI/CD pipeline, чтобы аудит проходил автоматически при каждом коммите.
Заключение
Автоматизация аудита мобильных приложений в Termux с помощью MobSF и radare2 позволяет быстро получать детализированные отчёты о безопасности, экономя время разработчиков и повышая качество продукта. Если вы хотите внедрить комплексный процесс безопасности в ваш проект, воспользоваться нашими готовыми решениями или получить консультацию — обращайтесь в RybinskLab. Мы предоставляем услуги по настройке автоматизированных аудитов, обучению команд и интеграции security‑testing в DevSecOps процессы.