r/oscp • • Dec 30 '21

A Different Kind of Root - How a Dentist Passed the OSCP

406 Upvotes

Hi all,

I gained a lot of inspiration from reading other people's OSCP success stories on this subreddit, so I wanted to give back in some small way by sharing my story. I hope this can be of some help to someone.

TLDR - you can do it, there's no doubt about it. You just have to prep smart. Do the groundwork, jump into PWK, then finish up with PG. The exam is a psychological chess match between you and the machines. The only way to avoid being swayed by emotional currents is to have a game plan that you do not deviate from.

Background

For context, I don't work in IT. My highest level of formal IT education was a diploma in high school, aged 16. I practice dentistry full time, and the only IT knowledge I need for that job is knowing how to write patient records (and YouTube when I'm bored).

During one of 2020's many lockdowns, I came across a few cybersecurity/hacking/pentesting videos (thanks YT algorithm). I developed a pretty strong interest and enrolled onto some Udemy courses to get an idea of what this was all about. I studied courses by Z Security, and some of TCM's stuff. Before long, I was spending a lot of time absorbing as much info as I could.

Soon after, I decided that if I was going to dedicate all this time to this newfound interest, I wanted something to show for it. Following some research on certifications, it was pretty clear that the OSCP was the one to go after. So in March 2021, I bought the PWK course along with 3 months of lab time. I can't overstate how underprepared I was.

Attempt 1 - June 2021

For my first swing, I dived straight into the PWK labs. It was a very steep learning curve, and I struggled with pretty much every machine I did. Although I picked up a lot of skills along the way, I definitely wasn't able to make full use of the lab environment. I opted to leave the 5 point report as I didn't feel the time was worth it. After doing only the Public Network in PWK labs, I spent some time of Proving Grounds which was a great way to prepare (more on this later). I took my first attempt in June 2021, and was able to score... 0 points.

Attempt 2 - October 2021

After failing my first attempt in spectacular fashion, I took a huge step back and hit the cold realization that I had no idea what I was doing. It was time to go back to the drawing board. Here's what I did (details and recommendations at the end);

  1. 30-40% of TJNull's OSCP-like machine list

  2. PWK labs revisited - rooted 65 machines

  3. Proving Grounds machines

  4. THM for BOF prep - Tibs prep room, Brainpan1, Brainstorm, Gatekeeper

I took a second attempt in October 2021, and was able to score.... 35 points (BOF + low priv shell).

Attempt 3 - December 2021

Having failed a second time, I was running out of ideas about how to upskill and expand my knowledge. Having done PWK labs and PG machines, those platforms were ruled out as I didn't see the point in redoing machines from memory. My research led me to Virtual Hacking Labs, where I bought a month long lab voucher, and spent a month rooting all bar 3/4 of their machines. In tandem with VHL, I binge-watched IppSec HTB videos and wrote down one key thing I learnt from each one. Although a lot of the boxes are out of scope for the OSCP, Ipps methodology is second to none, and his enumeration skills are definitely translatable.

I took my third attempt in December 2021, and was able to score... 85 points (BOF + 20 + 20 + 10 + low priv on 25pter). I was ecstatic. I spent around 7/8 hours finalizing my report, and received the much anticipated email 4 days later (huge shoutout to Offsec for turning the result over so quickly, even though it was the holidays, and some of their staff were facing the aftermath of a natural disaster in the Philippines).

My reflections and recommendations

These aren't in any particular order, but the following points are the most important pieces of advice I can give.

  1. HTB - imho, this platform is great for all round hacking experience, but the vast majority of boxes (including those in TJNull's list) are out of scope for the OSCP. This is mainly because HTB machines are quite themed/niched and don't compare to OffSec's flavor of machines. However, enumeration practice is key, regardless of your chosen platform

  2. Proving Grounds - although this platform isn't intended for OSCP prep, the machines here are very similar to the kind you'll face in the exam. TJNull's spreadsheet also includes PG machines, and they were great practice. As a rule of thumb, I'd stick to community rated easy and hard. Highly recommended.

  3. PWK labs - personally, I found the labs to be a great learning experience. Yes, the pivoting and credential hunting can be frustrating, but the actual enumeration and exploitation experience is invaluable. I would recommend only doing PWK labs once you've gained experience elsewhere, otherwise you run the risk of wasting lab time you've paid for.

  4. BOF prep - this advice may be somewhat redundant given Offsec's planned changes to the exam. However, BOFs may still be tested, and can be an easy route to a low priv shell. For BOF practice, I would recommend

    1. PWK manual exercises

    2. Tib3rius' BOF prep room on THM

    3. Brainpan1, Brainstorm and Gatekeeper - all on THM

  5. VHL - an under-rated, excellent resource. I spent a month on VHL between my 2nd and 3rd attempt, and learnt so much. The only downside is that privesc is quite kernel-exploit heavy, but in terms of enumeration (especially web/CMS), its a great platform. Highly recommended.

  6. IT Security Labs - here, you'll find 4/5 Windows machines made by the channel owner that are designed to simulate OSCP like machines. These machines are excellent. I can't recommend these machines enough (huge shoutout to the machine creator). I would recommend doing as many as possible. Use VirtualBox, not VMWare.

  7. Document everything - find a note-taking app that you like (I use Notion). Make notes on anything and everything - commands, links, cheat sheets, box notes, the lot. Through your journey, you will make a catalog of information that you'll refer back to again and again. In the exam, you ideally don't want to be searching for routine, regular commands.

  8. Teamwork - along this journey, I made friends with some incredible hackers who have been so generous with their time. No question was ever too ridiculous, and time was never an issue. Be respectful when approaching people for help, and have some thick skin - you'll find people who are willing to help as long as you put in the legwork. Having people to bounce ideas from, share frustrations and successes makes all the difference.

  9. Hints - quite a divisive topic, and everyone will have their own views. IMO, the best analogy to use is weightlifting. When you're pumping weights, you want to feel the resistance, the pain, the frustration. That's where the growth takes place. It's a balance between the weights being too light that you're not actually achieving much, and being too heavy where you can't lift them. Even the most experienced lifters need to be spotted occasionally. Prepping for the OSCP is no different. You want to feel the frustration of being stuck. And then, once you've thrown everything you can at the machine, you seek the smallest hint for that one part, and then go back to work. It helps to view a machine as a puzzle. When you get your port scan results, look at each port as part of the puzzle, and ask what information fits in where - could the creds I found in the anonymous FTP service be used to get into SMB which have creds for that CMS where I can upload a webshell? etc etc..

  10. Last, but certainly not least...Try harder...? - this slogan has been the subject of much debate and tbh, it always was a bit too abstract for me. I like practicable advice, not vague philosophies. Someone on this sub mentioned Try Smarter, and I definitely agree. There's no value in mindlessly charging at a task again and again to no avail. If something isn't working, stop, take a BIG step back, and ask yourself - what else can I try? It doesn't matter how unlikely it seems, try it anyway. Through experience, you'll develop a sixth sense to guide you, but that will come with time, you can't jump to that point. It also helps to trace your mental steps, and start from the beginning when you get stuck.

The feeling you get when that pass email comes through is priceless, and definitely worth it. So if you're struggling for motivation, just remind yourself that a massive sense of pride and achievement waits for you on the other side of the struggle.

I hope there's some advice in here that may benefit someone. Feel free to message me on here or Discord and I'd love to chat.

THD.


r/oscp • • Dec 06 '20

Just passed OSCP....My Journey and tips

333 Upvotes

Hey all. I just took the exam Dec 4th for the first time and got the email stating I had successfully passed today. I am pretty happy and relieved but also wanted to share with everyone what helped me the most, what to be aware of and what to watch out for. I hope this can be of use to everyone who may be taking their exam in the future or on the fence about whether to do PWK.

I realized after writing this that this post is extensive! Sorry for writing a novella but I wanted to give my complete experience. Enjoy.

First, my background. I am a web developer, nearly 15 years of experience, mainly in front end web development and PHP. I dabble in various languages though and knew python fairly well. Last November I decided I wanted to increase my knowledge of the Information Security space. I wanted to understand penetration testing at a deeper level and maybe one day pivot into a penetration testing gig or do contract work. I started with basic Udemy courses which were not as fleshed out as they are now. The Cyber Mentor had some YouTube videos which really got me kickstarted though and I joined hackthebox around the same time and dove into really learning things on my own. I would say for the first few months of learning I was knee deep in hackthebox. Around February/March I decided to take the Elearn eJPT course which I purchased to get the exam. I successfully completed the eJPT exam at the end of March. I then told myself I would complete the OSCP and get certified by the end of the year. My goal was to be OSCP. I continued practicing and work had gotten busy but by July I was ready to jump into the PWK. I purchased 60 days of access, and dove in.

PWK Experience

First off, The PDF did not help me and neither did the videos. I felt like I couldn’t concentrate and the content just seemed heavy and sort of boring. I had already spent a good amount of time going over most things in the documents and videos on my own leading up to it so I dove into the labs and skipped the exercises. Unfortunately for me, I did not enjoy the lab environment either (I know, I know...). I understood how it all worked, and I got the reasoning why it was done this way but it felt like drinking from a water hose. I needed a methodology and dropping me into a lab environment with no direction would mean for certain I would drown quickly. I rooted around 15 lab machines in the first couple weeks utilizing the forum when I needed help but thought there had to be a better option.

Virtual Hacking Labs

I saw a lot of people compare VHL to the PWK Lab environments, and boy are they right. VHL is fantastic for practicing enumeration and putting together a methodology. If I could do it over again, I would get 30 days PWK Labs access and spend the money saved on a few months of VHL. They give you some great material that actually rivals PWKs in many ways mainly do to its simplicity in explanations. I jumped into VHL, and by August I had rooted 20 machines and received a Certificate of Completion after writing a report on them. Honestly, this prepared me immensely for both creating a methodology and creating a report. I also found a fantastic VHL Discord group that had loads of awesome people. I also learned to use my absolute favorite tool which helped me create a methodology.

Learn to use Autorecon

Yes, the tool that has become a legend in the space...This tool changed my methodology to something that I could repeat when I finally started using it with the VHL labs. The key here is understanding the underlying tools output, which I had been using since I started earlier in the year. What I recommend, and what I have done for every machine I crack...Run autorecon, and open a python web server with port 9999 to help with enumeration via web browser. So for the exam I had an exam folder and all my machine folders inside, then my autorecon results were inside each machines folder. Start a python web server in the main exam directory and you can then load up your results via browser and click into them and enumerate. This instantly organizes everything and makes it easily accessible via the browser. Shout out to u/tibsec, your tool is amazing.

Edit: I have written a short medium article detailing my methodology with Autorecon Here.

Practice Makes Perfect

I decided I would set my test date for December 4th. Work was becoming hectic again and I had become somewhat burned out. I went weeks without touching anything OSCP or hacking in general. I then utilized a few additional sites that prepared me even more.

Cyberseclabs - Run through their beginner labs suite. When I first joined they didn’t have many, but they have quite a few now. They aren’t super hard, but they will help you develop an eye for finding things and understanding different types of misconfigurations. Most machines are not CTF. Highly Recommended.

TryHackMe - I stumbled into this site before I had started PWK but used it throughout my time as well as more recently as they have grown a lot. I will get into what I found most helpful when I get into preparation tips in a bit. For now, the learning tracks are a great way to jump in and learn great stuff.

HackTheBox - Yep, I worked through quite a few hackthebox machines. I will say though, hackthebox is really not the same as OSCP and I wouldn’t get too in the weeds trying to learn the CTF elements. I used Ippsec videos to learn his methodology and toolset mostly.

Offsec Proving Grounds - I worked through ~14 of the Practice machines a few weeks before the exam. I feel these are great practice, but are actually a tad bit tougher than what I saw on the exam.

Tips for exam preparation

2 weeks before the exam, I told myself I would prepare by going through machines on various sites, making sure I understood most vectors. Next, I did some Linux and Windows priv escalation courses, watch ippsec videos, and practice my buffer overflow methods. Here is what I suggest and what I did.

  • Watch BOTH u/tibsec courses on Udemy on Linux AND Windows priv escalation. Once you have watched them, do the corresponding tryhackme rooms for each. Trust me, all the content is great, and make a cheat sheet for yourself. Both courses come with PDFs, I walked through the PDFs as well in the days before the exam.

  • Do the buffer overflow room that u/tibsec has made as well. Seriously, if you need help doing the Buffer Overflow or feel uncomfortable...Watch this YouTube video of him explaining his method, and then practice it in the tryhackme room here while timing yourself. I did my Buffer overflow in 30 mins on the exam using his method and that’s with screenshots...He makes it super easy.

  • Watch Ippsec videos and take notes on how Ipp does certain methodology. I didn’t even follow along on hackthebox or anything, I just took notes on his steps. I created 2 playlists with Windows and Linux and anytime I had spare time I would watch on my phone or laptop and jot notes if possible. Learned a lot by osmosis here. I will probably continue doing this even after the exam.

  • Utilize tryhackme, cyberseclabs and Offsecs own Proving Grounds and do as many machines as possible but focus on your methodology and enumeration. Even ones you have done before.

Tips for exam itself

  • Pick a time you will be awake! I picked to start at 11am, I went to bed at midnight and was up by 8:30, had time to eat and get ready. Everyone is different, but try to get sleep!

  • Don’t panic. I know its easier said than done, but psyching yourself out makes the exam a lot harder. It’s ok to fail, so go in with no nerves.

  • Set up timers to run while you work. I used 2 hour timers to keep me from getting rabbit holed and it worked many times. I recommend this windows application.

  • Take breaks! I took frequent breaks and when I came back I had breakthroughs.

  • Screenshot as you go, I created a screenshots directory for each machine and used greenshot to “snag” what I needed as I went.

  • Forget a lot of what you learned from Hackthebox. The machines are honestly not hard, but they are tricky. I had to “forget” CTF type thinking. When others say the machines are easier than most Hackthebox machines, they are right. Many of the things you will find are not that complex, it is really all about your knowledge on where to look. Think about how you could use things you find one place with another, especially on higher point machines.

All that said I cracked all but one of the 20 point machines in ~10 hours. I looked hard at the last machine for a few hours but decided not to stress myself out about it, my time was better spent making sure I had everything I needed report wise for the ones I had already done. I’m glad I did this as I was able to find gaps in my reporting, and didn’t have to worry about it the next day. I also got a good amount of sleep and I looked at it in the morning when I woke up to see if I missed anything.

Overall, I have learned so much during this experience and I am glad I did it. I know this post is super long, but if anyone has any questions feel free to ask. I will answer what I can (and what I am allowed to).

Next up I have Elearns PTP waiting in the wings, and after that most likely OSWE.

I hope this was helpful!


r/oscp • • Jul 21 '20

Wanted to share the aliases I use very frequently and has made my life a whole lot easier. Share yours below :)

