APT 组织 Kimsuky 瞄准大学研究人员

执行摘要

Kimsuky 是一个朝鲜 APT 组织,其任务是执行符合朝鲜政府利益的全球情报收集行动。该组织自 2012 年以来一直活跃,对韩国智库和政府实体特别感兴趣;然而,它也针对美国、英国和其他欧洲国家。Kimsuky 擅长进行有针对性的网络钓鱼活动,在通过电子邮件通信建立信任后,利用后续电子邮件中的恶意附件进行攻击 [1][2]。

2024 年春,美国国家安全局和联邦调查局发布了一份针对朝鲜民主主义人民共和国(DPRK,又名朝鲜)的联合网络安全咨询,具体指出 Kimsuky 利用配置不当的 DNS 基于域的消息认证、报告和一致性 (DMARC) 记录策略来隐藏社会工程尝试 [3]。这份咨询报告指出,DPRK 倾向于冒充学者、记者或其他东亚专家,针对韩国、美国和欧洲开展活动 [2][3]。

2024 年 7 月下旬,Resilience 分析师发现威胁行为者 Kimsuky 犯了一个操作安全 (OPSEC) 错误。我们的分析师利用这一点收集了大量源代码、登录凭据、流量日志和内部笔记。根据我们收集的数据,我们评估 Kimsuky 正在钓鱼大学员工、研究人员和教授进行间谍活动。一旦进入大学网络,Kimsuky 就可以窃取朝鲜政府的研究和情报。

这些行动与朝鲜政府主要外国情报收集机构侦察总局 (RGB) 的目标一致。金修基此前曾试图窃取核武器研究、医疗保健和制药机密 [4]。在某些情况下,金修基还被认定为进行以经济为目的的网络犯罪,据信这些犯罪正在为他们的间谍活动提供资金 [4]。朝鲜试图利用这些信息来改善其严重缺乏成熟科学界的国家。

以下技术细节和建议提供了有关 Kimsuky 如何运作以及如何以大学为目标进一步开展朝鲜间谍行动的更多信息。

弹性建议

对于可能成为国家支持的运动目标的人,Resilience 建议采取以下高级策略:

  • 利用防网络钓鱼的多因素身份验证,例如符合 FIDO 的硬件令牌或基于推送的移动应用程序。
  • 请务必仔细检查您登录的 URL 是否与您预期登录的页面相匹配。一些密码管理器会自动执行此操作。
  • 审查并测试模拟 Kimsuky 活动的突破和攻击模拟包。

技术细节

暂存基础设施

CISA 先前的报告表明,Kimsuky 使用受感染的互联网主机来发动攻击。根据我们收集的数据,他们可以访问 audko[.]store、dorray[.]site、nusiu[.]live、osihi[.]store、simos[.]online、sorsi[.]online、wodos[.]online 和 wodods[.]xyz。

在获得基础设施访问权限以进行攻击后,威胁组织在主机上设置了一个名为"Green Dinosaur"的 Webshell。此 Webshell 允许操作员上传、下载、重命名和删除文件。此 Webshell 似乎基于从名为 Indrajith Mini Shell 2.0 [5] 的旧 Webshell 中提取的代码。然而,Green Dinosaur 删除了功能,限制了检测可能性,同时允许操作员放置钓鱼网站。

图片:"绿色恐龙"webshell

我们从 Kimsuky 基础设施获得的 GreenDinosaur 样本都经过了多层 base64 和 gz 压缩字符串的混淆,很可能是为了防止托管公司检测到。最后一层是使用 PHP 函数"strtr"的 base64 和多字符替换的混合。

图片:去混淆后的"绿色恐龙" webshell 源代码示例

钓鱼页面

设置 Green Dinosaur 后,运营商上传了预先构建的网络钓鱼页面。这些网络钓鱼页面是通过首先抓取他们模仿的真实登录门户来创建的。然后使用其他代码修改抓取的页面以记录任何输入的凭据。在这次活动中,针对同德大学、高丽大学和延世大学创建了网络钓鱼页面。此外,我们还发现了一个用于窃取 Naver 帐户的网络钓鱼工具包。

