
ligolo-ng v0.9.1
Ein fortschrittliches, aber dennoch einfaches Tunnel-/Pivotierungstool, das eine TUN-Schnittstelle verwendet.
Ligolo-ng : Tunneling wie ein VPN

Ein fortschrittliches, aber dennoch einfaches Tunneling-Tool, das TUN-Schnittstellen verwendet.
📑 Ligolo-ng-Dokumentation (Setup/Quickstart)
[!TIP] Ligolo-ng 0.8 hat viele neue Funktionen hinzugefügt, darunter:
- 🌐 API und eine schöne Weboberfläche dank L'ami du Raisin, die Multiplayer ermöglicht!
- ⚙️ Einfache Konfigurationsdatei zum Speichern deiner Tunneling-/Proxy-Einstellungen
- 🚦 Daemon-Modus, um Ligolo-ng als Dienst auszuführen
- 🔗 Auto-Bind, um Tunneling automatisch zu konfigurieren, sobald sich ein bestimmter Agent verbindet
- 📶 Einfache und automatische (Autoroute) Verwaltung von Routen und Schnittstellen unter Windows, Linux, MacOS und BSD!
- 💀 Agent-Kill, um einen Agenten remote zu beenden
Probier es aus!
Inhaltsverzeichnis
- Einführung
- Funktionen
- Demo
- Wie unterscheidet sich das von Ligolo/Chisel/Meterpreter... ?
- Verwendung - Dokumentation - Tutorial
- Erfordert es Administrator-/Root-Zugriff ?
- Unterstützte Protokolle/Pakete
- Leistung
- Einschränkungen
- To-do
- Danksagungen
Einführung
Ligolo-ng ist ein einfaches, leichtgewichtiges und schnelles Tool, das es Pentestern ermöglicht, Tunnel über eine reverse TCP/TLS-Verbindung mithilfe einer Tun-Schnittstelle aufzubauen (ohne SOCKS zu benötigen).
Funktionen
- Tun-Schnittstelle (Kein SOCKS/Proxychains mehr!)
- Einfache Benutzeroberfläche mit Agenten-Auswahl und Netzwerkinformationen
- Einfach zu bedienen und einzurichten
- Automatische Zertifikatskonfiguration mit Let's Encrypt
- Performant (Multiplexing)
- Erfordert keine Privilegien auf dem Agenten
- Socket-Listening/Binding auf dem Agenten
- Mehrere Plattformen werden für den Agenten unterstützt
- Kann mehrere Tunnel gleichzeitig verwalten
- Reverse/Bind-Verbindung
- Automatische Wiederherstellung von Tunneln/Listenern (bei Netzwerkproblemen)
- Websocket-Unterstützung
Demo
Wie unterscheidet sich das von Ligolo/Chisel/Meterpreter... ?
Anstatt einen SOCKS-Proxy oder TCP/UDP-Forwarder zu verwenden, erstellt Ligolo-ng einen Netzwerkstack im Userland mithilfe von Gvisor.
Wenn der Relay-/Proxy-Server läuft, wird eine Tun-Schnittstelle verwendet. Pakete, die an diese Schnittstelle gesendet werden, werden übersetzt und dann an das entfernte Netzwerk des Agenten übertragen.
Als Beispiel für eine TCP-Verbindung:
- SYN werden in connect() auf dem entfernten System übersetzt
- SYN-ACK wird zurückgesendet, wenn connect() erfolgreich ist
- RST wird gesendet, wenn nach connect die Syscalls ECONNRESET, ECONNABORTED oder ECONNREFUSED zurückgegeben werden
- Es wird nichts gesendet, wenn ein Timeout auftritt
Dies ermöglicht die Ausführung von Tools wie nmap ohne die Verwendung von proxychains (einfacher und schneller).
Verwendung - Dokumentation - Tutorial
Die Dokumentation für Ligolo-ng sowie die Schritte, die du befolgen musst, um es zum Laufen zu bringen, findest du in der Ligolo-ng-Dokumentation.
Erfordert es Administrator-/Root-Zugriff ?
Auf der Agenten-Seite nein! Alles kann ohne Administratorrechte durchgeführt werden.
Allerdings musst du auf deinem Relay-/Proxy-Server in der Lage sein, eine tun-Schnittstelle zu erstellen.
Unterstützte Protokolle/Pakete
- TCP
- UDP
- ICMP (Echo-Anfragen)
Leistung
Du kannst problemlos mehr als 100 Mbit/s erreichen. Hier ist ein Test mit iperf von einem 200-Mbit/s-Server zu einer 200-Mbit/s-Verbindung.
$ 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
Einschränkungen
Da der Agent ohne Privilegien läuft, ist es nicht möglich, Rohpakete weiterzuleiten. Wenn du einen NMAP-SYN-Scan durchführst, wird auf dem Agenten ein TCP-connect() ausgeführt.
Wenn du nmap verwendest, solltest du --unprivileged oder -PE verwenden, um falsch positive Ergebnisse zu vermeiden.
To-do
- Kein RST senden, wenn ein ACK von einer ungültigen TCP-Verbindung empfangen wird (nmap meldet den Host dann als erreichbar) ;
- mTLS-Unterstützung hinzufügen.
Danksagungen
- Nicolas Chatelain <nicolas -at- chatelain.me>
- Jeremie Bedjai (Ligolo-ng-Web)
