
SOCメンバーのOSCP+合格体験記
はじめに
初めまして!SOCイノベーション事業課の中里です。OSCP+に合格したので、学習の軌跡や試験を通して感じたことを共有したいと思います。
OSCP+とは
OSCP+(Offsec Certified Professional Plus)は、OffSec社が提供するペネトレーションテストの資格※1です。意図的に脆弱性を含めて構築された仮想環境に、実際に攻撃を仕掛ける実技試験で、世界的に高い評価を得ています。OffSec社提供のPEN-200のコースを受講すると試験を受けることができます。
コース詳細については以下の記事でも紹介しているのでよければご覧ください!
受験を決めた理由
私は2019年頃から CSIRT や SOC の運用に携わり、ログ分析やお客さまとのコミュニケーションを通じて、MITRE ATT&CK 等のフレームワークをベースにどのような攻撃が行われ被害が出ているのか解析してきました。しかしながら、必ずしもフレームワークは万能ではなく、実際のシステムにおけるセキュリティを考える上では、攻撃者が一体何をどう狙っているのかをどれだけ想定できるかも非常に重要です。
こうしたリアルな攻撃を真に理解するためには、攻撃者と同じプロセスを再現できるようになる必要があります。自ら侵入・権限昇格・横展開を行うことで、ログに残る痕跡や設計上の弱点が具体的に把握でき、防御策を考えることができます。そこで、攻撃視点での実践的スキルを体系的に習得するためOSCP+に挑戦することを決めました。
業務経験
CSIRTでのレポート作成・報告業務や、SOCの要件定義・設計・構築・運用等を担当してきました。脆弱性診断やペネトレーションテストの業務経験はありません。
環境
未就学の子供が2人います。育児を最優先としており、子供が起きている間は子供と遊び、自分の勉強はしない方針です。勉強は平日・休日共に3h程度、週に15~20h程度時間を取れています。勉強時間が限られるため、長期的・計画的な学習による資格取得を目指しました。
事前スキルレベル
プログラミング:一通り書いたことがある (C, Python, Java, JavaScript ,bash…etc)
ネットワーク:Wiresharkを使ったことがある
CTF:CryptoはMedium、他カテゴリはWarmup~Easyが解ける
Hack The Box:Warmup(Free)全てと、Easyを数台解いた
コーディング:AtCoder 茶色
英語:TOEIC 900点
大学の専攻:数学科確率解析 (修士)
学習の軌跡
PEN-200の受講開始から合格まで、2年かかりました。
時期 | イベント | 補足 |
---|---|---|
0ヶ月目 |
PEN-200 (90日間) 受講開始 |
・同時に育児休業を半年取得しました(前職) ・育児の合間に勉強していました |
0~1ヶ月目 | シラバス受講 | ・全ての演習問題を2回解きました |
2~3ヶ月目 | Challenge Labs攻略 |
・全てのマシンを2回解きました ・VPN障害で、受講期間が1月延長になりました |
4ヶ月目 | OSCP試験受験 (1回目) |
・40点でした (local.txt 2, proof.txt 1, ボーナス10点※2) ・ADのInitial Footholdが取れませんでした |
5ヶ月目 | Hack The Box (Easy)攻略 |
・PEN-200(90日)の受講期間が終了したため、 自費で勉強できるコンテンツとしてHack The Boxを選択しました |
6ヶ月目 | OSCP試験受験 (2回目) |
・30点でした (local.txt 1, proof.txt 1, ボーナス10点※2) ・ADのInitial Footholdが取れませんでした ・育児休業が終了しました |
7~9ヶ月目 | 中止 | ・育児休業復帰後、業務に専念していました(前職) |
10ヶ月目 |
OffSec PG スタート |
・GMOイエラエに転職しました ・GMOイエラエでは誰でも、OffSec社のコースを会社費用で受けることができます※3 ・Hack The BoxはOSCPの試験と完全にはマッチしないため、OffSec社公式ラボ環境に変えてみました |
10~15ヶ月目 |
OffSec PG攻略 (Windowsメイン) |
・ADとStand Alone3台の構成の中で配点が高いWindowsを重点的に勉強しました |
15ヶ月目 | OSCP試験受験 (3回目) |
・30点でした(local.txt 2, ボーナス10点※2) ・ADのInitial Footholdは取れましたが、DCまで到達できませんでした |
16ヶ月目 |
Hack The Box (Easy)攻略 (Linuxメイン) |
・Linuxの権限昇格に課題を感じたので力を入れることにしました ・Hack The Boxの動画解説が参考になりました |
18ヶ月目 | Hack The Box (Pro Lab)攻略 | ・Stand Aloneマシンは一通りこなしたので、複数台環境の勉強に力を入れることにしました |
19~23ヶ月目 | Hack The Box (Medium)攻略 | ・より難易度の高いマシンを解けるようにしました |
24ヶ月目 |
OSCP+試験受験 (4回目) ★合格 |
・80点でした (AD 完答, local.txt 2, proof.txt 2) ・OSCP+の新形式での試験でした |
試験当日のタイムライン(合格時)
日付 | 時刻 | イベント |
---|---|---|
1日目 | 11:00 | 試験開始 |
11:30 | ADセット (1台目) proof.txt 取得 | |
20:15 | ADセット (2台目) proof.txt 取得 | |
20:45 | ADセット (3台目) proof.txt 取得 | |
22:45 | Stand Alone (1台目) local.txt 取得 | |
23:30 | Stand Alone (1台目) proof.txt 取得 | |
2日目 | 0:40 | Stand Alone (2台目) local.txt 取得 |
1:40 | Stand Alone (2台目) proof.txt 取得 | |
3:00 | レポート草案作成開始 | |
8:30 | レポート草案作成終了 | |
9:00 | Stand Alone (3台目) 攻略再開 | |
10:45 | 試験終了 | |
11:00 | 就寝 | |
14:00 | 起床 | |
14:00 | レポート清書作成開始 | |
18:00 | レポート清書作成終了&提出 |
11:30から継続してADセット(2台目)に挑戦していましたが、攻撃の起点が見つからず進捗が出ませんでした。4時間ほどでADセット(2台目)は休止とし、一旦他のマシンを一通り見ることにしました。各マシン1h程見ましたが攻撃の起点は見つかりませんでした。
より入念に調査する必要があると思い、ADセット(2台目)を一行一行深く見返したところ、攻撃の起点を見つけられ、ADを攻略できました。
レポートに証跡等の不備があると減点される可能性があります。確実に合格するため、03:00でマシン攻略よりレポート草案作成を優先しました。些末ではあるもののスクリーンショットの不足があったので良い判断だったかと思います。
合格後の振り返り
CTFでも感じることですが、24時間全力で集中する極限の環境に追い込まれると、普段にはない粘り強さが出ます。試験中手持ちのテクニックが全て失敗した時、試していないことを全て考えあと一歩工夫したら成功したことがありました。良い成功体験だったと思います。
3台目のマシンを攻略できなかったのは残念です。Initial Footholdまであと一歩のところまで進みましたが間に合いませんでした。試験終了後すぐに調べて類似環境で攻撃を再現しました。
合格のポイント
ADの配点は40点と合格点70点の半分以上を占めるので、ここを攻略できるかが肝になります。
ADの勉強法としては、PEN-200 Challenge Labsに加えてOffSec PGやHack The BoxのADマシンを攻略することが有効だと思います。OSCP+の準備として公式サポートではAD cheatsheetの作成が勧められています。しかし、GOAD(ペンテスト演習用の脆弱なAD環境)等の大規模環境での学習はToo Muchです。また、ADの構築も試してみましたが意図的に脆弱性を作りこむのに時間がかかり、学習効率が悪いと感じました。構築済環境を攻撃するのがよいと思います。
ラビットホールを抜け出せるようになったのも大きいです。Hack The BoxのMediumマシンが有効でした。Medium程度の攻撃を素早くできるようになったおかげで、ここまでやって無理なら無理だと気付けるようになりました。ラビットホールの最後の壁まで素早くたどり着くという作戦ですが、要領よく途中に直感で気付き抜け出せる人もいるかと思います。
意識していたこと
攻撃ツールは常に進化しています。合格まで2年かかりましたが、重要なツールのアップデート、便利なチートシートの公開等がありました。最新トレンドはよくチェックしており、OSCP+対策の観点ではHack The BoxのWriteup(動画含む)とredditのOSCP subredditがよい情報源でした。
Metasploitは積極的に使っていました。試験で制限がかかる※4程強力なので、有効に使えると大きなアドバンテージになります。また、実際のインシデント・サイバー攻撃でMetasploitが使われる可能性は十分あるので使い方は理解しておきたいと思っていました。
終わりに
OffSec社は「Try Harder」と表現していますが、OSCP+合格のためには多くを学ぶ必要があります。PEN-200で紹介された内容以外にも、脆弱性診断やペネトレーションテストの基礎を含め、広い範囲の知識と、諦めない心が必要です。上記業務経験が少ない場合は、OffSec PGやHack The BoxのEasy~Mediumレベルのマシンを多数攻略しておくことが重要だと感じました。
試験勉強の優先度としては低い(出題される可能性が低い)ものの、バッファーオーバーフローやフィッシング等も現実世界では大きな脅威になります。上記もPEN-200には詳細説明と演習があるので、できればChallenge Labs環境があるうちに手を動かしておくとよいと思いました。
今後のSOC業務の中で、今回得た攻撃の技術を活かしてより高度な防御を実現していきたいと思います。
お知らせ
弊社では、イエラエアカデミー「オフェンシブセキュリティ資格取得コース」 を提供しております。
OSCPを取得している弊社の講師が、学習をスムーズに進めるためのチュートリアルや、各トピックの要点を押さえた講義、学習中に行き詰まった際のフォローアップなど、学習をサポートいたします。
ペネトレーションテストに興味のある方や、OSCP取得を目指している方は、ぜひご活用ください。
コースの詳細はこちら
注釈