YARA Detection Rule: Win32_Backdoor_Konni
Repository: reversinglabs/reversinglabs-yara-rules
Detects: Yara rule that detects Konni backdoor.
Malware family: KONNI
Author: ReversingLabs

Pattern signatures:
$network_communication_p1 = {
            55 8B EC 83 EC ?? 53 56 8B 35 ?? ?? ?? ?? 57 33 FF 68 ?? ?? ?? ?? 8D 9E ?? ?? ?? ??
            57 53 89 7D ?? 89 7D ?? 89 7D ?? 89 7D ?? 89 7D ?? 89 5D ?? E8 ?? ?? ?? ?? 8B 45 ??
            50 56 8D 8E ?? ?? ?? ?? 51 68 ?? ?? ?? ?? 68 ?? ?? ?? ?? 53 E8 ?? ?? ?? ?? 83 C4 ??
            81 C6 ?? ?? ?? ?? 56 E8 ?? ?? ?? ?? 57 57 57 6A ?? 57 FF 15 ?? ?? ?? ?? 8B D8 3B DF
            0F 84 ?? ?? ?? ?? 57 57 6A ?? 57 57 6A ?? 56 53 C7 45 ?? ?? ?? ?? ?? FF 15 ?? ?? ??
            ?? 8B F8 89 7D ?? 85 FF 75 ?? 53 FF 15 ?? ?? ?? ?? 8D 47 ?? 5F 5E 5B 8B E5 5D C2 ??
            ?? 8B 55 ?? 6A ?? 68 ?? ?? ?? ?? 6A ?? 6A ?? 6A ?? 52 68 ?? ?? ?? ?? 57 C7 45 ?? ??
            ?? ?? ?? FF 15 ?? ?? ?? ?? 8B F0 85 F6 75 ?? 8B 35 ?? ?? ?? ?? 57 FF D6 53 FF D6 5F
            5E B8 ?? ?? ?? ?? 5B 8B E5 5D C2 ?? ?? 6A ?? 6A ?? 6A ?? 6A ?? 56 FF 15 ?? ?? ?? ??
            6A ?? 6A ?? 85 C0 74 ?? 8D 45 ?? 50 56 FF 15 ?? ?? ?? ?? 85 C0 75 ?? 50 50 6A ?? 56
          

Detection condition:
uint16(0) == 0x5A4D and
        (
            all of ($network_communication_p*)
        ) and
        (
            all of ($handle_c2_commands_p*)
        ) and
        (
            all of ($create_cab_file_and_upload_p*)
        ) and
        (
            $cmd_expand_payload
        )

Full rule:
rule Win32_Backdoor_Konni : tc_detection malicious
{
    meta:

        author              = "ReversingLabs"

        source              = "ReversingLabs"
        status              = "RELEASED"
        sharing             = "TLP:WHITE"
        category            = "MALWARE"
        malware             = "KONNI"
        description         = "Yara rule that detects Konni backdoor."

        tc_detection_type   = "Backdoor"
        tc_detection_name   = "Konni"
        tc_detection_factor = 5

    strings:

        $network_communication_p1 = {
            55 8B EC 83 EC ?? 53 56 8B 35 ?? ?? ?? ?? 57 33 FF 68 ?? ?? ?? ?? 8D 9E ?? ?? ?? ??
            57 53 89 7D ?? 89 7D ?? 89 7D ?? 89 7D ?? 89 7D ?? 89 5D ?? E8 ?? ?? ?? ?? 8B 45 ??
            50 56 8D 8E ?? ?? ?? ?? 51 68 ?? ?? ?? ?? 68 ?? ?? ?? ?? 53 E8 ?? ?? ?? ?? 83 C4 ??
            81 C6 ?? ?? ?? ?? 56 E8 ?? ?? ?? ?? 57 57 57 6A ?? 57 FF 15 ?? ?? ?? ?? 8B D8 3B DF
            0F 84 ?? ?? ?? ?? 57 57 6A ?? 57 57 6A ?? 56 53 C7 45 ?? ?? ?? ?? ?? FF 15 ?? ?? ??
            ?? 8B F8 89 7D ?? 85 FF 75 ?? 53 FF 15 ?? ?? ?? ?? 8D 47 ?? 5F 5E 5B 8B E5 5D C2 ??
            ?? 8B 55 ?? 6A ?? 68 ?? ?? ?? ?? 6A ?? 6A ?? 6A ?? 52 68 ?? ?? ?? ?? 57 C7 45 ?? ??
            ?? ?? ?? FF 15 ?? ?? ?? ?? 8B F0 85 F6 75 ?? 8B 35 ?? ?? ?? ?? 57 FF D6 53 FF D6 5F
            5E B8 ?? ?? ?? ?? 5B 8B E5 5D C2 ?? ?? 6A ?? 6A ?? 6A ?? 6A ?? 56 FF 15 ?? ?? ?? ??
            6A ?? 6A ?? 85 C0 74 ?? 8D 45 ?? 50 56 FF 15 ?? ?? ?? ?? 85 C0 75 ?? 50 50 6A ?? 56
            FF 15 ?? ?? ?? ?? 56 8B 35 ?? ?? ?? ?? FF D6 57 FF D6 53 FF D6 5F 5E B8 ?? ?? ?? ??
            5B 8B E5 5D C2 ?? ?? 8B 45 ?? 85 C0 75 ?? 50 50 50 56 FF 15 ?? ?? ?? ?? 56 8B 35 ??
            ?? ?? ?? FF D6 57 FF D6 53 FF D6 5F 5E 83 C8 ?? 5B 8B E5 5D C2 ?? ?? 40 50 6A ?? 89
        }

        $network_communication_p2 = {
            45 ?? FF 15 ?? ?? ?? ?? 8B F8 85 FF 75 ?? 50 50 50 56 FF 15 ?? ?? ?? ?? 56 8B 35 ??
            ?? ?? ?? FF D6 8B 4D ?? 51 FF D6 53 FF D6