近期0day满天飞,原因都懂的。今天在群里看到一张来自twitter的截图,丢给旁边的永信老弟,从下面的沙盒系统中提取了样本,一起分析复现了一波。
https://app.any.run/tasks/5f671102-5e51-4f85-9a9e-d7a8b94d941d
样本运行是这样的,提示宏被禁用,如图:
启用之后就能弹出计算器了,下面这张图是经过分析替换了样本中的命令,弹了个记事本。
结论就是,所谓的0day应该是不存在的吧。对这方面研究不多,看出来是用的excel的宏功能,执行了命令。默认宏是禁用的,启用之后才会受到影响,所以影响面有限。对样本.xlsm文件重命名成.zip,解压之后xl/macrosheets中保存的是样本的2个sheet,excel、空格excel分别对应的是sheet1.xml和sheet2.xml。
打开这2个.xml文件,发现有RUN(excel!M64)这样的命令,是用来运行一个宏或调用一个函数,这里分析应该是运行M64这个单元格中的函数:
之后可以看到M64单元格中继续运行另外一个sheet中的FV130单元格中的函数:
在sheet2中可以看到最终运行了FV141单元格中的函数,也就是如下命令:
EXEC("wmic.exe process call create calc")
成功执行系统命令,如果要执行其它命令直接修改此xml中的命令,之后将解压的文件再压缩成.xlsm文件:
所以twitter上发布的demo实际流程是: