Welcome to OffSec PEN-100! We are excited to provide a personalized learning plan tailored to bolster your learning journey, ultimately enhancing your readiness for fulfilling your job role.
The Learning Plan consists of a week-by-week journey, which encompasses a structured study approach, approximate learning hours, emphasized course topics, exercises related to those topics, challenge tasks to accomplish, and additional resources (if needed) for strengthening your learning, should you opt to use them.
Our OffSec Mentors also play a valuable role in providing guidance and support to you by facilitating dedicated OffSec Discord channels. Through these channels, you will have the opportunity to collaborate with other learners, ask questions, and build relationships to gain a deeper understanding of our curated offensive material and methodology. We strongly encourage you to take advantage of this resource and actively engage with our Mentors throughout your learning journey. Click here to join the OffSec Discord server and find answers to more frequently asked questions (FAQs).
Should you encounter technical issues or have questions about VPN connections, lab access, navigating the OffSec Learning Platform, or any other related matters, our 24/7 OffSec Technical Service Team is available to assist you. Please click here to contact us.
Getting Ready
In order to maximize the benefits of this learning plan, we encourage you to consult the quick reference guide. This guide will aid you in initiating your journey with the OffSec Learning Platform (OLP) and enriching your overall learning experience.
Please see our Course Start Guide for further onboarding details.
OffSec PEN-100 Learning Plan - 24 Week
Jump to Week: 1, 2, 3, 4, 5, 6, 7-8, 9-10, 11-12, 13, 14, 15, 16-17, 18, 19, 20, 21, 22, 23, 24
Week 1: Introduction to PEN-100
Overview and Study Approach | This week introduces learners to the security fundamentals and prepares students with the necessary prerequisites to enter into the Network Penetration Testing Essentials (PEN-100) Learning Path. |
Learning Module | Introduction to PEN-100 |
Learning Units | Introduction to PEN-100: 1.1 - 1.4 |
Videos for Reinforcement | None |
Exercises | 1.4.5. VPN Connection Walkthrough - Disconnecting from the VPN |
Challenges | None |
Estimated Time (Hours) | 1 |
Supplemental Learning* | None |
Week 2: Linux Basics I
Overview and Study Approach | This week will get you familiar with linux. |
Learning Module | Linux Basics I |
Learning Units | Linux Basics I: 2.1 - 2.8 |
Videos for Reinforcement | None |
Exercises | 2.1.3. Kali Linux 2.2.1. Command Line Interface (Shells) 2.2.3. Listing Files 2.2.4. Reading File Contents 2.3.1. Using man and -h 2.4.1. Linux FHS 2.5.1. Setting and Using Variables 2.5.2. System Information 2.6.1. Creating and Removing Files, Directories, and Symlinks 2.6.2. Linux File Management with Wildcards 2.6.3. Finding Files in Kali Linux 2.7.1. Redirecting Output 2.8.1. Using grep, sed, cut, and awk 2.8.2. Comparing Files 2.8.3. Editing Files from the Command Line |
Challenges | None |
Estimated Time (Hours) | 10 |
Supplemental Learning* | None |
Week 3: Linux Basics II
Overview and Study Approach | This week will get you familiar with linux. |
Learning Module | Linux Basics II |
Learning Units | Linux Basics II: 3.1 - 3.9 |
Videos for Reinforcement | None |
Exercises | 3.1.1. User Account Details 3.1.2. Changing User Context 3.2.1. Reading and Altering File Permissions 3.2.2. Setuid, setgid, and the Sticky Bit 3.3.2. Listing Running Processes 3.4.1. Using tail and watch for Monitoring 3.5.1. Managing applications with APT 3.6.1. Using Job Schedulers 3.7.1. Introduction to log files 3.8.1. Memory Space, Partitions, and External Drives |
Challenges | 3.9.1. Linux Practical Challenge |
Estimated Time (Hours) | 10 |
Supplemental Learning* | None |
Week 4: Windows Basics I
Overview and Study Approach | This week you will learn the basics of how to administer a Windows system. |
Learning Module | Windows Basics I |
Learning Units | Windows Basics I: 4.1 - 4.6 |
Videos for Reinforcement | None |
Exercises | 4.1.1. Linux vs Windows - Comparison 4.2.4. Builtin Commands and Help 4.3.1. Windows Navigation on the Command Line 4.3.2. Standard Directories 4.4.1. Retrieving System Information 4.4.2. SysInternals Overview and psinfo 4.5.1. Basic File Operations 4.6.1. Locating Files Using Windows Command Line 4.6.2. Searching Text Using Windows Command Line |
Challenges | None |
Estimated Time (Hours) | 8 |
Supplemental Learning* | None |
Week 5: Windows Basics II
Overview and Study Approach | This week you will continue to learn the basics of how to administer a Windows system. |
Learning Module | Windows Basics II |
Learning Units | Windows Basics II: 5.1 - 5.9 |
Videos for Reinforcement | None |
Exercises | 5.1.1. Windows Access Controls Overview 5.2.1. Windows Local Accounts & Groups 5.2.3. runas and cmd /c 5.3.1. NTFS Permissions 5.4.1. Understanding Windows Process Concepts 5.4.2. Sysinternals Process Utilities 5.5.1. Dynamic Link Libraries 5.6.1. Windows Registry Overview 5.6.2. Windows Registry Values 5.7.1. Windows Scheduled Tasks 5.8.1. Disk Utilities and Alternate Data Streams 5.9.1. Cumulative Exercise |
Challenges | None |
Estimated Time (Hours) | 10 |
Supplemental Learning* | None |
Week 6: Networking Fundamentals
Overview and Study Approach | This week will focus on helping learners get a solid understanding of networking. |
Learning Module | Networking Fundamentals |
Learning Units | Networking Fundamentals: 6.1 - 6.7 |
Videos for Reinforcement | None |
Exercises | 6.1.1. OSI Model Details 6.2.1. TCP/IP Model Details 6.3.1. Link Layer: Ethernet 6.3.2. Internet Layer: Internet Protocol (IP) 6.3.3. Transport Layer: Transmission Control Protocol (TCP) and User Datagram Protocol (UDP) 6.3.4. Application Layer Protocols 6.4.1. Traffic, Packet Captures and Wireshark 6.4.2. Using Wireshark: Display Filters 6.4.3. Pcap files 6.4.4. Opening a .pcap File 6.5.1. Following TCP Streams and Exporting Objects in Wireshark 6.5.2. Tcpdump 6.5.3. Live Network Capture with Tcpdump 6.6.1. Address Resolution Protocol (ARP) 6.6.2. Internet Control Messaging Protocol (ICMP) 6.6.3. Dynamic Host Configuration Protocol (DHCP) 6.7.1. Routing Tables 6.7.2. Firewalls 6.7.4. Virtual Private Networks (VPNs) |
Challenges | None |
Estimated Time (Hours) | 10 |
Supplemental Learning* | None |
Week 7 - 8: Bash Scripting Basics
Overview and Study Approach | This week you will learn how to manage and interact with Bash scripting to streamline and automate many Linux tasks and procedures. |
Learning Module | Bash Scripting Basics |
Learning Units | Bash Scripting Basics : 7.1 - 7.8 |
Videos for Reinforcement | None |
Exercises | 7.1.2. Run our Bash Script 7.2.4. Numeric Variables 7.3.1. Arguments in a Bash Script 7.3.2. Special Bash Variables 7.4.3. Introduction to Managing Files 7.5.3. Elif Statement 7.6.2. The OR Boolean Operator 7.7.3. Write a Program to Loop Through Files 7.8.4. Variable Scope |
Challenges | None |
Estimated Time (Hours) | 15 |
Supplemental Learning* | None |
Week 9 - 10: Python Scripting Basics
Overview and Study Approach | This week you will learn the basics of scripting using the Python language. |
Learning Module | Python Scripting Basics |
Learning Units | Python Scripting Basics : 8.1 - 8.7 |
Videos for Reinforcement | None |
Exercises | 8.1.1. Finding our Version of Python 8.1.2. Writing our First Python Script 8.1.3. Setting Variables 8.1.4. Data Types 8.1.5. Strings and Slicing 8.1.6. Integers 8.1.7. Floats 8.1.8. Booleans 8.1.9. Type Casting 8.2.1. Python Lists 8.2.2. Python Dictionaries 8.3.1. Loops 8.3.2. Conditional Statements 8.3.3. User Input 8.4.1. Working with Files 8.4.2. Python Functions 8.4.3. Combining File Operations in a Function 8.5.1. Importing a Module 8.5.2. Web Requests 8.6.1. Creating the Python Socket Client 8.7.1. Writing Programs in Pseudocode 8.7.3. Creating the Spider |
Challenges | None |
Estimated Time (Hours) | 20 |
Supplemental Learning* | None |
Week 11 - 12: PowerShell Scripting
Overview and Study Approach | This week you will learn the basics of scripting using Powershell. |
Learning Module | PowerShell Scripting Basics |
Learning Units | PowerShell Scripting Basics : 9.1 - 9.3 |
Videos for Reinforcement | None |
Exercises | 9.1.3. Cmdlets 9.2.2. Data Types 9.2.3. Operators 9.2.4. Conditional Statements and Loops 9.3.1. PowerShell Properties and Methods 9.3.2. Filtering and Formatting 9.3.3. PowerShell Functions 9.3.4. Scripts |
Challenges | 9.3.5. Challenge Exercises |
Estimated Time (Hours) | 15 |
Supplemental Learning* | None |
Week 13: Linux Networking and Services I
Overview and Study Approach | This week will help you develop a robust foundational understanding of Linux networking. |
Learning Module | Linux Networking and Services I |
Learning Units | Linux Networking and Services I: 10.1 - 10.10 |
Videos for Reinforcement | None |
Exercises | 10.1.1. Basic Network Enumeration 10.2.1. Checking Network Activity 10.3.1. Understanding how to manipulate routes 10.4.1. IP addresses and Domain Names 10.5.1. Remote Connections with Secure Shell 10.6.6. Reverse Shell Scenario 10.7.3. Socat Reverse Shells 10.8.1. Browsing the Web with the Command Line 10.9.1. Interacting with a DNS Server 10.10.1. File Transfers |
Challenges | None |
Estimated Time (Hours) | 10 |
Supplemental Learning* | None |
Week 14: Linux Networking and Services II
Overview and Study Approach | This week will help you develop a robust foundational understanding of firewalls. |
Learning Module | Linux Networking and Services II |
Learning Units | Linux Networking and Services II: 11.1 - 11.9 |
Videos for Reinforcement | None |
Exercises | 11.1.1. Introduction to Access Control Lists 11.2.1. Basic Firewall Rules with IPTables 11.3.1. Advanced Firewall Rules with IPTables 11.4.1. Front-End Interfaces for Firewalls 11.5.2. Systemd |
Challenges | 11.9.1. Linux Networking Practical Challenge |
Estimated Time (Hours) | 8 |
Supplemental Learning* | None |
Week 15: Windows Networking and Services
Overview and Study Approach | This week will cover Windows commands related to networking and services. |
Learning Module | Windows Networking and Services |
Learning Units | Windows Networking and Services: 12.1 - 12.5 |
Videos for Reinforcement | None |
Exercises | 12.1.2. Basic System and Network Commands 12.1.3. Active Connections and Neighbors 12.1.4. Routing and Network Troubleshooting 12.1.5. Name Resolution 12.2.1. Network Shares 12.2.2. Netcat / Socat 12.2.3. Remote Administration 12.3.1. Firewall Introduction 12.3.2. Windows Defender Firewall 12.4.2. Service Applications Enumeration 12.4.3. Interacting with Services 12.4.4. Remote Desktop |
Challenges | 12.5.1. Windows Networking Practical Challenge |
Estimated Time (Hours) | 10 |
Supplemental Learning* | None |
Week 16 - 17: Network Scripting
Overview and Study Approach | This week you will learn how to write our own network scripts that can help us dramatically reduce the number of repetitive tasks we need to do. |
Learning Module | Network Scripting |
Learning Units | Network Scripting: 13.1 - 13.7 |
Videos for Reinforcement | None |
Exercises | 13.1.1. Building a Basic Client 13.1.2. Socket Methods 13.2.1. Error Handling: Try and Except Clauses 13.2.2. Handling Unknown Data Size 13.2.3. Interactive Sockets 13.3.2. Testing our Client and Server 13.4.1. Using the Socket Module to Create a Port Scanner 13.4.2. Port Knocking 13.5.1. The Transport Layer: Using the Python Sockets Module with HTTP 13.5.2. The Application Layer: GET Requests with Python 13.5.3. Parsing HTML 13.6.1. POST Requests and Parameters with Python 13.6.2. Request Headers and Non-Text-based Content 13.7.4. Saving Packets with Scapy 13.7.7. Sending and Receiving a Response from Scapy |
Challenges | None |
Estimated Time (Hours) | 20 |
Supplemental Learning* | None |
Week 18: Working with Shells
Overview and Study Approach | This week you will learn what shells are, the kinds of shells used in remote connections, Windows-specific shells, and how we can generate our own custom shells. |
Learning Module | Working with Shells |
Learning Units | Working with Shells : 14.1 - 14.4 |
Videos for Reinforcement | None |
Exercises | 14.1.2. System Shells 14.2.3. Listening on a TCP/UDP Port 14.2.6. Netcat Reverse Shell Scenario 14.2.8. Socat Reverse Shells 14.2.9. Remote Connections with Secure Shell (SSH) 14.3.1. Remoting with PowerShell 14.3.2. Using PsExec 14.3.3. Using evil-winrm 14.4.1. Using MSFvenom |
Challenges | None |
Estimated Time (Hours) | 8 |
Supplemental Learning* | None |
Week 19: Troubleshooting
Overview and Study Approach | This week you will learn how to fix and troubleshoot exploits. |
Learning Module | Troubleshooting |
Learning Units | Troubleshooting : 15.1 - 15.6 |
Videos for Reinforcement | None |
Exercises | 15.2.1. Practice with Misaligned Instructions 15.3.1. Practice Resolving Coding Errors 15.4.1. Practice Resolving Compilation Errors 15.5.1. Practice Troubleshooting Networks 15.6.1. Practice Recovering Deleted Files |
Challenges | None |
Estimated Time (Hours) | EXP-301 |
Supplemental Learning* | None |
Week 20: Cryptography
Overview and Study Approach | This week you will learn about data transformation mechanisms such as encoding and hashing. Then, you will learn about symmetric and asymmetric encryption. |
Learning Module | None |
Learning Units | Cryptography : 16.1 - 16.8 |
Videos for Reinforcement | None |
Exercises | 16.2.1. Binary Encoding 16.2.2. Hexadecimal Encoding 16.3.1. Unicode and UTF 16.3.2. Base64 Encoding 16.3.3. Encoding - Putting it all Together 16.4.1. Basic Hashing 16.4.3. Verifying Checksums 16.5.1. Password Hashing Algorithms 16.5.2. Salting 16.5.3. Password Cracking 16.6.3. XOR Cipher 16.6.5. Advanced Encryption Standard (AES) 16.7.2. Asymmetric Encryption Practical 16.7.3. Asymmetric Encryption Math 16.7.4. Asymmetric Authentication with SSH 16.7.5. Asymmetric Encrypted Bind Shells 16.7.6. SSL and HTTPS 16.8.1. Cryptography Practical Challenge |
Challenges | None |
Estimated Time (Hours) | 10 |
Supplemental Learning* | None |
Week 21: Web Applications
Overview and Study Approach | This week will focus on helping learners understand: 1) the OWASP Top Ten 2) Understand why it is relevant to information security 3) Understand the basic workings of these common web attacks 4) Learn about HTTP Proxying and Burp Suite |
Learning Module | Web Applications |
Learning Units | Web Applications: 17.1 - 17.3 |
Videos for Reinforcement | None |
Exercises | 17.1.12. OWASP Exercises 17. 3. 1. Burp Suite 17. 3. 2. Proxying and Manipulating Data |
Challenges | None |
Estimated Time (Hours) | 4 |
Supplemental Learning* | None |
Week 22:Introduction to Active Directory
Overview and Study Approach |
This week you will learn what shells are, the kinds of shells used in remote connections, Windows-specific shells, and how we can generate our own custom shells. |
Learning Module | Introduction to Active Directory |
Learning Units | Introduction to Active Directory: 18.1 - 18.3 |
Videos for Reinforcement | None |
Exercises | 18.1.1. Active Directory Concepts 18.1.2. Enterprise Active Directory 18.2.1. Active Directory Users 18.2.2. Active Directory Groups 18.3.1. Group Policy Objects 18.3.2. Managing Active Directory |
Challenges | None |
Estimated Time (Hours) | 7 |
Supplemental Learning* | Open |
Week 23: File Transfers
Overview and Study Approach | This week you will learn some of the most useful techniques for transferring files. |
Learning Module | File Transfers |
Learning Units | File Transfers: 18.1 - 18.3 |
Videos for Reinforcement | None |
Exercises | 19.1.1. Dangers of Transferring Attack Tools 19.1.2. Installing and Configuring Pure-FTPd 19.1.3. Installing and Configuring TFTP 19.1.4. Hosting/Receiving Files with Apache2 19.2.1. Web Transfers 19.2.2. Netcat 19.2.3. SCP 19.2.4. FTP 19.2.5. TFTP 19.3.2. Living Off the Land: Bitsadmin 19.3.3. PowerShell |
Challenges | None |
Estimated Time (Hours) | 8 |
Supplemental Learning* | None |
Week 24: PEN-100 Assessment
Overview and Study Approach | There are two goals for this assessment: - To test for the student's ability to take Penetration Testing with Kali Linux (PEN-200) - To validate that a student has successfully completed PEN-100 with an OffSec Digital Badge. |
Learning Module | PEN-100 Assessment |
Learning Units | PEN100 Assessment |
Videos for Reinforcement | None |
Exercises | None |
Challenges | PEN-100 Assessment |
Estimated Time (Hours) | 6 |
Supplemental Learning* | None |