El arte del pivoting, como bien digo es un arte. La técnica permite desde un ordenador primario acceder a otros equipos dentro de una red con el fin de agrandar el número de pwnd host y con ello las posibilidades de adquirir información y recursos.


La realización de un pivoting hoy en día significa un gran fallo tanto en los sistemas de seguridad como en las políticas de seguridad de las organizaciones. Hace unos meses el malware del tipo crypter Wanacry sacudió los sistemas informáticos de medio mundo; entre sus fases se encontraba el pivoting a todos los equipos de la red infectada mediante una vulnerabilidad en el protocolo Smb que hace referencia a los recursos compartidos entre equipos.

Pues bien, vamos a intentar comprender cómo se lleva a cabo un pivoting en dos redes WAN. Supongamos que ya poseemos una máquina comprometida y sobre la cual tenemos control, en principio no es necesario poseer NT/AUTHORITY (Es mucho más divertido explotar todas las vulnerabilidades).

En este punto debemos crear un vínculo es las tablas ARP para que las conexiones vallan dirigidas a un segmento de Internet determinado(Direccionamiento WAN al Target), esto lo genera la sesión de la primera víctima, pero también se necesita un ruteo en la tabla ARP hacia la red privada del objetivo(Direccionamiento LAN al Target). Esto se consigue añadiendo un ruteo hacía la red interna del Target sobre la sesión.

Esto es posible gracias a que la obtención de las tablas ARP, no requieren de privilegios para ser visualizadas sobre la 1º victima,  digamos que de alguna manera creamos una interfaz de red virtual dentro de la red privada de la víctima sobre la cual actuaremos para seguir con el pivoting.

Cabe destacar que las peticiones a las redes privadas del target viajarán por la sesión primaria que tenemos abierta, con lo que si se pierde esa sesión sin haber ganado otra el trabajo se autodetermina como imposible, si no poseen servicios vulnerables que hallamos descubierto en el siguiente proceso.

Comprendido esto, usaremos los auxilares para manejarnos con la técnica, los sanners son un buen medio para comenzar a buscar las vulnerabilidades que posee la red local víctima.

Cuando se tienen claros los objetivos que pueden ser pwneados (Muchas veces se obtienen falsos positivos…), debemos seleccionar el exploit que se va a emplear para la tarea, aunque, lo realmente importante es la selección del payload, cuando en la mayoría de las ocasiones utilizamos payloads del tipo reverse, en este caso debemos usar los del tipo bind, y os explicaré por qué, los tipo reverse los dejamos a la escucha en primer lugar los atacantes a la espera que se abra la conexión en la parte de máquina víctima.

En los tipo bind, el funcionamiento es al revés, es la máquina atacante es la que está a la escucha para que el equipo víctima se conecte a nosotros(Es una explicación bastante utópica, pero funciona así, cambia el orden del socket que espera que le abran la conexión, digamos que el rol de servidor cambia y pasa a poseerlo la víctima), claramente esto lo genera el exploit que lanzamos para abrir la sesión. Que quede claro, el bind es para el equipo al que pivotamos exclusivamente, para la primera infección yo con lo que más cómodo estoy es la reverse.

Una vez tenemos el exploit con un payload del tip bind y poseemos la ip interna del equipo vulnerable al que se desea pivotar, solo queda lanzar el ataque y recibir la Shell. (La Conexión bind debe ir por un puerto diferente a la conexión del 1º payload).

Parte de esta investigación se la debo a mi compadre Matias que se ha peleado hasta lograr explotar un eternalblue con este método.

Saludos a todos ustedes.

Anuncios