CNIT 127: Exploit Development
Fall 2019 Sam BowneSchedule · Lecture Notes · ProjectsHow to Join this Course |
Catalog DescriptionLearn how to find vulnerabilities and exploit them to gain control of target systems, including Linux, Windows, Mac, and Cisco. This class covers how to write tools, not just how to use them; essential skills for advanced penetration testers and software security professionals. Student Learning Outcomes1. Read and write basic assembly code routines Textbook"The Shellcoder's Handbook: Discovering and Exploiting Security Holes ", by Chris Anley, John Heasman, Felix Lindner, Gerardo Richarte; ASIN: B004P5O38Q Buy from Amazon QuizzesThe quizzes are multiple-choice, online, and open-book. However, you may not ask other people to help you during the quizzes. You will need to study the textbook chapter before the lecture covering it, and take the quiz before that class. Each quiz is due 30 min. before class. Each quiz has 5 questions, you have ten minutes to take it, and you can make two attempts If you take the quiz twice, the second score is the one that counts, not necessarily the higher score. Live StreamingYou can attend class remotely at https://zoom.us/j/4108472927 For class-related questions, please emailcnit.127sam@gmail.com |
Schedule | ||||
---|---|---|---|---|
Date | Due | Topic | ||
Wed 8-21 | Ch 1: Before you Begin
| |||
Wed 8-28 | Ch 1 Quiz* Ch 2 Quiz* Proj 200 due * |
Ch 2: Stack overflows on Linux
| ||
Wed 9-4 | Ch 3 Quiz* Proj 101 & 102 due * |
Ch 3: Shellcode
| ||
Wed 9-11 | Ch 4 Quiz* Proj 103 due * |
Ch 4: Introduction to format string bugs
| ||
Wed 9-18 |
No Quiz due No Proj due |
Guest Speaker Postponed Ch 5: Introduction to heap overflows
| ||
Wed 9-25 |
Ch 5 Quiz Proj 201 & 202 due |
Ch 6: The Wild World of Windows
| ||
Wed 10-2 |
Ch 6 Quiz Proj 203 & 204 due |
Lecture 7: Intro to 64-Bit Assembler (Not in book)
| ||
Wed 10-9 |
Ch 8a Quiz Proj 205 & 206 due |
Ch 8: Windows overflows (Part 1)
| ||
Wed 10-16 |
Ch 8b Quiz Proj 207 & 220 due |
Ch 8: Windows overflows (Part 2) (First video from a previous semester)
| ||
Wed 10-23 | Class Cancelled | |||
Wed 10-30 |
No Quiz Proj 300 & 308 due |
Web Templates and .NET (not in book)
| ||
Wed 11-6 |
Ch 14 Quiz Proj 301 due |
Ch 14: Protection Mechanisms
| ||
Wed 11-13 |
Ch 16+17 Quiz Proj 302 due |
Ch 16: Fault Injection Ch 17: The Art of Fuzzing
| ||
Wed 11-20 |
Ch 18 Quiz Proj 310 & 104 due |
Ch 18: Source Code Auditing
| ||
Wed 11-27 |
No Quiz Proj 318 due |
ARM Assembly and Shellcode
| ||
| ||||
Wed 12-11 |
No Quiz All extra credit due |
Last Class: ARM Shellcode on the Raspberry Pi
| ||
Fri 12-13 - Thu 12-20 |
Final Exam available online throughout the week. You can only take it once. | |||
All Quizzes due 30 min. before class * Not counted as late until 9-18 |
LecturesGrading PolicySyllabus
Introduction to Exploitation: Linux on x86
Ch 1: Before you begin ·
KEY ·
PDF
WindowsCh 6: The Wild World of Windows · KEYLecture 7: Intro to 64-Bit Assembler (Not in book) · KEY We'll skip Ch 7: Windows shellcode
Ch 8: Windows overflows (Part 1) ·
KEY We'll skip chapters 9 through 13
Ch 14: Protection Mechanisms ·
KEY Vulnerability DiscoveryWe'll skip chapter 15
Ch 16: Fault Injection and 17: The Art of Fuzzing ·
KEY |