至少我们曾经在一起过。
来自:一言
var xhr = new XMLHttpRequest();
xhr.open('get', 'https://v1.hitokoto.cn/');
xhr.onreadystatechange = function () {
if (xhr.readyState === 4) {
var data = JSON.parse(xhr.responseText);
var hitokoto = document.getElementById('hitokoto');
hitokoto.innerText = data.hitokoto;
}
}
xhr.send();前言:这道大题是我最有思路的一道题,可惜最后卡在最后一步,解密哥斯拉的返回流量。[aru_41]
(不然感觉有希望进线下了[aru_15])
题目描述:网管小王最近喜欢上了CTF网络安全竞赛,他使用“哥斯拉”木马来玩玩upload-labs,并且保存了内存镜像、WiFi流量和服务器流量,让您来分析后作答:(本题仅1小问)
答题要求:小王往upload-labs上传木马后进行了cat /flag,flag内容为__。(压缩包里有解压密码的提示,需要额外添加花括号)
题目下载:提取码:GAME
答题过程:
下载附件后,解压后发现三个文件:Windows 7-dde00fa9.vmem,服务器.pcapng,客户端.cap。
根据该项目叫WiFi,推测解题关键就在客户端.cap里,所以用Wireshark打开客户端.cap后,如下图:
发现全是加密的WiFi包。
- 大家都知道如果要解密WiFi流量包的话,需要知道WiFi的SSID和密码才可以解密,所以接下来我们就需要拿到Windows 7-dde00fa9.vmem镜像文件中的WiFi密码,利用volatility(kali自带)获取镜像信息:
volatility -f 'Windows 7-dde00fa9.vmem' imageinfo
4. 获取到镜像的profile,知道是Win7系统,关于系统保存的WiFi密码文件地址:如果是Windows Vista或Windows 7,保存在c:\ProgramData\Microsoft\Wlansvc\Profiles\Interfaces[网卡Guid],每个无线网络对应一个XML文档,所以我们需要获取这个遍历这个镜像中的文件:
volatility -f 'Windows 7-dde00fa9.vmem' --profile=Win7SP1x86_23418 filescan > 1.txt
5. 接下来要查找存放WiFi密码的文件,找了一遍没有发现XML文件,然后回过头去看题目的提示:(压缩包里有解压密码的提示,需要额外添加花括号),这不是很明显了吗?[aru_31],直接线查找zip的文件,果然在第二个zip处找到了一个My_Wifi.zip文件。
6. 找到文件后将其导出:
volatility -f 'Windows 7-dde00fa9.vmem' --profile=Win7SP1x86_23418 dumpfiles -Q 0x000000003fdc38c8 --dump-dir=./
7. 成功获取到zip文件,不过需要自己重命名过去,下载到本机后重命名为My_Wifi.zip,然后解压过程中发现密码??[aru_25],用rar打开压缩包后发现解压密码提示:
password is Network Adapter GUID(密码是网卡ID)
- 之前说到Win7的WiFi密码就存放在c:\ProgramData\Microsoft\Wlansvc\Profiles\Interfaces[网卡Guid]中,所以我们继续在镜像文件中搜索,直接搜索Interfaces:
9. 拿到解压密码:{529B7D2A-05D1-4F21-A001-8F4FF817FC3A},解压后拿到WiFi密码,用IE浏览器打开。
10. 成功拿到WiFi密码和SSID,233@114514_qwe My_Wifi,那就可以尝试解密WiFi流量包了。设置方法:编辑-首选项-Protocols-IEEE 802.11-Edit,设置好后点击OK,就可以看到解密的流量包了[aru_22]。

11. 现在我们已经解密到WiFi包了,但是不知道请求的服务器地址是多少,所以现在打开 服务器.pcapng 开始查看网管上传哥斯拉时候的包,上传包肯定是POST了,所以直接筛选POST包即可。
12. 拿到了请求的包,先进行URL解码,再找个PHP在线执行看一下那段编码的内容:
12. 相信大家一眼就看出来了就是哥斯拉的马,并且使用了xor_base64的加密器,配置也是默认配置,密码:pass 密钥:key,也拿到了服务器IP:42.192.84.152,所以我们返回到WiFi流量包,直接筛选服务器IP的包,找到几个哥斯拉加密的返回包。
13. 接下来需要解密哥斯拉的流量,在网上找到一个文章:https://www.php.cn/link/f9e6aa5c93154c16fc5fa8382d8b8de6:
- 根据上面的文章可以知道(对于
PHP_XOR_BASE64
加密方式来说,前后各附加了16位的混淆字符),所以我们拿到的流量要先删除前16位和后16位字符。
原始返回包:72a9c691ccdaab98fL1tMGI4YTljMn75e3jOBS5/V31Qd1NxKQMCe3h4KwFQfVAEVworCi0FfgB+BlWZhjRlQuTIIB5jMTU=b4c4e1f6ddd2a488
真正内容:fL1tMGI4YTljMn75e3jOBS5/V31Qd1NxKQMCe3h4KwFQfVAEVworCi0FfgB+BlWZhjRlQuTIIB5jMTU=
然后将需要解密的内容改进脚本,丢到PHP环境中运行即可拿到flag。
Flag
flag{5db5b7b0bb74babb66e1522f3a6b1b12}










