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.

instagram viewer

È 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.

I 10 migliori strumenti di test di penetrazione per i professionisti della sicurezza

Se ti stai chiedendo come fanno i professionisti a testare la penetrazione, questa guida ti darà una mano.

Leggi Avanti

CondividereTwittaE-mail
Argomenti correlati
  • Linux
  • Hacking etico
  • Hacking
  • App Linux
Circa l'autore
Rumaisa Niazi (11 articoli pubblicati)

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.

Altro da Rumaisa Niazi

Iscriviti alla nostra Newsletter

Iscriviti alla nostra newsletter per suggerimenti tecnici, recensioni, ebook gratuiti e offerte esclusive!

Clicca qui per iscriverti