Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Ciberataques para Evaluar Active Directory en Windows Server 2019.
Ciberataques para Evaluar Active Directory en Windows Server 2019.
2018-2019
Tutor
Andrés Marín López
En primer lugar, me gustaría dedicar este trabajo a mis abuelos ya que sin ellos no
habría podido llegar a donde he llegado.
Por último, agradecer a todos los que me han ayudado con el desarrollo de este
proyecto desinteresadamente, especialemente a Atl4s, Arcocapaz, Cynops y Mamatb.
iii
Resumen
Directorio Activo, del inglés Active Directory (AD), es el servicio de directorio propor-
cionado por Microsoft y que tiene como finalidad principal la gestión de manera eficiente
y centralizada de la información y los recursos de una empresa. En la actualidad, Active
Directory es utilizado por la mayoría de las organizaciones a nivel mundial y se considera
una de las partes fundamentales para el correcto funcionamiento de una empresa. La
información gestionada por Active Directory permite gestionar usuarios como pueden ser
empleados, clientes, proveedores y que éstos puedan localizar los dispositivos, recursos
y servicios distribuidos por la red como pueden ser ordenadores, servidores, impresoras,
bases de datos, etc. Como se puede deducir, debido a la importancia que tiene Active
Directory dentro de una organización y la información que gestiona, le sitúan en uno
de los principales objetivos para atacantes y ciberdelincuentes. Comprometer el servicio
Active Directory supone un gran problema de seguridad para una empresa si el sistema
principal de gestión se ve comprometido. Es por ello, que en los últimos años ha aumentado
considerablemente el ataque a Active Directory cuya finalidad es hacerse con el control
de la empresa y comprometer la seguridad de la información. Con el fin de contribuir
al desarrollo, el trabajo realizado se centra en el análisis de las principales amenazas
o ataques que pueden comprometer Active Directory gestionado por la última versión
lanzada por Microsoft: Windows Server 2019. Esto se ha logrado mediante la creación de
un laboratorio de pruebas, de manera local, que ha permitido la creación de una empresa
ficticia y la revisión de una batería de los principales ataques analizados.
Palabras Clave:
Microsoft Active Directory, Domain Controller, Kerberos, Ciberseguridad, Windows
Server, Pentesting, Red Team
v
Índice general
1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1. Estado del Arte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3. Organización del Proyecto. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Autenticación y autorización en Windows . . . . . . . . . . . . . . . . . . . . . . 5
2.1. Autenticación vs autorización. . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2. Escenarios de autenticación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2.1. Inicio de sesión interactivo (interactive logon) . . . . . . . . . . . . . . . . 6
2.2.2. Inicio de sesión a través de aplicaciones o servicios . . . . . . . . . . . . . 6
2.2.3. Inicio de sesión en red . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2.4. Otros escenarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.3. Inicio de sesión interactivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.3.1. Proceso de inicio de sesión interactivo (WinLogon) . . . . . . . . . . . . . 8
2.3.2. Local Security Authority (LSA) . . . . . . . . . . . . . . . . . . . . . . . . 10
2.3.3. Security Support Provider Interface (SSPI) . . . . . . . . . . . . . . . . . . 11
2.3.4. Security Account Manager (SAM) . . . . . . . . . . . . . . . . . . . . . . . 13
2.4. Autorización . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.4.1. Access tokens. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.4.2. User Account Control (UAC) . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3. Paquetes de autenticación. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.1. MSV1_0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.1.1. Windows hashes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.1.2. Net-NT Lan Manager (Net-NTLM) . . . . . . . . . . . . . . . . . . . . . . 18
3.2. Kerberos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.2.1. Aplicaciones de Kerberos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.2.2. Elementos principales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.2.3. Protocolo de autenticación . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
vii
4. Active Directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.1. Protocolos y servicios implicados en Active Directory . . . . . . . . . . . . . . 25
4.2. Términos y conceptos clave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.3. Laboratorio de Active Directory . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.3.1. Requisitos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.3.2. Configuración previa. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.3.3. Creación y configuración del Active Directory . . . . . . . . . . . . . . . . 39
5. Experimentación. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
5.1. Pass the hash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
5.2. NTLM Relay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
5.3. Overpass The Hash. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
5.4. Pass The Ticket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
5.5. Golden Ticket. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
5.6. Kerberoast . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
6. Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
7. Conclusiones y trabajo futuro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
7.1. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
7.2. Trabajo Futuro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Bibliografía . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
viii
Índice de figuras
x
4.22 Instalación de AD DS - Instalación. . . . . . . . . . . . . . . . . . . . . 45
4.23 Enlazar cliente al dominio - Settings. . . . . . . . . . . . . . . . . . . . . 46
4.24 Enlazar cliente al dominio - Dominio. . . . . . . . . . . . . . . . . . . . 46
4.25 Enlazar cliente al dominio - Log on. . . . . . . . . . . . . . . . . . . . . 47
4.26 Enlazar cliente al dominio - Users and Computers. . . . . . . . . . . . . 47
4.27 Enlazar cliente al dominio - Dashboard. . . . . . . . . . . . . . . . . . . 48
4.28 Crear nuevo usuario. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
4.29 Usario de dominio. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
4.30 Usuario de dominio y administrador del dominio. . . . . . . . . . . . . . 49
4.31 Añadir el usuario a un grupo. . . . . . . . . . . . . . . . . . . . . . . . . 50
4.32 Grupo Domain Admins. . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
4.33 Usuario de dominio y administrador local. . . . . . . . . . . . . . . . . . 51
4.34 Inicio de sesión con la cuenta de usuario creada. . . . . . . . . . . . . . . 51
xi
5.19 Intercambio de paquetes de Kerberos. . . . . . . . . . . . . . . . . . . . 63
5.20 Tickets del usuario mariarperez. . . . . . . . . . . . . . . . . . . . . . . 64
5.21 Extracción de tickets a través de Mimikatz. . . . . . . . . . . . . . . . . 64
5.22 Lista de tickets obtenidos. . . . . . . . . . . . . . . . . . . . . . . . . . . 65
5.23 Ataque pass the ticket. . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
5.24 Comprobación del ataque pass the ticket. . . . . . . . . . . . . . . . . . . 66
5.25 Obtención de la información de la cuenta krbtgt. . . . . . . . . . . . . . . 67
5.26 Cuenta desde la que se va a realizar el ataque. . . . . . . . . . . . . . . . 68
5.27 Creación de un golden ticket. . . . . . . . . . . . . . . . . . . . . . . . . 68
5.28 Golden ticket creado correctamente. . . . . . . . . . . . . . . . . . . . . 69
5.29 Advanced features. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
5.30 Añadir el atributo SPN al usuario. . . . . . . . . . . . . . . . . . . . . . 70
5.31 Lista de los SPN disponibles en el dominio. . . . . . . . . . . . . . . . . 71
5.32 Solicitud de TGS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
5.33 Expotar los tickets TGS. . . . . . . . . . . . . . . . . . . . . . . . . . . 72
5.34 Cracking del ticket TGS. . . . . . . . . . . . . . . . . . . . . . . . . . . 72
xii
Índice de tablas
xiv
1. Introducción
Estas características hacen que Active Directory sea un importante objeto de estudio
para investigadores y equipos tanto de Red Team como Blue Team. El trabajo realizado ha
abordado este problema y presenta como objetivo principal la revisión, análisis y prueba
de alguna de las principales amenazas que ponen en grave riesgo la seguridad de Active
Directory en la última versión de Windows Server.
Active Directory fue lanzado por primera vez en 1999 con el Sistema Operativo Win-
dows 2000 Server Edition. Desde entonces, proteger, mantener actualizado y crear una
infraestructura sólida y segura ha sido uno de los principales objetivos de Microsoft. Para
1
ello, se ha instaurado una política de actualizaciones semestrales con plazo de servicio de
18 meses [6] que corrige las vulnerabilidades encontradas y propone nuevas implementa-
ciones que mejoren tanto el uso como la seguridad.
Pass-The-Hash
NTLM Relay
Overpass-The-Hash
Pass-The-Ticket
Golden Ticket
Kerberoast
La gran mayoría de estos ataques sobre Active Directory, no son específicos de este
sino que aprovechan debilidades en los protocolos de autenticación utilizados. En la
actualidad, los protocolos utilizados principalmente son: Microsoft NTLM y Kerberos
Version 5 Protocol. Por este motivo, ambos protocolos se van a detallar y analizar en los
capítulos posteriores.
1.2. Objetivos
2
replicar dichos ataques.
Por último, este trabajo tiene como objetivo establecer las pautas y directrices para la
creación de un laboratorio que permita tanto a Pentesters o profesionales de la seguridad
ofensiva para realizar ejercicios simulados de Red Team en entornos controlados como a
administradores de sistemas o equipos de Blue Team para probar nuevas configuraciones
o realizar simulaciones de actualizaciones o mejoras en un entorno simulado.
3
En el Capítulo 6 se presentan y discuten los resultados obtenidos tras la experimenta-
ción de los diferentes ataques y técnicas.
4
2. Autenticación y autorización en Windows
Este capítulo aborda la metodología utilizada por los Sistemas Windows para desa-
rrollar la autenticación y posterior autorización de un usuario u objeto. Con este fin, se
profundizará en el inicio de sesión interactivo, independientemente de si es de forma local
o remoto, la gestión de las credenciales introducidas por el usuario hasta su posterior
validación y finalmente, la comprobación de si ese usuario u objeto tiene permisos sufi-
cientes para ejecutar la acción que está solicitando.
Por otro lado, cuando se habla de autorización se refiere a establecer y delimitar qué
recursos son a los que puede acceder el usuario en cuestión o grupos de usuarios. Por
ejemplo, establecer que los usuarios administradores puedan acceder a carpetas compar-
tidas con información confidencial. La verificación de que un usuario puede realizar la
acción que está solicitando realizar, como puede ser el acceso a un dispositivo, recurso,
etc.
Para utilizar equipos basados en Windows es necesario disponer de una cuenta válida
independientemente de si se solicita acceder a un equipo localmente o en red. Por lo tanto,
Windows provee tecnología de control de acceso para determinar tanto si un usuario es
quién dices ser, es decir, el proceso de autenticación como para gestionar si dicho usuario
tiene los permisos necesarios para acceder al recurso o dispositivo que está solictando. A
continuación se va a enumerar los posibles casos en los que se solicitará la autenticación
de un usuario [9]:
5
2.2.1. Inicio de sesión interactivo (interactive logon)
Se produce un inicio de sesión de forma local cuando un usuario tiene acceso físico
al equipo y este no está unido a ningún dominio o cuenta de usuario en Active Directory.
Este inicio de sesión requiere disponer de una cuenta de usuario en el administrador de
cuentas de seguridad del inglés Security Account Manager (SAM) donde se comprobará si
las credenciales almacenadas son iguales a las credenciales proporcionadas por el usuario.
Este inicio de sesión permite acceder al usuario a los recursos de Windows del equipo
local.
Inicio de sesión en dominio ocurre cuando un usuario accede a una cuenta de usuario
en Active Directry. Para ello, es necesario que el equipo disponga de una cuenta de
dominio de Active Directory y esté conectado físicamente a la red. Esto le permite tener
acceso tanto a los recursos locales como los recursos proporcionados por el dominio
(carpetas compartidas, servicios, etc.).
Este escenario ocurre cuando una aplicación o un servicio solicita que un usuario
inicie sesión para acceder a los recursos que ofrece dicha aplicación o servicio. Como se
puede observar en la Figura 2.1, al ejecutar el comando RunAs que lanza la aplicación
cmd.exe como el usuario Cliente01, este nos solicita la contraseña de dicho usuario.
Además, Windows gestiona las credenciales para aplicaciones y servicios que no requieren
la interacción de un usuario.
6
Fig. 2.1. Autenticación al ejecutar el comando RunAs.
El inicio de sesión en red del inglés Network Logon ocurre una vez el usuario es
correctamente autenticado en un equipo a través de alguno de los procesos explicados
anteriormente e intenta acceder a cualquier servicio de red. Este proceso suele ser invisible
al usuario a no ser que sean necesarias otras credenciales.
Existen otros escenarios de inicio de sesión como puede ser “Inicio de sesión a través
de Smartcard” que requiere el uso del protocolo Kerberos o “Inicio de Sesión biométrico”
donde se utiliza un dispositivo para obtener las credenciales biométricas, como puede ser
la huella digital, y se comparan con las credenciales almacenadas durante la creación de
la cuenta.
7
Fig. 2.2. Proceso de inicio de sesión interactivo (WinLogon).
Como se puede ver en la Figura 2.2 el proceso de inicio interativo consta de varias
fases [11]:
1. En primer lugar, el proceso de inicio de sesión comienza con una secuencia deno-
minada Secure Attention Sequence (SAS). Esta secuencia es CTRL + ALT + DEL
por defecto e inicia el proceso WinLogon.exe.
8
Fig. 2.3. Clave de registro sobre los paquetes de autenticación.
9
equipo y el controlador de dominio (Domain Controller) y de pasar las credenciales
a través de este.
8. Por último, Winlogon mira en el registro 4 y crea un proceso con el valor que haya
contenido en el registro. El valor por defecto es Userinit.exe que carga el perfil del
usuario autenticado.
Local Security Authority [13] se encarga de validar el acceso a los objetos, comprobar
si un usuario tiene permisos suficientes y generar mensajes de auditoría. Es decir, LSA se
encarga de las siguientes acciones:
Gestionar los servicios necesarios para mantener la relación entre nombres y SIDs.
10
no tenga que introducir las credenciales cada vez que accede a un recurso (Single Sign-
On) [10].
Este proceso es de gran interés para los atacantes ya que LSASS puede almacenar
credenciales como Tikets de Kerberos, Hashes NT, Hashes LM o credenciales con algo-
ritmos de cifrado débiles que se puede obtener la contraseña en texto claro.
LSASS almacena las credenciales de las sesiones activas, estas credenciales se alma-
cenan cuando un usaurio realiza alguna de las siguientes acciones:
Logon Sessions
Logon Sessions [14] [15] es una estructura de datos que representa un Security Prin-
cipal [16]. Una entidad de seguridad del inglés Security Principal corresponde a cualquier
entidad que se puede autenticar en un sistema basado en Windows como puede ser usuarios,
grupos de usuarios o procesos ejecutados en un contexto de seguridad de usuarios o
grupos de usuarios.
Cuando un usuario inicia sesión de forma satisfactoria el proceso LSA crea una Logon
Session que será utilizada para la creación del token de acceso y se incrementará la
referencia al número de sesiones creadas. Esta referencia también es aumentada cuando
se duplica el token, cuando un usuario ejecuta procesos en nombre de otro usuario, etc.
Para listar las Logon Sessions en un sistema se puede utilizar el comando logonsessions
de Windows Sysinternals [17] como se puede ver en la Figura 2.4.
11
Fig. 2.4. Salida del comando Logonsessions.
que una aplicación lleve a cabo un proceso de autenticación sin especificar los protocolos
de autenticación, denominados paquetes de autenticación que se verán en detalle en la
siguiente sección de este capítulo.
Kerberos.
Digest.
Schanell.
Negotiate.
12
Negotiate
Microsoft Negotiate [19] es un SSP que actúa como intermediario entre la API SPPI
y otro SSP. Cuando una aplicación requiera algún tipo de autenticación, se envía una
petición a Negotiate con los argumentos necesarios (parámetros, credenciales, SSPs a
utilizar...), este lo examinará y pasará la petición al SSP correspondiente que llevará a
cabo la autenticación.
Security Account Manager (SAM) corresponde a una base de datos que almacena
localmente la información sobre las cuentas de usuario y grupos de usuarios (identificador
de usuario, nombre de usuario y hash de la contraseña). Esta información es consultada
por el proceso LSA a la hora de autenticar a un usuario de forma local comparando el
hash de la contraseña introducida por el usuario y el hash de la contraseña contenido en
base de datos SAM. Esta base de datos corresponde con el fichero:
2.4. Autorización
Cuando el proceso LSA verifica la autenticación del usuario, se crea un Access Token,
este objeto describe el contexto de seguridad de un proceso o de un hilo (thread) [20].
Para los SSPI se denomina contexto de seguridad a una estructura de datos que contiene
datos relevantes de seguridad como puede ser la clave de sesión o la duración de dicha
sesión. Cada proceso ejecutado por un usuario dispone de una copia del token de acceso
de ese usuario. Windows utiliza estos tokens para identificar a un usuario cuando ejecuta
un hilo que necesite privilegios de ese usuario. La información contenida en un Access
Token es:
13
El SID de la cuenta del usuario en cuestión.
El Discretionary Access Control List (DACL) [21] por defecto que se utiliza cuando
el usuario crea un proceso sin especificar el descriptor de seguridad.
Otras estadísticas.
Cuando un administrador local inicia sesión en una máquina, se crean dos tokens
diferentes: Un token primario que contendrá el contexto de seguridad del usuario y un
token de administrador. Esto es debido a la política de Windows de mínimo privilegio
posible, esto significa que el sistema usará por defecto el token primario cuando un
proceso o hilo interactue con un Securable Objects [22]. Esto es importante a la hora
de entender User Account Control (UAC).
User Account Control (UAC) [23] [24]sirve para controlar cuando se están usando
privilegios de administración. Como se ha comentado anteriormente al iniciar sesión
desde una cuenta administrativa, se crean dos tokens de usuario: uno denominado full
access token y un token secundario denominado filtered access token. Esto permite que
los procesos ejecutados por este usuario se ejecuten con el segundo token siempre y
cuando no necesiten privilegios de administración y así cumplir la política de mínimo
privilegio posible. Esto lo podemos observar cuando se completa un inicio de sesión
válido, el proceso Explorer.exe se ejecuta con el filtered access token. Cuando un proceso
concreto necesita privilegios de administración, se requerirá una elevación de privilegios
realizando una elevación de UAC. Como se puede ver en la Figura 2.5 se ha ejecutado
una terminal (cmd.exe) con privilegios administrativos y aparece el mensaje de Control
de Cuentas de Usuario para elevar de privilegios.
14
Fig. 2.5. Control de Cuentas de Usuario al ejecutar cmd.exe
Para controlar qué procesos necesitan privilegios especiales o cuales no, los Sistemas
Windows hacen uso de Mandatory Integrity Control [25], un mecanismo para controlar
el acceso a los Securable Objects [22], para ello, el MIC utiliza niveles de integridad para
evaluar el acceso a un proceso. Estos niveles son: untrusted, low, medium, high, system e
installer [26] [27]. Esto implica que un objeto con integridad baja (low) no puede escribir
en un objeto de integridad medio.
Untrusted: Son aquellos procesos iniciados de forma anónima, como puede ser
procesos lanzados desde cuentas de invitados.
Low: Nivel de integridad usado por defecto para la interacción con internet. Cuando
se lanza Internet Explorer se utiliza este modo, por lo tanto, todos los archivos y
procesos asociados a este se le asignan un nivel de integridad bajo.
High: Nivel de integridad destinado para aquellos procesos que necesitan privilegios
de administración. Los objetos con este nivel de integridad solicitarán una elevación
de privilegios a través de UAC.
System: Nivel de integridad reservado para los objetos del sistema, estos objetos
engloban el kernel de Windows y servicios del core.
15
3. Paquetes de autenticación
3.1. MSV1_0
Este paquete de autenticación soporta tanto inicio de sesión de forma local como
inicio de sesión para cuentas y servicios en dominios. El paquete MSV1_0 ejecuta una
aquitectura cliente/servidor, es decir, el cliente es el que recibe las credenciales (username
y el hash de la contraseña) y las valida frente al servidor.
16
al proceso LSA local.
Los Sistemas Windows, en lugar de almacenar las contraseñas en texto plano, algo
que sería un gran problema de seguridad, utilizan los siguientes algoritmos de hash [30]:
El algoritmo Lan Manager (LM) para realizar la función hash de las contraseñas
almacenadas en Windows fue una de las primeras implementaciones que desarrolló Win-
dows para mantener cifradas las contraseñas. Hoy en día está práctiacamente en desuso y
desde 2017 se recomienda desactivar la opción de que se guarden las credenciales de esta
forma [31].
Algoritmo
El algoritmo de hash utilizado realiza el siguiente procedimiento:
Añadir un padding de carácteres nulos hasta que tenga una longitud de 14 carácteres.
Cifrar a través de DES las partes anteriores con el string "KGS!@#$ %".
Hashes NT
Los hashes NT, también conocidos como hashes NTLM, es la forma que utiliza actual-
mente Windows para almacenar las contraseñas de los usuarios del sistema. Estos hashes
están almacenados en la SAM si se trata de un equipo local o en el fichero NTDS del
Active Directory si se trata de un equipo en dominio. A través de la obtención de este tipo
de hashes se puede realizar un ataque de Pass-The-Hash (se detallará en los siguientes
capítulos).
17
Algoritmo
Windows encodea la contraseña del usuario con UTF-16 Little Endian y posterior-
mente realiza un hash con el algoritmo MD4:
MD4(UTF-16-LE(password))
Debido a las limitaciones que presentaba NTMLv1, Windows implementó una versión
mejorada de este protocolo: NTLMv2 que está disponible desde el paquete Windows NT
4.0 SP4. De la misma manera, se va a explicar el protocolo challenge/response utilizado
para esta versión:
18
1. El cliente realiza una petición de autenticación al servidor.
3.2. Kerberos
19
3.2.1. Aplicaciones de Kerberos
Las ventajas de utilizar Kerberos como protocolo de autenticación son las siguien-
tes [36]:
Single Sign-On: El uso de Kerberos permite a los usuarios acceder a los recursos de
un dominio sin introducir la contraseña cada vez que quieran acceder a un recurso
diferente.
20
Key Distribution Center (KDC)
Application Server (AP) corresponde con cualquier aplicación que soporte autenti-
cación a través del protocolo Kerberos. Corresponde al servicio o recurso al que quiere
acceder el cliente.
Claves
Clave del KDC o krbtgt: Clave derivada del hash NTLM de la cuenta krbtgt, sirve
para cifrar las partes más importantes del protocolo como el TGT.
Clave del cliente: Clave derivada del hash NTLM del usuario o cliente.
Clave del servicio: Esta clave depende del servicio y es la que se utiliza para cifrar
los tickets TGS.
Privilege Attribute Certificate (PAC) [39] es una estructura de datos que recoge la
información codificada sobre los privilegios del usuario. Esta estrucura está cifrada con
21
Fig. 3.1. Protocolo de autenticación Kerberos.
la clave del KDC. El cliente puede especificar que no se incluya el PAC en la petición del
TGT. Un servicio puede comprobar con el KDC si el PAC está firmado correctamente.
22
- Nonce: Número aleatorio generado por el usuario.
3. Una vez autenticado y en disposición del TGT, para poder utilizar un servicio es
necesario obtener un TGS. Para ello, el usuario envía un paquete KRB_TGS_REQ
con la siguiente información:
- SPN: Indicador único de la instancia del servicio asocido a la cuenta krbtgt.
- Nonce: Número aleatorio generado por el usuario.
- Ticket TGT - Datos cifrados: Datos cifrados con la clave del usuario que incluye:
Nombre de usuario y timestamp.
5. Una vez obtenido el ticket TGS, el usuario podrá presentarlo al servicio correspon-
diente. Para ello debe enviar a dicho servicio el paquete KRB_AP_REQ con la
siguiente información:
- Ticket TGS.
- Datos cifrados: Información cifrada con la clave de sesión del servicio que incluye:
Nombre de usuario y timestamp.
23
6. Por último, el servidor contesta con el paquete KRB_AP_REP. Este paquete es
opcional y sólo se envía si es necesaaria la autenticación mutua entre el cliente y el
servicio.
24
4. Active Directory
Lightweight Directory Access Protocol (LDAP) es un procolo que sirve para acce-
der a los servicios de directorio. Es utilizado por Active Directory como mecanismo de
comunicación entre aplicaciones y equipos con los servicios que dispone el directorio.
Además realiza un seguimiento de los objetos existentes en una red.
25
4.2. Términos y conceptos clave
Dominio (Domain)
Un registro DNS que identifica inequívocamente el dominio, como puede ser empresa.com,
ad.empresa.com. Este nombre será requisito para iniciar sesión en una cuenta de
dominio utilizándose como parte del nombre del usuario.
En relación con el término anterior, un árbol del inglés Domain Tree, son colecciones
de dominios que se agrupan como una estructura jerárquica. Un árbol se le puede considerar
como una serie de dominios conectados jerárquicamente a través de usar el mismo espacio
de nombres DNS. Un ejemplo sería, si al dominio anterior: empresa.com le añadimos un
“hijo” denominado recursoshumanos.empresa.com se crea un árbol de dominios compuesto
por un dominio padre o root (empresa.com) y un hijo o child (recursoshumanos.empresa.com).
Estos dominios forman parte del mismo árbol y se crean automáticamente relaciones de
confianza entre ellos. En un Active Directory pueden coexisstir multitud de árboles de
dominio diferentes.
26
Bosque (Forest)
Un bosque, del inglés Forest, a grandes rasgos es una colección de árboles de dominio
que comparten el mismo schema, misma estructura lógica, global catalog y configuración.
Alguno de estos términos será introducido a continuación. Todos los dominios pertene-
cientes a un mismo forest, establecen una relación de confianza transitiva. Cabe destacar,
que cuando se crea una instacia de Active Directory por primera vez y se crea un dominio,
también se está creando implícitamente un forest.
Schema
Fully Qualified Domain Name (FQDN) es la dirección completa que identifica un host
o recurso, este está compuesto por la unión del nombre del host hostname y el dominio. En
el ejemplo anterior, un equipo denominado Cliente01 su FQDN sería Cliente01.empresa.com.
Objetos (Objects)
Todos los elementos almacenados en una base de datos Active Directory se almacenan
en forma de objetos, cada objeto tiene un tipo diferente que le diferencia de otros objetos.
Cada objeto almacenado tiene un SID diferente que se utiliza para admitir o denegar el
acceso del objeto a un recurso del dominio. Los objetos creados por defecto en cualquier
dominio se pueden agrupar de la siguiente forma:
Usuarios.
27
Ordenadores.
Grupos de usuarios.
Contactos.
Carpetas compartidas.
Impresoras compartidas.
4.3.1. Requisitos
Software de virtualización
28
es aquel que te permite realizar las acciones descritas anteriormente que puede ser la
creación de sistemas operativos, creación de topologías de red, administración de recursos,
etc. Aunque hay gran variedad de software de virtualización, para la realización de este
proyecto se ha utilizado Oracle VM VirtualBox [45].
Máquinas Virtuales
Para este proyecto se van a utilizar cuatro máquinas virtuales. Para aquellas que se
necesite una licencia de software privativo se va a utilizar la versión de prueba que
proporciona Microsoft con el objetivo de que cualquiera pueda replicar dicho laboratorio
sin necesidad de lincencias adicionales. Las máquinas son las siguientes:
Gateway: Esta máquina virtual se va a utilizar como puerta de enlace entre la red
interna y la red externa lo que simula ser internet. Para su implementación, se ha
utilizado Debian 10 (Buster) sin escritorio para ahorrar recursos locales. La imagen
de este sistema operativo se puede descargar en 8 .
29
Instalación y actualización
Antes de configurar el Active Directory, se ha creado una topología en red que simula
a un entorno coorporativo fictio. Aunque este laboratorio únicamente disponga de una
máquina unida al dominio, en entornos reales son multitud los equipos unidos al dominio,
lo que posibilita un gran abanico de posibles entradas a la red de la empresa u organización.
A continuación se va a explicar la topología elegida y las configuraciones necesarias.
Topología de red
30
Fig. 4.1. Topología del laboratorio local.
Configuración de red
DC01
31
añadir el Adaptador1. Esto va a simular la tarjeta de red del DC01. Esta tarjeta
de red la vamos a conectar a la red ADNET como se puede ver en la Figura
4.2.
32
3. Por último, como se puede observar en la Figura 4.4, se elige Internet Version
Protocol 4(TCP/IPv4) y después las propiedades de este. Por último, se con-
figura la dirección IP (192.168.0.3), la puerta de enlace correspondiente al
Gateway (192.168.0.2) y el DNS. En la mayoría de entornos corporativos es
el propio Active Directory el que hace la función de servidor DNS, por lo
tanto se escribe la dirección de loopback: 127.0.0.1.
Cliente01:
33
Fig. 4.5. Configuración de red Cliente01 - IPv4.
Gateway:
1. Para esta máquina, es necesario habilitar dos interfaces, una que corresponde a
la ADNET o red interna y otra que corresponde con la EXTNET o red externa
(Figura 4.6).
34
Fig. 4.6. Configuración de red Gateway - Tarjetas de red.
4. Por último, permitimos que el gateway reenvíe los paquetes que le llegan. Para
eso se utiliza el siguiente comando:
35
Fig. 4.7. Configuración de red Gateway
Atacante01:
Comprobación de la conectividad
36
Fig. 4.9. Conexión entre Cliente01 y DC01
Una buena práctica es cambiar el nombre a los Sistemas Windows, esto nos facilitará
su identificación y su futura administración.
Para cambiar el nombre a DC01, se puede realizar desde el propio panel de admi-
nistración del servidor, a través de la opción Local Name Server - Computer Name
- Change como se puede ver en la Figura 4.11
37
Fig. 4.11. Cambio de nombre DC01
38
4.3.3. Creación y configuración del Active Directory
Intalación y configuración
39
Fig. 4.15. Instalación de AD DS - DC01.
4. En la sección Server Roles se elige Active Directory Domain Services (Figura 4.16),
al seleccionar esta opción se desplegará un menú donde debemos especifiar las
caracterísitcas, se seleciona en Add Features.
40
Fig. 4.17. Instalación de AD DS - Instalación.
41
Fig. 4.18. Instalación de AD DS - Promote to Domain Controller.
42
Además, se elige la contraseña para el Directory Services Restore Mode (DSRM)
(Figura 4.20).
9. En la pestaña de Paths podemos ver las rutas de los principales elementos del DC
como puede ser la base de datos NTDS y la carpeta SYSVOL (Figura 4.21).
43
Fig. 4.21. Instalación de AD DS - Rutas NTDS y SYSBOL.
10. Por último, instalamos las opciones definidas anteriormente Figura 4.22. Después
de esta opción es necesario reiniciar el servidor.
44
Fig. 4.22. Instalación de AD DS - Instalación.
1. Del mismo modo que para cambiar el nombre al equipo, es necesario ir a Control
Panel - System and Security - System, después realizar click en Change settings
(Figura 4.23).
45
Fig. 4.23. Enlazar cliente al dominio - Settings.
3. Al confirmar este cambio se requiere las credenciales del Domain Admin (Figura
4.25) y reiniciar el sistema.
46
Fig. 4.25. Enlazar cliente al dominio - Log on.
47
Fig. 4.27. Enlazar cliente al dominio - Dashboard.
Creación de usuarios
Para la fase de experimentación, además, se van a crear tres usuarios con distintos
privilegios de administración en el dominio. Para ello, desde DC01 se elige la opción
Tools - Active Directory Users and Computers - Laboratory.com - Computers (Figura
4.26) y después se selecciona Users - New - User como en la Figura 4.28.
48
Fig. 4.29. Usario de dominio.
49
Fig. 4.31. Añadir el usuario a un grupo.
50
Fig. 4.33. Usuario de dominio y administrador local.
Una vez añadido, es posible loguearse con dicha información (Figura 4.34).
51
5. Experimentación
La idea principal del ataque Pass the hash (PtH) [46] es la autenticación de un usuario
legítimo sin la necesidad de conocer la contraseña de usuario en texto claro. Para ello,
el atacante únicamente debe disponer del hash de la contraseña del usuario a suplantar.
Los inicios de este ataque o técnica de movimiento lateral se retoman a 1997 cuando Paul
Ashton lanzó el primer Pass the hash (PtH) con una versión de SMB modificado [47].
Por lo tanto, para llevar a cabo esta técnica, es necesario que el atacante obtenga el
Hash NT del usuario al que quiera suplantar. Este hash puede ser obtenido a través del
volcado de la base de datos SAM 10 , de copias de seguridad o backups de esta 11 , el
volcado de las credenciales almacenadas por el usuario en el proceso LSASS (tiene que
10
C:\windows\system32\config\SAM
11
C:\windows\repair\sam
52
haber una logonsession con dicho usuario), a través del volcado de credenciales de la
base de datos NTDS o a través de interceptar los mensajes Challenge-Response cuando
se autentica un usuario y crackeado el Hash NTLM para llegar a sacar el hash NT [49].
Como abstracción de la capacidad de este ataque, se puede decir que Pass the hash
(PtH) permite de manera efectiva la suplantación de cualquier empleado o cliente de una
empresa, sin la necesidad de conocer la contraseña, únicamente conociendo el Hash NT
de esta. Por lo tanto, el uso de contraseñas robustas no protegería de este tipo de ataques.
Experimentación
Una vez obtenido una Reverse Shell interactiva con privilegios de administrador se va
a realizar la técnica de Pass The Hash a través del usuario administrador federicogar. Este
usuario se ha logueado previamente en el Cliente01 por lo tanto tiene una logon session
en la máquina.
53
Fig. 5.2. Paquetes intercambiados entre Cliente01 y DC01 - Sin pass the hash.
# privilege :: debug
# sekurlsa :: logonpasswords
4. El comando anterior lista todas las sesiones activas en el usuario, por lo tanto, se
busca la que pertenece al usuario víctima y se obtiene el Hash NT (Figura 5.4).
54
Fig. 5.4. Hash del usuario víctima.
5. La propia herramienta Mimikatz permite realizar el ataque Pass the Hash a través
del siguiente comando, el resultado de este comando se puede observar en la Figura
5.5.
55
6. En el comando anterior, se definió ejecutar el comando cmd.exe. Este comando se
ejecutará en el Cliente01, por lo tanto, si queremos que se ejecute otra Reverse
Shell con privilegios del usario víctima sería necesario especificar otro comando.
En la shell resultante (Figura 5.6) se puede observar que aunque seguimos siendo
el usario mariarperez se puede listar los archivos de DC01. Esto es debido a que
Mimikatz genera una nueva sesión para el usuario mariarperez y sobreescribe el
contenido de las credenciales con el hash del otro usuario.
Fig. 5.7. Paquetes intercambiados entre Cliente01 y DC01 - Con pass the hash.
Hoy en día los ataques de NTLM Relay son un técnica muy utilizada por Pentesters
y atacantes permitiendo el acceso a activos o recursos críticos incluso si la organización
dispone de buenas prácticas para la gestión de la seguridad. A grandes rasgos, esta técnica
56
de movimiento lateral o vertical se puede sintetizar como un ataque de pass the hash pero
a nivel de red.
Como es de esperar, este tipo de ataques han sido perseguidos de cerca por Microsoft
y ha implementado medidas que dificultan o imposibilitan este ataque. Una de ellas es
el parche MS08-068 [52] que imposibilita que se pueda retrasmitir un Hash NTLM a la
misma máquina de la que se obtuvo imposibilitando así los ataques de NTLM Replay
reflejado. Sin embargo, estos hashes se pueden retrasmitir a otros servicios o máquinas.
57
Para replicar este tipo de ataques en el laboratorio local se va a utilizar la herramienta
Responder [53]. Antes de definir esta herramienta es necesario hablar de los Windows
Name Resolution, es decir, de la forma que utilizada Microsoft para resolver los nombres
de dominio. Para ello, se utilizan los protocolos: Link Local Multicast Name Resolution
(LLMNR) y NetBIOS over TCP/IP Name Service. La herramienta Responder realiza un
“envenenamiento” de estos protocolos y permite obtener las credenciales en red. Esta
herramienta crea servidores de autenticación como puede ser SMB, MYSQL, HTTP(s),
FTP... y obliga a la víctima a enviar las credenciales a estos servidores y así poder obte-
nerlas.
Por lo tanto, con la herramienta Responder se puede obtener los Hashes NTLM de
una conexión de autenticación y retrasmitirlos a través de otra herramienta como puede
ser ntlmrelayx.py de la librería de Impacket o MultiRelay.py.
Una de las limitaciones de este ataque es que la medida que implementó Windows:
SMB Signing [54] debe estar desactivada. Esta medida firma los paquetes SMB para evitar
que estos sean modificados durante su retrasmisión. Se puede suponer que esta medida
esta desactivada ya que en la mayoría de los Sistemas Windows están desactivadas a
excepción de Windows Server como se puede ver en la Figura 5.8.
Experimentación
Para ejecutar este ataque, la máquina Atacante01 tiene que estar en la misma red. Para
ello, desde VirtualBox añadimos una nueva tarjeta de red que esté conectada a ADNET y
le asignamos la dirección IP: 192.168.0.5.
58
Fig. 5.9. Archivo de configuración Responder.conf.
3. Para que este ataque funcione se necesita la interacción del usuario víctima. En este
caso bastaría que el usuario con privilegios de Domain Admin se conectara a un
recurso inexistente como puede ser 12 (Figura 5.11).
12
\\test\C$
59
Fig. 5.11. Interacción del usuario.
La técnica Overpass the hash, también conocida como Pass the key (PTK), es la
equivalencia a Pass the hash para el protocolo de autenticación Kerberos. Como se ha
visto anteriormente, durante el intercambio de paquetes, el usuario cifra una marca de
tiempo o timestamp. En función de la versión de Kerberos se va a utilizar un secreto u
otro, en este caso en las versiones más antiguas utiliza un secreto RC4 que equivale al
Hash NT del usuario, y en versiones más modernas utiliza claves de AES128 y AES256.
Por lo tanto, con el Hash NT del usuario se puede obtener un Ticket TGT y realizar la
autenticación correctamente.
Experimentación
1. En primer lugar, se parte desde una Reverse Shell interactiva con privilegios de
administrador del usuario mariarperez y se trata de listar el directorio C$ del DC01
a través de protocolo de Kerberos (Figura 5.13).
60
Fig. 5.13. Reverse Shell interactiva.
3. Se repiten los pasos hechos en Pass the hash listando las sesiones activas y obteniendo
el hash de la contraseña (Figura 5.15 y Figura 5.16).
61
Fig. 5.16. Hash del usario víctima.
4. Se realiza el ataque a través del mismo comando que en Pass the hash (Figura 5.17).
62
Fig. 5.18. Ataque overpass the hash realizado correctamente.
6. En los paquetes KRB5 intercambiados se puede ver que se usa RC4 (Figura 5.19)
y que la autenticación se completa correctamente recibiendo así un Ticket TGT.
El ataque Pass the ticket [55] consiste en la obtención de un Ticket TGS válido de
un usuario y la utilización de este para acceder a servicios o recursos donde el usuario
tenga acceso. Esta técnica de movimiento lateral y/o movimiento vertical utiliza, para
la autenticación de un usario legítimo, un ticket válido encontrado en el sistema. Una
característica de este ataque es que no es necesario ser administrador local para importar
los tickets de Kerberos.
Experimentación
Para la ejecución del ataque Pass the ticket es necesario que el usuario con privilegios
al que se quiere suplantar haya solicitado un Ticket TGS en la máquina de la que se
63
dispone una conexión activa. A continuación, se detallará el proceso realizado.
1. Como se puede observar en la Figura 5.20, al igual que en los ataques anteriores,
se dispone de una sesión activa a través de una Reverse Shell interactiva del usuario
administrador local mariarperez. Además, con el comando klist se pueden listar los
tickets tanto TGT como TGS de los que dispone dicho usuario. En este caso no
dispone de ninguno.
3. Si listamos todos los tickets que ha logrado obtener el comando anterior (Figura
5.22) se puede observar que existen tickets cuyo usuario es federicogar, domain
admin de Active Directory.
64
Fig. 5.22. Lista de tickets obtenidos.
4. Una vez elegido el ticket, se utiliza de nuevo la herramienta Mimikatz para realizar
el ataque de Pass the ticket a través del comando que se puede ver en la Figura
5.23. Para comprobar que el ataque se ha creado correctamente se vuelven a listar
los tickets para el usuario mariarperez y se observa que existe un ticket TGT cuyo
cliente es federicogar.
5. Con el ticket TGT válido, ya se puede obtener un ticket TGS que permita acceder a
los recursos del usuario suplantado (Figura 5.24).
65
Fig. 5.24. Comprobación del ataque pass the ticket.
La técnica Golden Ticket [56] no es un ataque como tal, es una técnica de persistencia
que consiste en generar un ticket TGT cuya caducidad puede ser definida por el atacante.
Para ello, es necesario disponer del hash de la cuenta de usuario krbtgt para poder cifrar
el ticket correctamente. Esta técnica es una de las técnicas más importantes ya que al
disponer del hash de la cuenta krbtgt es posible suplantar todas las cuentas del Active
Directory y otorga al atacante acceso a todos los recursos del dominio además de ser una
técnica prácticamente indetectable [57].
Experimentación
Antes de realizar este ataque, como requisito fundamental es necesario obtener el Hash
NT o culaquier hash de la cuenta krbtgt, por lo tanto, es una técnica de post-explotación
y persistencia ya que es necesario haber comprometido el Active Directory y disponer de
una cuenta Domain Admin.
66
Fig. 5.25. Obtención de la información de la cuenta krbtgt.
1. Una vez obtenido el Hash de la cuenta krbtgt, desde una cuenta sin privilegios ni
tickets asociados (Figura 5.26) se puede crear un Golden Ticket.
67
Fig. 5.26. Cuenta desde la que se va a realizar el ataque.
# kerberos :: golden / domain :[ Dominio ] /sid :[ SID del dominio ] /[ rc4/ aes128 / aes256 ]:[
Hash krbtgt ] /user :[ Usuario a suplantar ] /ptt /id :[ ID] / groups :[ Lista de
grupos a los que va a pertenecer el usuario ] / endin :600
68
3. Por último, se comprueba que el Golden Ticket se ha creado correctamente (Figura
5.28) y que se tiene acceso a los ficheros del Domain Controller.
5.6. Kerberoast
Experimentación
69
Fig. 5.29. Advanced features.
70
listan todos los SPN disponibles en el dominio. Como se puede ver en la Figura
5.31 aparece el SPN creado anteriormente. El comando ejecutado es el siguiente:
3. Una vez creado el TGS, se exporta con la herramienta Mimikatz (Figura 5.33) a
través del siguiente comando:
71
# kerberos :: list / export
72
6. Resultados
En este capítulo se van a discutir los resultados obtenidos tanto en la creación del
laboratorio como la experimetnación de los principales ataques que afectan a Active
Directory en la última versión de Windows Server 2019.
NTLM Relay
Para evitar ataques de NTLM Relay, Microsoft ha implementado varias medidas, entre
ellas y la más efectiva ha sido incluida en el parche MS08-068 que imposibilita ataques
de NTLM Reflejado, es decir, que no es posible transmitir el Hash NTLM a la misma
máquina que se obtuvo, aunque como se ha visto en la literatura es posible enviarlo a
otro servicio o recurso. Por otro lado, la otra medida es la firma de los paquetes SMB
para evitar que el mensaje se altere y proteger la integridad del mensaje. Esta medida
imposibilita los ataques de SMB Relay basados en el protocolo SMB aunque esta medida
no está activada por defecto en la mayoría de los equipos con sistema operativo Windows.
Pese a estas medidas, se ha comprobado la eficacia de este ataque ya que la única premisa
73
es que el atacante esté en la misma red que el dominio y ha sido posible realizar un
volcado de la base de datos SAM.
Este ataque ha sido posible realizarlo del mismo modo que el ataque pass the hash.
Overpass the hash permite realizar estos ataques en el paquete de autenticación Kerberos,
ampliamente utilizado para la autenticación en servicios y recursos utilizados por Active
Directory.
La eficacia del ataque pass the ticket reside en la obtención de un Ticket TGT válido
que resulte de interés para acceder a recursos importantes como puede ser un Domain
Controller o equipos con información confidencial. A diferencia de ataques de pass the
hash u overpass the hash no es necesario tener una sesión de administrador local para
obtener los Tickets TGS algo que puede ser de utilidad cuando no se ha conseguido elevar
privilegios en una máquina comprometida.
Golden Ticket
Kerberoast
74
7. Conclusiones y trabajo futuro
7.1. Conclusiones
A lo largo del trabajo se han revisado en profundidad las diferentes técnicas y ataques
que puedes comprometer la seguridad de un Active Directory en la última versión propor-
cionada por Micorosft: Windows Server 2019. Se ha implementado un laboratorio local
que permite la replicación de dichos ataques y diferentes pruebas en un entorno controlado
sin afectar a una implementación de una empresa u organización. Esto ha requerido la
instalación de diferentes sistemas operativos, la configuración de una topología de red
que puede simular a un entorno real, la configuración de Active Directory y la creación de
diferentes usuarios con distintos privilegios. Una vez montado el laboratorio de pruebas
ha sido posible replicar dichos ataques de manera satisfactoria.
La realización de este proyecto ha servido para adquirir una base en Active Directory
y conocer los principales ataques utilizados por atacantes y profesionales de la seguri-
dad informática. El conocimiento adquirido es de gran importancia hoy en día debido a
la multitud de empresas que utilizan Active Directory como servicio de directorio para
gestionar los recursos en red.
A lo largo de este proyecto se han encontrado limitaciones que han sido asumidas
y definidas fuera del alcance de este proyecto, como puede ser la fase de enumeración,
acceso inicial, explotación y elevación de privilegios en Sistemas Windows centrando
este proyecto en movimientos laterales y movimientos verticales a través de una red. Por
lo que se define como objeto de estudio futuro las fases previas a comprometer un sistema.
75
En cuanto al laboratorio, este trabajo se ha centrado en un único dominio Laboratory.com
como objeto de estudio. Las empresas de hoy en día disponen de multitud de forest,
dominios y subdominios debido a la gran cantidad de recursos a gestionar, por lo que
sería interesante ampliar el laboratorio con distintos forest y dominios y investigar cómo
gestiona Windows las relaciones de confianza entre ellos.
Por último, en cuanto a los ataques sería de gran utilidad probar diferentes variaciones
a dichos ataques o la experimentación de otros ataques interesantes como DCSync. Otra
de las limitaciones asumidas a lo largo del desarrollo del trabajo ha sido la utilización de
herramientas como Mimikatz. Estas herramientas son objeto de estudio por los antivirus y
es importante que el ataque no sea detectado por administradores de sistemas o el equipo
de Blue Team. Por lo tanto, como trabajo futuro sería la investigación de dichas herra-
mientas y la detección que hacen antivirus como Windows Defender.
76
Bibliografía
[2] C. Truran, “Active directory: The crown jewels for insider attacks.”
https://www.scmagazineuk.com/active-directory-crown-jewels-
insider-attacks/article/1473390, Febrero 2018.
[3] M. Bresman, “Wannacry, notpetya, mbr-oni and friends: Tales of wiper attacks and
active directory destruction.” https://www.semperis.com/blog/wannacry-
notpetya-wiper-attacks-active-directory, Abril 2018.
[5] C. Cimpanu, “Norsk hydro ransomware incident losses reach $40 million after
one week.” https://www.zdnet.com/article/norsk-hydro-ransomware-
incident-losses-reach-40-million-after-one-week, Marzo 2019.
77
[13] Microsoft, “Lsa authentication,” Mayo 2018. https://docs.microsoft.com/
en-us/windows/win32/secauthn/lsa-authentication.
[15] K. Brown, The .NET Developer’s Guide to Windows Security (Microsoft Net
Development Series). Addison-Wesley Professional, 2004.
78
[28] Microsoft, “Msv1_0 authentication package.” https://docs.microsoft.com/
en-us/windows/win32/secauthn/msv1-0-authentication-package, Mayo
2018.
[33] Wikipedia, “NT LAN Manager — Wikipedia, the free encyclopedia.” https://
en.wikipedia.org/wiki/NT_LAN_Manager, 2019.
79
[41] M. Wilson, “Kerberos authentication explained.” https://www.markwilson.co.
uk/blog/2005/06/kerberos-authentication-explained.htm, Junio 2005.
[47] P. Ashton, “Nt pass the hash with modified smb client vulnerability.” https://www.
securityfocus.com/bid/233/info, Abril 1997.
[51] M. Baggett, “Smb relay demystified and ntlmv2 pwnage with python.”
https://pen-testing.sans.org/blog/2013/04/25/smb-relay-
demystified-and-ntlmv2-pwnage-with-python, Abril 2013.
80
[56] E. Pérez, “Tickets de kerberos: Comprensión y explotación.” https://www.
tarlogic.com/blog/tickets-de-kerberos-explotacion/, Marzo 2017.
81