Хочу поделиться полезным инструментом, который часто упоминают в контексте пентестов, но который одинаково удобен и администраторам: Chisel. Это один бинарник (на Go) и для сервера, и для клиента доступный для linux, windows, macOS. Работает поверх HTTP, поэтому его очень просто поднять там, где открыт веб-порт.
▪️ Коротко, зачем нужно:
▪️быстро организовать SOCKS5-прокси через открытую HTTP/HTTPS точку;
▪️поднять обратный туннель (reverse) с защищённого хоста, который не доступен извне;
▪️пробросить локальный порт на удалённый хост по HTTP, когда прямой доступ заблокирован.
▪️ Примеры (общая схема)
1️⃣ Быстрый SOCKS5-прокси. На сервере (с публичным IP, порт 80/443 доступен):
./chisel server --port 80 --socks5
На клиенте (локальная машина, откуда хотите выходить в интернет через сервер):
./chisel client http://server.example.com:80 socks
После этого в браузере можно указать SOCKS5 proxy 127.0.0.1:1080, трафик пойдет через сервер.
2️⃣ Обратный SSH-туннель (клиент инициирует соединение, сервер принимает). Если целевая (закрытая) машина не доступна извне, но может инициировать исходящее HTTP-соединение:
На публичном сервере:
./chisel server --port 80 --reverse
На внутреннем хосте (тот, к которому хотим подключиться):
./chisel client http://server.example.com:80 R:2222:localhost:22
Теперь на публичном сервере можно подключиться к внутреннему хосту:
ssh -p 2222 root@127.0.0.1
3️⃣ Проброс локального сервиса (например, MySQL на сервере) на клиент. На публичном сервере запускаем с
--reverse. На внутреннем клиенте даем правило:
./chisel client http://server.example.com:80 33306:127.0.0.1:3306
После этого на клиенте MySQL будет доступен локально на порту 33306.
▪️ Дополнительно
Аутентификация: есть опция
--auth user:pass и на сервере, и на клиенте, используйте для защиты туннеля.Маскировка:
--backend позволяет прятать chisel-сервер за обычным веб-сервером (перенаправлять чужие HTTP-запросы), что облегчает развертывание в средах с ограничениями.Один бинарник, удобно распространять и для разных ОС.
#network #security
🧑💻 NetworkAdmin