«   2017年9月   »
123
45678910
11121314151617
18192021222324
252627282930
网站分类
搜索
最新留言
    文章归档
      友情链接
        当前位置:网站首页 / 黑客攻防实战入门 / 正文内容

        一双窥视安全人员的无形之眼-幽灵电子书深度剖析

        2017年08月04日 | 分类: | 395 浏览 | 0 评论

        infosec

        0×01 事件经过

        2016年2月26日,一个网络安全相关的QQ群内,一名用户分享了一份名为“网络安全宝典.chm”的电子书供大家下载,瑞星网络安全工程师Bfish自然地下载了这本电子书,打算简单翻阅后决定是否收藏。当Bfish打开这个才12K大小的电子书时,感知到了计算机的异常行为,这让他意识到:这本电子书有问题。

        在解开这份CHM文档后,瑞星网络安全工程师在一个html页面中找到了原因:这个电子书中的某个HTML页面内,嵌入了一段恶意代码,它可以下载一个PowerShell脚本并执行。顺藤摸瓜,Bfish最终确认了这是一个针对特定人群,以盗取用户帐号密码、文档资料为目的恶意攻击事件。这段CHM恶意代码如同幽灵一样被执行并作恶,故将此称之为幽灵电子书(ChmGhost)。

        0×02 主要危害

        通过电子书散播,攻击受众有很强的群体性,对特定人群发起攻击简直易如反掌,而且电子书“诱饵”更容易迷惑大众。

        目前看到的攻击代码,主要的危害为窃取用户隐私:Windows账户信息和密码、各类应用程序的密码、计算机基本信息、屏幕截图、网络配置和Wi-Fi信息、各类文档,造成用户敏感信息和资料泄漏。这些资料的泄漏伴随着商业机密泄漏的风险,后续或造成更大的损失。

        另外,攻击时所用的恶意代码,无论是二进制还是脚本,几乎都来自网络下载,攻击可以随时开启和关闭,攻击手法、攻击目的也都可以变化,这个“后门”的潜在危害也相当之大。

        2月26日发现的CHM的标题是网络安全相关的,并且在网络安全相关的QQ群内散播,表明攻击者的目标是网络安全从业和对网络安全感兴趣的、有一定计算机安全基础的群体,但就算如此,仅一天时间就已经有多名受害者,如果攻击者转到其他领域,受众群体应该会更没有感知能力,危害也将更大。

        0×03 攻击实施纵览

        image001.png

        0×04 详细技术分析

        首先,CHM中使用了一种古老的方法 — 利用Internet.HHCtrl对象来运行任意命令行。doc1.html中定义了一个Internet.HHCtrl对象,再通过后续脚本触发其Click事件,调用Internet.HHCtrl.Item2定义的命令行。

        image003.png

         完整命令行如下:

        image005.png

        命令行以隐藏方式启动PowerShell,并执行下载攻击者托管于Github上的攻击脚本——start.ps1。

        start.ps1首先向106.80.36.165发起一个HTTP请求,下载的内容为一段PowerShell脚本字符串,通过Invoke-Expression直接调用,脚本内容如下:

        image007.png

        根据脚本中指明的方法,对其中的BASE64编码串进行解码、解压缩,又获得一段PowerShell脚本,内容如下:

        image009.png

        按照脚本中指明的方法对BASE64串解码,获得一段二进制数据,为32位x86指令的shellcode。脚本在解码这段shellcode后,将其拷贝到通过VirtualAlloc分配的一块RWX(Protect为0×40)的内存中,并通过CreateThread创建一个线程来执行,如下:

        image011.pngimage012.png

        这段shellcode并没有经过任何加密处理,功能也非常简单:连接到指定的IP地址,获取一段新的shellcode,再次执行。虽然简单,但是这中动态执行来自网络代码的功能,危害却是相当之大,因为攻击者随时可以下发新的代码,完成新的攻击,并且没有痕迹可循。

        主流程如下表所示:

        641260.png

         接下来是 Mimikatz 2.0的实现部分,这部分代码占据了整个start.ps1文件的绝大多数内容。Mimikatz是一个抓取本机登录账户密码的神器,更多信息可以从项目主页https://github.com/gentilkiwi/mimikatz了解。

        image024.png

        接着便是调用 Mimikatz 的 Dumpcreds 来获取当前登陆用户的密码,如图所示:

        image026.png

         完成后生成的DumpPass.txt中的内容如下,截图来自真实受害者的数据:

        image028.png

        接着,收集当前用户桌面上的几类文档,根据扩展名判断,扩展名分别为:txt,doc,docx,xls,xlsx,早期版本中还有sql。非常明显,攻击者收集目标是重要的文档资料,这对受害者可能造成很大的损失。从2月26号抓取的上报邮箱中的资料来看,扩展名还不限于此(攻击者持续更新代码中)。

        image030.png

        接着,下载并执行一个名为GetPass.ps1的PS脚本,如下图所示:

        image032.png

        顾名思义,该脚本的目的,依然是收集密码。脚本执行后,下载两个文件,分别为Get.exe和Command.bat,然后执行Command.bat调用Get.exe,将获取的密码保存到用户目录下的D:\GetPass.txt中。

        image034.png

        其中,Get.exe为跨平台密码检索利器 —— LaZagne,可以去项目主页https://github.com/AlessandroZ/LaZagne 获取更多信息。LaZagne支持Windows和Linux平台下多种类型软件保存的密码获取,功能可谓相当之强大,具体支持列表如下:

        image036.png

         Command.bat则是多次启动Get.exe获取密码,并将结果保存至GetPass.txt,代码如下:

        QQ截图20160303095838.jpg


        可以看出,攻击者意图收集包括数据库、浏览器、电子邮件、源代码管理、WI-FI等在内的5大类账户密码。下图为来自真实受害者的GetPass.txt文件,其中包含了Chrome浏览器保存密码的站点和相应用户名、密码,第一条便是淘宝的用户名和密码,由此可以看出,后果是相当严重的。

        image039.png

        接下来,GetPass.ps1将GetPass.txt作为电子邮件附件,采用STMP协议发送至电子邮箱 xxxxxxxxxx@email.ctbu.edu.cn。该收件箱为某高校校园邮箱,登陆后跳转至QQ企业邮箱。

        image041.pngimage043.png

        最后,GetPass.ps1清理痕迹,至此执行完毕。

        start.ps1继续收集受害者计算机的各类基本信息。主要手法为通过调用WMI对象对系统的基本信息,硬件信息、用户信息、已安装的程序、用户文档以及网络信息进行收集,并将这些信息保存到一个名为ComputerInfo.html的 HTML文件中,代码如下:

        image045.png

        以下为一份来自真实受害者的ComputerInfo.html内容截图:

        image047.pngimage048.png

        在信息收集完毕后,该脚本会对当前计算机现实屏幕进行截屏。

        image050.png

        从真实受害者上报的数据来看,该功能是无效的,因为截屏的图片全部为黑色。

        然后再将之前产生的DumpPass.txt,收集的用户桌面上的文档文件、产生的计算机信息文件、屏幕截图等,打包成名为Report.zip的压缩包,并通过电子邮件发送至指定的邮箱。

        image052.png

        使用代码中留下的账号和密码登录邮箱后,我们发现有一定数量的受害者发送的邮件(登录于2016/2/27,15:29),邮箱内的邮件一段时间之后会被删除,27号登录时,26号晚的邮件已经被彻底删除。

        image054.png

        打开邮件并下载附件Report.zip,解压后可以看到以下文件和目录,这些文件和之前描述的脚本行为相吻合,例如,打开Doc目录后,可以看到收集自受害者桌面的几类文档,在25号抓取的多封邮件中,还不乏各类工作报告,甚至个人工资单。

        image056.pngimage057.pngimage058.png

        最后,start.ps1清理痕迹,主要功能执行完毕。

        通过分析可知,整个攻击中的核心功能,均为开源项目。攻击者编写了简单的整合脚本,将这些开源软件整合在一起,在云端部署了这些攻击代码,最终构建了这个攻击方案。

        0×05 写在最后

        首先希望攻击者尽快停止此次攻击,停止在社交圈内散播携带攻击代码的电子书,在云端移除相关的恶意软件,避免造成更大的危害。

        攻击者选择了特定兴趣/行业的社交圈和相关主题的电子书进行搭配,这无疑是一个非常具有诱骗性的“钓鱼”手段,被攻击人群很容易被感染。分析此次事件时,攻击人群定位于网络安全从业人士,虽然有一定的网络安全基础,但仍然有一定被感染数量。如果换成其他行业,情况可能会更加糟糕。

        另外,这次攻击事件中使用的恶意代码,全部来自于网络安全社区,制作成本非常低。

        再者,攻击者不仅收集了用户的账户和密码,还收集了大量的文档资料,这造成的危害,已经不是单纯的个人隐私数据的泄漏了,更可能涉及到受害者所在公司的商业信息的泄漏。

        最后,对于潜在的受害者,还是希望能安装必要的安全防护软件,建立良好的信息安全意识。在全面信息化的今天,信息安全知识应当如同养生一般,多多少少都懂点才好。

        恶意代码样本:https://github.com/begiilm/dy

        一双窥视安全人员的无形之眼幽灵电子书深度剖析

        上一篇:国外约炮网站AshleyMadison被黑,3700万用户敏感数据泄露 下一篇: WEB安全:User Agent注入攻击及防御

        额 本文暂时没人评论 来添加一个吧

        发表评论

        必填

        选填

        选填

        ◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。