flag被盗
这个题目是比较基本的流量分析题,拿到数据包后,查看几个数据比较大的可疑数据,追踪TCP流即可拿到flag
- flag:flag{This_is_a_f10g}
中国菜刀
拿到数据包后,追踪一下TCP流,发现了一个flag.tar.gz的压缩文件。
把数据包放进kali里面用binwalk分析一下,发现确实存在这个压缩文件。然后使用binwalk将压缩包分离。
然后解压压缩包,解压后发现一个flag.txt的文件,打开就可以拿到flag
- flag:key{8769fe393f2b998fa6a11afe2bfcd65e}
这么多数据包
根据提示是先找到getshell的流 ,那么不难联想到,在getshell后会执行一些命令,但是鉴于Windows和linux下命令不同,先查看目标主机的系统版本信息,仔细查看数据包后,发现是Windows系统。
-
Windows下常用命令
systeminfo
whoami
netstat -ano
dir
...
然后利用wireshark的显示过滤器查看数据包
tcp contains "dir"
发现在查找dir的时候有流量,应该是执行过dir命令,然后跟踪tcp流
然后发现了攻击者通过type命令新建了一个txt文件,并且文件的内容是一串base64加密过的字符串
解密后拿到flag
- flag:CCTF{do_you_like_sniffer}
手机热点
拿到数据包之后对这个数据包的名字有点好奇,于是去搜了一下,发现这是一个丹麦国王的名字......
但是又联想到题目,手机热点传文件,于是推测使用蓝牙进行文件传输,蓝牙使用的是obex协议,通过wireshark过滤一下,查看数据包。发现上传了一个secret.rar文件,以及一张jpg图片文件 ,于是推测上传了一个压缩包和一张图片,或者是上传了一张压缩了的图片。
然后将压缩文件导出
解压后发现一张图片,打开图片即可拿到flag
- flag:SYC{this_is_bluetooth}
抓到一只苍蝇
打开数据包后,追踪一下TCP流,发现存在一个fly.rar的压缩文件,大小为525701字节
尝试使用binwalk分析并分离,结果得到了几个压缩包,使用winhex分析后并没有发现什么有价值的信息。
然后回到数据包继续进行分析,在wireshark的分组字节流中尝试搜索了一下flag,结果发现了一个flag.txt的文本文件,这个时候又联想到刚刚追踪TCP流的时候发现好像是有跟qq邮箱有关系的流量,分析内容可以推测在使用qq邮箱传文件,使用包过滤语句
http.request.method==POST
看到192.168.1.101向59.37.116.102发送了5个连续的文件包(按时间排序)
将这5个文件导出然后进行合并,由于TCP包有文件头,我们需要计算一下文件头的大小。
这5个文件的大小分别为131436*4+1777,总大小为527571,但是刚才我们拿到数据包时看到的文件大小为525701,于是文件头的大小为527571-525701=1820,1820/5=364.
将文件导出后使用kali linux的dd命令将文件头去掉,以便进行合并。
dd if=文件名 bs=1 skip=364 of=要保存的文件名
然后将11 22 33 44 55这5个文件使用Windows下的copy命令进行合并。
copy /B 11+22+33+44+55 fly.rar
合并得到的压缩包报错,用winhex查看得知是进行了伪加密,解密后将压缩文件解压,得到flag.txt文件。
打开flag.txt文件时一堆乱码,但是在乱码中发现了Win32的标志,说明这是一个win32可执行程序,改后缀为exe,然后执行。执行后发现满屏幕的苍蝇......
使用winhex打开flag.exe发现了png字符,于是猜测里面还有其他的东西。使用foremost分离,得到了很多图片。
最后一张图片是一个二维码,扫描二维码拿到flag。
- flag:flag{m1Sc_oxO2_Fly}
weblogic
-
题目链接:https://ctf.bugku.com/files/d0efc1322758fceb5cab0bb66af860e0/weblogic.pcap
-
解题思路:
根据已知条件,flag为主机名,并且主机名为十六进制。直接在数据包中搜索hostname,发现了两个存在这个字符串的数据包,分别追踪TCP流,在数据流中搜索hostname,即可看到主机名。
- flag:flag{6ad4c5a09043}
信息提取
打开数据包后,发现只有http和tcp的包,过滤一下http包,只显示http内容。
粗略的看一下,结合题目的提示“sqlmap用过吗”,可以看出这是一个布尔盲注的过程,从sql注入检测,猜解数据库,表名...
一位一位的猜取flag,然后用二分法判断其ascii码的范围并最终确定这一位的值。
如果语句正确会有回显,回显内容为:The quick brown fox jumps over the lazy dog
以第一个字符为例,可以看到第一个字符判断的时候,先判断其是否大于64,后面又判断了是否大于96,说明这个字符肯定大于64,所以此时作比较的ascii码增加64的二分之一,即96,接着向下看,作比较的ascii码变成了80,说明这个字符小于96,所以大于64又小于96,继续向下分32的二分之一,即80,在接着向下看,作比较的ascii码变为了72,说明这个字符依然小于80,继续向下分16的二分之一,即72,继续向下看,作比较的ascii码变为了76,说明这个ascii码大于72,所以向上分8的二分之一,即76,继续向下看,作比较的ascii码变为了74,说明这个ascii码小于76,所以向下分4的二分之一,即74,继续向下看,作比较的ascii码变成了73,且下一个包变为了64,说明已经判断结束,因此大于72又不大于73,这个ascii码为73,对应的字符为I。这就是二分法。
以此类推,可以获得flag。
- flag:ISG{BLind_SQl_InJEcTi0N_DeTEcTEd}
特殊后门
-
题目链接:https://ctf.bugku.com/files/ee89c5bb3fd5b44862f7ef40cd88fe4a/backdoor.zip
-
解题思路:
拿到数据包查看,意思大概是通过icmp协议传递数据,在数据包中搜索一下flag,发现了一个flag is here的字符串,紧接着是一系列的icmp包,逐一查看发现每一个包里面有一个字符,拼接起来即为flag
- flag:flag{Icmp_backdoor_can_transfer-some_infomation}