본문 바로가기

카테고리 없음

OSCP 합격 후기

2025년 1월 25일날 시험을 보고 2025년 1월 27일날 OSCP 시험 합격 메일을 받게 됐다. 

1년간 OSCP를 공부하면서 간단하게 후기를 작성해보려 합니다. 편하게 작성하는 후기글이니, 가볍게 참고하시면 될거 같습니다.


📌 OSCP란

OSCPOffensive Security Certified Professional의 약자로, Offensive Security에서 제공하는 실전 침투 테스트(Penetration Testing) 자격증 중 하나이다.

이 자격증은 실무에서 사용하는 모의 침투 테스트 방법론을 다룬다.
시험에서는 Information Gathering, Vulnerability Scanning, Web Exploitation, Post-Exploitation, Fixing Exploit, Active Directory 해킹 등의 기법을 활용해야 한다.

OSCP 시험은 총 48시간 동안 진행되며,

  • 첫 24시간은 논스톱 해킹
  • 나머지 24시간은 보고서 작성

으로 이루어진다.

📌 시험 구조

시험은 내가 시험본 내용을 기준으로 Active Directory 1개의 세트인 2대의 클라이언트 머신, 1대의 도메인 컨트롤러 총합 40점으로 각 3대의 머신의 관리자 권한 플래그를 얻어야하고, 3개의 싱글 머신은 각 20점으로 일반 사용자 권한 10점, 관리자 권한 10점으로 이루어져있다.

Active Directory (AD) 3대 (도메인 컨트롤러 1대 + 클라이언트 2대) 총 40점 3대의 머신에서 관리자 권한 획득
싱글 머신 3대 각 20점 (총 60점) 일반 사용자 권한(10점) + 관리자 권한(10점) 획득 가능

 

📌 합격 가능한 시나리오

1️⃣ Active Directory 모든 권한 탈취(40점) + 3개의 싱글 머신 일반 사용자 권한 탈취(30점) = 총 70점

2️⃣ Active Directory 모든 권한 탈취(40점) + 2개의 싱글 머신 일반 사용자 권한 탈취(20점) + 2개 중 1개 관리자 권한(10점) = 총 70점

3️⃣ Active Directory 두 번째 머신까지 권한 탈취(20점) + 3개의 싱글 머신 일반 사용자 권한 탈취(30점) + 3대 중 2개의 관리자 권한 탈취(20점) = 총 70점

4️⃣ Active Directory 첫 번째 머신 관리자 권한 탈취(10점) + 3개의 싱글 머신 일반 사용자 권한 탈취(30점) + 관리자 권한 3개 중 2개 탈취(30점) = 총 70점

이렇게 다양한 시나리오가 있는데, 나는 AD의 모든 권한 탈취와 2개의 머신의 일반 및 관리자 권한 탈취로 80점으로 통과했다.

📌 자기 소개

나는 원래 정보보안에 관심만 가지고 있던 수준이었다. 군 전역 후, 국비지원 수업을 통해 5개월 동안 정보보안 기초 수업을 수강했다. 하지만 2년동안 대학 수업을 들으면서 별다른 추가 공부 없이 지내다가, 곧바로 OSCP 자격증 공부를 시작했다.

코딩 경험은 대학교에서 기본적인 프로그래밍 수업을 들은 게 전부였다.알고 있었던 기술도 Python과 C의 기초 문법, 그리고 Cheat Sheet에서 제공하는 페이로드를 사용한 웹 해킹 정도였다.

CTF 경험도 전혀 없었고, 보안 공부를 깊게 해본 적도 없었다. 그저 보안이 궁금했고, 더 배워보고 싶다는 마음으로 2023년에 학교를 휴학하고 OSCP 도전을 결심했다.

OSCP를 선택한 이유는 단 하나였다. 국비지원 수업에서 배운 페이로드들을 사용해 웹 해킹을 하면서도, 이게 진짜 그렇게 위험한가?라는 의문이 계속 들었다. 예를 들어 "XSS를 이용해 세션 탈취, SQL Injection을 통한 데이터 열거" 등 이런 개념들을 배웠지만, 얼마나 치명적인지 와닿지 않았다. 그러다가 OSCP는 실제 모의해킹 시나리오를 다루는 시험이라는 말을 듣고, 공격 시나리오를 직접 경험해보고 싶어서 시험을 준비하기로 했다.

