menu arrow_back 湛蓝安全空间 |狂野湛蓝,暴躁每天 chevron_right ... chevron_right 007-papers chevron_right 062-深入剖析某国外组织针对中国企业的APT攻击(CVE-2015-8651).md
  • home 首页
  • brightness_4 暗黑模式
  • cloud
    xLIYhHS7e34ez7Ma
    cloud
    湛蓝安全
    code
    Github
    062-深入剖析某国外组织针对中国企业的APT攻击(CVE-2015-8651).md
    9.8 KB / 2021-07-17 00:01:36
        # 深入剖析某国外组织针对中国企业的APT攻击(CVE-2015-8651)
    
    2015年12月31日,微步在线对一起利用Flash零日漏洞的APT攻击做了分析和预警,并通过溯源分析确定了其幕后的黑客组织为“DarkHotel”。此后,通过我们的持续监控跟踪,发现DarkHotel的定向鱼叉式攻击依然在继续,主要目标为我国境内企业及其管理层人员,且有多起成功攻击案例。因此微步在线决定进一步披露攻击中所利用的手段和技术,并全面公开相应的威胁情报IOC(攻陷指标),与业界共同携手抵御来自境外势力的APT攻击。
    
    ![](http://drops.javaweb.org/uploads/images/e312665e95d9fe0a0545e18e18375e76a3a9f0d4.jpg)
    
    0x00 攻击概况
    =========
    
    * * *
    
    微步在线的监测数据和分析显示,此次DarkHotel发起的定向攻击从2015年11月起一直持续到现在,被攻击的国家地区包括:
    
    *   中国
    *   俄罗斯
    *   朝鲜
    
    ![](http://drops.javaweb.org/uploads/images/17971ff6a92f35498c63aa4527d5012b8147a3f0.jpg)
    
    同时,我们注意到这个境外组织对中国存在异乎寻常的兴趣和关注,可以认为中国是它主要的攻击目标之一,除本次行动外:
    
    *   2014年卡巴斯基发现该组织利用Flash 0day(CVE-2014-0497)对中国境内的3个163.com邮箱用户进行定向攻击;
    *   在之前的攻击中,该组织使用了163pics.net、163services.com作为C2C域名,此次又使用manage-163-account.com的C2C域名,这说明攻击者对中国有一定了解并且尝试在特殊环境下进行结合社会工程学进行鱼叉式攻击。
    
    0x01攻击渠道
    ========
    
    * * *
    
    此次攻击的渠道是通过鱼叉式钓鱼邮件定向发给被攻击对象。整体流程如下图:
    
    ![](http://drops.javaweb.org/uploads/images/5ce2d872784ff33288772d065b484ba01358c116.jpg)
    
    邮件附件的word 文档中内嵌恶意的SWF 链接,该SWF exploit文件的metadata如下。根据其metadata推测,此攻击文件生成于2015年11月25日:
    
    ![](http://drops.javaweb.org/uploads/images/bf2c3f5ffd5d78ad4952711338acc0f6944b4040.jpg)
    
    点击恶意的SWF链接将触发整数溢出漏洞,该漏洞正是12月28日被Adobe修复的CVE-2015-8651,利用成功后跳转到下面这段shellcode:
    
    ![](http://drops.javaweb.org/uploads/images/0a5e928e892882cc8fb5f9c4f45f8b45c2ebfdb0.jpg)
    
    shellcode 被执行后将下载的恶意木马updata.exe保存在被感染系统的%temp%路径下, RC4解密后,再利用Windows自带的echo命令添加可执行文件的“MZ”头来构建有效的PE文件, 然后updata.exe通过调用mshta.exe 进一步下载并执行恶意代码,盗取系统的信息。
    
    ![](http://drops.javaweb.org/uploads/images/a90a5848b2820c91d67d69386abbc61b0727fc1f.jpg)
    
    截止到1月13日,部分样本已经可以被少部分安全厂商查杀
    
    ![](http://drops.javaweb.org/uploads/images/a00193081b56a2082332b06522193937dbb0bfa7.jpg)
    
    0x02 updata.exe简析
    =================
    
    * * *
    
    updata.exe是一个PE文件,编译时间为 2014年4月24日 04:38:20,具有完整的文件属性,看上去是生成SSH密钥的一个工具:
    
    ![](http://drops.javaweb.org/uploads/images/f679306e2abedfe9a7942a3d8cee1dbed0791b26.jpg)
    
    通过逆向分析其汇编码,可以看到有许多编译留下的源文件路径:
    
    ![](http://drops.javaweb.org/uploads/images/a7b7c3816992a8634cf3c0ca6f24cf146aa3ca6f.jpg)
    
    我们初步判断,这是一个被恶意篡改的开源工具,篡改后程序仅提供一个参数:-genkeypair。无论是否传递此参数,updata.exe都会释放一个公钥在当前目录用于干扰判断。释放公钥后便进入了真正的恶意代码。此样本未进行代码混淆,但采用了多种反调试/反虚拟机技术及字段加密,动态解密部分我们后面的“在反逆向跟踪分析”一节详细描述。
    
    0x03 C2C
    ========
    
    * * *
    
    updata.exe 是一个Trojan Downloader,利用执行mshta.exe 从以下C2C下载文件。遗憾的是我们没有获取到更多的payload数据。
    
    ![](http://drops.javaweb.org/uploads/images/a262f64de2a2a148bfeb3a9ba57ac81c751abcac.jpg)
    
    通过VirusBook的威胁分析平台,我们可以看到攻击者使用的Manage-163-account.com域名注册于2015年9月30日, IP解析为82.221.129.16. 服务器位于冰岛。
    
    域名威胁情报分析:
    
    ![](http://drops.javaweb.org/uploads/images/b5f4b7b79891c8cdce975339c23848dfb2ad9088.jpg)
    
    域名IP变化:
    
    ![](http://drops.javaweb.org/uploads/images/7f5c6eedd0fca26f0a49a73baf56da4965e2d5c1.jpg)
    
    Whois信息变化:
    
    ![](http://drops.javaweb.org/uploads/images/b9457eca4a06ebfd95a6a4cc070fb1e541eef30e.jpg)
    
    可视化分析:
    
    ![](http://drops.javaweb.org/uploads/images/95b224a692c04b785fd1352f1223679bbd862bad.jpg)
    
    0x04 反逆向跟踪分析
    ============
    
    * * *
    
    updata.exe并没有进行代码混淆和加壳。木马对其所有的字段都进行了加密处理。目的是为了反检测,增加逆向分析的难度。同时它还采用了动态解密,对解密内存重置,目的也是为了起到反内存跟踪分析,增加逆向分析难度。
    
    让我们来看一个具体实例:
    
    ![](http://drops.javaweb.org/uploads/images/e360b42aff13ad599859b157959e3ce5cf4ce764.jpg)
    
    m_CreateFileA的所有参数均为Decryption函数动态解密生成,而API函数CreateFileA的调用也是通过在一个加密函数表中查找并解密后调用。
    
    ![](http://drops.javaweb.org/uploads/images/409a0e30511a05a461465d0b69593ca49c6b8993.jpg)
    
    ![](http://drops.javaweb.org/uploads/images/ad0dfd76b76481ea1319f5ec7a7694cc8baa6e73.jpg)
    
    gEncWinDlls与gEncApis两张表中的加密字符串被传递给Decryption函数进行解密,最后动态解密的字符串会通过DynMem_Erase函数重置,这样做起到了反内存dump截取的分析。
    
    ![](http://drops.javaweb.org/uploads/images/2932d02fbe04edd37bac08a31656b75879093775.jpg)
    
    ![](http://drops.javaweb.org/uploads/images/5e3323b1148cf33e22b7777a4ca020a99907719d.jpg)
    
    DynMem_Erase 用来重置解密后的内存
    
    ![](http://drops.javaweb.org/uploads/images/946a8357f6fdf19b18943b78e16a1e4fafbc54cb.jpg)
    
    0x05 反沙箱及反检测技术
    ==============
    
    * * *
    
    updata.exe也用到了很多反沙箱技术,通过检测各种系统环境来判断是否有沙箱存在,比如: 查找是否运行模块存在如下路径:
    
    ![](http://drops.javaweb.org/uploads/images/080baf30e977cd62c91bbd0694100a8e9a4dbe2a.jpg)
    
    查找是否运行进程包括如下关键字:
    
    ![](http://drops.javaweb.org/uploads/images/492f858a27b994bbe5d8092e13299625db067c17.jpg)
    
    查找是否当前进程导出表中所有模块存在以下函数:
    
    ![](http://drops.javaweb.org/uploads/images/6ec0ef2c125a340098d4fcd318e728ad4594a672.jpg)
    
    查找是否当前系统用户名包含以下关键字:
    
    ![](http://drops.javaweb.org/uploads/images/25eddf7dd592e06d4e861f4fed6996f4a5a6ff58.jpg)
    
    查找是否系统中有如下进程关键字:
    
    ![](http://drops.javaweb.org/uploads/images/2a733b8ea16d92d8682cdcd9ae39b72da9dc6169.jpg)
    
    0x06 攻击组织的“黑客画像”
    ================
    
    * * *
    
    随着对此攻击事件的目标、工具、手法和过程更详细的分析,我们发现其特点和Darkhotel团伙惊人的一致。  
    Darkhotel APT攻击团伙的踪迹最早可以追溯到2007年,其从2010年开始更多的利用企业高管在商业旅行中访问酒店网络的时机,进行APT攻击来窃取信息。因此在2014年卡巴斯基发布针对此团队的研究报告时,将其命名为“Darkhotel”。此团伙攻击目标集中在亚太地区开展业务和投资的企业高管(如:CEO、SVP、高管及高级研发人员),攻击的行业包括大型电子制造和通信、投资、国防工业、汽车等。但从2014年开始,该组织更多的利用鱼叉式攻击。
    
    此团队拥有充沛的资源,多次使用零日漏洞(特别是Flash类型)来进行攻击,并规避最新的防御措施,同时也会盗窃合法的数字证书为后门软件及监听工具进行签名。如果有一个目标已经被有效感染,往往就会从作案点删除他们的工具,进而隐藏自己的活动踪迹。从其行动特点看,具有极高的技术能力及充沛的资源。  
    我们对此次事件和暗黑客栈(Darkhotel)的特点进行了对比,认为有充足理由认定其就是始作俑者。
    
    ![](http://drops.javaweb.org/uploads/images/d38867442677bb1d0a709d544d5804299e6da950.jpg)
    
    0x07 小结
    =======
    
    * * *
    
    综合微步在线掌握的情报线索及合作伙伴数据,我们可以肯定Darkhotel这个存在了至少9年的网络犯罪组织,具备丰富的技术、资金及人力资源(2010-2014年之间善于利用酒店网络进行攻击,但从2014年开始,更多的使用Flash 0day进行鱼叉式攻击),目标集中针对亚洲特别是中国的企业,手法灵活多变且注重反检测对抗,可以发起多种传统检测技术难以检测的攻击。因此需要国内企业及安全同行引起足够的重视。我们建议大家使用附录中功能提供的IOC数据,对其活动进行检测及历史追溯,以尽早消除风险、保护企业的关键业务和信息。
    
    0x08 致谢
    =======
    
    * * *
    
    感谢VirusBook合作伙伴安天、百度杀毒、腾讯电脑管家、360杀毒、瑞星、金山、云堤、微软、趋势、卡巴斯基、小红伞、AVG、Dr.Web、火绒、IKARUS、Sophos、ClamAV、Avast!、Panda、Gdata、ESET等
    
    附录:IOC
    ======
    
    一、 利用CVE-2015-8651漏洞的SWF文件 (MD5):
    ---------------------------------
    
    *   f74b90e77f38a06ff3f48d6de182a45a
    *   06d9330a56373d4bc4f57e28b8827ed5
    
    二、 SWF下载的木马文件(MD5):
    -------------------
    
    *   5f4c355c95927c5712e9deacd31a2fa8
    *   abda7ced5fddf2339d076d62a6b91d4e
    *   d8a06811385e0fd463f215a43b366169
    *   3acdef50a42d038de579f5ced74eb97f
    *   a5ec201b518ce52c50cd8175ad79d5ea
    *   eac466fb9be8f98c29bfe513949f2ab5
    *   d0399ca4c86909bc03ccf470534264c5
    
    三、 C2C 域名:
    ----------
    
    *   manage-163-account.com
    
    links
    file_download