该题目贴合现实,在实战中经常遇到此类宏病毒。
将Office文档中嵌入以VBA(Visual Basic forApplications)编写的宏代码脚本,当运行Office文档时,便可以执行各种命令。
VBA脚本文件重定向能够将脚本默认文件vbaProject.bin进行替换,在打开文本时加载其他文件,增加分析者的分析复杂程度。
1、初步分析
在 Office 2007 之后的 Office 文档格式采用的是 OOXML 标准格式。那什么是OOXML 标准?这里的 OOXML 的全称是 Office Open XML File Formats或被称为 OpenXML 格式,这是一个基于 zip+xml界说的文档格式。简单的说就是Office文档是一些xml文档压缩文件,因此我们将一个word文档进行zip解压,可以得到一些xml文件
[img=720,451.42255005268703]https://m-1254331109.cos.ap-guangzhou.myqcloud.com/202410281525119.png[/img]
打开发现是一堆乱码,此时就需要借助大佬们的工具了。
2、oletools
oletools对该文件进行分析,oletools将宏源码完整的还原了出来。
官网:https://github.com/decalage2/oletools/releases
这里采用pip安装模式运行命令- olevba -c protected_secret.docm > code.vbs
复制代码[img=720,221.76470588235293]https://m-1254331109.cos.ap-guangzhou.myqcloud.com/202410281525120.png[/img]
3、分析vbs代码
直接搜索:AutoOpen
里面有太多垃圾代码了
[img=720,259.6219281663516]https://m-1254331109.cos.ap-guangzhou.myqcloud.com/202410281525121.png[/img]
首先将输入的flag异或7
[img=720,142.7627230667548]https://m-1254331109.cos.ap-guangzhou.myqcloud.com/202410281525122.png[/img]
[img=720,153.12883435582822]https://m-1254331109.cos.ap-guangzhou.myqcloud.com/202410281525123.png[/img]
有点意思了,解码exe的base64编码,然后运行exe执行操纵,最后再删除exe步伐
【----帮助网安学习,以下所有学习资料免费领!加vx:dctintin,备注 “博客园” 获取!】
① 网安学习成长路径思维导图
② 60+网安经典常用工具包
③ 100+SRC毛病分析陈诉
④ 150+网安攻防实战技术电子书
⑤ 最权势巨子CISSP 认证考试指南+题库
⑥ 超1800页CTF实战技巧手册
⑦ 最新网安大厂口试题合集(含答案)
⑧ APP客户端安全检测指南(安卓+IOS)
4、运行Vbs得到exe
将重要的代码拿出来,然后天生exe- Set fso = CreateObject("Scripting.FileSystemObject")
- Set objShell = CreateObject("WScript.Shell")
-
- /*
- 省略了一大堆 base64赋值串
- */
-
- tempPath = "D:\temp11\temp"
- Set tempfile = fso.CreateTextFile(tempPath, True)
- fso.GetFile(tempPath).Attributes = 2
- tempfile.WriteLine xpkdb
- tempfile.Close
-
- batPath = "D:\temp11\temp.bat"
- Set batFile = fso.CreateTextFile(batPath, True)
- fso.GetFile(batPath).Attributes = 2
- batFile.WriteLine "@echo off"
- batFile.WriteLine "certutil -decode temp1 temp|certutil -decode temp temp.exe"
- batFile.Close
- Set objExec = objShell.Exec(batPath)
复制代码 保存为vbs运行,但是我电脑有点小问题没跑运行起来
因此我们采取另一种方法,直接将base64提取出来
[img=720,189.607250755287]https://m-1254331109.cos.ap-guangzhou.myqcloud.com/202410281525124.png[/img]
代码很简单,将提取出来的代码放进Cyberchef进行提取即可
[img=720,299.58968963703313]https://m-1254331109.cos.ap-guangzhou.myqcloud.com/202410281525125.png[/img]
download.exe
5、分析exe
[img=720,392.45009074410166]https://m-1254331109.cos.ap-guangzhou.myqcloud.com/202410281525126.png[/img]
很简单的代码,就是位移
6、解密
- v9 = [0]*54
- v9[0] = 4288
- v9[1] = 4480
- v9[2] = 5376
- v9[3] = 4352
- v9[4] = 5312
- v9[5] = 4160
- v9[6] = 7936
- v9[7] = 5184
- v9[8] = 6464
- v9[9] = 6528
- v9[10] = 5632
- v9[11] = 3456
- v9[12] = 7424
- v9[13] = 5632
- v9[14] = 6336
- v9[15] = 6528
- v9[16] = 6720
- v9[17] = 6144
- v9[18] = 6272
- v9[19] = 7488
- v9[20] = 6656
- v9[21] = 7296
- v9[22] = 7424
- v9[23] = 2432
- v9[24] = 2432
- v9[25] = 2432
- v9[26] = 5632
- v9[27] = 4416
- v9[28] = 3456
- v9[29] = 7168
- v9[30] = 6528
- v9[31] = 7488
- v9[32] = 6272
- v9[33] = 5632
- v9[34] = 3520
- v9[35] = 6208
- v9[36] = 5632
- v9[37] = 4736
- v9[38] = 6528
- v9[39] = 6400
- v9[40] = 7488
- v9[41] = 3520
- v9[42] = 5632
- v9[43] = 5184
- v9[44] = 3456
- v9[45] = 7488
- v9[46] = 7296
- v9[47] = 3200
- v9[48] = 6272
- v9[49] = 7424
- v9[50] = 2432
- v9[51] = 2432
- v9[52] = 2432
- v9[53] = 7808
-
- flag = ''
- for i in range(54):
- flag += chr(v9[i] >> 6 ^ 7)
-
- print(flag)
复制代码 更多网安技能的在线实练习习,请点击这里>>
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |