← All talks

No CVE, No Problem: Uncovering Hidden Attack Paths in Active Directory

BSides CDMX42:2466 viewsPublished 2025-07Watch on YouTube ↗
Show transcript [es]

con nuestro buen amigo Gerardo que va a presentar no CV, no problem, un covering hide attack pats in Active Directory y a todos en nuestra carrera vamos a usar el Active Directory, esa esa buena herramienta. Así que un gran aplauso para Gerardo, por favor, ¿ayas con Gerardo? Pues nosotros tenemos una tradición en besites que los exponentes tienen que echarse un shotcsito, así que y entonces pues complácenos por favor en alguna parte del mundo. Ya ya son como las 23, así que este shot va por Bide. Un aplauso para que se motive, por favor.

Oh, ¿cómo así? Pues listo, Gerardo, todo tuyo. Bienvenido. Gracias. Eh, bueno, para calentar la boca de una vez, la garganta quedamos apenas. Eh, bueno, muchas gracias por estar por acá. Mi nombre es Genardo Mejía. Eh, hoy vamos, bueno, en este momento vamos a hablar sobre Active Directory, eh, un poquito de quién soy yo. Bueno, yo trabajo como Pen Tester y Red Team. Ahorita me desempeño en lo que es eh GBM y pues tengo algunas certificaciones, he participado en algunas conferencias en nuestra región y pues la verdad me apasiona mucho el tema de Active Directory. Siempre ando investigando nuevas técnicas, qué se está haciendo en el mundo, qué están haciendo las amenazas y trato de replicarlas en lo

que hago en el día a día. Eh, mucho gusto. Y ahora sí, un poquito la agenda, repasar un poco lo que son eh fundamentos de Active Directory, Active Directory, cómo se ha vuelto eh pues el principal objetivo de los grupos de ransonware, de los apts, las amenazas persistentes avanzadas, que es el tema principal, que básicamente es descubrir rutas ocultas, formas de comprometer un entorno de Windows de Active Directory que no es tan común o pues va más allá de los escáners tradicionales, ¿verdad? Es un tema que me ha interesado mucho porque últimamente cuando hago retesting o me toca evaluar empresas que tienen un buen proceso de mitigación de parches, pues toca encontrar otro tipo de

vulnerabilidades. Entonces, espero que les guste el tema y pues que les agrade ahí una pequeña demo, recomendaciones, preguntas, pongan bastante atención porque al final hay dos casos escenarios reales que me tocó pues enfrentar y me gustaría que me ayuden un poco a ver cuál es la ruta de ataque, a ver si encontramos esa ruta y entendemos cómo se pudo comprometer esas empresas de manera ética, por supuesto, eh sin un CE, ¿verdad? Entonces, fundamentos de Active Directory, pues el 90% o tal vez más de las empresas a nivel interno, a nivel corporativo, utilizan Windows, ¿verdad? Eh, me imagino que muchos de ustedes cuando están en el trabajo o en la universidad o hac en sus propias casas

tienen Windows, ¿verdad? Aunque en el área de informática y ciberseguridad nos guste mucho utilizar Linux, pues Windows todavía está muy arraigado por ahí. Eh, Active Directory para su función básicamente es poder administrar de una forma centralizada todos esos equipos Windows, incluyendo impresoras y recursos compartidos en la red. Entonces, yo siempre hago una pequeña analogía, que es tal vez en nuestras casas se nos hace sencillo administrar nuestra computadora personal, ¿verdad? La de un familiar, tal vez tres computadoras, ¿verdad? Pero ya si son cinco computadoras y tenemos cinco personas en nuestras casas que nos dicen, "Es que se me cambió la contraseña, me está fallando el driver, no me conecta la impresora, ¿verdad? Ya se vuelve más tedioso. Ahora, imagínense

en empresas que tienen 100, 500, 1000, 5000 computadoras, ¿verdad? es imposible administrar eso de forma manual, uno a uno. Entonces es ahí donde Active Directory eh tiene ese rol tan importante, se convierte en el core de las empresas porque va a permitir que los administradores de TI puedan administrar desde ese servidor todas las computadoras, enviando configuraciones, enviando actualizaciones, creando cuentas de usuarios para que puedan loguearse y acceder a los recursos de la empresa.

