BugkuCTF(old)----流量分析題目Writeup

flag被盜

文件不是很大,粗略看了一下,發現了shell.php字段

 

篩選爲http流量,追蹤TCP查看

 

直接得到flag  flag{This_is_a_f10g}

 

 

中國菜刀

下載解壓得到數據包,比較小隻有7kb

 

只有TCP和HTTP協議流量,追蹤TCP流查看,發現flag.tar.gz壓縮包

 

使用kali集成的 binwalk提取壓縮包,

binwalk -e caidao.pcapng 文件路徑

 

得到 1E43文件

 

這是一個壓縮包,可以在windows修改後綴爲zip直接打開

得到flag  key{8769fe393f2b998fa6a11afe2bfcd65e}

 

 

這麼多數據包

題目提示

數據包 TCP有大量的標紅狀態,猜測爲攻擊機對目標進行的掃描爆破等操作

 

過濾得到TCP協議數據包,觀察發現 4023爲最後一條標紅數據

 

往下看呀看呀看呀,追蹤TCP流查看,數據包過多,一無所獲

嘗試過濾一些數據包,觀察發現,此期間大部分是端口4444與端口1040之間的通信,過濾數據包

tcp && ! tcp.port eq 4444 or ! tcp.port eq 1040 and ip.addr eq 192.168.116.138

發現在最後端口 35880 和 1234 還存在通信,追蹤流查看

 

可疑的base64數據,解碼查看,bingo,得到flag   CCTF{do_you_like_sniffer}

題目提示找getshell的流量,所以應該是拿到shell了,執行操作,所以應該從後往前找又高效~

 

 

手機熱點

題目描述如下:

httppan.baidu.coms1cwwdVC
有一天皓寶寶沒了流量只好手機來共享,順便又從手機發了點小祕密到電腦,你能找到它嗎?

 

手機共享
推斷爲obex協議(藍牙傳輸協議)  過濾

 

發現了一個壓縮包,和圖片

 

使用kali集成的 binwalk 分離文件

binwalk -e Blatand_1.pcapng

得到如下

打開 右下角的 flag.gif 得到 flag SYC{this_is_bluetooth}

 

 

抓到一隻蒼蠅

過濾得到HTTP流量,追蹤HTTP流,發現一個用戶通過qq郵箱上傳了一個fly.rar

壓縮包大小通過 size字段可知爲 525701

繼續過濾,從數據包的結構上下圖五個數據包是數據傳輸的過程。點開可以看到第一個到第四個的長度爲131436,最後一個爲1777,應該是剩餘的最後一部分數據

http && http.request.method== POST

 

但是131436*4+1777=527521 != 525701,這是由於分塊傳輸多帶了TCP的文件頭,每個文件頭大小規範一致

所以文件頭的大小就是

131436*4+1777=527571-525701=1820/5=364  需要每個文件去掉其364字節的文件頭。

 

提取數據,選中對應數據包,按順序重命名爲  12345

 

linux下使用 dd 命令 合成文件

語法:dd [選項]

if =輸入文件(或設備名稱)。

of =輸出文件(或設備名稱)。

ibs = bytes 一次讀取bytes字節,即讀入緩衝區的字節數。

skip = blocks 跳過讀入緩衝區開頭的ibs*blocks塊。

obs = bytes 一次寫入bytes字節,即寫入緩衝區的字節數。

bs = bytes 同時設置讀/寫緩衝區的字節數(等於設置ibs和obs)。
即:(dd if=文件名 bs=輸入輸出塊的大小 skip=偏移量 of=新的文件名)
dd if=1 bs=1 skip=364 of=1.1

dd if=2 bs=1 skip=364 of=2.1

dd if=3 bs=1 skip=364 of=3.1

dd if=4 bs=1 skip=364 of=4.1

dd if=5 bs=1 skip=364 of=5.1

 

cat拼接得到壓縮包 fly.rar

cat  1.1  2.1  3.1  4.1  5.1  >  fly.rar

 

fly.rar打開報錯,存在加密,winhex打開

僞加密,修改加密位,將0x84位置改爲0x80即可

 

