背景
Lyceum,又名Hexane、Siamesekitten,最早由Secureworks于2019年公开披露并命名,是疑似具有中东地区国家背景的APT组织。据国外安全厂商研究表明,Lyceum可能早在2018年4月就已经活跃。其目标是中东地区的石油和天然气公司,科威特是该组织主要攻击对象。此外,Lyceum还曾针对中东、中亚和非洲的电信供应商展开过中间人攻击。
根据此前披露该组织活动的报告,Lyceum 针对中东地区的能源和电信部门采取行动。在攻击活动中,攻击者使用了各种PowerShell脚本和一款名为“DanBot”的基于.NET的远程管理工具,并且在DNS或HTTP基础上使用自定义设计的协议与C&C 服务器通信。Lyceum入侵活动包括投递恶意文档,这些恶意文档会释放恶意软件以建立后续活动的立足点。该组织在2019年初至年中加速其攻击活动,这一时期恰逢中东地区局势紧张,地缘政治和军事冲突升级。
在去年的VB2021大会上,卡巴斯基披露了对Lyceum的研究调查【1】,该组织多年来不断发展其武器库,将其使用的恶意软件从先前记录的.NET版本转移到用C++编写的新版本。在样本PDB路径中发现了重复名称之后,卡巴斯基将这些新的恶意软件分为两个不同的变体,并命名为“James”和“Kevin”。与之前的DanBot 实例一样,两个变体都支持通过DNS或HTTP隧道传输自定义的C&C协议。
概述
近期,国外安全厂商zscaler发布报告披露Lyceum组织利用新的DNS后门攻击能源部门,该后门允许攻击者远程执行系统命令并在受感染的机器上上传或下载数据【2】。同时,奇安信威胁情报中心红雨滴团队在日常的威胁狩猎中也捕获了该组织近期的攻击样本,于第一时间在社交平台上进行了披露。
根据我们捕获的攻击样本托管网址推测,初始攻击入口可能是鱼叉式钓鱼邮件,诱骗受害者点击下载docm文件或者伪装的SCR屏幕保护程序。攻击样本被下载执行后,会释放一个诱饵文件来迷惑受害者。从此次Lyceum的攻击活动中,我们总结出该组织的攻击手段具有以下特点:
(1) Lyceum组织通过planet-informer[.]me域托管攻击样本;
(2) SCR攻击样本实际为带有密码保护的SFX文件,SFX解压得到的释放器从伪装的jpg图片文件中提取出后门和诱饵释放器的可执行文件数据;
(3) 第一阶段释放器和后门依然沿用了Lyceum组织此前样本中使用的C#代码控制流平坦化手段。
样本信息
此次捕获的攻击样本基本信息如下:
- | - |
---|---|
文件名 | viewPDF.scr |
MD5 | 29b6b195cf0671901b75b7d2ac6814f6 |
VT上传时间 | 2022-06-16 04:40:39 UTC |
VT上传地 | 阿联酋 |
该样本实际为WinRAR打包压缩的自解压文件。
样本攻击流程如下所示。
释放的诱饵PDF内容为“无人机击中伊朗帕尔钦军事基地”的新闻报道,原始报道发布时间为5月27日,可见攻击者希望通过近期热点事件迷惑受害者。
样本分析
初始SCR文件
样本带有伪装为Microsoft的数字签名。
样本运行后,会弹出如下对话框,点击OK后才会继续执行。该弹框的作用实际是向加密的SFX文件传递解压密码。
该对话框对应SFX文件资源中的GETPASSWORD1窗口,OK键传递的解压密码为"1234567890QwErTyUiOpAsDfGhJkLzXcVbNm"。
将样本文件后缀改为rar,解密打开后发现其中包含两个文件,自解压脚本运行其中的s563.exe。
样本在”%temp%\RarSFX0”目录中释放文件。
第一阶段释放器
第一阶段释放器s563.exe的基本信息如下。
- | - |
---|---|
文件名 | s563.exe |
MD5 | b10a50cb12b82bde90124aad3f48180d |
文件类型 | .NET pe |
s563.exe的主要功能为从同目录下的f1.jpg文件中读取后续待释放文件数据,解密后释放到指定位置,并启动执行。
C#代码中添加了大量无效语句进行混淆,整理其中与读取待释放文件数据相关的语句,如下图所示。文件f1.jpg中包含了两个待释放文件的数据,文件数据逆序处理后再经过xor解密恢复。
文件数据读取完毕,通过下面的for循环将数据分别释放到指定路径并启动执行。
Class1.Ok1方法会根据传入的参数不同而释放不同文件,方法内部使用了控制流平坦化手段,因此没有显式的分支语句出现。
代码控制流平坦化的核心是Thrd类,Thrd类维护一个工作线程,一个链表以及一个当前计数值。Thrd类的OK方法将被执行语句加入链表,加入时为其赋予一个key值;工作线程不断从链表中取出待执行语句,如果语句对应的key值与当前计数值相等,则执行该语句。赋给待执行语句的key值和当前计数值默认都是加1递增,而Thrd类的SetC方法可以修改当前计数值,Thrd类的SetMC方法可以修改赋予key值的基值,因此通过这两个方法可以决定加入链表的哪些语句会被执行。
Class1.Ok1方法根据f1.jpg文件的最开始两个字节设置Thrd对象的当前计数值,进而执行不同的分支:
(1) 读取jpg第一个字节0xFF时,SetC的参数为25551,相应地,执行分支从代码thrd.SetMC(25551)开始,释放并启动诱饵pdf释放器,释放路径为”..\ tmnbo123\<时间戳>.exe”。(下图为去掉无效指令后的C#代码)
(2) 读取jpg第二个字节0xd8时,SetC参数为21651,相应地,执行分支从代码thrd.SetMC(21651)开始,释放并启动后门,释放路径为”..\verbs.exe”。(下图为去掉无效指令后的C#代码)
诱饵pdf释放器
释放的诱饵pdf释放器基本信息如下。
- | - |
---|---|
文件名 | viewPDF.exe |
MD5 | 7b4c70526b499e4d7f3d77a47235a67c |
文件类型 | .NET pe |
该释放器功能很简单,从资源区加载pdf文件数据,释放后打开诱饵文档。
后门
释放的后门文件基本信息如下。
- | - |
---|---|
文件名 | verbs.exe |
MD5 | 77d5ef3b26138baabf52fd14a0625298 |
文件类型 | .NET pe |
Constants类中包含了后门的配置信息,与Lyceum组织之前的后门样本相似。
后门程序首先获取自身的绝对文件路径,并结合文件创建时间生成token,作为受害者标识。与C2服务器建立连接后,将获取到的信息发送过去。
通过Reqss.OK方法作为接收到C2服务器消息的回调函数,进行后门指令分发。
Reqss.OK方法首先以”|”为分隔符从接收的数据中分隔出指令码,然后对指令参数字符串Base64解码处理后再分隔出具体的参数,第一个参数是标识受害者的token,其他参数则用于设置指令的具体操作。同时,Reqss.OK方法的指令分发也采用了与第一阶段释放器相同的控制流平坦化方式。
部分后门功能代码如下。列举目录信息。
上传文件,文件上传url为”https://89.39.149.18:6501/upload”。
文件下载。
获取安装的程序信息。
获取屏幕截图。
整理后门指令功能如下。
- | - | - |
---|---|---|
指令码 | 对应Constants类的常量 | 功能 |
100000 | TYPE_FILES_LIST | 列举指定目录的子目录和文件信息 |
110000 | TYPE_FILES_DELETE | 删除指定文件 |
120000 | TYPE_FILES_RUN | |
130000 | TYPE_FILES_UPLOAD_TO_SERVER | 上传指定文件 |
140000 | TYPE_FILES_DELETE_FOLDER | 删除指定目录 |
150000 | TYPE_FILES_CREATE_FOLDER | 创建指定目录 |
160000 | TYPE_FILES_DOWNLOAD_URL | 从指定URL下载文件保存到指定位置 |
200000 | TYPE_OPEN_CMD | 启动远程CMD |
210000 | TYPE_CMD_RES | 获取远程CMD输出结果 |
220000 | TYPE_CLOSE_CMD | 关闭远程CMD |
230000 | TYPE_CMD_REQ | 远程CMD执行指定命令 |
300000 | TYPE_INSTALLED_APPS | 获取安装的程序信息 |
400000 | TYPE_SCREENSHOT | 截屏并回传 |
溯源关联
托管域
在Lyceum组织本次的攻击活动中,我们可以看到其使用planet-informer[.]me来托管其攻击样本。使用奇安信威胁情报分析平台【3】可以看到该域名解析的IP地址为89.39.149.19,与上述我们分析的后门IP地址在同一个C段。由此可见,Lyceum组织已将整个攻击流程体系化,方便迁移与隐蔽。
通过对planet-informer[.]me域进一步分析发现,其还存在另一个链接http://planet-informer[.]me/pdf/45/RussiaWarCrime.docm,托管了武器化的docm文档。虽然不能下载到该docm文档,但我们猜测链接中的RussiaWarCrime.docm文档是以俄乌战争为背景制作的武器化文档。无独有偶,早在今年3月份,国外安全厂商checkpoint披露过一起Lyceum组织活动【4】,其中使用的诱饵内容也是以俄乌战争为背景,诱使受害者点击下载后续载荷,因此我们有把握猜测初始攻击入口可能是鱼叉式钓鱼邮件。
另外,从上图的诱饵内容可以看出,Lyceum组织诱骗受害者点击的恶意载荷链接为http://news-spot[.]live/Reports/1/?id=1025&pid=d156,这与我们本次捕获的URL链接结构上高度相似。
样本同源性
在本次攻击活动的进程链中,我们发现样本7b4c70526b499e4d7f3d77a47235a67c拥有PDB调试路径相关信息。通过对PDB路径进行关联,我们发现样本8044dc6078b003698d6e1cbbd22a9ea6与之同同源,其路径中都包含‘u1’这个用户名。巧合的时,该样本正属于3月份国外安全厂商checkpoint披露Lyceum组织活动的攻击样本之一。
代码相似性
在代码层面,也与国外厂商披露的代码像类似,在配置选项中除通讯端口外几乎一模一样。
攻击目标
通过对诱饵文件的观察,我们发现该诱饵pdf源自以色列时报的一篇报道【5】,Lyceum组织直接从网页上将该报告保存为pdf作为诱饵使用。由此我们怀疑Lyceum组织的攻击对象是以色列,但是我们捕获的攻击样本上传地为阿联酋的阿布扎比,这使我们感到困惑,或许在最终明确其攻击对象的这一工作中,我们还需继续狩猎更多的样本用于佐证。
总结
Lyceum组织以针对中东能源和电信领域而闻名,并且主要依赖基于.NET的恶意软件。尽管近些年来不断被安全厂商披露,但该组织并没有任何收敛,而是采用更多相关诱饵,并不断改进使用的恶意软件,这些迹象都表明Lyceum组织将继续在中东展开间谍活动。
奇安信红雨滴团队在此提醒广大用户,切勿打开社交媒体分享的来历不明的链接,不点击执行未知来源的邮件附件,不运行夸张标题的未知文件,不安装非正规途径来源的APP。做到及时备份重要文件,更新安装补丁。
若需运行,安装来历不明的应用,可先通过奇安信威胁情报文件深度分析平台(https://sandbox.ti.qianxin.com/sandbox/page)进行判别。目前已支持包括Windows、安卓平台在内的多种格式文件深度分析。
目前,基于奇安信威胁情报中心的威胁情报数据的全线产品,包括奇安信威胁情报平台(TIP)、天擎、天眼高级威胁检测系统、奇安信NGSOC、奇安信态势感知等,都已经支持对此类攻击的精确检测。
IOCs
MD5
29B6B195CF0671901B75B7D2AC6814F6
E2F9B741BF07AA6EBC7AAFD62635EE5F
7B4C70526B499E4D7F3D77A47235A67C
B10A50CB12B82BDE90124AAD3F48180D
77D5EF3B26138BAABF52FD14A0625298
托管域
planet-informer.me
C2
89.39.149.18:
参考链接
[1] https://securelist.com/lyceum-group-reborn/104586/
[2] https://www.zscaler.com/blogs/security-research/lyceum-net-dns-backdoor
[3] https://ti.qianxin.com/v2/search?type=domain&value=planet-informer.me
[4] https://research.checkpoint.com/2022/state-sponsored-attack-groups-capitalise-on-russia-ukraine-war-for-cyber-espionage/
[5] https://www.timesofisrael.com/suicide-drones-launched-from-inside-iran-said-to-have-hit-parchin-military-site/