diff --git a/yara/trojan/Win32.Trojan.Emotet.yara b/yara/trojan/Win32.Trojan.Emotet.yara index 94f3bc3..ae6ecd9 100644 --- a/yara/trojan/Win32.Trojan.Emotet.yara +++ b/yara/trojan/Win32.Trojan.Emotet.yara @@ -69,6 +69,22 @@ rule Win32_Trojan_Emotet : tc_detection malicious ?? ?? 59 FF D0 F7 D8 5F 1B C0 5E 40 5B 8B E5 5D C3 } + $decrypt_resource_v4 = { + 56 57 8B FA E8 ?? ?? ?? ?? 8B F0 A1 ?? ?? ?? ?? 85 C0 75 ?? B9 ?? ?? ?? ?? E8 ?? ?? + ?? ?? BA ?? ?? ?? ?? 8B C8 E8 ?? ?? ?? ?? A3 ?? ?? ?? ?? 56 FF D0 8B 0D ?? ?? ?? ?? + 89 44 B9 ?? A1 ?? ?? ?? ?? 85 C0 75 ?? B9 ?? ?? ?? ?? E8 ?? ?? ?? ?? BA ?? ?? ?? ?? + 8B C8 E8 ?? ?? ?? ?? A3 ?? ?? ?? ?? FF D0 8B F8 A1 ?? ?? ?? ?? 85 C0 75 ?? B9 ?? ?? + ?? ?? E8 ?? ?? ?? ?? BA ?? ?? ?? ?? 8B C8 E8 ?? ?? ?? ?? A3 ?? ?? ?? ?? 56 6A ?? 57 + FF D0 5F 5E C3 + } + + $generate_filename_snippet_v4 = { + A1 ?? ?? ?? ?? 85 C0 75 ?? B9 ?? ?? ?? ?? E8 ?? ?? ?? ?? BA ?? ?? ?? ?? 8B C8 E8 ?? + ?? ?? ?? A3 ?? ?? ?? ?? 56 53 FF D0 A1 ?? ?? ?? ?? 85 C0 75 ?? B9 ?? ?? ?? ?? E8 ?? + ?? ?? ?? BA ?? ?? ?? ?? 8B C8 E8 ?? ?? ?? ?? A3 ?? ?? ?? ?? 56 FF D0 5F 5E 33 C9 8D + 04 43 66 89 08 5D 5B 59 C3 + } + condition: uint16(0) == 0x5A4D and ( @@ -82,5 +98,9 @@ rule Win32_Trojan_Emotet : tc_detection malicious ( $decrypt_resource_v3 and $generate_filename_v3 + ) or + ( + $decrypt_resource_v4 and + $generate_filename_snippet_v4 ) } \ No newline at end of file