◯ 概要
先月eJPT(eLearnSecurity Junior Penetration Tester)認定試験に無事合格しました。
そこで本記事では、これから受験を考えている方に向けて、試験の概要や私が実施した勉強方法などについて紹介します。実際に試験を受けた経験をもとに解説していますので、ぜひ参考にしてください。
◯ 目次
- eJPTとは
- 受験動機
- 学習方法
- 認定試験の概要
- 試験のフロー
- 所感
1. eJPTとは
INE SecurityのeJPT(eLearnSecurity Junior Penetration Tester)は、サイバーセキュリティ初心者向けの実践的なペネトレーションテストの資格です。
-
特徴
- ハンズオン形式:用意された仮想環境より実際にターゲットを攻撃し、脆弱性を特定
- ペンテストの初心者向け:基本的なネットワークやセキュリティ、コマンド操作の知識があれば挑戦可能
- 学習範囲:情報収集、スキャン、脆弱性分析、エクスプロイト(攻撃手法)など
これからセキュリティ分野、特にペンテスターを目指す人の最初の資格として最適だと思います。
2. 受験動機
私はサイバーセキュリティ分野で主にブルーチーム(防御側)として、侵害された端末の調査業務に約10年間従事しています。
近年、サイバー攻撃は高度化・巧妙化の一途を辿っており、防御に携わる中で、基本的な攻撃手法に関する知識不足を痛感していました。
攻撃者の視点や、どのようにシステムが狙われ、どのような痕跡が残るのかを深く理解するため、まず攻撃側の学習方法について様々な記事を参考にしました。
そこで出会ったのが、林憲明氏のUdemy
【サイバーセキュリティ 実践】
Boot2Root CTFチャレンジで学ぶハッキングの手口とローカル特権昇格
でした。
元々、林憲明氏のQiitaの投稿などを拝見しており、その記事に感銘を受け、CompTIAのCysa+やPentest+などを取得していました。しかし、上記Udemy講座を受講したところで、より実践的な試験への挑戦意欲が高まりました。
有名な資格としてはOSCPなどがありますが、今の私には敷居が高いと感じられたため、より初学者向けのeJPTを受験することにしました。
3. 学習方法
3-1. INEのトレーニング
- 動画
- 自分が理解している(と思っている)基本的なところは、飛ばしています。
- 主に以下の項目の動画を視聴しました。
- Host & Network Penetration Testing: System/Host Based Attacks
- Host & Network Penetration Testing: The Metasploit Framework (MSF)
- Host & Network Penetration Testing: Exploitation
- 最初は流し見し、必要だと感じた箇所をメモにまとめるなどしながら繰り返し視聴しました。
- 私は英語がとても苦手なのですが、提供されているトレーニング動画で日本語字幕を表示できたため、効果的な学習ができました。
- ラボ
- 慣れるまでWrite Upを見ながら、ひたすら手を動かしました。
- ラボによる操作を繰り返すことが一番の学習になります。
3-2. 書籍
- 資格取得が目的であれば、おそらく上記トレーニングのみで十分だと思いますが、知見を広げるという意味で色々読みました。
- 以下の書籍はとても良かったです。
- ハッキング・ラボのつくりかた 完全版 仮想環境におけるハッカー体験学習
- ポートスキャナ自作ではじめるペネトレーションテスト ―Linux環境で学ぶ攻撃者の思考
- 7日間でハッキングをはじめる本 TryHackMeを使って身体で覚える攻撃手法と脆弱性
- 実践 Metasploit ―ペネトレーションテストによる脆弱性評価
- こちらの書籍は、古いものなのでコマンドが変わってしまっているものもありますが、学ぶべき点は非常に多かったです。
3-3. Udemy
- 上記の林憲明氏のUdemyを一通り見返しました。
- Boot2Root CTFチャレンジで学ぶハッキングの手口とローカル特権昇格
試験の期限が5月末までだったので、それまでに合格できるペースでと思い、12月から一日1時間程度ののんびりペースで勉強していました。
勉強期間は、3ヶ月弱です。
試験の合格に注力する方や業務などでペンテストに携わっている方は、もっと早くに受験できると思います。
ただ、この認定試験が初心者向けとは言っても、あくまでペンテストの初心者という意味で、ネットワークやセキュリティに関する知識、Linuxコマンド操作の経験などはある程度必要だと思います。
4. 認定試験の概要
試験時間 | 2日間(48時間) |
問題形式 | 35問の選択式(4つの選択肢のうち正解を1つ選ぶもの) |
合格ライン | 総合正答率70%以上 かつ 各セクションにおいてボーダースコアを超えていること |
- 詳細は、公式をご参照ください。また、他の方の記事に詳しく書いてあるため、こちらでは省略します。
- 以下は、私が参考にさせていただいた記事の一部です。(他にeJPT受験記などを記載されていた方々も含め、大変参考になりました。ありがとうございました。)
- 合格ラインは、『総合正答率70%以上かつ各セクションにおいてボーダースコアを超えていること』とされていますが、各セクションが問題から明確に判断できないため、意識してもあまり意味がないと思います。
- 問題の出題順は、攻撃対象ごとではなくランダムです。全ての問題に目を通し、内容を整理してから解かないと混乱し、時間もかかってしまいます。
- 攻撃用マシンは、INEのトレーニングラボと同様にブラウザベースのものが用意されているため、自身で用意する必要はありません。試験に必要なツールも用意されています。(トレーニングラボとほぼ同じです。なお仮想マシンはネットに接続できません。)
- ただ、私が受験した環境ではNessusが入っていませんでした。受験者(受験タイミング)によって異なるのでしょうか?
- 前述しましたが、私は英語が非常に苦手なのですが、ブラウザに表示された問題は自動翻訳にかけることができたため助かりました。
5. 試験フロー
試験が48時間なので、時間に余裕を持つため2日間の有休休暇を取得して挑みました。
なお、試験は受験を開始するとブラウザ上で直ちに開始されます。
試験の監視はありません。
-
初日 22:00〜3:00
- 初日の夜にどれだけ進められるかで、その後のペースを考えようと思い開始。
- 1問目から順番に解いていきましたが、複数の攻略対象についてランダムに問われるため、次第に頭が混乱してくる。
- 結果として4問程度しか解けず焦る気持ちもありましたが、一度睡眠を取った方が良いと考え、全ての問題を流し読みすることと、Nmapなどによる情報収集のみを実施し就寝。
-
2日目 10:00〜17:00
- ぶっ通しではなく、適度に休息を挟みながら問題に取り組む。
- 昨晩はあまり解けず不安でしたが、睡眠を取ったら頭がスッキリしたのか、順調に回答することができた。
- 特権昇格によるフラグ取得問題については問題なく回答でき、むしろ楽しんで取り組めた。
- ただ1回、特権昇格後にあるはずのフラグが確認できず、とりあえず仮想マシンを再起動したところ、同じ手順で特権を取得し、フラグを確認することができた。
- 仮想マシンの動作がおかしい、違和感を感じるといった場合は、素直に再起動が良いと思います。
- そのためにも、収集した情報はローカルにメモをとっておくべきです。
- 選択肢や別の問題がヒントになる場ことが大いにあり、31問の回答が終わる。
- 残りの4問については、「どれも問題の答えとして当てはまらない」「何が問われているのか今一つ意味がわからない」といったものでつまづいてしまう。
- ここで一度中断。
-
2日目 22:00〜1:00
- 残り4問を必死に考える。
- 私の読み違い、理解不足が原因なだと思いますが、全く納得のいく答えに辿り着かない。
- 選択式の問題なので、妥当と思えるものを選択して、とりあえず全問回答し就寝。
6. 所感
- 攻撃手法の基本、ペンテストの基本を学ぶことができ、非常に満足のいくものでした。
- ペンテスターを目指す方、攻撃手法の基礎を学習したい方には本当におすすめです。
- 得にハンズオン形式である点がとても良く、また個人的には、試験の監視がないため、ストレスなく気軽に受験できるところが非常に良かったです。
- Nmap、Metasuploitの使用がメインとなりますが、一つのやり方だけでなく、同じ目的でも複数の方法で実行できるようにしておくことが必要だと感じました。(その方が自分のスキルアップにもつながります。)
- トレーニング動画の視聴やラボの学習などを通して必要となりそうなコマンドをまとめ、チートシートを作成しておくことは必須だと思います。
- いつか、本試験の対象外であるWebアプリに対する攻撃に関する資格「eWPT」に挑戦したいと思います。
拙い文章で恐縮ですが、今後受験を考えている方の役に立てば幸いです。