We detected you are likely not from a Russian-speaking region. Would you like to switch to the international version of the site?

  Назад к списку статей

Автоматизация аудита безопасности мобильных приложений в Termux с помощью MobSF и radare2

Мобильные приложения становятся все более привлекательными целью для злоумышленников. Быстрая и автоматизированная проверка их безопасности позволяет выявлять уязвимости на ранних этапах разработки. В этой статье мы покажем, как начать (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, который будет выполнять следующие шаги:

  1. Сканировать APK с помощью MobSF и сохранять отчет.
  2. Проанализировать бинарный код с radare2, извлекая функции, вызывающие опасные API.
  3. Сгенерировать сводный 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 процессы.

* Текст статьи подготовлен и структурирован с использованием технологий искусственного интеллекта. Проверен экспертом РыбинскЛАБ.

Поделиться знанием:

Нужна профессиональная помощь?

Меня зовут Усачёв Денис Евгеньевич. Я оказываю ИТ-услуги в Рыбинске и Ярославской области: настройка серверов, безопасность, автоматизация бизнеса. Запомните информация развлекательный ознакомительный носит, не нарушайте закон!

Связаться со мной
Поддержать проект