Está en la página 1de 28

Julio Ureña

Instructor

Operaciones Ofensivas en entornos de


Windows & Active Directory
Contenido
1. Windows & Active Directory - Conceptos fundamentales.
2. Escalación de Privilegios - Local en Windows.
3. Robo de Credenciales y Manipulación de Accesos.
4. Movimientos Laterales.
5. Enumeración de Active Directory.
6. Ataques de Active Directory parte 1.
7. Ataques de Active Directory parte 2.
8. Comando y Control.
9. Operaciones Ofensivas en Windows con Comando y Control.
10. Simulación de Operación de RedTeam.

2
Lección Anterior:

Session N° 2: Escalación de Privilegios -


Local en Windows

3
Julio Ureña
Instructor

Sesión N° 3: Robo de Credenciales y


Manipulación de Accesos.
La Historia detrás de Mimikatz...
• Creado por Benjamin Delpy @gentilkiwi
• Primeros nombres (2007 – 2010): Kdll, kdllpipe, katz, mimikatz
• Mimikatz es Cute Cat en Frances. Lindo gato, gato lindo o gatico.
• Empezó con la necesidad de Benjamin de entender mejor PtH (Pass The
Hash) y exportación de certificados, en ese momento no había una
herramienta que funcionara en 64bits y decidió crear su propia herramienta
y aprender C & C++ en el proceso.
• Primera presentación de Mimikatz 2011 y luego fue a Rusia en 2012 donde
recibió una visita de espías Rusos …
Contraseñas la memoria (LSASS)
• El modulo de sekurlsa tiene comandos para extraer credenciales de LSASS
• sekurlsa::logonpasswords – extrae todas las credenciales soportadas por
los diferentes proveedores: msv, wdigest, tspkg, kerberos,ssp and credman
• sekurlsa::msv – NTLM, LM hashes and cleartext
• sekurlsa::wdigest – Wdigest hashes and cleartext
• sekurlsa::tspkg – Terminal service SSP cleartext
• sekurlsa::kerberos - Lists Kerberos credentials
• sekurlsa::ssp – CredSSP cleartext
• sekurlsa::credman – Credential Manager cached cleartext

Fuente: Entrenamiento de Carlos Perez


Pass The Hash
Un ataque Pass-the-Hash (PtH) es una técnica mediante la cual un atacante
captura un hash de contraseña (a diferencia de los caracteres de la contraseña)
y luego simplemente lo pasa para la autenticación y el posible acceso lateral a
otros sistemas en red.

No es necesario descifrar el hash para obtener una contraseña en texto plano.


Los ataques PtH explotan el protocolo de autenticación, ya que el hash de las
contraseñas permanece estático para cada sesión hasta que se rota la
contraseña. Los atacantes comúnmente obtienen hashes extrayendo el
contenido de la memoria de un sistema y otras técnicas.
Contraseñas de Usuarios Locales...

• El modulo de Lsadump nos permite interactuar con LSA (Local Security


Authority) local y remotamente, listar los paquetes de Seguridad y trabajar
con credenciales guardas en los registros de SAM.
• lsadump::sam este comando extrae la base de datos Security Account
Managers (SAM). Contiene NTLM, y a veces LM hash, de las contraseñas de
los usuarios.
• Puede funcionar en dos modos: en línea (con el usuario o token SYSTEM) o
sin conexión (copia de seguridad SYSTEM & SAM)
Data Protection API (DPAPI)
• La API de protección de datos
(DPAPI) es un componente
Cifrar Descifrar integrado en Windows que
proporciona un medio para cifrar y
Aplicación Aplicación descifrar "blobs" de datos. Utiliza
claves criptográficas que están
vinculadas a un usuario o
Datos hLs2F0 computadora específicos y permite
que tanto la funcionalidad nativa de
hLs2F0 Datos Windows como las aplicaciones de
terceros protejan / desprotejan los
CryptProtectData CryptUnprotectData datos de manera transparente para
el usuario.
• Dos implementaciones comunes de
DPAPI incluyen el Administrador de
DPAPI DPAPI credenciales de Windows y Google
Chrome.
Credenciales en Cache & Control de lsass
• lsadump::cache por default Windows 10 guarda hasta 10 credenciales
hashcat –m2100 hash.txt wordlist.txt (MsCacheV2)

• misc::memssp nos permite manipular el funcionamiento de LSASS e


injectar una porción de codigo que provocará que cada vez que un usuario
haga inicio de sesión en el equipo, sus credenciales sean guardadas en
texto plano.
• Las credenciales son guardadas en C:\Windows\System32\mimilsa.log
• Una vez el equipo es reiniciado, SSP no estará presente.

