diff --git a/yara/ransomware/ByteCode.MSIL.Ransomware.Venom.yara b/yara/ransomware/ByteCode.MSIL.Ransomware.Venom.yara new file mode 100644 index 0000000..cb0ab17 --- /dev/null +++ b/yara/ransomware/ByteCode.MSIL.Ransomware.Venom.yara @@ -0,0 +1,68 @@ +rule ByteCode_MSIL_Ransomware_Venom : tc_detection malicious +{ + meta: + + author = "ReversingLabs" + + source = "ReversingLabs" + status = "RELEASED" + sharing = "TLP:WHITE" + category = "MALWARE" + malware = "VENOM" + description = "Yara rule that detects Venom ransomware." + + tc_detection_type = "Ransomware" + tc_detection_name = "Venom" + tc_detection_factor = 5 + + strings: + + $setup_env = { + 00 28 ?? ?? ?? ?? 0A 73 ?? ?? ?? ?? 0B 07 1F ?? 28 ?? ?? ?? ?? 6F ?? ?? ?? ?? 00 07 1B + 28 ?? ?? ?? ?? 6F ?? ?? ?? ?? 00 07 1F ?? 28 ?? ?? ?? ?? 6F ?? ?? ?? ?? 00 07 1F ?? 28 + ?? ?? ?? ?? 6F ?? ?? ?? ?? 00 07 1F ?? 28 ?? ?? ?? ?? 6F ?? ?? ?? ?? 00 00 07 6F ?? ?? + ?? ?? 13 ?? 2B ?? 12 ?? 28 ?? ?? ?? ?? 13 ?? 00 06 11 ?? 28 ?? ?? ?? ?? 00 00 12 ?? 28 + ?? ?? ?? ?? 2D ?? DE ?? 12 ?? FE 16 ?? ?? ?? ?? 6F ?? ?? ?? ?? 00 DC 72 ?? ?? ?? ?? 1F + ?? 28 ?? ?? ?? ?? 72 ?? ?? ?? ?? 72 ?? ?? ?? ?? 28 ?? ?? ?? ?? 00 72 ?? ?? ?? ?? 1F ?? + 28 ?? ?? ?? ?? 72 ?? ?? ?? ?? 72 ?? ?? ?? ?? 28 ?? ?? ?? ?? 00 1F ?? 28 ?? ?? ?? ?? 72 + ?? ?? ?? ?? 28 ?? ?? ?? ?? 28 ?? ?? ?? ?? 00 72 ?? ?? ?? ?? 1F ?? 28 ?? ?? ?? ?? 72 ?? + ?? ?? ?? 28 ?? ?? ?? ?? 28 ?? ?? ?? ?? 26 20 ?? ?? ?? ?? 8D ?? ?? ?? ?? 25 D0 ?? ?? ?? + ?? 28 ?? ?? ?? ?? 0C 72 ?? ?? ?? ?? 20 ?? ?? ?? ?? 19 7E ?? ?? ?? ?? 19 16 7E ?? ?? ?? + ?? 28 ?? ?? ?? ?? 0D 09 08 20 ?? ?? ?? ?? 12 ?? 7E ?? ?? ?? ?? 28 ?? ?? ?? ?? 26 17 28 + ?? ?? ?? ?? 00 2A + } + + $find_files = { + 00 00 00 03 28 ?? ?? ?? ?? 0A 16 0B 2B ?? 06 07 9A 0C 00 00 08 72 ?? ?? ?? ?? 6F ?? ?? + ?? ?? 16 FE 01 0D 09 2C ?? 00 08 02 28 ?? ?? ?? ?? 00 00 00 DE ?? 26 00 00 DE ?? 00 07 + 17 58 0B 07 06 8E 69 32 ?? 00 03 28 ?? ?? ?? ?? 13 ?? 16 13 ?? 2B ?? 11 ?? 11 ?? 9A 13 + ?? 00 11 ?? 02 28 ?? ?? ?? ?? 00 00 11 ?? 17 58 13 ?? 11 ?? 11 ?? 8E 69 32 ?? 00 DE ?? + 26 00 00 DE ?? 2A + } + + $encrypt_files = { + 00 28 ?? ?? ?? ?? 0A 28 ?? ?? ?? ?? 03 6F ?? ?? ?? ?? 0B 02 72 ?? ?? ?? ?? 28 ?? ?? ?? + ?? 18 73 ?? ?? ?? ?? 0C 73 ?? ?? ?? ?? 0D 09 20 ?? ?? ?? ?? 6F ?? ?? ?? ?? 00 09 20 ?? + ?? ?? ?? 6F ?? ?? ?? ?? 00 09 18 6F ?? ?? ?? ?? 00 07 06 20 ?? ?? ?? ?? 73 ?? ?? ?? ?? + 13 ?? 09 11 ?? 09 6F ?? ?? ?? ?? 1E 5B 6F ?? ?? ?? ?? 6F ?? ?? ?? ?? 00 09 11 ?? 09 6F + ?? ?? ?? ?? 1E 5B 6F ?? ?? ?? ?? 6F ?? ?? ?? ?? 00 09 17 6F ?? ?? ?? ?? 00 08 06 16 06 + 8E 69 6F ?? ?? ?? ?? 00 08 09 6F ?? ?? ?? ?? 17 73 ?? ?? ?? ?? 13 ?? 02 19 73 ?? ?? ?? + ?? 13 ?? 20 ?? ?? ?? ?? 8D ?? ?? ?? ?? 13 ?? 00 2B ?? 00 11 ?? 11 ?? 16 11 ?? 6F ?? ?? + ?? ?? 00 00 11 ?? 11 ?? 16 11 ?? 8E 69 6F ?? ?? ?? ?? 25 13 ?? 16 FE 02 13 ?? 11 ?? 2D + ?? 11 ?? 6F ?? ?? ?? ?? 00 00 DE ?? 13 ?? 00 11 ?? 6F ?? ?? ?? ?? 28 ?? ?? ?? ?? 00 00 + DE ?? DE ?? 00 11 ?? 6F ?? ?? ?? ?? 00 08 6F ?? ?? ?? ?? 00 00 02 28 ?? ?? ?? ?? 00 00 + DE ?? 26 00 00 DE ?? 00 DC 2A + } + + condition: + uint16(0) == 0x5A4D and + ( + $setup_env + ) and + ( + $find_files + ) and + ( + $encrypt_files + ) +} \ No newline at end of file diff --git a/yara/ransomware/Win64.Ransomware.Nokoyawa.yara b/yara/ransomware/Win64.Ransomware.Nokoyawa.yara new file mode 100644 index 0000000..693b7ac --- /dev/null +++ b/yara/ransomware/Win64.Ransomware.Nokoyawa.yara @@ -0,0 +1,104 @@ +rule Win64_Ransomware_Nokoyawa : tc_detection malicious +{ + meta: + + author = "ReversingLabs" + + source = "ReversingLabs" + status = "RELEASED" + sharing = "TLP:WHITE" + category = "MALWARE" + malware = "NOKOYAWA" + description = "Yara rule that detects Nokoyawa ransomware." + + tc_detection_type = "Ransomware" + tc_detection_name = "Nokoyawa" + tc_detection_factor = 5 + + strings: + + $enum_shares = { + 48 89 4C 24 ?? 48 81 EC ?? ?? ?? ?? C7 44 24 ?? ?? ?? ?? ?? C7 44 24 ?? ?? ?? ?? ?? + 48 8D 44 24 ?? 48 89 44 24 ?? 4C 8B 8C 24 ?? ?? ?? ?? 45 33 C0 33 D2 B9 ?? ?? ?? ?? + FF 15 ?? ?? ?? ?? 89 44 24 ?? 83 7C 24 ?? ?? 74 ?? 33 C0 E9 ?? ?? ?? ?? 8B 44 24 ?? + 8B D0 B9 ?? ?? ?? ?? FF 15 ?? ?? ?? ?? 48 89 44 24 ?? 48 83 7C 24 ?? ?? 75 ?? 33 C0 + E9 ?? ?? ?? ?? 8B 44 24 ?? 44 8B C0 33 D2 48 8B 4C 24 ?? E8 ?? ?? ?? ?? 4C 8D 4C 24 + ?? 4C 8B 44 24 ?? 48 8D 54 24 ?? 48 8B 4C 24 ?? FF 15 ?? ?? ?? ?? 89 44 24 ?? 83 7C + 24 ?? ?? 0F 85 ?? ?? ?? ?? C7 44 24 ?? ?? ?? ?? ?? EB ?? 8B 44 24 ?? FF C0 89 44 24 + ?? 8B 44 24 ?? 39 44 24 ?? 73 ?? 48 8B 44 24 ?? 83 78 ?? ?? 75 ?? 8B 44 24 ?? 48 6B + C0 ?? 48 8B 4C 24 ?? 48 8B 54 01 ?? 48 8D 4C 24 ?? E8 ?? ?? ?? ?? 48 8D 15 ?? ?? ?? + ?? 48 8D 4C 24 ?? E8 ?? ?? ?? ?? 48 8D 4C 24 ?? E8 ?? ?? ?? ?? 8B 44 24 ?? 48 6B C0 + ?? 48 8B 4C 24 ?? 8B 44 01 ?? 83 E0 ?? 83 F8 ?? 75 ?? 8B 44 24 ?? 48 6B C0 ?? 48 8B + 4C 24 ?? 48 03 C8 48 8B C1 48 8B C8 E8 ?? ?? ?? ?? E9 ?? ?? ?? ?? EB ?? 81 7C 24 ?? + ?? ?? ?? ?? 74 ?? EB ?? 81 7C 24 ?? ?? ?? ?? ?? 0F 85 ?? ?? ?? ?? 48 8B 4C 24 ?? FF + 15 ?? ?? ?? ?? 48 8B 4C 24 ?? FF 15 + } + + $find_files_p1 = { + FF 15 ?? ?? ?? ?? 48 89 44 24 ?? 48 83 7C 24 ?? ?? 0F 84 ?? ?? ?? ?? 8B 44 24 ?? 83 + E0 ?? 85 C0 0F 84 ?? ?? ?? ?? 48 8D 15 ?? ?? ?? ?? 48 8D 4C 24 ?? E8 ?? ?? ?? ?? 85 + C0 0F 84 ?? ?? ?? ?? 48 8D 15 ?? ?? ?? ?? 48 8D 4C 24 ?? E8 ?? ?? ?? ?? 85 C0 0F 84 + ?? ?? ?? ?? 48 8D 4C 24 ?? E8 ?? ?? ?? ?? 48 98 48 8B D0 48 8D 4C 24 ?? E8 ?? ?? ?? + ?? 3D ?? ?? ?? ?? 0F 84 ?? ?? ?? ?? 48 8D 4C 24 ?? E8 ?? ?? ?? ?? 48 98 48 8B D0 48 + 8D 4C 24 ?? E8 ?? ?? ?? ?? 3D ?? ?? ?? ?? 0F 84 ?? ?? ?? ?? 48 8D 4C 24 ?? E8 ?? ?? + ?? ?? 48 98 48 8B D0 48 8D 4C 24 ?? E8 ?? ?? ?? ?? 3D ?? ?? ?? ?? 74 ?? 48 8D 4C 24 + ?? E8 ?? ?? ?? ?? 48 98 48 8B D0 48 8D 4C 24 ?? E8 ?? ?? ?? ?? 3D ?? ?? ?? ?? 74 ?? + 48 8D 4C 24 ?? E8 ?? ?? ?? ?? 48 98 48 8B D0 48 8D 4C 24 ?? E8 ?? ?? ?? ?? 3D ?? ?? + ?? ?? 74 ?? 48 8D 4C 24 ?? E8 ?? ?? ?? ?? 48 98 48 8B D0 48 8D 4C 24 ?? E8 ?? ?? ?? + ?? 3D ?? ?? ?? ?? 75 ?? E9 ?? ?? ?? ?? 48 8B 94 24 ?? ?? ?? ?? 48 8D 8C 24 ?? ?? ?? + ?? E8 ?? ?? ?? ?? 48 8B 8C 24 ?? ?? ?? ?? E8 ?? ?? ?? ?? FF C8 48 98 48 8B 8C 24 ?? + ?? ?? ?? 0F B7 04 41 83 F8 ?? 75 ?? 48 8B 8C 24 ?? ?? ?? ?? E8 ?? ?? ?? ?? FF C8 48 + } + + $find_files_p2 = { + 98 48 8B 8C 24 ?? ?? ?? ?? 0F B7 04 41 83 F8 ?? 74 ?? 48 8D 15 ?? ?? ?? ?? 48 8D 8C + 24 ?? ?? ?? ?? E8 ?? ?? ?? ?? 48 8D 54 24 ?? 48 8D 8C 24 ?? ?? ?? ?? E8 ?? ?? ?? ?? + 48 8D 15 ?? ?? ?? ?? 48 8D 8C 24 ?? ?? ?? ?? E8 ?? ?? ?? ?? 48 8D 8C 24 ?? ?? ?? ?? + E8 ?? ?? ?? ?? E9 ?? ?? ?? ?? 48 8B 94 24 ?? ?? ?? ?? 48 8D 8C 24 ?? ?? ?? ?? E8 ?? + ?? ?? ?? 48 8B 8C 24 ?? ?? ?? ?? E8 ?? ?? ?? ?? FF C8 48 98 48 8B 8C 24 ?? ?? ?? ?? + 0F B7 04 41 83 F8 ?? 75 ?? 48 8B 8C 24 ?? ?? ?? ?? E8 ?? ?? ?? ?? FF C8 48 98 48 8B + 8C 24 ?? ?? ?? ?? 0F B7 04 41 83 F8 ?? 74 ?? 48 8D 15 ?? ?? ?? ?? 48 8D 8C 24 ?? ?? + ?? ?? E8 ?? ?? ?? ?? 48 8D 54 24 ?? 48 8D 8C 24 ?? ?? ?? ?? E8 ?? ?? ?? ?? 48 8D 4C + 24 ?? E8 ?? ?? ?? ?? 48 8B D0 48 8D 8C 24 ?? ?? ?? ?? E8 ?? ?? ?? ?? 48 8B 15 ?? ?? + ?? ?? 48 8D 4C 24 ?? E8 ?? ?? ?? ?? 48 85 C0 75 ?? 48 8D 15 ?? ?? ?? ?? 48 8D 8C 24 + ?? ?? ?? ?? E8 ?? ?? ?? ?? 85 C0 74 ?? 48 8D 15 ?? ?? ?? ?? 48 8D 8C 24 ?? ?? ?? ?? + E8 ?? ?? ?? ?? 85 C0 74 ?? 48 8D 15 ?? ?? ?? ?? 48 8D 8C 24 ?? ?? ?? ?? E8 ?? ?? ?? + ?? 85 C0 75 ?? EB ?? 48 8D 8C 24 ?? ?? ?? ?? E8 ?? ?? ?? ?? 48 8D 54 24 ?? 48 8B 4C + 24 ?? FF 15 ?? ?? ?? ?? 85 C0 0F 85 ?? ?? ?? ?? 48 8B 4C 24 ?? FF 15 ?? ?? ?? ?? 48 + 81 C4 + } + + $encrypt_files = { + 48 89 4C 24 ?? 48 83 EC ?? 48 C7 44 24 ?? ?? ?? ?? ?? C7 44 24 ?? ?? ?? ?? ?? C7 44 + 24 ?? ?? ?? ?? ?? 45 33 C9 45 33 C0 BA ?? ?? ?? ?? 48 8B 8C 24 ?? ?? ?? ?? FF 15 ?? + ?? ?? ?? 48 89 44 24 ?? 48 83 7C 24 ?? ?? 0F 84 ?? ?? ?? ?? B9 ?? ?? ?? ?? E8 ?? ?? + ?? ?? 48 89 44 24 ?? B9 ?? ?? ?? ?? E8 ?? ?? ?? ?? 48 89 44 24 ?? B9 ?? ?? ?? ?? E8 + ?? ?? ?? ?? 48 89 44 24 ?? BA ?? ?? ?? ?? 48 8B 4C 24 ?? E8 ?? ?? ?? ?? 48 8B 54 24 + ?? 48 8B 4C 24 ?? E8 ?? ?? ?? ?? 4C 8B 44 24 ?? 48 8B 15 ?? ?? ?? ?? 48 8B 4C 24 ?? + E8 ?? ?? ?? ?? B9 ?? ?? ?? ?? E8 ?? ?? ?? ?? 48 89 44 24 ?? 41 B8 ?? ?? ?? ?? 33 D2 + 48 8B 4C 24 ?? E8 ?? ?? ?? ?? 48 8B 44 24 ?? 48 C7 40 ?? ?? ?? ?? ?? 48 8B 44 24 ?? + 48 8B 4C 24 ?? 48 89 48 ?? 48 8B 44 24 ?? C7 40 ?? ?? ?? ?? ?? 48 8B 44 24 ?? 48 C7 + 40 ?? ?? ?? ?? ?? 48 8B 44 24 ?? C7 40 ?? ?? ?? ?? ?? 48 8B 44 24 ?? 48 8B 4C 24 ?? + 48 89 48 ?? 48 8B 44 24 ?? 48 8B 4C 24 ?? 48 89 48 ?? B9 ?? ?? ?? ?? E8 ?? ?? ?? ?? + 48 8B 4C 24 ?? 48 89 41 ?? B9 ?? ?? ?? ?? E8 ?? ?? ?? ?? 48 8B 4C 24 ?? 48 89 41 ?? + 48 8B 44 24 ?? C7 40 ?? ?? ?? ?? ?? 48 8B 44 24 ?? 48 83 C0 ?? 48 8B 94 24 ?? ?? ?? + ?? 48 8B C8 E8 ?? ?? ?? ?? 48 8D 0D ?? ?? ?? ?? E8 ?? ?? ?? ?? 48 98 4C 8B C0 48 8D + 15 ?? ?? ?? ?? 48 8B 44 24 ?? 48 8B 48 ?? E8 ?? ?? ?? ?? 48 8B 44 24 ?? 48 83 C0 ?? + 48 8B D0 48 8B 4C 24 ?? FF 15 ?? ?? ?? ?? 48 8B 4C 24 ?? E8 ?? ?? ?? ?? 48 8B 54 24 + ?? 48 8B 0D ?? ?? ?? ?? E8 ?? ?? ?? ?? 48 8B 44 24 ?? 48 89 44 24 ?? 45 33 C9 41 B8 + ?? ?? ?? ?? 48 8B 44 24 ?? 48 8B 50 ?? 48 8B 44 24 ?? 48 8B 48 ?? FF 15 ?? ?? ?? ?? + 48 8D 05 ?? ?? ?? ?? F0 FF 00 48 83 C4 ?? C3 + } + + condition: + uint16(0) == 0x5A4D and + ( + all of ($find_files_p*) + ) and + ( + $enum_shares + ) and + ( + $encrypt_files + ) +} \ No newline at end of file