OSCP 자격증 취득 후기 및 팁26년 3월에 만들어진 O4C 그룹은 오펜시브 시큐리티의 중심, 레드팀을 학습/연구하는 그룹입니다. 저희 O4C는 학습의 첫 발판으로 팀원 전체 OSCP 자격증 취득을 목표로 삼았고, 일부 인원이 취득에 성공한 상황입니다. 이 글을 통해 OSCP 자격증 후기와 준비하면서 느꼈던 팁들을 정리해 보려 합니다. 앞으로 OSCP를 준비하시는 분들께 도움이 되었으면 합니다. ## OSCP는 무엇인가? OSCP(Offensive Security Certified Professional)는 Kali Linux 개발과 Exploit-DB 운영으로 잘 알려진 OffSec에서 발급하는 모의 침투(Penetration Testing) 자격증입니다. 전 세계적으로 가장 널리 알려진 실무형 침투 테스트 자격증 중 하나로, 침투 테스터·보안 컨설턴트 채용 공고에 우대 혹은 필수 요건으로 자주 등장할 만큼 인지도가 높습니다. 국내에서는 한동안 생소한 자격증이었지만, 최근 기업 개인정보 유출을 비롯한 잇따른 침해사고로 레드팀 분야에 대한 관심이 높아지면서 관련 채용 공고의 우대사항으로 등장할 만큼 인지도가 높아지고 있습니다. OSCP 시험은 총 48시간 동안 진행됩니다. 첫 24시간(정확히는 23시간 45분) 동안은 Active Directory 세트(3대의 연계된 머신)와 3대의 독립(Independent) 머신을 대상으로 침투와 권한 상승을 수행하며, 각 시스템에서 `local.txt`, `proof.txt`라는 증명 파일(Flag)을 획득해야 합니다. 이어지는 24시간 동안은 그 풀이 과정을 정리한 침투 테스트 보고서를 작성해 제출합니다. 이 모든 과정은 오픈북으로 진행됩니다. 응시자는 시험 중 인터넷에서 자료를 탐색하거나, 미리 정리해둔 노트와 치트시트를 참고하는 데 제약이 없습니다. 다른 자격증과 달리 객관식 문제 없이 100% 실습으로 진행되어 암기가 거의 필요 없고 실무 능력에 가까운 시험이라, 개인적으로 더욱 매력적으로 느껴진 자격증이었습니다. ## 취득 후기 문제 난이도는 HackTheBox 기준으로 Easy \~ Medium 수준이었던 것 같습니다. 또한 Offsec에서 제공하는 실습 랩인 OSCP A \~ C 챌린지와 비슷하다 느껴졌습니다. Active Directory(이하 AD) 문제가 40점을 차지하기 때문에, 이걸 못 풀면 사실상 합격이 어렵다고 보고 시작하자마자 AD 문제에 집중하는 식으로 진행했습니다. 풀이 중간중간 시간을 아끼기 위해 독립형 머신에는 기본적인 스캔만 걸어두고, AD 풀이를 끝낸 뒤 스캔 결과를 보면서 접근하기 쉬워 보이는 순서대로 접근했습니다. 저는 시험 시작 2 \~ 3시간 안에 Active Directory 세트를 모두 풀었고, 독립 머신 하나는 1시간 정도, 다른 한 대는 생각보다 시간이 끌려 4시간 정도 소요됐습니다. 전부 합쳐 대략 8시간 만에 목표한 점수를 확보했습니다. 최종 점수는 **40점(AD) + 20점(독립 머신 1) + 20점(독립 머신 2)로 총 80점**으로 마무리했습니다. 전체적으로 시험 자체의 기술 난이도가 아주 높다고 느껴지진 않았습니다. 오히려 체감상 더 중요했던 건 **경험과 침착함**이었습니다. 한 머신에 막혀 삽질하기 시작하면 순식간에 몇 시간이 날아가고, 그게 곧 시험 시간을 깎아먹기 때문입니다. 그래서 OSCP는 "얼마나 어려운 기법을 아느냐"보다 "얼마나 다양한 환경을 경험해봤고, 막혔을 때 빠르게 다른 길을 찾느냐"의 시험에 가깝다고 느꼈습니다. ## 준비 과정 저는 이전부터 관련 업무를 해오던 터라 입문자는 아니었지만, 그래도 가격이 비싼만큼 한번에 취득하기 위해 기초부터 준비를 진행했습니다. 준비는 크게 세 갈래로 진행했습니다. **첫째, Offsec 학습 모듈은 빠르게 훑었습니다.** 모듈 자체는 양이 방대하지만, 뒤에서 다시 이야기하듯 Capstone 같은 고난도 챌린지에 시간을 쏟기보다는 핵심 개념만 빠르게 정리 및 실습하고 넘어가는 식으로 진행했습니다. **둘째, OSCP 스타일의 머신 문제들을 최대한 많이 풀었습니다.** 모듈에서 배운 내용만으로는 한계가 있기 때문에, 시험 문제와 비슷하다고 알려진 머신 문제들을 직접 풀어보며 경험을 쌓는 데 많은 시간을 투자했습니다. 이 과정에서 사용한 명령어와 풀이 유형을 그때그때 Cheatsheet로 정리해 두었습니다. **셋째, Offsec에서 제공하는 챌린지 랩 OSCP A \~ C 세트를 시험 전 풀어보며 감을 잡았습니다.** 실제 시험 환경과 가장 유사하게 출제된 랩이라, 이 랩을 통해 시험 전 감을 잡는 것이 도움이 됐습니다. ## 준비 팁 ### 1. 학습 모듈 Capstone 문제 스킵 Offsec에서 제공하는 OSCP 학습 모듈에는 일반 실습 문제 말고도 Capstone 챌린지라는, 꽤 심화적이고 시간이 많이 소요되는 문제들이 있습니다. 직접 풀어본 입장에서, 시험에 이 정도 난이도의 문제가 나오지는 않기 때문에 여기에 굳이 많은 시간을 쓸 필요는 없다고 생각합니다. 물론 실력 성장에는 분명 도움이 되지만, 학습 모듈은 정해진 기한 동안에만 접근이 가능하고 가격도 비싸기 때문에 OSCP를 빠르게 취득하는 데 집중하고 싶다면, Capstone 보다는 다른 머신을 더 풀어보며 경험을 쌓는 편이 효율적이라 느껴졌습니다. ### 2. 여러 머신 경험 및 나만의 Cheatsheet 구성 OSCP를 비롯한 머신 문제들은 경험적인 부분이 굉장히 크다고 생각합니다. 마치 수학 문제를 풀 때 해당 유형을 사전에 경험해봤는지 여부에 따라 풀이 시간과 정답 여부가 크게 달라지는 것처럼, 머신 문제도 출제된 환경과 시나리오를 미리 접해봤는지에 따라 체감 난이도가 크게 달라집니다. 무엇보다 OSCP는 학습 모듈에서 배운 기법, 환경들만 나오진 않기 때문에, 모듈 학습만으로는 분명 한계가 있습니다. 이러한 경험을 가장 빠르고 효과적으로 쌓는 방법은 역시 **머신을 많이 풀어보는 것**입니다. 구글에 검색해보면 HackTheBox, TryHackMe 등에 있는 OSCP 스타일 머신들이 정리된 문서들을 쉽게 찾을 수 있습니다. 이러한 문제들을 풀어보면서 풀이 유형과 사용한 명령어들을 Cheatsheet로 정리해두면, 시험에서 막히거나 과거에 본 듯한 유형이 나왔을 때 참고해 쉽게 풀어낼 수 있습니다. 특히 **시험 중에는 LLM 사용이 금지**되므로, Cheatsheet에 시간을 좀 투자해두면 삽질도 덜하고 훨씬 편합니다. 또한 머신 하나하나에 너무 많은 시간을 투자하기보다는, 적당히 혼자 힘으로 풀어보다가 막히면 Writeup을 참고해 푸는 것도 좋은 방법입니다. 앞선 1번 팁에서 말씀드린 것처럼 저는 여러 시나리오와 환경을 두루 경험하는 것이 시험 준비에 더 도움이 된다고 생각하기 때문에, 한 머신을 빠르게 끝내고 다음 머신으로 넘어가는 편이 좋다고 봅니다. 다만 직접 명령어를 쳐서 경험하는 것과 그냥 눈으로 읽고 정리하는 것은 큰 차이가 있으니, Writeup을 보더라도 반드시 직접 손으로 쳐보시길 권장합니다. ### 3. Active Directory 문제 공략 OSCP 시험은 독립형 머신 3대의 루트 쉘을 모두 따내도 60점밖에 되지 않기 때문에, 합격을 위해서는 **AD 문제 풀이가 사실상 필수**입니다. 배점이 40점으로 높지만, 체감상 AD 풀이 난이도가 그렇게 높지는 않았습니다. Windows LPE, Kerberoasting, DACL Abuse 같은 기초적인 기법 위주로 나오기 때문에, AD 문제를 어느 정도 풀어본 분이라면 충분히 해결할 수 있는 수준입니다. 인터넷 상에서 본 여러 후기와 제 경험을 종합해 보면, 시험에 나오는 독립형 머신 3대는 쉬움 하나, 중간 하나, 어려움 하나로 구성되는 것 같습니다. 개인적으로는 어려운 독립형 머신을 붙잡고 삽질하는 것보다, 배점도 높고 패턴도 비교적 정형화된 AD를 먼저 공략하는 편이 훨씬 수월했습니다. 따라서 공부하실 때 Active Directory 관련 문제를 집중적으로 풀어보시면 도움이 많이 될 것 같습니다. ### 4. 너무 어렵게 생각하지 말 것 이 부분은 개개인의 실력에 따라 기준이 달라지는 부분이라 조금 조심스러운 팁입니다. 특히 저는 관련 업무를 이전부터 해오다가 자격증을 딴 케이스라 더더욱 조심스럽습니다. 자칫 기만처럼 들릴 수 있지만, 실제로 제가 시험에서 이 부분 때문에 삽질하느라 시간을 많이 소요해서 꼭 전하고 싶은 팁입니다. '어렵게 생각한다'는 건 굉장히 주관적인 개념이지만, 시험 중 너무 복잡해 보이는 풀이 경로가 보인다면 그 경로는 정답이 아닐 가능성이 높습니다. OSCP는 침투 입문용 자격증이기도 해서, 예를 들어 PoC가 공개되지 않은 제품의 1-Day를 분석해 복잡한 Exploit 스크립트를 만들어내거나 비대칭 암호화의 허점을 노리는 식의 학습 모듈 범위를 크게 벗어나고 공수가 많이 드는 작업은 정답이 아닐 가능성이 높습니다. 물론 내가 어렵다고 생각한 경로가 실제 정답일 수도 있습니다. 다만 제한 시간이 있는 시험인 만큼, 공수가 덜 드는 쉬운 경로부터 우선적으로 시도하는 것이 좋습니다. **RabbitHole을 조심하세요!** 이건 정말 꼭 드리고 싶은 팁입니다. ### 5. 기록은 실시간으로 OSCP는 랩 풀이 이후 보고서 작성까지가 시험입니다. 머신을 잘 풀었더라도 보고서로 풀이 과정이 명확히 증명되지 않으면 점수를 인정받지 못합니다. 시험 종료 후 보고서 작성 시간에는 랩 환경이 닫히기 때문에, 풀이 증명이나 Flag 스크린샷이 누락되는 불상사를 막으려면 **풀이를 진행하면서 동시에 실시간으로 스크린샷을 남겨두는 것**이 중요합니다. 가장 좋은 방법은 미리 대충이라도 보고서를 한 번 작성해보면서, 어떤 스크린샷과 기록이 필요한지 감을 잡아두는 것입니다. 풀이가 일찍 끝난다면 문제될 게 없지만, 앞선 풀이에 시간을 많이 끌린 상태에서 그제서야 처음부터 기록을 하려고 하면 보고서 작성에서 낭패를 볼 수 있습니다. --- OSCP는 분명 만만한 시험은 아니지만, 그렇다고 막연히 두려워할 시험도 아니라고 생각합니다. 학습 모듈을 통해 개념을 배우고, 다양한 머신을 직접 풀어보며 경험을 쌓고, 나만의 Cheatsheet를 만들어두고, 침착하게 시간을 분배한다면 충분히 합격할 수 있습니다. 이 후기가 OSCP를 준비하시는 분들께 작게나마 도움이 되었길 바랍니다.