- 2024年1月12日
- 受験記
EC-Council CPENT(Certified Penetration Testing Professional)の受験記
みなさん、初めまして!
株式会社レオンテクノロジーのセキュリティ診断部に所属する林(リン)です。
普段の業務では脆弱性診断やペネトレーションテスト、セキュリティレビューなどを行なっています。
先日、Offsec社のOffensive Security Certified Professional(OSCP)、EC-Council社のCertified Penetration Testing Professional(CPENT)とLicensed Penetration Tester(LPT)に挑戦し、無事にすべて合格しました。
これに加えて、僕はすでに CREST社のPractitioner Security Analyst(CPSA)を持っているため、OSCPを取得したうえで申請を行うと、 CREST社のRegistered Penetration Tester(CRT)を取得できました。
せっかくなので、このクレイジーな体験を共有し、上記の資格に挑戦する方々に参考になればと思います。
本記事では、 CPENT/LPTを取得するまでの受験記をブログとしてまとめてみました。
また、日本語のCPENT/LPT受験記は見当たらなかったため、今後受験される際の参考になれば嬉しいです。
Whoami
ただのセキュリティエンジニアです、CPENTを受験する前にはCEHとCPSAしか取得していません。
エンジニア歴7年です。
台湾出身です、今年で日本に来て6年目になります。
(ブログのような長文を日本語で書くのははじめてです、どこか通じないと感じる部分があればご容赦ください。
CPENTを受験したきっかけ
CPENTを受験した理由は主に以下の3つです:
- CEHの更新
EC-Council社の資格は、ECEという制度があります。
資格の維持には3年間で120ポイントのECEクレジットが必要となります。
- 翌月のOSCP試験の前哨戦
僕はCPENT試験を受けた日の一ヶ月後にOffsec社のOSCP試験も受ける予定でした。
自分の能力がOSCP試験に合格するかどうかを確かめるため、とりあえずOSCPと同じくらい難しいと言われているCPENT試験に挑戦してみることにしました。
- 友人に誘われた!
ちょうど同じタイミングでCPENT試験を受ける台湾の友人がいたので、「それなら一緒に試験を受けよう!」という話になりました。
試験準備の道のりで仲間と共に戦えることはとっても心強かったですね。
CPENTとは?
CPENTは2021年にEC-Council社によって導入された「ペネトレーションテスト資格」です、とくに実務経験を重視しています。その前身はCertified Security Analyst(ECSA)です。
異なる点は、IoTおよびOTに関連するコンテンツが追加されたことです。この資格の魅力的なポイントは、CPENTとLPTの両方を同時に取得するチャンスがあります。
- CPENT試験で70%以上の正解をしたら → CPENT資格ゲット
- CPENT試験で90%以上の正解をしたら → CPENT資格&LPT資格ゲット
EC-Council社のキャリアトレーニングパスにより、CPENTとLPTは最高位の資格です。
CPENTのコース内容
CPENTのコース内容は公式ウェブサイトから確認できます。
CPENT試験について
試験の申請
- CPENTの試験申請は審査制度があります。CEHなどの資格を持っていない場合、100ドルの審査費用がかかります
僕はCEHを持っているため、審査は受けずに、試験のチケットを購入しました。 - 購入した後、メールに「Subscription Code」が届きます
- ASPENサイトにログインして、「Submit Subscription Code」のところにコードを入力したら、CPENTのダッシュボードにアクセスできます
注意:「Submit Subscription Code」を入力してから、30日以内試験を終わらせる必要があります(レポートの提出も含まれています)4. CPENTダッシュボードのEXAMボタンから試験用サイトに遷移して試験の時間を選択できます
注意:試験用サイトのパスワードの長さは上限があります
上限を越えたパスワードを設定してもエラーメッセージが表示されずに最大文字数にパスワードが切り捨てられます。
アカウントを申請する方は要注意です!
試験の方式
試験時間は24時間または12時間×2日間のどちらかを選択できます。
試験の内容
試験の範囲は全コースの領域ではなく、以下の5つの領域に分かれています。勉強した方がいい内容も記載しております。
- Active Directory
- AD、Kerberosの基礎知識
- NetBIOS識別
- Pass the Hash
- Kerberoasting攻撃
- Golden/Silver Ticket
- ZeroLogon
- ブルートフォース攻撃
- Binary/IOT
- ELF File Stackの基礎知識
- Buffer Overflow(BOF)の基礎知識
- Return-Oriented Programming(ROP)の基礎知識
- GDB(GNU Debugger)の使い方
- Firmware Analysisの基礎知識
- Binwalkの使い方
- CTF
- PWN
- Webの基礎知識
- 既知の脆弱性の検索
- PwnKit / DirtyCOWなどのExploitツール
- ブルートフォース攻撃
- OT
- Modbusプロトコルのパケット解析方法
- Pivoting and Double Pivoting
- Tunnelingの基礎知識
- Port Fowardingの基礎知識
- SSHを用いて上記二点の使い方
これら5つの領域は、前述のコースの範囲を含めています。注意点は、これら5つの領域が「5つのマシン」や「5つのセグメント」を指していることではなく、それぞれが独自の「テーマ領域」を指していることです。
もしHack the Box(以下、HTB)をやっているプレイヤーであれば、通常の侵入は一つのマシンに対する攻撃したり、高権限を取得したりのは慣れているかもしれません。
しかし、CPENTでは考え方を少し変える必要があります。
CPENTでは、内部ネットワーク環境が与えられ、多くのセグメントとマシンが存在し、自分でHost Discovery(ホストの発見)を行う必要があります。
また、目標はすべてのマシンを攻撃して高権限を取得することではなく、試験の問によって必要なマシンに侵入します。
また、OSCPではMetasploitの使用は1ホストのみの制限がありますが、CPENT試験ではそのような制限はありません。とりあえずツールを使ってガンガン侵入していく、といったものでした。
試験の時、5つの領域の点数は均等に分配されています。なので、70%の得点があれば合格ラインを越えます。そのため、1つの領域が上手でなくても、またはとある領域を完全に諦めても、CPENTを合格する可能性があります。
もちろん、どの領域も諦めないことを推奨します。
試験前の勉強方法
iLabでの勉強
公式提供の学習環境「iLab」が存在します。step-by-stepの教材も含まれています。
ADやPivotingの練習環境を自分で構築することは相対的に手間がかかりますので、練習としては非常に便利です。
ただし、iLabはブラウザーにより仮想環境(VM)を操作しますので、遅延やクリップボードが共有できないなどの問題があります。
Practice Rangeでの勉強
ダッシュボードの中に練習用のLabがあります。
僕はHTBをやっていますので、Binary/IOT、OTおよびPivoting and Double Pivotingを中心に練習しました。
ただし、これは模擬環境です、多くのマシンが故障していたり、多くのファイルが見つからなかったり、ネットワーク接続が非常に不安定です。
簡単にというと、多くの問題が発生しています。
それでも試験前にできるだけ多くの問題に取り組むことを推奨します。
試験の事前準備
試験当日までにやっておきたいことは以下のとおりです。
部屋の掃除
試験のときに部屋全体をWebカメラで映す必要がありますので、汚い部屋を試験官に見せるのはちょっと嫌ですね。
Webカメラの用意
自分はMacBook Proのカメラを使いました。
試験に不要なモニターや電子機器、テレビを部屋から撤去
CPENTは「一つ」のモニターしか使えません。使わないモニターやテレビは裏側に向ければOKです。
GoTo Meetingのセットアップ
試験のとき、「GoTo Meeting」というアプリケーションでカメラおよび画面の共有を行います。
事前にセットアップすることは非常にオススメします。
僕は試験の直前にインストールしましたが、macOSのセキュリティ設定で画面の共有がうまくできず、結局10分ほどムダになりました・・・
CPENT試験
試験方式
CPENTの試験形式が以前の穴埋め問題から四択選択問題に変わりました、難易度が大幅に低下しています。
試験内容
試験の内容は詳細的に説明できないですが、以下に試験の注意点を列挙します
- スキャン結果の精査
- フラグの内容を検索
- パケット解析
- 権限昇格の方法
- 既知の脆弱性攻撃
- ツール「GDB」、「binwalk」などの使い方
- ブルートフォース攻撃 ←ポイントです
試験の流れ
- 試験サイトにログインしたら、試験官は身分の確認(パスポートなどローマ字表示の身分証明書)や部屋の確認などを行う
- ASPENサイトへログインしてCPENTのダッシュボードを見せて、試験官は画面のコントロールを要求し、試験用のアカウントを入力して、試験環境のセットアップを行う
- 試験用VPNをダウンロードする
- 試験開始
- 試験終了7日内レポートを提出する
注意:レポートの提出はダッシュボードにより提出します。ダッシュボードの30日期限を越えたらレポートが提出できません。
12時間×2日間試験コースを選んだ方は要注意です! - 二週間内合格通知がメールに届く
一回目の試験日
僕は12時間×2日間を選びました。一回目の試験日は2023/11/3(金)でした。
試験時間は午後2時から翌日の午前2時の予定ですが、試験の環境設定の時いくつのトラブルがありました。
(僕のホスト環境はMabBook Pro(日本語配列のキーボード)、試験用の仮想環境はKaliです。)
結局、一回目の開始時間は14:30になりました・・・
僕があったトラブルは以下になりました:
- GoTo Meetingのセットアップがうまくできない
試験用のカメラや画面共有用のサイトにログインした後、試験官に「GoTo Meeting」アプリケーションのインストールを要求されました。
インストール完了までにはとくに問題ありませんでしたが、macOSのセキュリティ設定により画面の共有がうまくできませんでした。
15分ほどムダになりました・・・
先にインストールやセキュリティ設定を確認することを超オススメします。 - キーボードの差異
前述のとおり、僕のMabBook Proは日本語配列のキーボードです。
試験官は試験用のアカウントを入力した時に、パスワードに特殊文字が含まれていたため、キー配列の違いにより認証が失敗していました。
僕の場合は試験官から試験用アカウントとパスワードを教えてもらい自分でログインしました。 - 仮想環境の不具合
画面共有の原因かどうかは確認できていませんが、自分の仮想環境はときどき止まりました。
10秒ほど待ったらまた操作できますが、ちょっと作業に影響が出ました・・・
(とくに時間制限がある時にめっちゃプレッシャーを感じましたね。)
試験中にトイレに行きたい時や休憩したい時は試験官に一報したら行けます。
試験中に問題を解いたり、メモを書いたり、画像を撮ったり正直に忙しいです。
幸いですが、9時間ほどで90%以上の問題を解けました。残り時間はメモやレポートに載せる証跡を確認しました。
だいだい翌日の午前1時半ほどで一日目の試験が終わりにしました。
二回目の試験日
二回目の試験日は一回目の試験が終わってから選べるので、事前に予約はできません。
二回目の試験日は2023/11/8(水)の午後でした。
試験が始まる前に、身分の確認や部屋の確認なども行いました。
キーボードの問題は二回目にも存在しています、ですが今回の試験官はログイン用アカウントを教えてくれず、特殊文字の入力時に依頼が来ました。
試験問題はほぼ一回目の時に解きましたので、二回目はうまくできなかった問題を挑戦しました。
だいだい2時間後に試験を終わりにしました。
「Submit」ボタンを押して解答を提出しました。
提出後すぐに得点が表示されました。
レポート
レポートのフォーマットには制限がありません、自分が慣れた形式で記載すればいいです。
ただし、このレポートは審査されますので、できる限り攻撃の手順などを詳細的に書いた方がいいです。
ちなみに、自分はmarkdown形式で記載してPDFに出力しました。
結果の通知
僕は二回目の試験日の同日にレポートを提出しました。6日後の11/14に合格通知が届きました。
各領域についての難易度(自分の感じですが)
Pivot > CTF > AD > Binary = IoT > OT
試験の心得
試験時間は長いですが、試験中は冷静で集中している必要があります。焦りを感じると通常は犯さないミスがあるかもしれません。
以下に、試験時の実際のプレッシャーや焦りを軽減するためのいくつかの方法があります。
- 試験の形式や流れ(試験時間、問題の数、問題の種類など)を事前に把握します
- 試験のツールや技術メモなどを事前に用意します。同じ攻撃手法でも複数のツールを用意した方がいいです
- 十分な練習と準備を行って、自信を持って試験を受けましょう
- Rabbit Holeという「沼」に入ったことを気付いたら、迷わず別のルートを探します。間違えたルートに進んでも結果は出てこないです
この試験を通して、ペネトレーションテストのスキルが上がったことを実感しています。
翌月のOSCP試験を合格できる自信もありました。
最後は僕の試験成績とCPENT/LPTの合格証です。
最後に
EC-Council社のCPENT試験費用は999ドルで、日本円で約14.5万円(2023年12月7日時点)ですが、CEH更新のために試験を受けなければなりません。
なお、当社では業務に活用できる資格であれば資格補助制度があります。
そのため、個人負担が厳しい額でも気にせずに試験を受けました、本当にありがとうございました。
長くなりましたが、この受験記が今後受験される方の助けになれば幸いです。
最後まで読んでいただき、ありがとうございました!