Un pequeño repaso de los componentes físicos de una infraestructura o un ambiente que cuenta con Active Directory es eh el domain controller. El domain controller es un para que lo puedan imaginar un poco quienes no hayan visto uno, es una computadora con características robustas de hardware, ¿verdad? bastante memoria run, bastante disco duro, eh bastante procesador. A ese servidor se le instala lo que es el sistema operativo de Windows, pero en este caso es un Windows diferente, es un Windows Server. A ese Windows Server se le agrega un rol de Active Directory y se promueve a domain controller. Ese en el momento en que se promueve a domain controller, ese servidor va a ser encargado de enviar todas las

configuraciones que el administrador de TI pues decida enviar a las computadoras de los trabajadores o de los estudiantes de la universidad que estén eh que formen parte de esa empresa. Se sería se llamaría dominio. ¿Okay? Dentro de ese servidor, cuando se promueve a domain controller, se crea una base de datos interna. Esa base de datos se llama NTDS. Esa base de datos es muy importante porque ahí es donde se almacenan las credenciales de todos los usuarios y de las computadoras, pero se almacenan en formato hash. No es leíble por legible por nosotros, ¿verdad? Sin embargo, se puede extraer. Hay hay ataques que permiten extraer esa base de datos y aunque no se puedan crackar los

esos hashes, se pueden reutilizar. Hay un ataque muy famoso en Active Directory que se llama pas de hash, que consiste en pasar el hash para autenticarse. Si hablamos con los mismos protocolos que utiliza Microsoft, no necesitamos saber la contraseña en texto plano del usuario final, sino mandársela o enviársela igual como Microsoft a nivel de protocolos está pues acostumbrado a recibirlo. Eh, luego está el catálogo catálogo global donde se almaan todos los objetos. Eh, usualmente las empresas no tienen solo un domain controller, tienen dos por si se cae uno o tres. Este caso es de lectura Insites. Active directory está lleno de objetos. Es como lo dice la palabra, es un directorio activo. Básicamente es una

libreta donde se almacenan objetos en vez de números de teléfonos, eh usuarios, computadoras, eh los principales computadoras, usuarios, grupos, hay algo que se llama OU, unidad organizativa e y políticas. Bueno, todos estos son objetos. Todo eso quedaría configurado dentro del Active Directory. Entonces, básicamente cuando alguno de ustedes entra a una nueva empresa que cuente con Windows, se le va a pedir la información, recursos humanos y le van a crear una cuenta en IT. Esa cuenta sería la cuenta de usuario. Luego le van a asignar una computadora. Esa computadora se liga al dominio y sería el objeto computadora. Dependiendo del departamento en el cual ustedes vayan a trabajar o a participar, los van a unir a un grupo recursos

humanos contabilidad Haití ciberseguridad. Nosotros no estamos exentos, tenemos que estar dentro de grupos, este y invitados, cualquier grupo, ¿verdad? Entonces, el usuario que nos crearon con la computadora lo metieron a un grupo y ese grupo para poder enviarle políticas, por ejemplo, que su navegador predeterminado sea Firefox o Google Chrome, que no pueda acceder a PowerShell, que le cargue una impresora específica, eso se logra metiendo ese usuario, a este grupo, este grupo, a una unidad organizativa y a esta unidad organizativa asignándole una política de grupo. Eso es administración de de servidores, administración de TI. Cuando ya tenemos todo eso creado, se se nos va a formar un dominio. Entonces, el dominio va a ser, en este caso, es

dominio pun1, puede ser bsitxlo local. Y cuando eh configuramos todo eso, se queda un dominio. Sin embargo, las empresas, muchas empresas eh tienen empresas hermanas o primas, ¿verdad?, que necesitan que haya interacción entre los trabajadores y eso se llama pues otro dominio. Y hay una forma a través de relaciones de confianza en la cual se puede configurar que estos dominios se lleven bien y si yo estoy en esta sucursal en Ciudad de México y esta sucursal está pues en Monterrey, el mismo usuario me sirva para loguearme acá ya a través de esa relación de confianza. Esos fueron los los fumandamentos de Active Directory. Para que no se queden con la duda, así es como se ve un Active Directory. Esta es

