This hunt hypothesis targets adversaries deploying the PondRAT backdoor to establish persistent access and execute remote commands on compromised endpoints within the Azure environment. Proactive hunting for this signature is essential to identify early-stage intrusions that may evade standard behavioral detections, allowing the SOC team to isolate affected systems before lateral movement or data exfiltration occurs.
rule Linux_Backdoor_PondRAT : tc_detection malicious
{
meta:
author = "ReversingLabs"
source = "ReversingLabs"
status = "RELEASED"
sharing = "TLP:WHITE"
category = "MALWARE"
malware = "PONDRAT"
description = "Yara rule that detects PondRAT backdoor."
tc_detection_type = "Backdoor"
tc_detection_name = "PondRAT"
tc_detection_factor = 5
strings:
$connect_proxy_p1 = {
41 55 41 54 55 53 48 81 EC ?? ?? ?? ?? E8 ?? ?? ?? ?? BF ?? ?? ?? ?? 89 C5 4C 8D A4
24 ?? ?? ?? ?? E8 ?? ?? ?? ?? 48 89 C3 C7 00 ?? ?? ?? ?? 8B 05 ?? ?? ?? ?? BF ?? ??
?? ?? 89 6B ?? 48 89 E5 89 43 ?? E8 ?? ?? ?? ?? 48 8D 8C 24 ?? ?? ?? ?? 48 89 C2 BE
?? ?? ?? ?? 48 89 DF 49 89 C5 C7 84 24 ?? ?? ?? ?? ?? ?? ?? ?? E8 ?? ?? ?? ?? 48 89
DF 31 DB E8 ?? ?? ?? ?? 48 89 D8 48 89 E7 B9 ?? ?? ?? ?? F3 48 AB 8B 15 ?? ?? ?? ??
BE ?? ?? ?? ?? C7 07 ?? ?? ?? ?? 48 89 E7 E8 ?? ?? ?? ?? 48 89 D8 B9 ?? ?? ?? ?? 4C
89 E7 F3 48 AB 48 8D B4 24 ?? ?? ?? ?? 48 8D 94 24 ?? ?? ?? ?? 49 B8 ?? ?? ?? ?? ??
?? ?? ?? 4C 89 84 24 ?? ?? ?? ?? 66 C7 84 24 ?? ?? 00 00 ?? ?? 48 89 F7 48 89 A4 24
?? ?? ?? ?? B1 ?? F3 48 AB 48 89 D7 B1 ?? F3 48 AB 48 89 E1 8B 19 48 83 C1 ?? 8D 83
?? ?? ?? ?? F7 D3 21 D8 25 ?? ?? ?? ?? 74 ?? 89 C3 48 BF ?? ?? ?? ?? ?? ?? ?? ?? 48
89 B4 24 ?? ?? ?? ?? C1 EB ?? A9 ?? ?? ?? ?? 48 89 BC 24 ?? ?? ?? ?? 0F 44 C3 48 8D
}
$connect_proxy_p2 = {
59 ?? BF ?? ?? ?? ?? 48 89 94 24 ?? ?? ?? ?? 66 C7 84 24 ?? ?? 00 00 ?? ?? 48 0F 44
CB 00 C0 8B 84 24 ?? ?? ?? ?? 48 83 D9 ?? 48 BB ?? ?? ?? ?? ?? ?? ?? ?? 48 C7 84 24
?? ?? ?? ?? ?? ?? ?? ?? 48 29 E9 48 89 9C 24 ?? ?? ?? ?? C7 84 24 ?? ?? ?? ?? ?? ??
?? ?? 89 8C 24 ?? ?? ?? ?? C6 84 24 ?? ?? ?? ?? ?? 4C 89 AC 24 ?? ?? ?? ?? 89 84 24
?? ?? ?? ?? E8 ?? ?? ?? ?? 48 8D 8C 24 ?? ?? ?? ?? 48 8D 94 24 ?? ?? ?? ?? 48 89 C6
4C 89 E7 48 89 C3 C7 84 24 ?? ?? ?? ?? ?? ?? ?? ?? C7 84 24 ?? ?? ?? ?? ?? ?? ?? ??
E8 ?? ?? ?? ?? 4C 89 EF 89 C5 E8 ?? ?? ?? ?? 85 ED 75 ?? BF ?? ?? ?? ?? B9 ?? ?? ??
?? 48 89 DE F3 A6 74 ?? 48 89 DF BD ?? ?? ?? ?? E8 ?? ?? ?? ?? 48 81 C4 ?? ?? ?? ??
89 E8 5B 5D 41 5C 41 5D C3 0F 1F 00 48 89 DF E8 ?? ?? ?? ?? 48 81 C4 ?? ?? ?? ?? 89
E8 5B 5D 41 5C 41 5D C3
}
$send_payload = {
41 55 B8 ?? ?? ?? ?? 41 54 55 89 F5 53 48 89 FB 48 81 EC ?? ?? ?? ?? 48 85 FF 0F 84
?? ?? ?? ?? BF ?? ?? ?? ?? 4C 8D AC 24 ?? ?? ?? ?? E8 ?? ?? ?? ?? 48 8D 8C 24 ?? ??
?? ?? 89 EE 48 89 DF 48 89 C2 31 DB 49 89 C4 C7 84 24 ?? ?? ?? ?? ?? ?? ?? ?? 48 8D
6C 24 ?? E8 ?? ?? ?? ?? 48 8D 7C 24 ?? 48 89 D8 B9 ?? ?? ?? ?? 8B 15 ?? ?? ?? ?? BE
?? ?? ?? ?? F3 48 AB C7 07 ?? ?? ?? ?? 48 89 EF E8 ?? ?? ?? ?? 48 89 D8 B9 ?? ?? ??
?? 4C 89 EF F3 48 AB 48 8D B4 24 ?? ?? ?? ?? 48 8D 94 24 ?? ?? ?? ?? 49 BB ?? ?? ??
?? ?? ?? ?? ?? 4C 89 9C 24 ?? ?? ?? ?? 66 C7 84 24 ?? ?? 00 00 ?? ?? 48 89 F7 48 89
AC 24 ?? ?? ?? ?? B1 ?? F3 48 AB 48 89 D7 B1 ?? F3 48 AB 48 89 E9 8B 19 48 83 C1 ??
8D 83 ?? ?? ?? ?? F7 D3 21 D8 25 ?? ?? ?? ?? 74 ?? 89 C3 49 BA ?? ?? ?? ?? ?? ?? ??
?? 49 B9 ?? ?? ?? ?? ?? ?? ?? ?? C1 EB ?? A9 ?? ?? ?? ?? BF ?? ?? ?? ?? 0F 44 C3 48
8D 59 ?? 4C 89 94 24 ?? ?? ?? ?? 48 89 B4 24 ?? ?? ?? ?? 4C 89 8C 24 ?? ?? ?? ?? 48
0F 44 CB 00 C0 8B 84 24 ?? ?? ?? ?? 48 83 D9 ?? 48 89 94 24 ?? ?? ?? ?? 66 C7 84 24
?? ?? 00 00 ?? ?? 48 29 E9 48 C7 84 24 ?? ?? ?? ?? ?? ?? ?? ?? C7 84 24 ?? ?? ?? ??
?? ?? ?? ?? 89 8C 24 ?? ?? ?? ?? C6 84 24 ?? ?? ?? ?? ?? 4C 89 A4 24 ?? ?? ?? ?? 89
84 24 ?? ?? ?? ?? E8 ?? ?? ?? ?? 48 8D 8C 24 ?? ?? ?? ?? 48 8D 94 24 ?? ?? ?? ?? 48
89 C6 4C 89 EF 48 89 C3 C7 84 24 ?? ?? ?? ?? ?? ?? ?? ?? C7 84 24 ?? ?? ?? ?? ?? ??
?? ?? E8 ?? ?? ?? ?? 85 C0 75 ?? BF ?? ?? ?? ?? B9 ?? ?? ?? ?? 48 89 DE F3 A6 74 ??
4C 89 E7 E8 ?? ?? ?? ?? 48 89 DF E8 ?? ?? ?? ?? B8 ?? ?? ?? ?? 48 81 C4 ?? ?? ?? ??
5B 5D 41 5C 41 5D C3
}
$execute_shell_command = {
41 57 48 89 FE 41 56 41 55 41 54 55 53 BB ?? ?? ?? ?? 48 81 EC ?? ?? ?? ?? 48 85 FF
0F 84 ?? ?? ?? ?? BD ?? ?? ?? ?? 48 8D BC 24 ?? ?? ?? ?? 48 8D 9C 24 ?? ?? ?? ?? 48
89 E9 F3 48 A5 8B 06 48 89 CD B1 ?? 89 07 48 8D BC 24 ?? ?? ?? ?? 48 89 E8 F3 48 AB
31 FF E8 ?? ?? ?? ?? B9 ?? ?? ?? ?? 49 89 C6 48 89 DF 48 89 E8 48 8D 94 24 ?? ?? ??
?? BE ?? ?? ?? ?? F3 48 AB 48 83 C2 ?? 48 89 DF E8 ?? ?? ?? ?? BE ?? ?? ?? ?? 48 89
DF E8 ?? ?? ?? ?? 48 85 C0 48 89 44 24 ?? 0F 84 ?? ?? ?? ?? 48 8B 7C 24 ?? 48 8D 9C
24 ?? ?? ?? ?? 4C 8D 7C 24 ?? 45 31 E4 31 ED E8 ?? ?? ?? ?? 31 D2 89 C7 41 89 C5 BE
?? ?? ?? ?? 31 C0 E8 ?? ?? ?? ?? 80 CC ?? BE ?? ?? ?? ?? 44 89 EF 89 C2 31 C0 E8 ??
?? ?? ?? 0F 1F 44 00 ?? 31 C0 48 89 DF B9 ?? ?? ?? ?? F3 48 AB BA ?? ?? ?? ?? 48 89
DE 44 89 EF E8 ?? ?? ?? ?? 83 F8 ?? 74 ?? 85 C0 74 ?? 44 8D 24 28 41 81 FC ?? ?? ??
?? 77 ?? 89 ED 48 63 D0 48 89 DE 49 8D 3C 2F E8 ?? ?? ?? ?? 31 FF E8 ?? ?? ?? ?? 4C
29 F0 48 83 F8 ?? 0F 87 ?? ?? ?? ?? 44 89 E5 45 31 E4 EB ?? 0F 1F 84 00 ?? ?? ?? ??
E8 ?? ?? ?? ?? 83 38 ?? 75 ?? 41 83 C4 ?? BF ?? ?? ?? ?? E8 ?? ?? ?? ?? 41 83 FC ??
0F 8E ?? ?? ?? ?? 41 89 EC BB ?? ?? ?? ?? 48 8B 7C 24 ?? E8 ?? ?? ?? ?? BF ?? ?? ??
?? E8 ?? ?? ?? ?? 45 85 E4 74 ?? 48 8D 7C 24 ?? 44 89 E6 E8 ?? ?? ?? ?? 48 81 C4 ??
?? ?? ?? 89 D8 5B 5D 41 5C 41 5D 41 5E 41 5F C3
}
condition:
uint32(0) == 0x464C457F and
(
all of ($connect_proxy_p*)
) and
(
$send_payload
) and
(
$execute_shell_command
)
}
This YARA rule can be deployed in the following contexts:
This rule contains 4 string patterns in its detection logic.
Here are 4 specific false positive scenarios for the PondRAT Backdoor detection rule, including suggested filters and exclusions:
Scenario: Legitimate Deployment of Remote Management Tools
C:\Program Files\ directory.C:\Program Files\Microsoft Configuration Manager\AdminConsole\*) and exclude files signed by the vendor’s trusted certificate thumbprint (e.g., Microsoft Corporation or Ivanti).Scenario: Scheduled PowerShell Maintenance Jobs
.ps1 script for log rotation or database backup, may invoke the System.Management.Automation.dll. If PondRAT’s detection logic relies on specific function names or variable patterns common in standard PowerShell automation (e.g., $ErrorActionPreference, Invoke-WebRequest), these legitimate scripts will generate hits.powershell.exe and the parent process is Task Scheduler Service (svchost.exe or taskscheduler.exe). Additionally, exclude files located within specific administrative script directories like C:\Scripts\ or D:\AdminTasks\.Scenario: Execution of Third-Party Security Scanners