Rundll32 Looked Legitimate
Signed Microsoft binary.
Running from System32.
No malware alert. No user complaint. No obvious red flag on the dashboard.
Everything looked legitimate — until we looked closer.
The process was rundll32.exe, a normal Windows component used to run functions inside DLL files. But behind that trusted filename was behaviour that did not fit the environment: unusual command-line arguments, execution from temporary locations, strange parent process activity and unexpected outbound network connections.
This Agent Foskett briefing looks at how trusted Windows binaries can be abused, why filenames alone are not enough, and how Microsoft Defender XDR advanced hunting can expose the behaviour behind the process.
Briefing summary
Attackers often abuse trusted Windows binaries like rundll32.exe to blend into normal activity. This briefing explores how Defender XDR hunting can expose suspicious command lines, DLL execution paths, process lineage and unusual network activity.
Why rundll32.exe matters
First hunt: suspicious rundll32 activity
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
DeviceProcessEvents | where Timestamp > ago(7d) | where FileName =~ "rundll32.exe" | project Timestamp, DeviceName, AccountName, ProcessCommandLine, InitiatingProcessFileName, FolderPath | order by Timestamp desc
What investigators should look for
Second hunt: did rundll32 connect externally?
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
DeviceNetworkEvents | where Timestamp > ago(7d) | where InitiatingProcessFileName =~ "rundll32.exe" | project Timestamp, DeviceName, RemoteIP, RemoteUrl, InitiatingProcessCommandLine | order by Timestamp desc
Third hunt: suspicious parent-child process relationships
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
DeviceProcessEvents | where Timestamp > ago(7d) | where FileName =~ "rundll32.exe" | where InitiatingProcessFileName in~ ("winword.exe", "excel.exe", "powershell.exe", "wscript.exe", "cscript.exe", "mshta.exe", "chrome.exe", "msedge.exe") | project Timestamp, DeviceName, AccountName, InitiatingProcessFileName, ProcessCommandLine | order by Timestamp desc
Where defenders get caught
How GEMXIT approaches this type of investigation
Final thought
That is why behavioural investigation matters.
Attackers know defenders trust familiar process names. They rely on someone seeing “rundll32.exe” and moving on.
But the filename is only the beginning of the story.
Sometimes the real investigation starts after asking:
“What was the trusted process actually doing?”
It is: “Does the behaviour make sense?”
Continue the investigation with The PowerShell Never Triggered An Alert, Microsoft Defender KQL Threat Hunting Guide, KQL Threat Hunting in Defender and Sentinel, When Nothing Looks Wrong, Microsoft Security, Security Operations and the GEMXIT Security Review.
Develop IT. Protect IT.GEMXIT PTY LTD | GEMXIT UK LTD