今日目標(3 項)
理解逆向工程流程與常用工具(Ghidra、strings、objdump、readelf、rizin)。
實作靜態分析:用 strings/file 取得檔案基本資訊,反編譯並讀懂一段函式輸出。
辨識可疑呼叫(system, socket, fopen, execve 等)、硬編碼字串與潛在 I/O 行為並整理成 IOC。
必備工具(可在 VM/隔離環境安裝)
Ghidra(反編譯器,GUI)
radare2 / rizin(CLI 反向分析)或 objdump/ida-lite(若無 GUI)
strings, file, readelf, ldd(系統工具)
今日實作步驟(直接照做)
放一個簡單 binary 到分析目錄(若沒有,可用練習二進位或自己編譯一個包含 system() 調用的小程式)。
基本偵測:
file sample.bin
sha256sum sample.bin
strings sample.bin | sed -n '1,200p'
readelf -h sample.bin
ldd sample.bin # 若是 ELF 可檢視動態連結庫
用 Ghidra 開啟 sample.bin,等待分析完成,找到一個看似含有 I/O 或網路行為的函式(或用 rizin 打開並輸出反編譯片段)。
從反編譯輸出複製 20–40 行(函式片段),貼到 AI(或貼給我)做逐行分析,重點找出:
呼叫 system、execve、socket、connect、recv、fopen、fwrite 等;
字串 "SAVE:", "EXEC", IP、domain、路徑 /tmp/ 等硬編碼;
未經驗證的 memcpy/strcpy 使用(可能導致溢位或資料外洩)。
撰寫一頁分析報告(可簡短):檔案摘要(hash、大小)、發現的可疑呼叫、建議的動態分析步驟(用 strace/tcpdump/cuckoo)與 IOC 清單(domain/IP/paths/filenames)。
今天學習逆向工程基礎:安裝 Ghidra 與常用 CLI 工具,對 sample 做 strings、readelf、反編譯並找出可疑呼叫(如 system、socket、fopen)。我把發現整理成 IOC 與動態分析計畫(strace/tcpdump),理解到靜態分析能快速指引重點,但仍需在隔離環境做動態監控以驗證行為。下一步會將反編譯片段貼給 AI 逐行分析並實作 strace 捕證。