同德大学

同德大学钓鱼页面在视觉上与真正的同德电子邮件登录页面完全相同,但包含了一些可用作武器的修改。

图片:合法的 Dongduk 登录页面(上)和 Kimsuky 恶意登录页面(下)显示出明显的相似性。

图片:修改后的同德登录页面 HTML 代码截图

上面的代码是添加到登录页面的主要部分。开发人员首先注释掉了网站使用 Dongduks 公共 RSA 密钥加密密码值的默认行为。以下代码获取用户名、密码和登录尝试次数,并将其发送到 j_spring_securty_check.php,而不是使用常规提交函数。此 PHP 文件包含以下代码:

图片:j_spring_security_check.php 代码的屏幕截图

该文件与 j-spring 或安全无关,它收集有关访问者、当前时间的信息,并将受害者的用户名和密码记录到服务器上的文件中。从受害者的角度来看,在他们第一次尝试登录后,他们会看到一条消息,上面写着"登录失败",并提示他们再次输入凭证。这很可能是为了确保威胁行为者获得没有拼写错误的密码。在第二次尝试后,他们会被重定向到另一个网站,就好像登录正常一样,但实际上他们的凭证只是被记录到服务器上的文本文件中。

图片:正在记录的凭证的屏幕截图

对于同德大学的目标,他们被重定向到一份 PDF 文件,标题为"2024년 8월 비공개 아산정책포럼 참석요청서 계획(안)"(翻译:2024 年 8 月非公开的安山政策论坛计划(草案)),该文件托管在 Google Drive 上(https[😕/]drive[.]google[.]com/file/d/1ra7zb3K4BPF3qjJ-lNdWs_qQQeeR4z38/view)。这份 PDF 文件由 Google 用户 kimduyong2020@gmail[.]com 上传到 Google Drive,他拥有南北朝鲜交流合作支援协会的个人资料照片。

图片:南北韩交流合作支援协会徽标用作 kimduyong2020@gmail[.]com 的个人资料照片

PDF 是峨山政策研究院 8 月论坛的邀请函。此诱饵可能与真正的峨山政策研究院在 2024 年 7 月 16 日的一篇博客文章中提到的相同,该文章警告成员注意来自 Daum、Gmail 和 Naver 帐户的网络钓鱼攻击 [6]。

图片:峨山政策研究院八月论坛 PDF

外链图片转存中...(img-c3QaofpP-1723269293303)

图片:峨山政策研究院 - 往期活动:'关于恶意钓鱼邮件的安全警告'

高丽大学

高丽大学登录页面采用与同德大学类似的方法,但不是修改文档的 HTML,而是修改其中一个 javascript 导入来传递登录凭据。

图片:韩国大学合法登录页面(上)与 Kimsuky 恶意登录页面(下)呈现出明显的相似性。

图片:修改后的韩国大学 JavaScript 代码截图

发送 urlencoded 的用户名、密码和计数的 login.php 文件与 Dongduk 钓鱼页面上的 j_spring_securty_check.php 文件相同,但会将受害者重定向到真正的登录页面 https://portal.korea.ac.kr/mail/。

延世大学

延世大学的登录页面采用与同德大学几乎相同的方法,并使用 AJAX 将凭证传输至 login.php。

图片:合法的延世大学登录页面(上)和 Kimsuky 恶意登录页面(下)显示出明显的相似性。

图片:修改后的延世大学登录页面 HTML 代码截图

接收 urlencoded 用户名、密码和计数的 login.php 文件与 Dongduk 钓鱼页面上的 j_spring_securty_check.php 文件完全相同,但是会将受害者重定向到真正的登录页面https://mail.yonsei.ac.kr/。

Naver

