一键导入
binary-analysis
Binary analysis and reverse engineering workflow using checksec, strings, binwalk, radare2, ropgadget, and gdb for CTF and vulnerability research
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Binary analysis and reverse engineering workflow using checksec, strings, binwalk, radare2, ropgadget, and gdb for CTF and vulnerability research
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Cloud and container security auditing workflow using prowler, trivy, kube-hunter, and docker-bench for AWS, GCP, Azure, Kubernetes, and container images
Exploitation workflow using Metasploit, msfvenom payload generation, and Exploit-DB search — from vulnerability identification to shell
Network reconnaissance workflow using nmap, masscan, and rustscan via NyxStrike tools
Password hash identification, cracking, and credential brute-forcing using hashid, john, hashcat, hydra, medusa, and ophcrack
SMB and Windows network enumeration workflow using nmap, smbmap, enum4linux, netexec, and nbtscan for share discovery, user enumeration, and lateral movement
Subdomain and DNS enumeration workflow using subfinder, amass, dnsenum, fierce, theharvester, gau, and waybackurls
| name | binary-analysis |
| description | Binary analysis and reverse engineering workflow using checksec, strings, binwalk, radare2, ropgadget, and gdb for CTF and vulnerability research |
Binary analysis and reverse engineering workflow for NyxStrike. Use this skill when a user has a binary file to analyse, wants to find vulnerabilities, extract strings/firmware, build ROP chains, or debug execution.
Always run checksec first to understand what mitigations are active:
run_tool(tool="checksec", file="/path/to/binary")
Key properties and what they mean:
| Property | Enabled = harder to exploit |
|---|---|
| NX / DEP | Stack is non-executable (no shellcode on stack) |
| PIE | Base address randomised (ASLR applies) |
| RELRO (Full) | GOT is read-only (no GOT overwrite) |
| Stack Canary | Stack overflow detection |
| FORTIFY | Safer libc functions enforced |
If no PIE + no NX + no canary → classic buffer overflow / ret2shellcode. If PIE + NX + Full RELRO → likely needs ret2libc or ROP chain.
Extract human-readable strings — often reveals passwords, flags, URLs, function names:
run_tool(tool="strings", file="/path/to/binary")
# Filter for interesting strings
run_tool(tool="strings", file="/path/to/binary",
additional_args="-n 8")
Look for: hardcoded credentials, flag format strings, file paths, debug messages.
For firmware images, compressed archives, or unknown file formats:
# Scan and identify embedded content
run_tool(tool="binwalk", file="/path/to/firmware.bin")
# Extract all identified content
run_tool(tool="binwalk", file="/path/to/firmware.bin",
additional_args="-e --run-as=root")
Disassemble functions, find references, examine imports and exports:
# Auto-analyse and list functions
run_tool(tool="radare2", file="/path/to/binary",
commands="aaa; afl")
# Disassemble main
run_tool(tool="radare2", file="/path/to/binary",
commands="aaa; pdf @main")
# Find cross-references to a string or function
run_tool(tool="radare2", file="/path/to/binary",
commands="aaa; axt @str.<string_name>")
# Check imports/exports
run_tool(tool="radare2", file="/path/to/binary",
commands="ii; ie")
Useful radare2 command reference:
| Command | Description |
|---|---|
aaa | Auto-analyse all |
afl | List all functions |
pdf @<func> | Disassemble function |
iz | List strings in data section |
ii | List imports |
ie | List exports |
axt @<addr> | Find cross-references to address |
When NX is enabled and you need a ROP chain:
run_tool(tool="ropgadget", file="/path/to/binary")
# Find specific gadget types
run_tool(tool="ropgadget", file="/path/to/binary",
additional_args="--rop --badbytes '00'")
Common gadgets to look for:
pop rdi; ret — set first argument (x64 calling convention)pop rsi; ret — set second argumentret — stack alignment (needed before some libc calls)syscall — for sigrop/syscall chainsRun the binary under gdb to observe runtime behaviour, find offsets, and test exploits:
# Basic gdb run
run_tool(tool="gdb", file="/path/to/binary",
commands="run < input.txt")
# With PEDA enhancements (pattern offset finding)
run_tool(tool="gdb_peda", file="/path/to/binary",
commands="pattern create 200; run")
Typical gdb workflow for buffer overflow:
pattern create 200 → create cyclic patternrun with pattern as input → binary crashespattern offset <crash_value> → find offset to return addresschecksec
├── No NX + No PIE + No canary → ret2shellcode
├── NX only (no PIE) → ret2libc (fixed addresses)
├── NX + PIE → leak libc/base address first, then ret2libc
└── Full protection → advanced: SROP, heap exploit, format string
strings before anything else — flags are sometimes just stored plaintext.checksec before spending time on ROP chain building — you may not need it.pdf @main to quickly orient yourself in the binary without a GUI.| Tool | Use case |
|---|---|
checksec | Binary security properties |
strings | Extract printable strings |
binwalk | Firmware analysis and extraction |
radare2 | Static disassembly and analysis |
ropgadget | ROP gadget discovery |
gdb | Dynamic debugging |
gdb_peda | GDB with PEDA exploit dev enhancements |