COMANDOS Y CONCEPTOS BASICOS
MetaSploit permite ser ejecutado de diferentes formas, desde linea de comandos con msfcli, en donde se aceptan cada uno de los comandos metasploit de forma independiente, por interfaz web (deprecada en las últimas versiones y disponible únicamente en versiones antiguas), o por medio de la consola unificada de metasploit llamada msfconsole (se trata de un interprete de comandos bastante robusto que es el sustituto de la interfaz web), esta última es la mas utilizada por aquellos que utilizan metasploit para realizar sus pruebas de penetración.
AUXILIARY: Un Auxiliary es un programa que permite obtener información sobre el objetivo con el fin de determinar posibles vulnerabilidades que le puedan afectar, este tipo de programas son útiles para establecer una estrategia de ataque sobre un sistema objetivo, o el caso de un responsable de seguridad, definir medidas defensivas que permitan mitigar amenazas sobre un sistema vulnerable. También permite definir una serie de exploits que son lanzados contra el objetivo con el fin de probar si alguno de ellos puede comprometer el objetivo y conseguir ejecutar un payload dado.
EXPLOIT: Un exploit es un programa que explota una o varias vulnerabilidades en un software determinado, frecuentemente es utilizado para ganar acceso a un sistema y tener un nivel de control sobre él.
PAYLOAD: Un Payload, es un programa que acompaña a un exploit para realizar funciones especificas una vez el sistema objetivo es comprometido, la elección de un buen payload es una decisión muy importante a la hora de aprovechar y mantener el nivel de acceso obtenido en un sistema. En muchos sistemas existen firewalls, Antivirus y sistemas de detección de intrusos que pueden dificultar la actividad de algunos payloads, por este motivo se suelen utilizar encoders para intentar evadir cualquier AV o Firewall.
COMANDOS DE MSFCONSOLE:
help: Tal como su nombre indica permite obtener ayuda en un contexto determinado (exploit o module).
back: Permite salir del contexto actual de ejecución (exploit o module)
check: Aunque no todos los exploits lo soportan, permite ver si un objetivo determinado es vulnerable al exploit que se encuentra actualmente seleccionado en la consola.
connect: Al igual que realizamos una conexión por medio de telnet o netcat, este comando nos permite conectarnos a un host remoto y enviar ficheros si es lo que deseamos, también soporta SSL si se le indica la opción -s
msf> connect 192.168.1.34 23
exploit: Comando utilizado para realizar la ejecución del exploit cargado en el contexto de la consola.
run: Comando utilizado para realizar la ejecución del módulo/auxiliary cargado en el contexto de la consola.
irb: Permite ejecutar el interprete de Ruby para metasploit, de este modo se pueden ingresar comandos y crear scripts al vuelo, esta característica es muy interesante para conocer la estructura interna del framework.
jobs: Se trata de módulos que se encuentran en ejecución en “background” este comando permite listar y terminar comandos existentes.
load: Permite cargar un plugin desde el directorio de plugins ubicado en la ruta de instalación, recibe como parámetro el nombre del plugin.
unload: Descarga un plugin cargado, recibe como parámetro el nombre del plugin a descargar.
loadpath: Trata de cargar un directorio donde se encuentran ubicados módulos, plugins o exploits externos al framework, de esta forma podemos tener exploits, payloads, etc. en un directorio independiente.
resource: Carga un fichero de script que es posteriormente utilizado por algún exploit o modulo que depende de él.
route: Permite establecer las tablas de enrutamiento de las sesiones de Metasploit generadas. Funciona similar al comando route de Linux, permite adicionar subredes, mascaras de red y gateways.
info: Despliega información adicional de un módulo o exploit seleccionado anteriormente en la consola, incluyendo todas las opciones, objetivos y otra información.
set: Permite establecer opciones del modulo o exploit seleccionado con el fin de suministrar los datos necesarios para su correcta ejecución.
unset: Elimina el valor actual de una variable del exploit o módulo en uso.
sessions: Permite listar, interactuar y terminar sesiones generadas por módulos o exploits, estas sesiones pueden ser consolas a máquinas remotas VNC, etc. con la opción -l se pueden listar las sessiones generadas, -i <number> permite iniciar la interacción con el número de consola establecido.
search: permite ejecutar una búsqueda basada en expresiones regulares con un texto que pueda coincidir con el nombre de un módulo o exploit.
show: Permite mostrar las diferentes opciones para módulos, exploits y payloads.
msf> show auxiliary
msf> show exploits
msf> show payloads
msf> show options
msf> show targets
msf> show advanced
msf> show encoders
msf> show nops
msf> show evasion

setg: Permite definir variables globales que serán empleadas por todos los módulos o exploits cargados, de esta forma es posible definir variables bastante comunes como LHOST, RHOST, LPORT, RPORT, etc. en una única interacción con la consola sin escribir lo mismo una y otra vez.
save: Permite almacenar de forma permanente las variables globales establecidas con el comando setg y las variables especificas de cada exploit en uso.
use: Permite establecer el exploit o modulo a usar en la consola de metasploit.