la consola, este es el dominio principal, estas son las OU y esos son los usuarios. Entonces, creo que ya vimos la importancia de Active Directory o el rol que juegan las empresas, ¿verdad? Es principalmente por el tema de la administración. Eso no es algo que solo nosotros nos hemos dado cuenta, los grupos Ransonware también. ¿Y por qué? Porque si logras controlar ese controlor de dominio que administra todas las computadoras, las 3000, las 5000, las 10,000 y puedes enviarles configuraciones, puedes enviarle ransomware, ¿verdad? Entonces, si llegas a comprometer un controlador de dominio, llegas a comprometer toda la empresa. Y ahí es donde el grupo de Ransonware genera más dinero, impactando de mayor forma a una compañía. Yo

recuerdo antes cuando se hablaba de Ransonware, era una computadora que se contagiaba o se infectaba en la red. Ahora son miles de computadoras o cientos o dependiendo del tamaño de la empresa. Entonces top 10 de grupos de Rware que se pensaron enfocar en Active Directory desde el 2000, esto es de Sentinel One 2021 2019. Eso es un análisis de una respuesta incidentes y a los 15 minutos de que una una usuario fue infectado por medio de fishing, ya estaban empezando a enumerar grupos. de Active Directory. Infectaron una máquina red 15 minutos vamos por el contador del dominio, ¿verdad? Así es como se mueven hoy en día los atacantes. Eso es un tweet de 2019, me 2021 y ya aquí vemos como pues

53 grupos de ransomware, ¿verdad? Ya eso se volvió un negocio, ya eso es rentable, las empresas no están preparadas para los nuevos ataques y pues así se ve el crecimiento de estos grupos, ¿verdad? Ya hoy en día pues la jerarquía ha cambiado, hay nuevos grupos, pero todavía se mantiene.

Entonces, eso es la active directory killin. A mí me gusta mucho como pentester, pues la uso como base de metodología y lo que describe es el ciclo de vida del ataque o de un atacante dentro de la red interna, donde viene desde la parte externa, logra eh busca comprometer la empresa a nivel de pues un servicio mal expuesto, a nivel de fishing, bpns, insiders para poder poner un pie dentro de la red. Una vez logra poner un pie dentro de la red, empieza con ese reconocimiento. Enumar usuarios sensibles, enumerar grupos sensibles, hacer movimientos laterales, tratar de buscar credenciales de esos usuarios que acaban de numerar, eh buscar grupos como domain admins, administrators, enterprise admins, esquema admins,

credenciales en texto plano, en archivos Excel, en blog de notas, recursos compartidos. computadoras con versiones vulnerables que no tengan soporte, Windows XP, Windows Herbers 2003, 2008, 2012, hm y equipos modernos sin antivirus, con antivirus desactivados. Entonces, en todo eso, pues él va a tardar un tiempo, ¿verdad? Se decía antes que dos meses con las nuevas vulnerabilidades ahora tardan menos definitivamente. Y cuando encuentran credenciales domain admin o de un usuario importante, la cosa cambia, ya se pone en rojo. ¿Por qué? Porque ya empiezan a hacer reconocimiento de nuevo, pero esta vez en modo letal, por así decirlo, ¿verdad? Y aquí es enumerar cuántas computadoras vamos a a van ellos, ¿verdad?, a cifrar, cuáles recursos van a exfiltrar, dónde

están los backups, porque ya ahora están haciendo las cosas, pero con privilegios elevados en el dominio. Por último, exfiltración de información, cifrado y extorsión, ¿verdad? Eso es como el ciclo de vida de los apts, de los grupos de ransonware cuando se enfocan en atacar Active Directory. Como vimos, pues el es un ciclo, va a depender de lo que se encuentra el atacante, de las configuraciones de las redes internas, ¿verdad? Pero el atacante general es perezoso, es vago. No sé cómo cómo dirán acá cuando pues busca hacer las cosas más fáciles, no se quiere complicar. Eh, entonces hay algunos CBs que te van a dar domain adminos o en lo que tarde en ejecutar el comando. Por ejemplo, Zero Logan cambia

