“Questo tutorial spiega come installare e iniziare con i comandi di base Metasploit in Linux con un vero esempio di scenario.
MetaSploit è una raccolta di vulnerabilità e exploit per l'audit di sicurezza e lo sfruttamento della 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, rendendo facile per i lettori capirli e applicarli."
Cos'è PostgreSQL, come è utile quando si utilizza Metasploit e come installarlo
Quando viene scansionato un obiettivo per trovare vulnerabilità o sfruttato attraverso un foro di sicurezza, le informazioni raccolte vengono salvate in un database per essere importati e utilizzati da altri strumenti di cima. Naturalmente, coloro che eseguono compiti di pentesima possono salvare le informazioni manualmente, ma mantenere i risultati di pentesting correttamente ordinati in un database è utile per monitorare l'attività, aumentare la produttività e alleviare le attività di pentesima.
Il sistema di gestione del database supportato da Metasploit è PostgreSQL e sebbene non sia obbligatorio quando si utilizza Metasploit, si consiglia vivamente di installarlo. L'uso di 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 Distribuzioni Linux di Debian e basate come Ubuntu, è possibile installare facilmente PostgreSQL utilizzando il gestore di pacchetti APT come mostrato nella seguente screenshot.
Nota: Centos Gli utenti possono trovare istruzioni per installare PostgreSQL Centos sotto.
SU Debian/Ubuntu Esegui il seguente comando.
Sudo APT Installa PostgreSQL PostgreSql-Contrib sudo SystemCtl Avvia PostgreSqlIstruzioni per installare PostgreSQL su CentOS
Per installare PostgreSQL su CentOS, eseguire il comando mostrato di seguito.
Sudo Yum Installa PostgreSQL-Server PostgreSQL-ContribQuindi inizializza il database eseguendo il comando seguente.
SERVIZIO POSTGRESQL INITDBAvviare il servizio utilizzando SystemCtl come mostrato di seguito.
sudo systemctl avvia postgresqlInstallazione di Metasploit in Linux
Per installare Metasploit in Linux, eseguire il comando mostrato di seguito.
sudo curl https: // raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/modello/metasploit-framework-wrappers/msfupdate.Erb> msfinstall && chmod 755 msfinstall && ./msfinstallDopo 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 si esegue il comando di seguito, ti verrà chiesto se si desidera inizializzare il servizio Web Metasploit per interagire con Metasploit tramite l'API REST. Dal momento che non è necessario e molti utenti si lamentano di problemi quando si tratta di WebService, il che non è rilevante per l'utilizzo di Metasploit, ho digitato il "NO" opzione.
MSFDB initUna volta inizializzato Metasploit, avvialo eseguendo il comando mostrato nell'immagine seguente.
msfconsolePrima di iniziare con Metasploit, controlla se è stato collegato correttamente al database eseguendo il comando seguente.
db_statusCome puoi vedere, Metasploit è collegato correttamente al database; Possiamo procedere con i comandi di base Metasploit. Se si ottengono errori quando si tenta di connetterti, leggi i comandi di risoluzione dei problemi del database Metasploit qui.
Introduzione ai comandi di base Metasploit
Questa sezione spiega i comandi di base Metasploit, incluso un esempio di utilizzo pratico di scenario.
La tabella seguente mostra i comandi di Metasploit più comunemente usati con una breve spiegazione. Dopo la tabella, puoi vedere come i comandi vengono applicati in uno scenario reale.
Comando metasploit | Breve descrizione |
msfconsole | Questo comando esegue Metasploit |
ricerca | Questo comando viene utilizzato per trovare moduli e exploit per nome |
utilizzo | IL utilizzo Il comando viene utilizzato per selezionare moduli e exploit |
Mostra opzioni | Mostra il modulo o le opzioni di exploit |
Imposta rhosts <Target (s)> | Questo comando viene utilizzato per definire gli obiettivi |
Imposta le porte <Porti> | Questo comando viene utilizzato per definire le porte |
Imposta thread <Discussioni> | Questo comando viene utilizzato per definire i thread |
correre | IL correre Il comando viene utilizzato per eseguire i moduli |
Indietro | IL Indietro Il comando ti riporta alla directory precedente |
db_nmap<Bandiere><Target (i)> | IL db_nmap Il comando consente di utilizzare NMAP integrato |
Imposta rport <Bersaglio> | Questo comando viene utilizzato per definire le porte |
informazioni | Il comando info stampa il modulo o le informazioni di sfruttamento |
impresa | IL impresa Il comando esegue lo exploit selezionato |
Uscita | IL Uscita Il comando chiude la sessione da Target o esce da Metasploit |
carico | Il comando di caricamento viene utilizzato per caricare i plugin |
scaricare | Il comando di scarico viene utilizzato per scaricare i plugin |
CD | Questo comando viene utilizzato per modificare la selezione corrente |
Aiuto / ? | Entrambi aiuto comando e ? il simbolo spiega l'uso dei comandi |
METASPLOIT COMANDI DI BASIC ESEMPIO
Questa sezione mostra un esempio pratico dei primi 14 comandi Metasploit elencati nella tabella precedente.
L'indirizzo IP assegnato target in questo esempio è 192.168.0.101.
Per iniziare, eseguire Metasploit con il seguente comando.
msfconsolePer iniziare, eseguirò una scansione delle porte contro il target per scoprire le porte aperte. Metasploit include diversi scanner di porte come moduli ausiliari che possiamo scegliere di scansionare gli obiettivi.
Per trovare i moduli ausiliari di Metasploit Port Scanners, il ricerca Viene utilizzato il comando, 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.
Cerca PortScanCome puoi vedere nello screenshot precedente, abbiamo diversi scanner di porte per scopi diversi. In questo caso, voglio eseguire una scansione TCP usando il ausiliario/scanner/portscan/TCP modulo.
Per selezionare il modulo scelto, eseguirò il utilizzo comando, seguito dal percorso del modulo come mostrato di seguito.
Utilizzare ausiliari/scanner/portscan/TCPUna volta selezionato il modulo, dobbiamo conoscere le opzioni richieste o disponibili prima di utilizzarlo, per le quali useremo il Mostra opzioni comando come mostrato nello screenshot seguente.
Mostra opzioniDalle opzioni del modulo elencate nell'immagine sopra, userò Rhosts Per definire l'indirizzo IP di destinazione, Porti definire una gamma di porte e Discussioni Per definire il numero di compiti simultanei. Quindi avverterò il processo di scansione eseguendo il comando di esecuzione.
Tranne il correre comando usato in questo esempio, Rhosts, Porti, E Discussioni Le opzioni devono essere precedute dal impostato comando raffigurato nella tabella dei comandi di base Metasploit.
IL Rhosts La sintassi dell'opzione per definire un target è mostrata di seguito, dove <Target (i)> deve essere sostituito con uno o più host target o indirizzi IP. Nel mio caso, come mostrato nella figura seguente, l'indirizzo IP di destinazione è 192.168.0.101.
Imposta rhostsDi seguito puoi vedere il Porti Sintassi dell'opzione, dove <Porti> deve essere sostituito dalla porta o dall'intervallo di porta che si desidera scansionare. Per questo esempio, ho definito una porta da 20 a 100.
Imposta le porteIL Discussioni l'opzione consente di definire il numero di thread; Ho selezionato 10.
Imposta threadDopo aver definito le opzioni precedentemente menzionate, eseguo la scansione utilizzando il correre comando. Puoi vedere l'intero processo nella figura seguente.
correreCome puoi vedere, le porte 23, 21, 22, 25, 53 e 80 sono aperte nel bersaglio. Ma voglio conoscere le versioni di servizio che ascoltano su ogni porta aperta, per la quale userò NMAP all'interno di Metasploit.
Userò il comando posteriore per tornare al contesto iniziale per una vista più comoda.
IndietroCome ho detto, l'output di scansione precedente ha riportato porte aperte. Ma voglio saperne di più sui servizi dietro queste porte aperte usando NMAP.
IL db_nmap Il comando esegue NMAP da Metasploit. Nell'esempio seguente, lancerò una scansione. In questo tutorial, non spiegherò le bandiere NMAP, ma puoi imparare la footprinting 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.101Come puoi vedere nella figura precedente, la versione del servizio FTP in esecuzione nella porta 21 è vsftpd 2.3.4.
Dopo aver appreso il nostro obiettivo è in esecuzione vsftpd, Possiamo usare il ricerca comando per vedere le risorse disponibili per eseguire un attacco contro il software identificato.
Cerca VSFTPMetasploit ha restituito un exploit disponibile (exploit/unix/ftp/vsftpd_234_backdoor) Possiamo usare contro il server FTP vsftpd 2.3.4.
In precedenza ho eseguito il utilizzo comando per selezionare un modulo. Ora eseguirò il utilizzo comando per selezionare lo exploit disponibile, come mostrato nella figura seguente. La sintassi è la stessa; corri il utilizzo comando seguito dal percorso completo di exploit.
Usa exploit/unix/ftp/vsftpd_234_backdoorDopo aver selezionato lo exploit, eseguirò il Mostra opzioni comanda per visualizzare le opzioni di exploit.
Mostra opzioniCome puoi vedere nella figura precedente, le opzioni sono Rhosts per definire il bersaglio e Rport per definire le porte. Sia target che porta sono già selezionati. L'obiettivo è recuperato dalla nostra attività precedente, mentre la porta è la porta FTP predefinita; Se fosse diverso, eseguirei il Imposta rport Opzione per cambiarlo.
IL informazioni Il comando mostra ulteriori informazioni sull'exploit o sul modulo selezionato. Di seguito puoi vedere un esempio del informazioni output del comando.
informazioniSe volessi definire un target diverso, eseguiresti il seguente comando.
Set rhosts 192.168.0.101Una volta definiti target e porta, eseguire il impresa comando per avviare lo exploit.
impresaCome puoi vedere, ho ottenuto un guscio remoto nel bersaglio. IL ls Il comando mostra le principali directory di destinazione. L'obiettivo è stato violato con successo.
Per disconnettersi dal bersaglio, gestisco il Uscita comando.
UscitaPer uscire da Metasploit, usa anche il comando di uscita.
UscitaÈ tutto per ora; L'esempio sopra indicato include i comandi più usati per iniziare con Metasploit.
Comandi di risoluzione dei problemi di Metasploit e PostgreSQL
Molti utenti si lamentano di problemi quando si collegano al database. Qui elenco alcuni comandi che puoi usare se si verificano problemi quando si collegano Metasploit al database.
MSFDB Comandi di risoluzione dei problemi | Descrizione |
SERVIZIO POSTGRESQL Riavvia | Riavvia PostgreSQL |
msfdbreinit | Rimuovere e reinizializzare il database |
MSFDB Elimina | Rimuovere il database |
msfdbinit | Inizializza il database (eseguito dopo MSFDB ELETE) |
Stato MSFDB | Mostra lo stato del database |
MSFDB Run | Avviare il database ed eseguire Metasploit |
In caso di problemi, prova a utilizzare i comandi nell'ordine della tabella. Innanzitutto, prova a riavviare PostgreSQL. Se questo non funziona, prova a reinizializzare il database. Se il problema persiste, rimuovi il database e reinizializzarlo. Usa il Stato MSFDB comando per controllare lo stato dopo ogni comando.
Conclusione
Metasploit è uno degli strumenti di pentesting più popolari per il controllo della sicurezza. Insieme a NMAP, porta a risorse di sicurezza multitasking. Metasploit può essere utilizzato sia per scopi difensivi che offensivi. Come puoi vedere, usarlo non è difficile; Gli utenti devono solo incorporare una piccola 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 spiegando l'installazione di Metasploit e i comandi di base. Continua a seguirci per ulteriori suggerimenti e tutorial professionali Linux.