This detection identifies the presence of the GobRAT backdoor on Linux systems by analyzing file signatures to uncover stealthy command-and-control capabilities that often evade standard signature-based defenses. Proactive hunting for this threat in Azure Sentinel is critical because early identification of the backdoor prevents potential data exfiltration and lateral movement before adversaries can establish persistent access within the environment.
rule Linux_Backdoor_GobRAT : tc_detection malicious
{
meta:
author = "ReversingLabs"
source = "ReversingLabs"
status = "RELEASED"
sharing = "TLP:WHITE"
category = "MALWARE"
malware = "GOBRAT"
description = "Yara rule that detects GobRAT backdoor."
tc_detection_type = "Backdoor"
tc_detection_name = "GobRAT"
tc_detection_factor = 5
strings:
$get_local_address_p1 = {
49 3B 66 ?? 0F 86 ?? ?? ?? ?? 48 83 C4 ?? 48 89 6C 24 ?? 48 8D 6C 24 ?? 48 83 3D ??
?? ?? ?? ?? 75 ?? E8 ?? ?? ?? ?? 48 85 FF 75 ?? 48 85 DB 74 ?? 48 89 5C 24 ?? 31 C9
EB ?? 48 8B 05 ?? ?? ?? ?? 48 8B 3D ?? ?? ?? ?? 48 8B 1D ?? ?? ?? ?? 48 8B 35 ?? ??
?? ?? 48 8B 0D ?? ?? ?? ?? 4C 8B 05 ?? ?? ?? ?? 48 8B 6C 24 ?? 48 83 EC ?? C3 48 83
C0 ?? 48 89 D1 48 8B 50 ?? 4C 8D 0D ?? ?? ?? ?? 4C 39 08 74 ?? BA ?? ?? ?? ?? 48 89
4C 24 ?? 48 89 44 24 ?? 48 89 54 24 ?? 74 ?? 31 F6 EB ?? 48 8B 02 48 8B 5A ?? 48 8B
4A ?? E8 ?? ?? ?? ?? 84 C0 74 ?? 48 8B 44 24 ?? 48 8B 4C 24 ?? 48 8B 54 24 ?? 48 8B
5C 24 ?? 4C 8D 0D ?? ?? ?? ?? 31 F6 EB ?? 48 8B 54 24 ?? 48 8B 02 48 8B 5A ?? 48 8B
4A ?? E8 ?? ?? ?? ?? 83 F0 ?? 48 8B 4C 24 ?? 48 8B 54 24 ?? 48 8B 5C 24 ?? 4C 8D 0D
?? ?? ?? ?? 89 C6 48 8B 44 24 ?? 40 84 F6 74 ?? 4C 8B 12 4C 8B 5A ?? 4C 8B 62 ?? 49
83 FB ?? 75 ?? 4C 89 D6 EB ?? 49 83 FB ?? 75 ?? 31 F6 E9 ?? ?? ?? ?? 48 8D 51 ?? 48
39 D3 0F 8F ?? ?? ?? ?? 0F 1F 40 ?? E9 ?? ?? ?? ?? 31 F6 48 85 F6 74 ?? 4C 89 D0 4C
89 DB 4C 89 E1 E8 ?? ?? ?? ?? 48 8B 35 ?? ?? ?? ?? 48 8B 15 ?? ?? ?? ?? 48 8B 3D ??
?? ?? ?? 4C 8D 46 ?? 4C 39 C7 73 ?? 48 89 44 24 ?? 48 89 5C 24 ?? 48 8D 05 ?? ?? ??
?? 48 89 D3 48 89 F1 4C 89 C6 E8 ?? ?? ?? ?? 48 89 0D ?? ?? ?? ?? 83 3D ?? ?? ?? ??
?? 75 ?? 48 89 05 ?? ?? ?? ?? EB ?? 48 8D 3D ?? ?? ?? ?? E8 ?? ?? ?? ?? 48 89 C2 48
}
$get_local_address_p2 = {
89 DE 48 8B 44 24 ?? 48 8B 5C 24 ?? 4C 8D 46 ?? 4C 89 05 ?? ?? ?? ?? 48 C1 E6 ?? 48
89 5C 32 ?? 48 8D 3C 32 83 3D ?? ?? ?? ?? ?? 75 ?? 48 89 04 32 EB ?? E8 ?? ?? ?? ??
48 8B 54 24 ?? 48 8B 02 48 8B 5A ?? 48 8B 4A ?? E8 ?? ?? ?? ?? E8 ?? ?? ?? ?? 48 8B
35 ?? ?? ?? ?? 48 8D 56 ?? 48 8B 1D ?? ?? ?? ?? 48 8B 3D ?? ?? ?? ?? 48 39 D7 73 ??
89 44 24 ?? 48 8D 05 ?? ?? ?? ?? 48 89 F1 48 89 D6 E8 ?? ?? ?? ?? 48 89 0D ?? ?? ??
?? 83 3D ?? ?? ?? ?? ?? 75 ?? 48 89 05 ?? ?? ?? ?? EB ?? 48 8D 3D ?? ?? ?? ?? E8 ??
?? ?? ?? 48 89 DE 48 89 C3 8B 44 24 ?? 48 8D 56 ?? 48 89 15 ?? ?? ?? ?? 89 04 B3 48
8B 44 24 ?? 48 8B 4C 24 ?? 48 8B 5C 24 ?? 4C 8D 0D ?? ?? ?? ?? E9 ?? ?? ?? ?? 48 FF
C6 48 83 FE ?? 7D ?? 45 0F B6 2C 32 45 84 ED 74 ?? E9 ?? ?? ?? ?? 41 80 7A ?? ?? 0F
1F 44 00 ?? 0F 85 ?? ?? ?? ?? 41 80 7A ?? ?? 0F 85 ?? ?? ?? ?? 49 8D 72
}
$get_mac_address_p1 = {
4C 8D 64 24 ?? 4D 3B 66 ?? 0F 86 ?? ?? ?? ?? 48 81 EC ?? ?? ?? ?? 48 89 AC 24 ?? ??
?? ?? 48 8D AC 24 ?? ?? ?? ?? 48 83 3D ?? ?? ?? ?? ?? 75 ?? E8 ?? ?? ?? ?? 48 85 FF
75 ?? 48 85 DB 74 ?? 48 89 5C 24 ?? 31 C9 EB ?? 31 C0 31 DB 48 8B AC 24 ?? ?? ?? ??
48 81 C4 ?? ?? ?? ?? C3 48 8B 05 ?? ?? ?? ?? 48 8B 1D ?? ?? ?? ?? 48 8B AC 24 ?? ??
?? ?? 48 81 C4 ?? ?? ?? ?? C3 48 83 C0 ?? 48 89 D1 0F 10 00 0F 11 84 24 ?? ?? ?? ??
0F 10 40 ?? 0F 11 84 24 ?? ?? ?? ?? 0F 10 40 ?? 0F 11 84 24 ?? ?? ?? ?? 0F 10 40 ??
0F 11 84 24 ?? ?? ?? ?? 48 8B 94 24 ?? ?? ?? ?? 48 8B B4 24 ?? ?? ?? ?? 48 85 D2 75
?? 31 D2 31 F6 EB ?? 48 89 4C 24 ?? 48 89 84 24 ?? ?? ?? ?? 48 89 54 24 ?? 48 89 B4
24 ?? ?? ?? ?? 48 8D 0C 52 48 8D 49 ?? 48 89 4C 24 ?? 48 8D 05 ?? ?? ?? ?? 31 DB 0F
1F 44 00 ?? E8 ?? ?? ?? ?? 48 8B 54 24 ?? 48 8B B4 24 ?? ?? ?? ?? 48 8B 7C 24 ?? 31
C9 31 DB EB ?? 48 89 D9 48 89 C3 31 C0 E8 ?? ?? ?? ?? 48 8B 4C 24 ?? 48 89 DA 48 89
C6 48 8B 84 24 ?? ?? ?? ?? 48 8B 5C 24 ?? 48 85 D2 0F 85 ?? ?? ?? ?? 48 8D 51 ?? 48
39 D3 0F 8F ?? ?? ?? ?? E9 ?? ?? ?? ?? 46 88 0C 10 48 FF C1 4C 89 C3 48 39 D1 7D ??
48 89 4C 24 ?? 44 0F B6 04 0E 44 88 44 24 ?? 0F 1F 44 00 ?? 48 85 C9 7E ?? 4C 8D 4B
?? 4C 39 CF 73 ?? 48 89 5C 24 ?? 48 89 D9 4C 89 CE 48 89 C3 48 8D 05 ?? ?? ?? ?? E8
?? ?? ?? ?? 4C 8D 4B ?? 48 8B 54 24 ?? 48 8B 5C 24 ?? 48 8B B4 24 ?? ?? ?? ?? 44 0F
}
$get_mac_address_p2 = {
B6 44 24 ?? 48 89 CF 48 8B 4C 24 ?? C6 04 18 ?? EB ?? 49 89 D9 4D 8D 51 ?? 45 89 C3
41 C0 E8 ?? 45 0F B6 C0 4C 8D 25 ?? ?? ?? ?? 47 0F B6 04 04 4C 39 D7 73 ?? 44 88 44
24 ?? 4C 89 4C 24 ?? 48 89 C3 4C 89 C9 4C 89 D6 48 8D 05 ?? ?? ?? ?? E8 ?? ?? ?? ??
4C 8D 53 ?? 48 8B 54 24 ?? 48 8B B4 24 ?? ?? ?? ?? 44 0F B6 44 24 ?? 4C 8B 4C 24 ??
44 0F B6 5C 24 ?? 4C 8D 25 ?? ?? ?? ?? 48 89 CF 48 8B 4C 24 ?? 46 88 04 08 4D 8D 42
?? 41 83 E3 ?? 47 0F B6 0C 23 4C 39 C7 0F 83 ?? ?? ?? ?? 4C 89 54 24 ?? 44 88 4C 24
?? 48 89 C3 4C 89 D1 4C 89 C6 48 8D 05 ?? ?? ?? ?? E8 ?? ?? ?? ?? 4C 8D 43 ?? 48 8B
54 24 ?? 48 8B B4 24 ?? ?? ?? ?? 44 0F B6 4C 24 ?? 4C 8B 54 24 ?? 48 89 CF 48 8B 4C
24 ?? E9 ?? ?? ?? ?? 48 89 15 ?? ?? ?? ?? 83 3D ?? ?? ?? ?? ?? 75 ?? 48 89 35 ?? ??
?? ?? 66 90 E9 ?? ?? ?? ?? 48 8D 3D ?? ?? ?? ?? E8 ?? ?? ?? ?? E9 ?? ?? ?? ?? E8 ??
?? ?? ?? 0F 1F 44 00
}
$network_communication_tcp_p1 = {
4C 8D 64 24 ?? 4D 3B 66 ?? 0F 86 ?? ?? ?? ?? 48 81 EC ?? ?? ?? ?? 48 89 AC 24 ?? ??
?? ?? 48 8D AC 24 ?? ?? ?? ?? 48 89 9C 24 ?? ?? ?? ?? 48 89 84 24 ?? ?? ?? ?? 48 89
8C 24 ?? ?? ?? ?? 48 89 DF BB ?? ?? ?? ?? 48 89 C2 48 8D 05 ?? ?? ?? ?? 48 89 D1 E8
?? ?? ?? ?? 0F 1F 84 00 ?? ?? ?? ?? 48 85 C9 0F 84 ?? ?? ?? ?? 48 89 7C 24 ?? 48 89
4C 24 ?? 44 0F 11 7C 24 ?? 44 0F 11 BC 24 ?? ?? ?? ?? 48 8B 84 24 ?? ?? ?? ?? 48 8B
9C 24 ?? ?? ?? ?? E8 ?? ?? ?? ?? 48 8D 0D ?? ?? ?? ?? 48 89 4C 24 ?? 48 89 84 24 ??
?? ?? ?? 48 8B 4C 24 ?? 48 85 C9 74 ?? 48 8B 49 ?? 48 89 8C 24 ?? ?? ?? ?? 48 8B 54
24 ?? 48 89 94 24 ?? ?? ?? ?? 48 8D 05 ?? ?? ?? ?? BB ?? ?? ?? ?? 48 8D 4C 24 ?? BF
?? ?? ?? ?? 48 89 FE E8 ?? ?? ?? ?? 48 89 44 24 ?? 48 89 5C 24 ?? 90 48 8D 05 ?? ??
?? ?? 66 90 E8 ?? ?? ?? ?? 48 8B 54 24 ?? 48 89 50 ?? 83 3D ?? ?? ?? ?? ?? 75 ?? 48
8B 54 24 ?? 48 89 10 90 EB ?? 48 89 C7 48 8B 54 24 ?? E8 ?? ?? ?? ?? 31 DB 48 8D 0D
?? ?? ?? ?? 48 89 C7 31 C0 48 8B AC 24 ?? ?? ?? ?? 48 81 C4 ?? ?? ?? ?? C3 48 89 5C
}
$network_communication_tcp_p2 = {
24 ?? 48 89 44 24 ?? 44 0F 11 7C 24 ?? 44 0F 11 7C 24 ?? 48 8D 0D ?? ?? ?? ?? 48 89
4C 24 ?? 48 8D 15 ?? ?? ?? ?? 48 89 54 24 ?? 48 8B 84 24 ?? ?? ?? ?? 48 8B 9C 24 ??
?? ?? ?? E8 ?? ?? ?? ?? 48 8D 0D ?? ?? ?? ?? 48 89 4C 24 ?? 48 89 44 24 ?? 31 C0 48
8D 5C 24 ?? B9 ?? ?? ?? ?? 48 89 CF E8 ?? ?? ?? ?? 48 8D 05 ?? ?? ?? ?? 0F 1F 40 ??
E8 ?? ?? ?? ?? 48 8D 0D ?? ?? ?? ?? 48 89 08 48 8B 4C 24 ?? 48 89 48 ?? 83 3D ?? ??
?? ?? ?? 90 75 ?? 48 8B 54 24 ?? 48 89 50 ?? 48 8B 9C 24 ?? ?? ?? ?? 48 89 58 ?? EB
?? 48 8D 78 ?? 48 8B 54 24 ?? E8 ?? ?? ?? ?? 48 8D 78 ?? 48 8B 9C 24 ?? ?? ?? ?? E8
?? ?? ?? ?? E8 ?? ?? ?? ?? 48 8B 44 24 ?? 48 8B 5C 24 ?? 31 C9 31 FF 48 8B AC 24 ??
?? ?? ?? 48 81 C4 ?? ?? ?? ?? C3 48 89 44 24 ?? 48 89 5C 24 ?? 48 89 4C 24 ?? E8 ??
?? ?? ?? 48 8B 44 24 ?? 48 8B 5C 24 ?? 48 8B 4C 24
}
$telnet_task_p1 = {
4C 8D A4 24 ?? ?? ?? ?? 4D 3B 66 ?? 0F 86 ?? ?? ?? ?? 48 81 EC ?? ?? ?? ?? 48 89 AC
24 ?? ?? ?? ?? 48 8D AC 24 ?? ?? ?? ?? 48 89 BC 24 ?? ?? ?? ?? 48 89 B4 24 ?? ?? ??
?? 4C 89 54 24 ?? 4C 89 5C 24 ?? 48 89 9C 24 ?? ?? ?? ?? 4C 89 8C 24 ?? ?? ?? ?? 4C
89 84 24 ?? ?? ?? ?? 48 89 84 24 ?? ?? ?? ?? 48 8B 4F ?? 48 89 F0 FF D1 48 89 C3 31
C0 E8 ?? ?? ?? ?? 84 C0 0F 85 ?? ?? ?? ?? 44 0F 11 BC 24 ?? ?? ?? ?? 44 0F 11 BC 24
?? ?? ?? ?? 48 8D 0D ?? ?? ?? ?? 48 89 8C 24 ?? ?? ?? ?? 48 8D 0D ?? ?? ?? ?? 48 89
8C 24 ?? ?? ?? ?? 48 8B 84 24 ?? ?? ?? ?? E8 ?? ?? ?? ?? 48 8D 0D ?? ?? ?? ?? 48 89
8C 24 ?? ?? ?? ?? 48 89 84 24 ?? ?? ?? ?? 48 8B 1D ?? ?? ?? ?? 48 8D 05 ?? ?? ?? ??
48 8D 8C 24 ?? ?? ?? ?? BF ?? ?? ?? ?? 48 89 FE E8 ?? ?? ?? ?? 48 8D 05 ?? ?? ?? ??
0F 1F 40 ?? E8 ?? ?? ?? ?? 48 89 44 24 ?? 90 44 0F 11 7C 24 ?? 48 8D 0D ?? ?? ?? ??
48 89 4C 24 ?? 48 B9 ?? ?? ?? ?? ?? ?? ?? ?? 48 89 4C 24 ?? 90 48 C7 44 24 ?? ?? ??
?? ?? C6 44 24 ?? ?? 48 8D 0D ?? ?? ?? ?? 48 89 4C 24 ?? C6 44 24 ?? ?? 48 8D 05 ??
?? ?? ?? E8 ?? ?? ?? ?? 48 8D 0D ?? ?? ?? ?? 48 89 08 48 8B 8C 24 ?? ?? ?? ?? 48 89
48 ?? 83 3D ?? ?? ?? ?? ?? 75 ?? 48 8B 94 24 ?? ?? ?? ?? 48 89 50 ?? 48 8B 54 24 ??
48 89 50 ?? EB ?? 48 8D 78 ?? 48 8B 94 24 ?? ?? ?? ?? E8 ?? ?? ?? ?? 48 8D 78 ?? 48
8B 54 24 ?? E8 ?? ?? ?? ?? 44 0F 11 BC 24 ?? ?? ?? ?? 48 8D 54 24 ?? 48 89 94 24 ??
?? ?? ?? 48 8D 54 24 ?? 48 89 94 24 ?? ?? ?? ?? 48 89 C3 48 8D 8C 24 ?? ?? ?? ?? BF
?? ?? ?? ?? 48 89 FE 48 8B 44 24 ?? E8 ?? ?? ?? ?? 48 89 44 24 ?? 48 8B 94 24 ?? ??
?? ?? 48 85 D2 74 ?? 48 8B 8C 24 ?? ?? ?? ?? 31 DB E9 ?? ?? ?? ?? 44 0F 11 7C 24
}
$telnet_task_p2 = {
48 8D 15 ?? ?? ?? ?? 48 89 54 24 ?? 48 8D 15 ?? ?? ?? ?? 48 89 54 24 ?? 48 8B 1D ??
?? ?? ?? 48 8D 05 ?? ?? ?? ?? 48 8D 4C 24 ?? BF ?? ?? ?? ?? 48 89 FE E8 ?? ?? ?? ??
48 8B AC 24 ?? ?? ?? ?? 48 81 C4 ?? ?? ?? ?? C3 48 8B 44 24 ?? E8 ?? ?? ?? ?? 48 8B
44 24 ?? E8 ?? ?? ?? ?? 48 8B 44 24 ?? 48 8D 1D ?? ?? ?? ?? 0F 1F 40 ?? E8 ?? ?? ??
?? 48 8B AC 24 ?? ?? ?? ?? 48 81 C4 ?? ?? ?? ?? C3 48 8B 74 24 ?? 48 83 C6 ?? 48 89
CB 48 89 F1 48 89 5C 24 ?? 48 89 4C 24 ?? 0F 10 01 0F 11 84 24 ?? ?? ?? ?? 0F 10 41
?? 0F 11 84 24 ?? ?? ?? ?? 0F 10 41 ?? 0F 11 84 24 ?? ?? ?? ?? 0F 10 41 ?? 0F 11 84
24 ?? ?? ?? ?? 48 8B 44 24 ?? BB ?? ?? ?? ?? E8 ?? ?? ?? ?? 0F 10 84 24 ?? ?? ?? ??
0F 11 84 24 ?? ?? ?? ?? 0F 10 84 24 ?? ?? ?? ?? 0F 11 84 24 ?? ?? ?? ?? 0F 10 84 24
?? ?? ?? ?? 0F 11 84 24 ?? ?? ?? ?? 0F 10 84 24 ?? ?? ?? ?? 0F 11 84 24 ?? ?? ?? ??
48 8D 05 ?? ?? ?? ?? 48 8D 9C 24 ?? ?? ?? ?? 0F 1F 44 00 ?? E8 ?? ?? ?? ?? 48 8D 1D
?? ?? ?? ?? 48 89 C1 48 8B 44 24 ?? E8 ?? ?? ?? ?? 48 8B 4C 24 ?? 48 FF C1 48 8B 94
24 ?? ?? ?? ?? 48 39 CA 0F 8F ?? ?? ?? ?? E9 ?? ?? ?? ?? 48 89 44 24 ?? 48 89 5C 24
?? 48 89 4C 24 ?? 48 89 7C 24 ?? 48 89 74 24 ?? 4C 89 44 24 ?? 4C 89 4C 24 ?? 4C 89
54 24 ?? 4C 89 5C 24 ?? E8 ?? ?? ?? ?? 48 8B 44 24 ?? 48 8B 5C 24 ?? 48 8B 4C 24 ??
48 8B 7C 24 ?? 48 8B 74 24 ?? 4C 8B 44 24 ?? 4C 8B 4C 24 ?? 4C 8B 54 24
}
condition:
uint32(0) == 0x464C457F and
(
all of ($get_local_address_p*)
) and
(
all of ($get_mac_address_p*)
) and
(
all of ($network_communication_tcp_p*)
) and
(
all of ($telnet_task_p*)
)
}
This YARA rule can be deployed in the following contexts:
This rule contains 8 string patterns in its detection logic.
Here are 4 specific false positive scenarios for the GobRAT Backdoor Detection Rule in a Linux enterprise environment, along with recommended filters or exclusions:
Scenario: Automated Backup Script Execution via Cron
root or a dedicated service account (e.g., backup_svc) may trigger alerts due to their similar behavioral footprint.^vmdk|^commvault|^rsync running under user root or group backup_admin, provided they are launched by /usr/sbin/cron.Scenario: Container Orchestration Agent Activity
containerd or dockerd processes spawning new container instances as a backdoor establishing persistence, especially when these agents open ephemeral network ports for health checks./var/lib/docker, /opt/kubernetes/bin) and the parent process is kubelet or dockerd. Additionally, exclude processes running with the --privileged flag if they are part of a known CI/CD pipeline.Scenario: Endpoint Detection & Response (EDR) Self-Scanning