Cyberlium

Exploit › Module 6 › Lesson 1

BeginnerModule 6Lesson 1/5

Reproduce Crash

Reproduce a crash on YOUR intentional buggy toy at $PWN_LAB — observe segfault or abort, do NOT craft an exploit payload.

15 min+40 XP3 quiz
Module progress1 of 5

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

1

APPLY: Crash reproduction on Cyberlium uses:

Multiple choice

Knowledge Check

2

APPLY: True or False: Crafting overflow bytes to hijack RIP is this lesson.

True or False

Knowledge Check

3

APPLY: Repro log should include:

Multiple choice

← Previous

Answer all 3 knowledge checks to continue. (0/3 answered)