Escalar de un Dominio a otro

El presente artículo describe una técnica que podría utilizar un pentester para tomar control de más de un dominio en una empresa, identificando las relaciones de confianza de un dominio al que se ganó acceso, y aprovechándose del eslabón más débil en la cadena de la Seguridad Informática (El humano).

 

 

 

 

 

Descripción:

 

En muchas ocasiones, cuando durante un test de intrusión tomamos control de un “Controlador de Dominio”, pensamos que no se puede hacer nada más, pues tenemos el máximo control. Sin embargo, siempre se puede ir un poco más allá.

 

En este artículo se mostrará como un atacante que ya logró tomar control de un dominio (en este caso “LAB. COM”)podría apoderarse de otro dominio sobre el cual existe una relación de confianza. Recordemos que las relaciones de confianza son utilizadas, por ejemplo, para compartir recursos.

 

Teniendo en cuenta esto, las tareas del atacante ahora se centrarán en saber si existen relaciones de confianza, y con qué dominio.

 

 

Explotación:

 

Para esto podría usar la herramienta “NLTEST”  que viene instalada en Windows Server, o ir ala configuración de “Dominios y Confianzas” dentro del Active Directory.

 

Luego de identificar las relaciones de confianza que tiene nuestro dominio, el siguiente paso es realizar un reconocimiento de los recursos a los cuales se puede acceder y qué usuarios tienen permisos sobre los mismos. Esta tarea se debe realizar manualmente por lo cual, en caso de que estemos analizando una organización muy grande, podría llevarnos algún tiempo.

 

Una vez encontrado un recurso compartido al que podamos obtener acceso, la tarea consiste en dejar un archivo malicioso con un nombre llamativo para lograr una buena carnada y esperar que un usuario curioso lo abra para obtener una Shell remota en el equipo.

 

Preparamos nuestra carnada utilizando el payload meterpreter” de Metasploit cifrado conVeil  para que los antivirus no lo detecten. A este payload lo pondremos dentro de un archivo “pdf” malicioso (orientado a explotar una vulnerabilidad de Adobe PDF Reader) al que curiosamente llamamos “sueldos.pdf”.

El siguiente paso es poner nuestra PC a escuchar conexiones y esperar que algún usuario curioso del dominio “LABDOS.COM”, que no haya actualizado su Adobe Reader a la última versión, abra el archivo. Si tenemos suerte, alguno de ellos tendrá algún token de Administrador del dominio “LABDOS.COM” y nos permitirá tomar control del mismo.

 

Al recibir conexiones podemos encontrarnos, por ejemplo, con un Windows 7 SP1 como puede verse en la siguiente imagen:

Obtener privilegios de “SYSTEM” en Windows 7 SP1 tiene sus bemoles. Puede observarse en la imagen anterior que el comando “getsystem”no funciona. Durante las pruebas notamos que al ejecutar “getsystem”, en el equipo de la víctima, aparecía lo siguiente:

¿Les pasó esto alguna vez? El proceso NTVDM (Windows NT DOS Virtual Machine) se utiliza para ejecutar programas de 16bits en plataformas de 32bits. Según Microsoft el proceso podría dejar de funcionar al producirse algunas de estas operaciones:

 

·        Se ejecuta una aplicación de gráficos de 16 bits que cambia el modo de gráficos de vídeo y, a continuación, mover el puntero del mouse.

 

·        Ejecutar una aplicación de 16 bits que intenta crear una canalización con nombre.

 

En nuestro caso el proceso dejó de funcionar por la segunda operación. Visto esto, al encontrarnos con un Windows 7 SP1, deberemos tener cuidado de no alertar a las víctimas con este tipo de mensajes de error.

 

Lo primero que intentamos hacer entonces fue “bypassear” el UAC (User AccountControl) de Windows mediante el módulo de Metasploit “post/windows/escalate/bypassuac”, lo que NO dió resultados satisfactorios en un principio.

 

Luego de evaluar y probar diferentes alternativas pudimos llegar a “SYSTEM” usando la elevación de privilegios a través de la explotación de una vulnerabilidad en la función EPATHOBJ::pprFlattenRecdel archivo win32k.sys, cuyo exploit se encuentra en “exploit/windows/local/ppr_flatten_rec”.

 

Una vez que se obtuvieron privilegios de SYSTEM, se procedió a realizar un ataque de “token kidnapping” mediante el módulo “Incognito” de Metasploit. En la siguiente captura de pantalla se puede observar el listado de tokens de acceso que se encontraron en el equipo.

El premio final fue un token del usuario “LABDOS\Administrator”, que pertenece al grupo “DomainAdmins” correspondiente a “LABDOS.COM”, listo para usar!! El domino“LABDOS.COM” se encuentra bajo nuestro control.

 

De esta manera queda demostrado como, a través de las relaciones de confianza, se podría llegar a comprometer múltiples dominios. Si bien este ataque requiere intervención del usuario final, sabemos que “una buena carnada” puede ser suficiente.

 

Posibles Soluciones:

 

Recomendamos tener un control estricto sobre los recursos compartidos a los que acceden usuarios de un dominio sobre el que se tiene confianza, restringiendo si es posible la escritura en estos recursos.

 

Por otro se debería concientizar a todo el personal de la empresa sobre: técnicas de Ing. Social y Seguridad Informática (utilizadas por los hackers) para evitar que los mismos sean victimas de ataques que puedan llegar a comprometer la confidencialidad de la empresa.

 

Sobre el autor:

 

VíctorDavid Casares, es Ingeniero en Sistemas por la UNLAR (Universidad de Nacionalde La Rioja), experto en administración de redes y Seguridad Informática porUTNFRVM (Universidad Tecnológica Nacional, Facultad Regional Villa Maria),cuenta con certificaciones internacionales tales como CCNA (CISCO CERTIFIEDNETWORK ASSOCIATE) y CEH (CERTIFIED ETHICAL HACKER).

 

Actualmente trabaja en el departamento de Ethical Hacker de CYBSEC, es instructor de Seguridad Informática en EducacionIT, escribe artículos de seguridad informática para el Blog de EducacionIT y CYBSEC.

 

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *