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

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

Аудит безопасности Android через Termux: сбор логов, анализ прав и проверка целостности

Подробное руководство по проведению аудита безопасности Android‑устройства с помощью Termux: сбор системных логов, проверка разрешений приложений и контроль целостности файлов.

Termux – мощный терминальный эмулятор для Android, позволяющий использовать привычные Linux‑утилиты непосредственно на мобильном устройстве. В статье мы покажем, как с его помощью выполнить базовый аудит безопасности: собрать системные логи, проанализировать права установленных приложений и проверить целостность критических файлов.

1. Подготовка рабочей среды

Для начала необходимо установить базовый набор пакетов и обеспечить доступ к привилегиям root (если устройство рутовано).

pkg update && pkg upgrade -y
pkg install -y git python nano curl wget tar proot
# Установка утилит для анализа прав и хешей
pkg install -y busybox findutils coreutils perl
# Если требуется работа с SELinux
pkg install -y setools

Если ваш телефон имеет root, запустите Termux с привилегиями:

su -c "termux-chroot"

Без root некоторые операции (например, чтение /data) будут ограничены, но большинство задач всё равно выполнимы.

2. Сбор системных логов

Логи – основной источник информации о том, что происходило на устройстве. Основные источники:

  • logcat – журнал событий Android.
  • dmesg – ядро Linux.
  • system logs в /data/misc/logd (требует root).

Создадим директорию для хранения результатов аудита:

mkdir -p ~/audit/{logs,permissions,integrity}

Соберём logcat за последние 5 минут:

logcat -d -t 5m > ~/audit/logs/logcat_$(date +%Y%m%d_%H%M%S).txt

Сохраним вывод dmesg:

dmesg > ~/audit/logs/dmesg_$(date +%Y%m%d_%H%M%S).txt

Если есть доступ к /data/misc/logd, скопируем их:

if [ -d /data/misc/logd ]; then
  cp -r /data/misc/logd/* ~/audit/logs/root_logs/
fi

3. Анализ прав приложений

Для оценки риска необходимо понять, какие привилегии запрашивают установленные пакеты. Информация доступна через dumpsys package и pm list packages -f.

Получим список всех пакетов с их путями:

pm list packages -f > ~/audit/permissions/package_list.txt

Сформируем CSV‑таблицу с набором прав каждого приложения:

printf "Package,Permission
" > ~/audit/permissions/permissions.csv
for pkg in $(pm list packages -3 | cut -d':' -f2); do
  perms=$(dumpsys package $pkg | grep "android.permission" | tr -d '\t' | paste -sd "," -)
  echo "$pkg,$perms" >> ~/audit/permissions/permissions.csv
done

Выделим подозрительные комбинации (например, READ_PHONE_STATE + WRITE_EXTERNAL_STORAGE) с помощью awk:

awk -F',' '/READ_PHONE_STATE/ && /WRITE_EXTERNAL_STORAGE/ {print $1}' ~/audit/permissions/permissions.csv > ~/audit/permissions/suspicious.txt

Для устройств с SELinux можно проверить контекст приложений:

seinfo -t | grep -i "app" > ~/audit/permissions/selinux_contexts.txt

4. Проверка целостности файлов

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

Создадим эталонный список хешей (SHA‑256) для системных каталогов:

find /system /vendor -type f -exec sha256sum {} \; > ~/audit/integrity/base_hashes.txt

Через некоторое время (или после обновления) сравним текущие хеши с эталоном:

find /system /vendor -type f -exec sha256sum {} \; > ~/audit/integrity/current_hashes.txt

# Вывод различий
diff -u ~/audit/integrity/base_hashes.txt ~/audit/integrity/current_hashes.txt > ~/audit/integrity/diff_report.txt

Для более гибкой проверки можно использовать tripwire (установим из репозитория):

pkg install -y tripwire
twadmin --init
tripwire --check > ~/audit/integrity/tripwire_report.txt

Отчёт tripwire_report.txt покажет все изменения, включая добавленные, удалённые и изменённые файлы.

5. Автоматизация и формирование отчёта

Скрипт, объединяющий все шаги, упрощает регулярный аудит. Ниже пример простого bash‑скрипта audit.sh:

#!/data/data/com.termux/files/usr/bin/bash
set -e
TIMESTAMP=$(date +%Y%m%d_%H%M%S)
OUT=~/audit/run_${TIMESTAMP}
mkdir -p $OUT/{logs,permissions,integrity}

# Логи
logcat -d -t 5m > $OUT/logs/logcat.txt
dmesg > $OUT/logs/dmesg.txt

# Права
pm list packages -f > $OUT/permissions/package_list.txt
printf "Package,Permission
" > $OUT/permissions/permissions.csv
for pkg in $(pm list packages -3 | cut -d':' -f2); do
  perms=$(dumpsys package $pkg | grep "android.permission" | tr -d '\t' | paste -sd "," -)
  echo "$pkg,$perms" >> $OUT/permissions/permissions.csv
done
awk -F',' '/READ_PHONE_STATE/ && /WRITE_EXTERNAL_STORAGE/ {print $1}' $OUT/permissions/permissions.csv > $OUT/permissions/suspicious.txt

# Целостность
find /system /vendor -type f -exec sha256sum {} \; > $OUT/integrity/current_hashes.txt
if [ -f ~/audit/integrity/base_hashes.txt ]; then
  diff -u ~/audit/integrity/base_hashes.txt $OUT/integrity/current_hashes.txt > $OUT/integrity/diff_report.txt || true
fi

# Архивируем результат
tar -czf ~/audit/audit_${TIMESTAMP}.tar.gz -C $OUT .

Запуск bash audit.sh создаст архив с полным набором данных, готовый к последующей аналитике.

6. Заключение

Termux предоставляет полноценный набор инструментов для самостоятельного аудита Android‑устройства без необходимости подключать его к ПК. С помощью описанных методов можно быстро собрать логи, проанализировать права приложений и проверить целостность системных файлов, получив полную картину текущего уровня безопасности.

Если вам требуется более глубокий анализ, написание кастомных правил для tripwire, интеграция с SIEM‑системами или проведение внешних пенетрационных тестов, команда RybinskLab готова помочь. Мы предоставляем услуги по аудиту мобильных платформ, разработке безопасных CI/CD‑конвейеров и обучению персонала лучшим практикам мобильной кибербезопасности.

* Текст статьи подготовлен и структурирован с использованием технологий искусственного интеллекта. Проверен и доработан перед публикацией.

Нужна помощь с настройкой Termux, Linux и серверов?

Я оказываю ИТ-услуги: настройка серверов, автоматизация, безопасность, помощь с Linux и инфраструктурой. Материалы сайта — только в ознакомительных и образовательных целях.

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