https://tools.thehacker.recipes/mimikatz
¿Qué más puedo hacer con Mimikatz?
• Manipulación de Procesos & Tokens • Manipulación de Servicios
• Remover Protección de Procesos • Manipular el Terminal Service
• Claves de Wireless & SSH • Volcados de Memoria
• Verificación de hooks de procesos • Pass The Ticket
• Cambiar el fondo del escritorio • Golden Tickets / Silver Tickets
• Monitorear el clipboard • Golden Tickets + SID History
• Modificar Privilegios
• Manipular Eventos y Logs
• Control remoto vía RPC

https://tools.thehacker.recipes/mimikatz
Rubeus
Rubeus es un conjunto de herramientas de C# para la interacción y los abusos
de Kerberos. Está muy adaptado del proyecto Kekeo de Benjamin Delpy y del
proyecto MakeMeEnterpriseAdmin de Vincent LE TOUX.

• La capacidad de solicitar tickets de concesión de boletos (TGT) de hashes de


usuario (rc4_hmac/aes128_cts_hmac_sha1/aes256_cts_hmac_sha1), así
como aplicar los TGT solicitados a la sesión de inicio de sesión actual. Esto
proporciona una alternativa al "over-pass-the-hash" de Mimikatz que no
manipula la memoria de LSASS y no requiere privilegios administrativos.
• La posibilidad de solicitar tickets de servicio a los TGT existentes.
• El único abuso de delegación restringida de S4U (incluida la sustitución de
nombre) que conozco fuera de Impacket.
Impersonización de Usuarios
Como ejecutar desde el contexto de un usuario.
Con Credenciales
PowerShell Script
Metasploit (C2)
Custom Code
Over-Pass The Hash
Pass-The-Hash != Over-Pass-The-Hash.
La técnica tradicional de pasar el hash implica reutilizar un hash a través del
protocolo NTLMv1/NTLMv2, que no toca Kerberos en absoluto. El enfoque
over-pass-the-hash fue desarrollado por Benjamin Delpy y Skip Duckwall
(consulte su presentación "Abusing Microsoft Kerberos - Sorry you guys don't
get it" para obtener más información).
Este enfoque convierte un hash/key (rc4_hmac, aes256_cts_hmac_sha1, etc.)
para un usuario unido a un dominio en un Ticket-Granting-Ticket (TGT)
completo.
Rubeus - Evasión de Defensas con - eKeys
Los dominios modernos de Windows (nivel funcional 2008 y superior) utilizan
el cifrado AES de forma predeterminada en los intercambios normales de
Kerberos. El uso de un hash rc4_hmac (NTLM) en un intercambio de Kerberos
en lugar de una clave aes256_cts_hmac_sha1 (o aes128) da como resultado
una señal que es detectable a nivel de host, nivel de red (si se analiza el tráfico
de Kerberos) y nivel de registro de eventos del controlador de dominio , a
veces conocido como "degradación de cifrado".

Una forma en que ambos enfoques pueden ser potencialmente detectados es


la detección de "degradación de cifrado" mencionada anteriormente.

Para extraer AES keys, use el módulo sekurlsa::ekeys de Mimikatz para


devolver TODAS las claves de cifrado de Kerberos (lo mismo con
lsadump::dcsync), que es mejor usar cuando se intenta evadir algunas
detecciones.
Impersonización de Usuarios - eKeys
Este módulo de Mimikatz volcará las claves de cifrado de Kerberos.
Dado que la mayoría de los servicios de Windows eligen usar Kerberos
en lugar de NTLM, aprovecharlos en lugar de los hashes de NTLM
tiene más sentido para parecer parte normal del tráfico de
autenticación.

Los campos aes256_hmac y aes128_hmac (si están disponibles) son


los que queremos usar con Overpass the Hash.
Rubeus - Evasión de Defensas con - /opsec

De forma predeterminada, existen varias diferencias entre los AS-REQ


generados por Rubeus y los AS-REQ genuinos.

Para formar AS-REQ más en línea con solicitudes genuinas, se puede usar el
indicador /opsec, esto enviará un AS-REQ inicial sin autenticación previa
primero, si esto tiene éxito, el AS-REP resultante se descifra y TGT devuelve, de
lo contrario, un A continuación, se envía AS-REQ con autenticación previa.

Como esta bandera está destinada a hacer que el tráfico de Rubeus sea más
sigiloso, no se puede usar de manera predeterminada con ningún tipo de
encriptación que no sea aes256 y solo arrojará una advertencia y saldrá si se
usa otro tipo de encriptación.
Rubeus – Mimikatz
Veremos otros usos de Rubeus y Mimikatz en las próximas clases

• Golden Ticket
• Silver Ticket
• Ataques a Active Directory
Metasploit
PowerShell Script – Invoke-TheHash

Invoke-TheHash contiene funciones de PowerShell para realizar tareas WMI y


SMB de Pass-the-Hash. Se accede a las conexiones WMI y SMB a través de
.NET TCPClient. La autenticación se realiza pasando un hash NTLM al protocolo
de autenticación NTLMv2. No se requiere privilegio de administrador local en
el lado del cliente.

https://github.com/Kevin-Robertson/Invoke-TheHash
Convirtiendo las herramientas en Armas
Una forma común en que se detectan las herramientas de ataque es a través
del vector que se utilice.

• Si Rubeus o cualquier otra herramienta se ejecuta a través de PowerShell,


se aplican todas las protecciones estándar de PowerShell V5 (registro
profundo de bloques de secuencias de comandos, AMSI, etc.).
• Si se ejecuta como un binario en el disco, entra en juego la detección de
firma AV estándar.
• Si se ejecuta como una DLL, entonces es susceptible a cualquier método
que use la herramienta principal para ejecutarse.
• Si se ejecuta a través de una ejecución de ensamblado no administrada
(como execute_assembly de Cobalt Strike), se realiza una inyección de
código entre procesos y el CLR se carga en un proceso potencialmente no
.NET, aunque esta señal está presente para la ejecución de cualquier código
.NET que use este método.
Password Attacks – Password Spray - CME
CrackMapExec (también conocido como CME) es una herramienta posterior a
la explotación que ayuda a automatizar la evaluación de la seguridad de las
grandes redes de Active Directory. Construido con sigilo en mente, CME sigue
el concepto de "Vivir de la tierra": abusar de las características/protocolos
integrados de Active Directory para lograr su funcionalidad y permitirle evadir
la mayoría de las soluciones de protección de Endpoints/IDS/IPS.
Ataques de autenticación forzada - Responder
Cuando un usuario o un sistema intenta realizar una resolución de nombre
(NR), una máquina realiza una serie de procedimientos para recuperar la
dirección IP de un host por su nombre de host. En máquinas con Windows, el
procedimiento será más o menos el siguiente:

1. Se requiere la dirección IP del recurso compartido de archivos de nombre


de host.
2. Se comprobará el archivo del host local
(C:\Windows\System32\Drivers\etc\hosts) en busca de registros
adecuados.
3. Si no se encuentran registros, la máquina cambia a la caché de DNS local,
que realiza un seguimiento de los nombres resueltos recientemente.
4. ¿No hay ningún registro DNS local? Se enviará una consulta al servidor DNS
que se ha configurado.
5. Si todo lo demás falla, la máquina emitirá una consulta de multidifusión,
solicitando la dirección IP del recurso compartido de archivos de otras
máquinas en la red.
Impacket
Impacket es una colección de clases de Python para trabajar con protocolos de
red. Impacket se enfoca en proporcionar acceso programático de bajo nivel a
los paquetes y, para algunos protocolos (por ejemplo, SMB1-3 y MSRPC), la
implementación del protocolo en sí.

Herramientas comunes de Impacket:


• Psexec
• Smbexec
• Atexec
• Wmiexec
• Ntlmrelayx
• Smbserver
• Secretdump
Ataques de autenticación forzada - Responder
Responder es una herramienta de envenenamiento de NBT-NS (Servicio de
nombres NetBIOS), LLMNR (Resolución de nombres de multidifusión local de
enlace) y mDNS (DNS de multidifusión), con diferentes capacidades, una de
ellas es la posibilidad de configurar servicios falsos, incluido SMB, para robar
hashes NetNTLM v1/v2. En su configuración por defecto, encontrará tráfico
LLMNR y NBT-NS. Luego, responderá en nombre de los servidores que la
víctima está buscando y capturará sus hashes de NetNTLM.
Ataques de autenticación forzada - NTLMRelayx
Hay varias herramientas disponibles que abusan de la autenticación NTLM.
Uno de ellos es Ntlmrelayx. Cuenta con retransmisión (relaying) a una amplia
gama de protocolos. La herramienta acepta múltiples objetivos, recorriendo
cada uno de ellos para encontrar sistemas en los que autenticarse. La
herramienta cuenta con un servidor SMB y HTTP, desde el cual puede
transmitir la autenticación NTLM a SMB, HTTP(s), IMAP, LDAP y MSSQL.
Quiz
Robo de Credenciales & Manipulación de Accesos
Ejercicios
Crear cuentas de usuarios y realizar los ataques.

También podría gustarte