📌 공부 과정

내가 가진 배경지식을 토대로 내용 자체를 이해하는데 어렵지는 않았다. 하지만 이론을 직접 실습을 통해 적용시킬 때 어려움을 겪으면서 디스코드에 물어보고, 구글링을 통해 찾고 또 찾는 과정을 반복했다. 과정이 잘 이해안되면 Offsec에서 제공하는 비디오 콘텐츠로도 내용을 확인하고, 다시 내가 적용해보면서 공부를 했다. 그리고 공부하면서, OffSec에서 제공하는 학습 자료를 번역하고 정리하여 나만의 책을 만들었다. 단순히 읽고 넘어가는 것이 아니라, 내용을 직접 정리하고 작성하는 과정에서 내가 쓰면서 이해되지 않는 부분은 다시 찾아가면서 정리하다보니 좀 더 이해하기 쉬웠다. 이 과정이 실제 시험을 준비하는 데 큰 도움이 됐다. 다만, 이 자료를 웹에 공개하는 것은 OffSec 정책상 금지되어 있기 때문에, 개인적인 학습용으로만 보관했다.

또한, 나는 나만의 명령어 Cheat Sheet를 만들었다. 아직 완성하지는 못했지만, 정리하는 과정에서 한 번 더 공부하게 되므로 이 방법을 강력히 추천한다.

OSCP 학습 과정에서 내용 자체는 3개월 만에 끝냈지만, 이를 정리하고, 이해하는 데는 더 많은 시간이 걸렸다. 물론, 아직 Exploit 코드를 완벽하게 직접 개발할 수는 없지만, 기존 Exploit 코드를 읽고 어디서 해당 취약점이 발생하고 환경에 맞게 코드를 고치고 적용하는 방법을 주로 연습했다.

📌 시험 후기

시험은 총 세 번 만에 통과하게 되었다.
첫 번째 시험은 공부를 막 끝냈을 때, Challenge Lab만 풀어보고 오만하게 쉽다고 생각해서 도전하게 되었다.
결과적으로 시험에서 한 문제만 풀고 나머지는 해결하지 못한 채 끝나게 됐다.

그 이후, PG 머신과 Hack the Box 머신을 풀어보면서 실력을 키우기 시작했다.
문제가 풀리지 않으면 관련 내용을 구글링하면서 계속해서 보완해 나갔다.

두 번째 시험에서는 60점을 기록하며 아쉽게도 통과하지 못했다.
이때는 Active Directory(AD) 세트와 싱글 머신 하나만 풀어서 점수가 부족했다.
이를 통해 더 철저한 준비가 필요하다는 것을 깨달았고, 이후에는 Hack The Box(HTB)와 Lainkusanagi OSCP 리스트, TryHackMe 플랫폼에서 다양한 예시를 접하면서 시험을 준비했다.

https://docs.google.com/spreadsheets/d/18weuz_Eeynr6sXFQ87Cd5F0slOj9Z6rt/edit?gid=487240997#gid=487240997

 

Lainkusanagi OSCP Like.xlsx

ABCDEFGHIJKLMNOPQRSTUVWXYZLainKusanagi list of OSCP like machines>Whoami>What is this list for-Before and while doing PEN 200 course and after failing my first attempt I completed multiple machines in multiple hacking platforms.-I did all the PEN 200 cours

docs.google.com

이번 시험에서는 Active Directory(AD) 세트와 싱글 머신 2대의 모든 관리자 권한을 탈취했다. 시험을 진행하면서 빠르게 끝내고 싶다는 마음이 커서, 눈앞에 보이는 취약점을 무시하고 넘어가기도 했다.
하지만 결국 AD와 싱글 머신 2대 모두 처음에 예상했던 취약점을 그대로 활용해서 관리자 권한을 탈취했고, 심지어 Pivoting까지 성공적으로 진행할 수 있었다.

