CTF中常遇到的圖片隱寫





PNG 格式簡介


文件格式對於PNG文件來講,其文件頭老是由固定的字節來描述的,剩餘的部分由3個以上的PNG數據(Chunk)按照特定的順序組成。java


文件頭89 50 4E 47 0D 0A 1A 0A + 數據塊 + 數據塊 + 數據塊…..linux



修改圖片高度


若是linux下打不開,windows下打得開可能就是該高度了。web

左邊是寬度,圈起來的是高度,把高度改的大一點。算法




文件尾追加文件


若是是追加文本,直接十六進制編輯器查看就能夠windows

若是追加的是圖片或者壓縮包之類的,可使用 binwalk 或者 foremost 來提取出來微信



圖片元數據


元數據(Metadata),又稱中介數據、中繼數據,爲描述數據的數據(Data about data),主要是描述數據屬性(property)的信息,用來支持如指示存儲位置、歷史數據、資源查找、文件記錄等功能。less


元數據中隱藏信息在比賽中是最基本的一種手法,一般用來隱藏一些關鍵的 Hint 信息 或者一些重要的好比 password 等信息。編輯器


聽着挺唬人實際就是文件屬性flex

這類元數據能夠 右鍵文件 -> 屬性 查看編碼



outguess


kali下使用

outguess -r avatar.jpg -t 1.txt

把 avatar.jpg 圖片破解信息的數據輸出到 1.txt



f5-steganography


連接:

https://pan.baidu.com/s/1avAdUWvzdWng_dQVcW-Zmw

提取碼:uwzg


F5隱寫加密:

java Embed 原圖片.jpg 生成的圖片.jpg -e 隱藏的文件.txt -p 密碼


F5隱寫解密:

java Extract 生成的圖片.jpg -p 密碼


演示:




ps. 之因此使用 jview 是看自帶的 .bat 文件是用的這個,可是用 java 貌似沒啥影響




Beyond Compare


使用軟件:

https://pan.baidu.com/s/1IajuX2HQVSVONkbCfjobfQ 

提取碼: uuch


安裝打開後界面是這樣的:點擊紅框框出來的



選擇圖片比較



上面還有一些選項能夠試試




IDAT信息隱藏


IDAT:存儲實際的數據,在數據流中可包含多個連續順序的圖像數據塊,儲存圖像像數數據。


在數據流中可包含多個連續順序的圖像數據塊。

採用 LZ77 算法的派生算法進行壓縮。

能夠用 zlib 解壓縮。


IDAT塊只有當上一個塊充滿時,纔會繼續下 一個新塊

若是有 IDAT 還沒填滿就填充了下一個就要考慮是否是有問題


命令:

pngcheck.exe -v sctf.png 能夠查看


也可使用 Stegsolve 的 Analysis -> File Format 有詳細介紹



這就說明這 138 是認爲添加的,把這個位置的內容保存出來,再進行其餘操做(文本進制轉換、寫圖片)



LSB信息隱藏


PNG文件中的圖像像數通常是由RGB三原色組成,每一種顏色佔用8位,取值範圍爲 0×00~0xFF,即256種顏色,一共包含了256的三次方的顏色,即16777216(1千677W)種顏色。人類的眼睛能夠區分約1000萬種不一樣的顏色,這就意味着人類的眼睛沒法區分餘下的顏色大約有6777216(677W)種


LSB隱寫就是修改RGB顏色份量的最低二進制位(LSB),每一個顏色都會有8bit,LSB隱寫就是修改了像數中的最低的1Bit,而人類的眼睛不會注意到這先後的區別,每一個像數能夠攜帶 3Bit的信息,這樣就把信息隱藏起來了


使用 Stegsolve 各個通道都看看,或者 Analysis -> Data Extract 合起來看看,有什麼熟悉的保存出來



GIF信息隱藏


在某一幀圖片藏着信息,用 ps 或者愛奇藝萬能播放器也能夠一幀一幀的看


每一幀圖片間隔時間,可能藏着規律,或許是二進制編碼、或許是摩斯密碼



NTFS流隱寫


安恆的一道題:貓片,先是 LSB 提取一個 png,而後改高度獲得完整的取反色,下載文件,獲得 RAR,使用 NTFS 流隱寫,打開軟件,而後用 winrar 解壓縮,而後掃描一下,發現一些其餘的東西,導出就能夠了。




掃描二維碼

獲取更多呦



本文分享自微信公衆號 - 陳冠男的遊戲人生(CGN-115)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。

相關文章
相關標籤/搜索