la contraseña del del controlador del dominio, la resetea y es dueño de ese de ese equipo. No pack altera los tickets de autenticación. Se pueden impersonar usuarios como Domain Admins, Eternal Blue utilizado por One Cry SMB Active Directories, certificados, certification services. Esos son los ataques que están de moda. No sé si los han escuchado. ¿Cuántos de acá trabajan en ciberseguridad? Okay. Buenísimo. ¿Cuántos son redimamers penesters? Ah, buenísimo. ¿Cuántos son estudiantes y quieren ingresar al mundo de la ciberseguridad? Okay, buenísimo. Eh, luego tenemos otros CBS que tal vez no te van a dar domain admin de una vez, pero bien trabajados se puede lograr. Pero, ¿qué pasa cuando ya no encontramos esto? cuando hicimos un pen testing, un

red teaming, un purple teaming y pues todo eso está parchado. Ya la la empresa entendió que el Windows Server 2012 ya está fuera de soporte, que no puede tener Windows 7, Windows 10 acaba de morir, eh, y ya solucionó todo esto, ¿verdad? ¿Qué qué reportamos? ¿Qué buscamos? ¿Qué encontramos? Y es ahí donde viene la charla a profundizar un poco. Nada más así, manera rápida. Eh, quiero mostrarles, este es un exploit de no pack. Quiero que vean lo rápido que se consigue domain admin. Para esto se necesita tener credenciales de un usuario raso. Por eso el fishing todavía juega un papel importante en el acceso inicial. Entonces, credenciales de recepción, seguridad, eh contabilidad. Eso es un análisis para ver si es

vulnerable. Si el pack me da diferente acá es porque lo puedo modificar. Entonces, puedo impersonar un usuario. Entonces, pues a mí me falló un poco el comando, pero cuando lo soluciono ese ya es el exploit como tal. Apuntamos al DC, eh, impresionamos el usuario administrador o administrator y con un con las credenciales de un usuario, un estudiante, se podría lograr.

Okay, entonces ya ahí ya me conecté al contrador del dominio, ya modifiqué el pack, el ticket TGT de autenticación y ya estoy dumpeando los hashes de la base de datos NTDS que les dije al inicio. Y aquí está el hash. Este de acá es el hash donde está la contraseña en formato hash en la base de datos NTDS del contrador del dominio. También está la cuenta, la clave de KBT que sirve para hacer un ataque de Golden Ticket, por si lo han escuchado por ahí. Entonces, ya con esto pues ya somos administradores, el dominio. ¿Y cuánto tardó el video? Tarda como un minuto o 15. Y eso que me equivoqué, ¿verdad? Entonces, si las empresas tuvieran un

Windows Server 2016, 2019 no parchado, cualquier usuario interno podría ejecutar este ataque siempre y cuando tenga conexión con el controlador del dominio. Es importante que lo lleguen a parchar o lo revisen si no lo tienen así, ¿verdad? Pero bueno, ese era el objetivo, ver lo rápido que se puede comprometer una infraestructura con un CVD. Ahora, rutas de ataque ocultas. ¿Qué es una ruta? Una ruta de ataque oculta, ¿verdad? Pues son conexiones o relaciones dentro de la infraestructura de Active Directory que no son evidentes a simple vista, pero que un atacante podría explotar. No son evidentes a simple vista. Quiero decir que no se ven con un escáner, no se ven con Nesus, no se ven con OpenBus, no se encuentran

conmap, sino que hay que buscarlas de otra forma. Vamos a vamos a tratar de listar permisos, pertenencias de grupos. Entonces, principalmente pertenencia a grupos privilegiados y access right sobre objetos. Ya habíamos visto que en Active Directory todo es un objeto, un servidor es un objeto, un usuario es un objeto y un grupo es un objeto. Entonces, la idea es ver de la cuenta que tenga que se logró obtener qué permisos tiene sobre otros objetos. Y ya vamos a ver cuáles son esos tipos de permisos que se pueden tener. Entonces vamos a empezar con pertenencia a grupos privilegiados. ¿Cuáles son los grupos críticos? domain admin, enterprise admin, esquema admin, administrators. Estos son los grupos que son dueños del

