YARA Detection Rule: Linux_Backdoor_PondRAT
Repository: reversinglabs/reversinglabs-yara-rules
Detects: Yara rule that detects PondRAT backdoor.
Malware family: PONDRAT
Author: ReversingLabs

Pattern signatures:
$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 

Detection condition:
uint32(0) == 0x464C457F and
        (
            all of ($connect_proxy_p*)
        ) and
        (
            $send_payload
        ) and
        (
            $execute_shell_command
        )

Full rule:
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 ?? ?? ?? ?? ?