Termux предоставляет полноценную Linux‑среду на Android‑устройстве, позволяя управлять сетевыми интерфейсами без необходимости рутировать телефон. В этой статье мы рассмотрим, как создать виртуальный LAN‑кластер, используя TAP‑ и bridge-интерфейсы, и как использовать его для проведения тестов пентеста.
Подготовка среды Termux
Для начала установим необходимые пакеты:
pkg update && pkg upgrade -y
pkg install iproute2 net-tools bridge-utils openvpn iptables nano tmux -y
Если требуется эмуляция нескольких узлов, удобно использовать proot-distro:
pkg install proot-distro -y
proot-distro install debian
Запускаем контейнер Debian:
proot-distro login debian
Создание виртуального сетевого интерфейса (TAP)
Технология TAP позволяет эмулировать уровень 2 (Ethernet) в пользовательском пространстве. В Termux создаём интерфейс так:
su -c "ip tuntap add dev tap0 mode tap"
ip link set tap0 up
ip addr add 10.10.0.1/24 dev tap0
Для доступа без root‑прав можно воспользоваться sudo из tsu (если устройство рутировано) или termux-chroot в сочетании с proot.
Настройка мостового интерфейса (bridge)
Мост br0 будет объединять физический Wi‑Fi (или USB‑Ethernet) и наш tap0:
ip link add name br0 type bridge
ip link set dev br0 up
ip link set dev wlan0 master br0 # замените wlan0 на ваш физический интерфейс
ip link set dev tap0 master br0
ip addr add 10.10.0.254/24 dev br0
Проверьте состояние:
bridge link
Запуск виртуального LAN‑кластера
Для имитации нескольких узлов используём несколько сессий tmux внутри proot‑distro. Каждый узел получит собственный TAP‑интерфейс, подключённый к br0:
# Создаём первый узел
ip tuntap add dev tap1 mode tap
ip link set tap1 up
ip link set tap1 master br0
ip addr add 10.10.0.2/24 dev tap1
# Создаём второй узел
ip tuntap add dev tap2 mode tap
ip link set tap2 up
ip link set tap2 master br0
ip addr add 10.10.0.3/24 dev tap2
Запускаем интерактивные оболочки для каждого узла:
tmux new-session -s node1 "bash -c 'ip link set dev lo up && bash'"
# В новой tmux‑окне
tmux split-window -v "bash -c 'ip link set dev lo up && bash'"
# Переключаемся между окнами Ctrl‑b, стрелки
Теперь у вас есть три виртуальных машины (host + 2 узла), соединённых одним LAN‑сегментом.
Тестирование и проверка соединения
Проверяем связь с помощью ping и netcat:
# На узле 1
ping 10.10.0.254 # проверка связи с мостом
ping 10.10.0.3 # проверка связи с узлом 2
# На узле 2, запустим простейший TCP‑сервер
nc -l -p 4444 &
# На узле 1 подключаемся
nc 10.10.0.3 4444
Если всё работает, значит ваш виртуальный LAN‑кластер готов к проведению пентест‑тестов (сканирование, эксплойты, MITM и т.д.).
Автоматизация и скрипты
Для быстрого развёртывания удобно оформить всё в один bash‑скрипт setup_lan.sh:
#!/usr/bin/env bash
set -e
# Создаём bridge
ip link add name br0 type bridge
ip link set dev br0 up
ip link set dev wlan0 master br0
ip addr add 10.10.0.254/24 dev br0
# Функция создания узла
create_node() {
local id=$1
local ip=$2
ip tuntap add dev tap${id} mode tap
ip link set tap${id} up
ip link set tap${id} master br0
ip addr add ${ip}/24 dev tap${id}
}
create_node 1 10.10.0.2
create_node 2 10.10.0.3
echo "LAN‑кластер готов. Узлы: tap1 (10.10.0.2), tap2 (10.10.0.3)"
Сделайте скрипт исполняемым chmod +x setup_lan.sh и запустите ./setup_lan.sh. При необходимости добавляйте новые узлы, просто вызывая create_node с нужным номером и IP‑адресом.
Безопасность и ограничения Android
- Создание
TAPиbridgeтребует правroot. На не‑рутированных устройствах можно использоватьusernet‑модуль вproot, однако функциональность будет ограничена. - Сетевые пакеты, проходящие через
iptables, могут конфликтовать с системным фаерволом Android. Рекомендуем отключать системный фаервол или использоватьiptables -I INPUT -j ACCEPTв тестовой среде. - Для долгосрочного использования рекомендуется создать отдельный профиль в Termux и сохранять конфигурацию в
~/.termux/boot(при наличииtermux-boot).
Заключение
Мы рассмотрели, как в Termux управлять сетевыми интерфейсами, создать виртуальный LAN‑кластера и подготовить его к тестированию на уязвимости. Такой подход позволяет проводить пентест‑исследования прямо на мобильном устройстве без необходимости в отдельном сервере.
Если вам требуется более глубокая настройка, аудит безопасности или разработка кастомных скриптов под Android, команда RybinskLab готова предложить профессиональные услуги: от консультаций по безопасной конфигурации до полного сопровождения проекта. Свяжитесь с нами, чтобы вывести ваши тесты на новый уровень.