1.隱寫術( steganograhy )
將信息隱藏到信息載體,不讓計划的接收者之外的人獲取信息。近幾年來,隱寫術領域已經成為了信息安全的焦點。因為每個Web站點都依賴多媒體,如音頻、視頻和圖像。隱寫術這項技術可以將秘密信息嵌入到數字媒介中而不損壞它的載體的質量。第三方既覺察不到秘密信息的存在,也不知道存在秘密信息。因此密鑰 數字簽名和私密信息都可以在開放的環境(如Internet或者內聯網)中安全的傳送
常見載體
- 圖片 (利用顏色差別)
- 音頻(音頻中左右聲道不一致,隱藏莫斯電報)
- 視頻
- 壓縮包
- 加密之中的隱寫(base64編碼混合隱寫)
.etc
圖像隱寫
- 利用細微的顏色差別
- GIF圖多幀隱藏 圖片一閃而逝,很多人都看不到
- EXIF信息隱藏 Exchangeable image file format 是專門為數碼相機的照片設定的,可以記錄數碼照片的屬性信息和拍攝數據。 tips:很多在線查看的軟件,可以試試到底是什么東西,電腦中的圖片屬性亦可
- 圖片修復
1.1 LSB(Lesat Sigbificant Bit)最低有效位,
LSB加密是信息隱藏中最基本的方法,通過修改像素三原色中最低一位的Bit,來達到隱藏效果。因為人類分別不了這么細致的色差。
常用工具
- stegsolve 查看圖片中隱藏的信息,也可以逐幀查看(Frame Browser) frame有幀,框架的意思,在web框架中會常看到這個詞
- Namo GIF
- Photoshop
1.2 圖片修復
圖片被損害,缺少某部分數據如頭文件等,需要對圖片進行修復
-
JEPG/JPG 文件頭標識(2 Bytes) :FF D8 文件結束標識: FF D9
(圖種)
CMD>copy /b 2.jpg+1.zip output.jpg
其中 /b表示一個二進位文件 1.zip是需要隱藏文件 2.jpeg是偽裝圖片 output.jpg是最終生成圖片與2.jpg沒有區別
查看隱藏的信息改output.zip解壓即可 使用時注意工作目錄
若無法判斷是何種文件拼在一起 linux 下使用 binwalk命令查看 -
PNG 文件頭標識(8 Bytes):89 50 4E 47 0D 0A 1A 0A
-
BMP 文件頭標識(2 Bytes):42 4D
-
GIF(6 Bytes): 47 49 46 38 39(37) 61
-
ZIP 文件頭標識 50 4B 03->PK
常用工具
- winhex
1.3 音頻隱寫
- 信息隱藏在聲音里(逆序)
- 信息隱藏在數據里(分析音頻數據)
- 工具 :MP3stego,!Audition!,Matlab
1.4 視頻隱寫
信息被隱藏到視頻的某個或者多個幀里
- 工具 :Premiere
2.密碼學及編碼
密碼學是研究編制密碼和破譯密碼的技術科學。研究密碼變化的客觀規律,應用於編制密碼以保守通信秘密的,稱為編碼學;應用於破譯密碼以獲取通信情報的,稱為破譯學,總稱密碼學。
2.1 古典密碼學
- 凱撒密碼(Caeser):對應字母位移固定長度,類比於rot
- 柵欄密碼(Rail Fence Cipher):
- 明文:HELLOWORLD 分組:HELLO WORLD 密文:HWEOLRLLLOD(2欄)
- 欄數為密文長度的約數,明文長度與密文長度相同
- 弗吉尼亞密碼(Vigenere Cipher)
- 二維密碼加密
- 明文:HELLOWWORLD 密文:GOOD 密文:NSZOUKCURR
- 取明文密文焦點 ,以abcd...為 X軸 以abcd...為 Y軸
工具:在線平台
2.2 現代密碼學
1949年香農發表《保密系統的通信理論》標志着現代密碼學的真正開始(第一次質的飛躍)。1976年,Diffie和Hellman發表《密碼學的新方向》,標志着公鑰密碼體制的誕生(第二次質的飛躍)。1978年,Rivest、Shamir和Adleman提出了RSA公鑰密碼體制。
機密性、完整性、可用性、認證性和不可否認性
2.2.1 對稱加密算法
加密解密使用同一密鑰,速度快於非對稱加密。找到密鑰是關鍵
- 常見對稱加密算法 : DES ,3DES ,AES
工具:在線平台
2.2.2 非對稱加密算法
分為公鑰和私鑰,公鑰加密私鑰解,私鑰加密公鑰解,詳見:PKI加密技術多用於https,和電子商務。
- 常見非對稱加密算法 : RSA ,Elgamal , 背包算法,Rabin,D-H,ECC
2.2.3 CTF中的密碼
-
豬圈密碼: 方框中包含點。原諒我不想找圖床了。
-
培根密碼:aaaaa aaaba
-
鍵盤密碼:電腦鍵盤的位置模擬畫出圖案 eg.4esxctf5 為O
3 編碼
3.1 Base64編碼
標准的Base64並不適合直接放在URL里傳輸,因為URL編碼器會把標准Base64中的“/”和“+”字符變為形如“%XX”的形式,而這些“%”號在存入數據庫時還需要再進行轉換,因為ANSI SQL中已將“%”號用作通配符。
為解決此問題,可采用一種用於URL的改進Base64編碼,它在末尾填充'='號,並將標准Base64中的“+”和“/”分別改成了“-”和“”,這樣就免去了在URL編解碼和數據庫存儲時所要作的轉換,避免了編碼信息長度在此過程中的增加,並統一了數據庫、表單等處對象標識符的格式。
另有一種用於正則表達式的改進Base64變種,它將“+”和“/”改成了“!”和“-”,因為“+”,“*”以及前面在IRCu中用到的“[”和“]”在正則表達式中都可能具有特殊含義。
此外還有一些變種,它們將“+/”改為“-”或“.”(用作編程語言中的標識符名稱)或“.-”(用於XML中的Nmtoken)甚至“:”(用於XML中的Name)。
Base64要求把每三個8Bit的字節轉換為四個6Bit的字節(3 * 8 = 4 * 6 = 24),然后把6Bit再添兩位高位0,組成四個8Bit的字節,也就是說,轉換后的字符串理論上將要比原來的長1/3。
解決網絡傳輸中不可見字符的問題(不太清楚)
tips: 編碼尾端見到 = 一般就是了
3.2 URL編碼
為了解決URL中鍵值對規則的問題。http://xxx.com/?x=123&y=456#test(get方式 ?后跟鍵值對 &多個鍵值對的組合 #網頁位置定位 ),想要傳輸特殊符號就要用到URL編碼
將符號用ascii碼的16進制表示,如 “<” 的ascii是60,轉為 16進制是3C,URLencode是%3C
3.3 JOTHER [, ], (, ), {, }, +, ! 可在瀏覽器中的console 中直接還原 javacript相關
4. 摘要
- MD5 摘要 已被破解
- SHA1
5. 電子取證
日志分析:通過日志分析尋找隱藏在其中的信息。
SQL注入點查找
WEBSHELL的查找
用戶訪問敏感路徑的查找等等
6. 常用工具集及使用方法
6.1 隱寫術工具
- Stegsolve.jar
- 010Editior( 可以導入16進制的文本) / WinHex
- photoshop
- Audition
- Cortex Scan 手機二維碼掃描軟件 快速准確
6.2 常用密碼編碼工具
- 在線加密解密平台
- Python腳本 網上很多
- CTF解密框架.jar(https://github.com/0Chencc/CTFCrackTools?releases)可以放入自己的腳本
- Burpsuite的Decoder模塊 是內置模塊
6.3 流量分析工具
Wireshark的基本使用方法:篩選器的使用 追蹤流 文件導出
文件后綴一般為 .pcap
- 篩選器(上方輸入框)
- 協議篩選 : http ftp .etc
- IP地址篩選: IP.addr == 192.168.1.1