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. 文件內容隱寫
文件隱寫是指將關鍵資訊以十六進制形式隱藏在文件中,通常在文件的開頭或結尾,可以通過觀察這些區域來查找隱藏內容。若隱藏在中間部分,可以搜尋關鍵字(如 KEY
或 flag
)來檢視。
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 文件中的隱寫加密方式,如 JSteg
、F5
、OutGuess
等。
9. Jphide
若使用 Stegdetect
檢測出 JPEG 圖片使用 jphide
加密,可以用 Jphs
來解密。
10. Outguess
Outguess
用於解密被加密的圖片資訊:
outguess -r 要解密的文件 輸出結果文件
11. F5
F5 是一種 JPEG 隱寫算法,透過 F5 工具可以進行解密。運行成功後,解密結果會保存於 output.txt
中。