From 322fc681da6cafa89cb6173a12b4c87bbcb9c31c Mon Sep 17 00:00:00 2001 From: Threat Analyst Date: Tue, 28 Jun 2022 10:00:01 +0200 Subject: [PATCH] Added new YARA rules. --- .../ByteCode.MSIL.Ransomware.GoodWill.yara | 89 +++++++++++++++++++ .../Win32.Ransomware.WaspLocker.yara | 76 ++++++++++++++++ 2 files changed, 165 insertions(+) create mode 100644 yara/ransomware/ByteCode.MSIL.Ransomware.GoodWill.yara create mode 100644 yara/ransomware/Win32.Ransomware.WaspLocker.yara diff --git a/yara/ransomware/ByteCode.MSIL.Ransomware.GoodWill.yara b/yara/ransomware/ByteCode.MSIL.Ransomware.GoodWill.yara new file mode 100644 index 0000000..3fdc85a --- /dev/null +++ b/yara/ransomware/ByteCode.MSIL.Ransomware.GoodWill.yara @@ -0,0 +1,89 @@ +rule ByteCode_MSIL_Ransomware_GoodWill : tc_detection malicious +{ + meta: + + author = "ReversingLabs" + + source = "ReversingLabs" + status = "RELEASED" + sharing = "TLP:WHITE" + category = "MALWARE" + malware = "GOODWILL" + description = "Yara rule that detects GoodWill ransomware." + + tc_detection_type = "Ransomware" + tc_detection_name = "GoodWill" + tc_detection_factor = 5 + + strings: + + $encrypt_file = { + 02 28 ?? ?? ?? ?? 28 ?? ?? ?? ?? 7E ?? ?? ?? ?? 6F ?? ?? ?? ?? 0A 28 ?? ?? ?? ?? 06 6F + ?? ?? ?? ?? 0A 06 28 ?? ?? ?? ?? 0B 02 72 ?? ?? ?? ?? 28 ?? ?? ?? ?? 0C 02 72 ?? ?? ?? + ?? 28 ?? ?? ?? ?? 28 ?? ?? ?? ?? 08 07 28 ?? ?? ?? ?? 02 28 ?? ?? ?? ?? DE ?? 26 72 ?? + ?? ?? ?? 28 ?? ?? ?? ?? DE ?? 2A + } + + $aes_encrypt = { + 14 0A 03 0B 73 ?? ?? ?? ?? 0C 73 ?? ?? ?? ?? 0D 09 20 ?? ?? ?? ?? 6F ?? ?? ?? ?? 09 20 + ?? ?? ?? ?? 6F ?? ?? ?? ?? 03 07 20 ?? ?? ?? ?? 73 ?? ?? ?? ?? 13 ?? 09 11 ?? 09 6F ?? + ?? ?? ?? 1E 5B 6F ?? ?? ?? ?? 6F ?? ?? ?? ?? 09 11 ?? 09 6F ?? ?? ?? ?? 1E 5B 6F ?? ?? + ?? ?? 6F ?? ?? ?? ?? 09 17 6F ?? ?? ?? ?? 08 09 6F ?? ?? ?? ?? 17 73 ?? ?? ?? ?? 13 ?? + 11 ?? 02 16 02 8E 69 6F ?? ?? ?? ?? 11 ?? 6F ?? ?? ?? ?? DE ?? 11 ?? 2C ?? 11 ?? 6F ?? + ?? ?? ?? DC 08 6F ?? ?? ?? ?? 0A DE ?? 09 2C ?? 09 6F ?? ?? ?? ?? DC 08 2C ?? 08 6F ?? + ?? ?? ?? DC 06 2A + } + + $find_files_p1 = { + 28 ?? ?? ?? ?? 0A 1F ?? 28 ?? ?? ?? ?? 0B 18 8D ?? ?? ?? ?? 25 16 72 ?? ?? ?? ?? A2 25 + 17 72 ?? ?? ?? ?? A2 0C 06 0D 16 13 ?? 38 ?? ?? ?? ?? 09 11 ?? 9A 13 ?? 11 ?? 6F ?? ?? + ?? ?? 72 ?? ?? ?? ?? 28 ?? ?? ?? ?? 2C ?? DD ?? ?? ?? ?? 11 ?? 6F ?? ?? ?? ?? 13 ?? 11 + ?? 28 ?? ?? ?? ?? 08 13 ?? 16 13 ?? 38 ?? ?? ?? ?? 11 ?? 11 ?? 9A 13 ?? 11 ?? 28 ?? ?? + ?? ?? 6F ?? ?? ?? ?? 13 ?? 2B ?? 11 ?? 6F ?? ?? ?? ?? 13 ?? 11 ?? 11 ?? 17 28 ?? ?? ?? + ?? 6F ?? ?? ?? ?? 13 ?? 2B ?? 73 ?? ?? ?? ?? 13 ?? 11 ?? 11 ?? 6F ?? ?? ?? ?? 7D ?? ?? + ?? ?? 11 ?? FE 06 ?? ?? ?? ?? 73 ?? ?? ?? ?? 73 ?? ?? ?? ?? 25 19 6F ?? ?? ?? ?? 6F ?? + ?? ?? ?? DE ?? 26 DE ?? 11 ?? 6F ?? ?? ?? ?? 2D ?? DE ?? 11 ?? 2C ?? 11 ?? 6F ?? ?? ?? + ?? DC DE ?? 26 DE ?? 26 DE ?? 11 ?? 6F ?? ?? ?? ?? 2D ?? DE ?? 11 ?? 2C ?? 11 ?? 6F ?? + ?? ?? ?? DC 11 ?? 11 ?? 28 ?? ?? ?? ?? 6F ?? ?? ?? ?? 13 ?? 2B ?? 73 ?? ?? ?? ?? 13 ?? + 11 ?? 11 ?? 6F ?? ?? ?? ?? 7D ?? ?? ?? ?? 11 ?? FE 06 ?? ?? ?? ?? 73 ?? ?? ?? ?? 73 ?? + ?? ?? ?? 25 19 6F ?? ?? ?? ?? 6F ?? ?? ?? ?? DE ?? 26 DE ?? 11 ?? 6F ?? ?? ?? ?? 2D ?? + DE ?? 11 ?? 2C ?? 11 ?? 6F ?? ?? ?? ?? DC DE ?? 26 DE ?? 11 ?? 17 58 13 ?? 11 ?? 11 ?? + 8E 69 3F ?? ?? ?? ?? DE ?? 26 DE ?? 11 ?? 17 58 13 ?? 11 ?? 09 8E 69 3F ?? ?? ?? ?? 08 + } + + $find_files_p2 = { + 13 ?? 16 13 ?? 38 ?? ?? ?? ?? 11 ?? 11 ?? 9A 13 ?? 07 28 ?? ?? ?? ?? 6F ?? ?? ?? ?? 13 + ?? 2B ?? 11 ?? 6F ?? ?? ?? ?? 13 ?? 11 ?? 11 ?? 17 28 ?? ?? ?? ?? 6F ?? ?? ?? ?? 13 ?? + 2B ?? 73 ?? ?? ?? ?? 13 ?? 11 ?? 11 ?? 6F ?? ?? ?? ?? 7D ?? ?? ?? ?? 11 ?? FE 06 ?? ?? + ?? ?? 73 ?? ?? ?? ?? 73 ?? ?? ?? ?? 25 19 6F ?? ?? ?? ?? 6F ?? ?? ?? ?? DE ?? 26 DE ?? + 26 DE ?? 11 ?? 6F ?? ?? ?? ?? 2D ?? DE ?? 11 ?? 2C ?? 11 ?? 6F ?? ?? ?? ?? DC DE ?? 26 + DE ?? 11 ?? 6F ?? ?? ?? ?? 2D ?? DE ?? 11 ?? 2C ?? 11 ?? 6F ?? ?? ?? ?? DC 07 11 ?? 28 + ?? ?? ?? ?? 6F ?? ?? ?? ?? 13 ?? 2B ?? 73 ?? ?? ?? ?? 13 ?? 11 ?? 11 ?? 6F ?? ?? ?? ?? + 7D ?? ?? ?? ?? 11 ?? FE 06 ?? ?? ?? ?? 73 ?? ?? ?? ?? 73 ?? ?? ?? ?? 25 19 6F ?? ?? ?? + ?? 6F ?? ?? ?? ?? DE ?? 26 DE ?? 11 ?? 6F ?? ?? ?? ?? 2D ?? DE ?? 11 ?? 2C ?? 11 ?? 6F + ?? ?? ?? ?? DC DE ?? 26 DE ?? 11 ?? 17 58 13 ?? 11 ?? 11 ?? 8E 69 3F ?? ?? ?? ?? 2A + } + + $remote_connection = { + 73 ?? ?? ?? ?? 0A 00 7E ?? ?? ?? ?? 28 ?? ?? ?? ?? 2C ?? 7E ?? ?? ?? ?? 17 28 ?? ?? ?? + ?? 7E ?? ?? ?? ?? 28 ?? ?? ?? ?? 1C 6F ?? ?? ?? ?? 2B ?? 7E ?? ?? ?? ?? 28 ?? ?? ?? ?? + 1C 6F ?? ?? ?? ?? 06 7E ?? ?? ?? ?? 7E ?? ?? ?? ?? 6F ?? ?? ?? ?? 20 ?? ?? ?? ?? 28 ?? + ?? ?? ?? 72 ?? ?? ?? ?? 28 ?? ?? ?? ?? 28 ?? ?? ?? ?? 26 17 0B DE ?? 26 72 ?? ?? ?? ?? + 28 ?? ?? ?? ?? 20 ?? ?? ?? ?? 28 ?? ?? ?? ?? DE ?? 07 2A + } + + condition: + uint16(0) == 0x5A4D and + ( + all of ($find_files_p*) + ) and + ( + $encrypt_file + ) and + ( + $aes_encrypt + ) and + ( + $remote_connection + ) +} \ No newline at end of file diff --git a/yara/ransomware/Win32.Ransomware.WaspLocker.yara b/yara/ransomware/Win32.Ransomware.WaspLocker.yara new file mode 100644 index 0000000..a6be1dd --- /dev/null +++ b/yara/ransomware/Win32.Ransomware.WaspLocker.yara @@ -0,0 +1,76 @@ +rule Win32_Ransomware_WaspLocker : tc_detection malicious +{ + meta: + + author = "ReversingLabs" + + source = "ReversingLabs" + status = "RELEASED" + sharing = "TLP:WHITE" + category = "MALWARE" + malware = "WASPLOCKER" + description = "Yara rule that detects WaspLocker ransomware." + + tc_detection_type = "Ransomware" + tc_detection_name = "WaspLocker" + tc_detection_factor = 5 + + strings: + + $find_files = { + 50 50 8D 8D ?? ?? ?? ?? 51 8D 8D ?? ?? ?? ?? 51 50 50 50 56 FF 15 ?? ?? ?? ?? 85 C0 + 75 ?? 57 53 E8 ?? ?? ?? ?? 8D 4E ?? E8 ?? ?? ?? ?? E9 ?? ?? ?? ?? 8B 85 ?? ?? ?? ?? + A8 ?? 75 ?? FF B5 ?? ?? ?? ?? FF 15 ?? ?? ?? ?? 8B 85 ?? ?? ?? ?? A8 ?? 0F 85 ?? ?? + ?? ?? 8D 85 ?? ?? ?? ?? 50 57 FF 15 ?? ?? ?? ?? 83 F8 ?? 0F 84 ?? ?? ?? ?? 50 FF 15 + ?? ?? ?? ?? 8B 85 ?? ?? ?? ?? 85 C0 74 ?? 3B 85 ?? ?? ?? ?? 76 ?? 8D 85 ?? ?? ?? ?? + 50 E8 ?? ?? ?? ?? 8B 95 ?? ?? ?? ?? 2B 95 ?? ?? ?? ?? 59 03 C2 B9 ?? ?? ?? ?? 3B C1 + 7D ?? 8D 85 ?? ?? ?? ?? 2B CA 50 51 FF B5 ?? ?? ?? ?? E8 ?? ?? ?? ?? 83 C4 ?? 85 C0 + 74 ?? 83 F8 ?? 74 ?? 83 F8 ?? 74 ?? 83 F8 ?? 74 ?? 83 F8 ?? 75 ?? EB ?? 85 DB 0F 84 + ?? ?? ?? ?? C7 43 ?? ?? ?? ?? ?? 85 FF 75 ?? 33 C0 EB ?? 57 E8 ?? ?? ?? ?? 59 50 57 + 8D 4B ?? E8 ?? ?? ?? ?? E9 ?? ?? ?? ?? 8D 4E ?? E8 ?? ?? ?? ?? 33 C0 40 E8 ?? ?? ?? + ?? C2 ?? ?? E8 ?? ?? ?? ?? E8 ?? ?? ?? ?? CC 6A ?? 68 ?? ?? ?? ?? E8 ?? ?? ?? ?? 33 + F6 89 75 ?? 33 FF 89 7D ?? 21 75 ?? 21 75 ?? 39 3D ?? ?? ?? ?? 75 ?? 8D 45 ?? 50 E8 + ?? ?? ?? ?? 8B F8 89 7D ?? 85 FF 74 ?? FF 75 ?? 68 ?? ?? ?? ?? 68 ?? ?? ?? ?? E8 ?? + ?? ?? ?? 8B F0 89 75 ?? C7 45 ?? ?? ?? ?? ?? E8 ?? ?? ?? ?? 8B C6 E8 ?? ?? ?? ?? C2 + } + + $drop_aux_files = { + A1 ?? ?? ?? ?? 89 01 A1 ?? ?? ?? ?? 68 ?? ?? ?? ?? 89 41 ?? 66 A1 ?? ?? ?? ?? 68 ?? + ?? ?? ?? 6A ?? 66 89 41 ?? FF 15 ?? ?? ?? ?? 8B F0 85 F6 74 ?? 56 6A ?? FF 15 ?? ?? + ?? ?? 89 85 ?? ?? ?? ?? 85 C0 74 ?? 56 6A ?? FF 15 ?? ?? ?? ?? 85 C0 74 ?? 50 FF 15 + ?? ?? ?? ?? 8B F8 85 FF 74 ?? 8D 85 ?? ?? ?? ?? 68 ?? ?? ?? ?? 50 E8 ?? ?? ?? ?? 8B + F0 83 C4 ?? 85 F6 74 ?? 56 FF B5 ?? ?? ?? ?? 6A ?? 57 E8 ?? ?? ?? ?? 6A ?? 6A ?? 56 + E8 ?? ?? ?? ?? 83 C4 ?? 56 E8 ?? ?? ?? ?? 83 C4 ?? 6A ?? 8D 85 ?? ?? ?? ?? 50 FF 15 + ?? ?? ?? ?? 8B B5 ?? ?? ?? ?? 81 C6 ?? ?? ?? ?? 56 FF 15 ?? ?? ?? ?? 85 C0 75 ?? 68 + ?? ?? ?? ?? BA ?? ?? ?? ?? 8B CE E8 ?? ?? ?? ?? 83 C4 ?? 6A ?? 6A ?? 6A ?? 68 ?? ?? + ?? ?? 6A ?? 6A ?? FF 15 ?? ?? ?? ?? 6A ?? 68 ?? ?? ?? ?? 6A ?? 6A ?? 6A ?? 68 ?? ?? + ?? ?? 56 C7 85 ?? ?? ?? ?? ?? ?? ?? ?? FF 15 ?? ?? ?? ?? 8B F0 6A ?? 56 FF 15 ?? ?? + ?? ?? 50 89 85 ?? ?? ?? ?? E8 + } + + $drop_ransom_notes = { + 89 85 ?? ?? ?? ?? 68 ?? ?? ?? ?? 8D 8D ?? ?? ?? ?? C6 45 ?? ?? E8 ?? ?? ?? ?? 84 C0 + 75 ?? 68 ?? ?? ?? ?? 68 ?? ?? ?? ?? 8D 8D ?? ?? ?? ?? E8 ?? ?? ?? ?? C6 45 ?? ?? E8 + ?? ?? ?? ?? 8B C8 85 C9 0F 84 ?? ?? ?? ?? 8B 01 8B 40 ?? FF D0 83 C0 ?? 89 85 ?? ?? + ?? ?? 68 ?? ?? ?? ?? 8D 8D ?? ?? ?? ?? C6 45 ?? ?? E8 ?? ?? ?? ?? 84 C0 75 ?? 68 ?? + ?? ?? ?? 68 ?? ?? ?? ?? 8D 8D ?? ?? ?? ?? E8 ?? ?? ?? ?? C6 45 ?? ?? E8 ?? ?? ?? ?? + 8B C8 85 C9 0F 84 ?? ?? ?? ?? 8B 01 8B 40 ?? FF D0 83 C0 ?? 89 85 ?? ?? ?? ?? 68 ?? + ?? ?? ?? 8D 8D ?? ?? ?? ?? C6 45 ?? ?? E8 ?? ?? ?? ?? 84 C0 75 ?? B9 ?? ?? ?? ?? 8D + 51 ?? 90 8A 01 41 84 C0 75 ?? 2B CA 51 68 ?? ?? ?? ?? 8D 8D ?? ?? ?? ?? E8 ?? ?? ?? + ?? C6 45 ?? ?? E8 ?? ?? ?? ?? 8B C8 85 C9 0F 84 ?? ?? ?? ?? 8B 01 8B 40 ?? FF D0 83 + C0 ?? 89 85 ?? ?? ?? ?? 68 ?? ?? ?? ?? 8D 8D ?? ?? ?? ?? C6 45 ?? ?? E8 ?? ?? ?? ?? + 84 C0 75 + } + + condition: + uint16(0) == 0x5A4D and + ( + $find_files + ) and + ( + $drop_aux_files + ) and + ( + $drop_ransom_notes + ) +} \ No newline at end of file