iT邦幫忙

2026 iThome 鐵人賽

DAY 14
0
Security

CTF 菜鳥修練日誌系列 第 14 篇

Day 14:【Forensics】壓縮檔密碼破譯:Zip 爆破與修復損毀 Header

  • 分享至 

  • xImage
  •  

前言

在數位鑑識(Digital Forensics)與資安應變中,攻擊者除了將檔案壓縮加密外,也常運用**隱寫術(Steganography)**將敏感資料隱藏在看似普通的多媒體檔案(如 JPEG、PNG、WAV)中。當鑑識人員將資料萃取出來後,往往還需要面對古典密碼學或編碼層層保護。

今天我們將結合隱寫術萃取工具 steghide 與古典古典密碼學 Atbash Cipher,學習如何從圖片中還原隱藏資訊並破解密碼保護。


本日目標

透過概念解析與實戰操作,掌握以下隱寫術與密碼鑑識技能:

  1. 理解 JSteg / Steghide 隱寫術的基本原理與隱藏機制。
  2. 熟練掌握 steghide 指令進行隱藏檔案的檢測與萃取。
  3. 理解古典密碼學 Atbash Cipher(埃特巴什碼) 的對稱替換邏輯。
  4. 學習利用 Linux 內建 tr 指令進行高效的字元替換與解密。

預備觀念一:Steghide 圖片隱寫工具

steghide 是一款經典的隱寫術工具,能將秘密資料隱藏在 JPEG 圖片或 WAV/AU 音訊檔案的二進位頻域(DCT 係數)中:

  • 提取隱藏檔案指令:

    steghide extract -sf target.jpg
    
  • -sf (stego file):指定包含隱藏資訊的目標檔案。

  • 若隱藏時未設定密碼,提示 Enter passphrase: 時直接按下 Enter 即可。

預備觀念二:Atbash Cipher(埃特巴什碼)原理

Atbash Cipher 是一種極為經典的古典單表替換密碼,其解密邏輯為將 26 個英文字母進行首尾對調反轉:

  • 字母對照表:
明文 (A-Z): A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
密文 (Z-A): Z Y X W V U T S R Q P O N M L K J I H G F E D C B A
  • Linuxtr快速解密:
    在 Linux 命令列中,可利用tr進行一對一字元替換:
cat encrypted.txt | tr 'a-zA-Z' 'z-aZ-A'

實戰題目:HideToSee (隱寫萃取與古典密碼解密)

  • 題目分類: Forensics / Cryptography
  • 題目主題: Steghide 隱寫萃取與 Atbash Cipher 解密
  • 題目簡述: 鑑識團隊取得了一張名為 atbash.jpg 的圖片檔案,請利用隱寫分析工具提取內部隱藏的加密文字,並破解密碼取得最終 Flag。
    https://ithelp.ithome.com.tw/upload/images/20260928/20184211QAh7lfzkCp.png

實戰步驟記錄:從圖片隱寫到文字解密

步驟一:下載題目圖片與環境準備

在 Linux / WSL 環境下透過 wget 下載目標圖片:

cd /mnt/c/Users/acer/Downloads
wget "[https://challenge-files.cylabacademy.net/library/8033762450472ffeea8ef74c4098556d749abc1f4e836b849798e18e9554e5e5/atbash.jpg](https://challenge-files.cylabacademy.net/library/8033762450472ffeea8ef74c4098556d749abc1f4e836b849798e18e9554e5e5/atbash.jpg)" -O atbash.jpg

若系統未安裝 steghide,可透過套件管理器安裝:

sudo apt update && sudo apt install -y steghide

步驟二:執行 Steghide 萃取隱藏資料

使用steghide extract 圖片中萃取隱藏檔案:

steghide extract -sf atbash.jpg

當提示Enter passphrase 時,直接按下 Enter 鍵(密碼為空)。系統成功還原出隱藏的檔案 ncrypted.txt:

wrote extracted data to "encrypted.txt".

https://ithelp.ithome.com.tw/upload/images/20260928/20184211WqmGRGERIp.png

步驟三:讀取密文與 Atbash 解密

使用cat 提取出的文字:

cat encrypted.txt
# 輸出結果:zxzwvnb{zgyzhs_xizxp_zz003u7z}

觀察檔名提示atbash.jpg 密文結構,確認為 Atbash Cipher 加密。利用tr 令執行字母表反轉替換:

cat encrypted.txt | tr 'a-zA-Z' 'z-aZ-A'

https://ithelp.ithome.com.tw/upload/images/20260928/20184211mYfZd54dkN.png

順利將密文反轉還原為標準 Flag 格式:

picoCTF{atbash_cipher_aa003f7a}

最終答案(Flag)

picoCTF{atbash_cipher_aa003f7a}

上一篇
Day 13:【Forensics】記憶體與 Log 鑑識初體驗:搜尋關鍵特徵字串
下一篇
Day 15:【Forensics 小結】從鑑識角度看企業如何進行數位資安調查
系列文
CTF 菜鳥修練日誌 共 18 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言