Escalar de un Dominio a otro

Anuncio
Ing. Víctor David Casares
[email protected]
CYBSEC S.A. www.cybsec.com
Escalar de un Dominio a otro
1.- Introducción:
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).
2.- 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.
Relación de Confianza
LAB.COM
LABDOS.COM
Recurso Compartido
“Los usuarios del “LAB.com” pueden acceder
a un recurso compartido en “LABDOS.com”
Teniendo en cuenta esto, las tareas del atacante ahora se centrarán en saber si
existen relaciones de confianza, y con qué dominio.
Ing. Víctor David Casares
[email protected]
CYBSEC S.A. www.cybsec.com
3.- Explotación:
Para esto podría usar la herramienta “NLTEST” que viene instalada en Windows
Server, o ir a la configuración de “Dominios y Confianzas” dentro del Active Directory.
Chequeo de relaciones de confianza.
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 con “Veil” 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”.
Ing. Víctor David Casares
[email protected]
CYBSEC S.A. www.cybsec.com
Archivo “sueldos”copiado en LABDOS.COM.
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:
Acceso a SYSTEM denegado en Windows 7.
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:
Ing. Víctor David Casares
[email protected]
CYBSEC S.A. www.cybsec.com
Pop-Up percibido por el usuario.
¿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 Account
Control)
de
Windows
mediante
el
módulo
de
Metasploit
“post/windows/escalate/bypassuac”, lo que NO dio 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::pprFlattenRec del archivo win32k.sys, cuyo exploit se encuentra en
“exploit/windows/local/ppr_flatten_rec”.
Ing. Víctor David Casares
[email protected]
CYBSEC S.A. www.cybsec.com
Acceso como SYSTEM en Windows 7.
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.
Listado de tokens disponibles.
El premio final fue un token del usuario “LABDOS\Administrator”, que pertenece al
grupo “Domain Admins” 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.
Ing. Víctor David Casares
[email protected]
CYBSEC S.A. www.cybsec.com
4.- 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 otra parte se debería concientizar a todo el personal de la empresa sobre
técnicas de Ingeniería Social y Seguridad Informática para evitar que los mismos sean víctimas
de ataques que puedan llegar a comprometer la confidencialidad de la información de la
empresa.
5.- Sobre el autor:
Víctor David Casares, es Ingeniero en Sistemas por la UNLAR (Universidad de
Nacional de La Rioja), experto en administración de redes y Seguridad Informática por
UTNFRVM (Universidad Tecnológica Nacional, Facultad Regional Villa María), cuenta con
certificaciones internacionales tales como CCNA (CISCO CERTIFIED NETWORK ASSOCIATE) y
CEH (CERTIFIED ETHICAL HACKER).
Actualmente trabaja en el departamento de Ethical Hacking de CYBSEC, es
instructor de Seguridad Informática en EducacionIT, escribe artículos de seguridad informática
para el Blog de EducacionIT y CYBSEC.
6.- Sobre CYBSEC S.A:
Desde 1996 se dedica exclusivamente a prestar servicios profesionales
especializados en Seguridad de la Información. Su área de servicios cubre América y Europa y
más de 400 clientes acreditan la trayectoria empresaria. Para más información:
www.cybsec.com.
Descargar