The Journey to Becoming an OSCP

The journey to becoming an OSCP is arduous and requires knowledge across multiple domains. I distill the syllabus into core areas and provide links to training to help you reach those skills

9 months ago   •   10 min read

By 0xBEN
Table of contents

What is the OSCP?

  • https://www.offensive-security.com/pwk-oscp/
    • Earned upon completion of:
    • Self-paced PEN-200 course
    • 23.75 hours simulated penetration test
    • You will learn:
      • How to think like an attacker
      • Tools and methods used by attackers




Major Changes on Jan 11, 2022

Source: https://www.offensive-security.com/offsec/oscp-exam-structure
  • Points Required to Pass: 70
  • Points Possible: 100
  • No partial points for Active Directory (AD)
    • Must fully compromise the AD set
  • Lab reports submitted for bonus points worth 10 points.
    • After Jan. 11, 2022, lab reports must contain AD targets as well
  • More combinations of ways to pass the exam




How Do People Become Hackers?

  • How to Learn Real Hacking

    • There is no one path to becoming a hacker or security professional
    • The highly respected LiveOverflow talks about his journey
      HTML > VBS > Webdev > PHP > CSS > JS > MySQL > SQLi > Android Dev > Google Wave > Computer Science > Linux > HackerSpace > Arduino > CTFs
    • A hacker is the sum of their disparate experiences
  • How the Best Hackers Learn Their Craft

    • A Carnegie Mellon professor discusses how to grow your hacking skills
    • DELIBERATE practice, autodidacticism (self-initiated learning), creativity
    • Don’t shut down when you don’t understand (Google keywords in the problem)
    • CTFs are critical to skill growth (HackTheBox, TryHackMe, etc)




Required Skills

Course Syllabus: https://www.offensive-security.com/documentation/penetration-testing-with-kali.pdf


I will synthesize the course syllabus into core modules below. I know there is a lot, but you do not need to be an expert in all of these areas. The point is to build confidence in these core areas, so that you understand the tools, the technologies, and concepts surrounding each of them.


For example, you do not need to be a skilled web developer to start testing web applications. You just need to know about the technologies and it helps to be able to read code and understand it, so you can more easily find vulnerabilities.



Top Points from the Syllabus

  • Penetration Testing with Kali Linux: General Course Information
  • Getting Comfortable with Kali Linux
  • Command Line Fun
  • Practical Tools
  • Bash Scripting
  • Passive Information Gathering
  • Active Information Gathering
  • Vulnerability Scanning
  • Web Application Attacks
  • Introduction to Buffer Overflows
  • Windows Buffer Overflows
  • Linux Buffer Overflows
  • Client-Side Attacks
  • Locating Public Exploits
  • Fixing Exploits
  • File Transfers
  • Antivirus Evasion
  • Privilege Escalation
  • Password Attacks
  • Port Redirection and Tunneling
  • Active Directory Attacks
  • The Metasploit Framework
  • PowerShell Empire
  • Assembling the Pieces: Penetration Test Breakdown
  • Trying Harder: The Labs




Curiosity

OK. This one isn't directly mentioned in the OSCP syllabus and it isn't really even a skill, but it is the single biggest requirement to becoming a successful hacker. You need to have the mentality of:

  • "What if           ?"
  • "What would happen if I           ?"
  • "I wonder what caused             to happen."
  • "I don't know what             is. Let me research it."



Define Curiosity in this Context

Example 1

Your first instinct – when you encounter something you don't know – should be to do some research on Google, Reddit, or other areas of the Internet. There's a good chance someone on the Internet has already asked about it or written about it.



Example 2

Imagine you are looking at an application. You see an input box. The input box says that you may only enter alphanumeric characters. Your curiosity should kick in here. What would happen if you input a special character or an emoji? What would happen if you input 1,000 "A" characters?



Being an Effective Researcher

The most widely used search engine by hackers is Google. You can use whichever search engine you prefer, but Google has lots of neat tricks that can help you be a better researcher and hacker.



Google Dorks

Google's search has operators that can be used to return very specific results when performing a search. Some examples include:

  • "keyword" all results must contain this word
  • "some words" return all results with this exact phrase
  • -keyword results must not contain this word
  • -"some words" results must not contain this phrase
  • site:somesite.com return results only from a specific site
  • site:*.somesite.com return results from any subdomain of a site
  • filetype:pdf return results containing PDF files
  • before:YYYY-MM-DD return results before a specific date
  • after:YYYY-MM-DD return results after a specific date
  • after:YYYY-MM-DD before:YYYY-MM-DD returns results in a date range
  • cache:somesite.com check for cached version of a site
  • inurl:keyword results must contain this word in their URL
  • intitle:keyword results must contain this word in their title
  • site:somesite.com file:xlsx inurl:expense you can compound operators



Google Hacking Database

This is a list of Google Dorks used by the community to find vulnerabilities or misconfigurations.

Offensive Security’s Exploit Database Archive
The GHDB is an index of search queries (we call them dorks) used to find publicly available information, intended for pentesters and security researchers.



More Google Search Operators

Google Search Operators: 40 Commands to Know in 2022 (Improve Research, Competitive Analysis, and SEO)
Google search operators make searching for things online so much better. Once you’ve mastered just a few of these special commands, you’ll wonder how you




Core Skill Areas

  • Operating Systems
  • Networking
  • Web
  • Programming

I am maintaining a list of free training resources on these topics at this page, and will continue to add to it as I come across more quality links.

Free Training Resources for Cybersecurity and IT Professionals
I will try to keep this list up-to-date with training resources for different areas that could benefit students and professionals of cybersecurity and IT




What About Certifications?

I have seen many people ask about getting certifications such as the A+, Network+, and Security+ in preparation for the OSCP. Certifications can be expensive and time-consuming and there are often costs to keep them current. Make sure the time and effort align with with your goals.

  • Depending on your experience level, certifications can:
    • Fill in knowledge gaps
    • Give you a path to follow to future goals
    • Add weight to your resume
  • It may be better to skip the certification but review the content
    • If you do not plan on using the certification to advance your career
    • If you do not have the time or money to fully certify
  • It may be better to pursue the certification
    • If you plan on using it as leverage for a job
    • And, the content in the certification is worth the investment





Developing an Attack Methodology

  • It is important to follow proven methodologies when conducting a penetration test, even when doing CTFs
  • It takes time to find your rhythm
  • The Penetration Testing Execution Standard (PTES) and Penetration Testing Framework (PTF) detail the core steps of a penetration test
    1. Client Visit and Scoping (for a CTF, think platform rules of engagement)
    2. Intelligence Gathering -- active and passive
    3. Threat Modeling (find common weaknesses based on the target service)
    4. Vulnerability Analysis (directly related to the quality of your intel)
    5. Exploitation (with great care and reliance on your intel)
    6. Post Exploitation (privesc, further penetration, repeat steps 2-5)
    7. Reporting (for a CTF, this could be a blog write-up)




Getting Hands-On Experience

This is the only reliable way to increase your knowledge and skills. You cannot spend your time studying only theory. You must apply the theory in practice in order to have a comprehensive understanding



Home Lab

Guides I've Written

Proxmox VE 7: Converting a Laptop into a Bare Metal Server
In this post, we will take a look at an in-detail process of setting up a Proxmox home lab on a bare metal server.
Building a Security Lab in VirtualBox
In this post, we we will take a look at an in-detail process of setting up an entry-level cybersecurity lab using VirtualBox



Hosted Services

HackTheBox
TryHackMe
Offensive Security Proving Grounds
Root-Me
Virtual Hacking Labs
247CTF



OSCP-Like Boxes

Here's a really great list of targets that could help you prepare for the OSCP and improve your pentesting methodology:

NetSecFocus Trophy Room - Google Drive




Roadmap to OSCP

WARNING: This is a not a guaranteed formula for success nor does it guarantee that you will pass the OSCP exam. Use this for what it is – a generalized path to preparing for your OSCP exam.

This assumes you're a complete beginner, so you can start at whichever step in the roadmap suits your skill level:



Core Skills Competency

Systems

  • You'll need to know a variety of operating systems for the OSCP
    • Windows
      • Windows XP
      • Windows7
      • Windows 10
      • Windows Server
    • Linux (Debian and RedHat derivatives)
    • BSD
    • Possibly more
  • Be comfortable in the terminal
    • Bash
    • PowerShell (and legacy command prompt)
  • Know how to list the users and groups on an operating system
  • Know the file system hierarchy on various operating systems
  • Know how to get the current operating system version on various operating systems
  • Be familiar the Windows Registry
  • Know how to list installed hotfixes on Windows
  • Know how to check and modify permissions and ACLs
  • Know how to check, create, and modify scheduled tasks
  • Know how to list running process and services



Networking

  • You don't need to be a subnetting wizard
  • Given an IP adddress and network mask: know how to figure out your IP address space
  • Know how to query and configure network interfaces on the command line
  • Know how to read a routing table on the host
  • Know what ARP is and how to read an ARP table
  • Know how to list listening ports on a host
  • Know how to pivot to internal networks when your target has mutliple interfaces or routes
    • Proxying
    • Tunneling
  • Know how to forward individual ports
  • Be familiar with the OSI model
  • Understand the fundamentals of TCP/IP networking



Web

  • Know the various HTTP request methods
  • Know the most common HTTP response codes
  • Know some basic HTTP headers and how they work
  • Know the basic functionality of a web server
  • Know how to make HTTP requests from the command line
  • Know how to use Burp or some other web proxy
  • Know how DNS works to resolve hostnames to IPs
  • Know how DNS hostnames correlate to virtual hosts on a web server
  • Know how to modify your hosts file on your attack box
  • Know how to modify your DNS settings on your attack box
  • Be familiar with SQL and NoSQL databases
    • Have basic proficiency in SQL
    • Understand SQL injections



Programming

  • You don't need to be a full-time engineer or a computer science wizard
  • Have some basic proficiency in AT LEAST one of these object-oriented languages:
    • PowerShell
    • Python
  • Have a basic understanding of primitive data types in programming
  • Know how to use flow control logic (conditions)
  • Know how to use loops
  • Know how to read, create, and edit Bash scripts
  • Know how to read, create, and edit public exploits
  • Know how to compile public exploits
    • 32-bit
    • 64-bit
  • Know how to read and understand error messages when your scripts fail
    • Google the error messages when you can't figure it out



Hands-On Practice



Active Directory





More Pages to Check Out

The Five Pillars of InfoSec
Total OSCP Guide
The Journey to Try Harder: TJnull’s Preparation Guide for PEN-200 PWK/OSCP 2.0

Spread the word

Keep reading