Fileless malware operates entirely in memory without writing executable files to disk. It abuses legitimate system tools (PowerShell, WMI, .NET, macros, LOLBins) to execute malicious code, making traditional file-based AV detection ineffective.
Milestone Year Details SQL Slammer 2003 Pure memory worm; no disk Poweliks 2014 Registry-stored PowerShell Kovter 2015 Fileless click fraud Duqu 2.0 2015 APT; kernel memory only PowerSniff 2016 PowerShell + macros Emotet 2017+ PowerShell + LOLBins Astaroth 2018 .NET, WMI, living-off-land
Technique LOLBin Description PowerShell powershell.exe-EncodedCommand, -WindowStyle HiddenWMI wmic.exe, wmiprvse.exeEvent subscription, process creation HTA mshta.exeExecute HTML Application Certutil certutil.exe-decode, -urlcacheRegsvr32 regsvr32.exe/s /u /i:http://... scrobj.dllMsbuild msbuild.exeInline C# task InstallUtil InstallUtil.exe/logfile= /LogToConsole=falseScripting cscript.exe, wscript.exeVBScript, JScript .NET Assembly Assembly.Load()Reflectively load from memory
└─ Phishing (macro), exploit, LNK, ISO
└─ Macro → PowerShell → Download stage 2
└─ Reflectively load .NET assembly
└─ Inject into legitimate process (rundll32, svchost)
└─ WMI Event Subscription (Filter + Consumer)
└─ Scheduled Task (PowerShell command)
└─ Registry Run Key (PowerShell encoded)
└─ Use built-in tools for all actions
└─ No custom binaries on disk
Family Year Technique Notable Poweliks 2014 Registry + PowerShell First mainstream fileless Kovter 2015 Registry + shell Click fraud Duqu 2.0 2015 Kernel memory only APT, nation-state Emotet 2017+ PowerShell + LOLBins Loader platform Astaroth 2018 .NET, WMI, LOLBins Banking theft Frodo 2019 .NET, WMI Info stealer
Method Description ETW / ETW-TI Event Tracing for Windows + Threat Intelligence AMSI Antimalware Scan Interface — inspects script content Script Block Logging PowerShell transcript + module logging EDR Memory Scanning Scan process memory for shellcode, assemblies Behavioral Unusual process chains (winword → powershell) WMI Monitoring Event subscription creation (Event ID 5860/5861) Memory Forensics Volatility3: windows.memmap, windows.malfind
✅ Enable AMSI — Inspect all script content at runtime
✅ PowerShell Script Block Logging — Full transcript
✅ Enable Constrained Language Mode — Restrict .NET
✅ Application Control — WDAC, AppLocker, block LOLBins
✅ EDR with memory scanning — Scan process memory
✅ Disable WMI event subscriptions unless needed
✅ Macro blocking — Block internet macros, signed only
✅ Network monitoring — Beaconing, unusual PowerShell net
Technique ID Description PowerShell T1059.001 PowerShell execution WMI T1047 WMI for execution Scheduled Task T1053.005 Persistence Registry Run Keys T1547.001 Persistence Obfuscated Files T1027 Encoded commands Process Injection T1055 Memory injection