Reading Time: 4 minutes

Debolezze TCP e UDP: Port Scanning

Un limite presente in entrambi i protocolli di trasporto della famiglia TCP/IP è che questi non sono stati originalmente pensati per impedire la rilevazione dei servizi attivi sulle stazioni target.

Questa attività di mappatura non si limita alla rilevazione dei soli servizi applicativi, ma può consentire una ampia raccolta di informazioni sulla natura del sistema operativo e dello stato di patching di una stazione.

Pur non essendo una minaccia di per sè, questa raccolta di informazioni è in genere il preludio a forme di attacco più dannose e mirate.

Per l’individuazione del sistema operativo presente su una stazione, esistono tecniche di fingerprinting molto evolute che utilizzano il protocollo ICMP, implementate da tool software di facile utilizzo, reperibili direttamente in Internet e utilizzabili anche da hacker senza particolare esperienze in materia.

Per l’individuazione dei servizi che sono disponibili su una stazione esistono invece tecniche ancora più semplici che possono essere utilizzate da tutti, molto spesso senza l’utilizzo di software specifici.

La rilevazione dei servizi può essere resa molto veloce tramite impiego di software denominati UDP/TCP Scan.

Con questi particolari software un hacker può acquisire rapidamente informazioni sui bersagli dei suoi prossimi attacchi inviando i comuni datagrammi UDP alla stazione target, variando il numero di porta/servizio richiesto.

Se sulla stazione target la porta non è aperta viene inviato un messaggio ICMP Destination Unreachable – Port Unreachable (Type = 3, Code = 3).

Se la porta è attiva la risposta può essere condizionata al rispetto dello specifico protocollo applicativo in ascolto su quella porta.

Una mappa dei servizi attivi basati su TCP può essere invece ottenuta inviando alla stazione target comuni segmenti TCP con SYN settato.

Relativamente al TCP esistono però anche forme di scan più raffinate.

Generalmente, per ogni sessione TCP aperta con successo sulla stazione target, viene inserita una riga in un file di log.

Per evitare che l’amministratore di sistema possa insospettirsi da un numero elevato di sessioni TCP aperte da uno stesso client in un breve intervallo di tempo e/o dall’apertura di sessioni TCP per tutti i servizi attivi sulla stessa stazione target, l’hacker può ricorrere a tecniche di scan che lasciano meno tracce.

Di seguito presentiamo le più diffuse tecniche di TCP Scan:

  • Vanilla TCP Connect Scan
    Prevede la sequenza di pacchetti seguente:

    • Un hacker invia un primo segmento TCP verso il target con SYN settato.
    • Se la porta richiesta è chiusa il target risponde con un RST o con un ICMP Port Unreachable.
    • Se la porta è aperta il target risponde con un SYN + ACK.
    • Nel secondo caso l’hacker invia un ACK completando regolarmente la fase iniziale di negoziazione.
    • Dopo un opportuno timeout l’hacker avvia la procedura di chiusura attiva della sessione TCP.

    Il mapping dei servizi tramite questa tecnica di scan lascia comunque traccia nei log della stazione target.

  • TCP Half-Open Scan
    Come nella precedente modalità, senza l’invio del messaggio di ACK necessario per completare la fase di negoziazione, le sessioni non completate con successo vengono generalmente rimosse direttamente dal sistema operativo, allo scadere di un timeout, senza finire nei log delle applicazioni presenti sulla stazione target.
    Indicazioni delle sessioni half-open non complete sono eventualmente inserite in un file di log direttamente dal sistema operativo prima di essere rimosse.
  • TCP NULL Scan
    Prevede che l’hacker invii un pacchetto verso il target con sequence number uguale a 0, e nessun flag settato.
    Il target risponde come nelle altre modalità di TCP Scan.
  • TCP ACK Scan
    Prevede che l’hacker invii un pacchetto verso il target con il flag ACK settato.
    Il target risponde come nelle altre modalità di TCP Scan.
  • TCP FIN Scan
    Prevede una sequenza di pacchetti di seguito descritta:

    • Un hacker invia un segmento TCP verso il target con FIN settato.
    • Se la porta richiesta è chiusa il target risponde con un RST o con un ICMP Port Unreachable.
    • Se la porta è aperta il target scarta il pacchetto senza rispondere.

    Esiste una variante di questa tecnica che prevede l’invio di un segmento con FIN e ACK entrambi settati (talvolta utile per superare le impostazioni di filtraggio previste in alcuni dispositivi di sicurezza perimetrale anteposti alla stazione target).

  • TCP XMAS Scan
    Prevede che l’hacker invii un pacchetto verso il target con sequence number impostato a 0, e con FIN, URG e PSH settati.
    Il target risponde come nelle altre modalità di TCP Scan.
  • TCP SYN/FIN with Fragments Scan
    Prevede che l’hacker invii un pacchetto verso il target con SYN e FIN entrambi settati dopo averli opportunamente frammentati.
    In questo modo risulta particolarmente complesso bloccare lo scanning agendo sugli eventuali dispositivi preposti al filtraggio anteposti alla stazione target.
    Il target risponde come nelle altre modalità di TCP Scan.
error: Content is protected !!

La maggior parte dei contenuti del blog ComputerSec vengono pubblicati a beneficio di tutti e in modo completamente gratuito.
Tuttavia per supportare il blog, e per avere ulteriori vantaggi, puoi decidere di abbonarti e sfruttare al 100% tutti i contenuti!
Abbonati Ora!

Complimenti! Ti sei iscritto alla nostra Newsletter

C'è stato un errore durante l'invio della richiesta. Per favore riprova.

Computer Security will use the information you provide on this form to be in touch with you and to provide updates and marketing.