
ligolo-ng v0.9.1
Продвинутый, но простой инструмент для туннелирования/перемещения, использующий интерфейс TUN.
Ligolo-ng : Туннелирование как VPN

Продвинутый, но в то же время простой инструмент туннелирования, использующий TUN-интерфейсы.
📑 Документация Ligolo-ng (установка/быстрый старт)
[!TIP] В Ligolo-ng 0.8 появилось множество новых функций, включая:
- 🌐 API и красивый веб-интерфейс благодаря L'ami du Raisin, обеспечивающий многопользовательский режим!
- ⚙️ Простой конфигурационный файл для хранения настроек туннелирования/прокси
- 🚦 Режим демона для запуска Ligolo-ng в качестве службы
- 🔗 Автопривязка для автоматической настройки туннелирования при подключении конкретного агента
- 📶 Простое и автоматическое (autoroute) управление маршрутами и интерфейсами на Windows, Linux, MacOS и BSD!
- 💀 Убийство агента — возможность удалённо завершить работу агента
Пожалуйста, попробуйте!
Table of Contents
- Введение
- Возможности
- Демонстрация
- Чем это отличается от Ligolo/Chisel/Meterpreter... ?
- Как использовать — документация — обучение
- Требуются ли права администратора/root?
- Поддерживаемые протоколы/пакеты
- Производительность
- Предостережения
- Планы
- Благодарности
Введение
Ligolo-ng — это простой, лёгкий и быстрый инструмент, который позволяет пентестерам устанавливать туннели через обратное TCP/TLS-соединение с использованием tun-интерфейса (без необходимости в SOCKS).
Возможности
- Tun-интерфейс (Больше никаких SOCKS/Proxychains!)
- Простой интерфейс с выбором агента и сетевой информацией
- Прост в использовании и настройке
- Автоматическая настройка сертификатов с помощью Let's Encrypt
- Высокая производительность (мультиплексирование)
- Не требует привилегий на агенте
- Прослушивание/привязка сокетов на агенте
- Поддержка множества платформ для агента
- Может обрабатывать несколько туннелей
- Reverse/Bind-соединение
- Автоматическое восстановление туннелей/слушателей (в случае проблем с сетью)
- Поддержка Websocket
Демонстрация
Чем это отличается от Ligolo/Chisel/Meterpreter... ?
Вместо использования SOCKS-прокси или TCP/UDP-форвардеров, Ligolo-ng создаёт пользовательский сетевой стек на основе Gvisor.
При запуске relay/proxy-сервера используется tun-интерфейс; пакеты, отправленные на этот интерфейс, транслируются и затем передаются в удалённую сеть агента.
Например, для TCP-соединения:
- SYN преобразуется в connect() на удалённой стороне
- SYN-ACK отправляется обратно, если connect() завершился успешно
- RST отправляется, если после connect() возвращаются системные вызовы ECONNRESET, ECONNABORTED или ECONNREFUSED
- Ничего не отправляется в случае тайм-аута
Это позволяет запускать такие инструменты, как nmap, без использования proxychains (проще и быстрее).
Как использовать — документация — обучение
Вы найдёте документацию по Ligolo-ng, а также шаги, которые необходимо выполнить для его запуска, в документации Ligolo-ng
Требуются ли права администратора/root?
На стороне агента — нет! Всё можно выполнить без прав администратора.
Однако на вашем relay/proxy-сервере вам потребуется возможность создавать tun-интерфейс.
Поддерживаемые протоколы/пакеты
- TCP
- UDP
- ICMP (эхо-запросы)
Производительность
Вы легко можете достичь более 100 Мбит/с. Вот тест с использованием iperf от сервера с каналом 200 Мбит/с до соединения с пропускной способностью 200 Мбит/с.
$ iperf3 -c 10.10.0.1 -p 24483
Connecting to host 10.10.0.1, port 24483
[ 5] local 10.10.0.224 port 50654 connected to 10.10.0.1 port 24483
[ ID] Interval Transfer Bitrate Retr Cwnd
[ 5] 0.00-1.00 sec 12.5 MBytes 105 Mbits/sec 0 164 KBytes
[ 5] 1.00-2.00 sec 12.7 MBytes 107 Mbits/sec 0 263 KBytes
[ 5] 2.00-3.00 sec 12.4 MBytes 104 Mbits/sec 0 263 KBytes
[ 5] 3.00-4.00 sec 12.7 MBytes 106 Mbits/sec 0 263 KBytes
[ 5] 4.00-5.00 sec 13.1 MBytes 110 Mbits/sec 2 134 KBytes
[ 5] 5.00-6.00 sec 13.4 MBytes 113 Mbits/sec 0 147 KBytes
[ 5] 6.00-7.00 sec 12.6 MBytes 105 Mbits/sec 0 158 KBytes
[ 5] 7.00-8.00 sec 12.1 MBytes 101 Mbits/sec 0 173 KBytes
[ 5] 8.00-9.00 sec 12.7 MBytes 106 Mbits/sec 0 182 KBytes
[ 5] 9.00-10.00 sec 12.6 MBytes 106 Mbits/sec 0 188 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.00 sec 127 MBytes 106 Mbits/sec 2 sender
[ 5] 0.00-10.08 sec 125 MBytes 104 Mbits/sec receiver
Предостережения
Поскольку агент работает без привилегий, пересылка сырых пакетов невозможна. При выполнении NMAP SYN-SCAN на агенте выполняется TCP-вызов connect().
При использовании nmap следует применять флаги --unprivileged или -PE, чтобы избежать ложных срабатываний.
Планы
- Не отправлять RST при получении ACK от недействительного TCP-соединения (nmap будет сообщать, что хост активен);
- Добавить поддержку mTLS.
Благодарности
- Nicolas Chatelain <nicolas -at- chatelain.me>
- Jeremie Bedjai (Ligolo-ng-Web)
