• その他

Try Harderのマインドで挑む~OSCP+受験記(受験編)~

B.Yoshia
B.Yoshia

Try Harderのマインドで挑む~OSCP+受験記(準備編)~」にて、「攻撃者の視点」に立ってセキュリティの在り方を考える「オフェンシブセキュリティ」を体現する完全実技型資格「OSCP+」の勉強開始から試験前日までの内容をお送りした。「Try Harderのマインドで挑む~OSCP+受験記(受験編)~」では、試験当日から合否発表までの内容をまとめるものとする。

受験15分前に、Offsecから事前にメールで送られてくる受験者専用Proctor Serviceにログインして試験監督者を待つ。ほどなくして、監督者が到着し事前確認が行われた。主な確認事項は下記の通り
・パスポートをWebカメラに映して身分確認
・部屋の四隅をWebカメラで映して問題ないか確認(Webカメラ用意しておいたおかげてスムーズに済んだ)
・試験に使用する画面(私の場合、ノートPC + 外付け分の2画面)の共有確認
 →割と複数モニタだと共有がうまくいかない例があったりとビクビクしていたが無事通過
・ホストマシンのソフトウェア情報等を一括抽出するpowershellスクリプトを実行した結果

その他細々としたチャットのやり取りを経て、予定通り12:00~試験開始となった。尚、チャットは英語であるが雑な機械翻訳でも問題なかった。

専用のOpenVPN設定ファイルがメールで届き、ついに受験開始。フラグ提出やマシンの再起動等は専用管理画面から行う。

StandAloneマシンから順に着手することとした。1台目のマシンについて40分程度ユーザ権限奪取ができた。管理者権限奪取についてはテキスト外の悪用ベクターを用いることから様々調査した上で3時間程度で攻略ができた。
少しばかり調子に乗ってきたが2台目でその認識は甘いことを思い知る。得られた情報を間違った解釈で扱おうとして自分自身でRabbitHoleにハマってしまう。徐々に無くなっていく時間に胃がキリキリしだす。いつの間にか外が暗くなっている。30分ほど夕食休憩をとる旨チャットを送って一旦気分を落ち着けることとする。休憩後、冷静に今の状況を再度棚卸する。調査ログ等を見返すと自分が認識違いを起こしていることが分かった。その後、攻撃ベクトルを構築しユーザ権限が奪取できた。しかし、どうにも管理者権限の奪取ができない。時間的にも一旦諦めることとした。
3台目については、初期侵入すらまともにできない状態であった。(ほかの受験記でもあるがStandAlone1→2→3と難易度は挙がっているようだった)

気づけば既に21時を過ぎていた。現時点での点数は30点。残り40点を取得するためにはStandAloneを引き続き解くよりもADセットで満点を狙う方が現実的であると判断し、レポート用に改めて手順の再現性を確認した上で(スクリーンショットの不足がないか等)22時頃に仮眠をとる旨チャットを送ってシャワーを浴び、そのままベッドにダイブーー

21日のAM3時過ぎに目が覚めた。簡単な朝食を食べて3時半から試験を再開した。

ADセットについては、低権限なアカウント情報が共有されていた。それを用いて1台目のマシンに接続し調査を行った。幸いなことに比較的早く権限昇格ベクトルを発見することができた。Githubから資材を用意して無事権限昇格ができた。
2台目のマシンへの足掛かりを見つけるべく、1台目のマシン内部を詳細に探索しつつBloodHound(AD環境におけるグラフ化されたインターフェースを提供する仕組み)に取り込む用のデータ抽出等できる限り漏れがないように作業を行った。少々時間がかかったが無事2台目のマシンへアクセスするための認証セットを構築できた。2台目のマシンに対する権限昇格を行うために2台目のマシン内をくまなく調査した。朝日が染みるのを感じつつ管理者認証情報の取得に成功し無事2台目のマシンのフラグを提出するに至った。
時刻は9時を過ぎていた。ここまで50点分のフラグを提出している。3台目のDCに着手する。ここまでAD環境で入手したユーザに関する確認をBloodHoundで行っていたところ、神風が吹いた。明らかに過剰な権限による悪用が可能なベクターが見つかった。悪用方法を試すと無事通りそのままDCの管理者としてアクセスが可能となりDCのフラグを提出し、ギリギリ合格点となる70点分のフラグ提出に至った。
残り時間は2時間弱。獲得した70点に対してレポートで減点を食らったら目も当てられないことから改めて全てのこれまで取得した情報に不備が無いかを確認し、最後に全てのマシンをリセットしまとめた情報で再現手順が組めるかどうかを確認し、23時間45分が経過した。

