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

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

Создание контейнеризированного окружения для проведения пентестов в Termux с использованием Docker‑lite

Мобильные устройства всё чаще используют в качестве вспомогательных платформ для тестирования безопасности. 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‑образов, настройке безопасных мобильных лабораторий и проведению комплексных аудитов безопасности.

* Текст статьи подготовлен и структурирован с использованием технологий искусственного интеллекта. Проверен экспертом РыбинскЛАБ.

Поделиться знанием:

Нужна профессиональная помощь?

Меня зовут Усачёв Денис Евгеньевич. Я оказываю ИТ-услуги в Рыбинске и Ярославской области: настройка серверов, безопасность, автоматизация бизнеса. Запомните информация развлекательный ознакомительный носит, не нарушайте закон!

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