아직 합격 발표가 나지 않았지만, 국내에서 OSCP+ 후기를 가장 먼저 작성하고 싶어서 '합격' 후기가 아닌 '시험' 후기로 작성했다.
만약 떨어진다면 리포트 불합격 후기도 올리도록 하겠다….
[+] 합격했습니다! 응원해주신 모든 분들께 감사드립니다.
0. 들어가기 앞서..
돈 되는 VR 말고.. 돈 안되는 레드팀 불모지인 한국에서 대단한 활동과 인사이트를 보여주시는 분들이 있다.
이들은 단순히 레드팀을 열심히 공부한 분들이 아니라, 업계 전체를 선도하는 Five Eyes 국가의 정보보안 업계에서 쌓은 경험을 바탕으로 훌륭한 인사이트를 공유한다. 일부 사람들의 표현을 빌리자면 "표독한" 면이 있는 폐쇄적인 보안 시장에서, 이들은 조건 없이 정보를 공유하고 소통의 장을 만들어내려는 노력이 감동스러울 정도이다. 여러분의 노력이 결국 한국 레드팀 시장의 규모를 키우는 데 큰 기여를 할 것이라고 생각한다.
물론 나 역시 이러한 훌륭한 활동들을 보며 동기부여를 받아 OSCP에 도전하게 되었다.
Big Thanks to Red Raccoon 운영진 ! Keep up the great work!
1. 배경지식
OffSec사의 PEN-200과정에 등록하기 전 내가 가진 경험은 다음과 같다.
•
BOB
•
VR(Vulnerability Research)분야 공부 n년
•
관련 도메인 업무 경력 2년
•
HackTheBox 아카데미 약 1년간 공부
•
여러가지 프로젝트 경험
부연 설명을 하자면, 원래는 시스템 해킹(한국식 표현으로)을 주로 공부하다가 약 2년전 부터 관련 도메인으로 일을 하게되어 레드팀 분야에 집중하기 시작했다.
2. 목적
2.1. 커리어
정보보안 업계에서는 학벌이 취업의 주요 요인이 아니라는 사실을 많은 사람들이 알고 있을 것이다. (실제로 피부로 느껴지기도 한다. 때로는 잔인할 정도로...) VR 업계에서는 주로 CTF 상위 랭킹, 컨퍼런스 발표, 다수의 취약점 제보 경력 등이 실력 평가의 지표로 사용된다. 하지만 레드팀 불모지인 대한민국에서는 레드팀 CTF가 거의 열리지 않고, 컨퍼런스 주제도 레드팀 발표에 적합하지 않은 경우가 많다.
나는 '대한민국'에서의 레드팀 커리어를 위해 최소한의 정량적인 지표가 필요했고, 그래서 보안 자격증 중 브랜드 가치가 가장 높다고 알려진 OSCP를 선택했다.
2.2. 번아웃
이 시험을 준비한 또 다른 이유는 눈에 보이는 성과 없이 공부하는 것에 지쳐 약간의 번아웃을 느끼고 있었기 때문이다. 나에게 공부를 계속할 동기를 만들어 주기 위해 등록을 결정했다.
결제하고 보니 뜻밖에도 카드값이 나에게 큰 동기가 되었다. 무려 2,300,000원! )
3. 준비과정
나는 8월 8일에 PEN-200 3개월 과정을 등록했다. 당시 진행중인 프로젝트들이 많았기 때문에 OSCP에 3개월 이상의 시간을 쓰면 삶에 부하가 상당한 상황이라 랩 접근이 끝나는 기한에 맞춰 시험을 계획했다.
3.1. (2주) PEN-200 과정
결제 당시 전체 챕터는 25개였는데, 결제일로부터 약 2주 동안 모든 자료와 연습문제를 훑어보았다. 정확히 말하자면, 내용을 하나하나 자세히 공부하기보다는 설명하는 키워드들을 눈에 익히고, 처음 보는 키워드는 따로 정리해두는 방식으로 진행했다.
(대부분의 내용을 이미 HackTheBox Academy에서 공부한 상태였다.)
3.2. (2주) CHALLENGE LAB
다음 2주 동안은 PEN-200에 포함된 CHALLENGE LAB을 모두 풀었다. 막히는 부분에서 오래 고민하지 않고, OffSec Discord에서 도움을 받아 진행 속도를 유지했다. 이렇게 하여 고민하는 시간이 전체 진행에 부담이 되지 않도록 했다.
3.3. (5주) HackTheBox Machines
다음 5주 동안에는 HackTheBox머신을 활용했다.
위 문서는 여러 플랫폼에서 제공하는 OSCP 스타일의 머신들을 모아둔 유용한 자료인데, 나는 그 중 HackTheBox 머신만 풀었다. 마찬가지로 고민 시간을 최소화하고, 막히는 부분이 있으면 HackTheBox에서 Retired Machine에 한해 제공하는 공식 Writeup을 참고하며 문제를 해결해 나갔다.
여기서 주의할 점은 Writeup을 읽으며 막힘없이 공부하다 보면 일종의 반복 작업처럼 느껴져 번아웃이 올 수 있다는 것이다. 이를 방지하기 위해 일주일에 두 번 정도는 Active Machine을 풀면서 문제 해결이 무의미한 작업으로 느껴지지 않도록 했다.
(이즈음 OSCP+로 시험이 바뀐다는 소식을 접해 멘탈이 살짝 흔들렸다.)
3.4. (2주) 문서화
초반 2주간 모아둔 키워드들과 5주간의 반복 작업으로 작성한 Writeup들을 기반으로 시험용 CheatSheet를 작성했다. 먼저 HackTheBox 머신들에서 자주 나오는 패턴을 바탕으로 HackTheBox CheatSheet를 만들었고, 그 중 Challenge Lab의 패턴과 겹치는 부분을 중심으로 OffSec CheatSheet를 별도로 작성했다. (출제자의 의도 파악이랄까?)
이미 OSCP CheatSheet, RedTeam CheatSheet 같은 자료들이 많이 공유되어 있지만, 정보가 너무 방대해서 그런 것들은 사용하지 않았다.
3.5. (1주) CHALLENGE LAB
마지막 1주일 동안은 작성한 CheatSheet만을 참고하며 모든 랩을 다시 풀었다. 이는 시험 전 최종 연습과 더불어 OffSec 특유의 유머 감각에 익숙해지기 위함이었다.
4. 시험
4.1. 문제풀이
시험 내용과 구성은 레드라쿤, 레딧 등 다른 커뮤니티에서 들었던 OSCP 시험과 크게 다르지 않았다. 유일한 차이점은 AD 세트가 Assumed Breach로 바뀐 것이었고, 이외의 시험 구성이나 머신 익스플로잇 패턴은 같은 시험이라고 봐도 무방하다(2024.11.07 기준).
시험은 오후 3시에 시작해 다음 날 새벽 2시경에 종료했다. AD 세트는 초기 접근 권한이 제공되어 비교적 수월하게 해결할 수 있었다. 독립형 머신들 역시 복잡한 익스플로잇을 요구하지 않아 순조롭게 해결할 수 있었다.
4.2. Pre-Script
시험 시작 약 1시간 후, 감독관이 급하게 VPN 연결을 끊고 연락해왔다. 실행 중인 프로세스 중 Parsec이 허용되지 않으므로, 이를 종료 확인 후 세션을 다시 열어주겠다는 것이었다. 시험 시작 전 Parsec을 종료했다고 생각했는데, 관련 드라이버 프로세스가 여전히 실행 중이었던 모양이다. Parsec을 완전히 제거하고 재부팅한 후에야 시험을 재개할 수 있었다.
4.3. 보고서작성
보고서는 OffSec에서 제공하는 템플릿을 사용하였다.
사실 보고서 작성이 상당히 스트레스였다. 다음 날 일정이 어떻게 될지 몰라 바로 끝내야 하는 상황이라, 정신이 혼미한 상태에서 실수하지 않으려 애를 먹었다.
5. 아쉬운점
5.1. AD SET
시험 중 AD셋 문제를 풀며 느낀 점은 AD 환경에서 가능한 공격들을 시뮬레이션하는 것이라기보다는 도메인에 가입된 각 호스트를 장악하는 데 가까웠다는 것이다. OSCP가 OSCP+로 전환하는 명분으로 AD 부분을 강화해 실제 레드팀 트렌드를 따라간다고 설명하고 있지만, AD 공격 기법과 기업 환경에서 발생 가능한 시나리오를 좀 더 추가하면 어떨까 하는 생각이 든다.
5.2. OSCP like Machines
챌린지 랩이나 시험 문제를 풀어보면 풀이자에게 깊은 사고를 요구하기보다는 특정 패턴에 따라 기계적으로 해결되는 경향이 있다. 이러한 패턴들이 실제 환경에서도 자주 나타나긴 하지만, 문제를 더 견고한 근거로 구성하여 풀이자들이 충분히 고민하고 해결할 수 있도록 만들었으면 하는 아쉬움이 남는다.
5.3. Legacy Technique
PEN-200 과정의 전반적인 강의 내용은 충분히 훌륭하지만, 일부 완전히 구식이 된 기술들도 포함되어 있었다. 이러한 내용들에 대해서는 "현재는 사용되지 않음"이라는 부연 설명을 추가하거나 아예 제거하는 것이 좋지 않을까 하는 아쉬움이 있었다.
5.4. 강의 자료 다운로드 제한(도대체 왜?)
PEN-200 결제 시 PDF를 단 한 번만 다운로드할 수 있는데, 나는 수강 시작과 동시에 다운로드해버렸다. 이후 랩 액세스가 거의 만료될 즈음 AWS 모듈이 추가되었지만, 결국 새로운 강의 자료는 받을 수 없었다. 도대체 왜???
5.5. 물론 OSEP는
앞서 언급한 불만사항들이 OSEP에서는 모두 개선되어 있을 수 있다. 기회가 된다면 PEN-300 과정도 수강해보고 싶지만, 당장은 어려울 것 같다 (카드값 때문에...).
그리고 OffSec이 무슨 짓을 해도 어느 정도 용서가 된다. 2007년부터 ExploitDB를 만들고 Kali Linux를 배포하는 등 업적이 있어서다. (일종의 전관예우 같은거랄까..)
6. 시험 팁
6.1. Writeup 보기
국내 보안 종사자는 라이트업을 보는 것을 꺼리는 경우가 많다. 하지만 OSCP 자격증 취득이 목표라면, 가능한 한 많은 라이트업을 보고 패턴을 익히는 것을 추천한다.
6.2. CheatSheet 만들기
앞에서도 언급했지만, 나만의 CheatSheet를 만들어 활용하는 것이 큰 도움이 된다고 생각한다. 결국 자신이 계속 실수하거나 약점인 부분의 내용이 점점 채워지기 때문이다. 또한 OSCP 머신들의 패턴을 기반으로 라이트업을 작성하다 보면 출제자의 의도를 파악할 수 있을 것이다. (실제로 필요한 거의 대부분의 명령어 및 페이로드가 작성한 CheatSheet 안에 있었다!)
6.3. 기간을 너무 길게 설정하지 않기
PEN-200 과정을 Learn One으로 구매하면 1년간 강의를 수강할 수 있지만, 기간을 너무 길게 잡으면 의욕이 떨어지기 쉽다. 가능하다면 여유로운 시기(예: 학생의 경우 방학)에 학습을 시작하되, 너무 짧지 않으면서도 적당한 긴장감을 유지할 수 있는 목표 기간을 설정하는 것이 좋다. (필자는 빨리 시작하고 빨리 식는 편이라 3개월로 설정했다.)
6.4. 편식하지 않기
레드팀은 일종의 보안 종합 예술과 같아서, 많은 분야(웹해킹, AD, 심지어 DevOps등)를 공부해야 하는데 그 중 특정 분야가 적성에 맞지 않거나 재미없을 수 있다. 하지만 이는 비단 이 시험뿐만 아니라 사회 전반에 해당하는 문제다. 우리는 항상 하고 싶은 일만 할 수는 없다. 때로는 직무와 전혀 관련 없는 일을 맡게 될 수도 있고, 페이퍼워크가 주요 업무가 되는 경우도 빈번하다. 이러한 상황에서도 우리는 적응하고 성장해야 한다. OSCP+ 시험 준비 과정에서도 마찬가지다. 모든 분야를 균형 있게 공부하고 실습하는 것이 중요하다. 어려운 부분일수록 더 많은 시간을 투자하여 약점을 보완하는 것이 결국 시험 합격의 지름길이 될 것이다.
6.5. 능동적 학습
보안 분야를 공부하다 보면 설명이 친절하지 않거나 관련 강의 자료가 전혀 없는 경우를 자주 접하게 된다. 필자는 업계에서 능동적으로 정보를 찾아 공부하는 능력이 매우 중요하다고 생각한다. 따라서 강의 자료에만 의존하지 말고, 관련 키워드를 바탕으로 스스로 정보를 찾고 가공하는 연습이 중요하다고 본다.
6.6. 책 추천
타쿠대디님이 OSCP와 관련된 책을 출간하셨다고 한다. 나는 여건상 전자책으로 구매해 소장은 못하겠지만, OSCP 마인드셋을 갖추는 데 큰 도움이 되었다. 이 책을 한 번쯤 읽어보시길 강력히 추천한다.
7. 앞으로
이후로는 잠시 레드팀 공부를 중단하고 DevOps와 클라우드(AWS, Azure)에 집중할 예정이다. 시간과 재정이 허락된다면 Zero-Point사의 CRTO에도 도전해볼 생각이 있다.
8. 마치며
해당 과정에 등록하고 시작도 못한 사람, 도전했지만 떨어진 사람, 심지어 시작도 전에 포기한 사람도 있을 것이다. 나 역시 해내지 못할 거라는 두려움에 시작조차 하지 못하던 시기가 있었다. 그때 choi님과 타쿠대디님의 블로그 글들, 그리고 레드라쿤 팟캐스트를 보며 용기를 얻었다. 아마 지금 이 글을 읽고 있는 독자분들도 설명하기 어려운 두려움에 휩싸여 이곳에 오게 되었을지도 모르겠다. 하지만 두려워할 시간은 없다. 지금 당장 신청하고 노력하자!
Special Thanks to choi, takudaddy, groot !