Skip to content

Commit 615afa0

Browse files
committed
Added new yara rules 2022-06-10
1 parent fa2a1aa commit 615afa0

File tree

2 files changed

+138
-0
lines changed

2 files changed

+138
-0
lines changed

BlackTech/blacktech.yara

+102
Original file line numberDiff line numberDiff line change
@@ -354,3 +354,105 @@ rule BlackTech_BTSDoor_str {
354354
uint32(uint32(0x3c)) == 0x00004550 and
355355
(1 of ($pdb*) or 4 of ($data*))
356356
}
357+
358+
rule BlackTech_mabackdoor_str {
359+
meta:
360+
description = "Multi-architecture (ARM or x64) backdoor in BlackTech"
361+
author = "JPCERT/CC Incident Response Group"
362+
hash = "3d18bb8b9a5af20ab10441c8cd40feff0aabdd3f4c669ad40111e3aa5e8c54b8"
363+
hash = "9603b62268c2bbb06da5c99572c3dc2ec988c49c86db2abc391acf53c1cccceb"
364+
365+
strings:
366+
$msg1 = "[+] my_dns_query failed." ascii fullword
367+
$msg2 = "[+] my_dns_query success." ascii fullword
368+
$msg3 = "[+] connect to %s:%d failed." ascii fullword
369+
$msg4 = "[+] connect to %s:%d success." ascii fullword
370+
$msg5 = "cmd: %s" ascii fullword
371+
$msg6 = "path: %s" ascii fullword
372+
$msg7 = "has address" ascii fullword
373+
$msg8 = "host %s" ascii fullword
374+
$msg9 = {84 D2 (74 ?? |0F ?? ?? ?? 00 00) 80 FA 72 (74 ?? |0F ?? ?? ?? 00 00) 80 FA 77 (74 ?? |0F ?? ?? ?? 00 00) 80 FA 65 (74 ?? |0F ?? ?? ?? 00 00)}
375+
$func1 = "exec_cmd_send_xor" ascii fullword
376+
$func2 = "exec_cmd" ascii fullword
377+
$func3 = "rc4_init" ascii fullword
378+
$func4 = "my_dns_query" ascii fullword
379+
$func5 = "rc4_key" ascii fullword
380+
$func6 = "daemon_init" ascii fullword
381+
$key1 = "pASSword699" ascii fullword
382+
$key2 = "345asdflkasduf" ascii fullword
383+
384+
condition:
385+
uint32(0) == 0x464C457F and
386+
(4 of ($msg*) or 4 of ($func*) or 1 of ($key*))
387+
}
388+
389+
rule BlackTech_SelfMakeLoader_str {
390+
meta:
391+
description = "SelfMake(SpiderPig) Loader in BlackTech"
392+
author = "JPCERT/CC Incident Response Group"
393+
hash = "2657ca121a3df198635fcc53efb573eb069ff2535dcf3ba899f68430caa2ffce"
394+
395+
strings:
396+
$s1 = { 73 65 6C 66 6D 61 6B 65 3? 41 70 70 }
397+
$s2 = "fixmeconfig"
398+
$s3 = "[+] config path:%s"
399+
$cmp_magic_num = { 81 7C ?? ?? (D0 D9 FE E1 | EE D8 FF E0) }
400+
401+
condition:
402+
uint16(0) == 0x5A4D and (all of ($s*) or $cmp_magic_num)
403+
}
404+
405+
rule BlackTech_HeavyROTLoader {
406+
meta:
407+
description = "HeavyROT Loader in BlackTech"
408+
author = "JPCERT/CC Incident Response Group"
409+
hash = "F32318060B58EA8CD458358B4BAE1F82E073D1567B9A29E98EB887860CEC563C"
410+
411+
strings:
412+
$t1 = { 68 D8 A6 08 00 E8 }
413+
$t2 = { 43 81 FB 00 97 49 01 }
414+
$calc_key = { 63 51 E1 B7 8B ?? 8B ?? 81 ?? 00 10 00 00 C1 ?? 10 0B }
415+
$parse_data = { 8D 6F EE 8B 10 66 8B 70 10 8B 58 04 89 54 24 28 8B 50 08 3B F5 }
416+
417+
condition:
418+
all of ($t*) or $calc_key or $parse_data
419+
}
420+
421+
rule BlackTech_SpiderRAT_str {
422+
meta:
423+
description = "Spider(SpiderPig) RAT in BlackTech"
424+
author = "JPCERT/CC Incident Response Group"
425+
hash = "C2B23689CA1C57F7B7B0C2FD95BFEF326D6A22C15089D35D31119B104978038B"
426+
427+
strings:
428+
$msg1 = "InternetSetOption m_ProxyUserName Error."
429+
$msg2 = "InternetSetOption m_ProxyPassWord Error."
430+
$msg3 = "pWork->HC->HttpSendMessage failed!"
431+
$msg4 = "Recv_put error!"
432+
$msg5 = "Send_put error!"
433+
$msg6 = "Send Success - %d:%d"
434+
$msg7 = "Recv Success - %d:%d"
435+
436+
condition:
437+
uint16(0) == 0x5A4D and 5 of ($msg*)
438+
}
439+
440+
rule BlackTech_AresPYDoor_str {
441+
meta:
442+
description = "AresPYDoor in BlackTech"
443+
author = "JPCERT/CC Incident Response Group"
444+
hash = "52550953e6bc748dc4d774fbea66382cc2979580173a7388c01589e8cb882659"
445+
446+
strings:
447+
$ares1 = "ares.desktop"
448+
$ares2 = "~/.ares"
449+
$ares3 = "grep -v .ares .bashrc >"
450+
$log1 = "[-]Error! server_hello: status_code=%d"
451+
$log2 = "[i]runcmd: %s"
452+
$log3 = "[i]send_output: posting data=%s"
453+
$log4 = "[i]server_hello: %s"
454+
$log5 = "[i]starting server_hello"
455+
456+
condition:
457+
5 of them
458+
}

