Visualizzazioni totali

giovedì 5 maggio 2011



Netcat fu orginariamente rilasciato nel 1996 ed conosciuto anche come il coltellino sivzzero delle reti, the "swiss army knife". Con netcat infatti è possibile eseguire prot-scanning, trasferire file, catturare banner (banner grabbing) e molto altro..

Netcat è una versione del programma UNIX cat che legge e scrive informazioni su file,  Netcat a sua volta  legge e scrive informazioni tra connessioni .

Alcune delle funzionalità di Nectat sono:
1)Stabilisce connessioni tpc o udp su o da qualsiasi porta (esegue anche connessioni in tunnel mode)
2)Port scanner
3)Trasferimento file
4)server/client HTTP

Per scaricare Netcat andate su netcat.sourceforge o http://nc110.sourceforge.net/.

Opzioni di Netcat:




Le opzioni di Netcat sono:

  • -c shell commands come -e configura un comando /bin/sh da eseguire alla connessione

  • -e filename configura un programma da eseguire alla connessione

  • -b consente broadcasts

  • -g gateway source-routing gateway

  • -G num source-routing pointer: 4, 8, 12, ...

  • -h apre l'help

  • -i secs intervallo per l'invio di dato o lo scan di porte

  • -k setta l'opzione keepalive sul socket

  • -l modalità ascolto, per connessioni in entrata

  • -n indirizzo IP numerico

  • -o file output esadecimale del traffico

  • -p port numero della porta locale

  • -r randomizza porte locali e remote

  • -q secs alla fine della trasmissione dei dati termina dopo i secondi impostati

  • -s addr imposta l'indirizzo sorgente utilizzato nella creazione della connessione

  • -T tos imposta il protocollo (predefinito TCP)

  • -t comunicazione TELNET

  • -u usa il protocollo UDP

  • -v fornisce informazioni (due volte fornisce più informazioni)

  • -w secs Imposta il tempo di inattività dopo il quale terminare

  • -z Imposta a zero il flag di I/O. Appena la porta si sarà aperta sarà immediatamente spenta e chiusa. (per lo scan)



Ci sono alcune differenze tra la versione GNU/Linux ma in quest'articolo non verranno esaminate.

Per mettere Netcat in ascolto su una determinata porta (modalità server) digitate


nc  -l (se volete eseguirlo in background aggiungete -d)

Uno dei comandi più potenti è sicuramente -e. Questa opzione che è disponibile solo in modalità server fa eseguire uno specifico programma quando un client si connette al server.


nc -l -p 12345  -e cmd.exe (Windows)

nc -l -p 12345  -e /bin/bash (Linux)

I comandi sono uguali ma eseguiti su differenti sistemi operativi.Il primo mette Netcat in modalità server in ascolto sulla porta 12345 ed esegue  cmd.exe appena un client vi si collega, il secondo esegue invece una bash shell in Linux alla prima connessione di un client.

TEST


 Eseguiamo netcat in modalità server.


Poi apriamo una seconda finestra e lanciamo Necat in modalità client (figura 4) .

.


Ora premete Invio. Come potete vedere comparirà il banner Microsoft e un prompt dei comandi. Si è proprio così: state eseguendo il promt dei comandi via rete. Ok, ora digitate exit e il server netcat si chiuderà nella prima finestra..Ecco una limitazione di Necat, con la sola opzione -l infatti appena il client si scollegherà anche il server non starà più in ascolto.Per fare in modo che ad ogni disconnessioni riparta il server userete l'opzione -L


nc -l -p 12345 -c cmd.exe -L

Usare netcat come una semplice chat


In un terminale digitate

nc -l -p 12345

In una seconda finestra , connettetevi al server con il client


nc localhost 12345

Se invece volete collegarvi ad un altro computer sostituite localhost con l'indirizzo ip al quale volete collegarvi.

Quando inserirete del testo in una finestra comparirà anche nell'altra.


Port scanning con Netcat


Per effettuare port-scanning con Netcat dovrete usare la seguente sintassi
nc -[options] hostname [ports]

un esempio:
nc -v 192.168.1.4 21,80,443

nc -v 192.168.1.4 1-200

nc -v 192.168.1.4 http

Oppure
nc -v -z target port-range

[caption id="attachment_323" align="aligncenter" width="350" caption="tabella"][/caption]

Trasferire file con Netcat


Netcat può eseguire il pull e push dei file che si traduce nel trasferimento di un file. Guardate il seguente esempio  per farvii un'idea:
nc -l -p 12345 < textfile

Netcat è avviato e in ascolto sulla porta 12345 e mette a disposizione il file textfile . il client si collegherà al server per ricevere il file
nc 192.168.1.4 12345 > textfile

Se invece volete che il file sia inviato dal client dovrete invertire il segno <
nc -l -p 12345 > textfile

nc 192.168.1.4 1245 < textfile

Più in generale:

per il computer che riceve




nc -l -p porta >file


per il computer che invia


nc indirizzo.computer.remoto porta <file


Banner grabbing


Finalmente, una delle principali funzioni di Netcat: il banner grabbing.

Il banner grabbing è una tecnica , rudimentale ma efficace,  usata n per carpire il più possibile di una data applicazione come sistema operativo, marca, versione.
nc -v IP port

Collegarsi a un server IRC


Per collegarsi a un server IRC basta poco: è sufficiente cerare un batch file come il seguente:
@echo off

echo Ti sto collegando a IRC tramite irc.2600.net

nc -v 208.111.35.75 6667

USER Nc

Nick YourNickname

Mandare una Mail con Netcat


Creare un file di testo come quello che si vede in Lista 1. Successivamente seguire Lista 2 (che manda il file di testo al vostro server SMTP).

[caption id="attachment_321" align="aligncenter" width="354" caption="Lista 1"][/caption]

[caption id="attachment_322" align="aligncenter" width="352" caption="Lista 2"][/caption]

In attesa della seconda parte che parlerà di: tunneling con Netcat e la creazione di backdoor (anche con reverse) vi lascio un'utilissima cheatsheet con tutti i comandi principali di Netcat.

Fonti:

http://hakin9.org/how-to-use-netcat-mohsen-mostafa-jokar/

http://it.wikipedia.org/wiki/Netcat

Nessun commento:

Posta un commento