Wifi取证——WPA解密

好久没碰CTF了,闲来无事,最近刷了刷题找找手感

拿到题目之后可以看到,有三个文件,一个服务器流量包(pcapng),一个客户端流量包(cap),一个内存镜像;首先先看服务器流量,在第27个数据包中发现了上传木马

并且通过预览数据包可以基本判断为哥斯拉的php_eval_xor_base64流量,通过追踪一下该数据流,可以发现一串密文

我们拿去解密

拿到了shell的连接密码:pass,这就更加证实了我的推断,因为哥斯拉的默认连接密码就是pass,还有一个key,一会可能会用的到,先做好记录;随后看了一下客户端流量(.cap),发现做了WPA加密,想解密的话,需要找到SSID和密码,而我们通过已知的数据包可以看到SSID,SSID为My_Wifi

其他的再无可利用的信息,然后我们去取证分析一下那个内存镜像文件,看看能不能找到一些有价值的东西,是个win7

去找一下My_Wifi相关文件,发现有一个zip压缩包文件,我们将他提取出来

提取出来之后,尝试解压,发现需要密码,并且密码提示说是网卡的GUID,而我们知道windows操作系统中网卡的GUID和接口Interfaces绑定,于是我们过滤关键字“Interfaces”进行文件搜索

得到了GUID:{529B7D2A-05D1-4F21-A001-8F4FF817FC3A},也就得到了压缩包的密码,我们尝试进行解压,解压成功,解压出来了一个xml文件,在xml文件里扒到了SSID和密码

拿到SSID和密码之后,我们就可以进行Airdecap-ng进行无线攻击破解

破解之后就会出现一个全新的数据包,在最后一个tcp数据流的末尾找到了一串新的密文

再加上前面我们已经获取到哥斯拉的key,所以只需要对这一串密文进行哥斯拉解密,就可以拿到flag
解密脚本:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
function encode($D,$K){
for($i=0;$i<strlen($D);$i++) {
$c = $K[$i+1&15];
$D[$i] = $D[$i]^$c;
}
return $D;
}

$key='3c6e0b8a9c15224a';
$key1="密文";
$str=substr($key1,16,-16);
$str=gzdecode(encode(base64_decode($str),$key));
echo $str;
?>

解密即可拿到flag


Wifi取证——WPA解密
http://example.com/2024/03/05/wifi取证——wpa解密/
作者
liuty
发布于
2024年3月5日
许可协议