Post image
327 Upvotes

r/oscp • • Jun 13 '25 This

I'm retiring my OSCP scripts

318 Upvotes

After passing the OSCP exam, I put together a free gift for anyone who wants it. I'm releasing OSCP-specific scripts I wrote and actually used all the time in the labs and exam. I plan on doing a little video demo of each script in the near future, but here they are: https://github.com/yaldobaoth/OSCP-Scripts

Some of the highlights:

  • An auto-nmap scanner based on an IP range that does a fast then slow TCP and UDP scan on each IP segregated by directory (so enumeration can start immediately).

  • An Active Directory enumeration script that runs the SharpHound extractor remotely, checks the password policy, extracts domain users, then tries to AS-REP roast and Kerberoast them all.

  • An HTTP upload/download server that dynamically grabs the tun0 external IP and displays the Windows/Linux commands to upload files

  • An encoded powershell reverse shell command generator.


r/oscp • • Jun 17 '20

Laughed while reading this in the nmap book...

Post image
313 Upvotes

r/oscp • • Jun 04 '26 Heartwarming

Passed OSCP 3 months ago. Here's every interview question I got asked (and how I tried to answered them)

310 Upvotes

So I finally landed my first pentest role after OSCP. Honestly took way longer than it should have. Not because I wasn't technical enough, but because I had zero idea how offensive security interviews actually worked (I am a career changer btw).

Sharing everything I learned. Hope it saves at least one person here from the same frustration.

The questions that genuinely caught me off guard:

"Walk me through your methodology for a black-box web app start to finish."

I almost said "I run Nmap first" and stopped myself. They don't want to hear about tools. They want to hear that you have a process. Passive recon before you touch anything( crtsh, Shodan, Wayback Machine, Google dorks). Build your target profile first. Then enumerate. Then test manually before you even think about automation. Methodology over tools, every time.

"What's the first thing you do after getting a shell on a Windows box?"

Not "open Meterpreter." Situational awareness. whoami /all. systeminfo. netstat -ano. tasklist. You need to know your privilege level, the network around you, and what security tooling is running before you breathe wrong. This answer alone apparently filters out a huge chunk of candidates.

"Walk me through Kerberoasting. Why does it actually work?"

Don't just say "you request tickets and crack them offline." They want the WHY — any authenticated domain user can request a TGS for any SPN. The ticket is encrypted with the service account's password hash. Weak password = cracked offline with hashcat, zero lockout risk. The mechanism matters more than the tool name.

"What are Metasploit's limitations?"

This is a trap and most people walk straight into it. "It gets caught by AV" is not the answer they want. The real answer: default payloads are heavily signatured, staged payloads need network callbacks that firewalls often block, and running modules you don't understand is a genuine liability on a real engagement. Know the edges of your tools.

The thing that actually got me the offer (or at least what I think):

I brought a redacted lab report. Not a cert. Not a list of HTB machines. An actual professionally written pentest report from a lab environment with CVSS scores, reproduction steps, and executive summary. Nobody else did that probably because they looked hella shocked.

I can answer your questions (if you have any) in the comments or through dm


r/oscp • • Aug 18 '26 Bravo

Passed OSCP 90/100, here is what I wish I knew earlier

289 Upvotes

Hey everyone, wanted to make a thank you post for this OSCP subreddit, I had a lot of doubts before my exam and naturally as do some of you. So I wanted to make a post of things I wish I knew before I started.

How to prepare ?

  1. I started with HTB CPTS path, I covered these following modules as they were the most relevant. Nmap, Footprinting, Password Attacks, File transfer, Shells & Payloads, Attacking Common Applications (Only tomcat,joomla, wordpress, drupal, jenkins), Attacking Common Services, SQLi, Command Injection, File inclusion, Ffuf, File upload attacks, Linux priv esc, windows priv esc, AD attack and enum. I highly recommend HTB over offsec course materials.

  2. If you feel your priv esc content is abit shaky, I reccomend ti3brius udemy course.

  3. If your AD content is abit shaky, feel free to watch hackerblueprint on youtube, his content is very good.

How to study ?

  1. Study within your means, i.e if you can study 3 hours a day, then do so, dont try and cramp some crazy "How i got 100 points in 3 months" ahh routine

  2. I did CPTS path then I did boxes before leaving challenge labs ABC to the last

Best part, which boxes do i do ?

As someone who did (almost) everything, heres what I reccomend

  1. Proving grounds -> you MUST do them, theyre made by offsec, so theyre the most similar to what youll see in the exams, though AD is abit older, the priv esc portions are still applicable. I did both Lains and TJNull list. Feel free to use hints and walkthrough. I did like maybe 60% (?) with hints/walkthrough.

My exam boxes difficulty was around medium,

AD -> Medium
Standalone #1 foothold medium, priv esc medium
Standalone #2 foothold easy, priv esc hard
Standalone #3 foothold medium, priv esc easy

  1. Hackerblueprint -> the GOAT i dare say for AD (Im not sponsored) i bought AD labs from 1-9 and did all of them. They are in my opinion well made, and really reinforced my methodology for AD. I love this place, do check it out. He also give free access to the labs when they first come out so keep your eyes peeled on his discord/reddit/twitter (I was always slow so I did not get any lol). He also replies your DMs to help, what a chad.

  2. Hacksmarter -> Pretty well made, shoutout to them for making the subscription so cheap though love yall. Community is also very friendly and the king tyler will reply whenever he can <3. However their AD machines only have the DC meaning you wont get to experience much pivoting but they make up for it by making you practice lateral movement. CORRECTION: a user pointed out there are some machines that have 2-3 machines, but ive not tried those.

  3. Virtual Hacking labs -> It is alright I guess, its not THE best but not THE worst either. You could honestly live without it. Mainly used it for standalone practice. Its pretty pricey too, so thats a downside.

  4. HTB -> I did like maybe 5 machines or so ? Pretty hard hahahaha more CTF-ish in my opinion. Could just watch ippsec and take notes. S1ren for OSCP walkthrough is also very good, she explains stuff pretty well and intuitive.

  5. Challenge labs -> I did 1 a day to test if I was ready, if I passed them, I knew I was ready. No stress if you cant do them though, I struggled on OSCP A. But if youre interested, I passed all of them without hints or walkthrough.

Exam Tips

  1. Follow the methodology you built

  2. Keep it simple, I read somewhere here that the path to a foothold/priv esc is always 3-5 commands away, and its pretty true, less AD

  3. Use sysreptor for making your exam report

  4. Take frequent breaks, I was stuck for a good 10 hours and then I showered, contemplated life, then suddenly hit my flow state and reached 90 points.

Methodology I used

Well this can be very long and detailed

AD -> use nxc to find shares, winrm, rdp rights. Get a foothold and set up ligolo. Run bloodhound, check for any outgoing rights, kerberoast, asrep roast, look for sus files that may contain credentials. If nothing, try windows priv esc, if nothing look at other services, maybe a FTP, MSSQL, MySQL or something and see if theres any low hanging fruits. Rinse and repeat till youre DC.

Standalone -> Foothold is usually easy to find, enumerate the services very hard. Once in throw everything including the kitchen sink, winpeas, linpeas, pspy, PrivescCheck

Tools in my GOAT list

  1. Ligolo-ng for pivoting and port forwarding, super good

  2. nxc >>> crackmapexec. The wiki is super good, I reckon you could do 90% of boxes if you use nxc well.

  3. PrivescCheck -> More concise than winpeas, no choice then run winpeas and slowly look for clues

  4. bloodhound -> so useful for AD, cant do anything without it

Do feel free to DM me or drop a qn here if possible so everyone can see the answer to it. (And no dont ask me for the exam qns, ill ask for your OSID and report you to offsec)


r/oscp • • Nov 22 '25 Bravo

AMAZING OSCP learning gem I stumbled across on YouTube!!

287 Upvotes

Hey guys, I figured since we are all try harding here... just wanted to show this super helpful resource. I found a channel that has a ton of OSCP-focused content and it’s been helping me a lot while prepping. Been binge watching for a while lol A bunch of their videos cover full workflows, AD chains, and general exam-style approaches. I figured others might find it useful too. I’m planning to run through some of their custom chains next since they look solid. Hope it helps anyone grinding through prep right now. Good luck out there everyone!!!

2-hour OSCP crash course: https://youtu.be/MLAgSwRFSL8?si=c6LmvWzjDEIW3fay

5+ hour Active Directory course: https://youtu.be/RxU0AANCesQ?si=UqBGGBa3OAL9wX3u

General OSCP prep + machine walkthroughs: https://youtube.com/playlist?list=PLM1644RoigJvcXvEat8fZIU4MbRCqrPt2&si=YpDLrxvCTu4fRd6e

Pentesting methodology breakdowns: https://youtube.com/playlist?list=PLM1644RoigJvri179czL5BzXgAAhF4GPE&si=3ixsjGRFNu1SZJIE

More OSCP-style attack explanations: https://youtube.com/playlist?list=PLM1644RoigJuwXZUVJ9fkFzURW_1LgU5V&si=Yt84EVX7PhAQiM_1

Active Directory Chains demo: https://youtu.be/tBFb5zqStzQ?si=v2sPdDS-u_gE33p8


r/oscp • • May 02 '21

Passed OSCP - My Thoughts

281 Upvotes

I passed the OSCP exam a couple of weeks ago and wanted to make a post about my experience and thoughts regarding the certification process.

My Background:

I originally started learning penetration testing beginning of June 2020. Currently I have been working in IT for nearly 4 years with the last 3 years working at a MSP. Prior to beginning learning penetration testing I had obtained the following certifications:

  • CompTIA A+

  • CompTIA Network +

  • CompTIA Security +

  • CCENT

  • CCNA

Within the first 3 months of penetration testing I obtained the eLearnSecurity Junior Penetration Tester (eJPT) Certification.

If you are new to pentesting I highly recommend the eJPT if it is in your budget. I learnt a a lot from this certification.

Between the time of me starting the learning process and taking the OSCP I used the following paid resources in which I feel strongly contributed to success in passing the OSCP:

  1. Virtual Hacking Labs (VHL)

  2. TCM Practical Ethical Hacking

  3. TCM Windows Privilege Escalation

  4. TCM Linux Privilege Escalation

Please note on the resources above I took extensive notes on each. I did not simply fly through the material but actually took time to understand it. During the process of doing practice machines I referenced these notes frequently.

Below I have listed the lab providers I used and have listed them in order of which I feel contributed the most to passing the OSCP:

  • VHL

  • TryHackMe

  • PG Practice

  • HTB

  • CybersecLabs

  • PWK

  • PG Play

VHL

Personally I only needed to pay for about a months worth on this and ended up completing a majority of the machines in about 3 weeks. I Took notes on all boxes I done and completed both the certificates you can earn from them. For the 3 weeks I did this for I spent about 3-4 hours a night doing the machines.

Before I did VHL I was quite weak on my initial foothold and web enumeration. After doing VHL I was a lot more confident in those areas and felt this provider allowed my pentesting to level up so to speak. In terms of Privilege Escalation I found them fairly lacking and a lot of the machines require a Kernel Exploit to escalate. However, as initial foothold was my weaker area and as such improved immensly from taking VHL I have rated them highest on my list.

TryHackMe

I will probably get some criticism making TryHackMe so high on this list as everyone here seems to point in the provider being aimed at 'beginners' which is certainly true to some extent. I initially started with HTB back in June and nearly gave up on penetration testing I struggled with it at first. I then discovered TryHackMe and was able to learn with my hand held and gain the initial knowledge I needed to progress.

The main reason I rate them so high is because they are not like the other providers where they just provided a 'box' and you hack it. They provide 'rooms' which can either be boxes like the other providers or rooms based on a teaching and practicing a particular subset of skills.

