Funny的多媒體文件隱寫題

0x01 題目背景

前不久參加某網絡安全競賽,在上午的理論考試和CTF中被虐的體無完膚,不僅因爲參賽者的實力強大,更是因爲出題者的腦袋“骨骼精奇”,很多題目的解答思路都很新奇。

其中有一道misc類型的題目被我鑽研了很久,但是最後比賽結束了也沒有找出flag,心裏實在是不爽。於是在比賽結束的當晚我繼續鑽研本題,最終找到了隱藏的flag。

0x02 文件分析

首先題目沒有任何提示,只有一個下載附件的超鏈接,下載完附件後發現是一個MKV格式的視頻文件,文件的名字叫“funny_video”。

圖2.1 題目提供的視頻文件

看到是MKV格式的文件,我首先想到的就是flag會不會隱藏在視頻的某一幀中(雖然希望很渺茫),所以馬上打開視頻先快速看一遍。結果發現是一個電影的片段,乍看上去沒有任何異常。接着我就開始一幀幀地看,也沒有任何發現,果然出題者不會那麼容易把flag交出來。

圖2.2 視頻的截圖

然後我用視頻編輯軟件和播放器查看這個視頻的相關屬性,也是沒有發現異常,各種編碼信息看起來是正常的,當然也有可能是我對MKV格式的不熟悉導致未發現異常。

圖2.3 視頻的編碼信息

把這個視頻文件直接丟到WinHex中分析一下,也沒有什麼有用的發現,甚至在WinHex中打開了另一個普通的MKV文件進行前幾行的編碼對比,但還是沒有找到與flag有關的信息。

圖2.4 WinHex的截圖

到這裏比賽已經進行到了一大半,我暫時放下本題去分析其他的題目。不久後我又打開這個文件繼續分析,剛剛從圖像、視頻編碼信息和WinHex上都沒有突破,那麼flag會不會在音頻中呢?因爲之前的操作我都是關閉了電腦的聲音,根本沒想過本題與視頻的聲音有關。我馬上打開電腦的聲音認真聽了幾遍視頻裏播放出的聲音,都是正常的電影的對白和背景音樂,沒有聽出異常的地方。

分析到了這裏還是沒有找到flag的突破口,我已經是非常沮喪了,比賽也臨近結束了。可是我還是不願意放棄,在播放器中查看一切與該視頻有關的信息,終於我發現了一個奇怪的地方,就是這個視頻有兩個音軌!

圖2.5 視頻文件中的兩個音軌

懷揣着激動的心情選擇了第二個音軌,又聽了幾遍第二個音軌放出的聲音,結果跟第一個音軌的聲音一樣。到這裏我基本可以確定flag就是在這個音軌裏了,只可惜當時電腦沒有分離視頻中的音頻的軟件,而且剩餘的時間也不夠了,所以最終很遺憾沒有提交該題的flag。

0x03 再次出發

當天的比賽結束後一直惦記着這道題,甚至去搜索了與視頻有關的writeup,沒有搜到相關的文章,但是搜出了一些音頻文件隱寫題的分析文章。一想到比賽最後發現的雙音軌,我決定去試試從音頻下手。

我首先下載好MKVToolNix這個軟件,這是個功能強大的MKV格式處理軟件,具體有哪些功能就不多說了,我這次要用到的功能就是將MKV格式中的音頻提取出來。直接把視頻文件拖進MKVToolNix中,然後分別將兩個音頻文件分離出來,準備接下來的音頻分析。

圖3.1 用MKVToolNix分離音頻

打開專門處理音頻的軟件—Audacity,先把第一個音軌的音頻文件拖進Audacity中。不出意外,在波形圖、波形(dB)圖和頻譜圖中均未找到flag,也沒有發現類似摩斯密碼的東西。到這裏很明顯第二個音軌文件就是突破口。

0x04 突破口

還是在Audacity中打開第二個音軌的音頻文件,波形圖和波形(dB)圖跟第一個音軌的一樣,顯然flag不在這裏。

圖4.1 第二個音軌的音頻文件的波形圖和波形(dB)圖

接下來就是頻譜圖,一打開頻譜圖就發現了苦苦尋找的flag,雖然沒能在比賽中解出該題,但是也算給自己增長了經驗,還是有所收穫的。

圖4.2 藏在頻譜圖中的flag

0x05 總結

由於之前接觸的多媒體文件隱寫題較少,而且只見過音頻文件的隱寫,所以第一次遇到視頻文件的隱寫題有點力不從心。另一方面也是自己的思維不夠開闊,沒有及時聯想到視頻文件中的音頻文件也可以分離出來做分析,一看到視頻格式的文件就只想到與視頻或圖像相關的角度去分析。這道題目現在看起來不算特別難,出題者甚至沒有利用音頻文件的波形圖進行摩斯密碼加密隱藏flag,只是利用了視頻文件迷惑了參賽者,剛拿到題目容易只從視頻的角度去解題。所以說對於新手還是要多做題積累經驗,儘量開闊自己的思維並學會聯想其他解題的思路或角度。

*本文作者:zsg045,轉載請註明來自FreeBuf.COM

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