La mappatura delle vulnerabilità con Kali Linux

Introduzione

La mappatura delle vulnerabilità è un’attività svolta per identificare falle di sicurezza che possono portare alla compromissione di un sistema. A volte i ricercatori useranno il termine ” valutazione della vulnerabilità “invece di” mappatura delle vulnerabilità.”Sono, tuttavia, la stessa cosa.

Nel pentesting e nell’hacking dannoso, la mappatura delle vulnerabilità è un passaggio che segue dopo che il tester o l’hacker hanno condotto adeguatamente la raccolta di informazioni e l’enumerazione della rete o dell’host di destinazione.

In questo articolo, vedremo come vari strumenti all’interno del sistema operativo Kali Linux possono essere implementati per scoprire vulnerabilità che potrebbero portare a compromettere gli obiettivi e quindi provocare l’hacker o penetration tester violare la riservatezza, l’integrità e la disponibilità di un sistema aziendale.

Tipi di vulnerabilità

Oggi esistono tre classi principali di vulnerabilità da cui è possibile fare una chiara distinzione. Le tre classi sono:

  • Vulnerabilità di progettazione: Questi saranno scoperti tramite punti deboli che derivano dalle specifiche del software. Questi sono di gran lunga i più ingombranti da risolvere, dal momento che richiedono patch da applicare in base ai requisiti di sicurezza forniti dal pentester
  • Vulnerabilità di implementazione: ogni volta che vengono scoperti glitch all’interno del codice software, vengono classificati qui.
  • Vulnerabilità operative: queste vulnerabilità derivano da una configurazione e distribuzione improprie del software.

Le classi di vulnerabilità di cui sopra si verificano localmente o in remoto all’interno dell’ambiente di destinazione.

Le vulnerabilità locali richiedono al tester o all’attaccante di avere accesso locale al sistema di destinazione per sfruttarle. Un buon esempio di questo è il CVE-2013-0232, altrimenti noto come GP Trap Handler nt!KiTrap0D, che consentirebbe a un utente malintenzionato o tester con accesso a una macchina Windows Server 2008 vulnerabile di ottenere un accesso privilegiato intensificato.

Le vulnerabilità remote consentono lo sfruttamento senza accesso fisico al sistema di destinazione. Questi potrebbero verificarsi da Internet o all’interno della rete su cui si trova il sistema vulnerabile. Un esempio comune di questo è la vulnerabilità del servizio MS08-067 Windows Server, che colpisce i sistemi Windows XP.

Tassonomia delle vulnerabilità

Poiché il numero di tecnologie aumenta ogni giorno, ci sono stati numerosi tentativi di progettare una tassonomia che potesse soddisfare al meglio le vulnerabilità comunemente identificabili. Nonostante questi sforzi, in realtà ancora non è possibile tenere conto di tutti gli errori di codifica che possono essere fatti.

Le organizzazioni hanno messo a punto i seguenti standard che sono stati anche implementati in molti strumenti che possono essere utilizzati durante la ricerca di vulnerabilità.

Sicurezza tassonomia collegamento di Risorse
Debolezza Comune di Enumerazione http://cwe.mitre.org/data/index.html
OWASP Top 10 https://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project
WASC Minaccia di Classificazione http://projects.webappsec.org/w/page/13246978/Threat%20Classification
National Vulnerability Database https://nvd.nist.gov/vuln
Google Hacking Database (GHDB) https://www.exploit-db.com/google-hacking-database/

Scansione di Vulnerabilità con Kali Linux

Kali Linux viene fornito in bundle con numerosi strumenti per il test di penetrazione. Alcuni di questi strumenti possono essere effettivamente utilizzati durante un impegno pentest per effettuare la mappatura delle vulnerabilità attraverso le tre classi discusse sopra.

Scansione delle vulnerabilità delle applicazioni Web

