Explotando Zerologon y Convirtiendose en Domain-Admin

Descargar como pptx, pdf o txt
Descargar como pptx, pdf o txt
Está en la página 1de 32

Explotando zerologon

y convirtiendose en
Domain-Admin
▫ Mi nombre es Msc. Jorge Campoverde
▫ Gobierno de la Ciudad de Buenos Aires
▫ Multinacional BDO
▫ Caja de valores Argentina
▫ CNE
▫ Produbanco
2

3

▫ Zerologon es el nombre dado a la vulnerabilidad identificada en CVE-2020-1472. Se le ha llamado Zerologon debido al
error en el proceso de inicio de sesión donde se establece el vector de inicialización (VI) en cero todo el tiempo cuando, en
realidad, un vector de inicialización siempre debería ser un número aleatorio.
▫ Debido a la mala implementación del vector de inicialización en MS-NRPC, solo lleva unos 256 intentos obtener la
correcta. Normalmente, una cuenta de usuario se bloquearía transcurridos tres intentos de adivinación de contraseña, pero
no se sigue el mismo patrón para una cuenta de equipo u ordenador.

▫ La vulnerabilidad permite a un hacker hacerse con el control de un controlador de dominio (CD), incluido el CD raíz.  Esto
se realiza modificando o eliminando la contraseña para una cuenta de servicio en el controlador. A continuación, el hacker
puede provocar la denegación del servicio o tomar el control y apropiarse de toda la red.

▫ Para cambiar la contraseña, los atacantes utilizan el mensaje NetServerPasswordSet2 en MS-NRPC. Es posible modificar
una contraseña enviando simplemente el marco con la nueva contraseña preferida.

▫ Para que los atacantes realicen un exploit de esta vulnerabilidad, deben poder establecer una sesión de TCP con un CD.

4

