@@ -90,4 +90,117 @@ rule malware_sqroot_webphp {
90
90
condition :
91
91
uint32 (0 ) == 0x68703f3c and
92
92
4 of ($ func * )
93
- }
93
+ }
94
+
95
+ rule malware_sqroot_cat {
96
+ meta :
97
+ description = " cat plugin downloaded by sqroot "
98
+ author = " JPCERT/CC Incident Response Group "
99
+
100
+ strings :
101
+ $ s1 = " Catcher start " wide
102
+ $ s2 = " Catcher exit " wide
103
+ $ s3 = " [%04d/%02d/%02d %02d:%02d:%02d] %s \n " wide
104
+ $ s4 = {2A 00 6C 00 6F 00 67 00 00 00 00 00 23 00 21 00 }
105
+
106
+ condition :
107
+ uint16 (0 ) == 0x5A4D and
108
+ uint32 (uint32 (0x3c )) == 0x00004550 and
109
+ 3 of them
110
+ }
111
+
112
+ rule malware_sqroot_snapshot {
113
+ meta :
114
+ description = " snapshot plugin downloaded by sqroot "
115
+ author = " JPCERT/CC Incident Response Group "
116
+
117
+ strings :
118
+ $ s1 = " e: \\ vsprojects \\ crataegus \\ snaptik \\ maz \\ miniz.c " wide
119
+ $ s2 = " %s-%02d%02d_%02d%02d%02d.maz " wide
120
+ $ s3 = " %s%s_%02d%02d%02d(%d).png " wide
121
+ $ s4 = " gdi_cache " wide
122
+ $ s5 = " capture_flag.ini " wide
123
+ $ s6 = " cf_mptmb " wide
124
+ $ s7 = " cf_pakdir " wide
125
+ $ s8 = " DoGdiCapture " ascii
126
+
127
+ condition :
128
+ uint16 (0 ) == 0x5A4D and
129
+ uint32 (uint32 (0x3c )) == 0x00004550 and
130
+ 4 of them
131
+ }
132
+
133
+ rule malware_sqroot_keylogger {
134
+ meta :
135
+ description = " keylog plugin downloaded by sqroot "
136
+ author = " JPCERT/CC Incident Response Group "
137
+
138
+ strings :
139
+ $ s1 = " record-%04d%02d%02d-%02d%02d%02d.ini " ascii
140
+ $ s2 = " g_hKeyLogMsgLoopThread exit " ascii
141
+ $ s3 = " OCR_INI_DEBUG.abc " ascii
142
+ $ s4 = {59 6F 75 27 72 65 20 61 63 74 69 76 61 74 65 64 00 00 00 00 52 33 32 41 63 74 69 76 65 }
143
+
144
+ condition :
145
+ uint16 (0 ) == 0x5A4D and
146
+ uint32 (uint32 (0x3c )) == 0x00004550 and
147
+ 2 of them
148
+ }
149
+
150
+ rule malware_sqroot_pluginloader {
151
+ meta :
152
+ description = " plugin loader downloaded by sqroot "
153
+ author = " JPCERT/CC Incident Response Group "
154
+
155
+ strings :
156
+ $ a1 = " Active() found " ascii
157
+ $ a2 = " Active:Thread created! " ascii
158
+ $ b1 = {6A 74 70 61 00 }
159
+ $ b2 = {6A 74 70 63 00 }
160
+ $ b3 = {6A 74 70 74 00 }
161
+ $ b4 = " %s*.tmp " ascii
162
+ $ c1 = " SignalS1 " ascii
163
+ $ c2 = " SignalS2 " ascii
164
+ $ c3 = " SignalS3 " ascii
165
+
166
+ condition :
167
+ uint16 (0 ) == 0x5A4D and
168
+ uint32 (uint32 (0x3c )) == 0x00004550 and
169
+ 5 of them
170
+ }
171
+
172
+ rule malware_sqroot_coreloader {
173
+ meta :
174
+ description = " loader downloaded by sqroot "
175
+ author = " JPCERT/CC Incident Response Group "
176
+
177
+ strings :
178
+ $ query = " %s?hid=%s&uid=%s&cid=%x " ascii
179
+ $ decode_routine = {8A 8A ?? ?? ?? ?? 02 C1 32 C1 2A C1 0F B6 8E ?? ?? ?? ?? 88 86 ?? ?? ?? ?? 8D 46 ?? 99 F7 FF 8A 82 ?? ?? ?? ?? 02 C8 32 C8 2A C8 88 8E ?? ?? ?? ?? 83 C6 02 81 FE 0A 04 00 00 }
180
+
181
+ condition :
182
+ uint16 (0 ) == 0x5A4D and
183
+ uint32 (uint32 (0x3c )) == 0x00004550 and
184
+ all of them
185
+ }
186
+
187
+ rule malware_sqroot_corerat {
188
+ meta :
189
+ description = " RAT downloaded by sqroot "
190
+ author = " JPCERT/CC Incident Response Group "
191
+
192
+ strings :
193
+ $ a1 = " openfile %s error! " ascii
194
+ $ a2 = " remote file error! " ascii
195
+ $ a3 = " upload well! " ascii
196
+ $ a4 = " %s?hid=%s&uid=%s&cid=%x " ascii
197
+ $ a5 = " %s|%s|%s|%s|%s|%s|%d|%s| " ascii
198
+ $ b1 = {68 24 11 00 00 E8 }
199
+ $ b2 = {C7 03 37 11 00 00 }
200
+
201
+ condition :
202
+ uint16 (0 ) == 0x5A4D and
203
+ uint32 (uint32 (0x3c )) == 0x00004550 and
204
+ (all of ($ a * ) or all of ($ b * ))
205
+ }
206
+
0 commit comments