diff --git a/yara/ransomware/Win32.Ransomware.DarkSide.yara b/yara/ransomware/Win32.Ransomware.DarkSide.yara new file mode 100644 index 0000000..a20db11 --- /dev/null +++ b/yara/ransomware/Win32.Ransomware.DarkSide.yara @@ -0,0 +1,94 @@ +rule Win32_Ransomware_DarkSide : tc_detection malicious +{ + meta: + + author = "ReversingLabs" + + source = "ReversingLabs" + status = "RELEASED" + sharing = "TLP:WHITE" + category = "MALWARE" + malware = "DARKSIDE" + description = "Yara rule that detects DarkSide ransomware." + + tc_detection_type = "Ransomware" + tc_detection_name = "DarkSide" + tc_detection_factor = 5 + + strings: + + $find_files_v1 = { + 55 8B EC 81 EC ?? ?? ?? ?? 53 51 52 56 57 C7 45 ?? ?? ?? ?? ?? C7 45 ?? ?? ?? ?? ?? + 83 7D ?? ?? 0F 84 ?? ?? ?? ?? FF 75 ?? FF 15 ?? ?? ?? ?? 83 C4 ?? 8D 04 45 ?? ?? ?? + ?? 50 6A ?? FF 35 ?? ?? ?? ?? FF 15 ?? ?? ?? ?? 89 45 ?? 83 7D ?? ?? 0F 84 ?? ?? ?? + ?? FF 75 ?? FF 75 ?? FF 15 ?? ?? ?? ?? 83 C4 ?? FF 75 ?? E8 ?? ?? ?? ?? C7 45 ?? ?? + ?? ?? ?? 8D 45 ?? 50 FF 75 ?? FF 15 ?? ?? ?? ?? 83 C4 ?? 6A ?? 6A ?? 6A ?? 8D 85 ?? + ?? ?? ?? 50 6A ?? FF 75 ?? FF 15 ?? ?? ?? ?? 89 45 ?? 83 7D ?? ?? 74 ?? 8D 9D ?? ?? + ?? ?? 83 3B ?? 74 ?? 81 3B ?? ?? ?? ?? 74 ?? C7 45 ?? ?? ?? ?? ?? EB ?? 8D 85 ?? ?? + ?? ?? 50 FF 75 ?? FF 15 ?? ?? ?? ?? 85 C0 75 ?? FF 75 ?? FF 15 ?? ?? ?? ?? 83 7D ?? + ?? 74 ?? FF 75 ?? 6A ?? FF 35 ?? ?? ?? ?? FF 15 ?? ?? ?? ?? 8B 45 ?? 5F 5E 5A 59 5B + 8B E5 5D C2 + } + + $enumerate_drives = { + 55 8B EC 81 EC ?? ?? ?? ?? 53 51 52 56 57 8D 85 ?? ?? ?? ?? 50 68 ?? ?? ?? ?? FF 15 + ?? ?? ?? ?? 8B D8 85 DB 74 ?? C1 EB ?? 8D B5 ?? ?? ?? ?? 56 FF 15 ?? ?? ?? ?? 83 F8 + ?? 74 ?? 83 F8 ?? 75 ?? 56 E8 ?? ?? ?? ?? 8D 76 ?? 4B 85 DB 75 ?? 5F 5E 5A 59 5B 8B + E5 5D C3 55 8B EC 81 EC ?? ?? ?? ?? 53 51 52 56 57 8D 85 ?? ?? ?? ?? 50 FF 75 ?? E8 + ?? ?? ?? ?? 85 C0 0F 84 ?? ?? ?? ?? 8D 85 ?? ?? ?? ?? 50 E8 ?? ?? ?? ?? 8D 45 ?? C7 + 00 ?? ?? ?? ?? C7 40 ?? ?? ?? ?? ?? 50 8D 85 ?? ?? ?? ?? 50 FF 15 ?? ?? ?? ?? 83 C4 + ?? 6A ?? 6A ?? 6A ?? 8D 85 ?? ?? ?? ?? 50 6A ?? 8D 85 ?? ?? ?? ?? 50 FF 15 ?? ?? ?? + ?? 89 45 ?? 83 7D ?? ?? 74 ?? 8B 85 ?? ?? ?? ?? 66 A9 ?? ?? 74 ?? 6A ?? 8D 85 ?? ?? + ?? ?? 50 FF 15 ?? ?? ?? ?? 83 C4 ?? 8D 8D ?? ?? ?? ?? 51 8D 40 ?? 50 FF 15 ?? ?? ?? + ?? 83 C4 ?? 8D 85 ?? ?? ?? ?? 50 E8 ?? ?? ?? ?? 8D 85 ?? ?? ?? ?? 50 FF 75 ?? FF 15 + ?? ?? ?? ?? 85 C0 75 ?? FF 75 ?? FF 15 ?? ?? ?? ?? 5F 5E 5A 59 5B 8B E5 5D C2 + } + + $escalate_privileges = { + 55 8B EC 83 C4 ?? 53 51 52 56 57 8D 45 ?? 50 6A ?? 6A ?? FF 15 ?? ?? ?? ?? 85 C0 0F + 85 ?? ?? ?? ?? 8D 45 ?? 50 6A ?? 8D 45 ?? 50 6A ?? FF 75 ?? FF 15 ?? ?? ?? ?? FF 75 + ?? 6A ?? FF 35 ?? ?? ?? ?? FF 15 ?? ?? ?? ?? 89 45 ?? 83 7D ?? ?? 74 ?? 8D 45 ?? 50 + FF 75 ?? FF 75 ?? 6A ?? FF 75 ?? FF 15 ?? ?? ?? ?? 85 C0 75 ?? 8B 75 ?? AD 8B F8 83 + 7E ?? ?? 74 ?? C7 46 ?? ?? ?? ?? ?? 83 C6 ?? 4F 85 FF 75 ?? 6A ?? 6A ?? 6A ?? FF 75 + ?? 6A ?? FF 75 ?? FF 15 ?? ?? ?? ?? FF 75 ?? 6A ?? FF 35 ?? ?? ?? ?? FF 15 ?? ?? ?? + ?? FF 75 ?? FF 15 ?? ?? ?? ?? 5F 5E 5A 59 5B 8B E5 5D C3 + } + + $enumerate_netshare = { + 55 8B EC 81 EC ?? ?? ?? ?? 53 51 52 56 57 8D 85 ?? ?? ?? ?? 50 68 ?? ?? ?? ?? FF 15 + ?? ?? ?? ?? C7 45 ?? ?? ?? ?? ?? 8B 7D ?? 8D 45 ?? 50 8D 45 ?? 50 8D 45 ?? 50 6A ?? + 8D 45 ?? 50 6A ?? 57 FF 15 ?? ?? ?? ?? 85 C0 75 ?? 8B 75 ?? 83 7E ?? ?? 75 ?? 68 ?? + ?? ?? ?? 6A ?? FF 35 ?? ?? ?? ?? FF 15 ?? ?? ?? ?? 8B D8 C7 03 ?? ?? ?? ?? C7 43 ?? + ?? ?? ?? ?? C7 43 ?? ?? ?? ?? ?? C7 43 ?? ?? ?? ?? ?? 8D 47 ?? 50 53 FF 15 ?? ?? ?? + ?? 83 C4 ?? 53 FF 15 ?? ?? ?? ?? FF 36 53 FF 15 ?? ?? ?? ?? 83 C4 ?? 53 E8 ?? ?? ?? + ?? 53 6A ?? FF 35 ?? ?? ?? ?? FF 15 ?? ?? ?? ?? 83 C6 ?? FF 4D ?? 83 7D ?? ?? 75 ?? + FF 15 ?? ?? ?? ?? 5F 5E 5A 59 5B 8B E5 5D C2 + } + + $find_files_v2 = { + 55 8B EC 81 EC ?? ?? ?? ?? 53 51 52 56 57 8D 85 ?? ?? ?? ?? 50 FF 75 ?? E8 ?? ?? ?? + ?? 85 C0 0F 84 ?? ?? ?? ?? 68 ?? ?? ?? ?? 8D 85 ?? ?? ?? ?? 50 E8 ?? ?? ?? ?? 8D BD + ?? ?? ?? ?? 8D 85 ?? ?? ?? ?? 50 57 FF 15 ?? ?? ?? ?? 83 C4 ?? 57 FF 15 ?? ?? ?? ?? + 83 C4 ?? 66 83 7C 47 ?? ?? 74 ?? 66 C7 04 47 ?? ?? 83 C7 ?? C7 04 47 ?? ?? ?? ?? C7 + 44 47 ?? ?? ?? ?? ?? 6A ?? 6A ?? 6A ?? 8D 85 ?? ?? ?? ?? 50 6A ?? 8D 85 ?? ?? ?? ?? + 50 FF 15 ?? ?? ?? ?? 89 45 ?? 83 7D ?? ?? 74 ?? 8B 85 ?? ?? ?? ?? 66 A9 ?? ?? 74 ?? + 8D 9D ?? ?? ?? ?? 8D B5 ?? ?? ?? ?? 8D 85 ?? ?? ?? ?? 50 56 FF 15 ?? ?? ?? ?? 83 C4 + ?? 6A ?? 56 FF 15 ?? ?? ?? ?? 83 C4 ?? 83 C0 ?? 53 50 FF 15 ?? ?? ?? ?? 83 C4 ?? 56 + E8 ?? ?? ?? ?? 8D 85 ?? ?? ?? ?? 50 FF 75 ?? FF 15 ?? ?? ?? ?? 85 C0 75 ?? FF 75 ?? + FF 15 ?? ?? ?? ?? 5F 5E 5A 59 5B 8B E5 5D C2 + } + + condition: + uint16(0) == 0x5A4D and + ( + ( + $find_files_v1 and + $enumerate_drives and + $escalate_privileges + ) or + ( + $find_files_v2 and + $enumerate_netshare + ) + ) +} \ No newline at end of file diff --git a/yara/ransomware/Win32.Ransomware.TechandStrat.yara b/yara/ransomware/Win32.Ransomware.TechandStrat.yara new file mode 100644 index 0000000..2feac5c --- /dev/null +++ b/yara/ransomware/Win32.Ransomware.TechandStrat.yara @@ -0,0 +1,106 @@ +rule Win32_Ransomware_TechandStrat : tc_detection malicious +{ + meta: + + author = "ReversingLabs" + + source = "ReversingLabs" + status = "RELEASED" + sharing = "TLP:WHITE" + category = "MALWARE" + malware = "TECHANDSTRAT" + description = "Yara rule that detects TechandStrat ransomware." + + tc_detection_type = "Ransomware" + tc_detection_name = "TechandStrat" + tc_detection_factor = 5 + + strings: + + $enum_shares_p1 = { + 55 8B EC 83 EC ?? 53 56 57 8D 45 ?? C7 45 ?? ?? ?? ?? ?? 50 FF 75 ?? C7 45 ?? ?? ?? + ?? ?? 6A ?? 6A ?? 6A ?? FF 15 ?? ?? ?? ?? 85 C0 0F 85 ?? ?? ?? ?? FF 75 ?? 6A ?? FF + 15 ?? ?? ?? ?? 50 FF 15 ?? ?? ?? ?? 8B D8 85 DB 74 ?? 8D 45 ?? 50 53 8D 45 ?? 50 FF + 75 ?? FF 15 ?? ?? ?? ?? 85 C0 75 + } + + $enum_shares_p2 = { + 8D 46 ?? B9 ?? ?? ?? ?? 50 E8 ?? ?? ?? ?? EB ?? FF 36 E8 ?? ?? ?? ?? 47 83 C6 ?? 3B + 7D ?? 72 ?? 8D 45 ?? 50 53 8D 45 ?? 50 FF 75 ?? FF 15 ?? ?? ?? ?? 85 C0 74 ?? 53 6A + ?? FF 15 ?? ?? ?? ?? 50 FF 15 ?? ?? ?? ?? FF 75 ?? FF 15 ?? ?? ?? ?? 5F 5E 5B 8B E5 + 5D C2 + } + + $find_files = { + 8B FF 55 8B EC 81 EC ?? ?? ?? ?? A1 ?? ?? ?? ?? 33 C5 89 45 ?? 8B 4D ?? 53 8B 5D ?? + 56 8B 75 ?? 57 89 B5 ?? ?? ?? ?? EB ?? 8A 01 3C ?? 74 ?? 3C ?? 74 ?? 3C ?? 74 ?? 51 + 53 E8 ?? ?? ?? ?? 59 59 8B C8 3B CB 75 ?? 8A 11 80 FA ?? 75 ?? 8D 43 ?? 3B C8 74 ?? + 56 33 FF 57 57 53 E8 ?? ?? ?? ?? 83 C4 ?? EB ?? 33 FF 80 FA ?? 74 ?? 80 FA ?? 74 ?? + 80 FA ?? 74 ?? 8B C7 EB ?? 33 C0 40 0F B6 C0 2B CB 41 F7 D8 68 ?? ?? ?? ?? 1B C0 23 + C1 89 85 ?? ?? ?? ?? 8D 85 ?? ?? ?? ?? 57 50 E8 ?? ?? ?? ?? 83 C4 ?? 8D 85 ?? ?? ?? + ?? 57 57 57 50 57 53 FF 15 ?? ?? ?? ?? 8B F0 8B 85 ?? ?? ?? ?? 83 FE ?? 75 ?? 50 57 + 57 53 E8 ?? ?? ?? ?? 83 C4 ?? 8B F8 83 FE ?? 74 ?? 56 FF 15 ?? ?? ?? ?? 8B C7 8B 4D + ?? 5F 5E 33 CD 5B E8 ?? ?? ?? ?? 8B E5 5D C3 8B 48 ?? 2B 08 C1 F9 ?? 89 8D ?? ?? ?? + ?? 80 BD ?? ?? ?? ?? ?? 75 ?? 8A 8D ?? ?? ?? ?? 84 C9 74 ?? 80 F9 ?? 75 ?? 80 BD ?? + ?? ?? ?? ?? 74 ?? 50 FF B5 ?? ?? ?? ?? 8D 85 ?? ?? ?? ?? 53 50 E8 ?? ?? ?? ?? 83 C4 + ?? 85 C0 75 ?? 8D 85 ?? ?? ?? ?? 50 56 FF 15 ?? ?? ?? ?? 85 C0 8B 85 ?? ?? ?? ?? 75 + ?? 8B 10 8B 40 ?? 8B 8D ?? ?? ?? ?? 2B C2 C1 F8 ?? 3B C8 0F 84 ?? ?? ?? ?? 68 ?? ?? + ?? ?? 2B C1 6A ?? 50 8D 04 8A 50 E8 ?? ?? ?? ?? 83 C4 ?? E9 ?? ?? ?? ?? 8B FF 56 57 + 8B F9 8B 37 EB ?? FF 36 E8 ?? ?? ?? ?? 59 83 C6 ?? 3B 77 ?? 75 ?? FF 37 E8 ?? ?? ?? + ?? 59 5F 5E C3 + } + + $encrypt_files_p1 = { + 55 8B EC 83 E4 ?? B8 ?? ?? ?? ?? E8 ?? ?? ?? ?? 56 8B 75 ?? 8D 44 24 ?? 57 50 C6 44 + 24 ?? ?? FF 36 FF 15 ?? ?? ?? ?? 6A ?? 8D 44 24 ?? 6A ?? 50 E8 ?? ?? ?? ?? 83 C4 ?? + 8D 84 24 ?? ?? ?? ?? 68 ?? ?? ?? ?? 6A ?? 50 E8 ?? ?? ?? ?? 8B 4C 24 ?? 83 C4 ?? 8B + 44 24 ?? 81 E9 ?? ?? ?? ?? 8B 3D ?? ?? ?? ?? 83 D8 ?? 6A ?? 6A ?? 50 51 FF 36 FF D7 + 6A ?? 8D 44 24 ?? 50 68 ?? ?? ?? ?? 8D 84 24 ?? ?? ?? ?? 50 FF 36 FF 15 ?? ?? ?? ?? + 81 BC 24 ?? ?? ?? ?? ?? ?? ?? ?? 0F 84 ?? ?? ?? ?? FF 15 ?? ?? ?? ?? 8B 4C 24 ?? 33 + D2 69 C0 ?? ?? ?? ?? 89 4C 24 ?? 8B 4C 24 ?? 89 8C 24 ?? ?? ?? ?? 83 C9 ?? 51 40 C7 + 44 24 ?? ?? ?? ?? ?? F7 F1 8D 84 24 ?? ?? ?? ?? C7 84 24 ?? ?? ?? ?? ?? ?? ?? ?? 50 + C7 84 24 ?? ?? ?? ?? ?? ?? ?? ?? C7 84 24 ?? ?? ?? ?? ?? ?? ?? ?? 89 54 24 ?? 89 94 + 24 ?? ?? ?? ?? E8 ?? ?? ?? ?? 51 8D 84 24 ?? ?? ?? ?? 50 E8 ?? ?? ?? ?? 8D 94 24 ?? + ?? ?? ?? 8D 8C 24 ?? ?? ?? ?? E8 ?? ?? ?? ?? 0F 10 84 24 ?? ?? ?? ?? 6A ?? 6A ?? 0F + 11 84 24 ?? ?? ?? ?? 0F 57 C0 66 0F 13 44 24 ?? 8B 44 24 ?? 50 89 44 24 ?? 8B 44 24 + ?? 50 FF 36 89 44 24 ?? FF D7 6A ?? 8D 44 24 ?? 0F 57 C0 50 68 ?? ?? ?? ?? 8D 84 24 + ?? ?? ?? ?? 66 0F 13 44 24 ?? 50 FF 36 FF 15 ?? ?? ?? ?? 8B 44 24 ?? 89 44 24 ?? 85 + C0 0F 84 + } + + $encrypt_files_p2 = { + 6A ?? 6A ?? FF 74 24 ?? 0F 11 84 24 ?? ?? ?? ?? FF 74 24 ?? FF 36 FF 15 ?? ?? ?? ?? + 6A ?? 8D 44 24 ?? 50 FF 74 24 ?? 8D 84 24 ?? ?? ?? ?? 50 FF 36 FF 15 ?? ?? ?? ?? 8B + 84 24 ?? ?? ?? ?? 8B C8 85 C0 B8 ?? ?? ?? ?? 6A ?? 0F 44 C8 69 44 24 ?? ?? ?? ?? ?? + 33 D2 6A ?? 40 89 44 24 ?? F7 F1 8B 4C 24 ?? 33 C0 83 C2 ?? 13 C0 01 54 24 ?? 13 C8 + 8B 44 24 ?? 89 4C 24 ?? 0F A4 C1 ?? C1 E0 ?? 51 50 FF 36 89 4C 24 ?? 89 44 24 ?? FF + 15 ?? ?? ?? ?? 6A ?? 8D 44 24 ?? 50 68 ?? ?? ?? ?? 8D 84 24 ?? ?? ?? ?? 50 FF 36 FF + 15 ?? ?? ?? ?? 8B 44 24 ?? 89 44 24 ?? 85 C0 0F 85 ?? ?? ?? ?? 68 ?? ?? ?? ?? 8D 84 + 24 ?? ?? ?? ?? 6A ?? 50 E8 ?? ?? ?? ?? 8B 3D ?? ?? ?? ?? 83 C4 ?? C7 84 24 ?? ?? ?? + ?? ?? ?? ?? ?? 6A ?? 6A ?? FF D7 8B 35 ?? ?? ?? ?? 50 FF D6 6A ?? 6A ?? 89 44 24 ?? + FF D7 50 FF D6 6A ?? 6A ?? 89 44 24 ?? C7 44 24 ?? ?? ?? ?? ?? C7 44 24 ?? ?? ?? ?? + ?? FF D7 50 FF D6 6A ?? 6A ?? 89 44 24 ?? C7 44 24 ?? ?? ?? ?? ?? C7 44 24 ?? ?? ?? + ?? ?? FF D7 50 FF D6 + } + + $encrypt_files_p3 = { + 6A ?? 6A ?? 66 0F 13 44 24 ?? FF 74 24 ?? FF 74 24 ?? FF 36 FF 15 ?? ?? ?? ?? 6A ?? + 8D 44 24 ?? 50 68 ?? ?? ?? ?? 8D 84 24 ?? ?? ?? ?? 50 FF 36 FF 15 ?? ?? ?? ?? C6 44 + 24 ?? ?? FF 36 FF 15 ?? ?? ?? ?? 80 7C 24 ?? ?? 74 ?? 68 ?? ?? ?? ?? 6A ?? 83 C6 ?? + 56 FF 15 ?? ?? ?? ?? 56 8D 84 24 ?? ?? ?? ?? 50 FF 15 ?? ?? ?? ?? 68 ?? ?? ?? ?? 8D + 84 24 ?? ?? ?? ?? 50 FF 15 ?? ?? ?? ?? 8D 84 24 ?? ?? ?? ?? 50 56 FF 15 ?? ?? ?? ?? + 8B 75 ?? 68 ?? ?? ?? ?? 56 E8 ?? ?? ?? ?? 83 C4 ?? 6A ?? 68 ?? ?? ?? ?? FF 15 + } + + condition: + uint16(0) == 0x5A4D and + ( + all of ($enum_shares_p*) + ) and + ( + $find_files + ) and + ( + all of ($encrypt_files_p*) + ) +} \ No newline at end of file