Windows Server 2008 R2 for x64-based Systems Service Pack 1
Windows Server 2008 R2 for x64-based Systems Service Pack 1 (
Windows Server 2012
Windows Server 2012 (Server Core installation)
Windows Server 2012 R2

PRODUCTOS AFECTADOS
Windows Server 2012 R2 (Server Core installation)
Windows Server 2016
Windows Server 2016 (Server Core installation)
Windows Server 2019
Windows Server 2019 (Server Core installation)
Windows Server, version 1903 (Server Core installation)
Windows Server, version 1909 (Server Core installation)
Windows Server, version 2004 (Server Core installation)

5

6
¿Cómo se explota zerologon?
ESCENARIO

8
ESCANEO A TRAVÉS DE NMAP

9
NOMBRE DEL NETBIOS

El nombre del NETBIOS en donde está instalado el AD-DC, ya que es lo que


se recibe como parámetro para la ejecución, en este caso es “NetBIOS
computer name: ZERORLOGON\x00”.
10
▫ 
Verificación si el AD es vulnerable

11
12
Al observar que el AD-DC es vulnerable se procede a la ejecución del exploit.
Para la explotación exitosa, hay que tener en cuenta lo siguiente:

 La explotación exitosa no cambia cuentas de usuario (Ni de Active


Directory, ni Cuentas Locales) ,lo que hace es poner en blanco el password
de la máquina ,lo que permite la conexión a través de Netlogon.
 Para la explotación de esta vulnerabilidad , solo hace falta tener una
conexión TCP hacia el AD-DC vulnerable .
 Al no cambiar password de alguna cuenta, es muy complicado que el
administrador del AD se de cuenta que su sistema fue comprometido.
 En esta prueba de concepto, se ejecutó un exploit POST-EXPLOTACIÓN, el
cual permite reestablecer la clave de la máquina, lo que haría mucho mas
complejo la detección de un atacante, si no están configuradas de manera
correcta las alertas de los eventos explicados en las Guidelines oficiales de
Microsoft.

13
Explotación

Para la ejecución del exploit, solo se necesita tener una conexión TCP con el DC
vulnerable, y se setea los dos parámetros. El NETBIOS de la máquina en donde está
instalado el AD-DC, y la IP

14
¿ Y ahora ?

Algo que hay que tener en cuenta es la sintaxis que está señalada en rojo, ya
que el protocolo SMB solo de esta manera acepta el no-pass y permite la
ejecución de secretdump.py.
15
Existen dos Caminos

16
Existen dos Caminos
ZEROLOGON

TÉCNICA DE PASS THE


CRACKEAR EL HASH
HASH

hashcat John The Reaper Evil Wirm Impacket

17
Crackear el Nt-hash.
Para poder crackear el hash , se hizo uso de una herramienta online
https://hashes.com/en/decrypt/hash , en el cual solo se setea el hash y se
espera el resultado. Cabe recalcar que la clave, se encuentra en el tercero
octeto.
 

18
Como se puede observar en la
imagen anterior , el hash si estaba
en la base de datos , y tenemos la
clave para poder acceder al
servidor a través de RDP.

19
20
Como se puede observar, a
través de RDP logramos acceder
al servidor como
administradores , lo cual nos
permitiría apagar GPOS ,
creación de Usuarios ,
modificación de contraseñas del
CISO , CIO , GTO , etc , es
decir somos dueños del
Dominio . El mayor
inconveniente de la explotación
de esta vulnerabilidad es que al
no existir política de GPO se
podría ejecutar un ransoware ,
quedando pendiente solo la
evación de antivirus y seguridad
perimetral.

21
Segundo camino

El escenario anterior va a depender de la clave del administrador , ya que si la


clave es generada por algún software , la manera de crackearla no va a ser tan
sencilla , por lo que se usaría la técnica de pass-the-hash. Para esta técnica, se
usará la herramienta evil-wirm.rb como se detalla a continuación.

Como se puede observar en la imagen anterior, con el hash que obtuvimos a


través de secretsdump.py sin necesidad de crackearlo, pudimos obtener una
sesión de Powershell con permiso de administrador.
Revisando los privilegios

Al tener estos privilegios , se puede proceder a subir un ransoware desde la consola


, a través de la herramienta evil-winRM
23
Ransomware de prueba ShinoLocker.exe .

Como se puede observar, el


ransomware esta subido de
manera correcta, y solo faltaría
ejecutarlo desde la shell de
Powershell y tendríamos todo el
dominio infectado, esperando
por el pago en Bitcoins.

24
CREACIÓN DE CUENTA A TRAVÉS DE
POWERSHELL

Como se puede observar, a través de EvilWirm se logró crear una cuenta llamada “smilzo” con password
“Prueba1234@” que nunca expira , y se la agregó al grupo de Administradores. Con esta cuenta creada se
puede hacer RDP y entrar como administrador al AD

25
Pero ahora la clave del NetBIOS es empty ,
¿qué puede pasar ?

26
Por lo tanto, para que esto no suceda existe un exploit llamado
restorepasswd.py. Para la ejecución del mismo se necesita ya tener una shell
para poder obtener los archivos:

reg save HKLM\SYSTEM system.save


reg save HKLM\SAM sam.save
reg save HKLM\SECURITY security.save
get system.save
get sam.save
get security.save
del /f system.save
del /f sam.save
del /f security.save
 

27
Para lo cual haremos uso de la herramienta wmiexec.py .
:

28
 
De esta manera , se puede descargar los archivos necesarios para generar la
llave y poder pone de vuelta el hash NT original de la cuenta de la máquina.

29
Se procede a la ejecución del exploit, con la llave que encontramos y la
seteamos como parámetro.

Como se puede observar, la llave se agregó exitosamente y la máquina tiene su clave


anterior, de esta manera previniendo que exista algún problema con los despliegues y
manteniendo al atacante un poco más sigiloso dentro de la red.
30
Conclusiones y Recomendaciones
 La explotación de esta vulnerabilidad es crítica, ya que le atacante puede ser DUEÑO COMPLETO DEL
DOMINIO, sin políticas de Seguridad. De la misma manera puede modificar contraseñas de usuarios, resetearlos
etc.

 Actualizar los servidores inmediatamente, si son 2012-2016-2019, el caso de los servidores Windows 2008r2 es
especial, ya que requiere licenciamiento ESU.

 Registre los ID. de evento 5827 y 5828 en el registro de eventos del sistema si se deniegan las conexiones.
 Registre los ID. de evento 5830 y 5831 en el registro de eventos del sistema si se permiten las conexiones en
"controlador de dominio: Permitir conexiones de canales seguros de Netlogon vulnerables "de la Directiva de
grupo.
 Registre el ID. de evento 5829 en el registro de eventos del sistema siempre que se permita una conexión

31

También podría gustarte

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy