ctf-malware

ctf-malware

熱門

提供 CTF 挑戰中的惡意程式分析與網路流量技術。適用於分析混淆腳本、惡意套件、自訂加密協定、C2 流量、PE/.NET 二進位檔、RC4/AES 加密通訊、YARA 規則、shellcode 分析、記憶體取證(Volatility malfind、程序注入偵測)、反分析技術(VM/沙箱偵測、時間規避、API 雜湊、程序注入、環境檢查),或提取惡意程式配置與入侵指標。

2725星標
329分支
更新於 2026/7/10
SKILL.md
唯讀
名稱
ctf-malware
描述

提供 CTF 挑戰中的惡意程式分析與網路流量技術。適用於分析混淆腳本、惡意套件、自訂加密協定、C2 流量、PE/.NET 二進位檔、RC4/AES 加密通訊、YARA 規則、shellcode 分析、記憶體取證(Volatility malfind、程序注入偵測)、反分析技術(VM/沙箱偵測、時間規避、API 雜湊、程序注入、環境檢查),或提取惡意程式配置與入侵指標。

CTF 惡意程式與網路分析

惡意程式分析 CTF 挑戰的快速參考。每個技術在此提供一行指令;詳細程式碼請參閱支援檔案。

前置需求

Python 套件(所有平台):

pip install yara-python pefile capstone oletools unicorn pycryptodome \
  volatility3 dissect.cobaltstrike

Linux (apt):

apt install strace ltrace tshark binwalk binutils

macOS (Homebrew):

brew install wireshark binwalk binutils ghidra

手動安裝:

  • dnSpy — GitHub,.NET 反編譯器(Windows)

其他資源

  • scripts-and-obfuscation.md - JavaScript 反混淆、PowerShell 分析、eval/base64 解碼、垃圾程式碼偵測、十六進位酬載、Debian 套件分析、動態分析技術(strace/ltrace、網路監控、記憶體字串提取、自動化沙箱執行)、YARA 規則用於惡意程式偵測、shellcode 分析(Unicorn Engine、Capstone)、記憶體取證(Volatility 3 malfind、程序注入偵測)、反分析技術(VM 偵測、時間規避、API 雜湊、程序注入)、木馬化外掛分析與自訂字母 C2 解碼
  • c2-and-protocols.md - C2 流量模式、自訂加密協定、RC4 WebSocket、DNS 型 C2、網路指標、PCAP 分析、AES-CBC、加密識別、Telegram 機器人復原、Poison Ivy RAT Camellia 解密
  • pe-and-dotnet.md - PE 分析(peframe、pe-sieve、pestudio)、.NET 分析(dnSpy、AsmResolver)、LimeRAT 提取、沙箱規避、惡意程式配置提取、PyInstaller+PyArmor

何時切換

  • 如果樣本其實只是普通的 crackme、加殼挑戰二進位檔或自訂 VM,且無惡意行為,請切換至 /ctf-reverse
  • 如果主要工作是網路重建、磁碟 carving 或主機遺留物復原,請切換至 /ctf-forensics
  • 如果挑戰轉為公開歸因或基礎設施追蹤,請切換至 /ctf-osint

快速入門指令

# 靜態分析
file suspicious_file
strings -n 8 suspicious_file | head -50
xxd suspicious_file | head -20

# PE 分析
python3 -c "import pefile; pe=pefile.PE('mal.exe'); print(pe.dump_info())" | head
peframe mal.exe

# 動態分析(沙箱內!)
strace -f -s 200 ./suspicious 2>&1 | head -100
ltrace ./suspicious 2>&1 | head -50

# 網路指標
strings suspicious_file | grep -E '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}'
strings suspicious_file | grep -iE 'http|ftp|ws://'

# YARA 掃描
yara -r rules.yar suspicious_file

混淆腳本

  • eval/bash 替換為 echo 以輸出底層程式碼;提取 base64/hex 區塊並用 file 分析。詳見 scripts-and-obfuscation.md

JavaScript 與 PowerShell 反混淆

  • JS:將 eval 替換為 console.log,解碼 unescape()atob()String.fromCharCode()
  • PowerShell:解碼 -enc base64,將 IEX 替換為輸出。詳見 scripts-and-obfuscation.md

垃圾程式碼偵測

  • NOP sled、push/pop 配對、無效寫入、無條件跳轉至下一指令。過濾以提取真實的 call 目標。詳見 scripts-and-obfuscation.md

