Steganography
課前環境配置
intext : LAVI
- 不要懷疑!又是我
- Slides are made by CHA
Agenda
- What is Steganography ?
- Misc、應用
- 先備知識
- 進位制、畫素、檔頭
- 工具們 Again
- WinHex、Binwalk、StegSolve......
Warning
飲血術?隱寫術!
- Miscellaneous
- 不讓非預期使用者得知詳細訊息
- 文字、圖片、聲音、影片......
- 和數位浮水印 & 密碼學是近親
Intro
- 安全性 + 隱蔽性 + 藏密量
- 色覺、聽閾......
- 著重隱藏資料
- 強健性不足
- 被發現就GG
- 找得到這頁藏了什麼嗎?
Feature
你該先了解這些
- 首見於萊布尼茲的著作
和牛頓一起搞微積分的混蛋
-
{ 0, 1, 2, ..., 7, 8, 9 }→ { 0, 1 }- (87) 10 = (1010111) 2
- 常見於計算機與資訊科學
Binary
1 \times2^6 + 0 \times 2^5 + 1 \times 2^4 + 0 \times 2^3 + 1 \times 2^2 + 1 \times 2^1 + 1 \times 2^0
- NOT ( ' )
- 0' = 1
- 1' = 0
- AND ( · )
- 1 · 1 = 1
- 0 · 0 = 0 · 1 = 1 · 0 = 0
Operators
- OR ( + )
- 1 + 1 = 0 + 1 = 1 + 0 = 1
- 0 + 0 = 0
- Boolean Algebra
- 手算?寫程式?
- Online Converter
- (816) 10 = ( ? ) 2
- A:1100110000
- (11011010) 2 = ( ? ) 10
- A:218
Ex.
- (1 · 0)' = ?
- = (0)'
- A:1
- (1' + 1)' = ?
- = (0 + 1)'
- = (1)'
- A:0
世界上有 10 種人
- { 0, 1, ..., 8, 9, A, B, C, D, E, F }
- (1443) 10 = (5A3) 16 = 0x5A3
- Online Converter
- (61) 10 = ( ? ) 16
- A:0x3D
Hexadecimal
5 \times16^2 + 10 \times 16^1 + 3 \times 16^0
- American Standard Code for Information Interchange
- 電腦常用編碼系統
- 128個字元
- "A" = 65 = 0x41
- "a" = 97 = 0x61
- "0" = 48 = 0x30
ASCII
- Pix (Picture) + Element
-
向量圖?點陣圖! - RGB (+ Alpha)
- Gigapixel
Pixel
- Red、Green、Blue
- Bin、Dec、Hex、百分比......
- 3 bytes = 3 x 8 bits (0~255)
- True color
RGB
湊近看螢幕可能會發現
- Magic Number
- 用來確保檔案格式
- 詳細資訊
- 每種檔案都有
-
副檔名-
開啟方式
-
- 常用Hex表示法
Header
- List of Fiile Signatures
- pdf
- 25 50 44 46 2D
- png
- 89 50 4E 47 0D 0A 1A 0A
- jpg
- FF D8 FF DB
E.g.
好用的工具們們們們......
- 免費的十六進位編輯器
- 數位鑑識、資料修復......
- WinHex Download
WinHex
- Text Editor + Hex Editor
- 層次分明的架構
- 五彩繽紛
-
要錢
- 試用版!
- 010 Editor Download
010 Editor
Lab 0x1 (5 min)
起手式:丟到工具裡瞧瞧
是個打不開的檔案
File → Open File...
找到後打開剛剛下載的meow.png
Hex
ASCII
怪怪der哦!
改成.png檔頭
- Chunk Specification
- Header chunk
- 第一且唯一
- 13 bytes
- 寬、高、深、顏色......
PNG IHDR
IHDR
Width
Height
怎麼改才看得到喵喵呢?
Binwalk
python src\scripts\binwalk <option> <file>
- 快速、簡單的分析檔案資料與結構
- 逆向工程
- 提取韌體資訊
- Binwalk Download
Binwalk 安裝
下載 → 解壓縮
python setup.py install
點左鍵後輸入 cmd
Lab 0x1 (cont'd) (5 min)
python src\scripts\binwalk -D=".*" -C="<folder>" <file>
python src\scripts\binwalk -e <file>
路徑 可拖拉圖片
藏了一個加密過的壓縮檔
輸入密碼解壓縮就看得到Flag囉~
- Exchangeable image file format
- 專門為數位相機設計
- 屬性資訊
- 拍攝資料
- 右鍵 → 內容
- 可被任意編輯
Exif
Lab 0x2 (2 min)
太簡單了!
BJ4
開始用神器搞事
- 雙擊 or
- 圖片隱寫解題神器
- Quick View
- Simple Check
- Online Tool
StegSolve
java -jar Stegsolve.jar
http://www.caesum.com/handbook/Stegsolve.jar
Stereogram
- Magic Eye
- 立體視覺圖
- 2D圖創造出3D效果
Lab 0x3 (3 min)
看得出Flag嗎???
File → Open
找到剛剛下載的圖片
Analyse → Stereogram Solver
將圖片的Pixel整行移動
方向鍵 or 滑鼠點擊
往左或往右 Offset
Frame Browser
- 觀察動圖
- 分析每幀的畫面
- GIF
Lab 0x4 (3 min)
似乎有個一閃而過的Flag?
File → Open → Analyse → Frame Browser
方向鍵 or 滑鼠左鍵點擊
Image Combiner
- 合併兩張圖
- XOR、AND、SUB、MUL......
Lab 0x5 (3 min)
給你滿滿的大平台喵喵們
File → Open → 打開原圖喵喵 → Analyse
→ Image Combiner → Lab喵喵 → 方向鍵 or 左鍵點擊
More_Jia_and_Sally
Lab_Image_Combiner
QR code
More_Jia_and_Sally
Lab_Image_Combiner
QR code
LSB
- Least Significant Bit
-
種顏色
- 人眼無法察覺細微變化
- 權重 ↓
- 影響 ↓
- LSB & 演算法
2^8 \times 2^8 \times 2^8 = 16,777,216
2^0
Lab 0x6 (2 min)
File → Open → 方向鍵 or 左鍵看各通道
Data Extract
- 按照特定方式、順序提取圖片資訊
- Bit plane
Lab 0x7 (5 min)
奴才別太天真
這不可能是Flag
File → Open → Analyse → Data Extract
Hex
ASCII
Extract的順序
Hex
位元平面
Steganography
By CHA
Steganography
- 528