YARA Detection Rule: ByteCode_MSIL_Backdoor_ResolverRAT
Repository: reversinglabs/reversinglabs-yara-rules
Detects: Yara rule that detects ResolverRAT backdoor.
Malware family: RESOLVERRAT
Author: ReversingLabs

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

Detection condition:
uint16(0) == 0x5A4D and
        (
            $run_visual_executor
        ) and
        (
            $execute_mixed_executor
        ) and
        (
            $write_connection
        ) and
        (
            $read_sorter_enumerator
        )

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