官方公众号企业安全新浪微博
FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。
FreeBuf+小程序
一、基本情况
六一节,收到攻击邮件,附件包含一个excel文档,诱使用户打开
下载附件后,打开excel文档,显示为1个空文档,如下所示:
其实,在打开文档的时候,后台已经打开下载连接,下载地址是:http://www.sanbarts.com/sdyy4y.exe
下载保存为本地%appdata%目录下,名为word.exe:
文件属性如下:
同时,word.exe运行后,会在%temp%目录下生成lvjudcwop.exe,以及其他两个非exe的文档,如下图所示:
进程执行顺序如下:excel.exe->EQNEDT32.EXE->word.exe->lvjudowop.exe,如下图所示:
因此,可以大致推断:本次邮件是利用cve-2017-11882(EQNEDT32.EXE公式编辑器漏洞)进行攻击。攻击逻辑:访问下载http://www.sanbarts.com/sdyy4y.exe,保存为word.exe并运行,word.exe运行后又释放lvjudowop.exe运行。
二、word.exe简要分析
接下来,我们看看word.exe
删除%temp%目录下nsa20c4.tmp文件
到0x841C位置
我们直接静态看: 0x841c,也可以看出word.exe真实的EXE长度其实就到这边了,后续带的都是附加的内容。
动态调试,可以看到ReadFile读的数据和上面静态内容一致,如下图。
之后,释放并生成文件:kcblmjjlps、 lvjudcwop.exe、oxq57q9q0cduyzn,之后,调用CreateProcess函数运行lvjudcwop.exe,参数为kcblmjjlps文件,如下图所示:
三、lvjudcwop.exe简要分析
首先打开kcblmjjlps文件
分配一段缓冲区,并进行初始化赋值
再分配一段内存,大小为0x136c(正是kcblmjjlps文件长度),调用fread读取文件内容到缓冲区0xD00000,如下图所示,读取的正是kcblmjjlps实际内容。
对缓冲区0xD00000内容进行解密操作,解密后的内容如下图所示:
调用EnumSystemCodePagesA函数执行解密内容(作为代码执行)
C++复制
BOOL EnumSystemCodePagesA(
[in] CODEPAGE_ENUMPROCA lpCodePageEnumProc,
[in] DWORD dwFlags
);
汇编代码如下:
动态获取GetTempPath、GetModuleFileName、LoadLibary、…等函数的内存地址
打开oxq57q9q0cduyzn文件
读取文件内容:
对文件内容进行解密操作,解密后该内容其实是PE可执行文件,如下图所示:
四、小结
CVE-2017-11882漏洞由于稳定、效果好等特点,经久不衰,CVE-2017-11882漏洞变异样本层出不穷。
IOCS:http://www.sanbarts.com/sdyy4y.exe
当前解析指向Ip:45.120.185.113
名称 | 大小 | MD5 HASH |
sdyy4y.exe/word.exe | 253,655 | 4dc515da30da0caad44d16bce0dcf446 |
kcblmjjlps | 4,972 | 7af109e383f4d8db9dc950ea56808886 |
oxq57q9q0cduyzn | 189,439 | 56922abe546e363280c3bb3502f0c8b0 |
lvjudcwop.exe | 57,344 | bd8822afbce872737ccc6a077bbf98c1 |