2回目のOSCPを受験しました!結果は残念ながら再び「不合格」でしたが、今後受験する方の参考になる部分もあるかもしれないので、体験記を残しておきます。
ちなみに1回目の受験については以下の記事をご覧ください。
https://www.num-univ.com/archives/137

2回目OSCP受験までの学習状況

Proving Grounds PrqcticeのマシンとHack The Boxのマシン攻略を中心に学習を進めました。TJ Nullのリストに記載のあるマシンを選んで攻略していました。

内訳としてはPGマシンは25台、HTBマシンは5台を攻略しました。時間が限られていたので、攻略といっても分からないところはWalkthroughを確認し、パターンを学習する目的で取り組んでいました。その他、TryHackMeやPEN-200のモジュールで補強が必要な分野の学習もしていました。

正直なところ受験前の心境としては合格はまだ難しいだろうなぁという思いはありました(PGマシンやHTBのマシンを自分の知識だけで攻略できた数は片手で数える程度、、)。ただバウチャーの都合上、ここで受けないと無効になってしまうので、経験を積む意味でも受験しました。

試験時の進捗

時間実施内容備考
10:45プロクタツールにログインプロクタによるID、環境の確認や確認用スクリプトを実行しました。
11:00試験開始さすがに2回目だとスムーズでした。
12:00頃MS01のproof.txt取得10 point獲得
12:30頃MS01のPost Exploitが完了MS02への足掛かりとなる情報もゲット
この間、MS02へのコネクションを確立できず苦戦
17:00頃MS02への攻撃を一旦断念、スタンドアロン攻略に切り替え
スタンドアロン全台の列挙を進めるも、local.txtすら取れず、、、
1:00頃諦めモードでシャワー/睡眠へ
4:00頃起床してMS02の攻略を再開
4:30頃MS02のProof.txtと思い込んでMS01のProof.txtをドヤ顔で提出アホ
4:45頃提出しているハッシュが重複していることに気づく
5:00頃MS02のProof.txtを取得10 point獲得
5:10頃DCのProof.txtを取得20 point獲得
5:30頃AD攻略関連の手順、スクリーンショットの整理が完了
スタンドアロンの攻略に戻るも手が付けられず絶望、、、
10:45試験終了

今回も40点で試験終了でした。前回は掌握できなかったDCを取れたのは良かったのですが、スタンドアロンが1台も初期ログインすらできず、大変悔しい結果でした、、、

MS01のProof.txtは簡単に取ることができて、MS02へログインするための情報もすぐに入手できました。ただ、MS02からKaliへのコネクションを確立できず手詰まりになってしまいました。。Challenge Labなどでは問題なく確立できていたコネクションの確立に失敗、、、解決方法がわかりませんでした。マシンの不具合なのでは…?という疑いもありましたが、RevertやKaliのRebootをしても結果は変わらずでした。

17:00頃に一旦スタンドアロンに切り替えて、3台を一通り列挙してみました。各マシン、おそらくここだろうなというポイントがあり、エクスプロイトなどを使って叩いてみるものの、うまくいかず、、、10 pointのまま日付を超える頃にはほぼ諦めモードになっていました。

0:00を過ぎた頃から疲労により無駄な作業も多くなってきたので、気分転換にシャワーを浴びたり、仮眠を取りました。コーヒーとモンスターをキメてギンギンになっていたので全然眠れませんでしたが、、、

4:00頃から気を取り直してAD環境の攻略に取り掛かりました。するとすぐにおかしな点に気づきました。詳細は書けませんが、普段は見ないエラーが出ていることに気づきました。なぜ12時間前に気づいていなかったのかはこの際置いておきましょう。。試験には魔物が住んでいます。このエラーの解決は簡単でしたので日中帯に解決できなかったトラブルを解決し、Kaliのncリスナーでリバースシェルを取得しました。


