Mandiant托管防御服务产品以主动威胁搜寻计划而被人们所熟知,旨在保护客户免受绕过传统检测机制的高级威胁参与者工具、策略和技术的侵害。2022年7月,在一家媒体行业公司的主动威胁搜寻工作中,MandiantManagedDefense揪出了被UNC4034组织所利用的新一轮网络钓鱼活动。 (来自:MandiantBlog) Mandiant认为UNC4034与朝方的几个组织有重叠,其通过WhatsApp即时通讯服务与受害者建立了联系,并引诱其下载恶意ISO包。 然而MandiantIntelligence:StagingDirectories检查发现(通过搜索写入常用目录的异常文件),其明面上有提到虚假的工作机会、但实质上是利用PuTTY来部署AIRDRY。V2木马后门。 官方原版恶意修改版PuTTY的数字签名对比 PuTTY是一款开源的SSH与Telnet客户端,最初线索显示器下载了名为amazonassessment。iso的档案文件。 而从Windows10开始,系统已能够通过双击自动加载虚拟光驱。与RAR等其它格式相比,这减少了查看嵌入文件所需的工作量。 通过MandiantManagedDefense对主机展开深入调查,可知UNC4034通过电子邮件向受害者忽悠可提供在亚马逊工作的机会而建立联系。 随后该组织会利用WhatsApp与之通信并传送amazonassessment。iso文件,且里面有个可执行文件(PuTTY。exe)和一个文本文件(Readme。txt)。 原版PuTTY恶意样本中的。data部分 随着恶意PuTTY在目标主机上被执行,受害者的机器也被植入了后门,Mandiant识别其为AirDry的一个变种。 尽管MandiantManagedDefense早在7月5日就调查到了入侵,并在潜在的后门部署前控制住了主机。 但更早的6月27日,VirusTotal就已经发现了同名的PuTTY可执行文件。 此外Mandiant发现了第二个名为amazontest。iso的ISO存档,可知其于6月17日被VirusTotal数据库给收录。 类似构造的恶意软件,最终都是为了加载AirDry。V2后门这个有效载荷。钓鱼手段方面,攻击者加装自己是亚马逊的招聘评估人员。 通过分析ISO镜像中的文件,可知两者带有相同的木马化PuTTY可执行文件、以及位于自述文件中的服务器端IP地址。 每个样本中包含的恶意代码,会将嵌入式有效载荷写入磁盘并启动,但不同样本还可能将木马插入到代码中的不同位置。 比如VirusTotal检出的样本,就看到了被插入ssh2userauthprocessqueue函数中的恶意代码(源文件在putty0。77sshuserauth2client。c)。 执行恶意样本时的PuTTY图形界面 与公钥或键盘交互等其它验证方法不同的是,该代码位于负责执行密码验证的函数部分。一旦用户建立连接并输入他们的账密,恶意代码就会被执行,而无论身份验证的结果到底如何。 此外两个样本中丢弃和执行有效负载的恶意代码部分几乎相同: 合法的Windows可执行文件C:WindowsSystem32colorcpl。exe被复制到了C:ProgrAMDataPackageColor这个新目录。 嵌入的有效负载则被写入了C:ProgramDataPackageColorcolorui。dll,期间可观察到如上图所示的劫持与命令启动。 接下来被执行的colorcpl。exe二进制文件则来自C:WindowsSystem32cmd。execstartbC:ProgramDataPackageColorcolorcpl。exe0CE1241A44557AA438F27BC6D4ACA246。 不过在VirusTotal的示例中,cmd。exe并未用于启动colorcpl。exe因为WindowsAPI函数WinExec会执行上述命令。 两种情况下,传递过来的colorcpl。exe命令行参数,都与Windows可执行文件的合法功能无关。相反,每个参数都被恶意的动态链接库所使用。 先是通过schtasks。exe为C:ProgramDataPackageColorcolorcpl。exe建立持久性,然后借助名为PackageColor的计划任务,在每天上午10:30执行该二进制文件。 至于colorui。dll样本,检测发现它是由商业软件保护程序Themida打包的。 解压后的样本,包含了揭示其用途(ShellCodeLoader)的嵌入式文件路径 W:DevelopaToolShellCodeLoaderApplibressl2。6。5cryptocryptlib。c 两个样本都包含了一个名单DAVESHELL的相同shellcode有效负载。 然后使用基于XOR的自定义算法和动态生成的密钥对有效负载进行解密可得如上图所示的字符串。 Mandiant指出,包含的该密钥,也可作为一种反分析机制若缺少正确的密钥,则执行DLL时不会触发任何重要的操作。