Che cos'è la scansione della porta?
Uno scanner di porte è un'applicazione che serve a sondare un host o un server per identificare le porte aperte. I malintenzionati possono utilizzare gli scanner di porte per sfruttare le vulnerabilità, trovando i servizi di rete in esecuzione su un host. Possono anche essere utilizzati dagli analisti della sicurezza per confermare le politiche di sicurezza di rete.
Come funziona una scansione della porta
L'esecuzione di una scansione delle porte su una rete o un server rivela quali porte sono aperte e in ascolto (ricevono informazioni), oltre a rivelare la presenza di dispositivi di sicurezza, come i firewall, presenti tra il mittente e l'obiettivo. Questa tecnica è nota come fingerprinting.
È anche utile per testare la sicurezza di rete e la forza del firewall del sistema. Grazie a questa funzionalità, è anche uno strumento di ricognizione popolare per gli aggressori che cercano un punto di accesso debole per introdursi in un computer.
I porti variano nei servizi offerti. Sono numerati da 0 a 65535, ma alcuni intervalli sono utilizzati più frequentemente. Le porte da 0 a 1023 sono identificate come "porte note" o porte standard e sono state assegnate ai servizi dalla Internet Assigned Numbers Authority (IANA). Alcuni dei porti più importanti e dei servizi ad essi assegnati includono:
- Porta 20 (UDP) - Protocollo di trasferimento file (FTP) per il trasferimento dati
- Porta 22 (TCP) - Protocollo Secure Shell (SSH) per login sicuri, FTP e inoltro di porte.
- Porta 23 (TCP) - Protocollo Telnet per le comunicazioni di testo non crittografate.
- Porta 53 (UDP) - Il Domain Name System (DNS) traduce i nomi di tutti i computer su Internet in indirizzi IP.
- Porta 80 (TCP) - World Wide Web HTTP
Ci sono servizi standard offerti anche sulle porte successive alla 1023 e porte che, se aperte, indicano un sistema infetto a causa della sua popolarità con alcuni Trojan e virus di vasta portata.
Tipi di scansioni portuali
Una scansione della porta invia un pacchetto accuratamente preparato a ciascun numero di porta di destinazione. Le tecniche di base di cui è capace il software di scansione delle porte includono:
- Vanilla - la scansione più elementare; un tentativo di connessione a tutte le 65.536 porte una alla volta. Una scansione vanilla è una scansione di connessione completa, ossia invia un flag SYN (richiesta di connessione) e, dopo aver ricevuto una risposta SYN-ACK (conferma di connessione), invia un flag ACK. Questo scambio SYN, SYN-ACK, ACK comprende un handshake TCP. Le scansioni full connect sono accurate ma molto facilmente rilevate, perché le connessioni complete vengono sempre registrate dai firewall.
- Scansione SYN - definita anche scansione semiaperta, invia solo un SYN e attende una risposta SYN-ACK dal bersaglio. Se viene ricevuta una risposta, lo scanner non risponde mai. Poiché la connessione TCP non è stata completata, il sistema non registra l'interazione, ma il mittente ha appreso se la porta è aperta o meno.
- Xmas e FIN Scans - un esempio di una suite di scansioni utilizzate per raccogliere informazioni senza essere registrate dal sistema di destinazione. In una scansione FIN, un flag FIN non richiesto (usato normalmente per terminare una sessione stabilita) sarà inviato a una porta. La risposta del sistema a questo flag casuale può rivelare lo stato della porta o informazioni sul firewall. Ad esempio, una porta chiusa che riceve un pacchetto FIN non richiesto, risponderà con un pacchetto RST (interruzione istantanea), ma una porta aperta lo ignorerà. Una scansione Xmas invia semplicemente un insieme di tutti i flag, creando un'interazione senza senso. La risposta del sistema può essere interpretata per capire meglio le porte e il firewall del sistema.
- Scansione di rimbalzo FTP - consente di mascherare la posizione del mittente facendo rimbalzare il pacchetto attraverso un server FTP. Anche questo è progettato per far sì che il mittente non venga individuato.
- Sweep scan - esegue il ping della stessa porta su un certo numero di computer per identificare quali computer della rete sono attivi. Questo non rivela informazioni sullo stato della porta, ma indica al mittente quali sistemi della rete sono attivi. Pertanto, può essere utilizzato come scansione preliminare.
Risultati della scansione delle porte
Uno scanner di porte invia un pacchetto di rete UDP o TCP che chiede alla porta il suo stato. I risultati riveleranno lo stato della rete o del server, che può essere uno dei seguenti: aperto, chiuso e filtrato.
1. Aperto - Accettato
Una porta aperta indica quanto segue:
- La rete/servizio di destinazione accetta i datagrammi/le connessioni.
- La rete/servizio di destinazione ha risposto con un pacchetto TCP SYN per indicare che è in ascolto.
- Il servizio utilizzato per la scansione della porta è in uso (solitamente UDP o TCP).
Per i cattivi attori, individuare le porte aperte è la missione. Questo crea una sfida per il personale di sicurezza che deve bloccare le porte aperte con i firewall (evitando di impedire l'accesso agli utenti autorizzati).
2. Chiuso - Non ascolto
Una porta chiusa indica quanto segue:
- La rete/server di destinazione ha ricevuto la richiesta, ma nessun servizio è in ascolto.
Sebbene la porta sia chiusa, è ancora accessibile e quindi utile per confermare la presenza di un host su un indirizzo IP. Il personale addetto alla sicurezza dovrebbe monitorare continuamente le porte chiuse e prendere in considerazione la possibilità di barricarle con firewall (rendendole porte filtrate).
3. Filtrato - Eliminato/Bloccato
Una porta filtrata indica quanto segue:
- È stato inviato un pacchetto di richieste. L'host non è in ascolto e non risponde.
- Il pacchetto di richiesta è stato probabilmente bloccato da un firewall o da un sistema di prevenzione delle intrusioni.
Finché i pacchetti non raggiungono l'obiettivo, i cattivi attori non avranno modo di scoprire ulteriori informazioni. In genere, i pacchetti inviati alle porte filtrate non ricevono risposta, ma quando la ricevono, il messaggio di errore è solitamente "comunicazione vietata" o "destinazione irraggiungibile".
Come i cattivi attori utilizzano la scansione delle porte come metodo di attacco
La scansione delle porte è una delle tattiche più popolari che i malintenzionati utilizzano quando sono alla ricerca di un server vulnerabile, secondo il SANS Institute. Quando si prendono di mira le reti, la scansione delle porte è in genere il primo passo. La scansione delle porte fornisce informazioni utili sull'ambiente della rete, come ad esempio:
- Le difese che sono presenti, come i firewall
- Dettagli sul sistema mirato
- Macchine che sono online
- Applicazioni in esecuzione
- Chi potrebbe avere una rete o un server vulnerabile?
Questo tipo di informazioni è molto prezioso per gli attori malintenzionati che sono alla ricerca di vulnerabilità nel software. Essere in grado di identificare che un'organizzazione sta eseguendo un DNS o un server web specifico rende molto più facile la ricerca di queste vulnerabilità. Esistono diverse tecniche di protocollo TCP che consentono ai cattivi attori di utilizzare il traffico ingannevole per le scansioni delle porte, nascondendo completamente il loro indirizzo di rete e la loro posizione.
Le scansioni sviluppate affinché il mittente non venga rilevato dal registro del sistema ricevente sono note come scansioni stealth e sono di particolare interesse per gli aggressori. Nonostante la sua popolarità in questo settore, la scansione delle porte è uno strumento prezioso per rilevare le impronte digitali di una rete e per consentire a un penetration tester di valutare la forza della sicurezza di rete.
Domande frequenti sulla scansione delle porte
Esistono diversi metodi per condurre le scansioni delle porte:
- Scansione SYN (scansione semiaperta): Comporta l'invio di un pacchetto SYN e l'attesa di una risposta SYN-ACK senza completare l'handshake TCP, rendendo più difficile il rilevamento.
- Scansione FIN: La tecnica invia un pacchetto FIN alle porte chiuse, che attiva una risposta di reset (RST). Viene comunemente utilizzato per aggirare il rilevamento del firewall.
- XMAS Scan: Trasmette un pacchetto con tutti i flag impostati, simile a un albero di Natale "illuminato", e aiuta a identificare la presenza del firewall e lo stato delle porte.
- Scansione UDP: Determina quali porte UDP sono aperte inviando pacchetti UDP e attendendo una risposta, poiché questo protocollo non richiede un handshake.
La scansione delle porte spesso funge da preludio a vari tipi di attacchi informatici. Per esempio, può essere utilizzato per:
- Rileva le porte aperte che possono essere sfruttate per un ingresso non autorizzato.
- Agiscono come passo iniziale per lanciare attacchi più specifici, come il Denial-of-service (DoS) o la violazione dei dati.
- Forniscono agli aggressori le informazioni critiche necessarie per iniettare malware o eseguire codice maligno, esponendo le vulnerabilità della rete.