SSH-доступ к старому серверу на Debian с архитектурой MIPS — типичная точка входа в закрытую сеть. За первым скомпрометированным хостом обычно скрывается целая инфраструктура: другие машины, веб-интерфейсы, базы данных. Задача пентестера — пройти всю цепочку: от разведки окружения до настройки проксирования, сканирования внутренней сети и захвата скрытой админки.

MIPS и встраиваемые системы

MIPS встречается в маршрутизаторах, IoT-устройствах и корпоративных системах, которые не обновляются годами. Для пентестера это означает: стандартные инструменты из Kali не запустятся; нужны либо MIPS-бинарники, либо проксирование через скомпрометированный хост; работать придётся в урезанном BusyBox без компилятора и с ядром старше десяти лет.

Разведка: определите, что вообще сканировать

После подключения — энумерация окружения. Команда uname -a показывает архитектуру и версию ядра. Команды ip addr и ip route раскрывают интерфейсы, IP-адреса и шлюзы. Проверьте /proc/sys/net/ipv4/ip_forward: если там 0, форвардинг отключён и нужны туннели.

Главное — определить целевую подсеть. Интерфейсы подскажут соседние сегменты, но сами по себе содержат множество машин. Внимательное чтение условия задачи экономит больше времени, чем слепое сканирование. Потом перепутаете один октет и будете долго сканировать пустоту.

BusyBox-системы содержат урезанный набор команд. Проверьте наличие wget, curl, scp, nc, ssh. Пакетного менеджера обычно нет, поэтому инструменты нужно либо скачивать готовыми бинарниками, либо искать их на целевой машине.

Проксирование через Chisel

SSH-форвардинг (-D для SOCKS-прокси) часто запрещён в конфигурации сервера. Универсальный обход — Chisel: Go-бинарник, создающий TCP-туннель с поддержкой SOCKS5. Chisel собирается под все архитектуры, включая MIPS (как big-endian, так и little-endian).

Схема работает так: на своей машине запускаете Chisel-сервер. На целевом MIPS-сервере — Chisel-клиент, который подключается к вам в режиме reverse и предоставляет SOCKS5-прокси. Это необходимо, когда прямое подключение извне невозможно, но исходящее соединение со скомпрометированного хоста — есть.

Сборка и запуск

На свою машину скачайте Chisel-сервер под x86_64. На целевую — Chisel-клиент под MIPS. Архитектуру уточните через uname -m. Версии на клиенте и сервере должны совпадать. На старых системах новые версии Chisel падают с segfault: свежие компиляторы генерируют инструкции, которые ядро 2014 года не переваривает. Откатитесь на более раннюю версию. Если ничего не работает, используйте SSH-клиент из BusyBox для обратного проброса портов — менее удобно, но надёжно.

Передайте Chisel-бинарник через scp или wget с вашего HTTP-сервера. Проверьте командой file, чтобы убедиться в совместимости. После запуска туннеля на вашей машине появится SOCKS5-прокси. Проверьте: curl --socks5 <адрес_прокси> <целевой_URL>. Если ответ пришёл — туннель работает.

Сканирование через SOCKS-прокси

nmap через proxychains без правильных флагов даёт таймауты и пропущенные порты. ICMP-пинг через SOCKS не проходит, поэтому host discovery нужно отключать.

Рабочий вариант: proxychains nmap -sT -Pn -n <подсеть>. Флаг -sT — полный TCP-connect, единственный тип, проходящий через прокси. Флаг -Pn отключает ICMP-пинг. Флаг -n отключает DNS-резолюцию. Работает медленно, но надёжно.

Если у вас есть права на целевой машине, запустите nmap прямо на MIPS-хосте, используя статический MIPS-бинарник. Так быстрее, чем гонять трафик через прокси.

Не запускайте слишком много одновременных подключений: исчерпание файловых дескрипторов и ложные результаты. Разумный лимит — порядка 16 параллельных потоков. Повышайте таймауты, так как через прокси всё медленнее.

Доступ к админке и подбор учётных данных

Когда сканирование нашло веб-сервер, выстраивается цепочка: Firefox → SOCKS5-прокси (Chisel) → целевая сеть.

В Firefox настройте SOCKS5-прокси на адрес Chisel-туннеля. Откройте админку через браузер и посмотрите исходный код. В простых формах — POST с полями username и password, без шифрования и CSRF-токенов. Типично для старых внутренних сервисов.

Подбор пароля

Начните с очевидного: admin/admin срабатывает чаще, чем кажется. Если не подошло — целевой брутфорс через Burp Intruder или curl с флагом --socks5. Индикатор успеха — изменение длины ответа сервера.

Если Burp нестабилен через прокси-цепочку — упростите схему и подключайтесь к SOCKS5 напрямую. Или работайте через curl. Когда пароль подобран, задача решена. Вся сложность не в эксплуатации уязвимости, а в организации доступа к цели через нетипичную архитектуру.