Lazarus/lazarus.yara

+36
Original file line numberDiff line numberDiff line change
@@ -428,3 +428,39 @@ rule Lazarus_obfuscate_string {
428428
filesize > 1MB and
429429
all of them
430430
}
431+
432+
rule Lazarus_Bpanda3_str {
433+
meta:
434+
description = "Bpanda3 backdoor in Lazarus"
435+
author = "JPCERT/CC Incident Response Group"
436+
hash = "199ba618efc6af9280c5abd86c09cdf2d475c09c8c7ffc393a35c3d70277aed1"
437+
438+
strings:
439+
$str1 = "Arcan3" ascii wide fullword
440+
$str2 = "Wr0te" ascii wide fullword
441+
$str3 = "luxuryboy" ascii wide fullword
442+
$str4 = "pnpgather" ascii wide fullword
443+
$str5 = "happyv1m" ascii wide fullword
444+
$str6 = "laz3rpik" ascii wide fullword
445+
$str7 = "d0ta" ascii wide fullword
446+
$str8 = "Dronek" ascii wide fullword
447+
$str9 = "Panda3" ascii wide fullword
448+
$str10 = "cpsponso" ascii wide fullword
449+
$str11 = "ggo0dlluck" ascii wide fullword
450+
$str12 = "gar3ia" ascii wide fullword
451+
$str13 = "wo0d" ascii wide fullword
452+
$str14 = "tr3e" ascii wide fullword
453+
$str15 = "l0ve" ascii wide fullword
454+
$str16 = "v0siej" ascii wide fullword
455+
$str17 = "e0vvsje" ascii wide fullword
456+
$str18 = "polaris" ascii wide fullword
457+
$str19 = "grav1ty" ascii wide fullword
458+
$str20 = "w1inter" ascii wide fullword
459+
460+
condition:
461+
(uint32(0) == 0x464C457F and
462+
8 of ($str*)) or
463+
(uint16(0) == 0x5A4D and
464+
uint32(uint32(0x3c)) == 0x00004550 and
465+
8 of ($str*))
466+
}

0 commit comments

Comments
 (0)