Ниже приведён практический обзор и примерная архитектура рабочей среды для легального тестирования безопасности в рамках закона РФ: аудит только собственных систем или систем с явным письменным разрешением. Инструменты из статьи предназначены для профессиональной проверки и повышения защищённости, а не для несанкционированного доступа.
Если вам нужен инструментальный «полигон» для обучения, организуйте изолированную локальную сеть и тестовые стенды (например, виртуальные машины). Для удобства разработки можно использовать VPN только для создания локальной сети между устройствами, а не для обхода ограничений.
Подготовка Termux: базовая среда
Начните с обновления пакетов. Далее вы установите компилятор/утилиты, Python, Git и необходимые зависимости, чтобы инструменты работали стабильно.
pkg update -y && pkg upgrade -y
pkg install -y git python clang make wget curl openssh nano
Проверьте версию Python:
python --version
python3 --version
Установка и интеграция Nmap в Termux
Nmap — базовый инструмент для инвентаризации и оценки поверхности атаки. В рамках легального аудита он помогает определить открытые порты и сервисы, а также подготовить список целей для следующих шагов.
В Termux Nmap обычно доступен через репозитории Termux/репаки. Установите и проверьте:
pkg install -y nmap
nmap --version
Пример безопасного сканирования в тестовой среде (замените адрес на ваш стенд):
nmap -sV -T3 --reason <IP_СТЕНДА>
Смысл ключей: -sV пытается определить версии сервисов, --reason показывает обоснование статусов портов. В реальных проектах корректность и безопасность тестов обеспечиваются согласованным «Scope» и скоростью/интенсивностью проверок.
Metasploit Framework: подготовка рабочей среды
Metasploit — мощная платформа для модульного тестирования. На мобильных устройствах её использование обычно требует аккуратной настройки окружения. На практике распространён подход: использовать Termux как «панель управления», а расчётную часть (RBAC/модули) — на отдельной машине или в контейнере. Однако можно построить рабочий процесс и в самом Termux, если вы понимаете требования к окружению.
Перед установкой убедитесь, что вы понимаете модель запуска (локально/в контейнере) и имеете согласование для тестов.
Вариант для продвинутой подготовки (через скачивание/зависимости) зависит от текущих возможностей репозиториев. Поэтому оптимальная стратегия — использовать официальные источники и инструкции под вашу конкретную сборку Termux. В рамках профессионального подхода важно фиксировать версии и вести воспроизводимость окружения.
Ниже — пример сценария запуска консольной сессии метапроцессинга (контроль логирования и профилирование команд). Даже если вы используете Metasploit на внешнем хосте, Termux может выполнять роль оркестратора.
# пример структуры: запускаем метапроверки в лог
mkdir -p ~/pentest-logs
# Далее — команды запуска, зависящие от вашей установки Metasploit
# (конкретный вид команды зависит от источника и версии)
# metasploit-framework >> ~/pentest-logs/msf.log
sqlmap: аудит безопасности веб-приложений (легально и по Scope)
sqlmap (sqlmap) — инструмент для проверки уязвимостей, связанных с SQL-инъекциями. Важно: любая работа должна выполняться только с авторизацией и в рамках согласованного тестового окна, чтобы не допустить воздействия на продакшен.
Установка sqlmap в Termux часто возможна через репозитории или через Python-установку. Пример универсального подхода — установить Python-зависимости и получить sqlmap из Python-пакета (если доступен в вашем окружении):
pkg install -y python
pip install --upgrade pip
pip install sqlmap
Проверьте наличие исполняемого модуля:
python -m sqlmap --help
Пример безопасной проверки в тестовой среде: используйте режимы, которые не выполняют разрушительных действий, и всегда начинайте с информативных проверок. Типовые параметры зависят от сценария веб-приложения и требований к тесту.
# ВАЖНО: пример оставлен обобщённым — используйте только с разрешения.
python -m sqlmap -u "<URL_ВАШЕГО_СТЕНДА>" --batch --level=1 --risk=1
Принцип: сначала определение возможности диагностики, затем подтверждение в согласованных рамках, затем фиксация результатов (логи, репорты, выводы).
Автоматизация: Bash-скрипт для номенклатуры проверок
Для профессиональной практики полезно стандартизировать структуру проекта: хранить отчёты, результаты сканирования, конфиги и метаданные (дата/цель/версии инструментов). Ниже — шаблон Bash-скрипта, который запускает базовые проверки Nmap и сохраняет результаты в отдельную папку.
mkdir -p ~/pentest-workspace/{targets,reports,scripts}
cat > ~/pentest-workspace/scripts/run_nmap.sh <<'EOF'
#!/data/data/com.termux/files/usr/bin/bash
set -euo pipefail
TARGETS_FILE="$1"
OUT_DIR="${2:-$HOME/pentest-workspace/reports/nmap-$(date +%F)}"
mkdir -p "$OUT_DIR"
echo "[+] Targets: $TARGETS_FILE"
echo "[+] Output: $OUT_DIR"
# Ожидаем файл со списком IP/хостов (по одному в строке)
while IFS= read -r t; do
[ -z "$t" ] && continue
echo "[+] Scanning: $t"
# Сохраняем результат в формате, удобном для последующего анализа
nmap -sV -T3 --reason "$t" > "$OUT_DIR/$(echo "$t" | tr ':/' '__').txt"
done < "$TARGETS_FILE"
echo "[✓] Done"
EOF
chmod +x ~/pentest-workspace/scripts/run_nmap.sh
Создайте файл целей (пример):
cat > ~/pentest-workspace/targets/lab-hosts.txt <<'EOF'
192.168.56.10
192.168.56.11
EOF
Запустите:
~/pentest-workspace/scripts/run_nmap.sh ~/pentest-workspace/targets/lab-hosts.txt ~/pentest-workspace/reports
Автоматизация: Python-скрипт для сборки отчётов и метаданных
Скрипты на Python помогут связать разрозненные результаты в единый отчёт. Например: собрать версии утилит, проверить наличие файлов отчётов Nmap, посчитать размер результатов, и подготовить краткую сводку.
cat > ~/pentest-workspace/scripts/report_index.py <<'EOF'
#!/usr/bin/env python3
import os
import json
import subprocess
from datetime import datetime
OUT_DIR = os.path.expanduser("~/pentest-workspace/reports")
# Собираем простую сводку по последней папке nmap-*
candidates = [d for d in os.listdir(OUT_DIR) if d.startswith('nmap-')]
candidates.sort(reverse=True)
if not candidates:
raise SystemExit("No nmap report folders found")
latest = candidates[0]
path = os.path.join(OUT_DIR, latest)
files = []
for name in os.listdir(path):
full = os.path.join(path, name)
if os.path.isfile(full) and name.endswith('.txt'):
files.append({
"name": name,
"size_bytes": os.path.getsize(full)
})
# Версии инструментов (если доступны)
version_info = {}
for cmd in ["nmap --version"]:
try:
out = subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, text=True)
version_info[cmd] = out.strip().splitlines()[0]
except Exception as e:
version_info[cmd] = f"ERROR: {e}"
summary = {
"generated_at": datetime.utcnow().isoformat() + "Z",
"report_folder": latest,
"files": files,
"tool_versions": version_info
}
with open(os.path.join(path, 'index.json'), 'w', encoding='utf-8') as f:
json.dump(summary, f, ensure_ascii=False, indent=2)
print(f"[✓] index.json created in: {path}")
EOF
chmod +x ~/pentest-workspace/scripts/report_index.py
Запуск:
~/pentest-workspace/scripts/report_index.py
Сценарий «pipeline»: связка Nmap → подготовка целей → sqlmap (по согласованию)
Правильный профессиональный подход — выстраивать pipeline так, чтобы каждое действие было объяснимым и проверяемым. Пример логики:
- Сканирование сети и сбор списка сервисов (Nmap).
- Выделение веб-узлов и портов, релевантных для проверки веб-приложений.
- Только после этого — запуск sqlmap с ограниченными параметрами и в пределах тестового окна.
- Сохранение логов, фиксация вывода, проверка влияния на систему.
Ниже — пример «мягкой» автоматизации: не запускаем атаку напрямую, а готовим файл задач, который человек просматривает и подтверждает перед запуском.
cat > ~/pentest-workspace/scripts/prepare_sqlmap_jobs.sh <<'EOF'
#!/data/data/com.termux/files/usr/bin/bash
set -euo pipefail
INPUT_DIR="$1"
JOBS_OUT="${2:-$HOME/pentest-workspace/reports/sqlmap-jobs-$(date +%F).txt}"
mkdir -p "$(dirname "$JOBS_OUT")"
: > "$JOBS_OUT"
echo "# Review before running sqlmap" >> "$JOBS_OUT"
echo "# Expected format: URL=..., note=..." >> "$JOBS_OUT"
# Пример: вы вручную или скриптом отбираете URL из Nmap-отчётов.
# Здесь оставляем заглушку для профессиональной интеграции.
# В реальном проекте вы распарсите отчёты и построите список кандидатов.
echo "# TODO: Parse Nmap results and extract web endpoints" >> "$JOBS_OUT"
echo "[✓] Jobs prepared: $JOBS_OUT"
EOF
chmod +x ~/pentest-workspace/scripts/prepare_sqlmap_jobs.sh
Запуск (пример):
~/pentest-workspace/scripts/prepare_sqlmap_jobs.sh ~/pentest-workspace/reports/nmap-YYYY-MM-DD
Логирование, безопасность данных и воспроизводимость
Чтобы результаты были пригодны для отчётности:
- Храните отчёты в структурированных папках:
targets/,reports/,scripts/. - Логируйте версии инструментов и параметры запуска.
- Не смешивайте результаты разных дат/клиентов.
- Используйте только тестовые стенды/полигон и согласованный Scope.
Пример добавления общего лог-файла:
mkdir -p ~/pentest-workspace/reports
# Пример: логирование вывода команд
# nmap ... |& tee ~/pentest-workspace/reports/nmap-run.log
Советы для работы в локальной среде и изоляции
Для стабильной и безопасной практики создайте локальный стенд: виртуальные машины, отдельная подсеть, заранее определённые правила проверки. Это помогает не выходить за пределы тестового контура и снижает риск случайного воздействия.
Если используете VPN, применяйте его только для создания локальной сети между устройствами в рамках вашей лаборатории, а не для обхода ограничений доступа.
Заключение
Termux позволяет собрать удобный «мобильный» контур для легального аудита: Nmap — для инвентаризации и выявления сервисов, sqlmap — для проверки SQL-инъекций в веб-компонентах, а Metasploit — как модульную платформу для профессиональных сценариев тестирования. Ключ к практичности — автоматизация через Bash и Python, структурированное логирование и соблюдение Scope.
Если вы хотите настроить рабочий контур под вашу задачу (лаборатория, регламенты, структура отчётов и автоматизация), обращайтесь в РыбинскЛАБ за услугами по внедрению и сопровождению процессов пентест-аудита.