津門杯||XCTF-天津站-2021||MISC-tunnel


打開流量包,發現dns域名請求的流量中帶有疑似base64的字符串

 

把dns流量中第一個奇怪的字符串放入cyberchef,base64解碼再轉換為16進制,發現了zip文件頭,找到方向了!

常見文件頭:https://segmentfault.com/a/1190000018886731

 

 那就提取一下吧

tshark -r tunnel.pcap -T fields -e ip.src -e dns.qry.name -Y 'dns' | grep '192.168.1.103' | grep 'evil.im' > out.txt

  • -r tunnel.pcap 需要分析的報文記錄文件(pcap格式)
  • -T fields 輸出格式,選fields按字段,也可以選json等其他格式,需結合-e 及 -E使用
  • -e ip.src
  • -e dns.qry.name 提取dns查詢的域名信息
  • -Y <display filter>,使用讀取過濾器的語法
  • > out.txt 將內容輸出到out.txt文件
  • grep 使用正則過濾,過濾出想要的內容

 

提取出來的內容,有一些重復的部分,而且字符串末尾的.evil.im很礙眼啊,那就通過腳本來解決這些問題吧

 

給腳本小白們提個醒,該腳本版本是python2的,覺得在windows配環境麻煩的,可以直接選用linux系統如Kali(神器)或者如Ubuntu之類的,直接python2跑腳本,很快啊,就會出結果了

 

# -*- coding:utf-8 -*-
import base64

f = open('tunnel_out.txt', 'r').readlines()
f1 = open('flag.zip', 'w')
f2 = open('base.txt', 'w')

for i in range(len(f) - 1):
    # 如果和上一行的信息重復,跳過改行
    if f[i] == f[i+1]:
        continue
    # 將字符串內容全部提取出來,並替換掉.evil.im為空
    a = f[i][14:].strip().replace('.evil.im', '')
    if len(a) % 4 == 2:
        a += '=='
    if len(a) % 4 == 3:
        a += '='
    # 打印 a
    f2.write(a + '\n')
    f1.write(base64.b64decode(a))


f1.close()
f2.close()

 

base.txt中存儲着base64加密后的信息

 

 

我們還提取出來一個flag.zip壓縮文件,打開看看

發現內有一個加密了的壓縮圖片,這時我們base.txt的內容就排上用途了,肯定就是base64隱寫啦

# -*- coding:utf-8 -*-

b64chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'

with open('base.txt', 'rb') as f:
    bin_str = ''
    for line in f.readlines():
        stegb64 = ''.join(line.split())
        rowb64 =  ''.join(stegb64.decode('base64').encode('base64').split())

        offset = abs(b64chars.index(stegb64.replace('=','')[-1])-b64chars.index(rowb64.replace('=','')[-1]))
        equalnum = stegb64.count('=') #no equalnum no offset

        if equalnum:
            bin_str += bin(offset)[2:].zfill(equalnum * 2)

        print ''.join([chr(int(bin_str[i:i + 8], 2)) for i in xrange(0, len(bin_str), 8)]) #8 位一組

 

結果出來了,這就是壓縮文件的密碼了

 

打開圖片,成功獲得flag

 

 

參考的師傅們的WP:

http://www.ga1axy.top/index.php/archives/57/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM