Exploit › Module 6 › Lesson 1
Reproduce Crash
Reproduce a crash on YOUR intentional buggy toy at $PWN_LAB — observe segfault or abort, do NOT craft an exploit payload.
Visual · t24_reproduce_crash
Reproduce crash = observe failure on YOUR toy. $PWN_LAB. Original Cyberlium.
Opening
A segfault on a toy you compiled is homework — a payload against a stranger's server is a crime.
Crash reproduction is the first defensive step after finding a memory bug: run YOUR intentional buggy toy C program on $PWN_LAB with a documented bad input, capture the exit signal (SIGSEGV, SIGABRT, sanitizer report), log UTC time, binary hash, compiler flags, and exact command line. Analyst literacy stops at reliable reproduction — you observe that corruption happened, not how to weaponize it. Cyberlium teaches reproduction on toys YOU authored or brief-assigned lab binaries with source beside the binary — NOT fuzzing production APIs, NOT sending crafted payloads to classmates' hosts, NOT turning a crash log into an exploit chain. Document: input that triggers crash, signal name, one-line hypothesis (e.g., stack buffer write). chmod 600 notes under $HOME/cyberlium-lab.
1. Reproduction workflow
Compile YOUR toy with documented flags on $PWN_LAB; record SHA256 and source path before run.
Apply one bad input at a time; note signal (segfault vs abort) and whether ASan/UBSan printed a report.
Command guide
Try these commands — Reproduction workflow
═══ TOOLS & WEBSITES ═══ Browse / read these (authorized learning only — stay in YOUR lab / program scope)
GDB starting — https://sourceware.org/gdb/current/onlinedocs/gdb.html/Starting.html CWE-121 — https://cwe.mitre.org/data/definitions/121.html (stack overflow crash) LiveOverflow — https://www.youtube.com/c/LiveOverflow (crash vs exploit boundary)
═══ INSTALL ═══
Linux (Debian/Ubuntu):
Command — copy this
sudo apt install gdb
macOS:
Command — copy this
brew install gdb
Windows: Use WSL gdb Use WSL or install file for Windows
═══ LINUX / macOS ═══
Optional command
sudo apt install gdb # gdb
Command — copy this
export LAB_PWN=${LAB_PWN:-$HOME/cyberlium-lab/t24-pwn}
file "$LAB_PWN/bin/build_vuln"observe crash; do NOT develop exploit
Command — copy this
printf '%64s ' | tr ' ' 'A' | "$LAB_PWN/bin/build_vuln" 2>&1 | tail -3 || true echo 'reproduce crash: long input to YOUR gets() toy — segfault expected — triage only'
Primary tools to practice this lesson: gdb, file. Reference sites: GDB starting (https://sourceware.org/gdb/current/onlinedocs/gdb.html/Starting.html); CWE-121 (https://cwe.mitre.org/data/definitions/121.html); LiveOverflow (https://www.youtube.com/c/LiveOverflow). Run every command in the box — install first, then the usage lines — only on YOUR lab / program scope.
2. What to capture
Command, input bytes or length, exit code/signal, stderr excerpt — enough for mentor to repeat on their $PWN_LAB copy.
Label observed vs inferred: 'SIGSEGV on 256-byte input' is observed; 'attacker owns RIP' is refused speculation here.
3. $PWN_LAB boundary
Targets: YOUR buggy toys, instructor lab binaries with source, CTF practice bins only when brief assigns.
Refused: stranger hosts, employer prod, crafting overflow bytes to hijack control — weaponization is next module's explicit refuse.
4. What you ship: crash reproduction card
Repro steps + signal log template + YOUR-toy-only line + no-payload refuse sentence.
5. What you record before the next lesson
Crash reproduction card path.
6. Wrong vs right: weaponized exploits vs memory-safety literacy
Worked failure — same MSF word, opposite target. Right never needs a café Wi-Fi or classmate laptop.
Wrong
Send 500-byte payload to classmate's web server 'to see if it crashes.'
Right
Crash reproduction card on YOUR $PWN_LAB toy. Next: GDB Observe.
Mission: crash reproduction card
1) Write five-step repro workflow. 2) Define signal log fields. 3) Document one toy crash with hash and input. 4) Write NEVER weaponize line.
Stuck? Ask Cyberlium AI Mentor
Ask Mentor: “SIGSEGV vs SIGABRT — which log first?”
Knowledge Check
APPLY: Crash reproduction on Cyberlium uses:
Multiple choice
Knowledge Check
APPLY: True or False: Crafting overflow bytes to hijack RIP is this lesson.
True or False
Knowledge Check
APPLY: Repro log should include:
Multiple choice