資格「OSCP」について

syuya yuikura
這いよれ Pentest Lab
9 min readJan 14, 2019

概要

本記事ではセキュリティ資格Offensive Security Certified Professional (OSCP)について記載する。

OSCPはクラッキング技術に特化した、kali linuxを提供している会社のベンダー資格である。

本資格の特徴として、知識を問う筆記試験ではなく、完全な実技である点がある。

日本でセキュリティの資格といえば「情報処理安全確保支援士」が最も一般的だ。日本でセキュリティ業務を実施するなら必須な資格ではあるが、実は難易度は高くない。そのため、業界人のほぼ全員が持っている資格といえる。

OSCPは日本では取得者も少なく、また高難易度なため差別化に最適な資格の1つだ。

特に海外でペネトレーションテストを実施するのであれば必須要件であり、今後日本でもその方向に向かう可能性は高い。

本記事では、OSCPの取得までの流れを記載する。

受講資格

受講資格は一切ない。

プランにもよるが、約12万円の費用が掛かるだけである。

(試験だけを受けるのであれば8000円ほどで可能)

しかし、下記の条件は揃えておかないと受ける意味は薄いだろう。

① 情報処理安全確保支援士程度の知識

クラッキング技術の実技であるため、基本的なセキュリティ知識は前提条件となる。そのため上記の資格水準の知識は必須だ。

②十分な勉強時間(3か月で200時間以上)

後述するが、膨大な練習課題を時間制限付きで与えられる。これらを全体的に実施し、本番の試験に備えるのであれば200時間は最低限必要である。

③研究・検証できる能力

日本の資格のように問いに対して「明確な答え」がない。現実で起きる問題がそうであるように、自身で答えを探索し、それらを検証する必要がある。つまり、教科書を暗記しても試験には合格できない。

④プログラミング

OSCPではインターネットに公開されたエクスプロイットコードを理解し、カスタマイズする技能が求められる。言語は当然多岐にわたりC、java、python、ruby、PHP….etc、と一通りの言語の基本は抑える必要がある。もちろんすべての言語を覚えることは困難だが、ドキュメントを参照すれば理解できる程度の能力が必要になる。

主に①~④が満たせれば受講資格があるといえる。

英語力は必要ない。すべて英語であるが、中学生程度の英語力と翻訳機があれば充分である。

申し込み

申し込みはOSCPのHPから応募するだけである。

応募後には国際的な身分証明書、つまりパスポートが求められる。

料金は練習用サーバの貸し出し期間によって推移する。

1~3か月のプランがあるが、初めてであれば2か月以上を強く推奨する。

社会人にとって1か月は、膨大な勉強をする期間としては短すぎる。

練習期間

申し込み後、受験者は教科書としてのpdfと、練習用サーバへのopenVPNが与えられる。

教科書による基礎

まず受験者はpdfを熟読することをお勧めする。

pdfには18章構成で数百ページにわたり、クラッキングの基本が記載されている。

クラッキング経験のないエンジニアが体系的に技術を学ぶには、非常に優れた教科書だといえる。

ただ、このpdfはあくまで基礎でしかないことを忘れてはいけない。

試験では応用やpdfに記載されていない技術を使う必要がある。

そのためpdfを丸暗記しても合格することはできない。もちろん、pdfを読み飛ばしていいわけではないが。

また、クラッキングが初めてであれば、全ての章を読み込むのに50時間ほどを想定するといい。

練習用サーバ

教科書を一通り理解したら、次は練習用サーバに取り掛かる。

練習用サーバは模擬試験の場である。

用意されたサーバのroot権限を取ることが目的になる。

練習用サーバは約50~60用意されており、どのサーバから始めてもいい。

これが非常に時間のかかる作業になるだろう。あなたが初心者であれば、1サーバ当たり5~20時間かかることを想定するといい。

もちろん20時間かければ確実に解けるものでもない。

受験者は、教科書とグーグルで検索しながら、あらゆる可能性を列挙し、検証する必要がある。

あくまで目安であるが、10~15サーバを攻略できれば試験に受かる見込みが出てきたといえる。

課題レポート

OSCPの試験には課題レポートが存在する。

課題レポートを完成させることで、わずかに試験結果に加点される(最大5ポイント)。

課題レポートには「教科書内の課題全ての答え」と「練習用サーバ10台の攻略手順」を記載する必要がある。

かなり膨大な作業(200ページ以上のレポート)になるが、実施することをお勧めする。

試験の採点は非常にシビアであるため、数ポイントでも加点されるのは大きい。

また、試験と比較して、課題は簡単であるため、練習の意味を込めてすべて完了させるべきだ。

試験の予約

全ての準備が整ったら試験を予約しよう。

試験の予約はあらかじめ専用サイトで日付を指定する必要がある。

注意点として、1日に同時に受験できる受験生には制限がある。

そのため、定数以上の人数が同日を指定すると、自身がその日を指定できなくなる。

