| 8/29 | Introduction and Basic ConceptsRecommended ReadingWhy Offensive Security Needs Engineering Textbooks Hacker Curriculum | 
    
      | 8/31 | Ethics | 
    
      | 9/5 | Labor Day - No Class | 
    
      | 9/7 | Reconnaissance and Information GatheringRecommended Readingnmap The Art of Port Scanning A Brief History of Scanning An Internet-Wide View of Internet-Wide Scanning | 
    
      | 9/12 | Network Traffic InterceptionRecommended ReadingIP-spoofing Demystified New Tricks For Defeating SSL In
Practice Analyzing Forged SSL Certificates in the Wild | 
    
      | 9/14 | x86 101Recommended ReadingIntel® 64 and IA-32 Architectures Software Developer Manuals x86 Assembly Introduction to x64 Assembly Gustavo Duarte's Software Illustrated blog posts NASM Assembly Language Tutorials Computer Science from the Bottom Up | 
    
      | 9/19 | Reverse EngineeringRecommended ReadingIntroduction to Reverse Engineering Win32 Applications Reverse Engineering for Beginners Reverse Engineering Challenges crackmes.de | 
    
      | 9/21 | Memory Corruption 1Recommended ReadingSmashing The Stack For Fun And Profit Tao of Windows Buffer Overflow The Internet Worm Program: An Analysis Crash course on buffer overflows by the 10K Students initiative Using GDB to Develop Exploits - A Basic Run Through | 
    
      | 9/26 | Paper PresentationsZMap: Fast Internet-Wide Scanning and its Security Applications Don’t Forget to Lock the Back Door! A Characterization of IPv6 Network Security Policy | 
    
      | 9/28 | No Class | 
    
      | 10/3 | Memory Corruption 2Recommended ReadingFormat String Attacks Vudo malloc tricks Once upon a free()...  Basic Integer Overflows The past, the present and the future of software exploitation techniques [.pptx] Low-level Software Security: Attacks and Defenses Memory Errors: The Past, the Present, and the Future SoK: Eternal War in Memory | 
    
      | 10/5 | Paper PresentationsCross-Architecture Bug Search in Binary Executables Enemy of the State: A State-Aware Black-Box Web Vulnerability Scanner | 
    
      | 10/10 | Code ReuseRecommended ReadingGetting around non-executable stack (and fix) non-exec stack The advanced return-into-lib(c) exploits: PaX case study x86-64 buffer overflow exploits and the borrowed code
chunks exploitation technique The Geometry of Innocent Flesh on the Bone:
Return-into-libc without Function Calls (on the x86) 
 | 
    
      | 10/12 | Paper PresentationsQ: Exploit Hardening Made Easy On the Expressiveness of Return-into-libc Attacks | 
    
      | 10/17 | Paper PresentationsUnleashing MAYHEM on Binary Code (State of) The Art of War: Offensive Techniques in Binary Analysis | 
    
      | 10/19 | Post-exploitationRecommended ReadingRemote Exec Attacking NTLM with Precomputed Hashtables Post Exploitation Wiki Post Exploitation Using Meterpreter Hack Back! A DIY Guide | 
    
      | 10/24 | Paper PresentationsInformation Leaks Without Memory Disclosures: Remote Side Channel Attacks on Diversified Code Just-In-Time Code Reuse: On the Effectiveness of Fine-Grained Address Space Layout Randomization | 
    
      | 10/26 | No Class | 
    
      | 10/31 | Paper PresentationsOut Of Control: Overcoming Control-Flow Integrity Losing Control: On the Effectiveness of Control-Flow Integrity under Stack Attacks | 
    
      | 11/2 | Paper PresentationsToo LeJIT to Quit: Extending JIT Spraying to ARM The Devil is in the Constants: Bypassing Defenses in Browser JIT Engines | 
    
      | 11/7 | Malware and RootkitsRecommended ReadingVX Heaven NTIllusion: A portable Win32 userland rootkit A Catalog of Windows Local Kernel-mode Backdoor Techniques Evasive Malware Exposed and Deconstructed
 | 
    
      | 11/9 | Paper PresentationsAutomatic Generation of Data-Oriented Exploits Data-Oriented Programming: On the Expressiveness of Non-Control Data Attacks | 
    
      | 11/14 | Web Application ExploitationRecommended ReadingOne-Way Web Hacking 35 Pentesting Tools Used for Web Vulnerability Assessment CGI Security Holes NT Web Technology Vulnerabilities Perl CGI problems | 
    
      | 11/16 | Paper Presentationsret2dir: Rethinking Kernel Isolation Dedup Est Machina: Memory Deduplication as an Advanced Exploitation Vector | 
    
      | 11/21 | Paper PresentationsEKHUNTER: A Counter-Offensive Toolkit for Exploit Kit Infiltration Code Reuse Attacks in PHP: Automated POP Chain Generation | 
    
      | 11/23 | Thanksgiving Break - No Class | 
    
      | 11/28 | Paper PresentationsDynamic Hooks: Hiding Control Flow Changes within Non-Control Data Persistent Data-only Malware: Function Hooks without Code | 
    
      | 11/30 | Paper PresentationsControl Jujutsu: On the Weaknesses of Fine-Grained Control Flow Integrity Evaluating the Effectiveness of Current Anti-ROP Defenses | 
    
      | 12/5 | Paper PresentationsCookies That Give You Away: The Surveillance Implications of Web Tracking ZMap: Fast Internet-Wide Scanning and its Security Applications | 
    
      | 12/7 | Wrap Up |