-
-
[原创]样本分析记录(一个CVE-2017-0261样本分析(EPS漏洞))
-
发表于: 2021-1-25 17:02 3631
-
样本信息:
MD5:7fb7944fb452d8588194ea746910ed782865efb991fa02479e429f8fba677d3b
是一个docx后缀的文件,后缀改为zip后解压缩,得到一堆xml文件 查询资料得知这是一个eps漏洞的样本 所以关键的文件藏在“*\word\media”目录下,是一个eps后缀的文件
下载一个工具f7fK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6C8j5%4g2X3d9h3c8Q4x3V1k6W2M7s2y4Q4x3X3c8o6g2V1g2Q4x3X3b7J5x3o6p5%4i4K6u0V1x3o6t1$3x3b7`.`.
长这样
done文件夹下有一个“eps.poc”文件,将其替换成上面找到的“image1.eps”,并将“image1.eps”名字改成eps.poc
将LoadEps.exe放入od进行动态调试
两种方法进入shellcode:
1、直接给virtualalloc下断点
2、一步步的跟到closefile找到shellcode入口点
1、直接给virtualalloc下断
2、一步步的跟到closefile找到shellcode入口点
先找到ImportGr:f7步入之后发现进入模块EPSIMP32.dll,然后直接打开ida,计算偏移,对closefile下断:
地址计算:920197-8f1000+74511000=74540197 (2F197)
然后进入shellcode
据说就是这里(eax)
到达shellcode内部,通过函数hash查找LoadLibrary、GetProcAddress、createfile、writefile等函数
加载模块
创建了一个文件tmp后进行删除操作:
获取进程信息 查找WINWORD.EXE,找进程winword.exe返回进程句柄
在开始文件夹目录下创建一个文件MSBuild.exe
不知道为什么创建失败了。。。手动修改eax返回值:
接下来是解密函数,密钥:0x16082019
后面writefile又失败了,将解密后的文件dump出来,发现是个exe程序,和启动目录下的MSBuild进行对比,发现是同一个文件:
最终的后门应该就是这个MSBuild了,下面是对这个后门的简单分析:
用一个循环增加调试时间
创建互斥体用于防多开
然后会加载各种函数
他创建文件9PT568.dat,写入数据,并将值赋给uuid
获取一些数据:
1 2 3 4 5 6 | #uuid #un 用户名 #cn 计算机名 #lan 主机IP #nop 后门版本信息(ver=1.0) #on 系统版本信息 |
然后直接解密出来了远控IP
这个时候用wireshark抓包试试:
发现了一些数据 使用aes加密了的,接下来进入线程回调:
会对收集到的数据进行aes+base64加密,然后在固定的位置插入特殊字符,并在字符串末尾拼接上“&crc=e3a6”
url1://e3e7e71a0b28b5e96cc492e636722f73//4sVKAOvu3D// BDyot0NxyG.php
命令:
1 2 3 4 5 | 8 退出 13 创建文件AdbFle.tmp 获取加密后uuid等的前 128 个字节的数据并存入文件中,再次加密后上传 4 创建文件edg499.dat 存储uuid这些发送的数据 aes + blowfish加密后再次发送 33 下载文件并执行 23 获取桌面句柄和窗口设备环境,感觉类似截屏一样,然后生成本地图片到TPX499.dat,将文件中的数据加密后发送到上线地址,上传完毕就删除该文件 |
TPX499.dat中使用到的加密算法是aes和blowfish:
附件密码:bbs.pediy.com