Aggiungere un target di rete o un sito web

  1. Cliccare su Gestione degli asset > Target di rete e siti web
  2. Cliccare sul pulsante Aggiungi
  3. Compilare il modulo:

    • «Origine» corrisponde al nodo da cui avviare le analisi
    • «Target» corrisponde al target di rete o al sito web da analizzare; è possibile indicare un target di rete sotto forma di nome di dominio o di indirizzo IP, oppure un sito web sotto forma di URL; in entrambi i casi, viene eseguita una scansione delle porte sul target e un riconoscimento dei servizi utilizzati per determinare le versioni dei servizi esposti
    • «Ambito della scansione» definisce l’ampiezza della scansione a partire dal target:
      • Predefinito: utilizza l’ambito predefinito (Cartella)
      • URL: scansiona solo l’URL di base esatto indicato
      • Pagina: scansiona ogni URL corrispondente al percorso dell’URL di base (ogni variazione della query string)
      • Cartella: scansiona ogni URL che inizia con il valore dell’URL di base. Questo URL di base deve terminare con una barra (nessun nome di file)
      • Dominio: scansiona ogni URL il cui nome di dominio corrisponde a quello dell’URL di base
      • Sottodominio: scansiona ogni URL il cui sottodominio corrisponde a quello dell’URL di base
    • «URL dello Swagger» specifica la posizione del file di descrizione delle API (YAML o JSON) per aggiungere alla scansione gli URL in esso descritti
    • «URL esclusi dalla scansione» specifica l’elenco degli URL (uno per riga) da escludere dalla scansione; gli URL possono contenere caratteri jolly
    • «URL aggiuntivi da scansionare» specifica l’elenco degli URL aggiuntivi (uno per riga) da includere nella scansione
    • «Tipo di autenticazione» specifica il metodo utilizzato per autenticarsi presso l’applicazione web target
      • Nessuno: non viene effettuata alcuna autenticazione
      • Basic: utilizza l’autenticazione HTTP Basic, in cui il nome utente e la password vengono inviati in chiaro, codificati in base64, nelle intestazioni della richiesta HTTP
      • Digest: una forma più sicura rispetto all’autenticazione Basic, che utilizza una risposta cifrata per autenticare la richiesta
      • NTLM: utilizzato principalmente negli ambienti Windows, NTLM è un protocollo di sicurezza per l’autenticazione
      • POST: invia i dati di autenticazione al server tramite una richiesta HTTP POST, consentendo un’autenticazione lato server
      • HTTP Bearer: consente di inserire un token di autenticazione JWT da trasmettere in ogni richiesta HTTP nell’intestazione Authorization, nel formato Authorization: Bearer <jeton>. Nel campo associato in Cyberwatch va inserito solo il token
      • Selenium: utilizzato per effettuare un’autenticazione eseguendo azioni automatizzate specificate in un file .side. Una volta eseguite queste azioni, i cookie acquisiti vengono utilizzati per il resto della scansione. Le azioni accettate sono open, type e click. Per ciascuna delle azioni, la definizione dell’elemento target deve iniziare con id=, css= o xpath=
      • Cookie: specifica uno o più cookie da aggiungere in ciascuna delle richieste HTTP per consentire un’autenticazione continua sul sito web target. Se vengono inseriti più cookie, è possibile separarli con un punto e virgola, seguendo il formato cookie=valeur;cookie=valeur

    A causa della scadenza regolare dei cookie, si consiglia di associare gli asset che utilizzano questo metodo di autenticazione a una policy di analisi manuale, in modo da poter garantire la validità dei cookie prima di ogni analisi.

  4. Confermare cliccando su «Salva»

Configurare i parametri di scansione

Alcuni parametri avanzati sono configurabili per policy di analisi, tra cui la durata massima della scansione web per modulo e la durata massima dell’esplorazione web. A tal fine, accedere a Impostazioni > Policy di analisi e modificare le policy dei target e dei siti web interessati. I parametri di scansione si trovano nella sezione «Impostazioni avanzate».