解壓得到flag.txt文件,打開亂碼,修改後綴爲 exe 運行發現.....蒼蠅

 

使用kali 集成的binwalk  查看,發現可疑圖片

binwalk flag.exe

 

使用 foremost 分離圖片,在一堆蒼蠅圖片底部中找到一個二維碼

foremost -v -i flag.exe

 

掃描得到flag  flag{m1Sc_oxO2_Fly}

 

 

日誌審計

下載得到 Access.log文件,Unicode解碼發現是 dvwa靶場的sql盲注過程

 

搜索flag字段得到如下,sqlmap通過二分法注入爆破對應字段

 

網上copy的腳本,提取字符

# coding:utf-8
import re
import urllib

f = open('C:\\access.log','r')
lines = f.readlines()
datas = []
for line in lines:
    t = urllib.unquote(line)    
    if '1765' in t and 'flag' in t:  # 過濾出與flag相關,正確的猜解
        datas.append(t)

flag_ascii = {}  
for data in datas:
    matchObj = re.search( r'LIMIT 0,1\),(.*?),1\)\)>(.*?) AND', data)   
    if matchObj:
        key = int(matchObj.group(1))
        value = int(matchObj.group(2))+1
        flag_ascii[key] = value     # 使用字典,保存最後一次猜解正確的ascii碼
        
flag = ''
for value in flag_ascii.values():
    flag += chr(value)
    
print flag

 

得到flag  flag{sqlm4p_15_p0werful}

 

 

Weblogic

題目描述:

黑客攻擊了Weblogic應用,請分析攻擊過程,找出Weblogic的主機名。Tip:主機名爲十六進制。

直接過濾得到http數據包,追蹤HTTP流,觀察發現爆破口令,後臺部署war包上傳shell得到權限

 

使用wireshark 搜索 hostname字符串關鍵字,數據包658 662 存在該關鍵字,發現命令執行操作

 

如圖所示,得到16進制flag,flag{6ad4c5a09043}

 

 

信息提取

題目描述如下

打開流量包,看到很多注入語句,判斷出sqlmap使用二分法進行搜索布爾盲注

 

網上的腳本,copy使用 需要先導出分組解析結果 爲 CSV文件格式

import re
import urllib.parse
 
# 更改爲自己從wireshark提取出的csv文件地址
f = open(r"D:\temp\sqlmap.csv")
lines = f.readlines()
datas = []
# 轉碼, 保存進datas
for line in lines:
    datas.append(urllib.parse.unquote(line))
lines = []  # 懶得改, 就複用一下, 這個lines保存注入flag的url
for i in range(len(datas)):  # 提取出注入flag的url
    if datas[i].find("isg.flags ORDER BY `value` LIMIT 0,1),1,1))>64") > 0:
        lines = datas[i:]
        break
flag = {}
# 用正則匹配
macth1 = re.compile(r"LIMIT 0,1\),(\d*?),1\)\)>(\d*?) HTTP/1.1")
macth2 = re.compile(r'"HTTP","(\d*?)","HTTP/1.1 200 OK')
for i in range(0, len(lines), 2):  # 因爲有返回響應, 所以步長爲2
    get1 = macth1.search(lines[i])
    if get1:
        key = int(get1.group(1))  # key保存字符的位置
        value = int(get1.group(2))  # value保存字符的ascii編碼
        get2 = macth2.search(lines[i + 1])
        if get2:
            if int(get2.group(1)) > 450:
                value += 1
        flag[key] = value  # 用字典保存flag
f.close()
result = ''
for value in flag.values():
    result += chr(value)
print(result)

# ISG{BLind_SQl_InJEcTi0N_DeTEcTEd}

最後得到flag  ISG{BLind_SQl_InJEcTi0N_DeTEcTEd}

 

 

特殊後門

題目描述:

某種特殊的協議,嘗試得知爲 icmp協議 過濾

搜索flag,得到下圖效果

 

查看第一個數據包,發現提示

 

繼續觀察,發現數據包依次存在單個字符

 

拼接得到 flag  flag{Icmp_backdoor_can_transfer-some_infomation}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章