dominio del entorno de Windows. Entonces si se consigue durante ese Active Directory Kill Shane por medio de todos los ataques que mencioné, una cuenta que pertenezca a alguno de estos grupos, game over. Ya se tiene acceso al contrador de dominio, se pueden lanzar configuraciones a todos los servidores, a todas las computadoras, los grupos apt lanzan ransomware, exfiltran y se acabó, ¿verdad? Así es como se ve en Active director y estos grupos administrator DNS. E bueno, este los que están en rojito, domain admins, enter admins, esquema admins. Eh, el domain admino, es el grupo más importante. Cuando ya hablamos de bosques, el enterprise admin es más importante que domain admin. El esquema adminar objetos, modificar objetos dentro del

esquema y administrators es el usuario que se crea cuando se configura un Active directory por primera vez. Así se vería eh pues los miembros de un de un grupo, ese es el grupo Domain Admin. Eso es una imagen de Bloodhound. Lohan es una herramienta muy muy buena porque nos permite e visualizar esas relaciones de confianza que vamos a ver en el resto de la charla de una manera gráfica, entonces es más fácil analizarlos. Entonces tenemos el grupo Domain Admins y en este caso tenemos tres miembros. Aquí lo importante es ver estos tres miembros de verdad necesitan ser domain admins. De verdad, las labores que realizan ellos en la empresa es para que sean domain admins. E será

que tienen dos cuentas o será que en su cuenta del día a día utilizan esta cuenta que es tan importante para realizar sus labores, ¿verdad? La recomendación es que tengan dos cuentas, una para su día a día y otra para para realizar acciones administrativas que realmente requieran de tener esos privilegios de dom admin. Grupos con privilegios delegados. Eh, si encontramos o si se encuentra un usuario que pertenece a sus grupos, pues no se va a lograr ser domain admin de una vez. Sin embargo, pues hay algunas técnicas para poder pues aprovecharse y elevar privilegios, no directamente, sino pues indirectamente, se podría decir. DINES admin nos permite cargar DNS, DLLs, perdón, este por medio de del servicio

de DNS backup Operators. Este lo que nos permite es hacer respaldos y restaurar respaldos de archivos dentro de servidores. Podemos hacer un respaldo a la base de datos NTDS y restaurarla y ahí pues sacar todos los hashes de todos los usuarios. Este usuario, este grupo puede modificar cuentas, este puede cargar drivers y este puede pues subir y bajar servicios. Un ejemplo, DNS admins, por medio de DNSMD cargamos el driver, hay que reiniciar y volver a iniciar el servicio DNS y ya pues te carga la shell. Voy a tomar agua un momento.

Listo. Para bajar el tequila. Entonces, ahora sí analicemos las rutas. Eso es lo que les quería mostrar. Entonces, pertenece a grupos. Si durante el pen testing o el adversario logra obtener un usuario durante el active directory killing y ese usuario es miembro de domain admins, tiene una pertenencia directa y ya pues tiene el control total de la red, ¿verdad? Ya eso creo que todos lo entendemos. Grupos anidados. ¿Qué es un grupo anidado? Es cuando un usuario sin privilegios es miembro de un grupo, pero ese grupo es miembro de otro grupo y ese otro grupo si tiene privilegios. Eso cuesta más encontrarlo. Porque cuando yo veo este usuario y veo a cuál grupo pertenece, veo que pertenece a Health

Desk. Yo, bueno, Helde no suena administrador del dominio, tal vez ayuda, hace soporte, ¿verdad? Pero yo tengo que revisar, okay, health a qué grupo pertenece y ahí es donde me doy cuenta que es domain admin. Eso quiere decir que este usuario tiene los privilegios de domain admin, entonces ya podría sacar todos los hashes o comprometer todas las computadoras. Eso sería pertenencia a grupos privilegiados. La otra opción que les comentaba es a través de los access rights, que son permisos de acceso sobre otros objetos. Este es un poco más complejo porque aquí es a nivel de de ACLs, ACS, DCLS y es más complejo dear, por eso es que no es tan fácil encontrarlo. Pero bueno,

