NTLM Hash Leak Via Curl NTLM Authentication
Detects the use of curl with NTLM authentication and empty credentials (-u :), which can be abused to leak the currently logged-in user's NTLMv2 challenge-response to an attacker-controlled server, enabling offline cracking or relay attacks. When no credentials are provided, the Microsoft-shipped curl passes a NULL identity to Windows SSPI, which automatically falls back to the current user's logon session credentials stored in LSASS — without requiring a plaintext password. This behavior is exclusive to the curl binary shipped by Microsoft (available since Windows 10 / Windows Server 2019), which is built with SSPI support.
Detection logic
selection_img
- Image|endswith: \curl.exe
- OriginalFileName: curl.exeselection_ntlm_flag
CommandLine|contains: --ntlmselection_empty_creds
CommandLine|re: "(?i)\\s(-u|--user)\\s*:"Condition
all of selection_*Raw YAML
title: NTLM Hash Leak Via Curl NTLM Authentication
id: 916eb839-895e-47f8-99ee-3008bf377a3e
status: test
description: |
Detects the use of curl with NTLM authentication and empty credentials (-u :), which can be abused to leak the currently logged-in user's NTLMv2 challenge-response to an
attacker-controlled server, enabling offline cracking or relay attacks.
When no credentials are provided, the Microsoft-shipped curl passes a NULL identity to Windows SSPI, which automatically falls back to the current user's logon session credentials
stored in LSASS — without requiring a plaintext password.
This behavior is exclusive to the curl binary shipped by Microsoft (available since Windows 10 / Windows Server 2019), which is built with SSPI support.
references:
- https://github.com/curl/curl/blob/master/lib/vauth/ntlm_sspi.c#L128-L140
- https://learn.microsoft.com/en-us/windows/win32/secauthn/acquirecredentialshandle--ntlm
- https://curl.se/docs/manpage.html#--ntlm
author: Swachchhanda Shrawan Poudel (Nextron Systems)
date: 2026-06-04
tags:
- attack.credential-access
- attack.t1187
logsource:
category: process_creation
product: windows
detection:
selection_img:
- Image|endswith: '\curl.exe'
- OriginalFileName: 'curl.exe'
selection_ntlm_flag:
CommandLine|contains: '--ntlm'
selection_empty_creds:
CommandLine|re: '(?i)\s(-u|--user)\s*:'
condition: all of selection_*
falsepositives:
- Should be very rare as it's not widely known or used, but could occur in legitimate use cases where curl is used with NTLM authentication and empty credentials, such as in certain scripts or automation tasks.
level: high
regression_tests_path: regression_data/rules/windows/process_creation/proc_creation_win_curl_ntlm_hash_leak_attempt/info.ymlFalse positives
- Should be very rare as it's not widely known or used, but could occur in legitimate use cases where curl is used with NTLM authentication and empty credentials, such as in certain scripts or automation tasks.
References
Similar rules
Attempts of Kerberos Coercion Via DNS SPN Spoofing
highwindows · Shares T1187
Potential CVE-2026-33829 Exploitation - Windows Snipping Tool Remote File Path URI
highwindows · Shares T1187
PetitPotam Suspicious Kerberos TGT Request
highwindows · Shares T1187
Possible PetitPotam Coerce Authentication Attempt
highwindows · Shares T1187