最近國內各種CTF層出不窮,看出來國家對于信息安全終于決定下重本了。因為本人比較喜歡研究怎么藏東西,所以一開始在CTF隊組建的時候,就負責了misc(雜項)中的Stego部分,中文翻譯過來是“隱寫術”。
烏云上也有好幾篇關于隱寫術的文章,其中以AppLeU0大大的那篇隱寫術總結最為經典,還有Gump大大的數據隱藏技術。在這兒,本菜鳥也想和大家分享在CTF中見到的比較好玩的stego題目。寫的不好,請大大們多多包涵。
隱寫術,在我們的生活中既熟悉而又陌生。記得童年回憶《貓和老鼠》有關于“隱寫術”的這一集:Jerry有一天在玩耍的時候,不小心往自己的身上涂了一種“神奇墨水”,然后把自己藏了起來,還成功的把Tom戲弄一通并趕走了Tom。這種“神奇“的墨水,叫“隱形墨水”,寫到紙上之后需要特殊處理才可以看得到對方想要給我們傳達的信息。
同樣的,在信息安全中,隱寫術也是舉足輕重的一塊領域,從我們最早接觸到的圖種(copy /b 1.jpg+1.torrent 1.jpg),到最近有事沒事就上個頭條的locky,看個圖片就中招的stegosploit,圖片木馬Stegoloader,還有就是最近三大高危CVE之一CVE-2016-3714(ImageMagick的,linux下用于處理圖像的一個應用),然后也有CHM打造后門,等等。總的來說,就和藏東西似的,能藏就藏,而我們就是要去尋找這種蛛絲馬跡。
在CTF中,老司機們可能更偏向于用UE/Winhex一類的16進制的編輯器去打開待分析文件,然后通過拼寫文件頭(嗯。常用的文件頭有幾類?)然后blah blah的解決了,也有一言不合就用腳本來解決的。然而,新手們尤其是像我這樣的菜鳥們,就比較喜歡用工具先分析一下有什么樣的發現,這時候,為什么不考慮使用binwalk呢?早年在freebuf上也有binwalk的身影。寒假刷XCTF的OJ的時候,binwalk用起來很方便,但是也有不方便的時候。
我要想藏個字符啥的,這個也是binwalk看不出來的。記得最近的某CTF曾經出過這道題:
你用binwalk也沒用,人家提示的是stegdetect,和表情包里的鏈接還有壓縮包都沒關系。后來大概是因為這張圖的緣故,還有了這篇文章:深入理解JPEG圖像格式Jphide隱寫
關于圖片和流量分析的隱寫可以參考開頭的安利,這兒主要討論關于mp4等其他格式的。
mp4的情況可以考慮使用ffmpeg,ffmpeg可以把一幀幀的視頻分割為一張張的圖片。具體怎么使用可以在linux下man ffmpeg。
今年被吊打過的CTF里,我們可以發現隱寫術不那么單調了,體現了隱寫術的特點之“物所能及不能藏”。不光是常見的jpg、tiff、png,
你真的舍得分開它嗎?出題點不在這兒,在乎Exif也。
還有這道:先看左邊(用pngcheck來分析的)
這貨處理處理就變了:
然后就耐心重排IDAT部分的模塊即可。
此外新的題目還涉及到了其它格式的諸如mp4,pdf,pcap(涉及到流量分析),midi,exe,TTL等等,此外,我還真沒見過往vmdk里藏東西的題目(如果有的話,也是會考察選手的磁盤分析能力吧)
word
感覺是會出現在宏或者說是隱藏字符這些小細節上,果然細節決定成敗啊……
這兒可以給大家推薦wbStego4open這個工具,目前出過的PDF的stego中還不算是很難,一般是以字符串為主。
pcap
這兒會考察選手們的流量分析能力,當然小白們有個特別偏的方法:foremost+strings,運氣好的話參考風云杯2016的misc06。
wav
估計有很多人會記得這張圖吧?還給了一首《渡口》
說到wav,之前看別人的WP囤了這么幾張圖:
看來腦洞還是蠻大的
midi
avi
avi的編碼標準不同導致的文件體積太大,比賽中應該不會放那么大的視頻文件供CTFer下載吧?但誰又能說的準呢?給大家安利一個MSU VideoStego,是用于分析avi文件的小工具。
exe
exe里藏東西其實還涉及到病毒行為分析,有可能是藏在殼內,也有可能是其他地方,具體情況可以使用IDA或者OD還有C32Asm來進行跟進分析。
mp4
在剛剛結束的風云杯2016上,比較有意思的一道misc04是關于加密與解密,同時還涉及到stego,先是zip偽加密破解,然后得到一張圖片。爾等菜鳥們用binwalk分辨出了文件頭分出來四張圖片,嗯?然后?其實在賽后處理這張圖發現了一個詭異的地方:
然后就沒然后了……
P.s. 老司機們看透了一切,早早在這兒打好了埋伏,這一次是使用了zip偽加密+stego+base32,殺了個misc的回馬槍……
這一塊可以深挖的東西還有很多,都是特別的有意思,如果隱寫術和密碼學結合起來,也是一道非常有意思的題目,也有見到和算法結合起來的"png number"(png套路蠻多的)。
個人感覺如果說是順著CTF這一塊往下挖的話,也挺考驗選手自身的基礎的。