今日目標(3 項)
對一個 sample binary 做完整靜態分析(file、strings、symbols、反編譯片段)。
找出可疑呼叫(system、socket、fopen、memcpy 等)並標記可能的 I/O/網路行為。
產出簡短分析報告(IOC、可疑函式、下一步動態分析建議)。
步驟(照做)
把 sample binary 放到 ~/lab12/,記下檔名(例如 sample.bin)。
基本資訊與雜湊:
file sample.bin
sha256sum sample.bin
ls -lh sample.bin
搜字串與依賴:
strings sample.bin | sed -n '1,200p' # 看前200行有用字串
ldd sample.bin # 若是 ELF 可看動態連結(若無則忽略)
產生符號與反匯編(若有 objdump):
objdump -d sample.bin > disasm.txt
nm -C sample.bin | sed -n '1,200p' # 若有符號表
(備選)若安裝 Ghidra / rizin,開 GUI 或:
rizin -A sample.bin -qc 'pdf @ main' > rizin_main.txt
# 或在 Ghidra 開檔等待自動分析,複製 main 或可疑函式 20-40 行反編譯輸出
找出可疑呼叫(在 strings / disasm.txt 中搜尋):
grep -i -E "system|exec|socket|connect|recv|send|fopen|fwrite|memcpy|strcpy" -n disasm.txt
grep -n "SAVE:" disasm.txt || true
從 Ghidra/rizin/objdump 抄下一段 20–40 行的反編譯/反匯編輸出(選一個含 system、socket 或 fopen 的函式)。
撰寫報告草稿:包含(a)sample 基本資料(hash、大小、arch),(b)可疑呼叫清單與行號,(c) 建議的動態分析指令(strace / tcpdump)與要收集的 IOC。
今天進行靜態分析實作:用 file、sha256sum、strings 與 objdump 取得 binary 基本資訊,並在反編譯輸出中找出 system、socket 與 fopen 等可疑呼叫。我把可疑函式標記為優先調查對象,並擬定用 strace、tcpdump 捕證的動態分析計畫。靜態分析快速指引了重點,但仍需在隔離環境驗證行為與收集 IOC。