freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

    CVE-2017-11882漏洞新利用:下载Pony木马窃取加密货币钱包文件
    2018-02-26 17:46:03
    所属地 广东省

    0×1 概述

    自去年11月14日微软公开并修复Office公式编辑器组件漏洞(CVE-2017-11882)以来,腾讯电脑管家通过严密监控利用该漏洞进行攻击的样本,捕获拦截了大量野外攻击样本。近期又新发现一例样本通过下载并运行已被公开源码的Pony木马,窃取用户比特币钱包文件等敏感信息。值得注意的是,该样本通过直接调用API下载运行木马,有别于此前利用恶意文档加载mstha、powershell或cmd等程序进而加载恶意木马。

    1.png

    (图1:木马攻击流程图)

    CVE-2017-11882存在于Office的公式编辑器组件Eqnedit.exe(Equation Editor)。EquationEditor生成的公式数据汇存放在Office文档的一个OLE对象中,漏洞发生在解析文档中构造的OLE对象时出现栈溢出。

    0x2 样本分析

    样本md5: 150E0C634BA6AC3B46705EFB5F1835F5

    1. doc文档分析

    样本文档中OLE 对象的属性被设置为自动更新,这导致点击打开文档后无需交互,恶意代码就可以执行。

    2.png

    图2:OLE Object属性)

    提取文档中嵌入的OLE对象,可以看到CLSID: 0002CE02-0000-0000-C000-000000000046的内容

    3.png

    图3:OLE对象CLSID)

    随后是栈溢出后要执行的代码片段

    4.png

    图4:OLE对象中包含的代码片段)

    代码片段中包含PE标识‘MZ’和‘PE’,是只有text段的PE结构

    5.png

    图5:OLE对象中的shellcode)

    代码片段中可以看到下载恶意文件的地址

    6.png

    图6:代码片段中木马下载地址)

    2. shellcode分析

    漏洞利用成功后跳转到shellcode代码(代码以MZER开头,与提取的OLE对象中看到的一致)

    7.png

    图7:shellcode入口)

    读取木马文件下载地址,准备下载木马

    8.png

    图8:读取木马文件下载地址)

    为了隐藏行为,不直接使用模块名,而是用字符的ASCII码组合出模块名Urlmon、shell32、kernel32

    9.png

    图9:ASCII编码拼接模块名)

    同时用字符的ASCII编码组合成函数名URLDloadToFileA、ntTerminateProcess、ShellExecuteA GetTempPathA 、LdrLoadDll,并获取函数在对应模块中的地址

    10.png

    图10:ASCII编码拼接函数名)

    获取到对应函数地址后,通过GetTempPathA获得Temp目录

    11.png

    图11:获得Temp目录)

    通过URLDownLoadToFileA下载木马到Temp目录

    12.png

    图12:URLDownLoadToFileA下载木马)

    13.png

    图13:URLDownLoadToFileA下载木马)

    最后通过ShellExecuteA执行下载的木马

    14.png

    (图14:通过ShellExecuteA执行下载的木马

    3. Pony木马分析

    下载的文件Str10.exe脱壳后是Pony木马,github上可以看到木马的开源信息。

    https://github.com/nyx0/Pony

    木马主要功能是窃取包括浏览器、邮箱、FTP以及30多种数字加密货币钱包在内的帐号密码,并发送到木马服务器,最后删除自身文件。

    150.png

    图15:窃取信息列表)

    木马有130多个功能函数,将收集的信息全部存储在CreateStreamOnHGlobal函数创建的stream对象中,存储内容时以“PWDFILE0 ”开头,加密后存储在 “PKDFILE0”开头的buffer,最后再将“PKDFILE0”开头的buffer以“Mesoamerica”为密钥再加密一次得到“CRYPTED0”开头的buffer,之后又进行了变形,最终将加密后的数据发送到木马服务器。

    16.png

    图16:While循环中call所有功能函数)

    17.png

    (图17:功能函数数组)

    从注册表获取所有安装的程序的路径及名称:

    18.png

    图18:获取安装程序路径及名称)

    19.png

    图19:读注册表获取far ftp插件的用户名和密码)

    20.png

    图20:读取windows commander插件下的ftp)

    21.png

    图21:获取bitcon的数据)

    22.png

    图22:获取其它加密货币相关的函数)

    23.png

    (图23:发包到木马服务器)

    木马删除自身文件:

    24.png

    图24:批处理程序删除自己)

    25.png

    图25:自删除批处理里的内容)

    0x3 总结

    Pony木马早在几年前就已有出现,本次攻击中不法分子利用Office漏洞执行Pony木马,用以窃取用户敏感帐号数据,推测除加密货币的价格走高外,该漏洞利用代码简单并且稳定也是一大诱因。广大用户应及时使用腾讯电脑管家等安全软件更新系统补丁,以防御漏洞攻击。

    附录:IOC

    1. C2

    http://185.165.29.114/street/1/gate.php

    2. md5

    150e0c634ba6ac3b46705efb5f1835f5

    CD95D9909335E0E6B43678C83F6F6504

    d558d0b89c55c0522ade165cd1ef806c

    3B53C8AC80665BD89B39B0D533F3157B

    7dc87c123dfa1c49bb51d96776a6cbed

    B4861CECE1C1EAA09999D250EF3A0537

    d79c8a608c90cd769783b8acf571aab1

    a4464e8123fd37a9e3082ef103be7acd 

    28094427d87d624062fefcb5272680e9

    55672D5F7892129BE588F845EBA61217

    8e0802e0a0c22a15013415de09293133

    5145E7051D060561A98A38B9C44AE09F

    d5d5f2b992d290f7ce7f6c4e2d40129a

    4624027CF8F841491EF43EB863C84598

    c79a53511c72cc4b480af9550cd2fb05

    9BCB9FCA1BBD4045B42DA43C3E399579

    50200b15a057ade4bc2982e007285cbf

    985B234A10B79EDE6690E09E92973BAD

    5d540cb651347f961f41388806023e48

    D079B02B6A21BC70F10E60C20394BEC6

    cd98c6d9445e176b68dd5e8d22dda7c4

    E830EB3AA52AD1E080258AD366C62683

    # office # CVE-2017-11882 # Office公式编辑器漏洞
    本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
    被以下专辑收录,发现更多精彩内容
    + 收入我的专辑
    + 加入我的收藏
    相关推荐
    • 0 文章数
    • 0 关注者