Scansione TCP
TCP è un protocollo stateful perché mantiene lo stato delle connessioni. La connessione TCP prevede un handshake a tre vie del socket del server e del socket lato client. Mentre un socket del server è in ascolto, il client invia un SYN e quindi il server risponde con SYN-ACK. Il client quindi invia ACK per completare l'handshake per la connessione
Per cercare una porta TCP aperta, uno scanner invia un pacchetto SYN al server. Se SYN-ACK viene restituito, la porta è aperta. E se il server non completa l'handshake e risponde con un RST, la porta viene chiusa.
Scansione UDP
UDP invece è un protocollo stateless e non mantiene lo stato della connessione. Inoltre non comporta una stretta di mano a tre vie.
Per cercare una porta UDP, uno scanner UDP invia un pacchetto UDP alla porta. Se quella porta è chiusa, viene generato un pacchetto ICMP e rispedito all'origine. Se ciò non accade, significa che la porta è aperta.
La scansione delle porte UDP è spesso inaffidabile perché i pacchetti ICMP vengono scartati dai firewall, generando falsi positivi per gli scanner delle porte.
Scanner per porte
Ora che abbiamo visto come funziona la scansione delle porte, possiamo passare a diversi scanner di porte e alle loro funzionalità.
Nmap
Nmap è il port scanner più versatile e completo disponibile fino ad ora. Può fare di tutto, dalla scansione delle porte al rilevamento delle impronte digitali Sistemi operativi e scansione delle vulnerabilità. Nmap ha sia interfacce CLI che GUI, la GUI si chiama Zenmap. Ha molte opzioni diverse per eseguire scansioni rapide ed efficaci. Ecco come installare Nmap in Linux.
sudo apt-get updatesudo apt-get upgrade -y
sudo apt-get install nmap -y
Ora useremo Nmap per scansionare un server (hackme.org) per le porte aperte e per elencare i servizi disponibili su quelle porte, è davvero facile. Basta digitare nmap e l'indirizzo del server.
nmap hackme.organizzazione
Per cercare le porte UDP, includi l'opzione -sU con sudo perché richiede i privilegi di root.
sudo nmap -sU hackme.organizzazione
Ci sono molte altre opzioni disponibili in Nmap come:
-p-: Scansione per tutte le porte 65535-sT: scansione connessione TCP
-O : esegue la scansione del sistema operativo in esecuzione
-v : Scansione dettagliata
-A: Scansione aggressiva, scansiona tutto
-T[1-5] : Per impostare la velocità di scansione
-Pn: nel caso in cui il server blocchi il ping
Zenmap
Zenmap è un'interfaccia GUI di Nmap per i bambini che fanno clic in modo che tu non debba ricordare i suoi comandi. Per installarlo, digita
sudo apt-get install -y zenmap
Per scansionare un server, digita semplicemente il suo indirizzo e seleziona tra le opzioni di scansione disponibili.
Netcat
Netcat è un writer di porte TCP e UDP non elaborato che può essere utilizzato anche come scanner di porte. Usa la scansione della connessione, ecco perché non è così veloce come Network Mapper. Per installarlo, digita
[email protected]:~$ sudo apt install netcat-traditional -yPer verificare la presenza di una porta aperta, scrivi
[email protected]:~$ nc -z -v hackme.org 80…tagliare…
hackme.org [217.78.1.155] 80 (http) aperto
Per cercare un intervallo di porte, digitare
[e-mail protetta]:~$ nc -z -nv 127.0.0.1 20-80(SCONOSCIUTO) [127.0.0.1] 80 (http) aperto
(SCONOSCIUTO) [127.0.0.1] 22 (ssh) aperto
Scansione unicorno
Unicornscan è uno scanner di porte completo e veloce, creato per i ricercatori sulla vulnerabilità. A differenza di Network Mapper, utilizza il proprio stack TCP/IP distribuito sulla superficie dell'utente. Ha molte caratteristiche che Nmap non ha, alcune sono fornite are,
- Scansione TCP asincrona senza stato con tutte le varianti dei flag TCP.
- Acquisizione asincrona di banner TCP senza stato
- Scansione UDP specifica del protocollo asincrono (invio di una firma sufficiente per ottenere una risposta).
- Identificazione di sistemi operativi, applicazioni e componenti remoti attivi e passivi mediante l'analisi delle risposte.
- Registrazione e filtraggio dei file PCAP
- Output database relazionale
- Supporto per moduli personalizzati
- Viste personalizzate di set di dati
Per installare Unicornscan, digita
[email protected]:~$ sudo apt-get install unicornscan -y
Per eseguire una scansione, scrivi
[email protected]:~$ sudo us 127.0.0.1TCP aperto ftp[ 21] da 127.0.0.1 ttl 128
TCP aperto smtp[ 25] da 127.0.0.1 ttl 128
TCP aperto http[80] da 127.0.0.1 ttl 128
…tagliare…
Conclusione
Gli scanner delle porte sono utili che tu sia un DevOp, un giocatore o un hacker. Non c'è un vero confronto tra questi scanner, nessuno di loro è perfetto, ognuno di loro ha i suoi vantaggi e svantaggi. Dipende completamente dalle tue esigenze e da come le usi.