Docly Child

4.3.4.1. Reverse vs Bind payload

Para muchos de los payloads de Metasploit (MSFvenom) existe versión bind o reverse, ya sea para obtener una shell o una sesión de meterpreter en diferentes formatos y plataformas y para diferentes protocolos para establecer un canal de comunicación (tcp, http, etc.). Se puede distinguir claramente por la descripción del módulo (subrayado en negrita), por ejemplo:

				
					linux/x86/shell_bind_tcp
linux/x86/shell_reverse_tcp

				
			

O:

				
					java/meterpreter/reverse_tcp
java/meterpreter/bind_tcp

				
			

Como ya se ha visto en los ejemplos del punto anterior, la principal diferencia radica en que en el modo reverse es el target quien realiza una petición de conexión hacía un equipo remoto controlado por el eventual pentester, mientras que en el modo bind es el target quien establece al inicio de forma local un socket para la comunicación. En el siguiente punto se profundizará en cómo actúa la carga útil (payload) en un contexto de explotación de una vulnerabilidad de tipo de RCE (Remote Code Execution), distinguiendo entre otros dos tipos de payload (staged vs stageless), pero el proceso es similar tanto si es bind como reverse, salvo por la diferencia indicada al principio del párrafo.

Reverse vs Bind payload

Una distinción práctica entre bind vs reverse se ve en las opciones básicas para cualquier muestra de payload en sus dos versiones. Mientras que en el modo reverse es obligatorio definir un host (LHOST) controlado por el pentester a partir de una IP o dominio al tener que hacer la petición el target, en bind este parámetro no será necesario (la dirección del target ya se incluye en los parámetros del Exploit).

Reverse vs Bind payload options

Ante las opciones disponibles, al final escoger uno u otro formato dependerá del escenario. En el siguiente cuadro se muestran algunas de las ventajas y desventajas, normalmente relacionadas con la ocultación de identificación del pentester y su IP o evasión de sistemas antiintrusión:

Tipo de payload

Ventajas

Desventajas

Métodos para eludir desventajas

Reverse

Permite eludir el Antivirus y Firewall en la mayoría de casos.

Hay que informar una IP, dominio o dirección de un host controlado por el pentester.

No se puede usar de forma directa con un proxy, torificación de la red o similar junto al Exploit (i.e., poner como parámetro LHOST la dirección de un proxy, etc.).

Crear un sistema de hosts y sockets para enlazar la petición de comunicación  desde un host externo hacia el host del pentester.

Bind

No es necesario setear de forma explícita una IP del pentester.

Junto al Exploit, se puede combinar con algún sistema de ocultación de IP (torificación de red, proxy…).

Susceptible de ser bloqueado fácilmente por Antivirus o Firewall.

Aunque se pueda ocultar la IP, la  acción del exploit quedará registrado en algún log junto a la IP usada.

No existe un método fiable si no es previamente desactivando las opciones antiintrusos del target, cosa que no siempre es posible.

A continuación se muestran algunas técnicas en Internet para eludir las principales desventajas de las payload, aunque no siempre resultan infalibles