Vulnerability Assessment – GCE/GSM – Configurazione ambiente
Cominciamo a capire alcuni parametri necessari per poter definire la nostra prima scansione alla ricerca di vulnerabilità, utilizzando GCE/GSM.
Ogni sistema ha 65535 porte TCP ed altrettante UDP; inoltre esiste la porta 0.
MOOOOOLTO brevemente: in una connessione tra due porte TCP la trasmissione dei dati avviene in entrambe le direzioni. Per le porte UDP la trasmissione dei dati avviene solo in una direzione. A causa del fatto che i dati ricevuti da UDP non sono necessariamente confermati, il test delle porte UDP richiede solitamente più tempo.
Le porte da 0 a 1023 (sia TCP che UDP) devono essere evidenziate come porte privilegiate o di sistema e non possono essere aperte dalle applicazioni utente; a queste porte solitamente sono associate servizi di sistema.
IANA (Internet Assigned Numbers Authority – Service Names and Port Numbers) ha riservato delle porte standard a cui viene assegnato un nome di protocollo; un esempio potrebbe essere la porta 80 per il protocollo HTTP, la porta 25 per il protocollo SMTP, la porta 22 per l’SSH e così via.
Non esiste alcun obbligo di assegnare ad un servizio la porta definita in IANA; per questo motivo possiamo trovare web server che rispondono sulla porta 932 piuttosto che su quella di default 80, o servizi SSH sulla porta 222. Per cui, una ricerca approfondita, dovrebbe tener conto non solo delle porte privilegiate, ma di tutte le 65535 porte.
In genere, i sistemi desktop hanno meno porte aperte rispetto ai server; i componenti attivi di rete (router, stampanti e telefoni VoIP) hanno solo pochissime porte aperte, quelle strettamente necessarie per il loro compito effettivo e per la loro manutenzione.
Detto questo, in GSM sono definite di default i seguenti gruppi di porte:
- All IANA assigned TCP 2012-02-10: All TCP ports assigned by IANA on 10th of February 2012;
- All IANA assigned TCP and UDP 2012-02-10: All TCP and UDP ports assigned by IANA on 10th of February 2012
- All privileged TCP
- All privileged TCP and UDP
- All TCP
- All TCP and Nmap 5.51 top 100 UDP: All TCP ports and the top 100 UDP ports according to Nmap 5.51
- All TCP and Nmap 5.51 top 1000 UDP: All TCP ports and the top 1000 UDP ports according to Nmap 5.51
- Nmap 5.51 top 2000 TCP and top 100 UDP: The top 2000 TCP ports and the top 100 UDP ports according to Nmap 5.51
- OpenVAS Default: The TCP ports which are scanned by the OpenVAS scanner when passing the default port range preference
Chiaramente, è possibile anche creare dei gruppi di porte di cui fare la scansione personalizzati.
Le performances della nostra ricerca dipenderanno dal numero di porte che vogliamo analizzare, dalla profondità della ricerca che stiamo effettuando, dalla dimensione della nostra rete (quanti sistemi ci sono all’interno del nostro network), dai meccanismi di difesa attivati (firewall, allarmi, contromisure, …); solitamente si cerca un giusto equilibrio sia nel numero di porte che nel numero di host su cui fare la scansione, rimandando ad una scansione più approfondita nel caso volessimo approfondire alcuni aspetti. Occorre anche considerare che quando andiamo a testare una determinata porta, il servizio a cui tale porta è associata reagisce con una voce nel suo log, per cui le scansioni andrebbero effettuate anche in determinati momenti.
Oltre alle porte, esistono anche delle configurazioni predefinite di scan:
- Empty: un modello vuoto, da configurare a piacimento;
- Discovery: vengono utilizzati solo NVT che forniscono informazioni sul sistema di destinazione; non vengono rilevate vulnerabilità;
- Host discovery: vengono utilizzati solo NVT che rilevano i sistemi target; serve solo per creare una elenco dei sistemi;
- System Discovery: vengono utilizzati solo NVT che rilevano i sistemi target inclusi i sistemi operativi installati e l’hardware in uso;
- Full and Fast: per molti ambienti questa è l’opzione migliore per cominciare. Questa configurazione si basa sulle informazioni raccolte nella precedente scansione delle porte e utilizza quasi tutti i plugin. Vengono utilizzati solo plug-in che non danneggiano il sistema di destinazione. I plugin sono ottimizzati nel miglior modo possibile per mantenere il potenziale tasso di falsi negativi particolarmente basso. Le altre configurazioni forniscono più valore solo in rari casi, ma con uno sforzo molto maggiore.
- Full and fast ultimate: questa configurazione espande la precedente con plug-in che potrebbero interrompere servizi o sistemi o addirittura causare arresti
- Full and very deep: questa configurazione differisce dalla configurazione “Full and fast” nei risultati della scansione delle porte che non hanno impatto sulla selezione dei plugin; pertanto verranno utilizzati plug-in che dovranno attendere un timeout. Questa scansione è molto lenta.
- Full and very deep ultimate: questa configurazione aggiunge i plugin pericolosi che potrebbero causare interruzioni del servizio o del sistema alla configurazione “Full and very deep”; anche questa scansione è molto lenta.
Durante una scansione tipica, per impostazione predefinita, il GSM utilizzerà prima il comando ping per verificare la disponibilità delle destinazioni configurate. Se la destinazione non risponde alla richiesta di ping, si presume che la destinazione non sia attiva e su di essa non verrà effettuata alcuna scansione. Nella maggior parte degli ambienti LAN ciò non pone alcun problema perché tutti i dispositivi risponderanno a una richiesta di ping. Ma a volte i firewall (locali) o altre configurazioni (antivirus) potrebbero sopprimere la risposta del ping. Per risolvere questo problema, sia la configurazione di destinazione che la configurazione di scansione supportano l’impostazione di Alive Test; in pratica si cercano mezzi alternativi al ping per capire se la macchina di destinazione è attiva o meno. Ad esempio, se la destinazione non risponde a una richiesta ping, è possibile provare un ping TCP; se la destinazione si trovasse all’interno dello stesso dominio di trasmissione, si potrebbe provare un ARP-ping, Quindi, anche la scelta dell’ Alive Test dipende dall’ambiente in cui ci troviamo.
Di default, GSM fornisce i seguenti Alive Test predefiniti:
- ICMP Ping
- TCP Service Ping
- ARP Ping
- ICMP & TCP Service Ping
- ICMP & ARP Ping
- TCP Service & ARP Ping
- ICMP, TCP Service & ARP Ping
Una volta chiariti i principali parametri che possiamo utilizzare per effettuare le scansioni, cominciamo ad effettuare la nostra prima scansione alla ricerca di vulnerabilità.