rule Win64_Ransomware_Warlock : tc_detection malicious { meta: author = "ReversingLabs" source = "ReversingLabs" status = "RELEASED" sharing = "TLP:WHITE" category = "MALWARE" malware = "WARLOCK" description = "Yara rule that detects Warlock ransomware." tc_detection_type = "Ransomware" tc_detection_name = "Warlock" tc_detection_factor = 5 strings: $encrypt_files_p1 = { 48 89 4C 24 ?? 48 81 EC ?? ?? ?? ?? 48 8B 05 ?? ?? ?? ?? 48 33 C4 48 89 84 24 ?? ?? ?? ?? 33 C0 83 F8 ?? 0F 84 ?? ?? ?? ?? BA ?? ?? ?? ?? 48 8D 8C 24 ?? ?? ?? ?? E8 ?? ?? ?? ?? 48 8D 8C 24 ?? ?? ?? ?? E8 ?? ?? ?? ?? 90 48 8D 15 ?? ?? ?? ?? 48 8D 8C 24 ?? ?? ?? ?? E8 ?? ?? ?? ?? 90 48 8B 8C 24 ?? ?? ?? ?? E8 ?? ?? ?? ?? 0F B6 C0 85 C0 74 ?? 48 8D 8C 24 ?? ?? ?? ?? E8 ?? ?? ?? ?? 90 48 8D 8C 24 ?? ?? ?? ?? E8 ?? ?? ?? ?? 90 E9 ?? ?? ?? ?? C7 44 24 ?? ?? ?? ?? ?? EB ?? 8B 44 24 ?? FF C0 89 44 24 ?? 83 7C 24 ?? ?? 7D ?? 48 8B 8C 24 ?? ?? ?? ?? E8 ?? ?? ?? ?? 0F B6 C0 85 C0 75 ?? 48 8B 8C 24 ?? ?? ?? ?? E8 ?? ?? ?? ?? 48 8B D0 48 8D 8C 24 ?? ?? ?? ?? E8 ?? ?? ?? ?? 48 8B 8C 24 ?? ?? ?? ?? E8 ?? ?? ?? ?? 90 EB ?? 48 8D 8C 24 ?? ?? ?? ?? E8 ?? ?? ?? ?? 90 48 8D 84 24 ?? ?? ?? ?? 48 89 44 24 ?? 48 8B 4C 24 ?? E8 ?? ?? ?? ?? 48 89 44 24 ?? 48 8B 4C 24 ?? E8 ?? ?? ?? ?? 48 89 44 24 ?? EB ?? 48 8B 44 24 ?? 48 83 C0 ?? 48 89 44 24 ?? 48 8B 44 24 ?? 48 39 44 24 ?? 0F 84 ?? ?? ?? ?? 48 8B 44 24 ?? 48 89 44 24 ?? C7 44 24 ?? ?? ?? ?? ?? 49 C7 C0 ?? ?? ?? ?? 48 8D 15 ?? ?? ?? ?? 48 8B 4C 24 ?? E8 ?? ?? ?? ?? 4C 8B C8 45 33 C0 48 8D 94 24 ?? ?? ?? ?? 48 8B 4C 24 ?? E8 ?? ?? ?? ?? 90 48 8B 4C 24 ?? E8 ?? ?? ?? ?? BA ?? ?? ?? ?? 48 8B C8 FF 15 ?? ?? ?? ?? 90 } $encrypt_files_p2 = { 48 8B 4C 24 ?? E8 ?? ?? ?? ?? 0F B6 C0 85 C0 0F 84 ?? ?? ?? ?? 0F B6 05 ?? ?? ?? ?? 85 C0 0F 85 ?? ?? ?? ?? 4C 8D 05 ?? ?? ?? ?? 48 8B 54 24 ?? 48 8D 8C 24 ?? ?? ?? ?? E8 ?? ?? ?? ?? 90 48 8D 8C 24 ?? ?? ?? ?? E8 ?? ?? ?? ?? 48 89 44 24 ?? 48 8B 4C 24 ?? E8 ?? ?? ?? ?? 48 8B 4C 24 ?? 48 8B D1 48 8B C8 FF 15 ?? ?? ?? ?? 85 C0 75 ?? 48 8D 8C 24 ?? ?? ?? ?? E8 ?? ?? ?? ?? 48 89 84 24 ?? ?? ?? ?? 48 8B 4C 24 ?? E8 ?? ?? ?? ?? 41 B8 ?? ?? ?? ?? 48 8B 8C 24 ?? ?? ?? ?? 48 8B D1 48 8B C8 FF 15 ?? ?? ?? ?? 85 C0 0F 84 ?? ?? ?? ?? 41 B8 ?? ?? ?? ?? BA ?? ?? ?? ?? 48 8D 0D ?? ?? ?? ?? E8 ?? ?? ?? ?? 90 0F B6 05 ?? ?? ?? ?? 85 C0 0F 85 ?? ?? ?? ?? 4C 8D 05 ?? ?? ?? ?? 48 8D 94 24 ?? ?? ?? ?? 48 8D 8C 24 ?? ?? ?? ?? E8 ?? ?? ?? ?? 48 89 84 24 ?? ?? ?? ?? 48 8B 84 24 ?? ?? ?? ?? 48 89 84 24 ?? ?? ?? ?? 4C 8D 05 ?? ?? ?? ?? 48 8B 94 24 ?? ?? ?? ?? 48 8D 8C 24 ?? ?? ?? ?? E8 ?? ?? ?? ?? 90 48 8D 8C 24 ?? ?? ?? ?? E8 ?? ?? ?? ?? 90 48 8D 8C 24 ?? ?? ?? ?? E8 ?? ?? ?? ?? 48 C7 44 24 ?? ?? ?? ?? ?? C7 44 24 ?? ?? ?? ?? ?? C7 44 24 ?? ?? ?? ?? ?? 45 33 C9 41 B8 ?? ?? ?? ?? BA ?? ?? ?? ?? 48 8B C8 FF 15 ?? ?? ?? ?? 48 89 44 24 ?? 48 83 7C 24 ?? ?? 74 ?? 48 8D 0D ?? ?? ?? ?? FF 15 ?? ?? ?? ?? 48 C7 44 24 ?? ?? ?? ?? ?? 4C 8D 8C 24 ?? ?? ?? ?? 44 8B C0 48 8D 15 ?? ?? ?? ?? 48 8B 4C 24 ?? FF 15 ?? ?? ?? ?? 48 8B 4C 24 ?? FF 15 ?? ?? ?? ?? 90 48 } $encrypt_files_p3 = { 8D 8C 24 ?? ?? ?? ?? E8 ?? ?? ?? ?? 90 48 8D 8C 24 ?? ?? ?? ?? E8 ?? ?? ?? ?? 90 E9 ?? ?? ?? ?? 41 B8 ?? ?? ?? ?? BA ?? ?? ?? ?? 48 8D 0D ?? ?? ?? ?? E8 ?? ?? ?? ?? 90 0F B6 05 ?? ?? ?? ?? 85 C0 0F 85 ?? ?? ?? ?? 4C 8D 05 ?? ?? ?? ?? 48 8D 94 24 ?? ?? ?? ?? 48 8D 8C 24 ?? ?? ?? ?? E8 ?? ?? ?? ?? 48 89 84 24 ?? ?? ?? ?? 48 8B 84 24 ?? ?? ?? ?? 48 89 84 24 ?? ?? ?? ?? 4C 8D 05 ?? ?? ?? ?? 48 8B 94 24 ?? ?? ?? ?? 48 8D 8C 24 ?? ?? ?? ?? E8 ?? ?? ?? ?? 90 48 8D 8C 24 ?? ?? ?? ?? E8 ?? ?? ?? ?? 90 48 8D 8C 24 ?? ?? ?? ?? E8 ?? ?? ?? ?? 48 C7 44 24 ?? ?? ?? ?? ?? C7 44 24 ?? ?? ?? ?? ?? C7 44 24 ?? ?? ?? ?? ?? 45 33 C9 41 B8 ?? ?? ?? ?? BA ?? ?? ?? ?? 48 8B C8 FF 15 ?? ?? ?? ?? 48 89 44 24 ?? 48 83 7C 24 ?? ?? 74 ?? 48 8D 0D ?? ?? ?? ?? FF 15 ?? ?? ?? ?? 48 C7 44 24 ?? ?? ?? ?? ?? 4C 8D 8C 24 ?? ?? ?? ?? 44 8B C0 48 8D 15 ?? ?? ?? ?? 48 8B 4C 24 ?? FF 15 ?? ?? ?? ?? 48 8B 4C 24 ?? FF 15 ?? ?? ?? ?? 90 48 8D 8C 24 ?? ?? ?? ?? E8 ?? ?? ?? ?? 90 EB ?? 83 7C 24 ?? ?? 74 ?? 48 8B 4C 24 ?? E8 ?? ?? ?? ?? 48 8B C8 E8 ?? ?? ?? ?? C7 44 24 ?? ?? ?? ?? ?? E9 ?? ?? ?? ?? 48 8D 8C 24 ?? ?? ?? ?? E8 ?? ?? ?? ?? 90 E9 ?? ?? ?? ?? 48 8D 8C 24 ?? ?? ?? ?? E8 ?? ?? ?? ?? 90 E9 ?? ?? ?? ?? 48 8B 8C 24 ?? ?? ?? ?? 48 33 CC E8 ?? ?? ?? ?? 48 81 C4 ?? ?? ?? ?? C3 } $kill_processes = { 48 81 EC ?? ?? ?? ?? 48 8B 05 ?? ?? ?? ?? 48 33 C4 48 89 84 24 ?? ?? ?? ?? 33 D2 B9 ?? ?? ?? ?? FF 15 ?? ?? ?? ?? 48 89 44 24 ?? 48 83 7C 24 ?? ?? 75 ?? E9 ?? ?? ?? ?? C7 44 24 ?? ?? ?? ?? ?? 48 8D 54 24 ?? 48 8B 4C 24 ?? FF 15 ?? ?? ?? ?? 89 44 24 ?? 83 7C 24 ?? ?? 0F 84 ?? ?? ?? ?? C7 44 24 ?? ?? ?? ?? ?? EB ?? 8B 44 24 ?? FF C0 89 44 24 ?? 48 63 44 24 ?? 48 83 F8 ?? 73 ?? 48 63 44 24 ?? 48 8D 0D ?? ?? ?? ?? 48 8D 54 24 ?? 48 8B 0C C1 FF 15 ?? ?? ?? ?? 85 C0 75 ?? 44 8B 44 24 ?? 33 D2 B9 ?? ?? ?? ?? FF 15 ?? ?? ?? ?? 48 89 44 24 ?? 48 83 7C 24 ?? ?? 74 ?? BA ?? ?? ?? ?? 48 8B 4C 24 ?? FF 15 ?? ?? ?? ?? 48 8B 4C 24 ?? FF 15 ?? ?? ?? ?? 90 EB ?? EB ?? 48 8D 54 24 ?? 48 8B 4C 24 ?? FF 15 ?? ?? ?? ?? 89 44 24 ?? E9 ?? ?? ?? ?? 48 8B 4C 24 ?? FF 15 ?? ?? ?? ?? 90 48 8B 8C 24 ?? ?? ?? ?? 48 33 CC E8 ?? ?? ?? ?? 48 81 C4 ?? ?? ?? ?? C3 } $stop_services_p1 = { 40 56 57 48 81 EC ?? ?? ?? ?? 48 8B 05 ?? ?? ?? ?? 48 33 C4 48 89 84 24 ?? ?? ?? ?? 48 C7 44 24 ?? ?? ?? ?? ?? FF 15 ?? ?? ?? ?? 89 44 24 ?? C7 44 24 ?? ?? ?? ?? ?? 41 B8 ?? ?? ?? ?? 33 D2 33 C9 FF 15 ?? ?? ?? ?? 48 89 44 24 ?? 48 83 7C 24 ?? ?? 75 ?? E9 ?? ?? ?? ?? C7 44 24 ?? ?? ?? ?? ?? EB ?? 8B 44 24 ?? FF C0 89 44 24 ?? 48 63 44 24 ?? 48 83 F8 ?? 0F 83 ?? ?? ?? ?? 48 63 44 24 ?? 48 8D 0D ?? ?? ?? ?? 41 B8 ?? ?? ?? ?? 48 8B 14 C1 48 8B 4C 24 ?? FF 15 ?? ?? ?? ?? 48 89 44 24 ?? 48 83 7C 24 ?? ?? 0F 84 ?? ?? ?? ?? 48 8D 84 24 ?? ?? ?? ?? 48 89 44 24 ?? 41 B9 ?? ?? ?? ?? 4C 8D 84 24 ?? ?? ?? ?? 33 D2 48 8B 4C 24 ?? FF 15 ?? ?? ?? ?? 85 C0 0F 84 ?? ?? ?? ?? 83 BC 24 ?? ?? ?? ?? ?? 0F 84 ?? ?? ?? ?? 83 BC 24 ?? ?? ?? ?? ?? 0F 84 ?? ?? ?? ?? 48 8D 84 24 ?? ?? ?? ?? 48 89 44 24 ?? 48 8D 84 24 ?? ?? ?? ?? 48 89 44 24 ?? 45 33 C9 4C 8B 44 24 ?? BA ?? ?? ?? ?? 48 8B 4C 24 ?? FF 15 ?? ?? ?? ?? 85 C0 0F 85 ?? ?? ?? ?? FF 15 ?? ?? ?? ?? 3D ?? ?? ?? ?? 0F 85 ?? ?? ?? ?? 8B 84 24 ?? ?? ?? ?? 48 89 44 24 ?? FF 15 ?? ?? ?? ?? 48 8B 4C 24 ?? 4C 8B C1 33 D2 48 8B C8 FF 15 ?? ?? ?? ?? 48 89 44 24 ?? 48 83 7C 24 ?? ?? 0F 84 ?? ?? ?? ?? 48 8D 84 24 ?? ?? ?? ?? 48 89 44 24 ?? 48 8D 84 24 ?? ?? ?? ?? 48 89 44 24 ?? 44 8B 8C 24 ?? ?? ?? ?? 4C 8B 44 24 ?? BA ?? ?? ?? ?? 48 8B 4C 24 ?? FF 15 ?? ?? ?? ?? 85 C0 0F 84 ?? ?? ?? ?? C7 44 24 ?? ?? ?? ?? ?? EB ?? 8B 44 24 ?? FF C0 89 44 24 ?? 8B 84 24 ?? ?? ?? ?? 39 44 24 ?? 0F 83 ?? ?? ?? ?? 8B 44 24 ?? 48 6B C0 ?? 48 8D 4C 24 ?? 48 8B 54 24 ?? 48 8B F9 48 8D 34 02 } $stop_services_p2 = { B9 ?? ?? ?? ?? F3 A4 41 B8 ?? ?? ?? ?? 48 8B 54 24 ?? 48 8B 4C 24 ?? FF 15 ?? ?? ?? ?? 48 89 44 24 ?? 48 83 7C 24 ?? ?? 0F 84 ?? ?? ?? ?? 4C 8D 84 24 ?? ?? ?? ?? BA ?? ?? ?? ?? 48 8B 4C 24 ?? FF 15 ?? ?? ?? ?? 85 C0 74 ?? 83 BC 24 ?? ?? ?? ?? ?? 74 ?? 8B 8C 24 ?? ?? ?? ?? FF 15 ?? ?? ?? ?? 90 48 8D 84 24 ?? ?? ?? ?? 48 89 44 24 ?? 41 B9 ?? ?? ?? ?? 4C 8D 84 24 ?? ?? ?? ?? 33 D2 48 8B 4C 24 ?? FF 15 ?? ?? ?? ?? 85 C0 74 ?? 83 BC 24 ?? ?? ?? ?? ?? 75 ?? EB ?? FF 15 ?? ?? ?? ?? 2B 44 24 ?? 3B 44 24 ?? 76 ?? EB ?? EB ?? 48 8B 4C 24 ?? FF 15 ?? ?? ?? ?? 90 E9 ?? ?? ?? ?? FF 15 ?? ?? ?? ?? 4C 8B 44 24 ?? 33 D2 48 8B C8 FF 15 ?? ?? ?? ?? 48 C7 44 24 ?? ?? ?? ?? ?? 4C 8D 84 24 ?? ?? ?? ?? BA ?? ?? ?? ?? 48 8B 4C 24 ?? FF 15 ?? ?? ?? ?? 85 C0 74 ?? 83 BC 24 ?? ?? ?? ?? ?? 74 ?? 8B 8C 24 ?? ?? ?? ?? FF 15 ?? ?? ?? ?? 90 48 8D 84 24 ?? ?? ?? ?? 48 89 44 24 ?? 41 B9 ?? ?? ?? ?? 4C 8D 84 24 ?? ?? ?? ?? 33 D2 48 8B 4C 24 ?? FF 15 ?? ?? ?? ?? 85 C0 75 ?? EB ?? EB ?? 83 BC 24 ?? ?? ?? ?? ?? 75 ?? EB ?? FF 15 ?? ?? ?? ?? 2B 44 24 ?? 3B 44 24 ?? 76 ?? EB ?? EB ?? 48 8B 4C 24 ?? FF 15 ?? ?? ?? ?? 90 E9 ?? ?? ?? ?? 48 8B 4C 24 ?? FF 15 ?? ?? ?? ?? 90 48 8B 8C 24 ?? ?? ?? ?? 48 33 CC E8 ?? ?? ?? ?? 48 81 C4 ?? ?? ?? ?? 5F 5E C3 } $find_drives = { 48 8D 84 24 ?? ?? ?? ?? 48 8B F8 33 C0 B9 ?? ?? ?? ?? F3 AA C7 44 24 ?? ?? ?? ?? ?? EB ?? 8B 44 24 ?? FF C0 89 44 24 ?? 83 7C 24 ?? ?? 7D ?? 48 63 44 24 ?? 48 8B 4C C4 ?? FF 15 ?? ?? ?? ?? 83 F8 ?? 75 ?? 48 63 44 24 ?? 8B 4C 24 ?? 48 8B 44 C4 ?? 48 89 84 CC ?? ?? ?? ?? 8B 44 24 ?? FF C0 89 44 24 ?? EB ?? FF 15 ?? ?? ?? ?? 41 B8 ?? ?? ?? ?? 33 D2 48 8B C8 FF 15 ?? ?? ?? ?? 48 89 44 24 ?? 48 83 7C 24 ?? ?? 75 ?? E9 ?? ?? ?? ?? BA ?? ?? ?? ?? 48 8B 4C 24 ?? FF 15 ?? ?? ?? ?? 48 89 44 24 ?? 48 83 7C 24 ?? ?? 75 ?? FF 15 ?? ?? ?? ?? 4C 8B 44 24 ?? 33 D2 48 8B C8 FF 15 ?? ?? ?? ?? 90 E9 ?? ?? ?? ?? 83 7C 24 ?? ?? 0F 86 ?? ?? ?? ?? C7 84 24 ?? ?? ?? ?? ?? ?? ?? ?? 4C 8D 8C 24 ?? ?? ?? ?? 44 8B 44 24 ?? 48 8D 94 24 ?? ?? ?? ?? 48 8B 4C 24 ?? FF 15 ?? ?? ?? ?? 85 C0 74 ?? 48 8D 8C 24 ?? ?? ?? ?? FF 15 ?? ?? ?? ?? 85 C0 7E ?? B8 ?? ?? ?? ?? 48 6B C0 ?? 48 89 44 24 ?? 48 81 7C 24 ?? ?? ?? ?? ?? 73 ?? EB ?? E8 ?? ?? ?? ?? 90 33 C0 48 8B 4C 24 ?? 66 89 84 0C ?? ?? 00 00 EB ?? 8B 44 24 ?? FF C8 8B C0 48 8B 54 24 ?? 48 8B 8C C4 ?? ?? ?? ?? FF 15 ?? ?? ?? ?? 85 C0 74 ?? 8B 44 24 ?? FF C8 89 44 24 ?? EB ?? EB ?? 41 B8 ?? ?? ?? ?? 48 8B 54 24 ?? 48 8B 4C 24 ?? FF 15 ?? ?? ?? ?? 85 C0 0F 85 ?? ?? ?? ?? 48 8B 4C 24 ?? FF 15 ?? ?? ?? ?? FF 15 ?? ?? ?? ?? 4C 8B 44 24 ?? 33 D2 48 8B C8 FF 15 ?? ?? ?? ?? 90 48 8B 8C 24 ?? ?? ?? ?? 48 33 CC E8 ?? ?? ?? ?? 48 81 C4 ?? ?? ?? ?? 5F C3 } condition: uint16(0) == 0x5A4D and ( all of ($encrypt_files_p*) ) and ( $kill_processes ) and ( all of ($stop_services_p*) ) and ( $find_drives ) }