Python is uniquely positioned as a programming language to perform cyber investigations and perform forensic analysis. Unleash the power of Python by using popular libraries and Python tools to help you create efficient and thorough forensics investigations.
Python is uniquely positioned as a programming language to perform cyber investigations and perform forensic analysis. Unleash the power of Python by using popular libraries and Python tools to help you create efficient and thorough forensics investigations.
This learning paths follows a practical approach & can be of utmost importance as it guides you to read, sort, and sniff raw packets and also analyze network traffic. You will learn various tools required to perform a complete investigation with the utmost efficiency in both Windows and GNU/Linux environments with Python. It then explains binary exploits that allow you to skip past unwanted code, such as the password or product key tests, and add Trojan code. You will perform the exploit development process: finding a vulnerability, analyzing a crash in a debugger, creating a crafted attack, and achieving remote code execution on Windows and Linux.
By the end of the course, you will be able to make the most of Python processes and tackle varied, challenging, forensics-related problems. So, grab this course and think like an attacker.
Contents and Overview
This training program includes 2 complete courses, carefully chosen to give you the most comprehensive training possible.
The first course, Python Digital Forensics starts with network forensics, an important aspect of any investigation. You will learn to read, sort, and sniff raw packets and also analyze network traffic. These techniques will help you drive your host analysis. You will learn about tools you'll need to perform a complete investigation with the utmost efficiency in both Windows and GNU/Linux environments with Python. Next, you will learn more advanced topics such as viewing data in PE and ELF binaries. It's vital to analyze volatile memory during an investigation as it provides details about what is actually running on a given system. So, you will learn the best tools to obtain and analyze volatile memory images. Finally, you will learn how to use Python in order to think like an attacker. You will complete enumeration, exploitation, and data exfiltration. By the end of the course, you will be able to make the most of Python processes and tackle varied, challenging, forensics-related problems. So, grab this course and think like an attacker.
The second course, Binary Exploits with Python takes you through explaining binary exploits that allow you to skip past unwanted code, such as the password or product key tests, and add Trojan code. You will perform the exploit development process: finding a vulnerability, analyzing a crash in a debugger, creating a crafted attack, and achieving remote code execution on Windows and Linux. You will use the gdb debugger to analyze Linux executables and Python code to exploit them. On Windows, you'll use the Immunity debugger and Python.
About the Authors:
Daryl Bennett is a manager of a Cyberspace Threat Emulation team with the United States Air Force, where he leads military and civilian members in the employment and execution of offensive security on order to audit the security of network infrastructures. He is a key operator, focusing on risk analysis and the overall security posture of cyberspace systems. Additionally, he has 5+ years' experience working in the open-source community. He is a development specialist in a wide range of domains, including GNU/Linux applications, Android mobile, and autonomous systems. He is passionate about sustaining, developing, and implementing both current and new technologies while practicing analytical problem-solving and learning as much as possible in the process.
Sam Bowne has been teaching computer networking and security classes at City College San Francisco since 2000. He has given talks and hands-on at Credentials: Ph.D., CISSP, DEF CON Black-Badge Co-Winner
This video provides an overview of the entire course.
In this video, we will learn how to inspect network traffic at the packet level using Dshell.
Learn to set up a Python virtual environment
Learn to import packet capture
Use Dshell decoders to fuller analyze automate network traffic
In this video, we will continue to deepen the level of knowledge of packet analysis with Scapy.
Familiarize ourselves with object-oriented notations
Practice using the Scapy interactive interpreter
Automate packet capture investigation through the Scapy interpreter
In this video, we will design a Python based Scapy tool to automate our network analysis.
Familiarize ourselves with common Python data structures
Learn to import 3rd party modules into our own application
Unleash the power of Python and Scapy by building our own application
In this video, we will add breadth to our Python capability to extend functionality using Impacket.
Further expand our application to import Impacket
Decode raw packets using Impacket
Get a better understanding of encapsulation and how Impacket handles data
In this video, we will develop the technique to scan files in a directory in or to obtain items and properties.
Understand the basis of recursion and how it applies to directories
Learn about the OS module and how it applies to Python
Develop a Python based directory scanner
In this video, we will learn to populate properties of files such as permissions and timestamps.
Understand how to populate file properties
Populate and examine file permissions
Learn and query the different available timestamps of any given file in Windows
In this video, we will become familiar with the Windows registry and how the key:value data store maintains OS configuration data.
Learn how to interact with the registry using regedit
Use Python to interact with the registry by querying keys
Learn to query and enumerate subkeys and further traverse the registry
In this video, we will learn about the Windows Portable Executable format. We will also learn how an attacker may be able to modify an executable to hide information.
Learn Python modules to open and read Portable Executables
Learn to use pedit to examine Windows binaries
Explore and modify the structure of Windows binaries with pedit
In this video, we will further the understanding of directory traversal in GNU/Linux systems. We will also understand and accomplish traversal recursively.
Learn the concepts of threading to implement recursive traversing
Begin using pools and queues to communicate between threads
Build a Python based directory scanner with the ability to traverse directories
Using the power of recursive traversal, we will begin to search and populate file properties.
Enrich your understanding of directory traversal
Modify our application to populate file properties
Search returned results to understand indicators of compromise
In this video, we will explore other important properties of file that will allow you to decipher a known bad or malicious actor.
Learn how a digest algorithm works with a file
Develop a Python application to hash a file
Alter our application to compare file hashes using dynamic arguments
In this video, we will experiment with correlating log entries to events encountered on the system.
Learn about system logs and how to access them
Learn to interact with the Systemd Journal with Python
Continue development by writing entries into the journal
In this video, we will continue our experimentation with reading and parsing system logs.
Further interact with the Systemd journal
Use our Python skills to effectively parse information regarding system events
Narrow down events by looking filtering data with a python application
In this video, we will use the powerful Python based Volatility, learn to import and analyze volatile memory images of Windows-based systems.
Learn the basics of how to use the Volatility framework
Learn the importance of Volatility profiles and provided plugins
Learn to analyze and capture evidence of actual Windows malware with Volatility
In this video, we will capture images of volatile memory on Linux systems. We will also learn to use the Python-based LiMEaide to ease memory capture, especially in remote environments.
Begin to understand how LiMEaide acquires memory and how capture differs on Linux-based systems
Use LiMEaide to capture a memory image from a Linux system
Learn to deploy LiMEaide with pre-generated profiles
In this video, we will continue to expand our knowledge of Volatility by providing images from Linux-based systems.
Learn to import and analyze Linux memory images with custom profiles
Learn the plugins for Linux systems and how they differ from Windows plugins
Find evidence of a remote session in a collected volatile memory image
In this video, we will begin to think as an attacker and learn how to enumerate devices on a network.
Learn the basics of calling system commands in Python
Learn how to enumerate network devices
Using Python, build an application that will perform a ping sweep enumeration
In this video, we will further our attack by enumerating devices found on our network. This will provide us with services that may be exploitable.
Introduce network sockets and network connections in Python
Use sockets and build a Python application to enumerate open ports of a device
Analyze the services running to obtain an attack vector
Once an attack vector has been found we will proceed with exploitation to take over the system.
Learn about a common attack vector through exploitable web services
Develop a Python-based reverse shell to gain access into the system
Exploit the system and understand your access
In this video, we will learn how to perform post enumeration once access has been obtained.
Learn what post-enumeration will provide an attacker
Learn how popular post-exploitation scripts find data
Challenge yourself to modify your enumeration applications to find system data
In this video, we will learn how to perform data exfiltration.
Learn how an attacker may exfiltrate data from a system using Python
Build a Python application to exfiltrate data across a network
Exfiltrate important data from a compromised system proving malicious actions
This video will give you an overview about the course.
The aim of this video is to teach you about OllyDbg.
Explore PuTTY and OllyDbg
Learn about searching and breakpoints
Modify the EXE
The aim of this video is to create Malware.
Get introduced to Kali Linux
Learn about Msfvenom Payloads
Learn how to deliver the Malware
Learn about adding Trojans.
Redirect code execution with OllyDbg
Know what happens with the INT 3 instruction
Insert real Shellcode
The aim of this video is to teach you about introductory assembly language.
Learn about Jasmin, an assembly language simulator
Explore addressing and RAM
Get to know more about stack
This video is the 1st Challenge.
Explore Challenge 1A: hacking a game
Learn how to go to the Winners Board
Explore Challenge 1B: hacking three games
This video is the 2nd Challenge.
Explore Challenge 2A: hacking 19 games
Explore Challenge 2B: hacking 256 games
This video is the 3rd Challenge.
Know how to perform the final challenge
The aim of this video is to teach you Ping form.
Learn about the router configuration page
Create a vulnerable form
Take up the challenge
Learn about string overflow.
Exploit the vulnerable C code
Get to know the working of the vulnerable form
Take up the challenge
We’ll continue learning the command injection ImageMagick.
Explore ImageMagick
Demonstrate its command injection vulnerability
Take up the challenge
The aim of this video is to cover SQL Injection.
Explore database concepts and SQL
Demonstrate SQL injection
Let’s continue with some SQL Injection challenges.
Challenge 1: display names for administrators
Challenge 2: create a file on my server with your name as filename
Continue working on Challenge 3 and 4 for your practice
This video will take you through exploring more about redirecting execution.
Create a vulnerable program in C
View memory usage with Gdb
Perform a Buffer Overflow Exploit
The aim of this video is to learn more about using Shellcode.
Create a vulnerable program
Demonstrate inserting a shellcode
Learn about adjusting exploits
The aim of this video is to learn about Msfvenom to make shellcode.
Explore the basic options of Msfvenom
Learn to find and avoid bad characters
Take a look at an example for better understanding
Get to learn more about format string vulnerability with this video.
Explore Format Strings
Write to the Global offset table
Complete your exploit using Four Write Operations
The aim of this video is to learn about heap overflow.
Learn about the heap structure
Create a vulnerable program
Plan and complete the exploit
The aim of this video is to show you some challenges.
Understand Challenge 1a and 1b
Understand Challenge 2a, 2b and 2c
Understand Challenge 3 and 4
The aim of this video is to learn about exploiting windows vulnerabilities with Stack overflow.
Get introduced to the Vulnserver reusing
Explore how to use Immunity Debugger
Write a software that targets EIP
The aim of this video is to learn about ASLR.
Explore Mona and learn how to use it
Learn how to use Trampoline Code
Create the final exploit
The aim of this video is to learn about DEP.
Explore more about DEP
Learn about ROP
Execute using the command
The aim of this video is to learn about heap spray.
Learn about defeating ASLR
Explore string variables in JavaScript and how to use unescape
Exploit heap spray
The aim of this video is to learn how to exploit SEH.
Learn about turn off DEP and SEHOP
Discuss exception handling
Use a stack pivot to create a final exploit
Get to know about SPIKE in this video.
Fuzz a simple Ncat Listener
Fuzz Vulnserver
Detect crashes with Wireshark
The aim of this video is to take up the challenges attacking other methods of vulnerable server.
Challenge 1 – Fuzz KSTET with SPIKE
Challenge 2 – Complete the GMON Exploit
Know how to work around these challenges
OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.
Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.
Find this site helpful? Tell a friend about us.
We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.
Your purchases help us maintain our catalog and keep our servers humming without ads.
Thank you for supporting OpenCourser.