169 lines
9.2 KiB
Text
169 lines
9.2 KiB
Text
|
rule Win32_PUA_Domaiq : tc_detection malicious
|
||
|
{
|
||
|
meta:
|
||
|
|
||
|
author = "ReversingLabs"
|
||
|
|
||
|
source = "ReversingLabs"
|
||
|
status = "RELEASED"
|
||
|
sharing = "TLP:WHITE"
|
||
|
category = "MALWARE"
|
||
|
malware = "DOMAIQ"
|
||
|
description = "Yara rule that detects Domaiq potentially unwanted application."
|
||
|
|
||
|
tc_detection_type = "PUA"
|
||
|
tc_detection_name = "Domaiq"
|
||
|
tc_detection_factor = 1
|
||
|
|
||
|
strings:
|
||
|
$payload="PEFxdWlFbXBpZXphRWxQYXlsb2FkPg"
|
||
|
|
||
|
$NSIS_CheckIntegrity = {
|
||
|
57 53 E8 ?? ?? ?? ?? 85 C0 0F 84 ?? ?? ?? ?? 83 3D ?? ?? ?? ?? 00 75 ?? 6A 1C 8D 45
|
||
|
D8 53 50 E8 ?? ?? ?? ?? 8B 45 D8 A9 F0 FF FF FF 75 ?? 81 7D DC EF BE AD DE 75 ?? 81
|
||
|
7D E8 49 6E 73 74 75 ?? 81 7D E4 73 6F 66 74 75 ?? 81 7D E0 4E 75 6C 6C 75 ?? 09 45
|
||
|
08 8B 45 08 8B 0D ?? ?? ?? ?? 83 E0 02 09 05 ?? ?? ?? ?? 8B 45 F0 3B C6 89 0D ?? ??
|
||
|
?? ?? 0F 8F ?? ?? ?? ?? F6 45 08 08 75 ?? F6 45 08 04 75
|
||
|
}
|
||
|
|
||
|
$NSIS_ErrorPart = {
|
||
|
81 EC ?? ?? ?? ?? 53 55 56 33 DB 57 89 5C 24 ?? C7 44 24 ?? ?? ?? ?? ?? 33 F6 C6 44
|
||
|
24 ?? ?? FF 15 ?? ?? ?? ?? 68 ?? ?? ?? ?? FF 15 ?? ?? ?? ?? 53 FF 15 ?? ?? ?? ?? 6A
|
||
|
?? A3 ?? ?? ?? ?? E8 ?? ?? ?? ?? A3 ?? ?? ?? ?? 53 8D 44 24 ?? 68 ?? ?? ?? ?? 50 53
|
||
|
68 ?? ?? ?? ?? FF 15 ?? ?? ?? ?? 68 ?? ?? ?? ?? 68 ?? ?? ?? ?? E8 ?? ?? ?? ?? FF 15
|
||
|
?? ?? ?? ?? BF ?? ?? ?? ?? 50 57 E8 ?? ?? ?? ?? 53 FF 15 ?? ?? ?? ?? 80 3D ?? ?? ??
|
||
|
?? ?? A3 ?? ?? ?? ?? 8B C7 75
|
||
|
}
|
||
|
|
||
|
$UPX_Decompression = {
|
||
|
8A 06 46 88 07 47 01 DB 75 ?? 8B 1E 83 EE ?? 11 DB 72 ?? B8 ?? ?? ?? ?? 01 DB 75 ??
|
||
|
8B 1E 83 EE ?? 11 DB 11 C0 01 DB 73 ?? 75 ?? 8B 1E 83 EE ?? 11 DB 72 ?? 48 01 DB 75
|
||
|
}
|
||
|
|
||
|
$UPX_Encrypting = {
|
||
|
31 C0 8A 07 30 D8 04 ?? 2C ?? 88 07 47 39 CF 75
|
||
|
}
|
||
|
|
||
|
$dumping_functionv2014 = {
|
||
|
55 8B EC 83 EC ?? 56 68 ?? ?? ?? ?? 6A ?? 6A ?? FF 15 ?? ?? ?? ?? 8B F0 85 F6 0F 84
|
||
|
?? ?? ?? ?? 56 6A ?? FF 15 ?? ?? ?? ?? 85 C0 0F 84 ?? ?? ?? ?? 50 FF 15 ?? ?? ?? ??
|
||
|
89 45 ?? 85 C0 74 ?? 56 6A ?? FF 15 ?? ?? ?? ?? 8B F0 89 75 ?? 85 F6 74 ?? 8B 45 ??
|
||
|
53 6A ?? 68 ?? ?? ?? ?? 6A ?? 6A ?? 6A ?? 68 ?? ?? ?? ?? 50 FF 15 ?? ?? ?? ?? 6A ??
|
||
|
56 6A ?? 6A ?? 8B D8 6A ?? 53 FF 15 ?? ?? ?? ?? 8B F0 85 F6 74 ?? 57 6A ?? 6A ?? 6A
|
||
|
?? 6A ?? 56 FF 15 ?? ?? ?? ?? 8B 4D ?? 8B 55 ?? 51 8B F8 52 57 E8 ?? ?? ?? ?? 83 C4
|
||
|
?? 57 FF 15 ?? ?? ?? ?? 56 8B 35 ?? ?? ?? ?? FF D6 53 FF D6 5F 5B 5E 8B E5 5D C3
|
||
|
}
|
||
|
|
||
|
$dumping_functionMidVersion = {
|
||
|
55 8B EC 83 EC ?? A1 ?? ?? ?? ?? 33 C5 89 45 ?? 8B 45 ?? 53 56 57 68 ?? ?? ?? ?? 33
|
||
|
DB BE ?? ?? ?? ?? 68 ?? ?? ?? ?? 89 45 ?? 89 75 ?? 89 5D ?? 88 5D ?? FF 15 ?? ?? ??
|
||
|
?? 68 ?? ?? ?? ?? 68 ?? ?? ?? ?? FF 15 ?? ?? ?? ?? 8B F8 8B CF 8D 41 ?? 8A 11 41 3A
|
||
|
D3 75 ?? 2B C8 51 57 8D 4D ?? E8 ?? ?? ?? ?? 68 ?? ?? ?? ?? 8D 4D ?? E8 ?? ?? ?? ??
|
||
|
83 EC ?? 8B CC 89 65 ?? 6A ?? 89 71 ?? 89 59 ?? 68 ?? ?? ?? ?? 88 59 ?? E8 ?? ?? ??
|
||
|
?? 83 EC ?? 8B CC 89 65 ?? 6A ?? 53 8D 55 ?? 89 71 ?? 89 59 ?? 52 88 59 ?? E8 ?? ??
|
||
|
?? ?? 6A ?? E8 ?? ?? ?? ?? 83 C4 ?? 8B CC 89 65 ?? 6A ?? 89 71 ?? 89 59 ?? 68 ?? ??
|
||
|
?? ?? 88 59 ?? E8 ?? ?? ?? ?? 83 EC ?? 8B CC 89 65 ?? 6A ?? 53 8D 45 ?? 89 71 ?? 89
|
||
|
59 ?? 50 88 59 ?? E8 ?? ?? ?? ?? 6A ?? E8 ?? ?? ?? ?? 83 C4 ?? 8B CC 89 65 ?? 6A ??
|
||
|
89 71 ?? 89 59 ?? 68 ?? ?? ?? ?? 88 59 ?? E8 ?? ?? ?? ?? 83 EC ?? 8B CC 89 65 ?? 6A
|
||
|
?? 53 8D 55 ?? 89 71 ?? 89 59 ?? 52 88 59 ?? E8 ?? ?? ?? ?? 6A ?? E8 ?? ?? ?? ?? 83
|
||
|
C4 ?? 8B C4 89 65 ?? 68 ?? ?? ?? ?? 8D 4D ?? 51 50 E8 ?? ?? ?? ?? 83 C4 ?? E8 ?? ??
|
||
|
?? ?? 8B 7D ?? BE ?? ?? ?? ?? 83 C4 ?? 39 75 ?? 73 ?? 8D 7D ?? 68 ?? ?? ?? ?? 8D 55
|
||
|
?? 52 8D 45 ?? 50 E8 ?? ?? ?? ?? 83 C4 ?? 39 70 ?? 72 ?? 8B 40 ?? EB ?? 83 C0 ?? 8B
|
||
|
4D ?? 57 51 50 E8 ?? ?? ?? ?? 83 C4 ?? 39 75 ?? 72 ?? 8B 55 ?? 52 E8 ?? ?? ?? ?? 83
|
||
|
C4 ?? 39 75 ?? 72 ?? 8B 45 ?? 50 E8 ?? ?? ?? ?? 83 C4 ?? 8B 4D ?? 5F 5E 33 CD 33 C0
|
||
|
5B E8 ?? ?? ?? ?? 8B E5 5D C2
|
||
|
}
|
||
|
|
||
|
$dumping_functionE = {
|
||
|
52 6A ?? FF 15 ?? ?? ?? ?? 89 85 ?? ?? ?? ?? 8B 85 ?? ?? ?? ?? 5? FF 15 ?? ?? ?? ??
|
||
|
89 85 ?? ?? ?? ?? C7 85 ?? ?? ?? ?? ?? ?? ?? ?? 8B 8D ?? ?? ?? ?? 51 6A ?? FF 15 ??
|
||
|
?? ?? ?? 89 85 ?? ?? ?? ?? C7 85 ?? ?? ?? ?? ?? ?? ?? ?? 8D 95 ?? ?? ?? ?? 52 68 ??
|
||
|
?? ?? ?? FF 15 ?? ?? ?? ?? 89 85 ?? ?? ?? ?? C7 85 ?? ?? ?? ?? ?? ?? ?? ?? C7 85 ??
|
||
|
?? ?? ?? ?? ?? ?? ?? 81 BD ?? ?? ?? ?? ?? ?? ?? ?? 77 ?? 83 BD ?? ?? ?? ?? ?? 75 ??
|
||
|
C7 85 ?? ?? ?? ?? ?? ?? ?? ?? 68 ?? ?? ?? ?? 6A ?? 68 ?? ?? ?? ?? 8D 85 ?? ?? ?? ??
|
||
|
50 FF 15 ?? ?? ?? ?? 89 85 ?? ?? ?? ?? C7 85 ?? ?? ?? ?? ?? ?? ?? ?? 6A ?? 68 ?? ??
|
||
|
?? ?? 6A ?? 6A ?? 6A ?? 68 ?? ?? ?? ?? 68 ?? ?? ?? ?? FF 15 ?? ?? ?? ?? 89 85 ?? ??
|
||
|
?? ?? C7 85 ?? ?? ?? ?? ?? ?? ?? ?? 6A ?? 8D 8D ?? ?? ?? ?? 51 8B 95 ?? ?? ?? ?? 52
|
||
|
8B 85 ?? ?? ?? ?? 50 8B 8D ?? ?? ?? ?? 51 FF 15 ?? ?? ?? ?? 8B 95 ?? ?? ?? ?? 52 FF
|
||
|
15 ?? ?? ?? ?? C7 85 ?? ?? ?? ?? ?? ?? ?? ?? 51 8B CC 89 A5 ?? ?? ?? ?? 68 ?? ?? ??
|
||
|
?? E8 ?? ?? ?? ?? 89 85 ?? ?? ?? ?? E8
|
||
|
}
|
||
|
|
||
|
$dumping_functionP = {
|
||
|
50 57 56 FF 15 ?? ?? ?? ?? 8B F8 57 56 FF 15 ?? ?? ?? ?? 50 FF 15 ?? ?? ?? ?? 57 56
|
||
|
89 45 ?? FF 15 ?? ?? ?? ?? 89 45 ?? 8D 45 ?? 50 68 ?? ?? ?? ?? FF 15 ?? ?? ?? ?? BF
|
||
|
?? ?? ?? ?? 57 56 68 ?? ?? ?? ?? 8D 45 ?? 50 FF 15 ?? ?? ?? ?? 56 68 ?? ?? ?? ?? 6A
|
||
|
?? 56 56 68 ?? ?? ?? ?? 57 FF 15 ?? ?? ?? ?? 56 8B D8 8D 45 ?? 50 FF 75 ?? 89 75 ??
|
||
|
FF 75 ?? 53 FF 15 ?? ?? ?? ?? 53 FF 15
|
||
|
}
|
||
|
|
||
|
$dumping_functionB= {
|
||
|
52 6A ?? FF 15 ?? ?? ?? ?? 89 85 ?? ?? ?? ?? 8B 85 ?? ?? ?? ?? 50 FF 15 ?? ?? ?? ??
|
||
|
89 85 ?? ?? ?? ?? 8B 8D ?? ?? ?? ?? 51 6A ?? FF 15 ?? ?? ?? ?? 89 85 ?? ?? ?? ?? C7
|
||
|
85 ?? ?? ?? ?? ?? ?? ?? ?? 8D 95 ?? ?? ?? ?? 52 68 ?? ?? ?? ?? FF 15 ?? ?? ?? ?? 89
|
||
|
85 ?? ?? ?? ?? C7 85 ?? ?? ?? ?? ?? ?? ?? ?? B9 ?? ?? ?? ?? BE ?? ?? ?? ?? 8D BD ??
|
||
|
?? ?? ?? F3 A5 A4 68 ?? ?? ?? ?? 6A ?? 68 ?? ?? ?? ?? 8D 85 ?? ?? ?? ?? 50 FF 15 ??
|
||
|
?? ?? ?? 89 85 ?? ?? ?? ?? B9 ?? ?? ?? ?? BE ?? ?? ?? ?? 8D BD ?? ?? ?? ?? F3 A5 A4
|
||
|
6A ?? 68 ?? ?? ?? ?? 6A ?? 6A ?? 6A ?? 68 ?? ?? ?? ?? 68 ?? ?? ?? ?? FF 15 ?? ?? ??
|
||
|
?? 89 85 ?? ?? ?? ?? C7 85 ?? ?? ?? ?? ?? ?? ?? ?? 6A ?? 8D 8D ?? ?? ?? ?? 51 8B 95
|
||
|
?? ?? ?? ?? 52 8B 85 ?? ?? ?? ?? 50 8B 8D ?? ?? ?? ?? 51 FF 15 ?? ?? ?? ?? 8B 95 ??
|
||
|
?? ?? ?? 52 FF 15 ?? ?? ?? ?? 51 8B CC 89 A5 ?? ?? ?? ?? 68 ?? ?? ?? ?? E8 ?? ?? ??
|
||
|
?? 89 85 ?? ?? ?? ?? E8
|
||
|
}
|
||
|
|
||
|
$dumping_function111 = {
|
||
|
68 ?? ?? ?? ?? 8D 55 ?? 52 51 E8 ?? ?? ?? ?? 83 C4 ?? 8D 4D ?? E8 ?? ?? ?? ?? 68 ??
|
||
|
?? ?? ?? 8D 45 ?? 50 8D 4D ?? 51 E8 ?? ?? ?? ?? 83 C4 ?? 39 58 ?? 72 ?? 8B 40 ?? EB
|
||
|
?? 83 C0 ?? 50 6A ?? 8D 4D ?? E8 ?? ?? ?? ?? 39 5D ?? 72 ?? 8B 55 ?? 52 E8 ?? ?? ??
|
||
|
?? 83 C4 ?? 68 ?? ?? ?? ?? 8D 45 ?? 50 8D 4D ?? 51 E8
|
||
|
}
|
||
|
|
||
|
$dumping_function2 = {
|
||
|
55 8B EC 51 53 8B 5D ?? 56 68 ?? ?? ?? ?? 8D 45 ?? 53 50 33 F6 E8 ?? ?? ?? ?? 8B 4D
|
||
|
?? 68 ?? ?? ?? ?? 51 8D 55 ?? 52 E8 ?? ?? ?? ?? 8B 45 ?? 50 E8 ?? ?? ?? ?? 83 C4 ??
|
||
|
83 F8 ?? 74 ?? 57 8B 7D ?? 0F BE 14 3E 8B 4D ?? 51 33 D0 52 E8 ?? ?? ?? ?? 8B C7 83
|
||
|
C4 ?? 8D 50 ?? 8D A4 24 ?? ?? ?? ?? 8A 08 40 84 C9 75 ?? 2B C2 8D 4E ?? 8B D1 2B D0
|
||
|
8B 45 ?? F7 DA 1B D2 23 D1 50 8B F2 E8 ?? ?? ?? ?? 83 C4 ?? 83 F8 ?? 75 ?? 5F 8B 4D
|
||
|
?? 51 E8 ?? ?? ?? ?? 8B 55 ?? 52 E8 ?? ?? ?? ?? 53 E8 ?? ?? ?? ?? 83 C4 ?? 5E 5B 8B
|
||
|
E5 5D C2
|
||
|
}
|
||
|
|
||
|
$lib_loader = {
|
||
|
68 ?? ?? ?? ?? 57 A3 ?? ?? ?? ?? FF D6 33 05 ?? ?? ?? ?? 68 ?? ?? ?? ?? 57 A3 ?? ??
|
||
|
?? ?? FF D6 33 05 ?? ?? ?? ?? 68 ?? ?? ?? ?? 57 A3 ?? ?? ?? ?? FF D6 33 05 ?? ?? ??
|
||
|
?? 68 ?? ?? ?? ?? 57 A3 ?? ?? ?? ?? FF D6 33 05 ?? ?? ?? ?? 68 ?? ?? ?? ?? 57
|
||
|
}
|
||
|
|
||
|
$exception1 = {
|
||
|
B8 ?? ?? ?? ?? 50 64 FF 35 ?? ?? ?? ?? 64 89 25 ?? ?? ?? ?? 33 C0 89 08
|
||
|
}
|
||
|
|
||
|
$exception2 = {
|
||
|
55 53 51 57 56 52 8D 98 ?? ?? ?? ?? 8B 53 ?? 52 8B E8 6A ?? 68 ?? ?? ?? ?? FF 73 ??
|
||
|
6A ?? 8B 4B ?? 03 CA 8B 01 FF D0
|
||
|
}
|
||
|
|
||
|
$exceptionallock = {
|
||
|
B8 ?? ?? ?? ?? 8D 88 ?? ?? ?? ?? 89 41 ?? 8B 54 24 ?? 8B 52 ?? C6 02 ?? 83 C2 ??
|
||
|
2B CA 89 4A ?? 33 C0 C3
|
||
|
}
|
||
|
|
||
|
condition:
|
||
|
|
||
|
uint16(0) == 0x5A4D and
|
||
|
$payload and
|
||
|
(
|
||
|
$NSIS_CheckIntegrity or
|
||
|
($UPX_Decompression and $UPX_Encrypting) or
|
||
|
$NSIS_ErrorPart or
|
||
|
$dumping_functionv2014 or
|
||
|
$dumping_functionMidVersion or
|
||
|
($exception1 and $exception2 and $exceptionallock) or
|
||
|
$dumping_functionP or
|
||
|
$dumping_functionE or
|
||
|
$dumping_functionB or
|
||
|
$dumping_function111 or
|
||
|
$dumping_function2 or
|
||
|
$lib_loader
|
||
|
)
|
||
|
}
|