今日目標(3 項)
在隔離 VM/容器執行 sample,監控並記錄系統呼叫(文件、process、network)。
使用 strace / ltrace(Linux)或 Procmon(Windows)與 tcpdump 捕捉關鍵證據(IO、出站連線、spawn process)。
彙整行為摘要、產生 IOC(檔案路徑、IP、命令)並寫出下一步偵測/緩解建議。
必做指令(在隔離 VM 執行)
建快照(重要)
# VM 或 Docker snapshot 視環境不同
strace(捕系統呼叫)
sudo strace -f -o run_strace.log ./sample.bin
ltrace(追 library 呼叫)
sudo ltrace -f -o run_ltrace.log ./sample.bin
tcpdump(捕本機網路)
sudo tcpdump -i lo -w run_day13.pcap
(在程式執行期間啟動;結束後 Ctrl+C)
若為 Windows sample,用 Procmon(GUI)錄製並過濾 process 名稱。
捕捉產生的檔案與 hash:
find /tmp -type f -mmin -10 -exec sha256sum {} \;
實作步驟(照做)
在隔離 VM 建快照。
啟 strace/ltrace 與 tcpdump(同時在不同 terminal)。
執行 sample,等待其完成或觸發可疑行為,再停止抓取。
讀取 run_strace.log、run_ltrace.log,搜尋 open, write, execve, connect, sendto, fopen, system。
用 tshark -r run_day13.pcap -T fields -e ip.src -e ip.dst -e tcp.port -Y "ip" 提取出站 IP/port,並計算檔案 hash。
撰寫行為摘要(最多 10 行):列出發現的檔案寫入、外連 IP、執行命令與建議的 IOC。
交付物(貼給我檢查)
run_strace.log 中顯示的 20–40 行重點片段(包含 execve/open/connect)。
tshark 或 tcpdump 摘要:出站 IP 與 port 列表。
一頁行為摘要(5–10 行)與至少 3 個 IOC(格式:type:value,如 ip:1.2.3.4、file:/tmp/mal、cmd:system('...'))以及 2 條偵測建議。
注意與安全
嚴禁在非隔離環境執行未知 sample。
捕獲的 pcap 與 logs 含敏感資料,請安全保存或加密。
若 sample 嘗試對外連線,可考慮用 socat / netcat 模擬 C2 回應,或先使用 iptables 阻斷實際外網。
今天完成 Day13:在隔離 VM 用 strace、ltrace 與 tcpdump 進行動態分析,成功捕獲到程式的檔案寫入、外連嘗試與 exec 呼叫。透過行為紀錄我整理出初步 IOC(出站 IP、寫入路徑、命令字串),並擬定偵測規則與下一步的 C2 模擬計畫。動態分析讓靜態發現的疑點得到驗證,收穫豐富。