PowerShell Base64 Encoded Reflective Assembly Load
Last updated on:
In this page
Rule name | Rule type | Log sources | MITRE ATT&CK tags | Severity |
PowerShell Base64 Encoded Reflective Assembly Load | Standard | Windows | Defense Evasion: Obfuscated Files or Information (T1027), Execution: Command and Scripting Interpreter - PowerShell (T1059.001) | Trouble |
About the rule
Rule Type
Standard
Rule Description
Reflective Assembly Loading is a fileless attack method where a .NET assembly is loaded directly into memory without touching disk. When combined with Base64 encoding in PowerShell, attackers can bypass AV and EDR detection, execute payloads covertly, and avoid leaving artifacts on the system.
Severity
Trouble
Rule journey
Attack chain scenario
Malicious update uploaded → Encoded PowerShell executed → Base64 script loads .NET assembly in memory → Payload runs in RAM → Persistence established
Impact
- Deploy in-memory malware
- Privilege escalation
- Execution of additional payloads
Rule Requirement
Prerequisites
Process Creation Auditing
Via Windows Event Viewer (GPO)
- Open GPMC (gpmc.msc) using a domain admin account.
- Navigate to:
Computer Configuration > Policies > Windows Settings > Security Settings > Advanced Audit Policy Configuration > Audit Policies > Detailed Tracking - Enable:
- Audit Process Creation
- Audit Process Termination
(Check “Success” box for both)
- For command-line logging:
Go to:
Computer Configuration > Administrative Templates > System > Audit Process Creation
→ Enable “Include command line in process creation events.” - Create registry key (if missing):
Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Microsoft-Windows-Security-Auditing/Operational
Using Sysmon
To set up process creation monitoring with Sysmon:
1.Download and install Sysmon from Microsoft Sysinternals.
2. Open a Command Prompt with administrator privileges.
3. Create or download a Sysmon configuration file that includes process creation monitoring. A basic example for capturing all process creations is:
<Sysmon>
<EventFiltering>
<ProcessCreate onmatch="exclude"/>
</EventFiltering>
</Sysmon>
4. Install Sysmon with your configuration file using the command:
sysmon.exe -i [configfile.xml] (Replace [configfile.xml] with your file's path and name).
5. Ensure a new registry key named "Microsoft-Windows-Sysmon/Operational" exists in the directory Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\. If not, create it.
Criteria
Action1: actionname = "Process started" AND COMMANDLINE contains "WwBSAGUAZgBsAGUAYwB0AGkAbwBuAC4AQQBzAHMAZQBtAGIAbAB5AF0AOgA6AEwAbwBhAGQAKA,sAUgBlAGYAbABlAGMAdABpAG8AbgAuAEEAcwBzAGUAbQBiAGwAeQBdADoAOgBMAG8AYQBkACgA,bAFIAZQBmAGwAZQBjAHQAaQBvAG4ALgBBAHMAcwBlAG0AYgBsAHkAXQA6ADoATABvAGEAZAAoA,AFsAcgBlAGYAbABlAGMAdABpAG8AbgAuAGEAcwBzAGUAbQBiAGwAeQBdADoAOgAoACIATABvAGEAZAAiAC,BbAHIAZQBmAGwAZQBjAHQAaQBvAG4ALgBhAHMAcwBlAG0AYgBsAHkAXQA6ADoAKAAiAEwAbwBhAGQAIgAp,AWwByAGUAZgBsAGUAYwB0AGkAbwBuAC4AYQBzAHMAZQBtAGIAbAB5AF0AOgA6ACgAIgBMAG8AYQBkACIAK,WwBSAGUAZgBsAGUAYwB0AGkAbwBuAC4AQQBzAHMAZQBtAGIAbAB5AF0AOgA6ACgAIgBMAG8AYQBkACIAKQ,sAUgBlAGYAbABlAGMAdABpAG8AbgAuAEEAcwBzAGUAbQBiAGwAeQBdADoAOgAoACIATABvAGEAZAAiACkA,bAFIAZQBmAGwAZQBjAHQAaQBvAG4ALgBBAHMAcwBlAG0AYgBsAHkAXQA6ADoAKAAiAEwAbwBhAGQAIgApA,WwByAGUAZgBsAGUAYwB0AGkAbwBuAC4AYQBzAHMAZQBtAGIAbAB5AF0AOgA6AEwAbwBhAGQAKA,sAcgBlAGYAbABlAGMAdABpAG8AbgAuAGEAcwBzAGUAbQBiAGwAeQBdADoAOgBMAG8AYQBkACgA,bAHIAZQBmAGwAZQBjAHQAaQBvAG4ALgBhAHMAcwBlAG0AYgBsAHkAXQA6ADoATABvAGEAZAAoA" select Action1.HOSTNAME,Action1.MESSAGE,Action1.COMMANDLINE,Action1.FILE_NAME,Action1.PROCESSNAME,Action1.USERNAME,Action1.PARENTPROCESSNAME
Detection
Execution Mode
realtime
Log Sources
Windows
MITRE ATT&CK
Defense Evasion: Obfuscated Files or Information (T1027), Execution: Command and Scripting Interpreter - PowerShell (T1059.001)
, Defense Evasion: Reflective Code Loading (T1620)
Security Standards
Enabling this rule will help you meet the security standard's requirement listed below:
NIST CSF DE.CM-1: Network and physical activities are monitored to detect anomalous events.
When this rule is triggered, you're notified of encoded PowerShell commands containing the term Invoke-. This enables you to monitor for suspicious Base64 encoded PowerShell patterns in process command lines.
Author
Christian Burkard (Nextron Systems), pH-T (Nextron Systems)
Future actions
Known False Positives
This rule might be triggered by legitimate security testing tools using in-memory .NET assemblies.
Next Steps
When this rule is triggered, the following measures can be implemented:
- Identification: Identify if the flagged event is a new incident or part of an existing incident.
- Analysis: Analyze the impact and extent of the incident to comprehend the severity of the attack using the Incident Workbench.
- Response: Respond promptly by initiating an automated workflow to interrupt the network connections and cease the malicious process.
- Audit PowerShell activities: Enable PowerShell Script Block Logging and Constrained Language Mode.
Mitigation
Mitigation ID | Mitigation Name | Mitigation description |
M1049 | Implement antivirus or antimalware scanning to isolate suspicious files. | |
M1045 | Configure policies that allow PowerShell to execute only signed scripts. | |
M1042 | Restrict or disable PowerShell on systems where it is not required. | |
M1038 | Restrict the execution of scripts that contain sensitive language elements i.e., malicious codes using the PowerShell Constrained Language mode. | |
M1026 | Restrict privileges to execute PowerShell scripts to administrators and enforce limitations on the commands that can be executed via remote PowerShell sessions. | |
M1047 | Enable detailed logging for process creation and command-line activity to capture crucial forensic data. | |
M1040 | On Windows 10 and newer, enable Attack Surface Reduction (ASR) rules to prevent potentially harmful scripts (like Visual Basic or JavaScript) from running if they originate from the internet or email. | |
M1017 | Train users to close all browser sessions upon completion to prevent any potentially malicious extensions from continuing to operate in the background. |