repasemos los permisos. A nivel de ACL se ve así. Ese es el usuario SQL. y estoy viendo los permisos que se le va a otorgar, bueno, los permisos que otros van a tener sobre este usuario. Así es como se lee más bien del usuario de SQL, que otros usuarios van a tener permisos. Entonces, generic all es full control. ¿Qué es full control? Es si es un usuario poder resetearle la contraseña. Si le podemos cambiar resetear la contraseña un usuario domain admin, pues la cambiamos y ya somos domain admin, ¿verdad? Si es un grupo sobre el que tenemos generic all, podemos agregar y quitar miembros. Entonces, podemos agregar un usuario comprometido y meterlo al grupo domain admin y listo, somos domain

admins. Si es una GPO, las GPO son políticas de grupo, son configuraciones que se envían a las computadoras y servidores para que se apliquen, como el tema del Firefox o bloquear ciertos programas o scripts para que se ejecuten algunas tareas. Entonces, si tenemos generic all sobre una GPO, podemos cargarle scripts para que se ejecuten esos equipos. Un scripts que se cree un usuario nuevo con privilegios de administrador sobre sus equipos y así ya somos administradores sobre esos servidores. Ese es Generic All y todo lo que puede hacer. Generic WR lo que puede hacer es eh pues eh modificar ciertas propiedades del objeto. E right DCL nos permite modificar permisos. Entonces, podríamos modificar SQL, el permiso para hacer generic all

y el WR owner nos permite modificar quién es el propietario del objeto. Entonces, si somos propietario del objeto, podemos asignar un usuario para que tenga generic all sobre los objetos, ¿ya? Básicamente estos tres es para volver a a generic, ¿verdad? Y así se compromete el objeto. ¿Cuál es el tema? que si este objeto es un grupo o es un objeto con privilegios de administrador importantes, podríamos comprometerlo. Otros permisos específicos abusables, reset password. Tal vez no tenemos que tener generic all sobre un objeto importante, pero tenemos reset password y le cambiamos la contraseña y listo. Entonces, ¿cómo se vería esto? Así de una forma más gráfica. Tenemos un usuario, hacemos el análisis con herramientas como Powerview o Bloodhound

y si vemos que el usuario que tenemos o que que tenemos control tiene reset password sobre un domain admin, pues le cambia. Bueno, nosotros no voy a aclarar ese punto, ¿verdad? Ya que nosotros somos éticos, somos testers, repte teamers, el objetivo de nosotros no es dañar una empresa, ¿verdad? Nosotros no podemos dar el lujo de ejecutar un comando, aplicar una configuración que vaya a dar debajo un servicio. Eso es malo para nosotros. Nosotros tenemos que impactar lo menos posible las operaciones de una empresa. El grupo Ransonware no. Él cambia la contraseña, es domain admin y cifra y listo y se fue, ¿verdad? Después contacta la empresa y pide la recompensa económica, pero nosotros no. Si encontramos esta

configuración, cambiarle la contraseña a un domain admin es complicado porque hay servicios que pueden depender de esa contraseña. Imagínense una cooperación gigante de ventas, un banco y que se cambia esa contraseña y cae la banca en línea por alguna razón, ¿verdad? Eso es riesgoso, pérdidas millonarias y al final salió más caro la contratación de del penestró, ¿verdad? Entonces, ¿qué se hace en ese caso? Nada más es para hacer un paréntesis. Ahí se habla con el administrador de TI, con los encargados con los que se tuvo el contacto del contrato, se le explica la situación, se le dice que si se procede con la explotación o nada más se reporta el hallazgo entendiendo la criticidad que tiene,

¿verdad? Él será encargado de decir explote o nada más reporte. Repito, el grupo Romware explota y listo. E okay, aquí generic, eh, usuarios sin privilegios, pero esta vez sobre un grupo domain admin. Como tenemos generic, control total, podemos agregar o quitar miembros de ese grupo. Entonces, esto sirve mucho para persistencia. Se crea un usuario en el dominio y se agrega al grupo domain admins y listo, ¿verdad? o el usuario que se logró obtener se ingresa por medio de generic all a domain admin y listo. Ese es el examen. Ese es un escenario avanzado. Los escenarios que les mostré ahorita es como más para entender un poco, ¿verdad?, la lógica, pero ya esto es más real. ¿Qué nos podemos encontrar?

