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

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

Полный набор инструментов для пентеста в Termux: интеграция Nmap, Metasploit, sqlmap и автоматизация с помощью Bash и Python

Профессиональный гайд по установке и безопасной настройке инструментов пентеста в Termux: Nmap, Metasploit, sqlmap, а также автоматизация проверок скриптами Bash и Python в рамках легального тестирования.

Ниже приведён практический обзор и примерная архитектура рабочей среды для легального тестирования безопасности в рамках закона РФ: аудит только собственных систем или систем с явным письменным разрешением. Инструменты из статьи предназначены для профессиональной проверки и повышения защищённости, а не для несанкционированного доступа.

Если вам нужен инструментальный «полигон» для обучения, организуйте изолированную локальную сеть и тестовые стенды (например, виртуальные машины). Для удобства разработки можно использовать 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.

Если вы хотите настроить рабочий контур под вашу задачу (лаборатория, регламенты, структура отчётов и автоматизация), обращайтесь в РыбинскЛАБ за услугами по внедрению и сопровождению процессов пентест-аудита.

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

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

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

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