それはもう高揚感があり、カメラ前でガッツポーズをしたりうっすらニヤニヤしながらエビデンスのハッシュを提出しました。

ところが、です。

私はMS02を操作していると錯覚して、実のところMS01を操作していたのです、、、、なんかMS01と同じファイルが置いてあるなー、、、、ははぁ、またこのファイルを確認させたいのかー好きだねぇ、ぐらいに思っていました。Post Exploit(錯覚)を進めるうちに、ようやく自分がMS01を操作していることに気づきました。提出したハッシュを再確認すると同じハッシュが2つあるじゃん、、、と。

原因はすぐにわかりましたので修正してようやくMS02のリバースシェルを取得しました。MS02の権限昇格は列挙時点で当たりがついていたので、早速それを試して、思った通りに権限昇格できました。Domain Adminの資格情報も入手できたのでそのまま返す刀でDCのProofも取れました。

AD環境を掌握できたので、スタンドアロンでフラグを3つ取れれば合格が見えたのですが、結局スタンドアロンのフラグは1つも取れませんでした、、、PGマシンやHTBマシンでは完全に自力で攻略は無理でも初期ログインだけなら、権限昇格だけなら、と部分的には自力でできていたので、3台に全く手が付けられない状態は想定外でした。

これホントにOSCPだよな…?と思いながらnmapのスキャン結果の再確認やディレクトリの列挙など諸々再確認して、エクスプロイトも複数試しているうちに気づけば試験終了時間になっていました。

今後の学習予定

今回の受験で自分の弱点が更に明確になったと思います。弱点部分をカバーして再受験はするのですが、しばらく時間を置こうと思っています。Learn Oneのサブスクも切れたので、また受験するタイミングで3カ月のコースを申し込みたいと思います。

OSCPの前にそもそも付け焼き刃的な知識をしっかり補強する必要性を感じています。特にAD環境とWebアプリケーションに関する部分については要強化です。今回の結果に基づき、今年は以下の学習を進める予定です。

  • HTBマシンの攻略とWriteUpの作成/公開
  • CRTPの学習/認定取得(AD部分の体系的な理解を進めたい)
  • PortSwiggerで学習(認定取得までは予定していませんがOSCPに関連する部分のコンテンツを利用してWeb関連の学習を進めたい)
  • eJPTv2の学習/認定取得(基礎の見直し、上の3つと比較すると優先度は低め)

特にCRTPとPortSwiggerの学習が落ち着いたらまたOSCPに戻りたいと思います。年内には再受験したいと思っていますが、もしかすると来年になってしまうかもしれません。試験傾向は変わってしまうかもしれませんが仕方なしですね。本業の技術検証にもそこそこ時間を使っているので、、、

今後OSCPを受験される方へ

私個人が感じた試験時や学習時に有用なポイントは以下の通りです。

  • 1つの目的に対して複数のアプローチ手段をもつこと(試験では普段使っているツールがうまく動かないことが日常茶飯事です笑)
  • 試験時に休憩は戦略的に取ること(頭の切り替えって本当に大切です、、)
  • エクスプロイトで取得したシェルはネストしておく(コネクション再接続に失敗するストレスから解放されます)
  • ncリスナーはrlwrapで実行する(シェル操作のストレスから解放されます)
  • MediumのOSCP関連記事(マシン攻略のTipsや合格者のブログなど大変参考になりました。有料のものもあり、結局課金してしまいました。)

最後に

今回も不合格ではありましたがOSCPの試験自体は楽しくやれたと思います。仕事に紐づいてるわけではなく完全に趣味なので気楽にやっていますw。やはりシェルを取れた瞬間や権限昇格した瞬間の楽しさは中毒性があるので今後も続けていこうと思います。
また、今後もHTBマシンのWriteUpやCRTPなどの学習状況、受験体験記などもブログにまとめていこうと思いますので、暇つぶしに読んで頂けますと幸いです。最後までお読みいただき、ありがとうございました。