攻击技术研判 | Kimsuky基于受害者身份验证的多阶段C2控制技术分析 

情报背景

卡巴斯基的安全研究发现活跃在朝鲜半岛的Kimsuky又双叒叕出新创新,使用名为GoldDragon的新鱼叉网络钓鱼集群配置多级C2控制服务器,并会对受害者进行数次身份验证。该策略成功使安全人员对其的追踪、分析变得困难。

组织名称Kimsuky
关联组织APT37、Lazarus
战术标签网络钓鱼
技术标签C2、受害者身份验证、HTA
情报来源https://securelist.com/kimsukys-golddragon-cluster-and-its-c2-operations/107258/

01 攻击技术分析

在新的攻击链中,攻击者发送包含嵌入式宏Word文档的鱼叉式网络钓鱼邮件。通过多阶段的受害者验证身份后,先是利用HTML感染受害者系统,之后投递一个VisualBasic脚本收集感染机器的信息。在此过程中攻击者滥用了大量合法的博客来托管恶意脚本,并最终部署Windows可执行文件类型的恶意软件。其多阶段的受害者验证C2服务器颇具新意,限制了安全研究人员对其的追踪、分析。

C2服务器多阶段的验证流程如下:

1. 向受害者发送鱼叉式网络钓鱼电子邮件以下载其恶意文档

2. 如果受害者被欺骗点击下载链接,会导致连接到第一阶段C2服务器,并在请求中带有受害者邮箱地址(分析文章并未直接包含请求代码,猜测可能的下载请求格式如 :http://fakewordpress.com/?who=Kimsuky@gmail.com)

3. 第一阶段C2服务器验证邮箱参数是否位于目标受害者邮箱(如:who=Kimsuky@gmail.com),通过则将受害者IP地址转发到下一阶段服务器,此时响应一个包含宏代码的恶意文档给受害者

4. 受害者点击宏文档将连接到第二阶段C2服务器

5. 第二阶段C2服务器验证用户访问IP,以检查它是否是来自同一受害者的预期请求。使用此IP验证方案,攻击者验证传入请求是否来自于受害者,通过便交付下一阶段恶意载荷

6. 之后的多阶段载荷持续对受害者的访问IP、操作系统、用户代理进行身份校验1663228387_6322d9e39c13f4ddaa9d2.png!small?1663228388831

卡巴文章中描述的攻击者C2服务器架构

2.1 多阶段受害者身份验证

攻击者滥用了大量合法的博客来托管恶意脚本,这些轻量级的恶意PHP脚本被部署用来校验受害者的访问参数。

1. 检查受害者访问的GET请求,校验其中who参数是否包含指定域名的电子邮件地址

1663228407_6322d9f76b625bc94e585.png!small?1663228408644

2. 如果包含指定域名的电子邮件地址,将访问日期、地址和用户代理保存到[who]_downhistory.txt文件中

3. 检查 user-agent 是否包含 WIndows, 这表明受害者是一台windows计算机,如果包含则进入下一步,否则将提供一个良性文件

4. 检查[who].txt文件是否存在,判断是否是受害者第一次请求

5. 如果[who].txt不存在(是第一次请求),将请求的IP地址转发给另一台C2服务器(VBS服务器),并向用户响应下一阶段恶意文档,将受害者信息保存到[who].txt包括访问日期、IP地址和user-agent

1663228424_6322da080bb73afda1614.png!small?1663228425048

6. 二阶段C2服务器将接收到的IP地址存入allow.txt中,如果不包含ip参数会将此次访问写入error.txt中进行记录,将重定向到mail.google.com并响应一个良性文件

1663228455_6322da27f33526337a833.png!small?1663228456987

综合分析这套受害者验证方案包含:

1. 检验是否为目标域名的邮箱地址的请求

2. 检查是否为Windows主机

3. 检验访问过程的中IP地址,记录非预期的访问行为

4. 使用良性文件、网站进行对非预期访问进行伪装

2.2 执行的恶意宏文档

受害者通过上面的验证后,此时会收到一个恶意宏文件,该宏会创建一个计划任务启动mshta.exe进程运行远程的.HTA载荷。

通过其后续服务器上的php脚本,攻击者在这一步又再次通过allow.txt来验证受害者的IP地址,如果通过,传递下一阶段的恶意载荷,否则将终止mshta.exe进程,结束响应。

1663228468_6322da34e4158c0dbfc20.png!small?1663228469954

之后运行的恶意载荷将收集报告受害者的信息并创建用户获得持久化的计划任务。收集的受害者信息包含ProgramFiles 文件夹路径、防病毒名称、最近打开的文件列表、用户名、操作系统名称、操作系统版本、Microsoft Office 版本、.NET 框架版本、桌面文件夹中的文件列表以及用户固定的任务栏项目列表。这些信息将通过 /info.php?ki87ujhy=上传到C2服务器,在传递过程中攻击者又使用了一个小trick,在请求中将user-agent故意拼错为Chnome,其C2服务器验证后只会接受包含拼错的Chnome请求。

1663228484_6322da44bb8711aa6bdce.png!small?1663228485867

02 总结

感谢卡巴斯基的安全研究人员,详细分析并分享了攻击者用来隐藏基础设施和阻碍自动化分析的技术细节,让我们能够再次看到Kimsuky的攻击技术演变。此次攻击者使用PHP编写托管在大量合法博客上的恶意脚本。成本低廉,部署方便,多阶段的验证方案和多个C2设施也能形成大集群对多个受害者发起攻击,让自动分析很难获得其完整的感染链和设施,只对其单个C2设施的分析与打击可能并不会影响到其总体攻击活动。

本文作者:绿盟科技, 转载请注明来自FreeBuf.COM

主题测试文章,只做测试使用。发布者:1869,转转请注明出处:https://community.anqiangkj.com/archives/24336

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022年10月4日 下午10:08
下一篇 2022年10月4日 下午10:11

相关推荐