Ricerca nel sito web

Installazione di Metasploit e comandi di base


“Questo tutorial spiega come installare e iniziare con i comandi Metasploit di base in Linux con un esempio di scenario reale.

Metasploit è una raccolta di vulnerabilità ed exploit per il controllo della sicurezza e lo sfruttamento delle vulnerabilità. Questo strumento aiuta gli amministratori di sistema a testare la sicurezza della rete e del dispositivo. Consente inoltre agli utenti inesperti di eseguire facilmente attacchi contro obiettivi.

Tutte le istruzioni descritte in questo documento includono schermate, che facilitano ai lettori la comprensione e l'applicazione. "

Che cos'è PostgreSQL, come è utile quando si utilizza Metasploit e come installarlo

Quando un obiettivo viene scansionato per trovare vulnerabilità o sfruttato attraverso una falla di sicurezza, le informazioni raccolte vengono salvate in un database per essere importate e utilizzate da altri strumenti di pentesting. Naturalmente, coloro che eseguono attività di pentesting possono salvare le informazioni manualmente, ma mantenere i risultati del pentesting correttamente ordinati in un database è utile per tenere traccia dell’attività, aumentare la produttività e facilitare le attività di pentesting.

Il sistema di gestione del database supportato da Metasploit è PostgreSQL e, sebbene non sia obbligatorio quando si utilizza Metasploit, è altamente consigliabile installarlo. Utilizzare Metasploit senza un sistema di gestione del database non è una decisione intelligente. Pertanto questo tutorial inizia con le istruzioni su come installare PostgreSQL prima di installare Metasploit.

Installazione di PostgreSQL su distribuzioni Linux basate su Debian (CentOS di seguito)

Su Debian e le sue distribuzioni Linux basate come Ubuntu, puoi facilmente installare PostgreSQL utilizzando il gestore pacchetti apt come mostrato nello screenshot seguente.

Nota: gli utenti CentOS possono trovare le istruzioni per installare PostgreSQL su CentOS di seguito.

Su Debian/Ubuntu esegui il seguente comando.

sudo apt install postgresql postgresql-contrib
sudo systemctl start postgresql

Istruzioni per installare PostgreSQL su CentOS

Per installare PostgreSQL su CentOS, esegui il comando mostrato di seguito.

sudo yum install postgresql-server postgresql-contrib

Quindi inizializzare il database eseguendo il comando seguente.

service postgresql initdb

Avvia il servizio utilizzando systemctl come mostrato di seguito.

sudo systemctl start postgresql

Installazione di Metasploit in Linux

Per installare Metasploit in Linux, esegui il comando mostrato di seguito.

sudo curl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb > msfinstall && chmod 755 msfinstall && ./msfinstall

Dopo aver installato Metasploit, è necessario inizializzarlo; il processo di inizializzazione creerà il database per connettersi a PostgreSQL. Esegui il comando seguente per inizializzare Metasploit.

Nota: quando esegui il comando seguente, ti verrà chiesto se desideri inizializzare il servizio web Metasploit per interagire con Metasploit tramite l'API REST. Poiché non è richiesto e molti utenti lamentano problemi durante la gestione del servizio web, il che non è rilevante per l'utilizzo di Metasploit, ho digitato l'opzione "No".

msfdb init

Una volta inizializzato Metasploit, avviatelo eseguendo il comando mostrato nell'immagine sottostante.

msfconsole

Prima di iniziare con Metasploit, controlla se è stato connesso correttamente al database eseguendo il seguente comando.

db_status

Come puoi vedere, Metasploit si è connesso con successo al database; possiamo procedere con i comandi base di Metasploit. Se ricevi errori durante il tentativo di connessione, leggi i comandi per la risoluzione dei problemi del database Metasploit qui.

Iniziare con i comandi di base di Metasploit

Questa sezione spiega i comandi di base di Metasploit, incluso un esempio pratico di utilizzo di uno scenario reale.

La tabella seguente mostra i comandi più comunemente usati di Metasploit con una breve spiegazione. Dopo la tabella puoi vedere come vengono applicati i comandi in uno scenario reale.

msfconsole

Questo comando esegue Metasploit

search

Questo comando viene utilizzato per trovare moduli ed exploit in base al nome

use

Il comando use viene utilizzato per selezionare moduli ed exploit

show options

