YARA Detection Rule: Win32_Ransomware_Balaclava
Repository: reversinglabs/reversinglabs-yara-rules
Detects: Yara rule that detects Balaclava ransomware.
Malware family: BALACLAVA
Author: ReversingLabs

Pattern signatures:
$find_files_p1 = {
            55 8B EC 83 EC ?? 53 56 8B 75 ?? 33 D2 57 6A ?? 5B 8B 7E ?? 89 55 ?? 8D 4F ?? 66 8B 
            07 03 FB 66 3B C2 75 ?? 2B F9 B9 ?? ?? ?? ?? D1 FF E8 ?? ?? ?? ?? 50 FF 76 ?? 89 45 
            ?? FF 15 ?? ?? ?? ?? 89 45 ?? 83 F8 ?? 75 ?? 50 FF 15 ?? ?? ?? ?? E9 ?? ?? ?? ?? 8B 
            45 ?? 83 C0 ?? 89 45 ?? 8B D8 33 D2 8D 4B ?? 66 8B 03 83 C3 ?? 66 3B C2 75 ?? 2B D9 
            D1 FB 8D 04 3B 3D ?? ?? ?? ?? 7C ?? 8D 04 45 ?? ?? ?? ?? 50 39 56 ?? 74 ?? FF 76 ?? 
            52 FF 15 ?? ?? ?? ?? 50 FF 15 ?? ?? ?? ?? EB ?? 52 FF 15 ?? ?? ?? ?? 50 FF 15 ?? ?? 
            ?? ?? 39 46 ?? 74 ?? 89 46 ?? 8B 46 ?? 33 C9 66 89 0C 78 8B 55 ?? F7 02 ?? ?? ?? ?? 
            0F 85 ?? ?? ?? ?? 33 D2 8B C2 6A ?? 89 45 ?? 59 89 4D ?? 3B C1 7F ?? 03 C1 8B 4D ?? 
            99 2B C2 D1 F8 89 45 ?? 8B 14 85 ?? ?? ?? ?? 66 8B 01 66 3B 02 75 ?? 66 85 C0 74 ?? 
            66 8B 41 ?? 66 3B 42 ?? 75 ?? 83 C1 ?? 83 C2 ?? 66 85 C0 75 ?? 33 D2 8B C2 EB ?? 1B 
           

Detection condition:
uint16(0) == 0x5A4D and
        (
            $find_volumes
        ) and
        (
            all of ($find_files_p*)
        ) and
        (
            all of ($encrypt_files_p*)
        )

Full rule:
rule Win32_Ransomware_Balaclava : tc_detection malicious
{
    meta:

        author              = "ReversingLabs"

        source              = "ReversingLabs"
        status              = "RELEASED"
        sharing             = "TLP:WHITE"
        category            = "MALWARE"
        malware             = "BALACLAVA"
        description         = "Yara rule that detects Balaclava ransomware."

        tc_detection_type   = "Ransomware"
        tc_detection_name   = "Balaclava"
        tc_detection_factor = 5

    strings:

        $find_files_p1 = {
            55 8B EC 83 EC ?? 53 56 8B 75 ?? 33 D2 57 6A ?? 5B 8B 7E ?? 89 55 ?? 8D 4F ?? 66 8B 
            07 03 FB 66 3B C2 75 ?? 2B F9 B9 ?? ?? ?? ?? D1 FF E8 ?? ?? ?? ?? 50 FF 76 ?? 89 45 
            ?? FF 15 ?? ?? ?? ?? 89 45 ?? 83 F8 ?? 75 ?? 50 FF 15 ?? ?? ?? ?? E9 ?? ?? ?? ?? 8B 
            45 ?? 83 C0 ?? 89 45 ?? 8B D8 33 D2 8D 4B ?? 66 8B 03 83 C3 ?? 66 3B C2 75 ?? 2B D9 
            D1 FB 8D 04 3B 3D ?? ?? ?? ?? 7C ?? 8D 04 45 ?? ?? ?? ?? 50 39 56 ?? 74 ?? FF 76 ?? 
            52 FF 15 ?? ?? ?? ?? 50 FF 15 ?? ?? ?? ?? EB ?? 52 FF 15 ?? ?? ?? ?? 50 FF 15 ?? ?? 
            ?? ?? 39 46 ?? 74 ?? 89 46 ?? 8B 46 ?? 33 C9 66 89 0C 78 8B 55 ?? F7 02 ?? ?? ?? ?? 
            0F 85 ?? ?? ?? ?? 33 D2 8B C2 6A ?? 89 45 ?? 59 89 4D ?? 3B C1 7F ?? 03 C1 8B 4D ?? 
            99 2B C2 D1 F8 89 45 ?? 8B 14 85 ?? ?? ?? ?? 66 8B 01 66 3B 02 75 ?? 66 85 C0 74 ?? 
            66 8B 41 ?? 66 3B 42 ?? 75 ?? 83 C1 ?? 83 C2 ?? 66 85 C0 75 ?? 33 D2 8B C2 EB ?? 1B 
            C0 83 C8 ?? 33 D2 85 C0 0F 84 ?? ?? ?? ?? 79 ?? 8B 4D ?? 8B 45 ?? 49 EB ?? 8B 45 ?? 
            8B 4D ?? 40 89 45 ?? EB ?? 8B 45 ?? F6 00 ?? 0F 84 ?? ?? ?? ?? 8D 04 5D ?? ?? ?? ?? 
            50 8B 46 ?? FF 75 ?? 8D 04 78 83 C0 ?? 50 E8 ?? ?? ?? ?? 8B 4E ?? 83 C4 ?? 8B 46 ?? 
            66 8B 10 66 3B 11 75 ?? 66 85 D2 74 ?? 66 8B 50 ?? 66 3B 51 ?? 75 ?? 83 C0 ?? 83 C1 
            ?? 66 85 D2 75 ?? 33 C0 EB ?? 1B C0 83 C8 ?? 85 C0 0F 84 ?? ?? ??