특히, AD 환경에서는 첫 번째 클라이언트 머신을 탈취한 후 40분 만에 도메인 컨트롤러까지 장악할 수 있었다.
이전 시험들에 비해 훨씬 더 빠르고 효율적으로 침투할 수 있었던 점이 만족스러웠다.

다만, 마지막 한 문제는 웹과 관련된 문제였는데 꼭 해결하고 싶었는데 시간이 부족해서 풀지 못한것이 너무 아쉬웠다.
시험이 끝난 후 돌아보니, 웹 취약점 분석을 좀 더 깊이 공부했더라면 해결할 수 있었을 것 같아 더욱 아쉬움이 남는다.

 

시험을 풀면서 단순히 자격증을 따기 위한 과정이 아니라, 실제로 배우고 성장하는 과정처럼 느껴졌다.
각 문제를 해결할 때마다 새로운 것을 익히고, 부족했던 부분을 채우며 다시 한 번 성장할 수 있었다.

특히, 시험 도중에는 단순한 평가를 받고 있다는 느낌보다는, 시험 준비용으로 풀었던 머신들을 복습하며 다시 공부하는 것 같은 기분이 들었다.
시험을 통해 실전 경험을 쌓는다는 점에서, 그 자체가 하나의 학습 과정처럼 다가왔다.

 

마지막으로, 보고서는 기존에 풀었던 머신들을 기반으로 작성했던 방식 그대로 작성했다.
단순한 기술 나열이 아니라, 하나의 이야기처럼 흐름을 정리하는 방식을 사용했다.

보고서에서는 열거 과정에서 얻은 데이터를 활용하여, 초기 진입점(상호작용 가능한 쉘)을 확보하는 과정을 서술했다.
그다음, 쉘을 기반으로 서버를 추가적으로 열거하고, 발견된 데이터를 분석하여 취약점을 찾고, 최종적으로 관리자 권한을 획득하는 과정을 정리했다.

나는 1월 25일에 시험을 시작했고, 1월 27일에 보고서를 제출했다. 그리고 예상보다 빠르게, 1월 28일에 하루 만에 합격 메일을 받았다. 원래 채점이 약 10일 정도 걸린다고 해서 오래 기다려야 하나 싶었지만, 예상보다 훨씬 빠르게 결과를 받을 수 있었다. 이렇게 해서 1년간의 과정이 마무리되었고, 마침내 OSCP를 취득하게 되었다.

 

📌 마무리

OSCP를 준비하던 당시, 정보보안은 자격증이 꼭 필요하지 않다 굳이 따지 않아도 된다라는 말을 많이 들었다.
그 말을 들을 때마다, 공부를 계속해야 할지, 포기해야 할지 고민이 커졌다. 시험은 너무 어려웠고, 머신이 풀리지 않을 때는 좌절감이 더 컸다. 그래서 1년이라는 시간 동안 오로지 OSCP만을 위해 달린 것은 아니었다. 때로는 쉬고 싶을 때 쉬었고, 공부가 잘 안 되는 날은 과감히 손을 놓기도 했다.
하지만 그럼에도 불구하고, 천천히 꾸준히 공부하면서 결국 여기까지 올 수 있었다.

OSCP를 준비하면서 보안에 대한 전반적인 시야를 넓힐 수 있었다.
이전에는 단순히 취약점이 적용된다는 사실을 아는 수준이었다면, 이제는 취약점을 해당 환경에 어떻게 적용해야할까, 그리고 왜 취약점이 일어날까까지 고민할 수 있게 됐다.

물론, 이 자격증을 땄다고 해서 내가 보안을 완벽하게 이해한다고 생각하지 않는다.
오히려, 이제 막 첫걸음을 뗀 것뿐이라고 생각한다.
하지만 OSCP를 통해 시나리오 침투 테스트를 배우고, 경험을 할 수 있다는 게 장점이라고 생각한다.

그래서 만약 OSCP를 딸까 고민하고 있다면, 나는 이 과정을 추천하고 싶다.