Mostra le opzioni del modulo o dell'exploit

set RHOSTS <Target(s)>

Questo comando viene utilizzato per definire gli obiettivi

set PORTS <Ports>

Questo comando viene utilizzato per definire le porte

set THREADS <Threads>

Questo comando viene utilizzato per definire i thread

run

Il comando run viene utilizzato per eseguire i moduli

back

Il comando back ti riporta alla directory precedente

db_nmap<Flags><Target(s)>

Il comando db_nmap ti consente di utilizzare Nmap integrato

set RPORT <Target>

Questo comando viene utilizzato per definire le porte

info

Il comando info stampa informazioni sul modulo o sull'exploit

exploit

Il comando exploit esegue l'exploit selezionato

exit

Il comando exit chiude la sessione dalla destinazione o esce da Metasploit

load

Il comando load viene utilizzato per caricare i plugin

unload

Il comando unload viene utilizzato per scaricare i plugin

cd

Questo comando viene utilizzato per modificare la selezione corrente

Help / ?

Sia il comando aiuto che il simbolo ? spiegano l'utilizzo dei comandi

Esempio pratico dei comandi base di Metasploit

In questa sezione viene mostrato un esempio pratico dei primi 14 comandi Metasploit elencati nella tabella precedente.

L'indirizzo IP assegnato alla destinazione in questo esempio è 192.168.0.101.

Per iniziare, esegui Metasploit con il seguente comando.

msfconsole

Per iniziare, eseguirò una scansione delle porte sulla destinazione per scoprire le porte aperte. Metasploit include diversi scanner di porte come moduli ausiliari che possiamo scegliere per scansionare i target.

Per trovare i moduli ausiliari dei port scanner disponibili su Metasploit, viene utilizzato il comando cerca, seguito dal tipo di modulo o dalla parola chiave. In questo caso stiamo cercando un portscan; pertanto, dobbiamo eseguire il comando mostrato nell'immagine seguente.

search portscan

Come puoi vedere nello screenshot precedente, abbiamo diversi scanner di porte per scopi diversi. In questo caso, voglio eseguire una scansione TCP utilizzando il modulo auxiliary/scanner/portscan/tcp.

Per selezionare il modulo scelto, eseguirò il comando usa, seguito dal percorso del modulo come mostrato di seguito.

use auxiliary/scanner/portscan/tcp

Una volta selezionato il modulo, dobbiamo conoscere le opzioni richieste o disponibili prima di utilizzarlo, per cui utilizzeremo il comando mostra opzioni come mostrato nello screenshot qui sotto.

show options

Dalle opzioni del modulo elencate nell'immagine sopra, utilizzerò RHOSTS per definire l'indirizzo IP di destinazione, PORTS per definire un intervallo di porte e THREADS per definire il numero di attività simultanee. Quindi avvierò il processo di scansione eseguendo il comando Esegui.

Ad eccezione del comando run utilizzato in questo esempio, RHOSTS, PORTS, e THREADS devono essere precedute dal comando set illustrato nei comandi base di Metasploit tavolo.

La sintassi dell'opzione RHOSTS per definire un target è mostrata di seguito, dove <Target(s)> deve essere sostituito con uno o più host di destinazione o Indirizzi IP. Nel mio caso, come mostrato nella figura seguente, l'indirizzo IP di destinazione è 192.168.0.101.

set RHOSTS <Target(s)>

Di seguito puoi vedere la sintassi dell'opzione PORTS, dove <Ports> deve essere sostituito dalla porta o dall'intervallo di porte che desideri scansionare. Per questo esempio, ho definito un intervallo di porte compreso tra 20 e 100.

set PORTS <Ports>

L'opzione THREADS consente di definire il numero di thread; Ne ho selezionati 10.

set THREADS <Threads>

Dopo aver definito le opzioni menzionate in precedenza, eseguo la scansione utilizzando il comando esegui. Puoi vedere l'intero processo nella figura seguente.

run

Come puoi vedere, le porte 23, 21, 22, 25, 53 e 80 sono aperte nel target. Ma voglio conoscere le versioni del servizio in ascolto su ciascuna porta aperta, per la quale utilizzerò Nmap all'interno di Metasploit.

Utilizzerò il comando back per tornare al contesto iniziale per una visualizzazione più comoda.

back

