Never Ending Security

It starts all here

Florida State University’s Offensive Computer Security Spring 2014 – CIS4930 & CIS5930


Prof. Xiuwen Liu (homepage:
W. Owen Redwood (homepage:


The primary incentive for an attacker to exploit a vulnerability, or series of vulnerabilities is to achieve a return on an investment (his/her time usually). This return need not be strictly monetary—an attacker may be interested in obtaining access to data, identities, or some other commodity that is valuable to them. The field of penetration testing involves authorized auditing and exploitation of systems to assess actual system security in order to protect against attackers. This requires thorough knowledge of vulnerabilities and how to exploit them. Thus, this course provides an introductory but comprehensive coverage of the fundamental methodologies, skills, legal issues, and tools used in white hat penetration testing, secure system administration, and incident response.

Course Lecture Videos / Slides / Reading:

Below you can find and watch all the course videos, required reading, and lecture slides for each lecture (where applicable). The videos hosted on youtube are lower quality than the ones avaiable for direct download. On the left you can find a navigation sidebar which will help you find the lectures relevant to each meta-topic.

Week 1 (Intro / Overview):

Lecture 1: Intro, Ethics, & Overview:

This lecture covers the course Intro, syllabus review, distinction between hacking vs. penetration testing, ethics discussion, course motivation, threat models and some of the basics.


Lecture 2: Secure C Coding 101:

What you absolutely need to know about secure coding in C. C is everywhere.


Week 2 (Secure C / Code Auditing):

Lecture 3: Secure C Coding 102:

What you absolutely need to know about secure coding in C. C is everywhere.


Lecture 4: Code Auditing:

Auditing C Code, basic tips / strategies / and exercises


Week 3 (Permissions Spectrum):

Holiday (No Class, Jan 20)

MLK Day Holiday

Lecture 5: The Permissions Spectrum:

Intro to Vulnerability Research topics and the Permissions spectrum.


Week 4 (Reverse Engineering Week):

Lecture 6: Reverse Engineering Workshop 1

Guest lecturer Mitch Adair will lead a two day RE workshop, exposing students to x86 reverse engineering with IDA and CFF Explorer. Meet in the lecture room prepared (See email).

Lecture 7: Reverse Enginerring Workshop 2:

Guest lecturer Mitch Adair will lead a two day RE workshop, exposing students to x86 reverse engineering with IDA and CFF Explorer. Meet in the lecture room prepared (See email).

Week 5 (Fuzzing Week):

Lecture 8: Fuzzing Lecture 1

Coverage of Fuzzing techniques for SDL, VR, and other applications.


[No class video, see slides!]

Week 6 (MIDTERM 1 and Exploit Development Week 1):


[no video for this class]

Lecture 10: Fuzzing Lecture #2 and Exploitation Lecture 101:



There are two videos for this lecture. The first half is a wrap up of fuzzing topics. The second half the beginning of the exploit development lectures.


Week 6 (MIDTERM 1 and Exploit Development Week 1):

Lecture 11: Exploit Development 102

Second lecture in the exploit development lecture series. Covering the very very basics of exploitation. Concept of ret2libc is covered, examples with basic exit() shellcode, and some position-independent basic shellcode.


  • [Slides]
  • Reading:
    Read 0x500 up to 0x540 in HAOE (Writing shellcode)
    Read 0x6A0 up to 0x700 in HAOE

This class was cancelled (postponed to next week)

Week 7 (Exploit Development / Networking):

Lecture 12: Exploit Development 103

Third lecture in the exploit development lecture series. Coverage of heap and format string exploition (with demos), as well as exploit mitigations (ASLR, NX/DEP, stack cookies, EMET, etc…)


  • [Slides]
  • Reading:
    Read 0x680 up to 0x6A0 in HAOE

Lecture 13: Networking Lecture 101:

This lecture covers an overview of networking concepts and network security concepts. Topics covered: Wireshark, Nmap, nc, Hubs vs switches vs routers, manufacturer default logins / backdoors… ARP & dns (dnssec), proxies, weak IP vs strong IP model (RFC 1122)


Week 8 (Exploit Dev / Web Application Hacking/Security)

Lecture 14: Exploit Development 102


  • [Slides]
  • Reading:
    Read 0x450 up to 0x500 in HAOE(27 pages)
    Read 0x540 up through 0x550 in HAOE(11 pages)
    Read Chapter 1 in WAHH (15 pages)

Lecture 15: Wireshark and Web Application Hacking/Security 101

[Video on Wireshark coming soon]

Its a bit shorter than other videos as the class time is split between this lecture and a wireshark/tcpflow demo. This lecture addresses some of the big picture with the topics covered so far, and moves into web application security topics, as well as a very basic demo using BurpSuite as a HTTP Proxy.

Required Reading:

Related Reading:

Week 10 (Web Applications):

Lecture 16: Web Application Hacking/Security 102

Coverage of SQLi, XSS, Metacharacter Injection, OWASP top 10, and demos.

Lecture 17: Web Application Hacking/Security 103

Week 11 (Web Applications and Exploitation):

Lecture 18: Web Application Hacking/Security 104 and Exploitation 104

This class was two lectures in one. In the web application 104 lecture we cover topics like WAF, and IDS and how to evade them – which leads into the exploit development 104 lecture. In the exploit dev 104 section we cover topics like networking shellcode, polymorphic shellcode / encoders, and the methodology for defeating IDS/WAF.

Lecture 19: Midterm review #2 and Exploitation 105

ROP Lecture:

This lecture covers ret2libc, return chaining, ROP, how calling conventions affect ROP, how ROP is used to defeat DEP, how ASLR affects ROP, how to defeat ASLR to enable ROP, stack pivoting, and etc… This lecture is just the concepts, next time is the demos.



Week 12 (ROP and Metasploit):

Lecture 21: Guest Lecturer Devin Cook on ROP and a brief history of exploitation

Devin Cook presented a recap of all the exploitation techniques covered thusfar and lectured on ROP and presented demos on ROP exploitation. Lastly defenses against ROP were discussed.

Lecture 22: Metasploit

This lecture covers the Metasploit framework. Resources:

Week 13 (MIDTERM #2 and Post Exploitation):


[No video / lecture]

Lecture 23: Meterpreter and Post Exploitation

Post exploitation, Windows authentication / tokens, and pivoting techniques are covered. Demos of SET, Meterpreter, and etc are shared. Resources:

Week 14 (Forensics and Incident Response):

Lecture 24: Volatility and Forensics

Old video covering Volatility and performing forensic analysis on hacked machines.

Lecture 25: Revisiting Old Topics

Wrapping up the course, revisiting old topics: stack cookies and going in depth on how they are bypassed, covering the SSL bugs, digitally signed malware, and then the big picture. Resources:

Week 15 (Last Week: Physical Security and Social Engineering):

Lecture 26: Social Engineering

More information about this course can be found on:

Leave a Reply

Please log in using one of these methods to post your comment: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s