YARA Detection Rule: ByteCode_MSIL_Ransomware_ChupaCabra
Repository: reversinglabs/reversinglabs-yara-rules
Detects: Yara rule that detects ChupaCabra ransomware.
Malware family: CHUPACABRA
Author: ReversingLabs

Pattern signatures:
$encrypt_files_p1 = {
            7E ?? ?? ?? ?? 28 ?? ?? ?? ?? 2C ?? 72 ?? ?? ?? ?? 73 ?? ?? ?? ?? 7A 7E ?? ?? ?? ?? 28
            ?? ?? ?? ?? 2C ?? 72 ?? ?? ?? ?? 73 ?? ?? ?? ?? 7A 14 0A 14 0B 7E ?? ?? ?? ?? 7E ?? ??
            ?? ?? 73 ?? ?? ?? ?? 0C 7E ?? ?? ?? ?? 28 ?? ?? ?? ?? 0D 09 73 ?? ?? ?? ?? 13 ?? 73 ??
            ?? ?? ?? 0A 06 08 06 6F ?? ?? ?? ?? 1E 5B 6F ?? ?? ?? ?? 6F ?? ?? ?? ?? 06 11 ?? 28 ??
            ?? ?? ?? 6F ?? ?? ?? ?? 06 06 6F ?? ?? ?? ?? 06 6F ?? ?? ?? ?? 6F ?? ?? ?? ?? 13 ?? 11
            ?? 11 ?? 16 73 ?? ?? ?? ?? 13 ?? 11 ?? 73 ?? ?? ?? ?? 13 ?? 11 ?? 6F ?? ?? ?? ?? 0B DE
            ?? 11 ?? 2C ?? 11 ?? 6F ?? ?? ?? ?? DC 11 ?? 2C ?? 11 ?? 6F ?? ?? ?? ?? DC 11 ?? 2C ??
            11 ?? 6F ?? ?? ?? ?? DC 06 2C ?? 06 6F ?? ?? ?? ?? DC 07 2A
        }

        $encrypt_files_p2 = {
            02 73 ?? ?? ?? ?? 28 ?? ?? ?? ?? 20 ?? ?? ?? ?? 6A 30 ?? 02 28 ?? ?? ?? ?? 28 ?? ?? ??
            ?? 0A 02 06 28 ?? ?? ?? ?? 02 02 72 ?? ?? ?? ?? 28 ?? ?? ?? ?

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

Full rule:
rule ByteCode_MSIL_Ransomware_ChupaCabra : tc_detection malicious
{
    meta:

        author              = "ReversingLabs"

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

        tc_detection_type   = "Ransomware"
        tc_detection_name   = "ChupaCabra"
        tc_detection_factor = 5

    strings:

        $encrypt_files_p1 = {
            7E ?? ?? ?? ?? 28 ?? ?? ?? ?? 2C ?? 72 ?? ?? ?? ?? 73 ?? ?? ?? ?? 7A 7E ?? ?? ?? ?? 28
            ?? ?? ?? ?? 2C ?? 72 ?? ?? ?? ?? 73 ?? ?? ?? ?? 7A 14 0A 14 0B 7E ?? ?? ?? ?? 7E ?? ??
            ?? ?? 73 ?? ?? ?? ?? 0C 7E ?? ?? ?? ?? 28 ?? ?? ?? ?? 0D 09 73 ?? ?? ?? ?? 13 ?? 73 ??
            ?? ?? ?? 0A 06 08 06 6F ?? ?? ?? ?? 1E 5B 6F ?? ?? ?? ?? 6F ?? ?? ?? ?? 06 11 ?? 28 ??
            ?? ?? ?? 6F ?? ?? ?? ?? 06 06 6F ?? ?? ?? ?? 06 6F ?? ?? ?? ?? 6F ?? ?? ?? ?? 13 ?? 11
            ?? 11 ?? 16 73 ?? ?? ?? ?? 13 ?? 11 ?? 73 ?? ?? ?? ?? 13 ?? 11 ?? 6F ?? ?? ?? ?? 0B DE
            ?? 11 ?? 2C ?? 11 ?? 6F ?? ?? ?? ?? DC 11 ?? 2C ?? 11 ?? 6F ?? ?? ?? ?? DC 11 ?? 2C ??
            11 ?? 6F ?? ?? ?? ?? DC 06 2C ?? 06 6F ?? ?? ?? ?? DC 07 2A
        }

        $encrypt_files_p2 = {
            02 73 ?? ?? ?? ?? 28 ?? ?? ?? ?? 20 ?? ?? ?? ?? 6A 30 ?? 02 28 ?? ?? ?? ?? 28 ?? ?? ??
            ?? 0A 02 06 28 ?? ?? ?? ?? 02 02 72 ?? ?? ?? ?? 28 ?? ?? ?? ?? 28 ?? ?? ?? ?? 38 ?? ??
            ?? ?? 02 73 ?? ?? ?? ?? 28 ?? ?? ?? ?? 20 ?? ?? ?? ?? 6A 30 ?? 20 ?? ?? ?? ?? 8D ?? ??
            ?? ?? 0B 02 19 28 ?? ?? ?? ?? 73 ?? ?? ?? ?? 0C 08 20 ?? ?? ?? ?? 6F ?? ?? ?? ?? 28 ??
            ?? ?? ?? 0D 09 07 09 8E 69 28 ?? ?? ?? ?? DE ?? 08 2C ?? 08 6F ?? ?? ?? ?? DC 02 19 28
            ?? ?? ?? ?? 73 ?? ?? ?? ?? 13 ?? 11 ?? 07 6F ?? ?? ?? ?? DE ?? 11 ?? 2C ?? 11 ?? 6F ??
            ?? ?? ??