NetCat – il “coltellino svizzero” per le reti
Ciao a tutti!
Questo articolo non è un tutorial. Volevo solo raccontarvi di una piccola difficoltà che ho avuto oggi, mentre cercavo di recuperare dei dati da un server che non ne voleva sapere di partire. Questo “gioiellino” di programma chiamato “NetCat” o “nc” mi ha aiutato ad amministrare questo server da remoto, nonostante non fosse possibile, per le ragioni che descriverò più avanti, avviare un server Telnet o SSH su quella macchina.
[tags]netcat,nc,telnet,ssh,backdoor,coltellino,svizzero,reti,tutorial,space,space4tutorial,guida[/tags]
Livello: base
Ma andiamo per gradi: in un momento di assoluta disperazione, per via di un sistema RAID 0+2 (che chi l’ha configurato, probabilmente, è un folle!!!) che non mi consentiva di leggere correttamente i due hard disk montati, ho deciso di ricorrere ad una vecchia distribuzione Linux RedHat 7.3 in modalità “rescue”, una sorta di “live CD” di RedHat da utilizzare per le situazioni di emergenza.
Dopo essere riuscito a leggere la struttura logica degli hard-disks montati, facendo gestire al kernel di linux la lettura del RAID (è stato un casino, ve lo assicuro!), ho avuto la necessità di trasferire l’intera immagine dell’hard disk (visto come unitario dopo la corretta gestione del RAID, sebbene formato da due dischi fisici) su un disco esterno USB.
Per far ciò ho utilizzato il famosissimo tool dd, che in questi casi diventa un vero “eroe”!
Eseguo il comando: dd if=/dev/sda of=/dev/sdc bs=52428800 noerror, il quale, a blocchi di 50 Mb, mi inizia a copiare il contenuto del disco così com’era sul nuovo hard disk esterno. Il processo, avendo fatto un pò di prove precedentemente, credo che finirà tra una quarantina di ore. Dovendo andar via, ad un tratto mi chiedo: “Come faccio a vedere quando dd finisce di copiare, non avendo quel server a portata di mano?”
Mi viene in mente all’improvviso una cosina che avevo letto di sfuggita qualche tempo fa, durante lo studio del TCP e dei tools per l’esplorazione delle reti.
Ricordo di aver letto che il programma ”NetCat”, o “nc”, definito come il “coltellino svizzero delle reti”, può essere utilizzato da un hacker anche per creare una backdoor ((ovvero un programma in grado di permetterci di assumere il controllo a distanza di un calcolatore)) su un computer remoto. Ricordo anche che doveva essere abilitata un’opzione in fase di compilazione dei sorgenti, ovvero -DGAPING_SECURITY_HOLE.
Decido di provare. Scarico il pacchetto nc110.tgz, compilo con questa opzione e ottengo il mio eseguibile nc pronto per l’esecuzione. Lo inserisco in un floppy, che poi monto tramite il RedHat rescue CD e, infine, dopo aver configurato la rete (tramite i comandi ifconfig e route) eseguo la riga di comando seguente:
nc -l -p 33333 -e /bin/bash
et voilà !
Con il comando netstat -ant ottengo l’elenco delle porte TCP aperte e trovo la porta 33333 con il netcat in ascolto. Configuro uno script per fare in modo che in caso di terminazione improvvisa di netcat il sistema lo riavvii ed è fatta! Ho ottenuto un server telnet su una macchina, con il solo utilizzo di questo programma.
Dopo aver fatto ciò, posso andare via tranquillo! Controllerò quando dd finirà di copiare comodamente da casa
Questa cosa mi ha fatto riflettere sul fatto che spesso, nella risoluzione dei nostri problemi “informatici”, ci possono aiutare gli strumenti più impensabili. E mi ha fatto venir voglia di preparare un bel tutorial su NetCat, che presto pubblicherò!











