はじめに
EC-CouncilのCPENT試験に合格したので、合格体験記として記載しようと思います。
試験の内容自体は以下の記事にまとめていますので、ご興味ある方は↓をご参照ください。
Who am i ?
しがないエンジニアです。ペネトレーションテストは業務でも趣味でも取り組んでいません。たまに面白そうなCTFが開催されていると取り組む程度です。
この記事の想定読者
- CPENT講座の受講を検討している方
- CPENT試験の受験を考えている方
- ペネトレーションテスト系の試験の受験を検討している方
- その他
そもそものCPENT試験の位置づけ
CPENTは、CEH MASTERの次のステップとして位置づけられています。EC-CouncilのペネトレーションテストやEthical Hacking系の中では一番ハードな試験と位置づけられており、色々WEBで検索する限りではOffSecのOSCPと概ね似たような難易度のようです。OSCPも回答に取り組める時間自体は24hなので、試験時間的にも変わりないですものね。12h×2で取り組めるのはCPENT独自の制度で大変良いかと思います。正直24hの一発勝負は集中力が持たないです。
OSCPも同じようなのですが、ゼロデイの脆弱性を特定したり、FWやEDRなどのセキュリティ製品をバイパスしなければいけないような問題には遭遇しませんでした。この辺もOSCPを意識して作成されている感じを受けますね。
なお、OSCPの上位資格であるOSEPについてはセキュリティ製品をパイバスするような設問も登場するようです。そう考えるとOffSecの試験レベルがいかに高いかを実感させられます。
本題
CPENT試験の受講前に以下の講座を受講しました。講師の方は普段からペネトレーションテストに従事している方でOSCPホルダの方でした。OSCPを取得している方はCPENTも取得される方が多いという印象です。
LABの内容を軽くさらった後に、CPENT独自のPractice Rangeという練習場で軽く練習を行い、試験に臨んだ感じです。試験勉強に費やした時間は講座を受講してから3週間くらいです。
先に記載してしまいますが、特に勉強しておくべき内容は以下かと思います。
- バイナリエクスプロイトの作成
- hydraなどのパスワードクラッキングツールの使い方
- nmapなどのネットワークスキャンツールの使い方
- 既知の脆弱性(Exploit DB等の利用)の特定
- ファームウェアの脆弱性やOT環境の理解
- その他(curlコマンドなど)
CEHの実技試験(CEH Practical)ではLABの内容がかなり重要で、LABの内容を一通り理解できていれば試験に困るといったことはほとんどありませんでしたが、CPENTの試験では講座の内容やLABの内容が直接試験に役立つかというとそんなことはなく。間接的に役立つ部分もありましたが、やはり自分の足で考えるということがテーマの一つになっているだけあって、その場で試行を繰り返さないとわからない問題が多かったです。Rabbit Holeに陥ってしまう(いわゆる沼にハマる)と無駄に時間を消費してしまうので、沼に陥ったら他の問題に取り組んだりして、時間を浪費しないようにしないといけないです。
当日の試験について
私は12h×2で取り組みましたが、色々とマシンを調査していると案外時間ないという印象です。試験が終わると暫定スコアが出て70%を超えるとレポートの提出に進めます。レポートの提出をすると一週間以内に正式な結果が着るらしいですが、10日ほどかかったと記憶しています。また、レポートの提出で更にスコアが上がった(気がした)ので、ちゃんとレポートを書けば評価されるのかと思います(逆に減点される場合もあるんですかね??)。レポートの提出ですが提出後の正式結果通知まで二週間は見込んだほうがいいと思います。結果が出たときはほっとしました。嬉しかったです。
なお、試験会場はホテルを予約しました。一泊二日を2日程確保しておいて試験に取り組んだ感じですね。かなり疲れました。暫定スコアも90%を超えることが出来てよかったです。9割を超えるとLPT MASTERと呼ばれます。
注意事項
EC-Councilのモニタリング有りの試験では毎度同じですが、パスポートは用意必須です。特にCPENT試験の場合は、チョコレートやコーヒーをたくさん用意しておくと良いかと思います。CEHの実技試験(CEH Practical)を経験したことある方ならわかるかと思いますが、あちらはWEBの環境なのですが、CPENTについては自分で用意したKaliなどの環境が使えるので、事前準備はしやすいかなと思います。当日VPN接続で試験環境に接続する感じです。ある種、事前準備が物を言うところはOSCPと同じかもしれませんね。なお、EC-CouncilはCEHの実技試験(CEH Practical)を取得していない場合はそちらを先に取得しておくことを推奨しているようです。コマンドアレルギーがある方はCPENTの前にCEH Practicalを受験されることをオススメします。
こちらは余談になってしまいますが、EC-CouncilのLAB環境ではParrotOSというKaliと似たようなDebianベースのLinuxOSで攻撃者のサーバを再現しており、LABと同じような環境で試験を受験したいという方はParrotOSの使用をオススメします。
最後に
CPENT試験はOSCPと同じく気合と根性が求められるので、限られた時間で成果を出さないといけないのはプレッシャーを感じますね。次は何の勉強をしようかはまだ未定ですが、この記事が他の方の勉強の一助になれば幸いです。