Hack Night‎ > ‎


Week 1: Hack Night Showcase
This is an introduction session to the Hack Night curriculum, this session tries to give an overview of what rest HN sessions is to be followed. More importantly, it also gives the
ethics necessary to keep in mind when you learn something as powerful as your going to do now. Next, we will cover various types of disclosure that hackers have followed since
its inception.
Lecture Videos:
Week 2: Code Auditing
This session will cover Code Auditing. Code Auditing an application is the process of analyzing application code (in source or binary form) to uncover vulnerabilities that attackers
might exploit. By going through this process, you can identify and close security holes that would otherwise put sensitive data and business resources at unnecessary risk.
Topics that will be covered are Identifying Architectural, Implementation and Operational vulnerabilities.
Lecture Videos:
This is a workshop session, we will present you with some applications that are intentionally vulnerable. Your job is to audit the source code and find vulnerabilities in them. Test
the skills that you have learned last week to efficiently go over the process of auditing applications.
Workshop Materials:
  1. Client Request Access Protocol
    We believe this protocol to be severely flawed and require your assistance in identifying vulnerabilities in it. Your objective is to identify and informally describe as many of these issues that you can.
  2. News Server Sample Usage
    This network service simulates a text-based terminal application. The general purpose of the application is to act as a "news server" or text file service. These are two types of users: regular and administrator. Administrators can add users and execute back-end system commands. Users can view and contribute articles (aka text files). Assume the application runs on Linux and is compiled with gcc.
  3. Siberia Crimeware Pack (Password: infected)
    The Siberia kit contains live exploit code and will likely set off AV, however none of the exploit code is in a state where it would be harmful to your computer. In addition to all of the vulnerabilites have been patched years ago, the exploits in Siberia need to be interpreted by PHP and read by your browser for them to have any effect. You can safely disable or create exceptions in your AV for this exercise or place the Siberia files inside a VM.
    Objectives for 2 & 3:
    1. Identify the affected line(s) of code.
    2. Briefly explain the bug class
    3. Trace user-controllable input to the vulnerable code
    4. Identify what effect the bug would have on a running application
    5. Calculate a CVSS score for the bug
This session will cover web hacking. This session is about getting familiarity with various vulnerabilities commonly found in web applications. You will be able to identify and exploit web application vulnerabilities. Topics to be covered are web application primer, Vuln. commonly found in web apps. (OWASP Top 10) and Basic web testing methodologies.
 Lecture Videos:
  1. Web Hacking 101  slides
  2. Web Hacking 102  slides
Further Reading:
  1. The Tangled Web
  2. OWASP Top 10
  3. OWASP Top 10 Tools and Techniques
Week 5: Web Hacking Workshop
In this session, we will be using some intentionally vulnerable web applications and will them to identify and analyze the top ten vulnerabilities commonly found in the web applications  You will be going through the steps of busticating a real site and throwing a fire sale using freely available tools.
Workshop Material:
  1. Stock Trader.
    This is a web application provided from one our Industry partners, Gotham Digital Science. Unfortunately, this is only availble for certain period of time, and this time is usually when the Hack Night runs during fall and spring semesters.
More Challenges:
Week 6: Reverse Engineering
This session is about Reverse Engineering.  Most of the software we use everyday is closed source. You don't have the liberty to look at the source code, at this point we need to analyze the available compiled binary. But, reversing a binary is no easy task but can be done with the proper methodology and the right tools. This is exactly what two of world's best reverser's are going to teach you.
Lecture Videos:
  1. TBD
  2. TBD
  3. TBD
Further Reading:
Week 7: Reverse Engineering Workshop
Picking up from previous session, we will present you with an application which has no source code. Your job is to understand what the application is doing and figure out any loopholes present in that application. You'll use tools like IDA that Alex Sotirov demonstrated in the last lecture to analyze the binary and get a complete understanding of the application.
Workshop Material:
  1. Challenge Application
  2. IDA Demo
  3. VMWare Player
  1. X86 Win32 Reverse Engineering Cheat Sheet
  2. IDA Pro Shortcuts
