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

Pattern signatures:
$show_ransom_note_p1 = {
            55 8B EC B9 ?? ?? ?? ?? 6A ?? 6A ?? 49 75 ?? 53 56 84 D2 74 ?? 83 C4 ?? E8 ?? ?? ?? 
            ?? 88 55 ?? 8B D8 33 C0 55 68 ?? ?? ?? ?? 64 FF 30 64 89 20 33 D2 8B C3 E8 ?? ?? ?? 
            ?? 89 1D ?? ?? ?? ?? 33 C9 B2 ?? A1 ?? ?? ?? ?? E8 ?? ?? ?? ?? 8B F0 89 73 ?? 33 C0 
            89 46 ?? 33 C0 89 86 ?? ?? ?? ?? 33 C0 89 86 ?? ?? ?? ?? C7 86 ?? ?? ?? ?? ?? ?? ?? 
            ?? C7 86 ?? ?? ?? ?? ?? ?? ?? ?? C6 86 ?? ?? ?? ?? ?? C7 86 ?? ?? ?? ?? ?? ?? ?? ?? 
            6A ?? 6A ?? 8D 45 ?? 50 33 C9 B2 ?? B8 ?? ?? ?? ?? E8 ?? ?? ?? ?? 8D 55 ?? 8D 86 ?? 
            ?? ?? ?? 8B 0D ?? ?? ?? ?? E8 ?? ?? ?? ?? C6 86 ?? ?? ?? ?? ?? C6 86 ?? ?? ?? ?? ?? 
            C6 86 ?? ?? ?? ?? ?? 33 C0 89 86 ?? ?? ?? ?? C6 86 ?? ?? ?? ?? ?? 33 C0 89 86 ?? ?? 
            ?? ?? C6 86 ?? ?? ?? ?? ?? C6 86 ?? ?? ?? ?? ?? 8D 86 ?? ?? ?? ?? 33 D2 E8 ?? ?? ?? 
            ?? 8D 86 ?? ?? ?? ?? 33 D2 E8 ?? ?? ?? ?? 33 C0 89 86 ?? ?? ?? ?? 33 C0 89 86 ?? ?? 
     

Detection condition:
uint16(0) == 0x5A4D and
        (
            $search_config_file
        ) and
        (
            all of ($find_files_p*)
        ) and
        (
            $track_mouse_event_for_entropy
        ) and
        (
            $encrypt_files
        ) and
        (
            all of ($show_ransom

Full rule:
rule Win32_Ransomware_MZP : tc_detection malicious
{
    meta:

        author              = "ReversingLabs"

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

        tc_detection_type   = "Ransomware"
        tc_detection_name   = "MZP"
        tc_detection_factor = 5

    strings:

        $show_ransom_note_p1 = {
            55 8B EC B9 ?? ?? ?? ?? 6A ?? 6A ?? 49 75 ?? 53 56 84 D2 74 ?? 83 C4 ?? E8 ?? ?? ?? 
            ?? 88 55 ?? 8B D8 33 C0 55 68 ?? ?? ?? ?? 64 FF 30 64 89 20 33 D2 8B C3 E8 ?? ?? ?? 
            ?? 89 1D ?? ?? ?? ?? 33 C9 B2 ?? A1 ?? ?? ?? ?? E8 ?? ?? ?? ?? 8B F0 89 73 ?? 33 C0 
            89 46 ?? 33 C0 89 86 ?? ?? ?? ?? 33 C0 89 86 ?? ?? ?? ?? C7 86 ?? ?? ?? ?? ?? ?? ?? 
            ?? C7 86 ?? ?? ?? ?? ?? ?? ?? ?? C6 86 ?? ?? ?? ?? ?? C7 86 ?? ?? ?? ?? ?? ?? ?? ?? 
            6A ?? 6A ?? 8D 45 ?? 50 33 C9 B2 ?? B8 ?? ?? ?? ?? E8 ?? ?? ?? ?? 8D 55 ?? 8D 86 ?? 
            ?? ?? ?? 8B 0D ?? ?? ?? ?? E8 ?? ?? ?? ?? C6 86 ?? ?? ?? ?? ?? C6 86 ?? ?? ?? ?? ?? 
            C6 86 ?? ?? ?? ?? ?? 33 C0 89 86 ?? ?? ?? ?? C6 86 ?? ?? ?? ?? ?? 33 C0 89 86 ?? ?? 
            ?? ?? C6 86 ?? ?? ?? ?? ?? C6 86 ?? ?? ?? ?? ?? 8D 86 ?? ?? ?? ?? 33 D2 E8 ?? ?? ?? 
            ?? 8D 86 ?? ?? ?? ?? 33 D2 E8 ?? ?? ?? ?? 33 C0 89 86 ?? ?? ?? ?? 33 C0 89 86 ?? ?? 
            ?? ?? C6 86 ?? ?? ?? ?? ?? 8D 45 ?? BA ?? ?? ?? ?? E8 ?? ?? ?? ?? 8B 55 ?? 8B C6 E8 
            ?? ?? ?? ?? B2 ?? 8B C6 E8 ?? ?? ?? ?? C6 86 ?? ?? ?? ?? ?? 68 ?? ?? ?? ?? A1 ?? ?? 
            ?? ?? 8B 00 50 E8 ?? ?? ?? ?? 8B D0 8B C6 E8 ?? ?? ?? ?? 33 D2 8B C6 E8
        }

        $show_ransom_note_p2 = {
            C6 86 ?? ?? ?? ?? ?? C7 86 ?? ?? ?? ?? ?? ?? ?? ?? 8D 86 ?? ?? ?? ?? 33 D2 E8 ?? ?? 
            ?? ?? C6 86 ?? ?? ?? ?? ?? C6 86 ?? ?? ?? ?? ?? 89 B