iT邦幫忙

2026 iThome 鐵人賽

DAY 13
0
Security

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

Day 13:【Forensics】記憶體與 Log 鑑識初體驗:搜尋關鍵特徵字串

  • 分享至 

  • xImage
  •  

前言

在前面的章節中,我們專注於網路流量(.pcap)的監控與還原。然而當攻擊事件發生時,攻擊者留下的足跡不只會在網路上流動,更會深植於系統的**記憶體傾印檔(Memory Dump)與系統日誌(System / Web Logs)**中。

今天我們將邁入記憶體與 Log 鑑識的第一步,學習如何利用 Linux 經典命令列工具(如 strings、grep),在海量的二進位記憶體傾印或文字日誌中,精準搜尋關鍵特徵字串與威脅指標(IOC)。


本日目標

透過概念解析與實戰操作,掌握以下鑑識搜尋核心技能:

  1. 理解記憶體傾印檔(Memory Dump)與 Log 日誌在數位鑑識中的角色。
  2. 熟練運用 strings 工具從二進位檔案中提取可讀的可列印字串。
  3. 掌握 grep 與正則表達式(Regex)快速過濾威脅特徵(如 IP、Flag、Sensitive Key)。
  4. 學習結合 Pipeline(管道符號 |)建立高效率的命令列鑑識工作流。

預備觀念一:二進位記憶體與 Log 分析工具

1. strings 命令

二進位檔案(如 .raw、.dmp、mem.dump 或編譯後的執行檔)包含大量無法直接閱讀的機器碼。strings 工具能掃描檔案,將連續的可列印 ASCII / Unicode 字串印出:

  • 常用參數:
    • strings -n 8 file.bin:僅顯示長度大於或等於 8 個字元的字串(減少雜訊)。
    • strings -e l file.bin:搜尋 16-bit Little-Endian(Unicode)字串。

2. grep 命令

在巨量文字資料中精準定位目標:

  • 常用參數:
    • grep -i "keyword":忽略大小寫搜尋。
    • grep -n "keyword":顯示關鍵字所在的行號。
    • grep -E "pattern":使用延伸正則表達式(Extended Regex)。
    • grep -C 3 "keyword":顯示關鍵字前後各 3 行的上下文背景(Context)。

預備觀念二:威脅指標 (IOC) 常用正則表達式

在 Log 與記憶體分析中,鑑識人員常需要批次尋找以下特徵:

特徵類型 正則表達式 (Regex Pattern) 說明
IPv4 地址 [0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3} 搜尋網路連接點與來源 IP
CTF Flag 格式 academy\{.*\}, picoCTF\{.*\} 尋找目標旗標
Web 攻擊特徵 (?i)(SELECT|UNION|INSERT|<script) 搜尋 SQLi 或 XSS 攻擊跡象
敏感路徑 /etc/passwd, /etc/shadow, cmd.exe 搜尋系統敏感檔案讀取或 Shell 調用

實戰題目:strings it (記憶體與二進位檔案特徵擷取)

  • 題目分類: Forensics / General Skills
  • 題目主題: 二進位檔案剖析與關鍵字串過濾
  • 題目簡述: 鑑識團隊取得了一個名為 strings 的二進位檔案,請在不執行該檔案的前提下,找出隱藏於其中的關鍵 Flag。

實戰步驟記錄:命令列精準鎖定特徵字串

步驟一:下載題目檔案與環境準備

在 Linux / WSL 環境下載題目檔案並另存為 strings_it:

cd /mnt/c/Users/acer/Downloads
wget "[https://challenge-files.cylabacademy.net/library/dede17d717e026b75f6b9e7fb2c1601b46093ced6f209b8f6b27ffd883a9ae2f/strings](https://challenge-files.cylabacademy.net/library/dede17d717e026b75f6b9e7fb2c1601b46093ced6f209b8f6b27ffd883a9ae2f/strings)" -O strings_it

步驟二:結合strings與grep搜尋 Flag

使用strings提取二進位檔內的可列印字串,並透過管道符號|交給grep -E過濾符合 Flag 格式(picoCTF{ 或 academy{)的特徵字串:

strings strings_it | grep -E "picoCTF\{|academy\{"

指令執行後毫秒內回傳結果,順利擷取出目標 Flag:

academy{5tRiNg5_1T_b1e21039}

https://ithelp.ithome.com.tw/upload/images/20260927/20184211dlHRAEUx8z.png

最終答案(Flag)

academy{5tRiNg5_1T_b1e21039}

上一篇
Day 12:【Forensics】網路流量側錄 (二):還原 HTTP 傳輸檔案與 Stream 追蹤
下一篇
Day 14:【Forensics】壓縮檔密碼破譯:Zip 爆破與修復損毀 Header
系列文
CTF 菜鳥修練日誌 共 18 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言