參考大佬的博客:https://blog.csdn.net/a_small_rabbit/article/details/79644078java
深有感觸,以爲寫得比較全,所以將此篇文章記錄在此方便之後用獲得。node
0x01圖像隱寫術進行數據隱寫分爲如下幾類:
- 1.在圖片右擊查看屬性,在詳細信息中隱藏數據
- 2.將數據類型進行改寫(rar或者zip數據改成jpg等格式)
- 3.根據各類類型圖像的固定格式,隱藏數據
- 在編譯器中修改圖像開始的標誌,改變其原來圖像格式
- 在圖像結束標誌後加入數據
- 在圖像數據中加入數據,不影響視覺效果狀況下修改像素數據,加入信息
- 4.利用隱寫算法將數據隱寫到圖片中而不影響圖像(僅限於jpg圖像) 隱寫經常使用的算法有F5,guess jsteg jphide。
0x02破解隱寫術方法及步驟
- 1.查看圖像屬性詳細信息是否有隱藏內容
- 2.利用winhex或nodepad++打開搜索ctf,CTF,flag,key等關鍵字是否存在相關信息
- 3.檢查圖像的開頭標誌和結束標誌是否正確,若不正確修改圖像標誌恢復圖像,打開查看是否有flag或ctf信息,(每每gif屬於動圖,須要分幀查看各幀圖像組合所得數據 若不是直接的ctf或flag信息 須要考慮將其解碼)
- jpg圖像開始標誌:FF D8 結束標誌 :FF D9
- gif圖像開始標誌:47 49 46 38 39 61 (GIF89)結束標誌:01 01 00 3B
- bmp圖片開始標誌:42 4D //92 5B 54 00 00 00 00 00 結束標誌:00
- png圖片開始標誌:89 50 結束標誌:60 82
- 4.將圖片放置在kail系統中,執行binwalk xxx.jpg 查看圖片中是不是多個圖像組合或者包含其餘文件(若存在多幅圖像組合,再執行foremost xxx.jpg會自動分離;若檢測出其餘文件修改其後綴名便可,如zip)
- 5.使用StegSolve對圖像進行分通道掃描,查看是否爲LSB隱寫
- 6.在kail下切換到F5-steganography,在java Extract運行
- 命令:java Extract 123456.jpg圖片的絕對地址 -p 123456
- 判斷是否爲F5算法隱寫
- 7.在kali系統中使用outguess-master工具(須要安裝),檢測是否爲guess算法隱寫
0x03算法隱寫的具體操做
1.F5算法隱寫算法
具體操做:在kail下切換到F5-steganography,在java Extract運行app
命令:java Extract 123456.jpg圖片的絕對地址 -p 123456ide
2.LSB算法隱寫工具
具體操做:在Stegsolve.jar分析data Extract的red blue greenspa
3.guess算法隱寫.net
具體操做:在kail下切換到outguess目錄下,直接用命令便可調試
命令:outguess -r /root/angrybird.jpg(絕對路徑) 123.txt(信息存放的文本)code
0x04工具使用
1.MP3stego
encode -E hidden_text.txt -P pass svega.wavsvega_stego.mp3 Decode.exe -X -P pass(密碼) svega_stego.mp3(要拷貝到目錄下) //解碼
2.stedgetect
Stegdetect能夠檢測到經過JSteg、JPHide、OutGuess、Invisible Secrets、F五、appendX和Camouflage等這些隱寫工具隱藏的信息
s – 修改檢測算法的敏感度,該值的默認值爲1。檢測結果的匹配度與檢測算法的敏感度成正比,算法敏感度的值越大,檢測出的可疑文件包含敏感信息的可能性越大。
d – 打印帶行號的調試信息。
t – 設置要檢測哪些隱寫工具(默認檢測jopi),可設置的選項以下:
j – 檢測圖像中的信息是不是用jsteg嵌入的。
o – 檢測圖像中的信息是不是用outguess嵌入的。
p – 檢測圖像中的信息是不是用jphide嵌入的。
i – 檢測圖像中的信息是不是用invisible secrets嵌入的。命令:stegdetect.exe -tjopi -s10.0 xxx.jpg