Termux — это практичная среда для полевых работ: быстрая установка зависимостей, запуск утилит и автоматизация повторяемых задач прямо с мобильного устройства. В рамках легитимного подхода к аудиту сетевой инфраструктуры его можно использовать для оркестрации сканирований и проверки уязвимостей на собственных или явно разрешённых объектах.
Важно: ниже описывается аудит и проверка безопасности только там, где у вас есть право на тестирование (ваша сеть, инфраструктура компании по договору, разрешения от владельцев). Любое сканирование третьих лиц без согласия может нарушать законодательство РФ и правила доступа.
Нормативно-правовой и этический контур
При использовании инструментов сканирования (Nmap, Masscan, OpenVAS) соблюдайте принципы:
- Согласие: получайте письменное разрешение на тестирование либо действуйте в отношении собственного оборудования.
- Ограничение воздействия: выбирайте умеренные параметры нагрузки, используйте безопасные профили и отсечки по времени.
- Прозрачность: фиксируйте цель аудита, диапазоны адресов, время проведения и ответственных лиц.
В контексте Termux возможно подключение через VPN только для создания локальной сети (например, для доступа к внутренним ресурсам в рамках своей инфраструктуры), но не для обхода блокировок или ограничений.
Архитектура решения: скрипты, результаты и уведомления
Цель — собрать понятный конвейер:
- Подготовка окружения в Termux.
- Сбор “активов” и базовой топологии: Nmap (обнаружение хостов/портов).
- Быстрое измерение по диапазону: Masscan (в разрешённых рамках), чтобы быстро сузить список.
- Проверка уязвимостей: OpenVAS (с фокусом на разрешённые мишени).
- Формирование отчёта (файлы + краткие итоги).
- Уведомление в Telegram через Telegram Bot API.
Практически это удобнее всего сделать набором скриптов, которые запускаются по расписанию или вручную.
Подготовка Termux: пакеты и структура проекта
Создадим рабочую директорию и подготовим базовые зависимости. В Termux обычно используется менеджер пакетов; команды могут отличаться в зависимости от версии Termux/репозиториев, поэтому ниже — шаблон.
termux-setup-storage
pkg update && pkg upgrade -y
pkg install -y git python curl wget
Структура проекта:
mkdir -p ~/net-audit/{scripts,results,logs}
cd ~/net-audit
Получение и установка инструментов
Технически Nmap и Masscan чаще доступны через репозитории Termux/доп. источники, а OpenVAS — отдельная история: он тяжёлый по ресурсам и обычно запускается как сервис в изолированной среде (например, в контейнере/виртуалке). В рамках Termux корректнее рассматривать OpenVAS как удалённый endpoint либо запуск в другой системе, а Termux — как управляющее устройство, собирающее результаты и отправляющее отчёты.
Ниже — схема “управление из Termux + OpenVAS где-то ещё”, что реалистичнее по требованиям к производительности.
Практический модуль 1: Nmap-сканирование (обнаружение и инвентаризация)
Для легитимного аудита начинайте с умеренных профилей: определение хостов и базовая проверка портов. Запишите цель в переменную, чтобы не ошибиться диапазоном.
nano ~/net-audit/scripts/run_nmap.sh
Содержимое скрипта (шаблон):
#!/data/data/com.termux/files/usr/bin/bash
set -euo pipefail
TARGET_CIDR="${1:-192.168.1.0/24}"
OUT_DIR="$HOME/net-audit/results/nmap_$(date +%Y%m%d_%H%M%S)"
mkdir -p "$OUT_DIR"
LOG_FILE="$HOME/net-audit/logs/nmap_$(date +%Y%m%d_%H%M%S).log"
echo "[] Nmap start: $TARGET_CIDR" | tee "$LOG_FILE"
nmap -Pn --reason --open -T3
"$TARGET_CIDR"
-oN "$OUT_DIR/nmap_normal.txt"
-oX "$OUT_DIR/nmap_normal.xml"
| tee -a "$LOG_FILE"
echo "[] Nmap done. Results: $OUT_DIR"
Сделайте скрипт исполняемым и запустите, указав разрешённый диапазон:
chmod +x ~/net-audit/scripts/run_nmap.sh
~/net-audit/scripts/run_nmap.sh 192.168.1.0/24
Почему так: Nmap отдаёт удобные артефакты -oN/-oX, которые легче прикреплять к отчётам и анализировать.
Практический модуль 2: Masscan (быстрое измерение по разрешённым диапазонам)
Masscan предназначен для высокой скорости. Это одновременно плюс и риск: используйте только в пределах разрешений и с аккуратной настройкой скорости/лимитов.
Если Masscan доступен в вашей среде Termux, подключите его аналогичным образом. Шаблон скрипта:
nano ~/net-audit/scripts/run_masscan.sh
#!/data/data/com.termux/files/usr/bin/bash
set -euo pipefail
TARGET_CIDR="${1:-192.168.1.0/24}"
OUT_DIR="$HOME/net-audit/results/masscan_$(date +%Y%m%d_%H%M%S)"
mkdir -p "$OUT_DIR"
LOG_FILE="$HOME/net-audit/logs/masscan_$(date +%Y%m%d_%H%M%S).log"
echo "[] Masscan start: $TARGET_CIDR" | tee "$LOG_FILE"
# Пример: ограничьте сценарий умеренно; конкретные параметры подбирайте под вашу политику
# и разрешение на тестирование.
masscan "$TARGET_CIDR"
-p1-1024 --rate 5000
--wait 10
-oL "$OUT_DIR/masscan_grepable.txt"
| tee -a "$LOG_FILE"
echo "[] Masscan done. Results: $OUT_DIR"
Запуск:
chmod +x ~/net-audit/scripts/run_masscan.sh
~/net-audit/scripts/run_masscan.sh 192.168.1.0/24
Примечание: --rate и набор портов должны соответствовать согласованным условиям. Для “тихих” проверок уменьшайте интенсивность, сокращайте диапазоны и добавляйте окна по времени.
Практический модуль 3: OpenVAS (проверка уязвимостей в разрешённой среде)
OpenVAS (GVM) обычно запускается как сервер/сервис и требует ресурсов. Оптимальная архитектура для Termux: Termux запускает сценарии, а OpenVAS сервер выполняет сканы и возвращает отчёты (XML/HTML/PDF) по доступным API/инструментам.
С практической стороны важно сделать следующее:
- Настроить сервер OpenVAS в вашей инфраструктуре (где есть право тестировать).
- Подготовить скан-таргеты/группы в конфигурации OpenVAS.
- Выработать способ получения “готовых отчётов” (папка/запрос).
- С Termux — лишь управлять запуском и забирать артефакты.
Ниже пример “обвязки” (без привязки к конкретному API, так как варианты зависят от вашей установки). Шаблон демонстрирует логику конвейера, а не точную команду для вашего окружения:
nano ~/net-audit/scripts/run_openvas.sh
#!/data/data/com.termux/files/usr/bin/bash
set -euo pipefail
# Пример: адрес OpenVAS-сервера внутри вашей сети
OPENVAS_HOST="${OPENVAS_HOST:-192.168.1.50}"
OPENVAS_TASK="${OPENVAS_TASK:-audit-internal}"
TARGET="${1:-192.168.1.0/24}"
OUT_DIR="$HOME/net-audit/results/openvas_$(date +%Y%m%d_%H%M%S)"
mkdir -p "$OUT_DIR"
LOG_FILE="$HOME/net-audit/logs/openvas_$(date +%Y%m%d_%H%M%S).log"
echo "[] OpenVAS start (managed) on host: $OPENVAS_HOST" | tee "$LOG_FILE"
echo "[] Target: $TARGET" | tee -a "$LOG_FILE"
# TODO: Замените на ваш корректный механизм запуска таска в GVM/OpenVAS
# Например, через локальный клиент, API или подготовленные сценарии.
# Пример-заглушка:
sleep 2
echo "openvas: start task '$OPENVAS_TASK' for '$TARGET' ..." | tee -a "$LOG_FILE"
# TODO: Замените на реальное получение отчёта.
# Пример-заглушка:
echo "openvas: collecting report into '$OUT_DIR' ..." | tee -a "$LOG_FILE"
echo "<report>placeholder</report>" > "$OUT_DIR/openvas_report.xml"
echo "[] OpenVAS done. Results: $OUT_DIR"
Запуск:
chmod +x ~/net-audit/scripts/run_openvas.sh
~/net-audit/scripts/run_openvas.sh 192.168.1.0/24
Если вы расскажете, какая именно у вас схема установки OpenVAS/GVM и как вы запускаете задачи (CLI/APIs/контейнер), я помогу привести этот шаблон к вашему конкретному варианту.
Уведомления в Telegram Bot API: быстро и прозрачно
Для уведомлений нужен Telegram bot (token) и идентификатор получателя (chat_id). Дальше Termux отправляет короткое сообщение (и при необходимости — ссылку или прикрепление отчёта, если это поддерживается вашим подходом).
Шаблон Python-скрипта отправки сообщения:
cat > ~/net-audit/scripts/tg_notify.py <<'PY'
import os
import sys
import requests
TOKEN = os.environ.get("TG_BOT_TOKEN", "")
CHAT_ID = os.environ.get("TG_CHAT_ID", "")
TEXT = sys.argv[1] if len(sys.argv) > 1 else "Net audit update"
if not TOKEN or not CHAT_ID:
print("Set TG_BOT_TOKEN and TG_CHAT_ID env vars", file=sys.stderr)
sys.exit(1)
url = f"https://api.telegram.org/bot{TOKEN}/sendMessage"
resp = requests.post(url, json={"chat_id": CHAT_ID, "text": TEXT}, timeout=30)
resp.raise_for_status()
print("OK")
PY
Экспорт переменных:
export TG_BOT_TOKEN="123456789:AA...REPLACE"
export TG_CHAT_ID="123456789"
Команда теста:
python ~/net-audit/scripts/tg_notify.py "Termux net-audit готов к запуску"
Склейка конвейера: единый сценарий аудита
Сделаем “оркестратор”, который запускает Nmap, Masscan (опционально) и OpenVAS, а затем отправляет итог в Telegram.
nano ~/net-audit/scripts/run_full_audit.sh
#!/data/data/com.termux/files/usr/bin/bash
set -euo pipefail
TARGET_CIDR="${1:-192.168.1.0/24}"
DO_MASSCAN="${DO_MASSCAN:-1}" # 0 или 1
echo "[] Full audit for: $TARGET_CIDR"
MSG_PREFIX="Net-audit: $TARGET_CIDR"
# Nmap
~/net-audit/scripts/run_nmap.sh "$TARGET_CIDR"
# Маскан (опционально)
if [ "$DO_MASSCAN" = "1" ]; then
~/net-audit/scripts/run_masscan.sh "$TARGET_CIDR"
fi
# OpenVAS (managed)
~/net-audit/scripts/run_openvas.sh "$TARGET_CIDR"
# Краткое сообщение (без персональных данных)
FINAL_MSG="$MSG_PREFIX completed. Check results folder: $HOME/net-audit/results"
python ~/net-audit/scripts/tg_notify.py "$FINAL_MSG"
Запуск оркестратора:
chmod +x ~/net-audit/scripts/run_full_audit.sh
~/net-audit/scripts/run_full_audit.sh 192.168.1.0/24
Если хотите отключить Masscan:
DO_MASSCAN=0 ~/net-audit/scripts/run_full_audit.sh 192.168.1.0/24
Формирование отчётов и хранение результатов
Рекомендации по отчётности:
- Храните результаты в
~/net-audit/resultsс временными метками. - Сохраняйте логи в
~/net-audit/logs. - По итогам делайте “сводку” (кол-во найденных хостов/портов, наличие открытых сервисов).
- При необходимости прикрепляйте отчёт к тикету/письму в рамках внутренних процессов.
Для анализа XML отчётов Nmap удобны парсеры/скрипты на Python, а для Masscan — “grepable” формат, который легко конвертировать в таблицу.
Практические меры безопасности при запуске сканеров
- Минимизация: начните с небольшого диапазона и “мягких” профилей, затем расширяйте только при подтверждённой легитимности и согласии.
- Временные окна: проводите проверки в заранее согласованные часы, чтобы минимизировать риск влияния на сервисы.
- Ограничение скорости: для Masscan регулируйте
--rate, а для Nmap используйте-T3и разумные параметры. - Сегментация: если у вас есть возможность — тестируйте из сегмента, где снижается вероятность затронуть инфраструктуру за пределами зоны аудита.
Заключение
Автоматизированный аудит в Termux — это удобный и “полевой” способ организовать проверку собственной (или разрешённой) сети: Nmap помогает собрать инвентаризацию, Masscan — быстро сузить область внимания, а OpenVAS — выполнить проверку уязвимостей в рамках управляемой инфраструктуры. Интеграция с Telegram Bot API делает процесс прозрачным: вы получаете краткие уведомления и не теряете контроль над результатами.
Если нужно собрать под ваш контур готовый набор скриптов, настроить хранение отчётов, правила запуска и схему уведомлений — команда РыбинскЛАБ поможет внедрить решение на практике.
Услуги РыбинскЛАБ: аудит сетевой безопасности, настройка сканирования и отчётности, интеграция уведомлений, сопровождение безопасной эксплуатации инструментов.