Strumenti TCP
netcat

nc [opzioni] [hostname] [porte]
Il coltellino svizzero delle utilities di rete. Capace di:
- Aprire connessioni TCP
- Ascoltare su porte TCP e UDP
- Inviare datagrammi UDP
- Eseguire scansioni di porte
- Gestire IPv4 ed IPv6
Il client legge da standard input, il server scrive a standard output
Genera errori su standard error
Esempi d'uso
Porta locale, 5 secondi di timeout connessione:
nc -p 31337 -w 5 host.example.com 42
Usa protocollo UDP:
nc -u host.example.com 53
Spoofing dell'idirizzo sorgente:
nc -s 10.1.2.3 host.example.com 42
Ascolta su socket Unix:
nc -lU /var/tmp/dsocket
Proxy HTTPS e utente indicato:
nc -x10.2.3.4:8080 -Xconnect -Pruser host.example.com 42
Scansione porte:
nc -z host.example.com 20-30
Packet Crafting con hping3

Autore: Salvatore Sanfilippo.
Costruzione di pacchetti con riempimento dei campi.
Invia un pacchetto con flag SYN alla porta 80:
hping3 -I eth0 -S 192.168.10.1 -p 80
Opzioni per flag:
-F FIN -R RST -S SYN
-P PUSH -A ACK -U URG
-X Xmas(1st unused) -Y Ymas(2nd unused)
Scansione dalla porta 79 in poi:
hping3 -I eth0 -S 192.168.10.1 -p ++79
Ritorna flags=SA per porta aperta e flags=RA per porta chiusa
Altre opzioni:
-s --baseport- porta sorgente base (default random) – incrementata di 1 ad ogni invio-p --destport[+][+]<port>- porta destinazione (default 0)-k --keep- mantiene porta sorgente-w --win- dimensione finestra (default 64)-O --tcpoff- offset dati (invece ditcphdrlen / 4)-Q --seqnum- mostra solo il numero di sequenza-b --badcksum- invia checksum sbagliato (non sempre funziona)-M --setseq- setta il numero di sequenza TCP-L --setack- setta il numero di acknoledge TCP
Idle Scan

Richiede una macchina Zombie con sequenza prevedibile di generazione di ID di pacchetto.
- P.es. Windows, Stampanti
Testare uno Zombie:
hping3 -I eth0 -SA 192.168.10.1
Se lo id incrementa di 1 va bene
Scansione. Finestra 1 con intervallo di 5 secondi:
hping3 -I eth0 -i 5 -a 192.168.10.1 -S 192.168.10.33 -p ++20
Finestra 2:
hping3 -I eth0 -r -S 192.168.10.1 -p 2000
-r display degli incrementi, non degli id interi; se +1: porta server chiusa, se +2: porta server aperta
Attacco SYN

Acquisizione Informazioni
Fingerprinting
Determinare il sistema operativo dei target. A volte anche versioni e implementazioni specifiche.
- Fingerprinting attivo
- Invia stimoli e riceve responsi
- Comportamento target allo stimolo con pacchetti errati
- Database di responsi possibili
- Fingerprinting passivo
- Ispezionare i dettagli interni dei pacchetti ricevuti
- Campi inutilizzati delle testate TCP/IP
- Presenza e tipo di opzioni
- Uso dei flag TCP - Push, Urgent, Fin *Frequenza di vari tipi di traffico
Scanning
Fondamento dello Intelligence Gathering Attivo.
Enumerazione di:
- Indirizzi IP
- Nomi host
- Porte e servizi
- Sistemi operativi
- Numeri di sequenza IP
- Vulnerabilità palesi
Può essere più o meno rumoroso o Stealth:
- Il sistema operativo target non compie il logging delle sonde di scansione
- Lo Intrusion Detection System di rete non nota anomalie di traffico, per composizione o frequnze
nmap

Gordon “Fyodor” Lyon, dal 1997.
nmap [tipi] [opzioni] target
Opzioni:
-g- porta sorgente--spoof-mac- MAC sorgente falso-S- indirizzo sorgente-e- seleziona interfaccia ethernet-F- fast scan alle 100 porte più importanti-p- specifica range di porte-R- forza il reverse lookup-N- risoluzione DNS-n- disabilita risoluzione DNS-O- informazioni sul sistema operativo-h- help-6- abilita IPv6-A- aggressivo – usare con cautela-T(0-5)- livello di aggressività--scan_delay- aggiunge un ritardo tra le sonde-sV- sonda le versioni del software-P0- disabilita il ping della vittima-A- compie un traceroute--max_hostgroup- limita il numero delle vittime scandite simultaneamente--max_retries. setta il numero di tentativi aggiuntivi di contatto porte--max_parallelism- setta il numero massimo di sonde in parallelo
Tipi di scansioni
-sA- ACK-sP- ping-sS- SYN – scansione half open-sT- connessione TCP completa-sU- UDP-sX- XMAS – buono per i sistemi Unix-sL- list scan – lista gli indirizzi IP-sO- protocolli supportati dalle vittime-sM- FIN/ACK – buono per i sistemi Unix-sI- idle scan – usa zombie-sW- scan della finestra TCP dei pacchetti RST
Tipi di output:
-oA- tutti-oG- che può essere usato congrep-oX- XML-oN- normale
Esempi di nmap
nmap -A 10.10.10.2
- Rileva porte e informazioni sulla vittima. Compie un traceroute.
- Provare con firewall e senza
nmap -P0 -n -sS --max_hostgroup 1 --max_retries 0 --max_parallelism 10 10.10.10.0/24 | grep -v Warning
- Scan stealth di un'intera rete con accorgimenti per basso carico e intrusività
- Il grep toglie i messaggi di Warning per eccesso di retries su vittime non esistenti
nmap-D10.10.10.18,10.10.10.27,10.10.10.44,ME -p 80,21,22,25,443 -Pn 10.10.10.3
- Uso di Decoys: randomizza l'indirizzo sorgente tra gli indirizzi indicati dall'opzione -D