Metasploit: cos’è e come funziona

Metasploit? cos’è?

Metasploit è un potente framework multipiattaforma, disponibile anche per windows. Permette lo sviluppo di exploit volti a prendere il controllo totale della macchina remota e non solo. E’ uno strumento creato al fine di testare la sicurezza di un sistema (Penetration Testing), offre strumenti di anti-rilevamento ed elusione.

Come funziona

La guida è rivola a chi sta utilizzando metasploit su kali linux.

Per prima cosa andiamo a creare un database SQL.

Digitiamo in terminale quanto segue:

su

Inseriamo la password dell’utente root scelta durante l’installazione (default toor)

Digitiamo:

systemctl start postgresql

msfconsole

db_status

Se tutto è andato bene riceveremo questa risposta:

[*] postgresql connected to msf

Usciamo con il comando:

exit

Avviamo  msfvenom (è il piano di lavoro, qui creiamo i nostri payload)

msfvenom

Riceveremo questa schermata:

Opzioni:
    -p, --payload Payload da usare. Specificare un '-' o stdin per utilizzare i payload personalizzati
        --payload-options Elenca le opzioni standard del payload
    -l, --list [tipo] Elenca un tipo di modulo. Le opzioni sono: payload, encoder, nops, tutti
    -n, --nopsled Prepara una dimensione di dimensione [lunghezza] sul payload
    -f, --format Formato di output (usa --help-formats per una lista)
        --help-formats Elenca i formati disponibili
    -e, --encoder L'encoder da utilizzare
    -a, --arch L'architettura da usare
        --platform La piattaforma del payload
        --help-platform Elenca le piattaforme disponibili
    -s, --space La dimensione massima del payload risultante
        --encoder-space La dimensione massima del payload codificato (predefinito per il valore -s)
    -b, --bad-chars L'elenco di caratteri da evitare ad esempio: '\ x00 \ xff'
    -i, --iterations Il numero di volte per la codifica del carico utile
    -c, --add-code Specifica un ulteriore file shellcode win32 da includere
    -x, --template Specifica un file eseguibile personalizzato da utilizzare come modello
    -k, --keep Mantiene il comportamento del template e inietta il payload come nuovo thread
    -o, --out Salva il carico utile
    -v, --var-name Specifica un nome di variabile personalizzato da utilizzare per determinati formati di output
        --smallest Genera il minimo carico utile possibile

Digitando il seguente comando verrà ritornata in output la lista dei payload che potrebbero essere creati attraverso msfvenom.

msfvenom -l -p

Risponderà con più di 500 possibili scelte:

Framework Payloads (503 total)
==============================

La lista delle piattaforme è praticamente completa:

  • Cisco
  • OSX
  • Solaris
  • BSD
  • OpenBSD
  • hardware
  • Firefox
  • BSDi
  • NetBSD
  • NodeJS
  • FreeBSD
  • Python
  • AIX
  • JavaScript
  • HPUX
  • PHP
  • Irix
  • Unix
  • Linux
  • Ruby
  • Java
  • Android
  • Netware
  • Windows
  • mainframe
  • multi