Week 8: Introduction to x86
In this session we will cover x86: Architecture, Assembly, Applications & Alliteration. Intel processors have been a major force in personal computing for more than 30 years. An understanding of low level computing mechanisms used in Intel chips as taught in this course serves as a foundation upon which to better understand other hardware, as well as many technical specialties such as reverse engineering, compiler design, operating system design, code optimization, and vulnerability exploitation. 50% of the time will be spent learning Windows/Linux tools and analysis of simple programs.
Lecture Videos:
  1. Introx86 (Day 1) Playlist
Lab Requirements:
  1. Windows system with Visual C++ Express Edition.
  2. Linux system with gcc and gdb.
  3. Either system can be Physical or Virtual.
Further Reading:
Week 9: Introduction to x86 (contd.)
This is a continuation from last week's session, we will once again cover x86: Architecture, Assembly and Applications. Topics covered are basic assembly instructions, calling conventions, stack and stack frames. Once this is done, we will do live debugging of a simple application and analyze the aforementioned topics. 50% of the time will be spent learning Windows/Linux tools and analysis of simple programs.
Lecture Videos:
  1. Introx86 (Day 2) Playlist
  1. All materials related to class (includes slides, manuals & code for labs)
  2. CMU Bomb lab (Linux/IA32 binary)
Week 10: x86 Split-Workshop
Picking up from the last week's session, we will continue to explore the world of x86. This is going to be a workshop were we will write programs at assembly level. Once, we get familiar to basic x86 instructions we will switch to analyzing a real application and try to get high level understanding of what the application is doing. The goal would be to get familiar with calling conventions, stack and stack frames.
Workshop Material:
  1. CMU Bomb lab (Linux/IA32 binary)
    The application 
    is basically a bomb which will explode if you don't give the correct input to it. Your job is to find out what the application is expecting a input and there by providing the right inputs. There are six phases in order to defuse the bomb and we will go through each phase and finally defuse the bomb. Each phase gets tougher as you progress through them.
Week 11: Exploiting Memory Corruption 
In this week's session, we will go over some advanced concepts related to computer security. Dino Dai Zovi will go over various memory errors that an application can cause often leading to catastrophic results. Topics that will be covered are various memory errors like buffer overflows, uninitialized variables, use after free etc and how we can use them to take control of an application. We will also look at exploitation mitigation that your current OS implements, it's not 1988 anymore. Finally, we will look at some bypassing techniques on the mitigation's.
Lecture Video:
  1. Memory Corruption 101  slides
Further Reading:
  1. Smashing The Stack For Fun And Profit
  2. The Tao of Windows Buffer Overflows
  3. Low-level Software Security: Attacks and Defenses
  4. Collection of Various Resources
Week 12: Exploiting Memory Corruption Workshop
Picking up from the last session, we will do a live exploitation of a vulnerable program. We will go through all the steps that Dino explained in his lecture to write a control flow hijacking exploit and take over the program. Once we are done with the 1990's style exploitation, we will re-compile the program with modern mitigation technologies and look at various techniques used to bypass these mitigation's.
Workshop Material:
  1. Vulnerable Application
  2. VMWare Player
  3. Linux Machine (Preferably, Ubuntu)
More Challenges:
  1. Gera's Insecure Programming by Example
  2. Exploit-Exercises
Week 13: Post-Exploitation
In this week, we will cover post-exploitation. Post-exploitation is the stage in the intrusion kill chain wherein the attacker uses persistence techniques after the victim's system is compromised to maintain his presence on the machine. In addition the attacker also wants his presence to be hidden, this includes evading antivirus software, covering his/her tracks, etc. We will look at various techniques used by attackers to achieve the aforementioned goals.
Lecture Video:
  1. Post-Exploitation
Further Reading:
  1. Symantec Stuxnet Dossier
  2. Useful References
Week 14: Fuzzing
In this, the last session of Hack Night. We will be going over Fuzzing and later have a short discussion on what you can do to continue improving your skills. Fuzzing is a black box software testing technique, which consists of finding implementation bugs by manipulating input data sent to an application automatically. We will go over different types of fuzzing, various methods used for fuzzing, and finally the process of "smart" fuzzing.
Lecture Video:
Showing 0 items
StatusOwnerFeatureDesign (URL)
StatusOwnerFeatureDesign (URL)
Showing 0 items