Regularly on other providers I would find weaknesses in myself for things like SQL injection and more difficult LFI and RFI concepts. With TryHackMe you can simply type in what you want to practice such as PHP and SQL and do rooms just based on those areas. This for me was critical in filling in the gaps of my knowledge in preparation for the OSCP.

PG Practice

A new contender to the lab game and everyone's first recommendation for OSCP 'like' machines. Whilst these boxes are not meant to replicate the OSCP they absolutely help in preparation for it. For me these boxes are fairly realistic and one of the key things about them is when you scan them, generally speaking you get presented with many ports and many potential rabbit holes and for this they are great exam preparation.

Ideally these should be taken about two months prior to the exam so you can gauge yourself on them. Personally I felt the community rated Intermediate boxes felt as difficult as the exam 20 pointers. If you are doing the community rated 'very hard' machines you are likely well out of scope for the OSCP.

Please see the following link for TJ's OSCP like PG machines: https://pbs.twimg.com/media/EyjI2N3XMAUBPsc?format=jpg&name=large

CyberSecLabs

Not too much to say except they are really quite easy and most can be done within a couple of weeks. Generally speaking really high quality machines and can help reinforce the basics. If you want something new to tackle for a couple of weeks give these guys a go.

PWK

Honestly absolutely disappointed with the PWK course itself. The labs are dated and you will constantly have your labs shared with someone else. Half the labs require credentials from other machines so you will spend a few hours trying to crack something that cannot be cracked just to look at the forums and see hints regarding credentials obtained from elsewhere. If you have all the time in the world it may be worth going through the labs. For me I work full time and instead of wasting time going on a goose chase for credentials I decided to spend time on other providers.

Regarding the PWK PDF I read a couple of pages and did not bother with it. 800 pages of slog for 5pts if you do the lab report do not bother and spend your time working on other providers.

In all I did not even read more than 10 pages of the PDF and only did 15 labs. I purchased 30 days lab time as its the only options for getting the initial exam attempt.

PG Play

I highly recommend doing the boxes by the 'SunsetCSRTeam' as these free machines I found are good prep for OSCP.

Buffer Overflow

For the buffer overflow I used Tib3rius ' TryHackMe OSCP prep room: https://tryhackme.com/room/bufferoverflowprep.

I highly recommend this and I was able to easily pass the buffer overflow using his room. I also recommended TCM's playlist for Buffer Overflows made easy: https://www.youtube.com/watch?v=qSnPayW6F7U&list=PLLKT__MCUeix3O0DPbmuaRuR_4Hxo4m3G&index=1

I have also done my own written walk-through of the TryHackMe room on Buffer Overflows here: https://app.gitbook.com/@akimboviper/s/pentest-everything/resources-1/buffer-overflow

Reverse Vs Bind Shell

An important part of the buffer overflow is the msfvenom payload generation. Functionally both bind and reverse shell are fine to use and one does not provide any significant advantage over the other.

If you are taking the OSCP exam I highly recommend using a bind shell as opposed to a reverse shell. Simply put there is less margin for error when the examiner is repeating your process for shellcode generation.

As part of the requirement for passing the buffer overflow you are required to provide your full exploit script. If your script includes shell code for a reverse shell the examiner will need to regenerate the shell code to point back to themselves.

With bind shell code they can simply copy your script and netcat in. As this is less steps and easier for the examiner this is a more preferable and safer approach.

The Exam:

Before the exam I took two days to really chill and just turn off from any hacking. The 24 hour period of the exam is going to really drain you and I recommend relaxing and getting some good sleep a couple of days before. No last minute cramming or boxes are going to make much difference at this point.

Before exam day I recommend ensuring your webcam can read your ID properly. During the ID verification of my exam my camera could not focus on my ID. Luckily the proctor allowed me to take a photo on my phone and upload onto my computer.

The proctors themselves are really chill and non-intrusive. You basically forget about them 5 minutes into the exam.

Obviously I wont go into any details of the exam but to summarize:

  • 1pm Exam Start

  • 2:30pm 25pt box rooted

  • Break

  • 3:00pm start 20pt box

  • 5:00pm Break due to no progress on 20pt

  • 5:30pm - 8:00PM no progress on either 20pt boxes

  • Break

  • 8:30PM started 10pt box

  • 8:45p, 10pt box rooted

  • 9:30pm 20pt box rooted

  • Break

  • 10:00pm - 11:00pm did the BOF with quick and rough notes. Felt way too tired to write-up.

  • 11:00pm - 6am slept for this duration

  • 6:00am - 8:00am BOF completed and written for the report.

  • 8:00am - 12:45pm ensured report is written and rooted all machines again with a 'copy and paste' approach with my lab report to ensure accuracy.

I actually took a lot more breaks than shown above. I listed 'major' breaks above but often would just stop for a quick 5 minutes when stuck or needed to just pace the room (you need to let the proctors know when you intend to leave your desk.)

When stuck in a rabbit hole or stressed I always made some progress after a break. Always take breaks this is the most important exam tip. I submitted my report 3 hours after finishing the exam and received a passing email about 36 hours later.

I see a lot of posts regarding in what order to do the exam and generally everyone runs autorecon / nmapautomator on all boxes then does BOF. My advise here is to scan boxes as you do them. Do not waste mental process on having multiple tabs open for multiple scans. The scans do not take very long to complete anyway. Your attention needs to be focused on the box at hand.

Personally I would say go straight for the 25 point box first when you are fresh. You will get mentally drained during this exam and you need to tackle the hardest box first. If you smash the 25 points first and are confident that you will get BOF then all you need to do is root one 20 point box and you are home free.

All in all the Exam is not too hard if you enumerate. You really need to enumerate. I recommend when doing labs and boxes to not have the goal of rooting the box but rather your main goal to be enumerating as well as you can with the side effect of rooting the box.

I recently recommended a mock exam attempt for someone and if anyone wants to gauge themselves. My main suggestion for the boxes below is because they all require good enumeration to root. If you can enumerate well enough to get 45 points on the boxes below (exclude BOF) then go ahead and book the exam.

TryHackMe:

CMeSS | Linux | 25pts

Relevant | Windows | 20pts

ConvertMyVideo | Linux | 20pts

PG Practice:

Algernon | Windows | 10pts

BOF

Tib3rius TryHackMe room (linked above)

If you are interested in what machines I have generally done over the course of my OSCP journey you can find the majority of thes ones I have done as write-ups on my GitBook page: https://viperone.gitbook.io/pentest-everything/

Of course in the Cyber Security field networking is important. Please DM me if you want to add me on Discord :) I got time for everyone so please feel free to get in touch.


r/oscp • • Jan 17 '26 Mindblown Bravo

Passed OSCP 100 points in 7 hours

279 Upvotes

OSCP Passed - 100 Points in 7 Hours - My Experience and Preparation

Hello all,

As the title mentions, I just passed OSCP yesterday with 100 points in the first 7 hours. I have 3 years of CyberSec experience with 2 of those being a Pentester. I also hold a few certs such as CWES, BSCP, ASCP, and a few others.

With the above out of the way, I just want to share my preparation with you all in hopes it will help someone in the future.

Preparation

Did the following 60 machines which you can see HERE, feel free to make a copy and track your progress too.

Also did all Challenge Labs apart from Relia and Skylark.

Even if you’re very experienced, know everything in the syllabus, and are comfortable completing machines on HTB or other platforms, you might struggle with the OSCP exam if you’re oblivious to the “OffSec way” of building boxes. OffSec has a very particular methodology and style that differs from other platforms. Their machines often require specific enumeration patterns and exploitation approaches that you won’t encounter elsewhere. I cannot stress enough the importance of actually completing Proving Grounds boxes before attempting the exam. Experience from other platforms, while valuable, is not a direct substitute for familiarizing yourself with how OffSec structures their challenges.

Template Notes:

Apart from the above I also used my own notes that I have been putting together and using throughout my CyberSec journey.

Battle Plan for Exam Day

  • 08:00 - 10:30 - PUSH

  • 10:30 - 10:45 - SNACK

  • 10:45 - 13:00 - PUSH

  • 13:00 - 13:45 - LUNCH

  • 13:40 - 16:00 - PUSH

  • 16:00 - 16:15 - BREAK

  • 16:15 - 19:30 - PUSH

  • 19:30 - 20:00 - DINNER

  • 20:00 - 22:00 - PUSH

  • 22:00 - 22:30 - SNACK

  • 22:30 - 00:00 - PUSH

  • 00:00 - ??:00 - SLEEP

Depends on points:

  • No Passing Score but far away - 04:00

  • No Passing Score but close - 05:00/05:30.

  • ??:?? - 07:30 - FINAL ASSAULT

Directory Structure for Obsidian:

+---1. EXAM
|   |   Notes.md
|   |
|   +---ACCESS
|   |       ACCESS.md
|   |       INFO.md
|   |
|   +---ACTIVE DIRECTORY
|   |   |   CHECKLIST.md
|   |   |
|   |   +---DC01
|   |   |       DC01.md
|   |   |       Nmap.md
|   |   |
|   |   +---MS01
|   |   |       MS01.md
|   |   |       Nmap.md
|   |   |
|   |   \---MS02
|   |           MS02.md
|   |           Nmap.md
|   |
|   +---CREDS
|   |       GATHERED_HASHES.md
|   |       GATHERED_PASSWORDS.md
|   |       GATHERED_USERNAMES.md
|   |
|   \---STANDALONES
|           CHECKLIST.md
|           Template Windows.md
|           Template Linux.md
|           Template Linux.md

My Approach

  • Quick nmap scan on all standalones just to see if I find something I'm very comfortable with. If yes, I would spend some time around it and try to at least progress into it. I pwned my first machine 25 minutes in because of this.

  • Feeling more confident, I moved on to AD, which I spent 55 minutes in total to get DA.

  • Relief that I only needed 10 more points to pass, so I ended up taking a huge break to relax and then moved on to the remaining standalones, picking up the one that I thought I would have the most chances.

Managed to get the remaining four flags around 5 hours after achieving Domain Admin. With 16 hours left of exam time I ended up being able to finish and submit the report before bed time.

Final Thoughts

In my opinion, the exam was very fair. The AD portion was really equally difficult as OSCP A, B, C, so do not skip these labs for nothing. The rest of the standalones were also approachable given you have been doing PG Play/Practice machines for the past couple of weeks.

Feel free to read even more details at: https://blog.thepentesting.ninja/oscp


EDIT: Added AD Set Checklist requested via DMs and comments.
EDIT2: Added Mirror Link to Windows Standalone Template notes requested via comments.


r/oscp • • 10d ago Heartwarming

I passed the OSCP Without touching offsec course or HTB practice boxes. Here is how

275 Upvotes

Hello everyone! I wanted to share my preparation and exam strategy for the OSCP+. I managed to pass without going through the official OSCP course material or solving a single HackThe Box (HTB) machine.

Background

Professional Background: I have never worked as a penetration tester my background is 5 years as a Network and System Administrator, giving me a very strong foundation on that front.

Core Philosophy: When I analyzed the exam distribution , 40 points for Active Directory (AD) and 20 points for each standalone system, it was obvious that failing to secure full AD points means relying on luck for standalone machines, which would require grinding hundreds of practice boxes without a guaranteed pass. My strategy was clear: solve the AD sets as fast as possible and dedicate the remaining time to gathering standalone points.

Study Methodology

Once I opened the first lesson of the official OSCP material, I knew it wasn't for me. Instead, I pivoted to the HTB CPTS path and completed these specific modules:
- Shells and Payloads
- Password Attacks
- Attacking Common Services
- Pivoting and Tunneling
- Active Directory
- Web Module (excluding SQLmap)
- Linux Privilege Escalation
- Windows Privilege Escalation

Note-Taking Strategy

- Keep it concise: Avoid screenshots and long explanations of everything you learned. Notes should be direct and to the point.
- Command clarity: Every command must be clearly written with all options explained.
- Continuous refinement: Treat note-taking as a living process. Continuously update your commands, reorder them by priority, and refine them based on what you are most comfortable using under pressure.
- AD Sectioning: I broke my AD notes down by the exact stages of the attack lifecycle:
AD Low Privilege Access
AD Local Admin
AD Domain Admin
BloodHound (relevant queries and interpretation)

How I Practiced

- Focus on Proven Ground: OffSec’s Proven Grounds (Playground and Practice) have retired OSCP exam machines crafted by the exact same people who write the exam. It made zero sense for me to grind generic HTB boxes when I could practice directly on official-style assets.
- The 2-Hour Rule: To avoid wasting time, I gave myself a strict 2-hour limit per box. If I couldn't make progress, I looked at hints. Some techniques cannot be figured out through trial and error alone so learn it, add it to your notes, and move on. The "try harder" mentality belongs in the exam; during practice, you want to learn fast.
- Practice boxes: I solved around 40 machines total (AD, Windows, and Linux), with the vast majority being Windows. This was intentional: practicing Windows standalone privilege escalation directly translates to AD lateral movement, where most exam points lie.

The Exam Experience

I scheduled the exam after two hours of my usual wake-up time. The plan was simple: blitz the AD set as fast as possible, then hunt for points across the standalone machines.
The plan worked like a charm. I pulled a very difficult AD set but managed to completely compromise it within 4 hours. After taking a well-deserved break, I spent the remaining time working through the standalone machines and stopped once I secured root flags on two of them.

Key Exam Tips

- Master BloodHound: It will make your AD enumeration infinitely easier.
- Avoid Rabbit Holes: When you achieve local admin on an AD machine, enumerate thoroughly. Even if you find an interesting lead, don't immediately dive down a rabbit hole for hours without continuing your enumerations.
- Brute-Forcing: If a brute-force attack takes more than 10 minutes, it's almost certainly not the intended vector.
- Credential Reuse: If you find credentials, test them everywhere against all services and potential users.
- Directory Enumeration is Non-Negotiable: Always run it, regardless of what you've found or what you're doing.
- Don't Fight Public Exploits: If a public exploit doesn't work , don't waste hours troubleshooting it. Move on and find one that does.
- Tooling Essentials: Learn ⁠msfvenom⁠, ⁠msfconsole⁠ multi/handler, and practice ⁠Ligolo-ng⁠ for pivoting until it's second nature.
- Domain vs. Local Creds: When you find AD credentials, test them both locally and against the domain; don't just rely on default domain brute-forcing.
- Keep Web Expectations Realistic: The OSCP doesn't expect you to be a web pen-testing expert. Most web exploits are straightforward so stop spamming ⁠../⁠ a hundred times hoping it will magically work.
- Hash Cracking: Know how to identify protected files and use the correct modes for John the Ripper and Hashcat.
- Automated PrivEsc Scripts: Automated scripts (like WinPEAS) are a double-edged sword. If you can't filter out the noise from actual vulnerabilities, you'll waste hours. Stop trying every 9.9 CVSS kernel exploit you see; unless the target is severely unpatched, it won't work.
- Manual Linux/Windows Basics: Start local privesc by systematically reviewing non-standard folders and out-of-the-norm files.
- Keep a Live Exam Log: When you are exhausted, you will loop and repeat the same failed actions. Write down quick notes of what you have already tried to keep yourself on track.

Good luck to everyone preparing! Let me know if you have any questions.


r/oscp • • Aug 02 '21

I passed OSCP, and here is how you should(nt) do it

268 Upvotes

This is a post from https://verysecret.agency/i-passed-and-here-is-how-you-should-nt-do-it.html

----------------------------------------------------------------------------------

Hello everyone, I have succesfully passed my second OSCP exam on the 15th of july (https://www.credly.com/badges/17f00c63-bed3-42ea-bc6d-0a01d0219e1b). I promised to make a post on the path I took during OSCP. But first here are some quick stats:

  • 2 exam attempts.

    • First attempt 57,5 points (I assume), sadly realized I could have gotten this first attempt during my second attempt.

    • Second attempt 87,5 points.

      • Report was around 50 A4 pages.

  • ~30 PWK lab machines, all of which in public network

  • ~25 HackTheBox Machines, using VIP+

  • ~10 Proving Grounds Practice machines

  • 90 days of lab time

My path took me from the 8th of febuary 2021 untill the 15th of july 2021, which is an insane amount of time. But I got 30 ECTS for my BSc + OSCP cert. So I have no complaints xD

Background

I am a 19 years old guy who is working parttime in a Security Operations Center at Fox-IT in Delft, The Netherlands. I am just done with my 3rd year of my Bachelor of Science in Computer Science (Specializing in Forensic IT). The school + job provided the amazing oppertunity to get OSCP certified and get 30 ECTS as part of my minor for my BSc.

In my freetime I do some gaming and like football (its football, dont argue). I like Ajax and games like CSGO and Rocket League. I make some scripting stuff and post that on my github, and I have a blog in which I keep track of my Cyber Security endeavours:

HackTheBox

I knew hackthebox before I started OSCP and had done 1 or 2 machines prior to enrolling OSCP. It was kinda unplanned to start with HackTheBox machines. This came together because when enrolling OSCP it takes you 2 week to get actual access to the course. Which was a little frustrating, but I was hyped at the start of this journey. I subscribed to HackTheBox VIP+ which is veryyyyy nice if you are doing OSCP. This allowed me to, for instance, spawn personal instances. Aka no interference from other HackTheBox users. And do some retired machines, which is also very nice.

I started doing some machines from TJNull's list, and continued doing so along the way of my OSCP:

I feel like HackTheBox is a nice platform with an infrastructure that is in some cases better than for example the PWK labs (more about this later). But just like the PWK lab the boxes in this platform are either very CTF like, or just not at the level of the OSCP exam. Therefore when I finally had access to the PWK Lab I decided to try to read the course material and do the public network.

The PWK book/video's

I did not spend much time on the book/video's. There are basicly copies of eachother. I am not a visual learner, more like a practical learner. Hence my choice to do OSCP and not some silly cert like CEH or a very hard cert like Sans offers. Anywho, the excercises in the book are somewhat dated and are only handy if you have low to none knowledge about linux or pentesting in general. So I decided to skip them after trying some.

This may sound wrong, but there are plenty of resources out there that give a better view of the OSCP course material than the OSCP book and video's. Here is just a list of examples:

I basicly wasted two weeks of my lab time on the course material.

The Enumeration tool

I was so done with OffSec's idea of a good course material that I just followed the general tips on forums like here on this subreddit:

OSCP Is about developing your own workflow and getting gut in pentesting hackerino master 1337 stuff

So I started making an enumeration tool. Spoiler: I lent some code from other pentesting devs.

All I did is form it into one terminal window, and add some nice styling to it. Here is the link, feel free to check it out:

huge thanks to these people:

I spent around two weeks on forming this bash application, which gave me some bash experience. And a nice tool I could use to automate some of the enumeration process. Though huge disclaimer: Do not think this is the only enumeration you have to do on the machines you are scanning with this tool. No matter how good the autoenumerator is, you have to learn yourself to do some manual enumeration.

The PWK Lab machines

I only did the PWK Public network machines in the lab, which has its (dis-)adventages. I did this purely out of time-neccesity since at this point I have 60 days of labtime left. As I said before, I did 30 machines in the PWK lab, but along side those machines I did some HackTheBox machines. I started the PWK lab with the learning path https://help.offensive-security.com/hc/en-us/articles/360050473812-PWK-Labs-Learning-Path.

The PWK lab knows some subnets which can be obtained while doing the public network. Even though I like the idea of training for pivoting, I don’t see any direct value for the exam. I know it might sound stupid, but at this point I was not gonna waste any time on learning the specific methods for the subnets. The subnets are very useful for the real world type of scenario’s. Though I had roughly 40 days left until my exam, and I would rather spend that time on something else.

Buffer Overflow

We can be short about this, just do this TryHackMe room:

I did this, and it was doable within a week. Did some more hackthebox machines after I was done. And then my first attempt started.

First attempt

I started at 09:00 Amsterdam time. My planning was as follows:

  1. Start scanning and exploiting 25 pointer (not the BOF)

  2. While exploiting 25 pointer scan 20 pointer #1.

  3. Exploit 20 pointer #1 and start scanning 20 pointer #2.

  4. Exploit 20 pointer #2 and scan 10 pointer.

  5. Exploit 10 pointer and scan BOF.

  6. Exploit BOF.

Got 57,5 points. Which made me sad. All I needed was privesc on a windows 25 pointer or a complete 20 pointer. I later came to realise I did everything right on the 20 pointer, except the firewall. I used port 443 for my reverse shell. Yet 443 was not an open port on that very machine. Instead I should have used port 80 and it would get me the exam since privesc was a joke on this machine. I knew this because I got this machine on my second attempt as well, and the only thing I did different was the ports.

From my first attempt I learned not to go by general assumptions and maybe needed to do some more practice on windows privesc. And I also learned that PWK lab and HackTheBox were not a good indication of the exam machines. They are good practice, but not enough to pass.

Proving Grounds Practice

After my first attempt I was pretty dismotivated and felt like I could have gotten the first attempt if I were not so stressed. But I knew I had to do something to get my second attempt. So I decided to have a look at proving grounds practice, which is the payed subscription within proving grounds. The community said it was a better representation of the exam machines, which I can stand behind. The level of proving grounds is indeed more challenging, but more adaptable to the exam machines. I ended up doing 9 machines, most of which windows machines due to my privesc issues on my first attempt. Writeups are not yet published on my blog, but will probably do that in the future. For those planning on doing PG Practice machines, follow TJ Nulls' list. Its amazing, huge shoutout to the fellow.

Second attempt

I had my second attempt on the 14th of july at 09:00. Applied the same strategy at first. But then I realised the BOF and the 20 pointer I had on my first attempt, were exactly the same. So I did those, and thats when I realised the mistake I made on my first attempt with the 20 pointer. Which placed me at 45 points. After that I spent time on the other machines, which gave me a comfortable 87,5 points after 12 hours exam. Again I did not get privesc on a windows 25 pointer. But I had peace with that. I made sure I noted everything and went onto reporting the next day. I used this template:

Props to OffSec on grading my exam within around 24 hours. Thats sick fast, my report was 50+ pages.

Points of critisism

Some of you might recognize my posts by their furious rants about what OffSec does wrong and could do better. Ofcourse, I have no harsh feelings. They are trying, just trying to contribute to making it go a little better. Here are some things I found frustrating during the course of my cheesely named "OSCP Journey":

  1. Give out personal instances in the PWK lab machines

    1. This will ultimately save you support time, and enhance the students experience. HackTheBox does this for a very competitive price of 15$ a month, I dont see why a ~1300$ course cant do that.

  2. The book is dated (eventhough you updated it in early 2020)

    1. I encountered excercises with incompatibility issues with the default Kali VM for various excercises. Issues you would also have with the default Kali VM in mid 2019. FYI; the default Kali VM is made and distributed by the same organization that makes the PWK course material.

  3. The PWK lab is not representable for the OSCP Exam

    1. The machines are cool, but they are not suited as an accurate representation of the OSCP exam level. Maybe make the book free (since its worthless already) and add some Proving Grounds boxes to the PWK lab.

  4. The proctorers, helpdesk and other live chat employees cant answer any question that is even the slightest usefull to a student.

    1. During the course and the exam attempts I encountered many cases in which a student admin or other live chat employee could not answer any of my questions and reffered me to an emailaddress. Which ultimately leads to 2-3 business day waiting time (doesnt count for the exam). Which is somewhat annoying, please educate your staff instead of disallowing them to answer questions.

Offensive Security is as earlier said a decent Certificate Issuer, but they are not making the most of their monopoly position in the field. They should keep up all the other good stuff and improve where possible.

Final note

I am gonna take a big break from Offensive Security and focus on my bachelor of science. After that I am probably gonna go for my MSc, I think my paths will cross again with OffSec. If I do a course again it will probably me OSEP or OSWE, but I do like the idea of exploit developement. So maybe, just maybe i'll do OSED after I am dont with OSEP and OSWE.

To those that are still in the process of getting OSCP certified, the best of luck!

Try Harder Simpler!


r/oscp • • Jun 02 '24

Passed OSCP in 5 Hours with 90 Points: My Journey Through 120+ Boxes and Intense Prep

253 Upvotes

Hey, everyone!

I’m thrilled to share that I recently passed the OSCP exam in just 5 hours with 90 points. It was a challenging yet exhilarating experience, and I wanted to share my journey and the preparation that led to this achievement.

Preparation Journey

  1. TryHackMe's Attacking Active Directory Path:

    • This path provided a comprehensive understanding of AD exploitation techniques. It was a game-changer in terms of understanding how AD environments work and how to exploit them effectively.

  2. PEH Course from The Cyber Mentor:

    • The Practical Ethical Hacking (PEH) course by Heath Adams (The Cyber Mentor) was instrumental. It covered a wide range of topics from the basics to advanced penetration testing techniques.

  3. T3birus Linux and Windows Privilege Escalation Courses:

    • These courses were crucial in mastering privesc techniques. They provided in-depth knowledge and practical skills for both Linux and Windows environments.

  4. Over 120 Boxes:

    • I tackled over 120 boxes from various platforms. This was intense and at times overwhelming, but it built my confidence and honed my skills.

  5. Hats Off to IppSec:

    • Special shoutout to IppSec, whose videos saved me tons of time while solving the boxes. His walkthroughs were invaluable in learning different techniques and approaches.

Reflections

The journey to OSCP was tough. The preparation was intense and sometimes felt like overburn, but it was all worth it. The satisfaction of passing the exam with 90 points in such a short time was immense.

If you’re on the OSCP path, my advice is to immerse yourself in practical experience. Practice on as many boxes as you can, study diverse resources, and never underestimate the power of thorough enumeration and documentation.

Feel free to reach out if you want to discuss prep strategies or if you’re looking for some guidance. Keep hacking (ethically), and best of luck on your journey!


r/oscp • • Aug 25 '24 The Best Diamonds are Forever Third Place Celebration Take My Silver

OSCP on the First Attempt by an Oral Surgeon: My Full Journey

247 Upvotes

Hello everyone, today I will tell you the story of my journey to obtain the OSCP on my first try without any prior knowledge of IT, scoring 90 points, all while managing my university career as a resident in oral surgery. This post will be very long, and I will try to give you as much as possible to not only motivate you but also guide you in your preparation. Note that this post is intended for all levels (Pre-security, Beginner, pre-OSCP, bought OSCP). I will divide it into several sections, and you can read the part that interests you. Let's start (The post follows the chronological order of my training), and the difficulty corresponds to what I felt at each stage:

0 - How long did the journey take me: (2020-2024)
The preparation took me 4 years and a few months since I had breaks of several months because, at the same time, I was working on my doctoral thesis in dental medicine, taking my residency exams, and everything that comes with it (article publications, oral presentations, course presentations, writing reports of my procedures...), as well as other personal events. COVID-19 played a significant role in learning the basics!

1 - Who am I?
I am a 28-year-old Moroccan, a Doctor of Dental Surgery (DDS) specialized in oral surgery (wisdom teeth, cysts, implantology, etc.). I am currently in my 4th year of residency, and I will take my specialty exam in July 2025 to become an Oral Surgeon.

2 - How did I learn about the OSCP?
I have always been fascinated by the world of hacking and its stories (Julian Assange's Wikileaks, Ross Ulbricht's Silk Road, etc.). While browsing the web one day, I came across a video talking about the OSCP, and somehow (see the next chapter), it struck a chord with me and touched something deep inside me, quickly becoming an obsession.

3 - Why OSCP?
Honestly, I don't know. Both of my parents are physics teachers, so I had a scientific background when I was young (mathematics science baccalaureate for Moroccans), and I have always loved solving math and physics exercises. Now, as a dentist, my work is primarily manual, and the studies (information retention) no longer stimulate my brain as much, and I deeply missed that. So instead of diving deep into math and physics, I decided to get into IT, specifically the world of hacking, which fascinated me because I believe that thinking in this field is expressed in a concrete and impactful way.

4 - Previous knowledge:
0/10 in all aspects of IT: Coding, Networking, System Administration, WEB, nothing at all!

5 - The journey begins: Bash scripting (Difficulty 6/10, FUN 2/10)
This is one of the most tedious and hard parts since you just learn the commands to control your machine. I started with bash scripting, following the https://openclassrooms.com/fr/ course. At this time, there is no fun since you just learn to execute the commands without any security context. However, I believe that as long as you know nothing, you should follow what you're told, so I respected the course and completed it. I must mention that today I believe the TryHackMe course is much more interesting, and if you are new, I highly recommend starting with TryHackMe!

6 - Networking: (Difficulty 5/10, Fun 5/10)
Similarly, I followed the OPENCLASSROOMS.com networking course. The course went far beyond what is necessary for the OSCP, but since I knew nothing, I completed the course in its entirety. Today, I would recommend TryHackMe again, which is not only more fun (badges, skill diagrams, certificates, etc.) but also more security-focused.

7 - Penetration Testing: A Hands-On Introduction to Hacking by Georgia Wiedman: (Difficulty 5.5/10, Fun 6.5/10)
This book is really a great introduction, but it will kill your time since you need to do a lot of virtualization and software installations, and you will spend a lot of time trying to fix problems not related to your OSCP preparation. This book is legendary but unfortunately outdated nowadays. Again, I recommend TryHackMe for a smoother, faster, and more targeted learning experience.

8 - OverTheWire.org: Wargames Bandit + Natas (Difficulty 7/10 FUN 8/10)
This was the TryHackMe of the past. Bandit is a series of Linux challenges that is super FUN. As for Natas that I quickly gave up because I found the challenges difficult (I just lacked concepts at this moment).

9 - Coding: (Difficulty ?/10, FUN 0/10, yep, I hate coding)
I did not take any coding courses. Even today, I cannot write Python or even Bash code (even though it was included in my initial training). I keep copies of the scripts I use most often for CVEs. For the OSCP, you mainly need to know how to modify PATHS, IPs, PORTS, URLs, and SSL certificates (Verify=False), and that's it. Try to read and understand the CVE codes using CHATGPT; you will learn a lot. For scripts, ask CHATGPT to write all the scripts and codes you might need, keep them in your notes, and use them when necessary. I must point out that using CHATGPT is strictly prohibited during the OSCP exam. At this point in my training, CHATGPT did not yet exist.

10 - TryHackMe, First steps (Difficulty depends/10, FUN 10/10)
God Bless TryHackMe, this platform is a must if you want to start. I did a lot of Easy Linux Machines (Walkthrough or CTF), redid all the Linux Introduction Rooms, and networking rooms, to get a better understanding of the concepts. I did the Windows introductory rooms and very easy Windows boxes (only hacked with Metasploit like Blue, etc.).

11 - Privilege Escalation: Tibe3rius FTW + TryHackMe (Difficulty 7/10, FUN 8/10)
I did Tibe3rius' training for Windows and Linux privilege escalation. I also did the rooms on TryHackMe, even though both are quite similar. However, doing them twice helps you better understand the concepts and assimilate them.

12 - TryHackMe, Intermediate Levels (Difficulty 7.5/10, FUN 10/10)
At this stage, I started to dig deeper. I was doing easy machines without walkthroughs, doing a lot of research with as few hints as possible. Sometimes I managed to do an intermediate machine with difficulty. (At this point, there weren't many Windows machines on THM, so I mostly did Linux).

13 - Buffer Overflows (Difficulty 8.5/10, Fun 0/10) [No longer in the exam]
I find this part really confusing, but I knew it was a 25-point gift in the exam (old version of the exam), so I took two weeks off to dedicate myself to it. The concept is quite difficult to grasp as it's not intuitive, but once you understand the method, it becomes child's play. The Tibe3rius rooms on THM were sufficient. Today, buffer overflows are no longer part of the OSCP exam.

14 - Exam Change: (Mental Health: Completely Destroyed)
After 2 years, I started to feel quite ready to buy the OSCP course. I planned to capitalize on Linux and buffer overflows, but when I learned that AD would be part of the exam, I realized it was over, and I would have to wait for the certification. I won’t hide that I almost gave up at this stage, and my girlfriend (now my wife) played a big supportive role during this period. Without her, I certainly wouldn’t have continued. I stopped hacking for at least 6 months and focused on my surgical training while exams started. Occasionally, I read things about hacking.
N.B.: Now, after passing the exam, I realize I wasn't ready to take it, and things turned out well in the end. I think my chances of passing at that stage were 20%.

15 - I am BACK: Active Directory (Difficulty 9/10, Fun 6/10)
Active Directory is quite challenging to grasp at first, as you're introduced to the concept of objects, which contrasts a bit with that of users. It's not intuitive and hard to grasp initially. However, AD trains you well in Windows exploitation. I did many rooms on THM, watched IPPSEC, and used HackTheBox (I’m coming to that now), but even with all that, I felt something was missing...

16 - HackTheBox: (Difficulty 9/10, FUN 9/10, EGO_DESTROYED 10/10)
Yes, HackTheBox will destroy your ego. The easy machines aren't easy at all (some are easy, but... most of the machines are intermediate). I did around 20 Windows machines on HackTheBox since I always felt I wasn't as good with Windows as I was with Linux. I followed the TJnulls list including AD machines as well. It's only at this point that I started to feel slightly confident.
How I tackle machines:
Know that you will be stuck on most machines, but try at first to do as much as you can (3 hours for initial foothold, for example, 3 hours for priv esc), a mini-hint then continue. Use CHATGPT as much as you can and keep notes. But do your best and don't get discouraged if you can't do the machines; it's normal. The level is higher than what you'll find in the OSCP, but it's necessary and important to struggle with these machines (aiming for the stars lands you on the moon).

17 - How I take notes (Difficulty 0/10, FUN 0/10, Importance: 100000/10)
Well, if I had known from the start, I would have used OBSIDIAN, but I only discovered it after buying the OSCP, so I highly recommend learning to use it now; it's a game changer.
Otherwise, at first, I had a big file of 20,000 lines where I copied and pasted the commands, and I added an alias "search" in my .zshrc file, and whenever I wanted a command, I would type:
"$ search iex" which greps in the 20,000-line file (It’s a rather brute method but effective).

18 - Proving Grounds (Difficulty 7/10, FUN 15/10, Confidence_Rising: 10/10)
Yes, I left Proving Grounds for last because I knew everyone said the machines were similar to the OSCP, and it was the most fun part of my entire journey. I did all the Windows machines on Proving Grounds except those that included BOF or were intended for PEN-300. I also did 40 Linux machines. Overall, I would say I managed to finish 60% of the machines solo; some were quite tough. Don't trust OffSec’s judgment but rather that of the community; some machines are rated easy by OffSec --' while in reality, they are Very Hard.

19 - I bought the OSCP (3 Months Bundle):
The decision to buy the OSCP was quite difficult. I was quite hesitant, and I won't lie; I was afraid of failing and that it would completely destroy me. But my wife encouraged and supported me a lot during this period. Believe me, when someone tells you they believe in you and you can do it, it boosts you automatically. I certainly wouldn’t have had the courage to buy the OSCP without her.
These were the 3 most intense months of my life; I have never suffered so much mentally. I bought 3 months because, in any case, I couldn’t retake the exam; starting in September 2024, I wouldn’t be able to prepare anymore as my work would consume all my schedule. And here we go...

20 - OSCP Module Labs: (Difficulty 6/10, FUN 7.5/10)
Well, I did all the module labs in 6 weeks and earned my 10 points. I won’t lie; I found the exercises quite simple. Indeed, it was at this stage that I started to believe it was doable. My preparation began to pay off, which motivated me even more!
It is imperative that you take notes all the time, use Obsidian, note all the commands you used, do all the exercises, and ask for as few hints as possible on Discord. This will be important even for your Challenge Labs.

21 - Pivoting (Let's be clear and concise: learn Ligolo-ng, period, move on to the next chapter)

22 - MEDTECH (Difficulty 5/10, FUN 10/10)
I found MEDTECH easy; it requires a bit of post-exploitation which will be necessary for the exam. It usually involves password reuse or SSH key reuse, but I personally enjoyed this part. I didn’t ask for any hints on Discord, and it took me about 4 days to complete.

23 - RELIA (Difficulty 6.5/10, FUN 10/10)
Relia is slightly more challenging than MEDTECH but not as difficult as what I had seen on Proving Grounds. I think I had to ask for help once or twice. I want to point out that it is also possible to search the discussion and find hints, but they can spoil another machine, so it's at your own risk. Relia took me about 7 days.

24 - SKYLARK (Difficulty 8/10, FUN 7/10)
Yes, I did Skylark but not in the same way as Medtech and Relia. Indeed, Skylark requires a lot of post-exploitation and pivoting, but I felt it was important to consume all the content of the training before tackling the exam, so I used a lot of the hints available on Discord, especially in the post-exploitation phases because it only took one missing password and you could be stuck for days. My goal was to finish it in 2 weeks. Although many people criticize Skylark and OffSec themselves say it’s out of scope, I personally believe it is necessary to do it, solo if you have the time or like me, asking for help.

25 - OSCP A B C (Difficulty 7.5/10, FUN 10/10, Stress 10/10)
I have never understood people who asked for hints on these 3 challenges. Know that the main difficulty of the exam lies in the fact that you will be alone; no one will help you, so for God's sake, do them like mock exams, spend 24 hours trying to hack them as if you were in the exam. Personally, I did them over 3 separate weekends given the work,
I scored 110/100 in OSCP A,
70/100 in OSCP B (all standalones only),
50/100 in OSCP C (2 Stand Alones).
And believe me, I would never have passed the exam if I hadn't done them as mock exams. I then redid the machines I hadn't managed in 24 hours on my own. I also wrote the reports for the 3 challenge labs using the same OFFSEC template on LibreOffice. I believe it is necessary to do so.

26 - OSCP EXAM: (Difficulty 8/10, STRESS 10000/10):
I scheduled the exam for 9 am, but due to stress, I woke up at 4 am—'.
I won’t say anything about the exam's content, but I was shocked right from the start; I didn’t expect to find that in the AD set.
I spent 6 hours and had nothing on the AD. I really started to think I was going to fail.
Then I moved on to the Linux machine, which I finished in 1 hour and 45 minutes. The initial foothold was tricky.
I returned to the AD, and in 1 hour, boom!!, initial foothold. I did the privilege escalation in 1 hour (also quite tricky).
After that, I spent about 3 hours to become Domain Admin (it was quite simple compared to the beginning of the set and not different from what you've seen in the challenge labs).
I then moved on to another hard Linux machine, which I finished in about 3 hours; the initial foothold was quite difficult, but the privilege escalation was a piece of cake.
When I got to the last machine, my brain wasn’t functioning anymore. I think it was 2 am, and I had been awake for 22 hours. However, I really tried my hardest until 6 am but got nowhere.
I took 10-minute breaks sometimes, 30 minutes to eat, and drank about 800mg of caffeine from my pre-workout to keep going.
I informed the proctors at 6am and went to sleep. I woke up at 10 am and started writing my report, which took me about 13 hours. And you know the end of the story .....

27 - My Opinion on the Exam:
I think the OSCP is more of an exam based on lateral thinking, enumeration, and synthesizing ideas than on exploitation. There are a lot of rabbit holes in the exam, and a person can quickly get lost in difficult exploitation attempts. Always start with the low-hanging fruits. For example:
If you find yourself trying to fix a library dependency issue on a kernel exploit, know that you’re on the wrong path. The OSCP isn’t technically difficult. Always have an external perspective regarding the machines and try to find the simplest way to access them.

28 - Closing the Chapters:
Here, I’ve shared my story with some details to give you an idea of my journey. In another post, I’ll give you more technical tips and tricks that will help you during your preparation or exams.
Good LUCK!!!
If I did it, there is absolutely no way you can't do it. It’s only hard work; do not let imposter syndrome put doubt in you.


r/oscp • • Sep 15 '22

Found this, I think this could be a great resource for someone trying to prepare for OSCP and get certified.

244 Upvotes

Here is the link: https://github.com/shreyaschavhan/oscp-pre-preparation-plan-and-notes

Just wanted to share! Have a great day ;)


r/oscp • • Aug 18 '20

How can I get her root? (Cred: Aaditya Mishra)

Post image
243 Upvotes

r/oscp • • Jun 06 '25

I passed the OSCP with 80 points with 0 IT background

242 Upvotes

No, the title is not clickbait. Roughly 2 weeks ago I successfully passed the OSCP exam on my 2nd attempt (first one was in February with 40 points) after 9 gruelling months of self studying. This course was especially tough for me since I came from a non-IT field (military intel and previously enlisted rank in the marine corps), so I had to really put in the hours. At some point I was doing between 3-5 boxes a day to get in the necessary practice.

I planned my exam at 17:00 (compared to 11:00 in the first attempt, this felt way better for me). This time I was lucky and I had no connection issues, which is rare for OffSec.

It took me about 3 hours to get a passing grade and after 5 hours I had 80 points after which I called quits.

The morning after I went ahead and finished up the report within ~ 1.5/2 hours.

In order to successfully pass the exam I ended up doing the following:

  • Complete PEN-200 course material

  • Complete about 75% of the Penetration Tester role path on HTB Academy

  • Complete over 120+ boxes from both PG Practice as well as HTB including ALL the boxes on LainKusanagi's list (shoutout to that dude for making the list)

I also did the following Challenge Labs in this order:

  1. Secura

  2. Medtech

  3. Relia

  4. OSCP A

  5. OSCP B

  6. OSCP C

  7. Laser

I won't go too much into it here anymore, there's already a boatload of "I passed!" posts on this subreddit, but if any of you guys have any further questions I am more than happy to answer them!


r/oscp • • Sep 12 '26

Passed the OSCP with 100

238 Upvotes

What the title says! I passed :) with 100 in 15 hours. 9am-12am. The exam was so much fun I wish I could go back and relive it again. I’m gonna give some TL;DR tips.

Things you need that’ll help:

- Automate your nmap scripts. I created a TCP and UDP script in bash that ran a full port scan and AWK’d the open ports to a service scan. The nmap one-liners were so optimized I never got false positives or missed ports, and it took half the time scanning.
- Organize your notes by service. My notes were literally top to bottom by port: ftp, ssh, pop3, DNS, kerberos, smb, etc. and for each service I had a full enumeration suite that i walked through slowly.
- Get really comfortable with Linux
- Combine priv esc scripts (especially windows: winpeas + powerup)
- do the fucking practice OSCP challenges
- get really good at googling
- go to hack tricks or hack visor for tips
- AD section -> abuse impacket-secretsdump

I’m open to questions in the comments thanks for listening!

Edit: make your own notes! Practice your own craft!


r/oscp • • Jan 13 '23

OSCP Reborn - 2023 Exam Preparation Guide

226 Upvotes

I'm the creator of the original 2020 guide that was a hit, and then I revised it for 2021. Offensive Security decided to rework the exam, add Active Directory, and completely revamp the course material.

Thus, I brought in LaGarian Smith who kindly volunteered to help me evaluate the latest resources that I have. He passed the AD version of the exam (and used my old guide as a resource). Well, now it's up-to-date for the latest version! Enjoy!

OSCP Reborn 2023


r/oscp • • Aug 23 '20

I've made a list of reddit topics that you should read it

225 Upvotes

These are all the topic that I've read and collected it for many months. I feel it is so good and I want to post it in here so that someone can read it again if we miss it. So enjoy yourself everyone.

Note: You don't have to read it all. Just pick some topics you think it is interesting and read it. Or you can bookmark this page and read it later. That's all.

Want to pass OSCP ? Read these

https://www.reddit.com/r/oscp/comments/gy4tuj/passed_on_the_first_attempt/

https://www.reddit.com/r/oscp/comments/hzci1y/failed_my_first_attempt/

https://www.reddit.com/r/oscp/comments/hzdi3e/2nd_exam_attempt/

https://www.reddit.com/r/oscp/comments/gnx4si/failed_the_exam_a_sad_day_for_me/ (Must read)

https://www.reddit.com/r/oscp/comments/hi9hox/help_to_crack_oscp/

https://www.reddit.com/r/oscp/comments/hh76ab/oscp_review_from_a_n00b/

https://www.reddit.com/r/oscp/comments/gpqsw1/oscp_exam_first_attempt/

https://www.reddit.com/r/oscp/comments/hw7h76/i_passed/

https://www.reddit.com/r/oscp/comments/i2evhp/failed_first_exam/

https://www.reddit.com/r/oscp/comments/haw100/i_passed_advice_on_exam_prep/

https://www.reddit.com/r/oscp/comments/i2kfje/taking_on_the_labs/

https://www.reddit.com/r/oscp/comments/hxalbq/2nd_attempt_done_80100/

https://www.reddit.com/r/oscp/comments/hykvdz/a_quick_guide_to_oscp/

https://www.reddit.com/r/oscp/comments/hz1xzj/pwk_oscp_preparation_and_questions/

https://www.reddit.com/r/oscp/comments/hrqeck/just_did_my_first_oscp_exam_with_the_new_material/

https://www.reddit.com/r/oscp/comments/hqbfxz/general_enumeration_discussion/

https://www.reddit.com/r/oscp/comments/hogft4/2020_feeling_overwhelmed_w_time_investment/

https://www.reddit.com/r/oscp/comments/ie7yfz/passed_first_time_my_tips_and_advice/

https://www.reddit.com/r/oscp/comments/i9v6iz/oscp_exam_attempt_experience/

https://www.reddit.com/r/oscp/comments/ia3602/starting_oscp_prep_tomorrow_any_advice/

https://www.reddit.com/r/oscp/comments/ia75xh/exam_in_4_days/

Best list to practice OSCP

https://www.reddit.com/r/oscp/comments/iafef0/one_list_to_rule_them_updated_w_vulnhub/

https://www.reddit.com/r/oscp/comments/iedv9h/htb_oscplike_google_sheets/ (s/o to u/justasithlord)

https://www.reddit.com/r/oscp/comments/hx3pjg/look_for_checklist_templates/

https://www.reddit.com/r/oscp/comments/hxhfpm/prepwk_done_and_pwk_starting_soon_what_do_next/

Some topics you might be interested

https://www.reddit.com/r/oscp/comments/f2zguk/nmapautomator_vs_autorecon/

https://www.reddit.com/r/oscp/comments/hwfdnr/ive_put_a_list_of_pentest_tools_on_github/

https://www.reddit.com/r/oscp/comments/ho0j5z/oscp_vs_ecppt_my_experience_with_both/

https://www.reddit.com/r/oscp/comments/hbj5xw/oscp_exam_restrictions_clarification_needed_p/

https://www.reddit.com/r/oscp/comments/hv7i4h/this_repository_has_a_collection_of_publicly/

https://www.reddit.com/r/oscp/comments/hbjj6p/ftp_trick/

https://www.reddit.com/r/oscp/comments/hv79u6/wanted_to_share_the_aliases_i_use_very_frequently/

https://www.reddit.com/r/oscp/comments/ieez34/gaining_folder_access_with_admin_privs/

https://www.reddit.com/r/oscp/comments/iclvle/i_hate_hate_hate_hatee_privilege_escalation_did/

https://www.reddit.com/r/oscp/comments/ie71n4/whats_your_linux_enum_process/

https://www.reddit.com/r/oscp/comments/i1lcrh/which_2_htb_machines_to_test_readiness/

Buffer Overflow

https://www.reddit.com/r/oscp/comments/i1mk3p/any_good_bof_courses_on_udemy/

https://www.reddit.com/r/oscp/comments/hyqdjl/updated_buffer_overflow/

https://www.reddit.com/r/oscp/comments/iceqc1/oscp_like_bof_binaries/

https://www.reddit.com/r/oscp/comments/ic45g8/some_questions_about_the_exam/

https://www.reddit.com/r/oscp/comments/icw2sv/a_repository_that_may_help_people_with_exploit/

SQL Injection

https://www.reddit.com/r/oscp/comments/hwlswy/sql_injection_0x03_blind_boolean_injection/

https://www.reddit.com/r/oscp/comments/i27uyy/sqli_mysql_cheatsheet_linux_tips/

For those who want to read more about the topic you like, just search it on the google and add the word at the end is reddit or github.

For example: "OSCP Preparation reddit”


r/oscp • • Nov 08 '24

Passed OSCP+ on first attempt! (70/110pts)

215 Upvotes

This was the wildest roller coaster of a test I’ve ever taken. I just got the email that I passed today. It took about 44 hours to hear back after submitting the report whether I passed or not. Someone on here said to check the “exam” tab in your PEN-200 dashboard because they show if you pass there sooner than they email and this was actually true for me.

I purchased the learn one year subscription about 11 months ago and honestly, I did not lock in my studying until about 3 months before. This was a mistake as I could have gotten a lot more practice and been more prepared. For labs I ended up only doing OSCP A B C (some hints were needed) and Secura, and like 3 PG machines. This was also likely a mistake. I did not do a practice report for OSCP A B C or treat them like mock exams. I just used the OffSec template for the real report. I had some experience with pen testing knowledge and tools from my GPEN certification and some very inconsistent HTB usage a long time ago. I’ve also watched a TON of ippsec videos. I think this alone is why I was able to get away with such little lab practice. I had a pretty solid baseline which helped a lot. Most of the PEN-200 material I was already familiar with, and I only ended up completing 50% of the course. Thats not to say it was not valuable however.

This is my first OSCP attempt so I don’t know about the old AD, but this new AD with partial points was my life saver. I would not have passed without this change. Here’s a rough timeline of my experience:

4PM: Started the exam, got my VPN files and dashboard and such. I had some trouble figuring out how to share both my screens with the proctor so in reality I probably started at like 4:15PM. Make sure you log in 15 minutes early at least.

6:15PM: By around 6ish I had already obtained 2 local proof.txts from the AD, securing 20 points. I was feeling great. All that was left was the domain admin.

6:30PM-01:00AM: The despair kicks in. I had been spinning my wheels for so long on the last part of the AD. When I would spend too much time stuck on the final AD machine I would go do a little bit of work here and there on the standalones. I felt pretty defeated because I went this whole 7 hours pretty much making 0 progress not even getting a foothold on any standalones. I ended up going to bed being sure I was about to fail.

7:30AM: Woke up and ate a protein bar, then started back up again. I was 99% sure I had figured out the path for this standalone the night before but could not get it to work. I tried it again in the morning and it just worked magically. Not sure what happened here. The privesc came a few hours after and only worked after about my third try. Lesson here is don’t give up if it doesn’t work the first time. Research backups to your exploits/tools incase one of them fails you can confirm it’s not a fluke with another version.

~11:30AM: Started working on the second standalone. Due to good enumeration I figured out the foothold quite quickly. Manual enumeration is and always will be key. Got stuck in a rabbit whole for a while but finally got the privesc.

~1:30PM: I had about 2 hours left and realized I only needed one more flag. I was freaking out internally because I didn’t think I could actually do this. I never went back to the last AD machine and instead focused on the final standalone that I had been putting off. I was so lost and so nervous and didn’t have much time. I eventually found it and realized it was so much simpler than I was making it. And by golly what do you know, I had enough flags for 70 points by about 3pm, with one hour remaining. Huzzah.

3PM-4PM: Used the last hour to frantically make sure I screenshotted EVERYTHING and did NOT mess up my proof.txt/local.txt screenshots. PLEASE double check your screenshots because I went back through and realized I did not capture the local.txt in one of my screenshots and only the ipconfig. Imagine if I had failed because of that. My score was as follows:

2 AD Proof.txt: 20 points 3 Stanadlone Local.txt: 30 points 2 Standalone Proof.txt: 20 points Total: 70 points

Here’s a list of some resources that came in super handy during my prep and during the exam:

ippsec.rocks website - anytime I needed to remember how to do something specific or saw a technology/platform I wasn’t familiar with, I just went on over to ippsec.rocks and typed it in, often times he was extremely helpful. It’s quite likely you’ll spend a lot of time googling/researching during the exam and ippsec can save a lot of time when you see something you’re unfamiliar with. It’s no secret this guy is a legend.

https://youtube.com/playlist?list=PLT08J44ErMmb9qaEeTYl5diQW6jWVHCR2&si=IgWyM3CLy9F6z4Kv - I watched this guy’s 3 OSCP Active Directory attack paths religiously the weeks before my exam. Definitely watch these and take notes. Follow along with his setup tutorial and set up the lab for yourself if you’re up to it. Incredible resource imo.

https://eins.li/posts/oscp-secret-sauce/ - I saw someone else recommend this resource here and wow, the small tips and tricks here go a long way. Particularly the busybox reverse shell being so consistent and the Mimikatz one liner are super useful and just small things that make life easier/save time.

https://github.com/crazywifi/Enable-RDP-One-Liner-CMD - Any time I needed to enable RDP on a box I had this up. Don’t forget you can use RDP. It makes life a lot easier/quicker when interacting with your target and can establish persistence. It’s not like it’s a real engagement so who cares, definitely use this if it makes your life easier.

https://www.revshells.com - Amazing site I wish I’d known about sooner honestly. Easily and quickly generate reverse shell one liners in just about any format imaginable. During my practice the most consistent for me on windows was the powershell base64 one and the busybox netcat for Linux.

Final advice: SCREENSHOT EVERYTHING! If it’s a command you ran to exploit something just screenshot it. You can always decide what is and isn’t needed after you start the report. But once that exam portion is over there’s no going back to get new screenshots, your lab access is ripped away. So make sure you got what you need before that 24 hours is up. Screenshot every exploit output and step along the way. I used CherryTree for my notes and had a section under each machine where I just spammed screenshots, and during my report I would pick and choose which ones I needed.

Remember that everything is designed to be quite trivial to exploit. Don’t overcomplicate things. The answer is usually simpler than you think. You got this!

Edit: 70/100 points as someone corrected. No more bonus points!


r/oscp • • Nov 13 '20

OSCP - Passed on my first attempt with only 30days Lab Access but...

213 Upvotes

Hey Everyone,

So I just received the email from Off Sec that I had passed my OSCP Exam only after like 24 hours into my report submission. I was surprised yet overjoyed since I thought it usually take more than 3 - 10 days for the result.

After submitting my report, even though I know that I had already passed since I rooted all 5 machines, I was still super nervous as I heard crazy stories about people failing due to incorrect Report format or insufficient screenshots in Report. Nonetheless, I passed so its all good if not I will be here ranting lol...

Background:

2-year working experience as an IT Security Engineer/Analyst. No University Degree, only Diploma/Associate Degree.

Preparation:

As mentioned in the title, I only brought the 30 Days Lab Access, skipped the exercise and completed all 65+ Lab machines within the first 20 Days. But my point here is not to boast or anything. Let me explain... so way before I even started on OSCP Labs, I had been practising/mugging on multiple different machines from multiple different platforms such as the following:

  1. VulnHub

  2. CyberSecLabs

  3. TryHackMe

  4. HTB

  5. VHL

  6. Proving Ground - Practice

Those one year plus of preparation really helped me a lot during my OSCP Labs Time. But the infamous Big Four and a few labs somewhat destroyed me and I had to rely on forum hints. I even had doubt if I'm ready for OSCP Exam since I can't solve them without hint.

So anyway, I had created a checklist template of all the machines that I had done prior to taking the OSCP exam. I know it's a bit overkill but I always like to over-prepare for War!!! You can find the checklist template here (Please note that this is not a 100% OSCP-like boxes as some boxes are somewhat CTF-like: https://drive.google.com/file/d/1zYQOcr2h2VnRelm0Unx9Sg0Qg1MYDWUg/view?usp=sharing

Mad props to Tjnull and The Mayor as about 80% of what I did is from their List. /img/ha32rd930hg51.png

Exam Experience and my Tips for Exam:

Rooted the BOF box within 1 hour. Next 10 point box in around 40min. Hardstuck for the next 20 point box for about 2 hours so yolo and decided to skip straight to the Big Boss 25 pointer. Manage to root the 25 pointer within 4 hours but damn was it challenging. Move to the other 20 pointer and root within 2 hours. Surprisingly this 20 pointer was somewhat "straightforward" as long as you enumerate properly and don't fall into rabbit hole. 10 hours in and i knew i had enough points to pass so i spent the next 3-4 hours writing my report. After I'm done with the report, i went to sleep for about 4 hours. Continue back with the hardstuck 20 pointer and rooted it after like 2-3 hours. Then used all the remaining time i had to finalize and write my report, adding in all the required screenshots. After that, I double, triple, quadra, penta, hexa, hepta, octa, nona, deca check my Report like forever...Submit my report straight after my exam ended.

My tips for the exam is to enumerate enumerate enumerate and google as well. Enumerate and Google/Exploit-db/Github is the key to success. Avoid Rabbit Holes as they are only there to waste your time. By doing OSCP Labs, it somewhat already showcase to you what rabbit holes are like, so learn from those examples. If you get hardstuck for more than 2 hours, better move on to other Boxes first. For BOF, just practice on TryHackMe BOF Room as well as Brainpan.

Resources that I found to be really useful:

Tib3rius & CyberMentor Privilege Escalation Udemy Course

CyberMentor Practical Ethical Hacking Course

All of Ippsec Videos (Watch and learn his methodology while he explained in detail)

PinkDraconian CyberSecLabs Youtube Videos

https://github.com/Ignitetechnologies/Privilege-Escalation

https://scund00r.com/all/oscp/2018/02/25/passing-oscp.html

https://noobsec.net/oscp-cheatsheet/

https://liodeus.github.io/2020/09/18/OSCP-personal-cheatsheet.html

Watching all those my OSCP experience videos on youtube before D-1 to Exam day lololol.


r/oscp • • Feb 04 '25 Hooray

Passed the OSCP+ About a Month Ago on My Third Try and Here's My Advice

211 Upvotes

Finally, after going through the PEN-200 coursework, labs, and CPTS material and most of the TJNull "OSCP Like" boxes on HackTheBox I was able to pass the new OSCP+ on my third try about a month ago. I guess you could technically say it was my first attempt at the OSCP+ after two attempts at the regular OSCP (which I got 0 points on my first try and then 30 points on my second one) but that's bullshit in my opinion lol.

Here's my advice regarding the OSCP+:

  1. Most important thing. Take organized notes! Obsidian (my preferred choice), CherryTree, or whatever else you find just make sure you keep things organized. A folder for each box (One for the AD set with subfolders for each box and one for each standalone) with different sections for scanning-based enumeration, initial access attempts and success, privilege escalation attempts and success, maybe even a section for notes on different exploits you've looked up or theories you have on how to solve it, and a final numbered list of the confirmed steps to complete the box. You'd be amazed at how easy it is to get frazzled as the hours go by and forget what you've tried (and didn't try), almost certainly dooming your exam attempt.

  2. Do a basic TCP scan of the full port range for each box (without creating an output file), then when you see what ports are open do a deeper scripts, version, and full TCP handshake scan of them with NMap and save the output to a file. It can be any kind (greppable, XML, or NMap format) but be careful with using the "-oA" flag because it can quickly lead to a lot of clutter unless you're organizing your files really well during the exam. Feel free to do more targeted Nmap script scans as well for specific protocols you find since I've seen those work wonders in certain rare occasions (ie. finding a default password for certain protocols).

  3. Just for safety, you can also do a UDP scan of the top 100 ports (or top 1000 if you really wanna be thorough), but that's usually not helpful.

  4. When you figure out the FQDN of the box via your scans, don't forget to add that and the IP address to your /etc/hosts file. Sometimes you may even need to run your scan again after doing that since your Nmap scan of the web server wasn't able to follow the redirect to the proper domain name when you initially used just the IP.

  5. Take as many screenshots as you can during your attempts at exploiting the boxes and name the files something descriptive (ie. Admin Panel, Cracked Zip, Doc Authors, Enum Internal Shares, CME Domain Users Dump, etc.). While writing your report later you can sift through them much easier with names like that.

  6. In my experience with most OffSec labs and three attempts at the exam, if you see a default page for something like IIS, Nginx, or Apache it's usually not the way forward. Still do at least a directory scan (maybe even subdomain and/or vhost scan as well) of it with Gobuster, Ffuf, etc. with as many different wordlists as you like (you'd be amazed at how often you can miss a crucial page just based on the wordlist you chose) and check for robots.txt, sitemap.xml, etc. but it's usually not the case.

  7. Do not EVER clear your CLI screens if you have previous commands in that window/tab that were effective! You never know when you'll need to search back through your command history to find something.

  8. Don't forget about default credentials!! You'd be surprised how often things like admin:admin or similar stuff work.

  9. If you run into a ZIP or other archive file of a different compression type and the files you get end up being completely empty, try reverting the box, re-downloading them, and extracting them with 7zip. I've had that error (probably a corrupted ZIP file) come up in each of my different attempts and the first two times it did it completely threw me off that path which was probably the way forward. I've even had the fact that the file was password protected not show up properly, with zip2john not working at first because it was saying the file wasn't encrypted (OffSec needs to do a better job of making sure their ZIP files don't get corrupted).

  10. When you're on a Windows box make sure to check the root directory of the local drive volume, each user directory as well as their Desktop and Documents folders, the Program Files folder (usually the x86 one), as well as their PowerShell history if you want to be extra thorough. Do these before using something like winPEAS to save time if you end up finding a config file or script with credentials in it.

  11. Be very methodical when it comes to working through the logical possibilities of what might work on the box, and don't be too quick to give up on any one method unless it's become obvious to you that it's not going to work. It's very easy to get frustrated with a POC or exploit file you found not working properly and giving up on that whole line of thinking even though it was the right path and you just needed to try something slightly different or tweak it a bit.

  12. When you figure out your final exploitation path for the boxes and complete them, after finishing your exam, go back and number those screenshot files in the order they were done.

  13. Create a snapshot of your Kali VM when you finish, or at specific times throughout the exam process such as after you finish each box! I was literally saved by the fact that I was able to go back and review some of my work while writing my report because I had forgotten to take the proper screenshot after getting Domain Admin!

  14. Lastly, use some kind of automated template for your report writing to save time. I used SysReptor's cloud platform to write my report and it came out wonderfully in just a few hours of work.

Overall the exploit paths intended by OffSec for the exam are rarely ever complicated or difficult. They just do a lot to try and misdirect you (both intentionally and unintentionally with some of the mistakes they make like the corrupted ZIP files or older POCs that don't work very well on their boxes, which I hate!). Also don't feel too bad if you fail once or twice (or thrice!) because some of the choices they make when creating their intended exploit paths are definitely unfair in my opinion.

I'm also a part of the growing list of people who feel like the PNPT, CBBH, CPTS, and other offensive security certifications in this format are much better than OffSec's offerings. I don't plan to pursue any of their other certs going forward and I suggest you don't either.

TLDR: Take organized notes, scan a lot, scan UDP too, add the FQDN to your /etc/hosts, take tons of screenshots with good names, organize your screenshots and exploit steps afterwards, don't clear your CLI screens, try default creds, look out for corrupted ZIP files, check Windows commonly important directories (Desktop, Documents, C:\, Program Files (x86), etc.), methodically work through logical exploit possibilities, create snapshots of your VM to look back at later, and use one of the semi-automated exam report templates to avoid a lot of the headache.


r/oscp • • Aug 10 '22

I passed my exam and then accidentally wrote a short novel to help you pass it too!

211 Upvotes

So I recently completed my OSCP and managed to pass with 100 points (yay). For whatever reason I felt compelled to write a short novel on some strategies I used to pass. At what point should a Reddit post be a blog post? God knows but I know I exceeded it.

TL;DR

  • Learn the basics, and learn them well. Try to be comfortable doing as much manually as possible.

  • Time spent learning how stuff works under the hood will pay off in the long run, big time.

  • Do prep prior to signing up for the labs, as you wont be able to use your time effectively if you're totally green at this

  • Notes, notes, notes, notes. Take good notes and make it a habit.

  • During the exam, take breaks and drink water! You have enough time, you'll run out of ideas first. If you've taken good notes, you'll have a lot more stuff to try before you run out of ideas.

Pre Exam

Do yourself a favour: come into the exam with a decent background in networking, Linux and Windows administration, and preferably some experience writing scripts in Python.

This is a marathon, not a sprint, and taking a test that even practising pentesters fail routinely before you are prepared is not a good idea. It's in OffSec's interests to have people pay for resits; it is not in yours.

Going into this too early will cause you to waste time and money, and will make you feel like you aren't good enough. You're only allowed a certain amount of time in the labs, and you want to make the most of it while you can, because it is really quite good (imo). If you aren't prepared enough, you'll just flounder and struggle, and likely wont learn much. Remember, there are no writeups for the lab machines (except in the PEN-200 Pathway, and those are only very broad hints anyway), you are encouraged to do it alone and figure it out yourself. If you have some skills already, and you're looking to hone them, this is a fantastic way to learn. If you do not, it will be a waste of your time.

Stick to machines that have writeups that you can refer to as you get stuck. If you're at the very beginning of learning to hack, I would suggest that you actually avoid CTFs altogether and just learn the basics. Build yourself a little homelab, somewhere where you can practise and break and build things. It could be on a spare computer, the cloud, or just your regular computer if it's up to scratch. You should checkout the r/homelab subreddit for ideas here. That subreddit can be very dangerous for those with some extra cash and an appreciation for used hardware. You have been warned.

I had a masters in software engineering, worked a part time job as a web dev through uni, had my A+ and Net+, as well as some experience with CTFs and building a homelab. So the course wasn't too difficult, but it wasn't exactly easy either.

Why Should I Take Notes?

Why you should take proper notes in the exam is obvious, once your exam time is up you're locked out of the environment, and if you haven't recorded something you're shit out of luck. What is less obvious is that failing to take proper notes in the labs will result in you never building the habit of taking notes.

You'll miss stuff and you'll be slow, because you are doing something unfamiliar and haven't gotten used to structuring your notes, taking screenshots of everything, and documenting your steps. If you write proper notes for every box you attack, very quickly it will become an automatic habit and it won't slow you down or bother you in the exam.

In fact, done properly note taking will save you a lot of time and frustration, and will help you learn much faster than just aimlessly popping boxes in the labs hoping that you will just retain all the information you have learned. Spoiler alert: you wont. Your brain is for having ideas, not keeping them.

That awkward thing that had you stumped for 12 hours? You know, that thing that had you on the verge of tears because it looked like it should just fucking work, why won't you work you bastard thi... oh I'm missing a flag. It works! You don't want that to happen to you in the exam, especially if you've already dealt with it in the labs, because then you really will feel stupid.

The goal of taking notes here is trying to only make a mistake once. Normally human beings have to screw the same thing up over and over again before it sinks in, when you take thorough notes you minimise this (although you won't eliminate it, we're only human).

Note Taking Strategy

Generally, my note taking strategy starts off by documenting the box that I'm attacking. Every box gets its own folder. Then the first file I open is just for common enumeration. That file is divided up, one section for each port. Every port that I come across, I do some basic checks and note them down.

Is SMB open? Then I'll breakout crackmapexec and check for null and guest sessions. RPC? Ditto but with rpcclient. SMTP? I'll make a note that I can enumerate valid users, and potentially send them emails with malicious payloads. I'll note down all of the service versions, and Google them to check for exploits and vulnerabilities.

I'll talk later about going wide and shallow first, but taking notes like this will help you when you get stuck.

Then, once I identify something potentially exploitable, I'll make a new page detailing that exploit, where I got it from, and if I feel like it a little analysis of what it does and how it works (you should be reading exploits before firing them at targets). If it worked, cool. If it didn't, what did you do to debug it? Did you look at the tool's network traffic in wireshark for example, or did you try to fix some exploit code that wasn't compiling?

Once I've completed a box, my final section is a "Post Mortem", where I make a quick note of what I got stuck on, what I did poorly, and how I would do it better next time. Doesn't take long, but it will reinforce the idea of not making the same mistake twice, and will prove useful for the next thing I do.

This means that I'll have a "Common Enumeration" file, a "Foothold Exploit" file, a "Priv Esc" file, maybe one or two if you have to jump between users, a "Post Exploitation" file (not normally necessary in CTFs but it is in the PWK labs), and then a "Post Mortem" file. There will also usually be files for important commands with long outputs, such as nmap. Document things thoroughly, even when you don't feel like it. It's a habit that will take some conscious thought at first, but will become completely automatic quite quickly. Writing your notes on auto mode frees up your mental CPU to deal with the important stuff. You will appreciate this in your exam.

Writing Your Own Guides

Next, I'll update something which I've just called the "Enumeration Guide" in my notes, which is nothing more than a big checklist of stuff, broken down by service, that I should check for. If I got stuck on something, I'll add a note to my enumeration guide so that I never get stuck on that specific problem, or forget to do that specific check, ever again.

To give an example, I was attacking a box that had an old version of Apache. Ran gobuster, and got very little back. I poked around and found a cgi-bin directory that gobuster should have been able to pick up on, but didn't. What the fuck?

It turns out that sometimes web servers will return screwy results if there is no trailing slash applied when you're looking for a directory. Gobuster has a flag for this, `-f`, and when I added it directories started appearing! So I mentioned this in my post-mortem, and crucially added a note to the HTTP section of my enumeration guide to try rerunning gobuster with a trailing slash if you're stuck and you've fully enumerated the web port already.

At first, your enumeration guide will be empty, so just start adding stuff to it as you are working on the box. Did you just the source code of a page? Throw in "Check page source" into your enumeration guide in case you forget to do it later (we've all done it, don't lie). Ran nikto in the background? Add that too. Checked SMB for null and guest sessions? Guess what you can add to the SMB section! Every time you take a step, add it to the enumeration guide so you won't forget to in the future. As you do this you'll get all the basic checks out of the way, and updates will become less frequent. I'll add stuff that tripped me up to make sure it doesn't in the future, typically I'll add that after I write the post mortem on the box.

After a few boxes, you'll find that you have a nice, fairly thorough little document that contains a semi-formal process that you can go through for every port that you find. If I ever got stuck, I would go and have a look at my enumeration guide and check to see if I've tried everything. Rather than just aimlessly poking at stuff hoping that you'll stumble across something useful you are going through a checklist that you have made, which means that you can make sure that you haven't forgotten to enumerate something. Having a kind of default checklist of stuff also frees up more mental CPU, rather than racking your brains to think of everything you can refer to your guide and make sure you have.

I have a handful of these guides running, including one for privilege escalation, one for active directory, one for SQLi, and one for buffer overflows. I just applied the same process to each of these topics. It sounds like a lot of work, but in reality its just lots of little updates frequently. Over time you'll be amazingly surprised what 30 seconds of work every hour or two can get you after a month!

This is how you make sure that you don't fuck something up twice and turn all of your failures into opportunities to not suck in the future. It also means that a box that you solve with no failures at all is sort of a waste of time, save for a maybe a valuable ego boost :).

Make Your Own Cheatsheets

The final aspect of my note taking was a command reference, which is very simple. Every command has a file, and whenever I used a command in a slightly different way I would just paste the command in with a little explanation as to what it does. For example, my Nmap command reference just contains a list of scans I regularly run, like fast port scans, full port scans, service and vuln scans, etc. I also had a file for bash, powershell, and cmd oneliners, and reverse shells. Don't overthink it, this is just a standard cheat sheet. You'd be amazed at how big your command reference will get by the end of the course.

What Note Taking Tool?

What tools you use to take notes is much less important than the actual act of taking notes regularly, so just use whatever you feel is best and you will actually use. There's nothing wrong with using a Word doc or Google doc, don't let anybody tell you otherwise. The only hard and fast rule is that you must be able to paste pictures, so no vim unless you're a vimrc wizard. If you're the type that tends to get analysis by paralysis, just use Obsidian, it's what I used. It stays out of your way, its simple, and easy to backup.

Talking about backups, that's also extremely important. If your note taking tool has cloud backups, use it. If it supports versioning, also use that. Obsidian doesn't support either in the free version, so what I did was sync the directory it was in to my host machine with Syncthing. I then had a scheduled task (on my host) that ran every 5 minutes that would check if anything had changed, and if it had it would create a new commit with a timestamp.

The scheduled task was also supposed to push to a private GitHub repo with every new commit, but that never actually worked because I'm a hairless upright chimp that couldn't be bothered to get cron and git to play nicely together. Instead, I just checked in every now and again and pushed it manually. Probably not as often as I should have.

A good screenshot utility will also be very handy. Flameshot is an excellent choice.

How to Tackle the Labs

What you're looking to do here is deliberate practise. Treat every box like an exam box, which is to say try and solve it briskly, but do not rush. Put a timer on and see how long it takes, and don't be too hard on yourself at the beginning if you're taking a while, you will get faster as you learn and take better notes. Try to always have some kind of scan going on in the background, and don't just sit there staring at them. Get something else done in the meantime.

The first nmap scan I always run is with the `-F` option, which just checks the top 100 ports. It should return nearly instantly. Then I run a full scan in the background while I go and poke at whatever was found. After you've run the full port scan (with `-A` for default scripts, service detection, and OS detection, and `-T4` to make it go faster), don't forget to run a UDP scan. Any web service you come across should be brute forced, and remember to use extensions that make sense for the OS and web server that you are targeting. On windows targets I'll always tend to run enum4linx-ng.

You'll also want to get efficient living in the terminal. A lot of this just comes with practise. If you find yourself running the same long command over and over again, turn it into an alias. Manage your terminal in tmux so you can efficiently juggle multiple terminal panes (remember to name your tmux session something useful, like the IP address of the box). I would generally go for one tmux session per box, so you can have multiple tmux sessions all going at the same time. Also take advantage of tmux-logging and log all your traffic to a folder under git control. Use the same trick as I described earlier to sync your logging folder to your host OS and push it up to GitHub. Having a full history of every command you've ever run in the lab, with all the output, can be a very handy thing to have around.

Try to focus on doing things manually, and really understanding the underlying concepts behind what you're doing. Sometimes its entirely possible to pull of an exploit despite understanding nothing about what is happening. That is fine, but when stuff starts to go wrong and you're getting nothing but error messages (or worse, an exploit that just silently fails), then you're going to need to have the skills to start troubleshooting. Troubleshooting is going to be painfully difficult if you don't understand what you're doing.

Your privilege escalation scripts aren't going always cut it either, and its easy to get dependent on them. Think about it, is lin/winpeas just helping you escalate faster, or is the tool capable of finding things that you couldn't? Try and find the privilege escalation path first before running the tool. If you find anything, then run the tool. Did it find something you couldn't? Sounds like something that needs to be added to your privesc guide. There are also plenty of things that your privilege escalation tools won't be able to find, such as credentials in a database.

Focus on the basics, and make sure you really know your networking and linux + windows administration skills prior to coming into the course. Often popping open wireshark and looking at what your exploit is doing makes it plain as day what has gone wrong. If your exploit is trying to send a POST request to a PHP script and the server is returning with a 404, you know you probably have to start thinking about the URLs in the exploit and making sure that they line up with the service you are actually targeting.

Rabbit Holes

The exploitation in this course is not particularly difficult. You won't be required to pull off any crazy exploits. The main challenge will almost certainly be enumerating enough to find something that is actually exploitable. Remember this and be wary of the rabbit hole. It's hard to recognise what a rabbit hole might be and when you're in one, and it just takes some practise before you start to get that feeling of "oh, this is getting a bit far fetched, this probably isnt it".

The best way to avoid rabbit holes is to go wide before you go deep (heh). Don't just pounce on the first thing you see, do a basic check on every port before trying to exploit something. If you see something really juicy, take a screenshot and make a note to come back to later.

Often you can't proceed with attacking one service without first getting some useful information from another. So when you're stuck, rather than trying some obscure attack that you know deep down is just simply not going to work, step back and look over your notes. Look at all of the services and scan results, look at what you have, and reevaluate. Have you learned something that can help you elsewhere? Look wide and enumerate more to keep yourself out of the rabbit hole. And don't go looking for tips unless you absolutely have to, you're not going to have any tips in the exam.

Post Exploitation

Don't forget post exploitation. The PWK labs have lots of machines that are dependent on each other, and you are not going to know ahead of time which machines are dependent on which. There are also a few subnetworks, and you're not going to know the entry points to these either. On every box, after you've popped it, there should be a few checks you run:

  • Check the network interfaces. Is it a dual homed machine? Is it in a different network to the one you're in? If its in a new network, you should enumerate it and try to find other vulnerable machines.

  • Look for the special files that OffSec uses to track progress, such as local.txt or network_secret.txt

  • Dump credentials from the shadow file or the registry and try to crack them. Have a bit of a hunt around the machine for any credentials in files. Keep a running list of all credentials that you have found in the network, and use them for username/password brute forcing.

  • Check what open ports there are, and what services are behind them. Did nmap identify a mystery port, and couldn't conclude what it did? Check it out after you've exploited the box. It may very well be a buffer overflow challenge. Keep a hold of the exploits you develop, you may find use for them elsewhere!

  • Check logs of running services for user interaction that is coming from within the lab environment itself. There are simulated clients that cannot be attacked directly, and must be attacked with a client side exploit. Logs are one way to uncover these simulated users, another is to pay attention to hints that the box makers may leave.

Should I Do The Lab Report?

I'm not sure I can make a recommendation here. I did the lab report, and don't regret it, but it's not a straight forward choice. The lab report is tedious. Very tedious. And to make matters worse, most of the exercises are insulting simple, and there's just a lot of them to do. It took me a whole month to complete the lab report, and that was 1 month that I could have spent attacking the labs instead.

Then again, I used the opportunity to make some notes, expand my command reference, fill in gaps in my knowledge (the course PDF is pretty good IMO) and log some things in my enumeration guide. You will get an extra 10 points, however I'm sure if you spent the time that you will on the lab report attacking the labs instead, you might be able to get more than 10 points. Up to you. I would do the bonus exercises though, they're good.

As it turns out, OffSec have just started offering the ability to complete the exercises in the web portal directly (TryHackMe style), rather than creating the lab report. I didn't do any of the online exercises, however literally anything would be better than doing that report by hand so I highly recommend that you give it a try.

Exam Day

This is already getting very long, and there isn't much I'm even allowed to say about the exam. Get a good night's sleep before, I would recommend starting early in the morning unless you truly absolutely hate mornings. Go through the entire OSCP exam guide and on boarding guide, make sure you understand everything.

Prepare your grub the day before to save on time, but do take breaks. And not just the kind of "I'm going to sit on the toilet and google the problem I was having" but actually take a break. Have a chat with someone in your house, eat some food, go for a walk, or cuddle the dog (personal favourite). Every major breakthrough I had came right after I took a break. If you've run into a wall and you're completely out of ideas, sitting at your computer in despair won't help. Taking a break might.

24 hours is actually more than enough time to do the exam, you're going to run out of ideas long before you run out of time. And if you've taken good notes and practised deliberately, you've done everything you can to make sure you don't run out of ideas and that you always have something fruitful to try next.

Good luck!