試験監督者からチャットで試験終了の通知を受け取った瞬間、緊張の糸が切れるのを感じた。今の自分なりにやり切ったことに充足感を感じつつ、退出許可をもらってProctor Serviceから切断した後少しばかり余韻に浸ることとした。
夕方からレポートの作成を始めた。準備編で記載したObsidianのテンプレートを用いてOffsecテンプレートを見て記載の流れを確認しつつ記載していった。点数に余裕がないため、過剰目に説明やキャプチャ等を差し込んでいった。順調そうに見えたが、21時頃にpdfに変換して確認した際に差し込んだはずのキャプチャ画像が一切表示されていないことに気づいた。「これは、まずいかもしれない」正直pdf作成くらいチャチャっといけるだろうと高を括っていた自分を呪いたくなる。色々と調査するも治る気配がない。時間だけが過ぎ、日付を跨ごうとしていた。「仕方がない。Obsidianテンプレートを諦めてOffsecテンプレートで書き直そう」と決意して床に就くこととした。

朝7時頃に起床してレポート作成を再開した。Offsecテンプレートに書き始めたがLibreOfficeがめちゃくちゃ落ちる。ホストのWindowsで書こうかとも考えたが試験ガイドラインでは、可能な限りKali Linux上でレポートは作成することとあった。受験記を見ているとホストマシンで書いて駄目だったみたいな記載もあったりしたため細かすぎるくらい保存を繰り返しながら書き続けることにした。加えて改めてObsidianで書いた内容を見ると表現を変えた方が良い箇所もそこそこ見つかったためその対応をしていくと時間が想像以上にかかってしまう。結果的に、提出期限まで1時間を切るタイミングでレポートが一通り完成した。
レポートの提出については、ファイル名等を厳密に指定する必要がある。(少しでも間違っていたらその時点で容赦なく落とされるっぽい)何度も確認して、提出できる状態になったタイミングで残り20分。何となく胸騒ぎがして、pdfの中身を一通り確認していたらキャプチャ画像がオーバーラップしている部分が見つかる。冷汗が噴出し、胃がまた痛み出す。修正して残り10分切ったところで無事提出するに至った。怒涛の3日間はあっという間に終わりを迎えることとなった。

休日を挟むのですぐに結果が返ってこないのはわかってはいたがやはりソワソワして無駄にメール届いてないか等確認してしまう。早ければ、24時間以内に結果が返ってきた旨の情報もあったため水曜日になっても音沙汰がなかった時は「あぁ、落ちたなこれ」とだいぶ意気消沈していた。
11/27 木曜日の朝一、合格した旨のメールが届いた際は思わず叫びそうになったものである。

今回は、ホワイトハッカーのある種登竜門的資格であるOSCP+合格に至るまでの過程をまとめてみた。ここで断っておきたいのだが、この資格を取ったからといってペネトレーションテスト等バリバリできるというわけではない。現実世界と比べると侵入経路を見つける難易度はグンと低くなっているし最小限の構成台数であることも考慮するとギャップは大きいと言わざるを得ない。しかしながら、本来セキュリティ対策は「攻撃者」の視点に立って立案するべき領域も多い。そのためには机上の知識だけではなく、実際にハンズオンで体験しながらのスキル習得が非常に重要である。OSCP+はそういったオフェンシブセキュリティのスキルにおける初期の立ち上げとしては魅力的な選択肢のように思う。

新着記事一覧へ