第三屆紅帽杯線上初賽Misc題之Advertising for Marriage

除校賽外初次參加ctf比賽…我好菜orz
不過還是很開心體驗了回生活,收穫了箇中二狗和荷蘭豬的雙人戰隊哈哈哈
好了,來講講這道徵婚題目吧,真的哭了出來,明明就差一點…
對了,想做這道題的可以去守夜人ctf平臺
在這裏插入圖片描述
首先看下載過來的文檔格式,發現是raw,然後百度了下發現是拍照格式,下載了acdsee發現打不開
於是我用linux虛擬機binwalk了一下它
在這裏插入圖片描述有這麼多東西,估計是個系統盤,然後想到了內存取證
內存取證入坑指南(從這裏汲取下營養)
用volatility來讀取
然後接下來進行一系列花裏胡哨的操作,也就每個指令都試了一次吧,這裏打出有用的指令
(爲了方便打字我把徵婚那個重命名爲了123.raw)
volatility -f 123.raw imageinfo
猜測鏡像系統
在這裏插入圖片描述在第四行處可以看出是winXPSP2x86

然後volatility -f 123.raw --profile=WinXPSP2x86 pslist
查看正在運行的exe
在這裏插入圖片描述
這裏看到notepad
在這裏插入圖片描述
打開
在這裏插入圖片描述
找到hint是Need money and girlfirend…最後女朋友還打錯了= =
我也需要啊啊啊啊啊!!!
繼續找。忽然突發奇想看看他cmd的使用記錄
在這裏插入圖片描述
看到了flags,但還是不知道有什麼用…
試試導出截圖volatility -f 123.raw --profile=Win7SP1x64 screenshot --dump-dir=./

在這裏插入圖片描述
看不出來是個什麼東西。
後來想了想出題人的出題順序,看進程時間,發現畫圖的mspaint耗費時間長,應該有東西。
所以導出dump,改爲data試試用gimp打開。
這裏有詳細的volatility 加gimp使用指南
然後試試偏移。。。。
兩個小時後搞出來三四張有意義的圖
在這裏插入圖片描述在這裏插入圖片描述
在這裏插入圖片描述然後這裏看到了PJCX,聯想到之前hint的前四位是????
然後這一步栽了,沒想到這是倒過來的菠蘿,我還以爲是什麼遠古浮游生物= =
翻轉過來以後可以看到是b1cx
然後得出b1cxneedmoneyandgirlfirend
然後知道了hint繼續用內存取證看看有什麼東西
搜索下圖片什麼的,jpg png txt都試試,然後
volatility -f 123.raw – profile=WinXPSP2x86 filescan|grep png
在這裏插入圖片描述
找到桌面有張菜的vegetable圖片,提取出來
在這裏插入圖片描述
應該是被修改過寬高,這裏用linux是打不開的,會提示crc校驗錯誤,可以用windows打開(windows忽略crc校驗);但是還是放不進steg裏,所以還是要寫腳本爆破png正常的高度。
放上腳本(根據網上的腳本修改的)python腳本

# -*- coding: utf-8 -*-
import binascii
import struct
 
#\x49\x48\x44\x52\x00\x00\x01\x1F\x00\x00\x01\xA4\x08\x06\x00\x00\x00
 
crc32key = 0xB80A1736
for i in range(0, 65535):
    height = struct.pack('>i', i)
    data = '\x49\x48\x44\x52\x00\x00\x01\x1F' + height + '\x08\x06\x00\x00\x00'
 
    crc32result = binascii.crc32(data) & 0xffffffff
 
    if crc32result == crc32key:
        print''.join(map(lambda c: "%02X" % ord(c), height))

在這裏插入圖片描述
成功得出了0000000D然後用winhex修改第二行內碼中的高(衆所周知png圖片第二行是寬高)
在這裏插入圖片描述??這誰看的清…
然後。。。。。
hhhh這裏要感謝荷蘭豬 凌晨四五點用她的生命在嘗試看清那個flag,成功從flag中看出了小人和葫蘆(沒錯第一個就是個大葫蘆不是英文字母)所以不可能是正確flag。
我也試着用python腳本去除馬賽克,然後結果如下…
看我菜的兩眼發光!
在這裏插入圖片描述
讓我感受到了生命的美好和暴打出題人的必要性hhhh

然後想到了lsb隱寫,用steg來打開
在這裏插入圖片描述然後我還把每個0和1自由組合點了好久,6種模式也點了好久,沒有在文本里找到flag,果然是菜矇蔽了我的雙眼
然後百度了好多png的lsb隱寫終於找到
在這裏插入圖片描述然後用cloacked-pixel測試了下(此時比賽已經結束一小時,累計32小時沒睡的我還是不甘心)附上上圖這個網址(點擊超鏈接)
有png的隱寫知識
https://github.com/livz/cloacked-pixel
這個是文章裏推薦的腳本,類型和這個差不多,剛好都需要密鑰,hint總不可能沒用吧!
下載過來的腳本里有使用方法在這裏插入圖片描述在這裏插入圖片描述然後會報錯,需要安裝matplptlib這個繪圖庫
這個是詳細介紹安裝畫圖模塊的
https://www.cnblogs.com/-1307/p/6529269.html
這裏吐槽一句,python3應該是自帶這個庫,但這腳本是用python2寫的= =
然後由於我是在linux裏安裝最後報錯權限不足,老樣子命令前面加sudo就好了,像這樣。
在這裏插入圖片描述又是熟悉的3kb/s,無語凝噎
在這裏插入圖片描述
終於下好了,運行又發現在這裏插入圖片描述還要安裝這個庫…繼續
https://blog.csdn.net/superrunner_wujin/article/details/65945452
這個網站完美解決,其實也就一條命令sudo apt-get install python-tk 解決
再次運行成功
在這裏插入圖片描述出來了1.txt
打開后里面是一段base64(末尾兩個=)
在這裏插入圖片描述拿出我好用的計算器解base64(當然在線解碼也可以啦,不過要考慮到以後可能斷網比賽的情況,每種密碼的腳本或者本地工具最好也能備一份)
在這裏插入圖片描述
可以看到輸出有提示是維吉尼亞解碼,然後不會寫腳本…我好菜,於是百度個在線網站,推薦中文網站,因爲打開速度快…
然後密鑰應該還是那個hint(畢竟沒別的了啊)
發現
在這裏插入圖片描述
那就把密鑰b1cxneedmoneyandgirlfirend中的1去掉吧
得到
在這裏插入圖片描述flagisd7f1417bfafbf62587e0
嗯哼,flag出來了。
總結:misc果然是玄學,百度大法好(・∀・(・∀・(・∀・*)
下次比賽再接再厲吧!果然肝的還是不夠= =

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