Мобильные устройства всё чаще используют в качестве вспомогательных платформ для тестирования безопасности. Termux предоставляет полноценный Linux‑терминал прямо на Android, а Docker‑lite (встроенный в Termux proot‑docker) позволяет запускать лёгкие контейнеры без необходимости root‑прав. В этой статье мы покажем, как собрать полностью изолированное окружение для пентестов, используя лишь смартфон.
Что такое Termux и почему он подходит для пентестов
Termux — это оболочка Linux, работающая в Android‑среде, поддерживающая пакетный менеджер pkg и apt. Он позволяет установить такие инструменты, как git, python, nmap и многие другие. Благодаря возможности работать в режиме proot, Termux может эмулировать полноценный root‑контекст без реального получения прав суперпользователя.
Docker‑lite: лёгкий способ контейнеризации в Termux
Официальный Docker требует ядра с поддержкой cgroup, чего в Android нет. proot‑docker (иногда называют Docker‑lite) использует proot для изоляции файловой системы и сетевых пространств, предоставляя совместимый API docker. Это позволяет запускать готовые образы Alpine, Debian и даже специализированные образы с набором пентест‑инструментов.
Установка Docker‑lite в Termux
pkg update && pkg upgrade -y
pkg install proot-distro proot-docker -y
proot-distro install debian
proot-distro login debian
apt update && apt install docker.io -y
После входа в debian‑контейнер убедитесь, что демон Docker запущен:
service docker start
docker version
Создание собственного образа с пентест‑инструментами
Для большинства задач удобно собрать образ на базе kalilinux/kali-rolling с предустановленными утилитами. Ниже пример Dockerfile:
FROM kalilinux/kali-rolling
RUN apt-get update && apt-get install -y \
nmap \
sqlmap \
metasploit-framework \
john \
gobuster \
&& rm -rf /var/lib/apt/lists/*
CMD ["/bin/bash"]
Соберите образ внутри контейнера Termux:
docker build -t kali-pentest .
Запуск и управление пентест‑контейнерами
Запустим контейнер в интерактивном режиме, пробросив порт 8080 для веб‑инструментов:
docker run -it --rm \
--network host \
-p 8080:8080 \
kali-pentest
Для быстрого доступа к сетевым сканерам удобно использовать --network host, что позволяет контейнеру работать с тем же сетевым интерфейсом, что и ваш Android‑устройство.
Практический пример: сканирование сети с помощью Nmap
Внутри запущенного контейнера выполните:
nmap -sS -Pn -A 192.168.1.0/24
Результаты будут выведены в терминале Termux, а при необходимости их можно сохранить в файл:
nmap -sS -Pn -A 192.168.1.0/24 -oN /root/nmap-report.txt
Безопасность и изоляция
Хотя proot обеспечивает файловую изоляцию, контейнеры всё равно используют общий сетевой стек Android. Чтобы минимизировать риски:
- Запускайте контейнеры только с проверенными образами.
- Ограничьте доступ к внешним сетям, используя
iptablesвнутри Termux. - Не сохраняйте конфиденциальные ключи в образах — используйте тома (
-v) для монтирования временных файлов.
Почему слово «start» так важно в контексте Docker
По определению, глагол start означает «начать, запустить» dictionary.com. В Docker‑команде docker start мы буквально «начинаем» работу контейнера, что подчёркивает важность правильного запуска изолированных сред.
Заключение
С помощью Termux и Docker‑lite можно превратить любой Android‑смартфон в мощную мобильную лабораторию для тестирования безопасности. Вы получаете:
- Полноценный Linux‑терминал.
- Лёгкую контейнеризацию без root‑прав.
- Гибкость в выборе образов и инструментов.
Если вам требуется более продвинутая настройка, автоматизация CI/CD для пентест‑скриптов или обучение персонала, команда RybinskLab готова помочь. Мы предоставляем услуги по разработке кастомных Docker‑образов, настройке безопасных мобильных лабораторий и проведению комплексных аудитов безопасности.