文件操作隱寫
圖片隱寫
壓縮文件處理
流量取證技術
文章本來是分成4部分的,但是前兩部分何在一起寫了也就沒有分開,所以干脆就只分了兩部分
文件基本類型的識別
一、kail 下
file 文件名
原理就是識別文件文件頭
比如這個軟件:
二、WinHex
通過winhex分析能得到16進制和ascii, flag可能就在右邊ascii區頭部或尾部。
三、文件頭殘缺、錯誤
只告訴說是一個data文件;
這時要進行修復:編輯文件頭區域修改為正確的方式 。
文件分離操作
一、Binwalk 工具
用法:
分析文件:binwalk filename
分離文件: binwalk -e filename
:分離出的壓縮包,通常會自動解壓出來。
二、foremost
有時候binwalk -e 分離不出,則用 foremost
我一直都是binwalk查看,然后foremost分離
方法
foremost 文件名 -o 輸出目錄名
直接 foremost 文件名
也會自動生成文件夾輸出到當前目錄下
三、dd
前兩個工具都是自動分離,有些題目復雜,如果都分離不出,可以使用dd實現文件手動分離。
單純的題目:文件一部分是jpg,一部分是zip
復雜的題目:文件混雜,jpg和zip混合
圖二上 1324的文件排列順序,兩種文件混合
假設有個 1.txt 文件內容123456789abcdefg。
格式:
dd if=源文件 of=目標文件名 bs=1 skip=開始分離的字節數
參數說明:
if=file #輸入文件名,缺省為標準輸入
of=file #輸出文件名,缺省為標準輸入
bs=bytes #同時設置讀寫快的大小為bytes,可代替ibs和obs
skip=blocks #從輸入文件開頭跳過blocks個塊后再開始輔助。
四、winhex
除了dd,還可以使用winhex手動分離,將目標文件拖入winhex中,找到要分離的部分,點擊復制
五、010Editor
選中-右鍵選擇selection–save selectionb.
有的題目給了一個txt文件 打開是16進制文段,010Editor打開查看文件頭,找出文件類型,另存為正確文件類型即可。
文件合并
一、Linux下的文件合并
使用場景:Linux下,通常對文件名相似的文件要進行批量合并
格式 :cat 合并的文件 > 輸出的文件
有md5可以進行完整性校驗的話
>> md5sum 文件名
二、windows下的文件合并
格式:copy /B 合并的文件(用加號連接,Linux空格即可) 合并后的文件名
copy /B gif01+gif02 2.gif
完整性校驗:
certutil -hashfile 2.gif md5
:這些步驟大都只是一個解題步驟,文件合并了還打不開,可以查看文件頭是否錯誤。
文件內容隱寫
通常KEY以十六進制的形式寫在文件中,通常在文件的開頭和結尾部分如果在文件中間部分,通常搜索關鍵字KEY或者flag來查找隱藏內容。
window下
一、Winhex/010editor
二、Notepad++
010Editor最下方的查找。
使用的工具Linux下的 kail有自帶
window下的自行下載
Winhex
010editor
Notepad++