o Course overview and logistics
o Virtual machine images, Kali Linux - penetration testing Linux distribution
o Computer network basics
o Packet sniffing tools and network protocol analyzer.
[Lab 1] Packet Sniffing and Wireshark: This lab uses Wireshark for the experiments, and it covers Wireshark
installation, packet capturing, and protocol analysis.
Week 2. Scanning and Reconnaissance
o Introduction to penetration testing
o Finding Hosts, Services
o Nmap: the Network Mapper - Free Security Scanner
o OpenVAS: Open Vulnerability Assessment System
o NESSUS: Vulnerability Scanner
[Lab 2] Scanning and Reconnaissance: This lab will learn how to use tools to scan and retrieve information from a
targeting system.
Lab 1 Due.
Week 3. Penetration Testing
o History of Pen Testing
o Metasploit Framework Project
o Armitage: Cyber Attack Management for Metasploit
[Lab 3] Metasploit Framework: In this lab, the students will learn how to use Metasploit to gain access to a remote
machine..
Lab 2 Due.
Week 4. Secure Coding & Buffer Overflows
o C language basics
o Program memory layout
o Debugging under Unix: gdb tutorial
o Smashing the Stack for Fun and Profit. Aleph One. In Phrack Volume 7, Issue 49
[Lab 4] Buffer Overflows and Defenses (Part 1): This lab will teach how buffer overflows and other memory
vulnerabilities are used to takeover vulnerable programs. The goal is to investigate a program I provide and then
figure out how to use it to gain shell access to systems.
Lab 3 Due.
Term/Team Project Proposal Due.
Week 5. Term/Team Project Proposal Discussion
o Provide feedback for the project proposal ideas
o Finalized teams/project topics.
[Lab 5] Buffer Overflows and Defenses (Part 2). This lab will teach how buffer overflows and other memory
vulnerabilities are used to takeover vulnerable programs. The goal is to investigate a program I provide and then
figure out how to use it to gain shell access to systems.
Week 6. Reverse Engineering and Obfuscation
o Reverse engineering concepts
o Introduction to Android programming
o Android bytecode, Dalvik executable (DEX)
o Obfuscation and packing techniques
o smali/baksmali: an assembler/disassembler for the DEX.
[Lab 6] Android Application Repackaging and Obfuscation: This lab will teach how to do reverse engineering and
obfuscation for Android applications. First, the students will need to write a simple Android application. Then, they