En este caso tenemos un usuario sin privilegios que es miembro del grupo Health. El grupo Heldex descubrimos que le puede cambiar la contraseña a mi usuario Gerardo. No se me ocurrió otro nombre. Gerardo es miembro de IT Admins. AT admins, aunque suena elevado el el nombre, ¿verdad? No es domain admins de buenas a primeras, pero resulta que investigamos domain admins, eh, perdón, IT admins y descubrimos que tiene generic all sobre Josm. Entonces, tenemos podemos cambiar modificar propiedades en las listas de acceso de este usuario, generic old, ¿verdad? Reset password. Vemos que José ADM es miembro de Domain Admins. Entonces, si le cambiamos la contraseña por medio de generic all, ya somos domain admin, ¿verdad? Eso es un

escenario más real y más difícil de encontrar porque partimos de aquí y tuvimos que brincar y brincar y brincar hasta llegar acá. Pero si lo encontramos, eso es una una vulnerabilidad crítica que es que que no se había reportado, que no se había encontrado y que es difícil o pues hay que hacer un ya ustedes saben cómo hacerlo, ¿verdad? o ya pueden investigar un poco más, ya ustedes tienen ese conocimiento, pero no todo el mundo lo está practicando. Entonces, Bloodho Hound, este es la herramienta, les recomiendo que la investiguen e que permite ver esos gráficos, esos grafos llaman ellos, diseñada por investigadores de Spectror Ops. tienen una versión community, que es esta, y una versión comercial, pues que tiene

más capacidades, pero con esta versión es suficiente para appen testing y repte teaming. Entonces, escenario real, ya esto es una prueba, eso es un escenario real, obviamente está pues ofuscado y fue fue recreado, es basado en en la vida real. No habían CVs como los que les mostré, no habían pues credenciales, no se encontró un domain por ahí, sino que se tenía este usuario en un servidor que estaba un poco descuidado. Eh, por el nombre de este usuario, ¿qué qué le suena? ¿Que que es su función? ¿Alguien que quiera ahí hablar un poco para descansar? ¿Alguien que quiera alzar un poquito la voz y diga qué puede ser o cuál puede ser la función? de de ese usuario por medio del del

nombre.

¿Alguien por ahí? Cambiar contraseñas de algo de un servicio ¿verdad? Entonces, viendo el análisis de Bloodhound y viendo los access rights, vemos que tiene force change password y generic sobre este usuario. Entonces, cambio clave portal permite cambiar la clave a ese usuario. Después nos dimos cuenta que no solo a ese usuario, sino a 3116 usuarios y ya teníamos acceso a ese usuario clave portal, cambiar cable clave portal, ¿verdad? Entonces algunas veces no hay que tener un CB, no hay que ser domain admin si podemos cambiarle la contraseña a cualquier usuario, a los CEOs, a los CTOs, a los domain admins, a recepción, a cualquier usuario, ¿verdad? Eso es crítico, ¿verdad? Al final reportamos el hallazgo, se encontró en un servidor.

Está bien. Digamos que ellos tenían ese esa ese usuario para ese servicio, pero no entendían la criticidad y cómo había que proteger esa esa cuenta, ¿verdad? Entonces estaba en un servidor que no estaba tan protegido como un domain controller. Al final decidieron eliminar esta cuenta, cambiar la forma en la que iban a cambiar las contraseñas y pudimos pues reportarles ese hallazgo. Escenario real dos. Eso es más complejo. Eh, ustedes me dicen si se lee esto más o menos. Si no se los leo yo. Okay. Este era el usuario que yo tenía. Era un usuario RASO que pertenecía a domain users. Eso es normal. Un usuario sin privilegios pertenece a domain users en todos los dominios.

El grupo ese es un usuario, ese es un grupo. El grupo domain users pertenece a usuarios autenticados del dominio. Eso es normal también para que los usuarios se puedan autenticar en el dominio. El grupo autenticado, usuarios autenticados pertenece al grupo Everyone, es miembro de member of. Eso todavía es normal. Hasta ahí todo bien. Aquí es donde empieza lo crítico. Tenían un servidor PRD y everyone que por la cadena, ¿verdad?, todos pertenecen a everyone porque pertenecen a domain user, usuarios autenticados y everyone. Entonces, todos los usuarios de esa empresa tenían permisos de generic all sobre este servidor. ¿Alguien recuerda que era generic? la capacidad de cambiar las ACLs o modificar las ACLs de un objeto. Entonces, cualquier usuario podía