Per quanto riguarda la scansione di applicazioni web, è possibile configurare diverse opzioni:

  • Durata massima dell'esplorazione: si tratta del tempo massimo assegnato all’esplorazione della superficie di attacco, come l’individuazione delle pagine, dei parametri e dei moduli presenti

  • Durata massima di scansione per modulo: una volta terminata la fase di esplorazione, viene eseguito un insieme di moduli specifici che testano potenziali vulnerabilità. Questo valore controlla il tempo massimo di esecuzione assegnato a ciascuno di questi moduli

  • Headless: la modalità headless utilizza un browser senza interfaccia per testare le vulnerabilità di sicurezza simulando azioni dell’utente nelle applicazioni web, in particolare quelle realizzate con framework JavaScript come Angular, React o Vue

Alcune applicazioni da scansionare in modalità headless possono richiedere più tempo e ottenere risultati parziali con le durate massime predefinite. In questi casi, i valori consigliati da configurare nella policy di analisi sono 600 secondi per la durata massima dell’esplorazione e 300 secondi per la durata massima della scansione per modulo.

Scansioni web autenticate

Durante l’aggiunta o la modifica di un target di rete, è possibile specificare un set di credenziali e un metodo di autenticazione. Questi parametri si applicano solo quando il target è un sito web, o almeno ha una porta HTTP aperta.

Per attivare l’autenticazione, è necessario creare preventivamente un set di credenziali di tipo Scansione web dal menu Credenziali salvate.

I metodi di autenticazione corrispondono ai tipi supportati dall’intestazione HTTP Authorization, ad eccezione del metodo post, che simula un utente che inserisce le proprie credenziali in un modulo di accesso. L’URL del modulo di accesso si applica solo al metodo post.

Prodotti supportati dai target di rete o siti web

Cyberwatch supporta qualsiasi indirizzo IP, così come qualsiasi URL o nome di dominio valido e risolto.

In tutti i casi, Cyberwatch verifica quali porte sono aperte tra le 3000 porte più comunemente utilizzate. Sulle porte aperte vengono utilizzate due strategie di analisi.

  • Una scansione passiva, che rileva le versioni dei servizi esposti su ogni porta del target e identifica le vulnerabilità a essi associate. Quando si tratta di una porta web, viene eseguita anche una scansione aggiuntiva che consente di identificare errori di configurazione della top 10 OWASP. Quest’ultima copre, tra l’altro, gli errori di configurazione negli header e identifica le librerie utilizzate.

  • Una scansione attiva, che è un esame più approfondito in base alle specificità di ogni porta. Se la porta supporta TLS, viene eseguito un audit TLS per verificare se vengono accettate suite crittografiche deboli, se vengono utilizzati protocolli deprecati o se il certificato non è valido. Se la porta risponde alle richieste http/https, Cyberwatch esegue una seconda scansione il cui scopo è identificare altri errori di configurazione della top 10 OWASP, come ad esempio la possibilità di effettuare injection XSS/SQL…

Le due analisi OWASP sono descritte di seguito.

Analisi OWASP (Orignal)

Orignal consente di verificare la sicurezza delle applicazioni web. Esegue scansioni esterne dell’applicazione web (autenticate o meno in base alla modalità di scansione utilizzata) esplorando le pagine web dell’applicazione distribuita, alla ricerca di problemi di sicurezza. Una volta ottenuto l’elenco degli URL, dei moduli e dei relativi input, Orignal agisce come un fuzzer, iniettando payload e valutando le diverse risposte applicative.

Affinché la scansione log4j possa funzionare, è necessario che Cyberwatch abbia accesso al DNS seguente: dns.cyberwatch.app

Informazioni generali

