一、前言
想必大家在案件中或者我們在比武中遇到了很多關于文件的隱寫問題,其實這一類的東西可以進行分類,而我們今天探討的是圖片隱寫,音頻隱寫,電子文檔隱寫,文件頭和文件尾的認識。
二、常見文件頭和文件尾
2.1圖片:
JPEG
文件頭:FF D8 FF
文件尾:FF D9
TGA
未壓縮的前4字節 00 00 02 00
RLE壓縮的前5字節 00 00 10 00 00
PNG
文件頭:89 50 4E 47 0D 0A 1A 0A
文件尾:AE 42 60 82
GIF
文件頭:47 49 46 38 39(37) 61
文件尾:00 3B
BMP
文件頭:42 4D
文件頭標識(2 bytes) 42(B) 4D(M)
TIFF(tif)
文件頭:49 49 2A 00
ico
文件頭:00 00 01 00
Adobe Photoshop(psd)
文件頭:38 42 50 53
2.2 office文件
MS Word/Excel(xls.or.doc)
文件頭:D0 CF 11 E0
MS Access(mdb)
文件頭:53 74 61 6E 64 61 72 64 20 4A
WordPerfect(wpd)
文件頭:FF 57 50 43
Adobe Acrobat(pdf)
文件頭:25 50 44 46 2D 31 2E
application/vnd.visio(vsd)
文件頭:D0 CF 11 E0 A1 B1 1A E1
Email [thorough only](eml)
文件頭:44 65 6C 69 76 65 72 79 2D 64 61 74 65 3A
Outlook Express(dbx)
文件頭:CF AD 12 FE C5 FD 74 6F
Outlook(pst)
文件頭:21 42 44 4E
Rich Text Format (rtf)
文件頭:7B 5C 72 74 66
txt 文件(txt)
文件頭:Unicode:FE FF / Unicode big endian:FF FE / UTF-8:EF BB BF /ANSI編碼是沒有文件頭的。
2.3壓縮包文件
ZIP Archive(zip)
文件頭:50 4B 03 04
文件尾:50 4B
RAR Archive(rar)
文件頭:52 61 72 21
2.4音頻文件
Wave (wav)
文件頭:57 41 56 45
audio(Audio)
文件頭: 4D 54 68 64
audio/x-aac(aac)
文件頭:FF F1(9)
2.5視頻文件
AVI(avi)
文件頭:41 56 49 20
Real Audio(ram)
文件頭:2E 72 61 FD
Real Media(rm)
文件頭:2E 52 4D 46
MPEG(mpg)
文件頭:00 00 01 BA(3)
Quicktime(mov)
文件頭:6D 6F 6F 76
Windows Media(asf)
文件頭:30 26 B2 75 8E 66 CF 11
MIDI(mid)
文件頭:4D 54 68 64
代碼文件
XML(xml)
文件頭:3C 3F 78 6D 6C
HTML(html)
文件頭:68 74 6D 6C 3E
Quicken(qdf)
文件頭:AC 9E BD 8F
Windows Password(pwl)
文件頭:E3 82 85 96
其他類型
windows證書文件(der)
文件頭:30 82 03 C9
CAD(dwg)
文件頭:41 43 31 30
Windows Shortcut(lnk)
文件頭:4C 00 00 00
Windows reg(reg)
文件頭:52 45 47 45 44 49 54 34
三、圖片隱寫
3.1附加式的圖片隱寫
操作系統識別,從文件頭標志,到文件的結束標志位,當系統識別到圖片的結束標志位后,默認是不再繼續識別的,所以可以在文件尾后面加東西。
1、附加字符串
最簡單的是附加字符串。
附加方法:winhex直接附加再保存。
識別方法:使用工具或者命令。winhex直接看,notepad也可以看linux的strings指令。
2、隱藏壓縮文件
可以把壓縮文件藏在圖片文件尾后,看起來還是圖片。
附加方法入下:winhex直接附加再保存。
識別方法:有些直接改擴展名就可以用,linux的binwalk指令,winhex復制壓縮文件內容重新保存。
3、基于文件結構的圖片隱寫,主要是針對PNG圖片。
標準的PNG文件結構應包括:
PNG文件標志。
PNG數據塊:關鍵數據塊和輔助數據塊,其中正常的關鍵數據塊有長度、數據塊類型碼、數據塊數據和CRC這4種。
PNG圖片文件頭數據塊(IHDR)。
PNG圖片的第一個數據塊,一張PNG圖片僅有一個IHDR數據塊,包括了圖片的寬、高、圖像深度、顏色類型、壓縮方法等信息。
藍色部分就是IHDR,可以修改高度值或寬度值對部分信息進行隱藏,如果圖片原本是800(寬)*600(高),然后圖片的高度從600變成500,這樣下面800×100區域的信息就無法從圖片中顯示出來,我們可見的只有上方800*500的區域,這樣就達成了圖片隱寫的目的,同理可知圖片的寬度也可以進行類似的修改以達到隱藏信息的目的。
識別方法如下:
用winhex或者010Editor等編輯器打開圖片;修改長度或寬度值,在修改文件后,需要利用CRC Calculator對CRC校驗碼進行重新計算賦值,以防圖片被修改后,自身的CRC校驗報錯,導致圖片不能正常打開。
四、音頻隱寫
頻譜圖藏信息、高低位二進制、波形藏摩斯密碼、MP3Stego、音頻中也有LSB。
這部分的隱寫文件需要進行一些工具以及編碼上的知識,這里放一個可以學習的網站大家可以進行學習:
https://www.sqlsec.com/2018/01/ctfwav.html#Writeup-2。
五、電子文檔隱寫
5.1隱藏文字
我們直接查看文件設置即可。
5.2文字隱藏
這里我也是給大家一個連接可以自行進行查看示例。
https://fishpond.blog.csdn.net/article/details/109840744
六、總結
本次分享聚焦于以上內容,我們還將探討其他隱寫技術以及各類文件的文件頭和文件尾。希望本次的分享能為大家提供有益的參考,同時歡迎各位共同交流與分享。