Le applicazioni Web vengono generate quotidianamente, ma la maggior parte dei programmatori non osserva i principi di codifica sicura che devono essere seguiti durante la progettazione delle applicazioni. I seguenti strumenti consentono a uno sviluppatore o pentester di scoprire le vulnerabilità che rientrano nella documentazione disponibile nella tabella sopra.

Nikto2

Nikto2 è uno scanner di vulnerabilità delle applicazioni web molto semplice costruito su LibWhisker2, il che significa che ha numerose funzionalità. Ad esempio, può essere distribuito multipiattaforma, supporta SSL, può gestire l’autenticazione host tramite NTLM e può persino gestire l’evasione degli ID.

Lanciare Nikto contro un host come mostrato sopra con il comando “nikto-h” restituirà risultati che varieranno a seconda di quanto sia vulnerabile il bersaglio. Puoi essere sicuro che Nikto rileverà implementazioni server obsolete, file di installazione predefiniti, configurazioni errate del server e numerosi altri problemi di sicurezza. È inoltre possibile specificare la porta aggiungendo “-p ” dopo aver specificato la destinazione per trovare eventuali problemi sulle porte desiderate.

OWASP ZAP

Il proxy di attacco OWASP Zed (ZAP) viene creato dal progetto OWASP, una delle parti nella tabella sopra descritta. Si tratta di uno strumento proxy di applicazioni web open source e offre alcune buone funzionalità come la scansione delle vulnerabilità delle app web.

Su Kali Linux, è sufficiente avviarlo emettendo il comando sottostante nel terminale:

#owasp-zap

Ti verrà presentata la schermata principale. L’esecuzione di una scansione è abbastanza semplice, però. Si dovrebbe emettere la destinazione da scansionare come mostrato di seguito:

Una volta premuto il pulsante “Attacco”, la scansione inizierà e vedrai alcune attività nella sezione sottostante sullo schermo.

OWASP ZAP esegue la scansione del sito web di destinazione alla ricerca di vulnerabilità. Sarà anche identificare alcuni errori di configurazione che appariranno all’interno della scheda Avvisi, in modo da tenere d’occhio quella scheda pure. OWASP ZAP ti consentirà di restringere i collegamenti interessati, come mostrato di seguito:

Un concorrente commerciale di ZAP è BurpSuite, che offre funzionalità simili con la sua versione gratuita ma molto di più nella sua versione commerciale.

Nessus

Nessus ti fornirà la scansione automatica delle vulnerabilità delle applicazioni Web per quelle situazioni in cui sei limitato nel tempo e hai bisogno di una rapida valutazione delle vulnerabilità o pentest.

Nessus può essere eseguito gratuitamente con funzionalità limitate o come strumento commerciale con molte più funzionalità che possono tornare utili, specialmente per grandi team e impegni pentest.

Per eseguire una scansione delle vulnerabilità, devi prima installare la versione gratuita di Nessus, quindi navigare nel browser su https://localhost:8834. Vedi sotto:

Dovresti quindi premere il pulsante” Nuova scansione ” sopra e selezionare il tipo di scansione da eseguire dai numerosi modelli disponibili.

I modelli mostrati sopra saranno limitati all’interno della versione gratuita di Nessus se si esegue che, ma sono molto più in numero e capacità nella versione commerciale.

Si dovrebbe quindi emettere i vostri obiettivi. Nessus è in grado di eseguire scansioni su più target separati da virgole o emessi in formato CIDR.

Una volta che hai finito di compilare i campi obbligatori, ti verrà presentata la schermata sopra. Fare clic sull’icona” play ” per avviare la scansione.

Le vulnerabilità saranno presentate nel modo nella schermata sopra, riassumendo la gravità e le istanze dei problemi rilevati.

Nessus consente anche di eseguire il drill-down a specifici host e vulnerabilità e ottenere ulteriori informazioni su come sono stati scoperti, insieme a raccomandazioni su come correggere i rischi identificati.

Scansione delle vulnerabilità di rete

