OSCP試験を受験しました!結果は「不合格」でしたが、反省点の整理としてブログに情報を残したいと思います。OSCPの受験を検討されている方、これから学習を始めようか検討されている方の参考になれば幸いです。
Contents
PEN-200受講前の学習状況
OSCPの学習にあたり、Offsec社が提供しているコース「PEN-200」の受講を選択しました。
PEN-200はオンデマンドコンテンツで受講期間を3カ月間と1年間で選択可能です。私はじっくりと勉強したいのと、ちょうど第一子が生まれた直後でもあったので1年間のプラン「Learn One」を選択しました。Learn Oneは1年間のサブスクリプションでコースを1つ選択することができます。試験のバウチャーは2回分付いてきます(ただしサブスクリプション期間内に受験が必要)。
Learn One契約前の学習状況は以下の通りです。
- TryHackMeの「Complete Beginner」を修了
- HackTheBoxの「Starting Point」を修了
その他、TCP/IPなどネットワークについては本業で扱っているので問題なしでした。とは言え、OSCPで要求されるTCP/IPの技術は基本的なものばかりです。ネットワーク分野に自信がない方はTryHackMeの「Complete Beginner」を受講すればカバーできるかと思います。
Linuxやプログラムについては事前知識として本当に基礎的な操作であれば可、という程度でした。
ちなみに最初はPythonでHTTPサーバを立ててKaliからターゲットマシンにファイルを転送することすらできませんでした。。
このあたりはPEN-200を受講する過程で習得できると思います。
また、Offsec公式のDiscordにはラボ攻略に関する様々なTipsがポストされているので参考になると思います。基礎の基礎から体系的に学びたい方はPEN-100という基礎コースがあります。Learn Oneに申し込むと付属してくるので、こちらでKaliを用いた基本的なペンテストスキルを習得することも可能です。
■ Offsec Learn One
https://www.offsec.com/products/learn-one/
■ TryHackMe
https://tryhackme.com/
■Hack The Box
https://www.hackthebox.com/
OSCP受験前の学習状況
OSCP受験直前の学習状況は以下の通りです。
- PEN-200の完了率 86%程度(試験範囲外のコンテンツは触れていません)
- Proving Grounds Practice 10台攻略
- Hack The BoxのEasyマシンを1台攻略
PEN-200のChallengeラボやPGマシン、HTBのマシン攻略ではログインシェルだけならヒントなしで取れたり、権限昇格だけなら自力で、、という感じで完全に自分で1台攻略できたマシンはほとんどありませんでした。。ある程度チェックリストを試して分からなければWalkthroughやDiscordでヒントを得て攻略していました。
今思えばマシンの攻略経験が足りていませんでした。。しかし受験前の私は謎の自身に満ち溢れていました。。。
OSCP試験の事前準備
当日までの準備はOffsecの公式ドキュメントを要確認です。
https://help.offsec.com/hc/en-us/articles/360040165632-OSCP-Exam-Guide-Newly-Updated
身分証
私は身分証(パスポート)の準備を完全に忘れており、試験2週間前に焦りました、、、、(アホすぎる)。結果的には運転免許証を公証付き翻訳したもので代用できましたが2万円ほどの無駄な出費となりました。ちなみに公証付き翻訳ドキュメントは依頼から2営業日ほどで手に入りました。
PC
普段プライベートで使用しているデスクトップのWindows PCを使用しました。
試験のプロクタツールはWindows PCで動作させ、マシンの攻略はVMware Workstation Pro上のKali VMを使用しました。
ディスプレイはデュアルディスプレイにしました。また、試験中は音楽を聴いても良いので、Youtubeなどで音楽を流しヘッドホンで聴いていました。ヘッドホンはPCに接続されている必要があります。どうしても試験中に妻と娘の生活音が聞こえてしまうので、音楽を聴けるのはとても良かったです。
飲食物
遠足に行くのかと思うくらいお菓子を買いました。後はカップラーメンやコーヒーを3食分ほど買いました。ただ最終的には妻が夜食を作ってくれていたのでそちらを食べました。
試験時の進捗
時間 | 実施内容 | 備考 |
9:45 | プロクタツールにログイン | プロクタによるID、環境の確認や確認用スクリプトを実行しました。 |
10:00 | 試験開始 | 試験開始に送信されるメールは要チェックです。 |
11:00頃 | MS01のproof.txt取得 | 10 point獲得 |
12:00頃 | MS02のログインシェル取得 | |
絶望の5時間 | ||
17:00頃 | MS02のproof.txt取得 | 10 point獲得 |
20:00 | DC攻略を一旦断念、スタンドアロン攻略に切り替え | |
21:00頃 | スタンドアロン #2のlocal.txtを取得 | 10 point獲得 |
絶望の12時間 | この間、複数回の小休憩や睡眠を取っています。 | |
9:00頃 | スタンドアロン #2のproof.txtを取得 | 10 point獲得 |
9:45 | 試験終了 |
正直、11:00の段階でMS01のproofを取れたときには楽勝だと思っていました。。。MS02へのログインシェルもスムーズに取れたと思います。そこから絶望の5時間が始まりました。手がかりは見つかっているのに、権限昇格ができない、、、、
この時間は大分焦燥感がありました。PEN-200のチャレンジラボだとMS02の攻略は簡単なイメージがあったので面食らった感じでした。
![](https://www.num-univ.com/wp-content/uploads/2025/02/download-1.jpg)
17:00になって大分諦めモードになったところで、基本的な列挙を試していないことに気づき、ダメ元で試してみました。あまりに基本的で試すのを忘れていました…w 結果、権限昇格の糸口が見つかり、proofを取れました。
ここは大反省ポイントの1つです。チャレンジラボの攻略時には当たり前にやっていたことを疎かにして、他のRabbit Holeに気を取られていました。基本に忠実に列挙していれば昼過ぎにはMS02も取れていたのに、、、と思いました。
しかし久しぶりの進捗で精神力も回復し、再びなんだか合格できる気がしてきました。
もうDCも取れた気になっていました。。。
![](https://www.num-univ.com/wp-content/uploads/2025/02/download-2.jpg)
そこからDCは突破口が見つからず、一旦スタンドアロンに切り替えることにしました。スタンドアロンは一旦、#1~3までポートスキャンして簡単そうなマシン(#2)から攻略を開始しました。
予想通り、スタンドアロン #2は比較的簡単にログインシェルを取れました。ただこのマシン、リバースシェルのセッションが切断される度にマシンをrevertする必要があるので、げんなりしながら権限昇格の糸口を探していました。このマシンだけで10回以上revertしていますw 一度セッションが切れるとエクスプロイトが送るペイロードをアプリケーション側がブロックしているようでした。正直この手のマシンは試験に入れないでほしい、、、とややイラ立ちもありました。
revertの残り回数が心配だったので、一旦スタンドアロン#2の権限昇格は後回しにし、スタンドアロン#1と#3に切り替えました、
で、ここからが本当の絶望、約12時間進捗なしになります。スタンドアロン#1にいたっては脆弱性が特定できませんでした、試したエクスプロイトはことごとく不発。。。深夜になって、精神的な疲労と肉体的な疲労のダブルパンチで無駄な操作を繰り返し始めました。スタンドアロン#3は突破口は見当がつきましたが、私の苦手な分野で何が原因で失敗しているのかわからず頓挫しました。
よもやログインシェルすら取れないとは、、、OSCPを甘く見ていました。。
![](https://www.num-univ.com/wp-content/uploads/2025/02/IMG_2840-653x1024.jpg)
今思うと、0:00あたりで思い切って長時間の睡眠を取っても良かったと思います。頭が回っていない、と実感しているものの、合格点に達していない状態でPCを離れることに抵抗を感じていました。
スタンドアロンについては権限昇格は無理でもログインシェルだけは取れるだろうと思っていたので、精神的にまいってしまいました。
時間だけが無為に過ぎていき、気づいたら窓の外が明るくなっていました。このあたりの時間帯、あまり記憶がありませんw 確かDCとスタンドアロン#1、#3を行ったり来たりして迷路にいました。
8:00になってもう流石に不合格を覚悟し、一旦睡眠を取りました。しかし興奮状態のせいか20分程度でまたPCに戻りました。
どのみち不合格だからなぁとは思いつつ、後回しにしていたスタンドアロン #2の権限昇格に取り掛かりました。特に問題なく権限昇格できました。後回しにする前段階である程度情報は列挙できていたので、気になっていた部分を確認して糸口を見つけました。
その後はスクリーンショットやメモの確認、提出したエビデンスの確認をして試験終了まで過ごしました。
試験レポートの作成
不合格でもレポートの提出はできるのかプロクタに聞いてみたところ、提出すればフィードバックするよ!とのことでしたので、試験レポートを作成しました。
OffsecのWord形式のイケてないテンプレートファイルをカスタマイズして作成しました。試験中のメモはTyporaのMarkdown形式で書いていたので、レポートもMarkdownにしようかと思ったのですが、改ページなど細々した部分が意外と面倒だなと思いWordにしました。Wordは業務での資料作成などでよく使っていたので慣れていました。
丁度この記事を書いている最中にOffsecから試験結果メールが届き、以下のようなことが書いてありました。
- 40点で不合格
- 復習すべきPEN-200モジュールのリスト
- 詳細なフィードバックは24時間以内に送付
まず、40点ということはレポートでの減点はなかったようです。若干これでいいのか感はあったので安心しました。ところどころ細かいスクリーンショットが撮れていなかったので、その部分での減点を懸念していました。例えばファイルを転送するコマンド、ユーザーのリストを作成したコマンドなどです。今回提出したWordファイルを次回のテンプレートとして活用できそうです。
今後の課題
次回の受験はスケジュールが合えば3月末になる予定です。それまでに以下の追加作業で試験対策したいと思います。
- [優先度: 高] PG/HTBマシンを攻略(WindowsとLinuxで各10台ずつを目標)
- [優先度: 高] ADとWebセキュリティについてはTryHackMeで基礎から見直し
- [優先度: 高] 休憩も含めた具体的な試験スケジュールの作成
- [優先度: 中] ADとWebセキュリティについてPEN-200のモジュールで復習
次回まで1カ月少々と時間が限られており、また本業の方の技術検証に追われる可能性が高いので、まずは今回受験してクリティカルだった部分をカバーできればと思います。
最後に
今回受験してみて、OSCPは想定より難しいと感じました。個々のログインシェルを取得するプロセスや権限を昇格するプロセスというよりは、そこに気づき辛くする環境自体に難しさがあると感じました。PEN-200のチャレンジラボよりもRabbit Holeが多いと思います。正直、フラグを取れたマシンについては、フラグを取る部分だけにフォーカスすればMedTech、Reliaレベルだと感じました。
今回は不合格でしたが、これは更に基礎をブラッシュアップするチャンスでもあるので、真摯に受け止めてしっかりとやるべき対策をこなしたいと思います。
また、育児や家事のタスクをすべて引き受けてサポートしてくれた妻に感謝です。