予約が埋まるのは早く、私の時は1か月後の予定が全て埋まっていた。

そのため、試験の日程は余裕をもって決めることをお勧めする。

試験実施

ルール

試験のルールを簡単に説明しよう。

開始と同時に、複数(おそらく5個)のサーバのIPアドレスと各サーバの点数が提示される。

受験者はこの各サーバのroot権限を24時間以内に取ることが目的になる。

各サーバごとに10~25点割り振られ、合計で100点満点となる(自身の時は10,20,20,25,25だった)。

合格点は70点である。

部分点が存在し、rootを取れなくてもlocal shell(rootではない権限)を取得すれば、対象のサーバに設定された半分以下の点数が加点される。

使用するツールにはいくつか制限があり、まず無償ツールであること、そしてMetasploitは1サーバのみ使用可能である。

以上のルールの中で受験者は奮闘する。

攻略に必要な複数の手順

1サーバを攻略するために、複数の手順を必要とする場合が多い。

例えば、ポートスキャンから始まり、Webアプリの脆弱性調査や、FTP,、SMTP、SMBから得られる情報の列挙を行う。サーバに侵入すれば、動作しているプログラムの調査や、脆弱な設定を隅々まで調べる。

大抵の場合5~10ポートは開いているため、脆弱性のあるサービスの決めつけが難しく、全体的に調査する必要がある。

1つ1つを綿密に調べ、そこからどのようにサーバに侵入できるか、権限を昇格できるかを考えるのが本試験だ。

時間と集中力

5つのサーバを攻略するには1サーバあたり5時間が目安になる。

はっきり言って時間に余裕はない。しかし、必ず休憩を十分とることをお勧めする。

経験上、試験開始から12時間あたりで集中力が切れる。本試験は暗記ではなく、情報の列挙とアイデアが必要になるため、睡眠をとってでも集中力を維持する必要がある。

合格点

70点という点数も実は余裕がない。

部分点の条件が厳しく、「何もわからない」というサーバが出てきたとき、20~25点のマイナスになる。そうなると、他の4サーバを完璧に回答しない限り合格できない可能性が高い。

この後に実施するレポートで減点される可能性を考えるなら、合格の最低条件は4サーバのrootを取得することだといえる。

技術的にも、肉体的にも、精神的にも辛いテストだが、受験者は全力を尽くす必要がある。

レポート作成

素晴らしい技術によって、合格に達しているであろう結果を残しても、それで終わりではない。

試験終了時から24時間以内にレポートを提出する必要がある。

もっとも、テスト後は疲労がピークだと思われるため、一度眠ってからレポートを書くことをお勧めする。

レポートには、各サーバに対する再現可能な攻略手順を記載する必要がある。

そのためには攻略中に各手順のエビデンスを残すことが必須だ。

お勧めとしては、一度サーバを攻略したらサーバを初期化し(提供されるコントロールパネルから簡単にできる)、再度エビデンス取得用に手順を再現することだ。

こうすれば確実にレポート用のエビデンスが取れる。

全体的なレポートの書き方はサンプルがあらかじめ用意されているため、迷うことは少ないだろう。

レポートのページ数は40~50ページ程度になるはずだ。

英語に関しては中学生英語で十分だ。ポイントとしては短い文の連続にするといい。Google翻訳を使うのもいいだろう。

手順やroot権限取得のエビデンスがないと、減点及び0点になるため、レポートの作成は慎重に行おう。

合格通知

レポート提出後、約3日後に合否通知がくる。

幸運にも合格していた場合は、合格者用のリンクが記載されている。

リンクでは合格証明書を送付する住所を打ち込もう。

それからさらに1か月後、入力した住所に合格証明書とカードが送付される。

CTFとの違い

もしあなたがCTFに挑戦したことがあるなら、同じように見えるかもしれない。

類似する部分はあるが、本質的には異なっていると考える。

確かに隠された情報を手に入れるという点では似ているが、求められる方向が異なっているからだ。

CTFでは攻撃対象が定められており、それを綿密に調査する。

OSCPでは、攻撃対象を探す点が中心になる。

また扱う技術も少しずつ異なるため、比べてみるのもいいだろう。

ただ、CTFの知識がOSCPに役に立つことは間違えないので、得意な人はチャンスだといえる。

まとめ

本記事ではOSCP取得までの流れを記載した。

現在、日本ではマイナーな資格であり、大企業でも取得している人がいないことが多い。

しかし、だからこそ案件の入札では有利になるし、あなたがフリーであれば1つのアピールポイントになるはずだ。もし海外に職を求めるのであれば、高給の仕事を手に入れる良い材料になるだろう。

本記事を理由にOSCPを知ってもらえたなら幸いである。

P.S.

より具体的な合格へのテクニックを有料記事で公開しました。

https://note.com/yuiyui1232/n/n4509467ac13a

--

--