深度解析GoldenEyeDog APT组织最新攻击技术动向

  

深度解析GoldenEyeDog APT组织最新攻击技术动向

  ,最初是一个主要针对东南亚博彩和诈骗组织进行攻击的APT组织。近两年开始扩大攻击范围,以金融、互联网公司和高校为目标进行攻击。该组织常使用水坑和钓鱼网站伪装成正常软件的官方网站,在网站上面托管嵌入恶意代码的安装包,向用户主机植入木马进行攻击。

  未然实验室在威胁狩猎分析过程中发现GoldenEyeDog新的变种攻击方法,该组织新制作了伪装成FlyVPN和AnyDesk安装包的恶意软件,这两款恶意安装软件为实现更强的免杀能力和躲避安全研究人员样本狩猎,分别使用了新的攻击手法,主要体现在:

  使用双白加黑(白exe,黑dll)进程加载最终的恶意代码,躲避样本狩猎。

  这两个样本使用了多种新型的隐藏对抗技术,在GoldenEyeDog历史样本中未曾出现过。其伪造合法软件安装包的行为、恶意安装包连接的C2地址以及在攻击链中使用的winos后门与GoldenEyeDog组织历史的攻击行为有重叠,因此未然实验室将这两次攻击行为归因到GoldenEyeDog组织。

  无任何防护期:这是GoldenEyeDog组织发展的早期,恶意样本都以诱导性的文件名诱导受害者点击执行。例如 《xx彩票.cmd》,《xx资料.exe》。

  简单隐藏期:GoldenEyeDog对恶意代码进行了简单的隐藏。例如2020年投递的Telegram安装包,将恶意代码嵌入到NSIS安装脚本中,并且使用白加黑的方式隐藏恶意代码。有些样本还会把恶意代码隐藏到注册表中,只有动态运行的时候才会加载恶意代码。再例如2022年,GoldenEyeDog组织使用了aspack进行了简单的加壳。

  组合多种方式隐藏期:2024年之后,GoldenEyeDog对样本进行了更加复杂和精巧的隐藏。例如其伪造的快连VPN安装包,使用了三个方式递进隐藏恶意代码。

  嵌入了有密码的压缩包到PE文件中,这样即使安全防护软件发现了压缩包,也无法分析压缩包是否包含恶意代码。

  压缩包里的恶意代码被分割成两个文件,只有动态运行的时候才会把两个文件组合成一个,进行加载执行,这样每个文件静态看起来都是无害的。

  攻击最后一个阶段的恶意代码被加密和压缩保存到LP.txt文件中,也可以有效对抗安全防护软件。

  样本起始于水坑网站的MSI安装包,当目标群体安装伪装的FlyVPN安装包之后,会被创建恶意的系统服务,系统服务主体是白文件,具有合法的数字签名,但其依赖的DLL是作者精心制作的恶意DLL,执行时会创建一个新的进程,通过白+黑的方式加载最终的shellcode,shellcode是魔改加壳的PlugX木马,整个流程如下。

  水坑网站,网站的首页就是下载地址,并且该页面和原版的FlyVPN网站的排版基本是相同的。点击下载按钮之后就会获得一个zip包,对其解压之后是一个msi文件。

  该msi文件的时间戳为2024年5月份,伪装成FlyVPN的安装包。MSI文件中包含很多文件,其中最大的FlyVPN.exe是正规的安装包。里面还包含其他的exe和dll文件。

  其中的AcroRd32.exe是Adobe Reader的白文件,AcroRd32.dll虽然后缀名是dll,但并不是PE文件,而是一堆乱码。该MSI文件还包含了好几个dat数据文件,这几个dat文件实际上是加密的载荷,后面会进行详细的分析。

  从msi文件中可以看到该msi文件会添加系统服务,执行的程序是wwstsvc.exe。

  第一阶段的恶意代码在WWStartupCtrl64.dll中,其会使用RC4加密算法解密,解密密钥固定。

  解密完成之后调用VirtualAlloc申请可读可写可执行内存,然后复制解密后的内容到新申请的空间,并从PE文件的开头开始执行。

  对解压之后的PE文件进行分析,可以看到这个PE文件被加了未知的壳,该PE文件与正常的PE文件相比新增了一个很大的text0段,并且这个段里面有很多一小段汇编后面跟着很长的随机数字数组,并且这一小段代码也构不成一个函数。有点像PECompact和ASProtect壳的特征,但是使用PEID等工具并不能发现其具体是使用了哪个壳。

  由于壳是未知的,无法脱壳之后再分析。从字符串的角度进行分析,该恶意代码十分像PlugX恶意软件。例如bootProc和PIPE\\RUN_AS_USER(%d)都是PlugX恶意软件的特征。这里判断GoldenEyeDog使用了泄漏的PlugX源码进行改造作为新的RAT。

  实验室捕获的另外一个样本(伪装AnyDesk安装包)使用了Donut加载器加载shellcode。该样本为携带有恶意程序并具备正常软件功能的AnyDesk程序安装包,在安装过程中执行恶意模块,除了AnyDesk安装程序外,另释放并启动白加黑程序和攻击载荷最终连接C2。可以看到GoldenEyeDog组织与时俱进,不断更新自己的攻击手法,避免杀软查杀。

  经分析该样本最终载荷使用了donut加载的winos远控工具。该攻击链路和伪装FlyVPN的攻击链基本相同,不同的地方有两点:

  伪装的AnyDesk样本使用了启动项来进行持久化,伪装的FlyVPN样本则使用的是系统服务。

  伪装的AnyDesk样本使用的了Donut生成的winos后门木马,伪装的FlyVPN样本则使用的是魔改加壳的PlugX木马。

  攻击起始于水坑网站,域名为any[.]goprlhw[.]top。该域名被GoldenEyeDog组织经过专门的SEO优化,使得目标人群可以轻松的搜索到该网站。

  安装包的MSI文件有一个指令是调用Anuxhs.dll的whoss导出函数。

  whoss函数的主要作用是解压all.apk,然后执行down.exe可执行程序。

  恶意软件会把恶意payload放到%HOME%/随机UUID目录下,主要包含如下文件。

  steam_api64.dll首先会判断命令行参数是否包含/aut参数,如果没有就会创建一个子进程,包含该参数。子进程的目的是加载shellcode实现持久化,后面会详细分析。

  然后判断有没有安装某杀软,如果安装了,那么就会直接读取view.png中的shellcode,然后覆盖主程序(down.exe)中的入口函数,最后执行shellcode。

  如果命令行包含/aut参数(这里是前面提到的子进程),那么就会从aut.png中读取shellcode,和view.png类似的流程,直接覆盖主程序的入口函数,然后执行shellcode。对aut.png中的shellcode展开后的PE文件进行分析,可以看到pdb的信息还保留着。

  然后创建两个开机自启动项。其中一个直接指向down.exe,另外一个指向快捷方式,并且名称都为GoogleUpdata_Service,用来迷惑受害者。

  view.png中的shellcode是donut生成的,原生的攻击载荷为exe文件,使用aplib算法压缩,并使用了随机的密钥用chaskey加密算法加密。

  使用脚本对该shellcode解密解压之后写入到donut_dec文件,可以看到是一个正常的exe文件。

  逆向donut_dec可以看到该木马内置的C2配置格式和基于Gh0st源码改编的winos远控木马配置格式一致。

  winos木马功能齐全,包含上线模块和功能模块,其中上线模块负责维持后门,接收命令并加载运行下发的功能模块。功能模块包含:注册表检索、服务管理、屏幕截取、键盘记录、文件管理等。

  GoldenEyeDog组织在以往的攻击中,经常利用常用的软件进行伪装,捆绑恶意代码进行攻击,例如伪装Telegram、快连VPN,并部署到水坑网站上,最终通过优化搜索引擎排名,诱使用户下载安装。本次捕获伪装的FlyVPN样本与伪装的AnyDesk样本同样来源水坑网站,与GoldenEyeDog历史技战法存在较大重叠。

  在C2基础设施方面,伪装的FlyVPN样本中的C2地址可以关联到以往GoldenEyeDog组织使用的C2服务器,更加证实了该样本是出自GoldenEyeDog组织。

  在使用的载荷方面,在利用伪装的AnyDesk攻击链中,使用的gh0st相关载荷几乎贯穿了该组织近年来被披露的所有攻击活动中,综上,我们有理由怀疑这两次发现的恶意软件系GoldenEyeDog组织所部署。返回搜狐,查看更多