Page cover

☁️Active Directory

Active Directory (AD) es una tecnología de servicio de directorio desarrollada por Microsoft que proporciona una estructura centralizada para la gestión de usuarios, equipos, servidores...

  • Almacena información acerca de los recursos de una red: servidores, impresoras, cuentas de usuario, equipos…

  • Utiliza un almacén de datos estructurados

  • Active Directory Domain Services


Estructura Active Directory

Bosques > Dominios > Unidades Organizativas

  • Un bosque contiene dominios

  • Los dominios pueden contener una o varios OUs

  • La información de los Dominios y OUs se almacena en un controlador de dominio o DC. Este almacén se denomina Data Store

  • La información se almacena en forma de objeto, y todos los objetos están definidos por un esquema

Bosques

  • Los bosques son el nivel organizativo mas alto dentro de AD. Cada bosque comparte un único directorio

  • Los bosques pueden contener uno o varios Dominios

Dominios

Un Dominio es una partición lógica de objetos dentro de un Bosque que comparten configuraciones comunes de administración, seguridad y replicación.

  • Garantiza la identidad de un usuario en toda la red

  • Proporciona servicios de autenticación y autorización

  • Permiten replicar la información entre diferentes Controladores de Dominio y gestionarlos como una única entidad

  • Permite la creación de relaciones de confianza

Unidad organizativa (OU)

Es un objeto contenedor que permite organizar objetos dentro de un dominio

  • Visualización organizada de objetos (usuarios, equipos...)

  • Agrupa objetos a los que aplicar Políticas de Grupo

  • Agrupa objetos de manera que se puedan delegar permisos de gestión a otros usuarios y grupos dentro del dominio

Domain Controller (DC)

Un Domain Controller (DC) es un servidor que ejecuta el servicio de directorio Active Directory de Microsoft Windows. El Domain Controller es el elemento central de la infraestructura de Active Directory y es responsable de autenticar y autorizar a los usuarios y equipos en la red, así como de proporcionar servicios de gestión de políticas de seguridad, permisos y recursos de la red.

Algunas de las funciones del Domain Controller incluyen:

  • Autenticación y autorización de usuarios y equipos de la red.

  • Administración centralizada de cuentas de usuario y equipos.

  • Administración centralizada de políticas de seguridad y permisos.

  • Replicación de datos de Active Directory a través de la red.

  • Integración con otros servicios de Microsoft, como Exchange y SharePoint.


Conexiones en Active Directory

Conexión a través de xfreeRDP

Podemos conectarnos a través de la línea de comando usando el comando:

afsh4ck@kali$ xfreerdp /v:<MS01 target IP> /u:htb-student /p:Academy_student_AD!

Conexión a través de SSH

Podemos conectarnos al host usando el siguiente comando y luego ingresar la contraseña:

afsh4ck@kali$ ssh htb-student@<ATTACK01 target IP>

Herramientas útiles

Gran parte de estas herramientas las tengo recogidas en un único repositorio de GitHub, desde el que nos las podemos descargar directamente en un equipo dentro de una red Active Directory para empezar a hacer auditorías:

Herramienta

Descripción

Se utiliza una herramienta PowerShell y un puerto .NET de la misma para obtener conocimiento de la situación en AD. Estas herramientas se pueden utilizar como reemplazo de varios net*comandos de Windows y más. PowerView y SharpView pueden ayudarnos a recopilar gran parte de los datos que recopila BloodHound, pero requiere más trabajo para establecer relaciones significativas entre todos los puntos de datos. Estas herramientas son excelentes para verificar qué acceso adicional podemos tener con un nuevo conjunto de credenciales, apuntar a usuarios o computadoras específicas, o encontrar algunas "victorias rápidas", como usuarios que pueden ser atacados mediante Kerberoasting o ASREPRoasting.

Se utiliza para trazar visualmente las relaciones de AD y ayudar a planificar rutas de ataque que de otro modo pasarían desapercibidas. Utiliza el procesador SharpHound PowerShell o C# para recopilar datos que luego se importarán a la aplicación BloodHound JavaScript (Electron) con una base de datos Neo4j para el análisis gráfico del entorno AD.

El recopilador de datos de C# para recopilar información de Active Directory sobre diversos objetos de AD, como usuarios, grupos, computadoras, ACL, GPO, atributos de usuario y computadora, sesiones de usuario y más. La herramienta produce archivos JSON que luego pueden ingerirse en la herramienta GUI de BloodHound para su análisis.

Un ingeridor BloodHound basado en Python basado en el kit de herramientas Impacket . Es compatible con la mayoría de los métodos de recopilación de BloodHound y se puede ejecutar desde un host de ataque que no esté unido a un dominio. La salida se puede incorporar a la GUI de BloodHound para su análisis.

Una herramienta escrita en Go que utiliza la autenticación previa de Kerberos para enumerar cuentas de Active Directory, realizar pulverización de contraseñas y fuerza bruta.

Una colección de herramientas escritas en Python para interactuar con protocolos de red. El conjunto de herramientas contiene varios scripts para enumerar y atacar Active Directory.

Responder es una herramienta diseñada específicamente para envenenar LLMNR, NBT-NS y MDNS, con muchas funciones diferentes.

Similar a Responder, una herramienta de PowerShell para realizar diversos ataques de envenenamiento y suplantación de red.

La versión C# de Inveigh con una consola semiinteractiva para interactuar con datos capturados, como hash de nombre de usuario y contraseña.

La utilidad rpcinfo se utiliza para consultar el estado de un programa RPC o enumerar la lista de servicios RPC disponibles en un host remoto. La opción "-p" se utiliza para especificar el host de destino. Por ejemplo, el comando "rpcinfo -p 10.0.0.1" devolverá una lista de todos los servicios RPC disponibles en el host remoto, junto con su número de programa, número de versión y protocolo. Tenga en cuenta que este comando debe ejecutarse con privilegios suficientes.

Una parte de la suite Samba en distribuciones de Linux que se puede utilizar para realizar una variedad de tareas de enumeración de Active Directory a través del servicio RPC remoto.

CME es un conjunto de herramientas de enumeración, ataque y post-explotación que puede ayudarnos enormemente en la enumeración y realización de ataques con los datos que recopilamos. CME intenta "vivir de la tierra" y abusar de las funciones y protocolos integrados de AD como SMB, WMI, WinRM y MSSQL.

Rubeus es una herramienta C# creada para el abuso de Kerberos.

Otro módulo de Impacket orientado a encontrar nombres de principales de servicio vinculados a usuarios normales.

Una excelente herramienta para descifrar hash y recuperar contraseñas.

Una herramienta para enumerar información de sistemas Windows y Samba.

Una reelaboración de la herramienta Enum4linux original que funciona un poco diferente.

Interfaz incorporada para interactuar con el protocolo LDAP.

Un script de Python utilizado para enumerar usuarios, grupos y computadoras de AD mediante consultas LDAP. Útil para automatizar consultas LDAP personalizadas.

DomainPasswordSpray es una herramienta escrita en PowerShell para realizar un ataque de pulverización de contraseñas contra los usuarios de un dominio.

El kit de herramientas incluye funciones escritas en PowerShell que aprovechan PowerView para auditar y atacar entornos de Active Directory que han implementado la solución de contraseña de administrador local (LAPS) de Microsoft.

Enumeración de recursos compartidos de SMB en un dominio.

Como parte del conjunto de herramientas de Impacket, nos proporciona una funcionalidad similar a Psexec en forma de un shell semiinteractivo.

Como parte del kit de herramientas Impacket, proporciona la capacidad de ejecución de comandos a través de WMI.

Útil para buscar información (como credenciales) en Active Directory en computadoras con archivos compartidos accesibles.

Ejecución simple de servidor SMB para interacción con hosts de Windows. Manera sencilla de transferir archivos dentro de una red.

Agrega, lee, modifica y elimina la propiedad del directorio de nombres principales de servicio (SPN) para una cuenta de servicio de Active Directory.

Realiza muchas funciones. En particular, los ataques pass-the-hash, la extracción de contraseñas en texto plano y la extracción de tickets Kerberos de la memoria de un host.

Módulo de Impacket que vuelca de forma remota los secretos de SAM y LSA desde un host.

Nos proporciona un shell interactivo en un host a través del protocolo WinRM.

Como parte del kit de herramientas Impacket, brinda la capacidad de interactuar con bases de datos MSSQL.

Aproveche el combo utilizando CVE-2021-42278 y CVE-2021-42287 para hacerse pasar por DA de un usuario de dominio estándar.

Parte del conjunto de herramientas Impacket, asignador de puntos finales RPC.

Printnightmare PoC en Python.

Como parte del conjunto de herramientas Impacket, realiza ataques de retransmisión SMB.

Herramienta PoC para CVE-2021-36942 para obligar a los hosts de Windows a autenticarse en otras máquinas a través de MS-EFSRPC EfsRpcOpenFileRaw u otras funciones.

Herramienta de manipulación de certificados y TGT.

Esta herramienta utilizará un TGT existente para solicitar un PAC para el usuario actual que usa U2U.

Una herramienta para enumerar y volcar registros DNS de un dominio. Similar a realizar una transferencia de zona DNS.

Extrae nombres de usuario y contraseñas de los archivos de preferencias de políticas de grupo.

Parte del kit de herramientas Impacket. Se utiliza para realizar el ataque ASREPRoasting para enumerar y obtener hashes AS-REP para usuarios con la configuración "No requiere autenticación previa de Kerberos". Estos hashes luego se introducen en una herramienta como Hashcat para intentar descifrar contraseñas fuera de línea.

Herramienta de fuerza bruta SID.

Una herramienta para la creación y personalización de billetes TGT/TGS. Se puede utilizar para la creación de Golden Ticket, ataques de confianza de niño a padre, etc.

Parte del kit de herramientas Impacket, es una herramienta para la escalada automatizada de privilegios de dominio infantil a principal.

Active Directory Explorer (AD Explorer) es un visor y editor de AD. Se puede utilizar para navegar por una base de datos de AD y ver las propiedades y atributos de los objetos. También se puede utilizar para guardar una instantánea de una base de datos de AD para su análisis fuera de línea. Cuando se carga una instantánea de AD, se puede explorar como una versión en vivo de la base de datos. También se puede utilizar para comparar dos instantáneas de bases de datos de AD para ver cambios en objetos, atributos y permisos de seguridad.

Se utiliza para auditar el nivel de seguridad de un entorno de AD basándose en un marco de madurez y evaluación de riesgos (basado en CMMI adaptado a la seguridad de AD).

Group3r es útil para auditar y encontrar configuraciones erróneas de seguridad en objetos de política de grupo (GPO) de AD.

Una herramienta utilizada para extraer diversos datos de un entorno AD de destino. Los datos se pueden generar en formato Microsoft Excel con vistas resumidas y análisis para ayudar con el análisis y ofrecer una imagen del estado general de seguridad del entorno.


Escenario

Pongamos que somos Pentesters trabajando para CAT-5 Security. Después de algunos compromisos exitosos siguiendo al equipo, los miembros más senior quieren ver qué tan bien podemos hacerlo al iniciar una evaluación por nuestra cuenta. El Red Team Leader nos envió el siguiente correo electrónico detallando lo que debemos lograr.

Correo electrónico de tareas

imagen

Este módulo nos permitirá practicar nuestras habilidades (tanto anteriores como nuevas) con estas tareas. La evaluación final de este módulo es la ejecución de dos pruebas de penetración internas contra la empresa Inlanefreight. Durante estas evaluaciones, trabajaremos a través de una prueba de penetración interna que simulará comenzar desde una posición de infracción externa y una segunda que comenzará con una caja de ataque dentro de la red interna, como los clientes suelen solicitar.

Completar las evaluaciones de habilidades significa completar con éxito las tareas mencionadas en el documento de alcance y el correo electrónico de tareas anteriores. Al hacerlo, demostraremos una comprensión firme de muchos conceptos de enumeración y ataques de AD automatizados y manuales, conocimiento y experiencia con una amplia gama de herramientas y la capacidad de interpretar los datos recopilados de un entorno de AD para tomar decisiones críticas para avanzar en la evaluación.

El contenido de este módulo está destinado a cubrir los conceptos básicos de enumeración necesarios para que cualquiera pueda realizar con éxito pruebas de penetración internas en entornos de Active Directory. También cubriremos muchas de las técnicas de ataque más comunes con gran profundidad mientras trabajamos en algunos conceptos más avanzados como introducción al material centrado en AD que se cubrirá en módulos más avanzados.

A continuación encontrará un documento de alcance completo para el compromiso que contiene toda la información pertinente proporcionada por el cliente.


Alcance de la evaluación

Las siguientes IPs, hosts y dominios que se definen a continuación conforman el alcance de la evaluación.

Dentro del alcance de la evaluación

Rango/Dominio

Descripción

INLANEFREIGHT.LOCAL

Dominio del cliente para incluir AD y servicios web.

LOGISTICS.INLANEFREIGHT.LOCAL

Subdominio del cliente

FREIGHTLOGISTICS.LOCAL

Empresa filial propiedad de Inlanefreight. Confianza forestal externa con INLANEFREIGHT.LOCAL

172.16.5.0/23

Subred interna dentro del alcance.

Fuera del alcance

  • Cualquier otro subdominio de INLANEFREIGHT.LOCAL

  • Cualquier subdominio de FREIGHTLOGISTICS.LOCAL

  • Cualquier ataque de phishing o ingeniería social

  • Cualquier otra IPS/dominios/subdominios no mencionados explícitamente

  • Cualquier tipo de ataque contra el sitio web inlanefreight.com del mundo real fuera de la enumeración pasiva que se muestra en este módulo


Métodos utilizados

Están autorizados los siguientes métodos para evaluar Inlanefreight y sus sistemas:

Recopilación de información externa (verificaciones pasivas)

Se autoriza la recopilación de información externa para demostrar los riesgos asociados a la información que se puede recopilar sobre la empresa a través de Internet. Para simular un ataque del mundo real, CAT-5 y sus asesores recopilarán información externa desde una perspectiva anónima en Internet sin proporcionar información por adelantado sobre Inlanefreight fuera de lo que se proporciona en este documento.

Cat-5 realizará una enumeración pasiva para descubrir información que pueda ayudar con las pruebas internas. Las pruebas emplearán varios grados de recopilación de información de recursos de código abierto para identificar datos de acceso público que puedan representar un riesgo para Inlanefreight y ayudar con la prueba de penetración interna. No se realizarán enumeraciones activas, escaneos de puertos ni ataques contra direcciones IP del "mundo real" conectadas a Internet ni contra el sitio web ubicado en https://www.inlanefreight.com.

Pruebas internas

La parte de evaluación interna está diseñada para demostrar los riesgos asociados con las vulnerabilidades en hosts y servicios internos ( Active Directory specifically) al intentar emular vectores de ataque desde dentro del área de operaciones de Inlanefreight. El resultado permitirá a Inlanefreight evaluar los riesgos de las vulnerabilidades internas y el impacto potencial de una vulnerabilidad explotada con éxito.

Para simular un ataque del mundo real, Cat-5 llevará a cabo la evaluación desde una perspectiva interna no confiable sin información previa más allá de la proporcionada en esta documentación y descubierta a partir de pruebas externas. Las pruebas comenzarán desde una posición anónima en la red interna con el objetivo de obtener credenciales de usuario del dominio, enumerar el dominio interno, ganar terreno y moverse lateral y verticalmente para lograr el compromiso de todos los dominios internos dentro del alcance. Los sistemas informáticos y las operaciones de red no se interrumpirán intencionalmente durante la prueba.

Pruebas de contraseñas

Los archivos de contraseñas capturados desde los dispositivos de Inlanefreight, o proporcionados por la organización, se pueden cargar en estaciones de trabajo fuera de línea para descifrarlos y utilizarlos para obtener mayor acceso y lograr los objetivos de la evaluación. En ningún momento se revelará un archivo de contraseña capturado o las contraseñas descifradas a personas que no participen oficialmente en la evaluación. Todos los datos se almacenarán de forma segura en sistemas aprobados y de propiedad de Cat-5 y se conservarán durante un período de tiempo definido en el contrato oficial entre Cat-5 e Inlanefreight.

Última actualización

¿Te fue útil?