Come ho detto, l'output della scansione precedente riportava porte aperte. Ma voglio saperne di più sui servizi dietro queste porte aperte usando Nmap.

Il comando db_nmap esegue Nmap da Metasploit. Nell'esempio seguente, avvierò una scansione dell'impronta. In questo tutorial, non spiegherò i flag di Nmap, ma puoi imparare l'impronta con Nmap in questo articolo che abbiamo pubblicato su LinuxHint.

La sintassi è semplice, esegui db_nmap seguito dai flag desiderati e dall'indirizzo IP di destinazione come mostrato di seguito.

db_nmap -sC -sV -O 192.168.0.101

Come puoi vedere nella figura precedente, la versione del servizio FTP in esecuzione sulla porta 21 è vsftpd 2.3.4.

Dopo aver appreso che il nostro obiettivo sta eseguendo vsftpd, possiamo utilizzare il comando search per vedere le risorse disponibili per eseguire un attacco contro il software identificato.

search vsftp

Metasploit ha restituito un exploit disponibile (exploit/unix/ftp/vsftpd_234_backdoor) che possiamo utilizzare contro il server FTP vsftpd 2.3.4.

In precedenza ho eseguito il comando usa per selezionare un modulo. Ora eseguirò il comando use per selezionare l'exploit disponibile, come mostrato nella figura seguente. La sintassi è la stessa; esegui il comando use seguito dal percorso completo dell'exploit.

use exploit/unix/ftp/vsftpd_234_backdoor

Dopo aver selezionato l'exploit, eseguirò il comando mostra opzioni per visualizzare le opzioni dell'exploit.

show options

Come puoi vedere nella figura precedente, le opzioni sono RHOSTS per definire il target e RPORT per definire le porte . Sia la destinazione che la porta sono già selezionate. Il target viene recuperato dalla nostra attività precedente, mentre la porta è la porta FTP predefinita; se fosse diverso, eseguirei l'opzione set RPORT per modificarlo.

Il comando info mostra informazioni aggiuntive sull'exploit o sul modulo selezionato. Di seguito puoi vedere un esempio dell'output del comando info.

info

Se volessi definire un target diverso, eseguiresti il comando seguente.

set RHOSTS 192.168.0.101

Una volta definiti target e porta, esegui il comando exploit per avviare l'exploit.

exploit

Come puoi vedere, ho una shell remota nel target. Il comando ls mostra le principali directory di destinazione. L'obiettivo è stato violato con successo.

Per disconnettermi dalla destinazione, eseguo il comando exit.

exit

Per uscire da Metasploit utilizzare anche il comando exit.

exit

È tutto per ora; l'esempio sopra riportato include i comandi più utilizzati per iniziare con Metasploit.

Comandi per la risoluzione dei problemi Metasploit e PostgreSQL

Molti utenti lamentano problemi durante la connessione al database. Di seguito elenco alcuni comandi che puoi utilizzare nel caso insorgessero problemi durante la connessione di Metasploit al database.

service postgresql restart

Riavviare PostgreSQL

msfdbreinit

Rimuovere e reinizializzare il database

msfdb delete

Rimuovere la banca dati

msfdbinit

Inizializza il database (esegui dopo l'eliminazione di msfdb)

msfdb status

Mostra lo stato del database

msfdb run

Avvia il database ed esegui Metasploit

In caso di problemi, provare a utilizzare i comandi nell'ordine della tabella. Innanzitutto, prova a riavviare PostgreSQL. Se il problema persiste, provare a reinizializzare il database. Se il problema persiste, rimuovere il database e reinizializzarlo. Utilizza il comando msfdb status per verificare lo stato dopo ciascun comando.

Conclusione

Metasploit è uno degli strumenti di pentesting più popolari per il controllo di sicurezza. Insieme a Nmap, porta a risorse di sicurezza multitasking. Metasploit può essere utilizzato sia per scopi difensivi che offensivi. Come puoi vedere, utilizzarlo non è difficile; gli utenti devono solo incorporare un po' di conoscenza pratica se hanno già familiarità con il networking e la programmazione. Metasploit è disponibile anche per Mac OS e Microsoft Windows.

Grazie per aver letto questo tutorial che spiega l'installazione di Metasploit e i comandi di base. Continua a seguirci per ulteriori suggerimenti ed esercitazioni professionali su Linux.

Articoli correlati: