This hunt hypothesis targets adversaries deploying the ResolverRAT backdoor to establish persistent access and exfiltrate sensitive data through covert command-and-control channels. Proactively hunting for this signature in Azure Sentinel is critical because early detection of this specific backdoor allows the SOC team to isolate compromised endpoints before attackers can escalate privileges or move laterally across the environment.
rule ByteCode_MSIL_Backdoor_ResolverRAT : tc_detection malicious
{
meta:
author = "ReversingLabs"
source = "ReversingLabs"
status = "RELEASED"
sharing = "TLP:WHITE"
category = "MALWARE"
malware = "RESOLVERRAT"
description = "Yara rule that detects ResolverRAT backdoor."
tc_detection_type = "Backdoor"
tc_detection_name = "ResolverRAT"
tc_detection_factor = 5
strings:
$run_visual_executor = {
7E ?? ?? ?? ?? 3A ?? ?? ?? ?? 73 ?? ?? ?? ?? 0A 06 73 ?? ?? ?? ?? 7D ?? ?? ?? ?? 1F
?? 28 ?? ?? ?? ?? 0B 06 1F ?? 28 ?? ?? ?? ?? 7D ?? ?? ?? ?? 06 73 ?? ?? ?? ?? 25 20
?? ?? ?? ?? 20 ?? ?? ?? ?? 61 7E ?? ?? ?? ?? 7B ?? ?? ?? ?? 61 7E ?? ?? ?? ?? 28 ??
?? ?? ?? 20 ?? ?? ?? ?? 20 ?? ?? ?? ?? 61 7E ?? ?? ?? ?? 7B ?? ?? ?? ?? 61 7E ?? ??
?? ?? 28 ?? ?? ?? ?? 6F ?? ?? ?? ?? 25 20 ?? ?? ?? ?? 20 ?? ?? ?? ?? 61 20 ?? ?? ??
?? 61 7E ?? ?? ?? ?? 7B ?? ?? ?? ?? 61 7E ?? ?? ?? ?? 28 ?? ?? ?? ?? 20 ?? ?? ?? ??
20 ?? ?? ?? ?? 63 20 ?? ?? ?? ?? 61 7E ?? ?? ?? ?? 7B ?? ?? ?? ?? 61 7E ?? ?? ?? ??
28 ?? ?? ?? ?? 6F ?? ?? ?? ?? 25 20 ?? ?? ?? ?? 20 ?? ?? ?? ?? 61 7E ?? ?? ?? ?? 7B
?? ?? ?? ?? 61 7E ?? ?? ?? ?? 28 ?? ?? ?? ?? 20 ?? ?? ?? ?? 20 ?? ?? ?? ?? 63 20 ??
?? ?? ?? 61 7E ?? ?? ?? ?? 7B ?? ?? ?? ?? 61 7E ?? ?? ?? ?? 28 ?? ?? ?? ?? 6F ?? ??
?? ?? 25 20 ?? ?? ?? ?? 20 ?? ?? ?? ?? 61 7E ?? ?? ?? ?? 7B ?? ?? ?? ?? 61 7E
}
$execute_mixed_executor = {
12 ?? (FE | 15) ?? ?? ?? ?? ?? 12 ?? 06 8C ?? ?? ?? ?? 7E ?? ?? ?? ?? 28 ?? ?? ?? ??
7D ?? ?? ?? ?? 12 ?? 7E ?? ?? ?? ?? 28 ?? ?? ?? ?? 26 7E ?? ?? ?? ?? 28 ?? ?? ?? ??
06 7B ?? ?? ?? ?? 59 76 6C 7E ?? ?? ?? ?? 28 ?? ?? ?? ?? 0B 20 ?? ?? ?? ?? 20 ?? ??
?? ?? 61 20 ?? ?? ?? ?? 61 7E ?? ?? ?? ?? 7B ?? ?? ?? ?? 61 7E ?? ?? ?? ?? 28 ?? ??
?? ?? 1A 8D ?? ?? ?? ?? 25 16 12 ?? 7E ?? ?? ?? ?? 28 ?? ?? ?? ?? 8C ?? ?? ?? ?? A2
25 17 12 ?? 7E ?? ?? ?? ?? 28 ?? ?? ?? ?? 8C ?? ?? ?? ?? A2 25 18 12 ?? 7E ?? ?? ??
?? 28 ?? ?? ?? ?? 8C ?? ?? ?? ?? A2 25 19 12 ?? 7E ?? ?? ?? ?? 28 ?? ?? ?? ?? 8C ??
?? ?? ?? A2 7E ?? ?? ?? ?? 28 ?? ?? ?? ?? 0C DD ?? ?? ?? ?? 26 20 ?? ?? ?? ?? 20 ??
?? ?? ?? 58 20 ?? ?? ?? ?? 61 7E ?? ?? ?? ?? 7B ?? ?? ?? ?? 61 7E ?? ?? ?? ?? 28
}
$write_connection = {
7E ?? ?? ?? ?? 0A 16 0B 06 12 ?? 7E ?? ?? ?? ?? 28 ?? ?? ?? ?? 02 7E ?? ?? ?? ?? 28
?? ?? ?? ?? 0C 08 8E 69 7E ?? ?? ?? ?? 28 ?? ?? ?? ?? 0D 7E ?? ?? ?? ?? 20 ?? ?? ??
?? 17 7E ?? ?? ?? ?? 28 ?? ?? ?? ?? 3A ?? ?? ?? ?? 73 ?? ?? ?? ?? 7A 7E ?? ?? ?? ??
09 16 09 8E 69 7E ?? ?? ?? ?? 28 ?? ?? ?? ?? 08 8E 69 20 ?? ?? ?? ?? 3E ?? ?? ?? ??
08 73 ?? ?? ?? ?? 13 ?? 20 ?? ?? ?? ?? 8D ?? ?? ?? ?? 13 ?? 16 13 ?? 11 ?? 16 6A 7E
?? ?? ?? ?? 28 ?? ?? ?? ?? 38 ?? ?? ?? ?? 7E ?? ?? ?? ?? 20 ?? ?? ?? ?? 17 7E ?? ??
?? ?? 28 ?? ?? ?? ?? 3A ?? ?? ?? ?? 73 ?? ?? ?? ?? 7A 7E ?? ?? ?? ?? 11 ?? 16 11 ??
7E ?? ?? ?? ?? 28 ?? ?? ?? ?? 11 ?? 11 ?? 16 11 ?? 8E 69 7E ?? ?? ?? ?? 28 ?? ?? ??
?? 25 13 ?? 16 3D ?? ?? ?? ?? DD ?? ?? ?? ?? 11 ?? 39 ?? ?? ?? ?? 11 ?? 7E ?? ?? ??
?? 28 ?? ?? ?? ?? DC 7E ?? ?? ?? ?? 20 ?? ?? ?? ?? 17 7E ?? ?? ?? ?? 28 ?? ?? ?? ??
3A ?? ?? ?? ?? 73 ?? ?? ?? ?? 7A 7E ?? ?? ?? ?? 08 16 08 8E 69 7E ?? ?? ?? ?? 28 ??
?? ?? ?? 7E ?? ?? ?? ?? 7E ?? ?? ?? ?? 28 ?? ?? ?? ?? DD ?? ?? ?? ?? 26 7E ?? ?? ??
?? 28 ?? ?? ?? ?? DD ?? ?? ?? ?? 07 39 ?? ?? ?? ?? 06 7E
}
$read_sorter_enumerator = {
03 3A ?? ?? ?? ?? DD ?? ?? ?? ?? 03 75 ?? ?? ?? ?? 3A ?? ?? ?? ?? 03 75 ?? ?? ?? ??
0A 06 3A ?? ?? ?? ?? 38 ?? ?? ?? ?? 7E ?? ?? ?? ?? 0B 7E ?? ?? ?? ?? 25 3A ?? ?? ??
?? 26 38 ?? ?? ?? ?? 7E ?? ?? ?? ?? 28 ?? ?? ?? ?? DD ?? ?? ?? ?? 26 DD ?? ?? ?? ??
73 ?? ?? ?? ?? 25 17 7E ?? ?? ?? ?? 28 ?? ?? ?? ?? 25 07 7E ?? ?? ?? ?? 28 ?? ?? ??
?? 25 7E ?? ?? ?? ?? 28 ?? ?? ?? ?? 7E ?? ?? ?? ?? 28 ?? ?? ?? ?? 25 7E ?? ?? ?? ??
28 ?? ?? ?? ?? 7E ?? ?? ?? ?? 28 ?? ?? ?? ?? 7E ?? ?? ?? ?? 28 ?? ?? ?? ?? 16 80 ??
?? ?? ?? 38 ?? ?? ?? ?? 14 0C 06 7E ?? ?? ?? ?? 28 ?? ?? ?? ?? 39 ?? ?? ?? ?? 06 7E
?? ?? ?? ?? 28 ?? ?? ?? ?? 06 7E ?? ?? ?? ?? 28 ?? ?? ?? ?? 7E ?? ?? ?? ?? 28 ?? ??
?? ?? 06 7E ?? ?? ?? ?? 28 ?? ?? ?? ?? 0C 38 ?? ?? ?? ?? 06 7E ?? ?? ?? ?? 28 ?? ??
?? ?? 7E ?? ?? ?? ?? 28 ?? ?? ?? ?? 0C 08 3A ?? ?? ?? ?? 06 7E ?? ?? ?? ?? 28 ?? ??
?? ?? DD ?? ?? ?? ?? 73 ?? ?? ?? ?? 73 ?? ?? ?? ?? 25 7E ?? ?? ?? ?? 28 ?? ?? ?? ??
7E ?? ?? ?? ?? 28 ?? ?? ?? ?? 25 06 7E ?? ?? ?? ?? 28 ?? ?? ?? ?? 7E ?? ?? ?? ?? 28
?? ?? ?? ?? 7E ?? ?? ?? ?? 28 ?? ?? ?? ?? 08 28 ?? ?? ?? ?? 28 ?? ?? ?? ?? 7E ?? ??
?? ?? 28 ?? ?? ?? ?? 7E ?? ?? ?? ?? 28 ?? ?? ?? ?? 7E ?? ?? ?? ?? 28 ?? ?? ?? ?? DD
?? ?? ?? ?? 7E ?? ?? ?? ?? 28 ?? ?? ?? ?? 7E ?? ?? ?? ?? 28
}
condition:
uint16(0) == 0x5A4D and
(
$run_visual_executor
) and
(
$execute_mixed_executor
) and
(
$write_connection
) and
(
$read_sorter_enumerator
)
}
This YARA rule can be deployed in the following contexts:
This rule contains 4 string patterns in its detection logic.
Here are 3-5 specific false positive scenarios for the ResolverRAT backdoor detection rule, including suggested filters and exclusions:
Scenario: Legitimate IT Management Tool Deployment
ccmexec.exe for SCCM or IvantiAgent.exe) and restrict detection to files located within specific administrative directories (e.g., C:\Program Files\Microsoft Configuration Manager).Scenario: Scheduled Backup and Encryption Jobs
C:\Program Files\Veeam\, C:\ProgramData\Acronis\) and filter by specific scheduled task names (e.g., VeeamBackupService or RubrikAgentTask).Scenario: Third-Party Security Scanning Utilities