MISC – 圖片文件隱碼術

1. 文件類型識別

在沒有副檔名的情況下,我們可以透過以下方式識別文件類型:

  • Linux:使用 file 指令。格式如下:file 文件名
  • Windows:可用 WinHex 查看文件頭字段。推薦使用 Notepad++,並安裝 HEX-Editor 插件來進行檢視。

如果文件頭殘缺,可以使用 010Editor 編輯十六進制數據進行修復。

2. 文件分離操作

  • 方法一:在 Linux 使用 binwalk 工具分析和分離文件。binwalk 文件名 # 分析文件 binwalk -e 文件名 # 分離文件
  • 方法二:若 binwalk 無法正確分離,則可以使用 foremost 工具。foremost 文件名 -o 輸出目錄名
  • 方法三:當自動分離失敗時,可以使用 dd 工具手動分離。dd if=源文件 of=目標文件名 bs=1 skip=開始字節數
  • 方法四:用 010Editor 選擇十六進制區塊,右鍵保存以進行分離。

3. 文件合併操作

  • Linux:使用 cat 合併文件。bash複製程式碼cat 要合併的文件 > 輸出的文件 完整性檢查可用 md5sum 來驗證:md5sum 文件名
  • Windows:使用 copy /B 合併,並用 certutil -hashfile 進行 MD5 檢查。certutil -hashfile 文件名 md5

4. 文件內容隱寫

文件隱寫是指將關鍵資訊以十六進制形式隱藏在文件中,通常在文件的開頭或結尾,可以通過觀察這些區域來查找隱藏內容。若隱藏在中間部分,可以搜尋關鍵字(如 KEYflag)來檢視。


0x02 圖片文件隱寫

1. Firework

若在010Editor中看到文件頭包含 firework 字樣,則可以使用該工具尋找隱藏的圖片。

2. Exif

Exif 是一種在 JPEG 圖片中插入數字相機資訊的格式。可以透過圖片的「屬性」來檢視 Exif 信息,並在「詳細資料」選項卡中查找 flag

3. Stegsolve

當兩張 JPEG 圖片大小與像素相似時,可以用 Stegsolve 工具將圖片進行像素操作(如 ADD、SUB、XOR)來分析隱藏資訊。

4. LSB(最低有效位)

LSB 隱寫的基本原理是替換圖片像素的最低位以隱藏秘密資訊。可以用 zsteg 工具在 Linux 下進行檢測:

zsteg xxx.png

在 Windows 中,wbstego4 工具也能解密 LSB 隱寫的圖片。

5. TweakPNG

TweakPNG 是一個 PNG 圖像瀏覽工具,用於修改圖片的原始信息,例如修復 CRC 錯誤或修改寬高設置。

6. Bftools

Bftools 常用於解密圖片,可以用以下命令解密:

Bftools.exe decode 要解密的圖片名 -output 輸出文件名

7. SilentEye

SilentEye 是 Windows 下的一個可視化解密工具。

8. JPG 圖像加密

Stegdetect 工具可用於探測 JPEG 文件中的隱寫加密方式,如 JStegF5OutGuess 等。

9. Jphide

若使用 Stegdetect 檢測出 JPEG 圖片使用 jphide 加密,可以用 Jphs 來解密。

10. Outguess

Outguess 用於解密被加密的圖片資訊:

outguess -r 要解密的文件 輸出結果文件

11. F5

F5 是一種 JPEG 隱寫算法,透過 F5 工具可以進行解密。運行成功後,解密結果會保存於 output.txt 中。

You may also like