PCAP 與網路分析

tshark -r file.pcap -Y "tcp.stream eq X" -T fields -e tcp.payload

在非標準連接埠上尋找 C2。使用 strings | grep 提取 IP/網域。詳見 c2-and-protocols.md

自訂加密協定

  • 串流加密器雙向共用金鑰串流狀態;按時間順序串接所有酬載。
  • ChaCha20 金鑰串流提取:發送 null 位元組(0 XOR 任何值 = 任何值)。詳見 c2-and-protocols.md

C2 流量模式

  • Beaconing、DGA、DNS 隧道、HTTP(S) 搭配自訂標頭、編碼酬載。詳見 c2-and-protocols.md

RC4 加密 WebSocket C2

  • 使用 tcprewrite 重新對應連接埠,加入 RSA 金鑰進行 TLS 解密,在二進位檔中尋找 RC4 金鑰。詳見 c2-and-protocols.md

識別加密演算法

  • AES:0x637c777b S-box;ChaCha20:expand 32-byte k;TEA/XTEA:0x9E3779B9;RC4:循序 S-box 初始化。詳見 c2-and-protocols.md

惡意程式中的 AES-CBC

  • 金鑰 = 硬編碼字串的 MD5/SHA256;IV = 密文的前 16 個位元組。詳見 c2-and-protocols.md

PE 分析

peframe malware.exe      # 快速分類
pe-sieve                 # 執行時期分析
pestudio                 # 靜態分析(Windows)

詳見 pe-and-dotnet.md

.NET 惡意程式分析

  • 使用 dnSpy/ILSpy 進行反編譯;AsmResolver 進行程式化分析。LimeRAT C2:AES-256-ECB 搭配 MD5 衍生金鑰。詳見 pe-and-dotnet.md

惡意程式配置提取

  • 檢查 .data 區段、PE/.NET 資源、登錄機碼、加密設定檔。詳見 pe-and-dotnet.md

沙箱規避檢查

  • VM 偵測、除錯器偵測、時間檢查、環境檢查、分析工具偵測。詳見 pe-and-dotnet.md

反分析技術

VM 偵測(CPUID、MAC 前綴、登錄檔、磁碟大小)、時間規避(sleep/RDTSC 沙箱偵測)、API 雜湊(ROR13/DJB2/CRC32 + hashdb 查詢)、程序注入(hollowing、APC、CreateRemoteThread)、環境檢查。詳見 scripts-and-obfuscation.md

木馬化外掛分析

將惡意外掛與官方版本比對,找出 try/except 區塊中的注入程式碼。自訂字母旋轉(C[(C.index(ch) - offset) % len(C)])解碼 C2 網域,XOR 解碼端點路徑。詳見 scripts-and-obfuscation.md

PyInstaller + PyArmor 解包

  • 使用 pyinstxtractor.py 提取,PyArmor-Unpacker 用於受保護程式碼。詳見 pe-and-dotnet.md

Telegram 機器人證據復原

  • 使用惡意程式原始碼中的機器人 token 呼叫 getUpdatesgetFile API。詳見 c2-and-protocols.md

Debian 套件分析

ar -x package.deb && tar -xf control.tar.xz  # 檢查 postinst 腳本

詳見 scripts-and-obfuscation.md

YARA 規則用於惡意程式偵測

撰寫 YARA 規則以比對檔案或記憶體傾印中的位元組模式、字串和正規表示式。偵測 XOR 迴圈({31 ?? 80 ?? ?? 4? 75})、base64 區塊、編碼 PowerShell。使用 yarac 編譯以加快掃描速度。詳見 scripts-and-obfuscation.md

Shellcode 分析

使用 objdump -b binary -m i386:x86-64 反組譯,使用 Unicorn Engine 模擬(安全地 hook 系統呼叫),或使用 Capstone 進行程式化反組譯。尋找 XOR 解碼器 stub。詳見 scripts-and-obfuscation.md

記憶體取證用於惡意程式

vol3 windows.malfind 偵測注入的程式碼(PAGE_EXECUTE_READWRITE 且無對應檔案)。windows.pstree 揭示可疑的父子關係。使用 yarascan.YaraScan 對記憶體進行 YARA 掃描。詳見 scripts-and-obfuscation.md

網路指標快速參考

strings malware | grep -E '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}'
tshark -r capture.pcap -Y "dns.qry.name" -T fields -e dns.qry.name | sort -u