Kali Linux viene fornito pre-equipaggiato con tutti gli strumenti necessari per i test di penetrazione. Uno di questi strumenti è il framework Metasploit che consente ai Red Teamer di eseguire ricognizioni, scansioni, enumerare, e sfruttare le vulnerabilità per tutti i tipi di applicazioni, reti, server, sistemi operativi e piattaforme.
Anche se la funzionalità principale di Metasploit si concentra su attività di pentesting prima e dopo lo sfruttamento, è anche utile nello sviluppo di exploit e nella ricerca sulla vulnerabilità.
Questo articolo introduce i componenti principali del framework Metasploit. Dimostra come utilizzare i moduli Metasploit per la scansione, l'enumerazione e lo sfruttamento su un database MySQL vulnerabile ospitato su una macchina nota come Metasploitable 2.
Metasploit è lo strumento di pentesting più comunemente usato che viene preinstallato in Kali Linux. I componenti principali di Metasploit sono msfconsole e i moduli che offre.
Cos'è msfconsole?
msfconsole è l'interfaccia all-in-one simile a una shell più comunemente utilizzata che consente di accedere a tutte le funzionalità di Metasploit. Ha il supporto della riga di comando simile a Linux in quanto offre il completamento automatico dei comandi, la tabulazione e altre scorciatoie bash.
È l'interfaccia principale che ti consentirà di lavorare con i moduli Metasploit per scansionare e lanciare un attacco alla macchina di destinazione.
Metasploit ha piccoli frammenti di codice che ne abilitano la funzionalità principale. Tuttavia, prima di spiegare i moduli, è necessario essere chiari sui seguenti concetti ricorrenti:
- Vulnerabilità: È un difetto nella progettazione o nel codice del target che lo rende vulnerabile allo sfruttamento che porta alla divulgazione di informazioni riservate.
- Impresa: un codice che sfrutta la vulnerabilità rilevata.
- Carico utile: È un codice che ti aiuta a raggiungere l'obiettivo di sfruttare una vulnerabilità. Funziona all'interno del sistema di destinazione per accedere ai dati di destinazione, come mantenere l'accesso tramite Meterpreter o una shell inversa.
Passiamo ora ai cinque moduli principali di Metasploit:
- Ausiliario: il modulo ausiliario contiene una serie di programmi come fuzzer, scanner e strumenti di iniezione SQL per raccogliere informazioni e ottenere una comprensione più profonda del sistema di destinazione.
- Codificatori: i codificatori crittografano i payload/exploit per proteggerli dalle soluzioni antivirus basate sulle firme. Poiché i payload o gli exploit contengono caratteri nulli o non validi, ci sono alte probabilità che vengano rilevati da una soluzione antivirus.
- Impresa: come discusso in precedenza, un exploit è un codice che sfrutta le vulnerabilità di destinazione per garantire l'accesso al sistema tramite payload.
- Carico utile: Come accennato in precedenza, i carichi utili ti aiutano a raggiungere l'obiettivo desiderato di attaccare il sistema di destinazione. Ciò significa che ti aiuteranno a ottenere una shell interattiva o ti aiuteranno a mantenere una backdoor, eseguire un comando o caricare malware, ecc. Metasploit offre due tipi di payload: payload stageless e payload con stage.
- Inviare: Il modulo di post-sfruttamento ti aiuterà a raccogliere ulteriori informazioni sul sistema. Ad esempio, può aiutarti a scaricare gli hash delle password e cercare le credenziali dell'utente per lo spostamento laterale o l'escalation dei privilegi.
È possibile utilizzare i seguenti comandi per visualizzare ciascun modulo e le relative categorie:
cd /usr/share/metasploit-framework/modules
ls
albero -L 1 nome-modulo/
Per iniziare a utilizzare l'interfaccia Metasploit, apri il terminale Kali Linux e digita msfconsole.
Per impostazione predefinita, msfconsole si apre con un banner; per rimuoverlo e avviare l'interfaccia in modalità silenziosa, utilizzare il msfconsole comando con il -Q bandiera.
L'interfaccia sembra una shell della riga di comando di Linux. Alcuni comandi Linux Bash che supporta sono ls, clear, grep, history, jobs, kill, cd, exit, ecc.
Tipo aiuto o un punto interrogativo"?" per vedere l'elenco di tutti i comandi disponibili che puoi usare all'interno di msfconsole. Alcuni dei più importanti che useremo in questo articolo sono:
Comando | Descrizione |
---|---|
ricerca | Consente di eseguire ricerche dal database Metasploit in base al protocollo/applicazione/parametro specificato |
uso | Consente di scegliere un modulo particolare e cambia il contesto in comandi specifici del modulo |
Informazioni | Fornisce informazioni sul modulo selezionato |
mostrare | Visualizza le informazioni sul nome del modulo specificato e le opzioni per il modulo corrente |
dai un'occhiata | Verifica se il sistema di destinazione ha una vulnerabilità |
impostato | È una variabile specifica del contesto che configura le opzioni per il modulo corrente |
non settato | Rimuove i parametri precedentemente impostati |
correre | Esegue il modulo corrente |
Prima di iniziare, configura il database Metasploit da avviare il server PostgreSQL e inizializzare il database msfconsole come segue:
systemctl avvia postgresql
msfdb init
Ora controlla lo stato del database inizializzando msfconsole ed eseguendo il file stato_db comando.
A scopo dimostrativo, configurare la macchina Linux vulnerabile open source Metasploitable2.
Ricognizione MySQL con msfconsole
Trovare la Indirizzo IP della macchina Metasploitable primo. Quindi, usa il db_nmap comando in msfconsole con flag Nmap per scansionare il database MySQL su 3306 porta.
db_nmap -sV -sC -p 3306
Puoi eseguire il normale nmap -p- comando per confermare il numero di porta del database MySQL.
Imparentato: Nmap per principianti: acquisisci esperienza pratica con la scansione delle porte
Utilizzare il ricerca opzione per cercare un modulo ausiliario per scansionare ed enumerare il database MySQL.
tipo di ricerca: MySQL ausiliario
Dall'elenco sopra, puoi usare il ausiliario/scanner/mysql/mysql_version modulo digitando il nome del modulo o il numero associato per scansionare i dettagli della versione di MySQL.
usare 11
O:
usa ausiliario/scanner/mysql/mysql_version
Ora usa il mostra le opzioni comando per visualizzare i parametri necessari per l'esecuzione del modulo corrente:
L'output mostra che l'unica opzione richiesta e non impostata è RHOSTS che è l'indirizzo IP della macchina di destinazione. Utilizzare il impostare i roditori comando per impostare il parametro ed eseguire il modulo, come segue:
L'output mostra i dettagli della versione MySQL simili a quelli di db_nmap funzione.
Account radice Bruteforce MySQL con msfconsole
Dopo la scansione, puoi anche forzare l'account root MySQL tramite Metasploit ausiliario (scanner/mysql/mysql_login) modulo.
Dovrai impostare il FILE_PASS parametro al percorso dell'elenco di parole disponibile all'interno /usr/share/wordlists:
set PASS_FILE /usr/share/wordlistss/rockyou.txt
Quindi, specificare l'indirizzo IP della macchina di destinazione con il comando RHOSTS.
impostare RHOST
Impostato BLANK_PASSWORD su true nel caso in cui non sia stata impostata alcuna password per l'account root.
imposta BLANK_PASSWORDS vero
Infine, esegui il modulo digitando correre nel terminale.
Enumerazione MySQL con msfconsole
msfconsole consente anche di enumerare il database con l'aiuto di ausiliario (admin/mysql/mysql_enum) modulo. Restituisce tutti gli account con dettagli come privilegi associati e hash delle password.
Per farlo, dovrai specificare la password, il nome utente e la variabile rhosts.
impostare la password ""
imposta il nome utente root
impostare i roditori
Infine, esegui il modulo digitando:
correre
Sfruttamento MySQL con msfconsole
Dalla fase di enumerazione, è chiaro che l'account root ha privilegi di file che consentono a un utente malintenzionato di eseguire il file caricare_file() funzione. La funzione permette di sfruttare il database MySQL caricando tutti i dati da il file /etc/password tramite il ausiliario(/admin/mysql/mysql_sql) modulo:
Ancora una volta, imposta il nome utente, la password e la variabile rhosts. Quindi, esegui una query che richiama la funzione load_file() e carica il file /etc/passwd file.
imposta sql seleziona load_file(\"/etc/password\")
I moduli Metasploit aiutano in tutte le fasi del test di penetrazione. Metasploit consente inoltre agli utenti di creare i propri moduli.
Questo articolo riassume alcuni moduli principali del framework Metasploit e mostra come scansionare, enumerare e sfruttare un database MySQL sulla macchina Metasploitable 2.
Metasploit non è l'unico strumento di test di penetrazione che utilizzerai come professionista della sicurezza informatica. Ci sono molte altre utilità con cui dovrai familiarizzare se vuoi diventare un esperto di sicurezza.
Se ti stai chiedendo come fanno i professionisti a testare la penetrazione, questa guida ti darà una mano.
Leggi Avanti
- Linux
- Hacking etico
- Hacking
- App Linux
Rumaisa è una scrittrice freelance al MUO. Ha indossato molti cappelli, da matematica a appassionata di sicurezza informatica, e ora lavora come analista SOC. I suoi interessi includono la lettura e la scrittura di nuove tecnologie, distribuzioni Linux e tutto ciò che riguarda la sicurezza delle informazioni.
Iscriviti alla nostra Newsletter
Iscriviti alla nostra newsletter per suggerimenti tecnici, recensioni, ebook gratuiti e offerte esclusive!
Clicca qui per iscriverti