2020年10月1日,DHS CISA发布了SlothfulMedia恶意软件家族信息;2018年6月,研究人员基于未知家庭恶意软件样本中的字符串发,布了名为IAmTheKing家族的第一份报告。
本文主要对IAmTheKing恶意软件家族进行分析。
IAmTheKing
KingOfHearts
这是一个C++后门,它具有EXE或DLL变体,该家族可追溯到2014年。它是通过恶意Word文档的鱼叉式网络钓鱼电子邮件传播的,目前无法获取其中的样本。它通过PowerShell脚本对目标进行渗透,该脚本从远程服务器下载隐藏在镜像文件中的有效负载。
KingOfHearts基本功能:
任意命令执行
文件系统操作:列出驱动器和文件,删除,上传和下载数据等
列出正在运行的进程,并可终止其中任何一个
捕获屏幕截图
恶意软件开发人员没有开发复杂的功能,后门每秒通过向C2发送心跳(“ HEART”命令,因此命名)来寻找新命令。目前确定了两个主要的开发分支:一个是发送url编码的POST数据,另一个是发送JSON数据,两者同时使用。
QueenOfHearts
QueenOfHearts出现在2017年,由ESET判定其隶属于PowerPool家庭。
QueenOfHearts通过HTTP与C2服务器进行交互。它发送简单的GET请求,其中包含后门标识符和可选的受害机器信息,然后读取位于答复Cookie头中的命令。命令采用两字母代码形式(例如:“ xe”列出驱动器)。目前该系列仍处于开发中,已经观察到代码重构以及2020年代码升级。
QueenOfClubs
调查过程中发现另一种恶意软件与QueenOfHearts扮演着相同的角色。 此C ++后门还提供与KingOfHearts类似的功能,并具有执行Powershell脚本的功能。 区别在于截图捕获功能直接嵌入在程序中,而不是由单独的程序处理。
与QueenOfHearts关联点:
两种恶意软件中都可以找到相同的硬编码文件名
许多命令和控制服务器同时处理来自两个系列的流量
QueenOfHearts和QueenOfClubs有时会同时部署在受感染的计算机上
JackOfHearts
JackOfHearts是QueenOfHearts的植入程序:其作用是将恶意软件写入磁盘上的某个位置(例如:%AppData%\mediaplayer.exe),并创建指向该恶意软件的Windows服务以及启动文件夹快捷方式。植入程序在%TEMP%文件夹中创建一个自我删除程序,将其自身从文件系统中删除。
截至2020年,JackOfHearts仍用于部署QueenOfHearts。
Powershell后门
IAmTheKing还利用Powershell脚本。恶意文档中包含伪装为Word文档的LNK文件,单击这些链接将执行Powershell后门,后门会隐藏在自定义Windows事件日志中,通过HTTPS,DNS,POP3S检索其他脚本。
C2服务器提供PNG文件,其中包含其他的Powershell脚本,此代码来自开源项目Invoke-PSImage。攻击者可以在受害机器上安装组件:
信息窃取组件:收集在受害者计算机上的所有文档,通过电子邮件发送回攻击者。
命令执行组件:可从DNS TXT记录获取命令。
信息收集组件:负责通过WMI查询收集正在运行的进程,磁盘驱动器和已安装的程序。它还会窃取Chrome浏览器保存的密码。
扩展程序组件:列出连接到域的计算机,并尝试在每个计算机上打开共享,复制二进制文件并创建远程计划任务。
键盘记录组件
攻击者通过上述任何工具获得了对计算机的访问权限就会进行横向渗透。
受害者
IAmTheKing一直专注于从俄罗斯收集情报。 受害者包括政府机构和国防承包商,公共发展机构,能源部门、大学和公司。KingOfHearts,QueenOfHearts最新版本的JackOfHearts都包含专门针对俄语字符集的代码:
2020年在中亚和东欧国家发现了涉及IAmTheKing的攻击事件。 DHS CISA还报告了其在乌克兰和马来西亚的活动。 但是数据表明,俄罗斯是IAmTheKing的主要攻击目标。
总结
尽管最近才发现IAmTheKing的活动,但其已经活跃了几年。根据IAmTheKing所获取的信息类型,我们认为它是由国家赞助研发的。它的工具集正在迅速发展,并且在尝试使用非标准的通信渠道。该组织精通传统的渗透测试方法和Powershell脚本渗透。
YARA rules
rule apt_IAmTheKing_KingOfHearts {
meta:
description = “Matches IAmTheKing’s KingOfHearts C++ implant”
author = “Kaspersky Lab”
copyright = “Kaspersky Lab”
version = “1.0”
type = “APT”
filetype = “PE”
last_modified = “2020-01-20”
strings:
$payload_fmt = “cookie=%s;type=%s;length=%s;realdata=%send” ascii
$cmd1 = “HEART” ascii
$cmd2 = “CMDINFO” ascii
$cmd3 = “PROCESSINFO” ascii
$cmd4 = “LISTDRIVE” ascii
$cmd5 = “LISTFILE” ascii
$cmd6 = “DOWNLOAD” ascii
condition:
uint16(0) == 0x5A4D and filesize < 1MB and
($payload_fmt or all of ($cmd*))
}rule apt_IAmTheKing_KingOfHearts_json {
meta:description = “Matches IAmTheKing’s KingOfHearts JSON C++ implant”
author = “Kaspersky Lab”
copyright = “Kaspersky Lab”
version = “1.0”
type = “APT”
filetype = “PE”
last_modified = “2020-01-20”
strings:
$user_agent = “Mozilla/4.0 (compatible; )” ascii
$error = “write info fail!!! GetLastError–>%u” ascii
$multipart = “Content-Type: multipart/form-data; boundary=–MULTI-PARTS-FORM-DATA-BOUNDARY\x0D\x0A” ascii
condition:
uint16(0) == 0x5A4D and filesize < 1MB and all of them
}rule apt_IAmTheKing_QueenOfHearts_2020 {
meta:
author = “Kaspersky”
copyright = “Kaspersky”
version = “1.0”
type = “APT”
filetype = “PE”
description = “Find IAmTheKing’s QueenOfHearts 2020 variants”
last_modified = “2020-09-29”
strings:
$s1 = “www.yahoo.com” fullword wide
$s2 = “8AAAAHicJY9HDsIwFAXnMmQHIsGULKKIUPZwA0SNqCEIcXwGI+vL781vdknNjR17PvQ48eLKhZKGlsJMwoE7T2nBipSKNQtpy0PSlSSqRr0j1208WVRprNqa6Vs3ju6s” ascii
$s3 = “kgAAAHicHYy7DoJAEEXPp2xMKJVEehoKSwsLSqMLCRh5BDTK33vWTHbuzpk7NzLQEMiJ9pmJDy0LK536tA7q1xfYcVJf7K*6jlz5yGJsiCtdN+8XJ1q9yMFR67ySf/M” ascii
$s4 = “2gAAAHicHY/JDoJAEAXrZ+SmEUSUAyEueNc/MOBCVFwwxs+3nEw6/V71lilp6Wg48GXEmTc3rpQ86SmsRBy585IWbIlZsqOS9jwkQ0mkeqobct3elwQVh67ayti+WXAX” ascii
$s5 = “MyScreen.jpg” fullword wide
$s6 = “begin mainthread” fullword wide
$s7 = “begin mainthread ok” fullword wide
$s8 = “getcommand error” fullword wide
$s9 = “querycode error” fullword wide
$s10 = “{‘session’:[{‘name’:’admin_001′,’id’:21,’time’:12836123}],’jpg’:” fullword ascii
$s11 = “cookie size :%d” fullword wide
$s12 = “send request error:%d” fullword wide
$s13 = “AABBCCDDEEFFGGHH” fullword wide
$s14 = ” inflate 1.2.8 Copyright 1995-2013 Mark Adler ” fullword ascii
$s15 = ” Type Descriptor'” fullword ascii
$s16 = ” constructor or from DllMain.” fullword ascii
$s17 = ” Base Class Descriptor at (” fullword ascii
$ex = “ping 127.0.0.1” ascii fullword
condition:
( uint16(0) == 0x5A4D ) and
( filesize > 70KB and filesize < 3MB ) and
( 12 of them ) and
( not $ex )
}
IOC
00E415E72A4F*C8634D4D3815683CE8 KingOfHearts (urlencode variant)
4E2C2E82F076AD0B5D1F257706A5D579 KingOfHearts (JSON variant)
AB956623B3A6C2AC5B192E07B79CBB5B QueenOfHearts
4BBD5869AA39F144FADDAD85B5EECA12 QueenOfHearts
4076DDAF9555031B336B09EBAB402B95 QueenOfHearts
096F7084D274166462D445A7686D1E5C QueenOfHearts
29AA501447E6E20762893A24BFCE05E9 QueenOfClubs
97c6cfa181c849eb87759518e200872f JackOfHearts
7DB4F1547D0E897EF6E6F01EC*84314 Screenshot capture utility
60D78B3E0D7FFE14A50485A19439209B Malicious LNK
90EF53D025E04335F1A71CB9AA6D6592 Keylogger
原文链接
来源:freebuf.com 2020-10-19 09:21:52 by: Kriston
请登录后发表评论
注册