Skip to content

Repo containing course materials from our paper, "Pwn Lessons Made Easy With Docker: Towards an Undergraduate Vulnerability Research Cybersecurity Class"

Notifications You must be signed in to change notification settings

tj-oconnor/undergrad-vr

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Vulnerability Research Course Materials

About

The following repository contains the containers, labs, and code used in our undergraduate vulnerability research course described in our SIGCSE 2024 paper

Please cite using: TJ OConnor, Alex Schmith, Chris Stricklan, Marco Carvalho, Sneha Sudhakaran. Pwn Lessons Made Easy With Docker: Toward an Undergraduate Vulnerability Research Cybersecurity Class. Special Interest Group on Computer Science Education (SIGCSE 24), Portland, OR, March 2024 [bib] [pdf]

Course Virtualization Using Docker

Course Docker Container

For our class, we standardized the student environment by providing a Docker container with all the appropriate course tools and class demonstrations. These challenges are patched with the appropriate libc versions and the scripts and verified to work for the course image. You can pull the course image from dockerhub using docker pull tjoconnor/vr-course. For more about the container, review README.md

Challenge Docker Container

We also standardized deploying course challenges (homework assignments) to our hosting infrastructure at ctfd.io. For usage of this container, review README.md .

Course challenges (homework assignments) available to faculty on request to toconnor [at] fit.edu.

Lessons

We leveraged the course topics below to teach undergradaute students from the basics of stack-based binary exploitation up to advanced techniques in the kernel and heap. In each lecture, we delivered lessons that exposed the technical underpinnings of exploit techniques. Our suggested readings, slides, and demonstrations are included below. All demonstrations are included in the tjoconnor/undergrad-vr docker container and verified to work.

Lessons Recommended Readings Class Demonstration
1 ret2plt BugTraq Mailing List: lpr LIBC RETURN exploit demo
2 ret2csu Return-to-csu: A new method to bypass 64-bit Linux ASLR demo
3 ret2dlresolve The advanced return-into-lib(c) exploits: PaX case study demo solves UTCTF Resolve Problem
4 srop Framing Signals—A Return to Portable Shellcode demo builds on ir0nstone SROP example
5 jop Jump-Oriented Programming: A New Class of Code-Reuse Attack demo based On ViolentPenTest CTFSG CG Solve
6 brop Hacking Blind demo
7 aarch64 ROP-ing on Aarch64 - The CTF Style demo
8 Integer Overflows Basic Integer Overflows
9 Array Index Abuse Tool Interface Standard (TIS) Executable and Linking Format (ELF) Specification v.1.2 demo
10 Type Confusion Unionized - CyberGames 2021 Writeup demo based on Knittingirl's MetaCTF Unionized Solve
11 Shellcode Writing UTF-8 compatible shellcodes demo solves UIUCTF Odd Shell
12 Bypassing Seccomp A seccomp overview demo
13 Heap Internals Malloc Internals demo solves DuCTF Login
14 House of Force The Malloc Maleficarum demo
15 Fast Bins Guyinatuxedo: Fast Bins Overview demo based on Sajjaad Arshad's BabyHeap Solve
16 Tcache Analysis of Malloc Protections on Singly Linked Lists demo solves NiteCTF HeapChall
17 Unsafe Unlink Vudo malloc tricks demo based on ir0nstone's Dream Diary Solve
18 Kernel Exploits Learning Linux kernel exploitation

References

General Binary Exploitation References

Ret2PLT

Ret2CSU

  • Marco-Gisbert, Hector, and Ismael Ripoll. "Return-to-csu: A new method to bypass 64-bit Linux ASLR." Black Hat Asia 2018. 2018

Ret2dlresolve

SROP

JOP

  • Bletsch, Tyler, et al. "Jump-oriented programming: a new class of code-reuse attack." Proceedings of the 6th ACM Symposium on Information, Computer and Communications Security. 2011
  • ViolentTestPen, CTFSG CTF 2021 Writeup

BROP

Aarch64 ROP

Integer Overflows

Array Index Abuse

Type Confusion

Shellcode

Bypassing Seccomp

Heap Internals

House of Force

Fast Bins

Tcache

Unsafe Unlink

Kernel Exploits

License

The course materials, slides, and docker containers were designed for academic & educational use only.

About

Repo containing course materials from our paper, "Pwn Lessons Made Easy With Docker: Towards an Undergraduate Vulnerability Research Cybersecurity Class"

Topics

Resources

Stars

Watchers

Forks