La scansione Orignal può essere suddivisa in due grandi fasi consecutive:

  • La «scansione passiva»: questa fase è composta da moduli che consentono di effettuare uno studio statico dei potenziali problemi di sicurezza
  • La «scansione attiva»: questa fase è composta da moduli di attacco che consentono di testare attivamente la superficie di esposizione per identificare determinati problemi di sicurezza

Queste due fasi sono precedute da una ricostruzione dell’elenco degli URL disponibili.

Orignal propone due diversi tipi di scansione:

  • La «modalità normale»: questa modalità effettua direttamente richieste (simili a richieste cURL) sul target
  • La «modalità headless»: con questa modalità, Orignal avvia un browser senza interfaccia grafica per analizzare le applicazioni web, in particolare quelle basate su JavaScript. Consente una migliore interazione con le Single Page Application (SPA) e un rilevamento ottimale dei problemi di sicurezza legati all’esecuzione dinamica di JavaScript

La scansione passiva

Elenco non esaustivo delle azioni eseguite dalla scansione passiva:
  • Analisi dei flag dei cookie per rilevare configurazioni non sicure
  • Analisi della Content Security Policy (CSP) per rilevare eventuali punti deboli
  • Analisi delle intestazioni HTTP per rilevare configurazioni non sicure
  • Rilevamento delle tecnologie web utilizzate dal sito
  • Enumerazione dei moduli WordPress

La scansione attiva

Elenco non esaustivo delle azioni eseguite dalla scansione attiva:
  • Ricerca di problemi di sicurezza relativi all’injection CRLF (Carriage Return Line Feed)
  • Ricerca di problemi di sicurezza CSRF (Cross-Site Request Forgery)
  • Identificazione dei potenziali punti di injection
  • Ricerca di problemi di sicurezza di tipo SQL injection
  • Individuazione dei file di backup che potrebbero divulgare informazioni sensibili
  • Tentativi di brute force sui moduli di accesso
  • Ricerca di configurazioni errate o di file .htaccess accessibili che potrebbero essere sfruttati
  • Tentativi di SQL injection
  • Valutazione dei metodi HTTP consentiti dal server
  • Ricerca di problemi di sicurezza di tipo open redirect
  • Identificazione dei problemi di sicurezza Server-Side Request Forgery (SSRF)
  • Ricerca di problemi di sicurezza di tipo Cross-Site Scripting (XSS)
  • Verifica della presenza della vulnerabilità Log4Shell

I metadati

I metadati possono fornire indicazioni sullo stato della scansione eseguita. Sono visualizzati in due colonne, denominate “Chiave” e “Valore”.

Le pagine esplorate

La chiave si presenta nella forma seguente: crawled_pages.[active|passive]. La colonna `"Valore"` indica il numero di pagine esplorate in modalità attiva o passiva, sulla porta indicata.

Per conoscere l’elenco degli URL esplorati dalle scansioni attiva e passiva, aprire, dalla scheda «Analisi» dell’asset interessato, i dettagli dello script «Scansione di applicazioni web (OWASP) - Modalità [passiva/attiva]».

Valore pari a 1 o 0

  • Se la colonna "Valore" indica "0", ciò può significare che si è verificato un problema durante l’autenticazione verso la pagina richiesta
  • Se la colonna "Valore" indica "1", pur avendo selezionato un ambito di scansione più ampio, sono possibili diverse interpretazioni

È possibile che l’indirizzo target utilizzi diversi reindirizzamenti, compromettendo il corretto funzionamento della scansione.

Ad esempio, se il target inserito inizia con http, mentre il sito utilizza https, il reindirizzamento dalla porta 80 alla 443 può interferire con la scansione. Un altro esempio comune: se il target è https://www.example.com, mentre il sito è https://www.example.com, anche questo comporterà un reindirizzamento.

L’indirizzo di un target di rete deve essere tassativamente l’indirizzo diretto da scansionare, senza reindirizzamento. L’utilizzo di un indirizzo che risponde con un reindirizzamento causerà il fallimento della scansione.