※こちらの記事は2021年1月25日公開note版「ラック・セキュリティごった煮ブログ」と同じ内容です
こんにちは、デジタルペンテストサービス部ホワイトハッカーの井上(WHI)です。昨年の10月よりDP部にジョインしまして、主に情報ネットワークのペネトレーションテストを担当しています。
現在はもっぱら研修中なのですが、その研修の一環として
「Certified Red Team Professional(CRTP)」
という資格取得を目指しました。
その結果、、、は最後に書こうと思います。
はじめに
ペネトレーションテスト系の入門資格としてはOffensive Security Certified Professional(OSCP)がとても有名で、私はまだ受験経験は有りませんが、他の多く日本人の受験記が見受けられます。しかしながら、今回私が受験したCRTPについては、日本語で書かれている記事をほとんど見つけられませんでした。
今回は、経験者としてCRTPについて、資格の概要や私が行った学習方法や試験準備などについてご紹介したいと思います。ペンテスターを目指したい方や、今後受験する方の参考になればと思います。
CRTPとは
Certified Red Team Professional(CRTP)とは、PentesterAcademyが認定している、WindowsADペンテストの入門資格となります。Windows Active Directory管理下にあるコンピュータやユーザに対する基本的な攻撃手法(と多少の防御手法)を学べるトレーニングである、ラボコース「Attacking and Defending Active Directory Lab」や、ブートキャンプコース「Attacking and Defending Active Directory: Beginner's Edition」の修了認定試験に合格すると取得できます。この資格は有効期限があり、取得後3年間有効となります。私は、前者のラボコースを90日間使い倒しました。
資格の題材は、Windowsのネットワーク環境です。多くの企業のネットワーク環境は今も昔もWindowsADで構築されて管理されていることがほとんどです。APTなどの攻撃でもWindowsADの弱点がよく狙われることを鑑みても、これから業務としてペンテストやりたい方や、WindowsADを構築している方でそのセキュリティを学びたい方にはちょうどよいコース・資格だとおもいます。
ちなみに、PentesterAcademyは2021年1月25日現在、コロナ禍でもステイホームで安全に学ぼう!的な割引を行っており受講しやすい価格となっているみたいです。
試験について
CRTPはOSCPと同様、完全な実技試験となります。とあるドメイン環境下の5台のWindowsサーバ+1台の学生用Windows端末+1つの学生用標準ユーザが与えられ、学生用端末を起点として権限昇格や横展開で侵入を繰り返し、24時間以内に5台のサーバすべてでOSコマンドを実行することを目指します。ツールの使用制限などは特に有りませんでした。(Metasploitについての言及は特になかったので使用可否はわかりません。)次に、試験終了後48時間以内にこれら5台でOSコマンドを実行する攻撃方法を英語でレポートをまとめてメールで送信することで、試験が終了となります。OSCPと違いすべてのマシンがWindowsとなります。また、特にWebカメラやデスクトップの監視はありませんので、意外と落ち着いて試験を行うことができました。
受験までの流れ
まず、前提として多少のADの知識があると効率よく勉強を進めていけると思います。触ったことない人は少なくとも用語ぐらいは予習したほうがよいでしょう。私はもともとTryHackMeのADルームを少しやったことがあったのでそんなに躓くことは有りませんでした。
ラボコースを開始すると教材やラボマニュアル、トレーニングビデオが閲覧できるようになります。私は先輩の提案で最初はそれらを無視して以下の通り学習を進めました。
1.大先輩のトレーニング教材でADの勉強しながら1回目のラボ攻略
2.ラボを元ネタに自分の仮想環境で脆弱なサーバ郡を手作業で構築
3.ラボ教材・ラボマニュアルを見ながら2回目のラボ攻略
4.試験対策のチートシート作成のため3回目のラボ部分攻略
もちろん先輩のトレーニング教材は非常にためになりましたが、やはり2で手作業で脆弱なネットワークをゼロから設定するのが非常に勉強になりました。こういう実践的な勉強の習熟度は、どれぐらい手を動かしたかに比例するんでしょう。また、4ではラボマニュアルをもとに試験用のチートシートを作成しました。OSCPのラボとは違い、CRTPのラボにはマニュアルがついており、課題の解答が詳細に書いてあります。このラボで使うツール郡は必ず試験でも使うと思っていいでしょう。それらのツールの使い方や情報列挙のためのコマンドをすぐに使えるようにしとくのも試験に必須です。
レポートのコツ
テンプレートは用意されていません。フリースタイルです。
まず、レポートを書くときの言語は英語になります。しかし言語の壁は意外と低いと思っていいと思います。おそらく中学生レベルの英文(e.g. I did ~.)の羅列で問題なく、私はほとんどのレポート中の英語で機械翻訳(DeepL)を利用しました。また、試験の注意事項で英語のネイティブスピーカーではない人はレポート中で知らせて、という指定がありますのでそのとおりに明示することをおすすめします。
重要なのは、攻撃手法だけのレポートにしないことです。試験の注意事項に、レポートの質が低いと全部のサーバを掌握しても試験に合格できない場合がありますと記載されています。つまり、どうしてこの攻撃手法を用いようと思ったのかなど、攻撃できると思った要因やそれがわかるコマンドの実行結果、攻撃手法やツールが機能する理由などの、説明を一緒に記述する必要があります。忘れないようにしましょう。
ちなみに、私は詳細なWalkthroughを書く前に、Summaryの章を設け、各サーバの情報や脆弱だったポイント、悪用したユーザなどを簡潔に説明した章を用意してみました。
また、私は(力尽きて)特に書きませんでしたが、攻撃の防御手法(対策や緩和策、検知方法など)や、他の文献やオープンツールなど引用して一緒に書くとレポートのポイントが高くなるそうです。5台のサーバをすべて攻略できなかった人(それで合格できるかは不明)やレポートに自信がない人は書いとくといいと思います。
さいごに
無事、CRTPに合格することができました!!(5台すべてのサーバを掌握)
感想ですが、はじめての24時間試験と英語レポートが辛かったです。体力的に。また、試験受験期限日に試験をスタートしたので、もっと時間にゆとりがもてるとよかったけど、逆に言うと追い詰められたほうが人間本気になれるからそれはそれでよかったのかもしれない。
次はOSCP挑戦してみたいと思います。
以上。