modificar ciertos accesos access de este objeto servidor, ¿verdad? Entonces podemos comprometer este servidor desde cualquier usuario y rasgo. Esa es la primera mitad. Ahora sí, ya que comprometimos este servidor, vemos que este servidor es miembro de un grupo que se llama grupo GPO equipo servidores con rdp. Entonces, aquí en ese grupo están todos los servidores que tienen rdp. Si no saben qué es RP, es remove desktop protocol y lo que permite es acceder de forma remota a cualquier servidor o computadora. Ya los administradores de TI no es que van al data center a realizar una configuración, sino que ellos acceden por RDP o por un protocolo seguro, por VPN remotamente y así administran el servidor. Entonces en esta GPO están el

grupo de equipos de servidores que tienen RDP. Entonces, todos los servidores que los administradores de IT evitaran acceder de forma remota estaban en ese grupo. Eh, este grupo tiene generic, propiedades de escritura sobre algunos objetos. Sobre este moradito es una GPO. La GPO son los Group Policies. Ese es este archivito que se envía a las computadoras para enviarles configuraciones. Entonces, yo supongo eh este GPOS dice deshabilitar RDP. Eh, entonces esto es la configuración que se envía para deshabilitar RDP. Y el JPink lo que dice es a quién se va a a quién se va a aplicar esa configuración, ¿okay? Y eso se va a aplicar a servidores, servidores y usuarios administrativos. Entonces, viéndolo un poquito por atrás,

las OU era donde metíamos son los containers donde metimos objetos. En este caso, en estas OU se está metiendo todos los servidores de la empresa y los usuarios administrativos. A estas OU se les está aplicando esta GPO que es deshabilitar RDP. O sea, ellos quieren que los grupos sensibles de la empresa no tengan RDP, pero el grupo que está atrás puede modificar esta GPO y meterle un script malicioso que se va a aplicar en los servidores y en los usuarios administradores. Y esta GPO, el bueno, esa GPO, el grupo GPO, equipo servidores puede modificarla y ese servidor eh es miembro de ese grupo, entonces este servidor puede modificar esta GPO para aplicarle a ellos lo que quiera y

everyone, cualquier usuario puede comprometer este servidor. Entonces, básicamente al final cualquier usuario puede modificar una group policy que se va aplicar a los equipos sensibles y usuarios sensibles del dominio de esa empresa. ¿Cómo encuentra uno esto? Difícil, ¿verdad? O sea, con Nesus no lo logro. Hay que hacer un análisis enfocado en Access a través de herramientas especializadas. Se entendió un poco este escenario más complejo. Buenísimo. Y ya pues vamos terminando e recomendaciones. Revisar permisos peligrosos, revisar los accessitar la membresía, los grupos privilegiados. Muchas veces personal, no tengo nada contra personal de pero muchas veces personal de dice, "Bueno, pues yo no caigo en fishing. Yo soy todopoderoso y me sé todas las técnicas, entonces puedo usar ese

usuario, pues siempre caemos. Eh, monitorear GPOS DCLs y buscar esos ataques ocultos con herramientas como como Bloodown. Ese es mi Linking, el código QR por si quieren conectar, hacer preguntas, hablar. H, ¿tienen preguntas? ¿Alguien quiere levantar la mano? ¿Le pasamos el micrófono? ¿Alguna duda? Este es un evento en Costa Rica, me gustaría invitarlo. Se llama Poner. Es en octubre. Si tienen alguna vez la oportunidad de ir a Costa Rica, pues invitados a contactar con la comunidad y no se me vayan para poder, si no les molesta, poder tomar una foto de ustedes y de este slides o un video. Si alguien le molesta, por favor tápese la cara. Pero buenísimo.

Si pueden levantar la mano. Gracias.

No, bueno, ahorita ya no. Oye, Gerardo, mucha superinesante. Ahorita nos vamos, ponemos a platicar tú y yo.