今天小编分享的互联网经验:威胁团伙利用TeamCity CVE-2023-42793漏洞展开攻击,欢迎阅读。
自 2023 年 10 月初以来,微软已经观察到两个由朝鲜政府撑腰的威胁组织:Diamond Sleet 和 Onyx Sleet,他们利用 CVE-2023-42793 漏洞影响 JetBrains TeamCity 伺服器多个版本。TeamCity 作为一款持续集成 / 持续部署(CI/CD)应用軟體,被众多组织用于 DevOps 及其他軟體开发活动。
在过去的行动中,Diamond Sleet 及朝鲜的其他威胁组织通过渗入到軟體构建环境中,成功地实施了軟體供应链攻击。有鉴于此,微软认为该活动对已受影响的组织构成了极大风险。目前,JetBrains 已发布了更新版来解决这个漏洞,并为无法更新到最新軟體版本的用户提供了缓解措施。
虽然这两个威胁组织都利用同一个漏洞,但微软观察到 Diamond Sleet 和 Onyx Sleet 在成功渗入后都各自利用了一系列独特的工具和技术。基于受这些入侵影响的受害者组织情况,微软认为威胁组织可能在伺机闯入易受攻击的伺服器。
这两个组织都部署了恶意軟體和工具,并利用了可以持久访问受害者环境的技术。与以往观察到的政府撑腰的攻击活动一样,微软直接通知了已成为攻击目标或受到威胁的客户,并向他们提供保护其环境所需的信息。
Diamond Sleet 和 Onyx Sleet 是何方神圣?
Diamond Sleet(ZINC)是朝鲜政府撑腰的威胁组织,主要从事间谍活动、窃取数据、牟取经济利益和破坏网络。这个组织通常以全球各地的媒体、IT 服务和国防相关实体为目标。微软在 2021 年 1 月报告了 Diamond Sleet 针对安全研究人员的攻击,该组织在 2022 年 9 月将开源軟體沦为武器化。2023 年 8 月,Diamond Sleet 侵入了一家德国軟體供应商的軟體供应链。
Onyx Sleet 是同样由朝鲜政府撑腰的威胁组织,主要针对韩国、美国和印度的国防和 IT 服务。Onyx Sleet 使用了自行开发的一套强大的工具对受害者环境实现持久访问,并且不被发现,该组织经常利用 N 日漏洞(N-day)获得对威胁目标的初始访问权限。
Diamond Sleet 攻击路径 1:部署 ForestTiger 后门
在成功入侵 TeamCity 伺服器之后,Diamond Sleet 利用 PowerShell 从之前被该威胁组织入侵的合法基础设施下载了两个攻击载荷。这两个攻击载荷 Forest64.exe 和 4800-84DC-063A6A41C5C 存储在 C:ProgramData 目录中。
启动后,Forest64.exe 检查是否存在一个名为 4800-84DC-063A6A41C5C 的檔案,然后使用 "uTYNkfKxHiZrx3KJ" 嵌入的静态分配密钥来读取和解密该檔案的内容:
c: ProgramData Forest64.exe uTYNkfKxHiZrx3KJ
值得关注的是,当恶意軟體被调用时,这个同样的值被指定为一个参数,但是在分析过程中没有看到它被利用。同样的值和配置名称还出现在卡巴斯基 Securelist 报告的这个名为 ForestTiger 的恶意軟體的历史活动中。
4800-84DC-063A6A41C5C 的解密内容是恶意軟體的配置檔案,其中含有其他参数,比如后门用于指挥和控制(C2)的基础设施。微软观察到 Diamond Sleet 使用了之前被该组织入侵的基础设施充当 C2。
微软观察到 Forest64.exe 随后创建了一个名为 Windows TeamCity 設定用户界面的计划任务,因此每次系统启动时它都会运行,使用上述引用的命令参数 "uTYNkfKxHiZrx3KJ"。微软还观察到 Diamond Sleet 利用 ForestTiger 后门通过 LSASS 内存转储凭据。Microsoft Defender Antivirus 将该恶意軟體检测为 ForestTiger。
图 1. Diamond Sleet 攻击链 1 使用 ForestTiger 后门
Diamond Sleet 攻击路径 2:部署用于 DLL 搜索顺序劫持攻击的攻击载荷
Diamond Sleet 利用受感染伺服器上的 PowerShell 从攻击者的基础设施下载一个恶意 DLL。然后,这个恶意 DLL 与合法的 .exe 檔案一起暂存在 C:ProgramData 中,以执行 DLL 搜索顺序劫持。微软观察到该组织结合使用了这些恶意 DLL 和合法的 EXE 檔案:
恶意 DLL 名称 | 合法二进制檔案名称 |
DSROLE.dll | wsmprovhost.exe |
Version.dll | clip.exe |
DSROLE.dll 攻击链
当 DSROLE.dll 由 wsmprovhost.exe 加载时,DLL 启动一个线程,该线程枚举并尝试处理与该 DLL 在同一个执行目录中的檔案。读取候选檔案的前四个字节,并表示要读取的剩余缓冲区的大小。一旦读回剩余的数据,字节将被反转,以显示暂存在内存中的可执行载荷。预期的 PE 檔案应该是特定导出名为 "StartAction" 的 DLL。该导出的地址已被解析,然后在内存中启动。
虽然 DSROLE.dll 的功能最终取决于它解混淆和启动的任何攻击载荷,但微软观察到该 DLL 被用于启动 wksprt.exe,该檔案与 C2 網域进行联系。Microsoft Defender Antivirus 使用家族名称 RollSling 检测 dslole .dll。
Version.dll 攻击链
由 clip.exe 加载时,Version.dll 加载并解密 readme.md 的内容,这是与 Version.dll 一起从攻击者攻陷的基础设施下载的檔案。檔案 readme.md 含有用作多字节 XOR 密钥的数据,用于解密嵌入在 Version.dll 中的位置无关代码(PIC)。这个 PIC 加载并启动最终阶段的远程访问木马(RAT)。
图 2. Readme.md 的组成,被 Version.dll 用作多字节 XOR 密钥
图 3. 运用 XOR 密钥暴露下一阶段的代码块
图 4. 从代码块中提炼出嵌入式 PE
一旦加载到内存中,第二阶段的可执行檔案将解密一个嵌入的配置檔案,该配置檔案含有恶意軟體用于指挥和控制的几个 URL。在恶意軟體向回调 URL 传达信号后不久,微软观察到一个单独的进程 iexpress.exe 已创建,并与其他 C2 網域进行联系。Microsoft Defender Antivirus 使用家族名称 FeedLoad 检测 Version.dll。
图 5. Diamond Sleet 攻击链 2 使用 DLL 搜索顺序劫持
在成功入侵后,微软观察到 Diamond Sleet 通过 LSASS 内存转储凭据。
在一些情况下,微软观察到 Diamond Sleet 入侵同时利用了攻击路径 1 和路径 2 的工具和技术。
Onyx Sleet 攻击路径:用户帐户创建、系统发现和载荷部署
在使用 TeamCity 漏洞成功侵入后,Onyx Sleet 在受攻击系统上创建了一个新的用户帐户。这个名为 krtbgt 的帐户很可能是为了冒充合法的 Windows 帐户名称 KRBTGT,即 Kerberos 票据授予票据。创建帐户后,该威胁组织通过 net use 将其添加到了本地管理员组:
net localgroup administrators krtbgt /add
威胁组织还在受感染系统上运行几个系统发现命令,包括如下:
net localgroup 'Remote Desktop Users ’
net localgroup Administrators
cmd.exe "/c tasklist | findstr Sec"
cmd.exe "/c whoami"
cmd.exe "/c netstat -nabp tcp"
cmd.exe "/c ipconfig /all"
cmd.exe "/c systeminfo"
接下来,威胁组织通过 PowerShell 从攻击者控制的基础设施下载一个独特的攻击载荷,从而将其部署到受感染的系统。微软观察到有独特攻击载荷的这些檔案路径:
• C:WindowsTemptemp.exe
• C:WindowsADFSbg inetmgr.exe
该攻击载荷在启动后加载并解密嵌入式 PE 资源。然后将这个解密的攻击载荷被加载到内存中并直接启动。内部攻击载荷是一个代理工具,可帮助在受攻击的主机和攻击者控制的基础设施之间建立持久连接。Microsoft Defender Antivirus 将该代理工具检测为 HazyLoad。
微软还观察到在这条攻击路径中利用了攻击后工具和技术:
•使用攻击者控制的 krtbgt 帐户通过远程桌面協定(RDP)登录到受感染的设备。
•停止 TeamCity 服务,可能是为了防止其他威胁团伙访问。
•通过 LSASS 内存转储凭据。
•部署工具来检索凭据及浏览器存储的其他数据。
图 6. Onyx Sleet 攻击链,用户帐户已创建
建议采取的缓解措施
微软建议采取以下缓解措施,以减小该威胁的影响。
•采用 JetBrains 发布的更新版或缓解措施以解决 CVE-2023-42793。
•使用文末所附的攻陷指标来调查它们是否存在于自己的环境中,并评估潜在的入侵。
•阻止来自 IOC 表中指定的 IP 地址的入站流量。
•使用 Microsoft Defender Antivirus 来防范该威胁。开启云交付的保护和自动样本提交。这些功能使用人工智能和机器学习来快速识别和阻止新的威胁和未知的威胁。
•立即采取行动,解决受影响设备上的恶意活动。如果恶意代码已经启动,攻击者很可能已经完全控制了设备。立即隔离系统,并执行凭据和令牌的重置。
•调查设备时间线,寻找使用其中一个受攻击帐户进行横向移动活动的迹象。检查攻击者可能投放实现凭据访问、横向移动及其他攻击活动的其他工具。
•确保 " 安全 DLL 搜索模式 " 已设定。
•打开减小攻击面的以下规则:
•阻止可执行檔案运行,除非它们符合流行程度、年限或受信任列表标准。
攻陷指标(IOC)
下表给出了我们在调查过程中观察到的 IOC。我们鼓励客户调查其环境中的这些指标,并实施检测和保护机制,以识别过去的相关活动,并防止系统遭到未来攻击。
相关表详见以下链接的末尾处:
https://www.microsoft.com/en-us/security/blog/2023/10/18/multiple-north-korean-threat-actors-exploiting-the-teamcity-cve-2023-42793-vulnerability/