CTF|陇剑杯线上-Wifi-WP

TRY 7,494 6

至少我们曾经在一起过。

来自:一言

前言

这道大题是我最有思路的一道题,可惜最后卡在最后一步,解密哥斯拉的返回流量.[aru_41]

(不然感觉有希望进线下了[aru_15])

题目描述

网管小王最近喜欢上了ctf网络安全竞赛,他使用“哥斯拉”木马来玩玩upload-labs,并且保存了内存镜像、wifi流量和服务器流量,让您来分析后作答:(本题仅1小问)

答题要求

小王往upload-labs上传木马后进行了cat /flag,flag内容为_____________。(压缩包里有解压密码的提示,需要额外添加花括号)

题目下载

提取码:GAME

答题过程

1.下载附件后,解压后发现三个文件:Windows 7-dde00fa9.vmem    服务器.pcapng    客户端.cap

2.根据该项目叫wifi,所以推测解题关键就在客户端.cap里,所以用Wireshark打开客户端.cap后,如下图:

CTF|陇剑杯线上-Wifi-WP

发现全是加密的wifi包

3.大家都知道如果要解密wifi流量包的话,需要知道wifi的ssid和密码才可以解密,所以接下来我们就需要拿到Windows 7-dde00fa9.vmem镜像文件中的wifi密码,利用volatility(kali自带)获取镜像信息:

volatility -f 'Windows 7-dde00fa9.vmem' imageinfo

CTF|陇剑杯线上-Wifi-WP

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

CTF|陇剑杯线上-Wifi-WP

5.接下来要查找存放wifi密码的文件,找了一遍没有发现xml文件,然后回过头去看题目的提示:(压缩包里有解压密码的提示,需要额外添加花括号),这不是很明显了吗?[aru_31],直接线查找zip的文件,果然在第二个zip处找到了一个My_Wifi.zip文件

CTF|陇剑杯线上-Wifi-WP

6.找到文件后将其导出:

volatility -f 'Windows 7-dde00fa9.vmem' --profile=Win7SP1x86_23418 dumpfiles -Q 0x000000003fdc38c8 --dump-dir=./

CTF|陇剑杯线上-Wifi-WP

7.成功获取到zip文件,不过需要自己重命名过去,下载到本机后重命名为My_Wifi.zip,然后解压过程中发现密码??[aru_25],用rar打开压缩包后发现解压密码提示:

CTF|陇剑杯线上-Wifi-WP

password is Network Adapter GUID(密码是网卡id)

8.之前说到win7的wifi密码就存放在c:\ProgramData\Microsoft\Wlansvc\Profiles\Interfaces\[网卡Guid]中,所以我们继续在镜像文件中搜索,直接搜索Interfaces:

CTF|陇剑杯线上-Wifi-WP

9.拿到解压密码:{529B7D2A-05D1-4F21-A001-8F4FF817FC3A},解压后拿到wifi密码,用ie浏览器打开。

CTF|陇剑杯线上-Wifi-WP

10.成功拿到wifi密码和ssid,233@114514_qwe   My_Wifi,那就可以尝试解密wifi流量包了。设置方法:编辑-首选项-Protocols-IEEE 802.11-Edit,设置好后点击ok,就可以看到解密的流量包了[aru_22]

CTF|陇剑杯线上-Wifi-WP

CTF|陇剑杯线上-Wifi-WP

11.现在我们已经解密到wifi包了,但是不知道请求的服务器地址是多少,所以现在打开 服务器.pcapng 开始查看网管上传哥斯拉时候的包,上传包肯定是POST了,所以直接筛选post包即可。

CTF|陇剑杯线上-Wifi-WP

12.拿到了请求的包,先进行url解码,再找个php在线执行看一下那段编码的内容:

CTF|陇剑杯线上-Wifi-WP

12.相信大家一眼就看出来了就是哥斯拉的马,并且使用了xor_base64的加密器,配置也是默认配置,密码:pass 密钥:key,也拿到了服务器ip:42.192.84.152 ,所以我们返回到wifi流量包,直接筛选服务器ip的包,找到几个哥斯拉加密的返回包

CTF|陇剑杯线上-Wifi-WP

13.接下来需要解密哥斯拉的流量,在网上找到一个文章:https://www.freebuf.com/sectool/285693.html ,解密脚本如下:

<?php
function encode($D,$K){
	for($i=0;$i<strlen($D);$i++){
		$c = $K[$i+1&15];
		$D[$i] = $D[$i]^$c;
	}
	return $D;
}

$pass='pass';
$payloadName='payload';
$key='3c6e0b8a9c15224a';
echo gzdecode(encode(base64_decode('需要解密的内容'),$key));
?>

14.根据上面的文章可以知道(对于PHP_XOR_BASE64加密方式来说,前后各附加了16位的混淆字符),所以我们拿到的流量要先删除前16位和后16位字符

原始返回包:72a9c691ccdaab98fL1tMGI4YTljMn75e3jOBS5/V31Qd1NxKQMCe3h4KwFQfVAEVworCi0FfgB+BlWZhjRlQuTIIB5jMTU=b4c4e1f6ddd2a488

真正内容:fL1tMGI4YTljMn75e3jOBS5/V31Qd1NxKQMCe3h4KwFQfVAEVworCi0FfgB+BlWZhjRlQuTIIB5jMTU=

然后将需要解密的内容改进脚本,丢到php环境中运行即可拿到flag

CTF|陇剑杯线上-Wifi-WP

Flag

flag{5db5b7b0bb74babb66e1522f3a6b1b12}

发表评论 取消回复
表情 图片 链接 代码

  1. 卒last
    卒last Lv 1

    看到有个老哥姿势牛逼,搞个同版本同密码秘钥,走burp改包搞定了。

    • TRY
      TRY 站长

      @卒last这个方法当时我也尝试过,能解开请求包,但是返回包丢进去发包就一堆乱码,可能姿势不对。

  2. 卒last
    卒last Lv 1

    请问你再看流量分析了吗?

    • TRY
      TRY 站长

      @卒last技术有限,看不懂==

  3. hydra_next
    hydra_next Lv 1

    小弟复现了走burp那个姿势,大佬可以帮忙看下有什么问题吗
    https://blog.csdn.net/u011250160/article/details/120523994

    • TRY
      TRY 站长

      @hydra_next可以,当时比赛的时候我改的是请求包,我麻了=应该改返回包才对。

分享