此外,Kimsuky 的网络钓鱼网站上还有一个非针对特定目标的网络钓鱼工具包,用于收集 Naver 帐户。该工具包是一个类似于 Evilginx 的基本代理,用于窃取访问者的 cookie 和凭据,并显示弹出窗口,告知用户他们需要重新登录,因为与服务器的通信已中断。

图片:Kimsuky 恶意弹出窗口的屏幕截图,提示用户由于服务器通信错误而重新登录

在弹出窗口中单击"确定"后,受害者将被重定向到虚假的 Naver 登录页面。

图片:Kimsuky 恶意 Naver 登录页面截图

发送邮件

为了让目标访问这些钓鱼网站,Kimsuky 上传了一个使用 GreenDinosaur 的自定义 PHPMailer 实现,简称为"SendMail"。在我们观察到的活动中,这个 PHPMailer 利用首尔国立大学教授的受感染电子邮件帐户访问托管在韩国的 CRM 应用程序 Dooray 的 SMTP 服务器。在 SendMail 中,多个 gmail 和 daum 帐户也被用作源地址。在操作员编写的注释文本文件中,列出了几个 gmail 和 daum 帐户及其密码、恢复电子邮件和 2fa 备份代码。这些电子邮件帐户用于向同德大学、高丽大学、延世大学和其他目标的员工发送钓鱼电子邮件。注释中的链接还指向"发送"工具在某个时间点托管在"http://penlu[.]or[.]kr/data/view[.]php"。我们发现的所有电子邮件帐户都有相同的密码"1qaz2wsx#EDC$RFV"和相同的恢复电子邮件:"nasndaoop@gmail[.]com"。

钓鱼账户

nahoiu95@gmail[.]com

nolpoaw@daum[.]net

nasaioy0@gmail[.]com

nboipw@daum[.]net

nkodfgl@gmail[.]com

naokilw@daum[.]net

nsmnop99@gmail[.]com

nabsoiu @daum[.]net

nanmskeo@gmail[.]com

nmakope@daum[.]net

nasndaoop@gmail[.]com

aaa@naver[.]com

no-reply@sisileae[.]com

我们获得的 SendMail 配置预加载了多个以 Naver 为主题的钓鱼邮件,主题为"네이버 아이디 탈퇴가 완료되었습니다"(翻译:Naver ID 已成功删除)和"[네이버]메일 송수신 기능 제한 알림。"(翻译:发送和接收 Naver 邮件存在限制。)这些钓鱼邮件和其他钓鱼邮件链接回众多钓鱼网站。

图片:Kimsuky 的 SendMail 工具的屏幕截图

相关推荐
BingoGo19 小时前
当你的 PHP 应用的 API 没有限流时会发生什么?
后端·php
JaguarJack20 小时前
当你的 PHP 应用的 API 没有限流时会发生什么?
后端·php·服务端
BingoGo2 天前
OpenSwoole 26.2.0 发布:支持 PHP 8.5、io_uring 后端及协程调试改进
后端·php
JaguarJack2 天前
OpenSwoole 26.2.0 发布:支持 PHP 8.5、io_uring 后端及协程调试改进
后端·php·服务端
JaguarJack3 天前
推荐 PHP 属性(Attributes) 简洁读取 API 扩展包
后端·php·服务端
BingoGo3 天前
推荐 PHP 属性(Attributes) 简洁读取 API 扩展包
php
JaguarJack4 天前
告别 Laravel 缓慢的 Blade!Livewire Blaze 来了,为你的 Laravel 性能提速
后端·php·laravel
郑州光合科技余经理4 天前
代码展示:PHP搭建海外版外卖系统源码解析
java·开发语言·前端·后端·系统架构·uni-app·php
DianSan_ERP4 天前
电商API接口全链路监控:构建坚不可摧的线上运维防线
大数据·运维·网络·人工智能·git·servlet
feifeigo1234 天前
matlab画图工具
开发语言·matlab