Rating:
題目:You are surrounded by zombies on all sides. Blood and flesh that drip from their mouths. You run for cover in an abandoned building. As you huddle in terror under a delapitated desk your foot brushes against a small package. What could be inside???
檔案下載位址:https://github.com/SJChang/CTF
檔名:tag.gz
file type:tag.gz:pcap-ng capture file – version 1.0
封包大小不大.透過倒出裡面的內容,看看裡面有什麼:
File->export objects->HTTP
發現有傳三個檔案:
Screen Shot 2017-04-09 at 上午7.57.05.png
打開看兩個jpg的檔案,看起來都沒有什麼異狀.所以應該問題是在7z那個打包檔裡面
Screen Shot
打開flag.7z發現裡面的文字檔居然被加密了.
這時候,就要找解密啦~理論上CTF的東西都是包在一起的.也就是說,既然他給要你輸入密碼,那麼他在題目包裝的過程中,一定也把密碼包進去了.要嘛就是在另外兩個無關緊要的圖片裡,要嘛就是存在剛剛的封包串流檔裡面.
補充一點wireshark和網路概論的東西:
在彩色的欄位那邊,有時會出現一些英文字,常見的有:SYN, FIN, ACK, PSH, RST這五個.依序代表的意思是:
SYN:建立連線,
FIN:連線關閉(可能是在建立完連線,三項交握後)
ACK:回應
PSH:有 資料數據傳輸.1代表不用進入緩衝區就接收.
RST:重置連線.
回過頭來看封包檔.在編號302的封包以前,都是綠色的正常連線紀錄。304,305出現了client和server.到313的時候出現[PSH,ACK]這時可以說,他們有在傳資料,而且資料有正確的傳出去.但是傳了什麼資料呢?就要看封包裡面的細項了.
點開封包裡面,看到結尾是=.在前幾章的網誌裡面有提到,看到’=’要很有警覺,這是base64加密!在’=’之前,是一大串的大小寫英文字母.其中,又以大寫居多.把滑鼠移到字上面,可以看到wireshark已經幫你把範圍都標成藍色的了,還跟你說在封包的哪一個段落.
Screen Sho
按Analyze->follow TCP stream就可以複製裡面的內文,拿去base64解碼器:
Screen Shot
我把解碼後的4865…..一長串複製下來,直接拿去貼在密碼那邊.發現行不通…
但是密碼應該就是跟這一大段有關.絕對有關!不然傳這一段幹嘛呢?
仔細看看這一大串的英文和數字.英文字母最多只有到f…
這是一個警訊!只有到f的話表示是16進位!這一大串英文跟16進位相關.假設每兩個字元代表一個字.那這一大串東西就是一段話.但是要怎麼把它變成一大段話呢?
直接作轉換:
Screen Shot
轉換後的全文如下:
He walked out in the gray light and stood and he saw for a brief moment the absolute truth of the world. The cold relentless circling of the intestate earth. Darkness implacable. The blind dogs of the sun in their running. The crushing black vacuum of the universe. And somewhere two hunted animals trembling like ground-foxes in their cover. Borrowed time and borrowed world and borrowed eyes with which to sorrow it.
這麼一大串文字,更不可能是解開的密碼吧…(笑)
小編就很天才的把所有的文字都貼到Google:
Screen Shot
看來這句話是The Road的引言.
於是就把The Road當作密碼解看看:(空格也要打喔)
(而且超吊詭的是… 我在linux和mac OS裡面都解不開.只有到windows才打得開==+)
sun{phUn_1n_7h3_c0MPl373_l4ck_0f_5UN}