ACTUALIZADO A DÍA 28/01/2021
COMANDOS Y CONCEPTOS BÁSICOS
MetaSploit Framework se puede ejecutar de diferentes formas:
- Utilizando msfconsole y lanzando una a una las instrucciones desde el interprete, algo que resulta cómodo y conocido.
- Desde línea de comandos con msfconsole y la opción «-x», en donde se admiten cada una de las instrucciones que ejecutará el interprete de forma automática. Por ejemplo, se podría lanzar el comando msfconsole -x «use exploit/multi/handler; set PAYLOAD windows/x64/meterpreter/reverse_tcp; set LHOST 10.10.10.10; set LPORT 4444; exploit -j». Estas instrucciones se ejecután de forma secuencial, por lo tanto no será necesario escribir una a una desde el interprete de meterpreter.
- Utilizando un «resource bundle» que representa una forma muy similar al uso de la opción «-x», solamente que en este caso se utiliza la opción «-r» y se envía un fichero de texto, que típicamente tendrá extensión «.rb» aunque no es obligatorio. Dicho fichero tendrá en cada línea, una instrucción valida para el interprete de msfconsole y dichas instrucciones se ejecutarán de forma secuencial, por lo tanto, del mismo modo que ocurre con la opción «-x» el orden es importante.
En Metasploit Framework existen algunos conceptos que hay que tener claros, a continuación se explican rápidamente.
AUXILIARY: Un módulo auxiliar es un programa que permite obtener información sobre el objetivo con el fin de detectar posibles vulnerabilidades o fugas de información, este tipo de programas son útiles para establecer una estrategia de ataque sobre un sistema objetivo. Son especialmente útiles en la etapa de fingerprinting para facilitar el proceso de enumeración de posibles vulnerabilidades y posterior explotación.
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: La carga útil representa un conjunto de instrucciones que acompañan a un exploit y que se ejecutarán para aprovechar la vulnerabilidad. La elección de un buen payload es una decisión muy importante a la hora de mantener el nivel de acceso obtenido en un sistema. En el entorno del sistema comprometido pueden existir mecanismos de seguridad perimetral que pueden dificultar la actividad de muestras maliciosas, por este motivo algunos payloads se ejecutan completamente en memoria y no escriben nada en disco para evitar la detección (fileless) y además, pueden incluir rutinas de ofuscación que hacen puedan pasar inadvertidos más fácilmente.