Netcat il coltellino svizzero delle reti: una mini guida (Parte 1 di 2)

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

tabella

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

Lista 1

Lista 2

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.


Parte 2

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger cliccano Mi Piace per questo: