Por lo tanto, este artículo incluirá conceptos teóricos acompañados de ejemplos prácticos demostrados con vídeos.

Tabla de contenidos

1. Introducción

2-Enumeración del Directorio Activo

3- Enumerar usuarios, grupos y ordenadores

4- Eunmerating usuarios registrados y sesiones activas

5- Volcar hashes de contraseña

6- Escalada de privilegios y movimientos laterales con técnica pass the hash

7-Establecer persistencia y mantener el acceso con tickets dorados de Kerberos

Obtenga notas del certificado OSCP

1. Introducción

Active Directory se instala principalmente en Windows Server y consta de diferentes componentes, entre los que se encuentra el controlador de dominio, que se considera la estación de trabajo del administrador.

Cuando instala Active Directory por primera vez, se le solicita que cree un dominio para su organización, por ejemplo, empresa.com y luego todas las computadoras de la organización se unirán a este dominio para formar parte de la estructura del directorio activo. Al final tendrás un administrador de dominio y debajo de él habrá usuarios, computadoras y grupos.

Los administradores agruparían a los usuarios según su unidad organizativa. Por ejemplo, estarían TI, RRHH, Finanzas, Ventas, etc.

Enumeración de Active Directory

La enumeración del directorio activo comienza con la adquisición de conocimientos sobre los usuarios, grupos y computadoras existentes con el fin de localizar grupos de alto valor, como administradores de dominio, y descubrir cuáles son los miembros conectados.

La mayoría de las veces y durante sus pruebas de penetración, ya habrá obtenido acceso a una máquina que forma parte del controlador de dominio y desde esta máquina utilizará diferentes herramientas y scripts para realizar su enumeración.

En los siguientes escenarios, tendremos dos máquinas, una es la estación de trabajo Windows que acabamos de comprometer y la otra es el servidor Windows 2012, que es el controlador de dominio al que debemos apuntar.

Enumerar usuarios, grupos y computadoras

En el siguiente vídeo, utilizamos el script de Powershell para enumerar usuarios, grupos, membresías y sus permisos asociados. Esto nos dio un mapa completo de la jerarquía del directorio activo y nos allanó el camino para decidir cuál es nuestro próximo objetivo.

Una nota importante es que para que el método explicado en el video funcione, es necesario comprender cómo funcionan las rutas del proveedor LDAP y el buscador de directorio para poder modificar el script según sea necesario para enumerar diferentes aspectos.

Enumeración de usuarios registrados, sesiones activas y nombres de entidades principales de servicio

El siguiente paso en el proceso es localizar a aquellos que han iniciado sesión en la estación de trabajo actualmente comprometida. Si lo hacemos, podremos volcar los hash de contraseña de estos usuarios y usarlos para realizar una escalada de privilegios en la máquina Windows actual que forma parte del controlador de dominio.

También podemos enumerar los usuarios actualmente conectados y las sesiones activas en el controlador de dominio, lo que nos permitirá determinar a quién podemos dirigirnos entre los administradores del dominio.

La enumeración de lo mencionado anteriormente se basa en dos API de Windows. NetSessionEnum y NetWkstaUserEnum. NetWkstaUserEnum requiere permisos de privilegios administrativos y devuelve una lista de usuarios que han iniciado sesión en una estación de trabajo de destino, pero NetSessionEnum devuelve las sesiones activas en los servidores existentes, como el servidor de archivos y los controladores de dominio.

Para lograr esto usaríamos secuencia de comandos de Powerview

Ahora llegamos a los nombres principales de servicio. Los nombres principales del servicio son la asociación o la conexión entre un servidor específico y una cuenta de servicio. Piense en ellos como identificadores que identifican una cuenta de servicio en un servidor existente, como un servidor HTTP, DNS o FTP.

Podemos enumerar los SPN en un servidor para averiguar la dirección IP y los números de puerto asociados con el servicio que se está utilizando. Ejemplo que enumera la presencia del servidor IIS ejecutándose en el controlador de dominio.

Mire el vídeo a continuación para ver la parte práctica de esta sección.

Volviendo hashes de contraseña

Dado que Windows almacena una copia de los hashes de contraseñas en la memoria caché, podemos usar mimikatz para volcar todos los hashes de contraseñas de la estación de trabajo que hemos comprometido. Estos hashes podemos descifrarlos para obtener la contraseña en texto claro o reutilizarlos para otros fines.

Sin embargo, dado que los hashes de contraseñas son manejados por el proceso LSASS que se ejecuta como SISTEMA, necesitamos permisos del SISTEMA para acceder a los hashes de contraseñas, lo que tiene sentido elevar nuestro privilegio antes de cualquier intento de volcado de contraseñas.

Mimikaz tiene muchos módulos para volcar hashes de contraseñas, entre ellos sekurlsa::logonpasswords

El siguiente vídeo ilustra esto,

Escalada de privilegios y movimientos laterales con la técnica de pasar el hash.

Hasta ahora hemos aprendido cómo enumerar el directorio activo, hemos adquirido conocimientos sobre los usuarios que han iniciado sesión y las sesiones activas y hemos desechado los hashes de contraseñas de la estación de trabajo. El siguiente paso sería utilizar todo lo que tenemos y obtener acceso privilegiado al controlador de dominio.

Lo hacemos con una técnica llamada Overpass the Hash.

Esta técnica se basa en abusar del hash de usuario NTLM y convertirlo en un ticket Kerberos autenticado que nos otorga acceso a la máquina de destino, que en nuestro caso es el controlador de dominio.

Una condición para que este ataque funcione es que el administrador del controlador de dominio necesite tener su hash NTLM almacenado en la memoria caché de la máquina con Windows que hemos comprometido, lo que significa que debe haber iniciado sesión en la máquina con Windows en el pasado para que esto suceda. .

Suponiendo que lo hayan hecho, podemos volcar sus hashes y usar mimikatz para convertirlo en un ticket de Kerberos para crear un proceso de PowerShell en el contexto del usuario administrador del controlador de dominio.

Luego usaríamos PsExec.exe para obtener acceso al símbolo del sistema al controlador de dominio como administrador.

El siguiente vídeo demuestra esto.

Establecer persistencia y mantener el acceso con tickets dorados de Kerberos

Los tickets dorados son tickets hechos por nosotros mismos que creamos después de obtener acceso administrativo o cmd administrativo en el controlador de dominio para establecer un nuevo usuario falso y mantener nuestro acceso.

Los billetes dorados utilizan el identificador de dominio y el hash NTLM de krbtgt, que es una cuenta utilizada para crear la clave secreta para cifrar el TGT durante la autenticación kerebros.

El siguiente vídeo demuestra esto.

Espero que esto haya sido útil y no olvides suscribirte a mi canal para más contenido.



Acerca del Autor

Creo notas de ciberseguridad, notas de marketing digital y cursos online. También brindo consultoría de marketing digital que incluye, entre otros, SEO, Google y meta anuncios y administración de CRM.

Ver Artículos