来自蒙古CA MonPass的后门客户端
引言
我们发现了一个从蒙古主要认证机构CAMonPass 官方网站下载的安装程式,该安装程式被植入了 Cobalt Strike 的后门程式。2021年4月22日,我们立即通知了MonPass我们的发现,并建议他们解决其受损的伺服器问题,并通知下载了后门客户端的用户。
我们已经确认MonPass已采取措施解决这些问题,并现在呈现我们的分析结果。
我们的分析从2021年4月开始,显示MonPass托管的公共网页伺服器可能遭到入侵八次:我们发现了这个伺服器上有八个不同的Web Shell和后门。我们还发现,2021年2月8日到2021年3月3日之间可供下载的MonPass客户端也被植入了后门。
这项研究提供了对我们在野外发现的相关后门安装程式及其他样本的分析。在调查过程中,我们还观察到了NTT Ltd的相关研究,因此某些技术细节或IoCs可能会重叠。
所有样本高度相似,并共享相同的pdb路径:
CUserstestDesktopfishmasterx64Releasefishmasterpdb 和字符串:Bidenhappyhappyhappy。
图1:Pdb路径和特定字符串
技术细节
这个恶意安装程式是一个未签名的PE文件。它首先从MonPass官方网站下载合法版本的安装程式。这个合法版本被放置到 CUsersPublic 目录并在一个新的进程下执行。这样可以保证安装程式的行为符合预期,普通用户不太可能察觉到任何可疑的情况。
在野外也发现了其他相似的安装程式,它们的SHA256哈希为:e2596f015378234d9308549f08bcdca8eadbf69e488355cddc9c2425f77b7535和f21a9c69bfca6f0633ba1e669e5cf86bd8fc55b2529cd9b064ff9e2e129525e8。
图2:这张图片看起来没有那么无辜。
攻击者决定使用隐写术将shellcode传递给受害者。执行后,恶意软件会从http//downloadgoogleimages[]ml8880/download/37bmp 下载一个位图图像文件,如图2所示。
这个下载过程略显不寻常,分为两个HTTP请求。第一个请求使用HEAD方法以检索ContentLength,然后发送第二个GET请求来实际下载图像。在下载图片后,恶意软件提取加密的有效负载,具体过程如下:隐藏数据预期可以达到0x76C字节。从图像数据的第三个字节开始,它复制每第四个字节。最终得到的数据表示一个ASCII字符串的十六进制字符,然后这些字符被解码成相应的二进制值。这些字节然后使用硬编码键miatmg进行XOR解密,最终生成CobaltStrike的信标。
我们发现了多个版本的这个后门安装程式,每个安装程式中都有略微不同的解密器。
在版本f21a9c69bfca6f0633ba1e669e5cf86bd8fc55b2529cd9b064ff9e2e129525e8中,XOR解密功能被移除。
在版本e2596f015378234d9308549f08bcdca8eadbf69e488355cddc9c2425f77b7535中,基本的反分析技巧被去除。在图3中,你可以看到不同的时间戳和相同的丰富标头。
图3:时间戳
图4:丰富标头。
在后门安装程式中,我们还观察到了一些基本的反分析技术,用以避免被检测到。具体而言,我们发现了使用GetSystemInfo函数检查处理器数量,使用GlobalMemoryStatusEx函数检查物理记忆体的数量,以及使用IOCTLDISKGETDRIVEGEOMETRY IOCTL调用检查磁碟容量。如果获得的任何值异常偏低,恶意软件会立即终止。
图5:恶意软件所使用的反分析技巧
图6:测试磁碟容量的反分析技术
其中一个样本9834945A07CF20A0BE1D70A8F7C2AA8A90E625FA86E744E539B5FE3676EF14A9使用了一种不同的已知技术执行shellcode。首先,它使用UuidFromStringAAPI从 UUID 列表中解码,然后使用EnumSystemLanguageGroupsA执行。
图7:从UUID列表中解码及执行shellcode。
在我们发现客户中有一个后门安装程式后,我们开始在VT和我们的用户基础中搜索其他样本,以确定是否还观察到了其他后门安装程式。在VT中我们发现了一些有趣的样本:
图8:VT命中
我们分析了样本,发现该样本与我们客户中发现的受感染安装程式非常相似。该样本包含使用相同的XOR解密的反分析技术,并且还包含与先前后门安装程式相似的C2伺服器地址hxxp//downloadgoogleimagesml8880/download/x37bmp。这个样本还包含指向链接hxxps//webpluscnhongkongs5faf81e0d937f14c9ddbe5a0osscnhongkongaliyuncs[]com/Silverlightinsexe的引用和档案路径 CuserspublicSilverlightinsexe;但是这些似乎并未被使用。样本名称也非常不寻常Browserplugin (8)exe我们推测这可能是演员上传的一个测试样本。
在VT中我们还看到另一个哈希4a43fa8a3305c2a17f6a383fb68f02515f589ba112c6e95f570ce421cc690910,同样以名为Browserpluginexe。根据VT,该样本是从hxxps//jquerycodeml/Download/BrowserPluginexe下载的。它从hxxp//37612052128880/dow/Ailipdf下载了一个名为Ailipdf的PDF。
图9:Ailipdf的内容。
随后它的功能类似于VT中之前提到的样本。这意味著它从hxxp//micsoftinus2086/dow/83bmp下载和解密Cobalt Strike信标。
在我们的资料库中,我们再次发现了类似的样本,但名称为Browserplugin (1)exe。该样本是从hxxp//37612052128880/download/Browerspluginexe下载的,我们在2021年2月4日见到了它。它不安装任何合法软件,只是显示一个消息框。它包含CampC地址hxxp//downloadgoogleimagesml8880/downloa/37bmp,注意:目录名称有一个打字错误:downloa。
受损的网路伺服器内容
在被入侵的网路伺服器上,您可以下载到后门安装程式,我们发现了两个执行档DNSexe456b69628caa3edf828f4ba987223812cbe5bbf91e6bbf167e21bef25de7c9d2和再次出现的Browserpluginexe5cebdb91c7fc3abac1248deea6ed6b87fde621d0d407923de7e1365ce13d6dbe。
DNSexe
它从CampC伺服器(hxxp//downloadgoogleimagesml8880/download/DNSsbat)下载bat文件,并将其保存在CuserspublicDNSbat。其中包含这个脚本:
图10:DNSbat脚本
在实例的第二部分,它包含与我们之前提到的后门安装程式相似的功能和相同的CampC伺服器地址。
Browserpluginexe
5cebdb91c7fc3abac1248deea6ed6b87fde621d0d407923de7e1365ce13d6dbe
这个样本与这一个4a43fa8a3305c2a17f6a383fb68f02515f589ba112c6e95f570ce421cc690910非常相似,相同的CampC伺服器地址,但它不下载任何额外的文档。
CampC伺服器分析
我们检查了恶意网路伺服器hxxps//jquerycodeml,从中下载了4A43FA8A3305C2A17F6A383FB68F02515F589BA112C6E95F570CE421CC690910的Browserpluginexe。这个恶意网路伺服器看起来与合法的https//codejquerycom/一模一样,唯一的区别在于证书。合法伺服器https//codejquerycom由Sectigo Limited签名,而恶意伺服器则由Cloudflare Inc签名。
图11:对比两个网站
结论
这篇博客文章概述了我们对MonPass客户端被植入 Cobalt Strike 后门的调查结果。
试用1小时加速器国外在我们的研究中,我们在VirusTotal上发现了除了受损的MonPass网路伺服器外的其他变种。
在我们对受损客户端和变种的分析中,我们表明了该恶意软件使用隐写术来解密Cobalt Strike信标。
目前,我们无法以合适的信心水准对这些攻击进行归因。然而,很明显攻击者明确意图通过入侵一个可靠来源来向蒙古用户散播恶意软件,在这种情况下,就是蒙古的一个CA。
最重要的是,任何在2021年2月8日至2021年3月3日之间下载了MonPass客户端的人应该采取措施找寻并移除该客户端及其安装的后门。
我特别感谢Jan Rubn对我这项研究的帮助。
沟通时间表:
2021年3月24日 发现后门安装程式2021年4月8日 透过MN CERT/CC与Monpass进行初步联系,提供调查结果。2021年4月20日 MonPass与Avast Threat Labs分享了感染的网页伺服器取证映像。2021年4月22日 Avast在与MonPass和MN CERT/CC的通话中提供了事件信息和取证映像的发现。2021年5月3日 Avast通过电子邮件与MonPass进行后续联系。未获得回应。2021年5月10日 Avast发送了额外的后续电子邮件。2021年6月4日 MonPass回复询问已于2021年4月22日提供的信息。2021年6月14日 Avast再次跟进MonPass,未获回应。2021年6月29日 向MonPass发送最后一封电子邮件,表明我们计划发布并将草稿发送给他们以供反馈。2021年6月29日 MonPass回复表示他们已解决问题并通知受影响的客户。2021年7月1日 发布博客。妥协指标 (IoC)
存储库: https//githubcom/avast/ioc/tree/master/MpIncidentSHA256列表: https//githubcom/avast/ioc/blob/master/MpIncident/samplessha256编译时间戳时间表:
日期和时间 (UTC) SHA2562021年2月3日 07171428e050d086e7d055764213ab95104a0e7319732c041f947207229ec7dfcd72c82021年2月26日 071623f21a9c69bfca6f0633ba1e669e5cf86bd8fc55b2529cd9b064ff9e2e129525e82021年3月1日 075604e2596f015378234d9308549f08bcdca8eadbf69e488355cddc9c2425f77b75352021年3月4日 022253456b69628caa3edf828f4ba987223812cbe5bbf91e6bbf167e21bef25de7c9d22021年3月12日 062525a7e9e2bec3ad283a9a0b130034e822c8b6dfd26dda855f883a3a4ff785514f972021年3月16日 0225405cebdb91c7fc3abac1248deea6ed6b87fde621d0d407923de7e1365ce13d6dbe2021年3月18日 064324379d5eef082825d71f199ab8b9b6107c764b7d77cf04c2af1adee67b356b5c7a2021年3月26日 0817299834945a07cf20a0be1d70a8f7c2aa8a90e625fa86e744e539b5fe3676ef14a92021年4月6日 0311404a43fa8a3305c2a17f6a383fb68f02515f589ba112c6e95f570ce421cc690910
标记为APT后门CA,CobaltStrike恶意软件
分享XFacebook