Kali Linux fornisce anche strumenti in grado di scansionare dispositivi di rete come database, router, switch e protocolli come SNMP e SMB. Ci sono numerosi strumenti, ma daremo un’occhiata al più comune.

CISCO Analysis

I dispositivi CISCO sono soggetti a una serie di vulnerabilità che possono essere valutate con un paio di strumenti. Durante il controllo dei router, Kali Linux viene fornito con Cisco Auditing Tool (CAT), che può aiutare un utente malintenzionato o penetration tester a identificare le vulnerabilità che vanno dalle stringhe della comunità SNMP ai vecchi bug CISCO e alle credenziali predefinite che possono essere utilizzate per ottenere l’accesso illegale al router.

Per testare il nostro host su Kali, abbiamo eseguito il comando qui sotto:

#CAT -h 192.168.67.73 -w lists/community -a lists/passwords -i

CAT procede alla verifica delle credenziali predefinite e delle stringhe della comunità SNMP come mostrato sopra.

Analisi SNMP

Kali Linux consente anche agli aggressori e ai pentester di ottenere informazioni dagli host con il protocollo SNMP (Simple Network Management Protocol). Questo può essere estremamente vitale nella preparazione di ulteriori attacchi mirati all’host.

Sulla nostra macchina attaccante, abbiamo eseguito il comando qui sotto e siamo stati in grado di ottenere un sacco di informazioni sul nostro obiettivo.

Come si può vedere sopra, siamo stati in grado di identificare le informazioni della scheda ethernet, per quanto tempo il sistema era stato collegato tramite quella scheda, il nome host e, come mostrato di seguito, il numero di interfacce di rete con le rispettive informazioni.

Valutazione del database in Kali Linux

Kali Linux consente il test dei database MSSQL di MySQL, Oracle e Microsoft per vulnerabilità come SQL injection. Test sulle politiche delle password e controlli delle password predefinite sono supportati anche da alcuni strumenti.

SQLMap

SQLMap è uno strumento pulito all’interno di Kali Linux che è in grado di eseguire vari test di SQL injection contro un paio di database come PostgreSQL, MSSQL, Oracle e MySQL. È in grado di rilevare e sfruttare i difetti rilevati, rendendolo uno strumento molto comune per attaccanti e tester. SQLMap può aiutarti rapidamente a eseguire i seguenti attacchi, che altrimenti sarebbero difficili e dispendiosi in termini di tempo:

  • Inferential blind SQL injection
  • UNION query SQL injection
  • Stacked query SQL injection
  • Time-based blind SQL injection

Sul nostro sistema Kali Linux, abbiamo eseguito il comando seguente per tentare di scoprire informazioni sul nostro database sottostante all’interno del nostro sistema di destinazione.

# sqlmap -u "http://192.168.0.30/mutillidae/index.php?page=view-someones-blog.php" --forms --batch --dbs

Il risultato sopra ci mostra i database disponibili e ci consente anche di conoscere i parametri iniettabili all’interno della nostra applicazione Web all’URL specificato.

Per trovare il contenuto del database “owasp10”, emettiamo il comando di seguito:

# sqlmap -u "http://192.168.0.30/mutillidae/index.php?page=view-someones-blog.php" --forms --batch -D owasp10 –tables

L’opzione-D specifica il database da utilizzare e-tables chiede a SQLMap di elencare le tabelle disponibili.

SQLMap offre molte più funzionalità che non saranno coperte, ma che dovresti controllare all’interno della documentazione della guida con il comando “sqlmap-h”.

Esistono anche altri strumenti, come SQLNinja, che sono simili per funzionalità a SQLMap.

Conclusione

Dopo aver mappato le vulnerabilità utilizzando gli strumenti disponibili sopra, è ora possibile procedere alla fase successiva che durante un test di penetrazione o un attacco sarebbe sfruttamento. Tuttavia, potresti essere interessato solo all’enumerazione delle vulnerabilità per una valutazione delle vulnerabilità. In questo caso, gli strumenti sopra funzioneranno.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.