HeaderLogo
← Column一覧に戻る

eJPT取得

eJPT取得

概要

ineのペネトレーションテストの試験に合格しました! 今試験は実技試験ということもあり、48時間の試験時間が与えられます。 仮想のターゲットに対して、侵入から内部調査までの一連の攻撃プロセスを擬似的に実行し、システムの脆弱性を特定する技術を証明するものです。 理論上の知識だけでなく、45問の実技試験を通じて「実際の攻撃者がどこを狙い、どう動くのか」というリアルなリスクを深く理解 することが求められます。

詳細

eJPTとはどんな資格?

eJPT(eLearnSecurity Junior Penetration Tester)は攻撃者の視点で侵入テスト(ペネトレーションテスト)を行うためのセキュリティの入門資格。

情報収集、フットプリント、スキャン、列挙、脆弱性評価などの領域をカバーしている。

ITの世界にはたくさんの試験があるが、それの多くは知識を問う筆記テストである。(セキスペとか、CompTIA+ とか)

しかし、eJPTは実際に動いているネットワークやサーバーに対して、自分の手で攻撃を仕掛け、弱点を見つけ出し、内部の情報を調査したり、列挙したりするので実践的な技術が必要となる。

試験の難易度はどのぐらい?

入門試験とかセキュリティ入門!みたいなことを謳っているが、むずい!一般的なハッキングの技術を知っていないと、知識だけは全然無理そう。

僕自身はフロントエンド出身でネットワークなどに疎かったのでかなり覚えることも多かった。

これはCompTIA社が作成したIT認定ロードマップによると

CEHとかより難しいとされている。

あと実践形式ということもあり、暗記パンではどうにもならないというのが難儀なところだ。

なんで受けようと思った?

昨今のAIのコード入力はすごい!短期間でGoogleChromeの拡張機能やリリースがどんどんと追加されている。

ただその一方でサイバー攻撃なんかのニュースも目立つようになった。

これはAIも関係していると思う。

個人や団体は、AIでさくっとコードを書いてすぐにリリースできるようになった。AIが生成するものはセキュアなコードであることは少ない。しかも仮に「セキュアなコードをかいて」と指定したとしてもそれが本当にセキュアかどうかを確認できる審美眼が必要になる。

また、脆弱性診断を依頼するにしても3週間とか時間がかかることが多い。その結果が変わる頃にはもうプロジェクトは2歩も3歩もすすんでいるはずだ。歩いたあとのコードが安全だったかなんてもうどうでもよくなってしまっている。

これはもう開発者が最低限、セキュリティの知識を保有するのが一番なのではないかと考えるに至った。開発の時点である程度危ない種を摘んでいきながら開発しよう作戦だ。

僕はそのなかでもより実践的で、攻撃者視点で物事を学ぼうと考えたのだ。

・・・というのは表向きの理由で、純粋にハッキングってなんかかっこよくね?と思ったことがきっかけで、

分厚い参考書を読んだり、技術書を頭に叩き込むのはあまり得意ではないので、手を動かしながら学べるのが楽しい!というのが本音であり、今回の資格には実技が重要視されるものを選んだというのが本音である。

当日の様子

試験時間は自分で決めることができるし、特に試験会場や監視員がつくこともなくお家でゆったり受けることが可能で、仮想デスクトップのURLにアクセスすると試験スタートとなる。

問題を書くことができないが、どんな様子だったか書き留める。

48時間という長丁場なので、まずはお菓子を用意した。

スタートボタンを押すとすぐにはじまった。

1日目

とりあえず問題の全体像を確認して調査をし始める。

当日は自分のKaliをVPNで繋ぐといったことはできず、ブラウザの中の仮想デスクトップでの操作になるので作業がもっさりしている。

調査をし始めると稼働しているマシンが何台かあったが、とにかくわかるところからしらみつぶしに脆弱性などがないか調査した。

最初のうちは順調にいっていたが、中盤はなかなかうまく答えを探すヒントが見つからずに右往左往する時間がつづく。

そうこうしているうちに夜になったのでご飯をたべることにし、ご飯を食べながらどうやって侵入するか考えることになった。

全然進まずに焦っていて、深夜2時まで粘ったがあまりにも眠かったので、その日は寝ることにした。

2日目

朝早くに起きて、朝食をとり、シャワーを浴びて、コーヒーを淹れた。

そのあとよっこいしょとパソコンの前にすわってもう一度問題を紐解いていくことにした。昨日より頭はスッキリしていてうまく答えにつながるヒントを見るけることができた。

当日、どのようにツールを使い、どのように侵入するかは本人が自由に決めていい。もしかして、質問に答えるためには権限昇格すら必要ないようなテクニックがあったかもしれない。

Metasplioitで一度はうまく行った方法がなぜか途中で途切れて以降、全然内部で動けないバグ?のような症状が続いてしまい結構焦る。

なんとか右往左往して、強引にリバースシェルを流し込むことに成功して、無事内部でシェルを動かすことができた。

ここで一旦小休憩。散歩がてらコンビニにお菓子を買いに行くことにした。

でも、途中、最難関のピボットが必要な場面が出てきて、これが曲者だった。

最初に侵入するはいいもののラビットホール(なんか騙されてハマるやつ)に遭遇してかなり無駄な時間を費やした。

実際にProxyChainなどのテクニックをつかって内部マシンをピボッティングしようと試みたが、うまくいかずに唸った。

なので、一度シャワーを浴びて昼寝することにした。

1時間ぐらい寝たところで、アツくなっている方法は一旦冷ましてportfwdなど別の方法で侵入を試みた。

最終的に存在する全てのマシンに侵入、権限を取得して調査ツールを使わずに直接設定を確認することで、答え合わせをした。

大体かかった時間は20時間程度だった。

最終確認が終わってポチッと提出ボタンを押すと、すぐに結果が通知された。

97点!これどこで間違えたかわからないけど、高得点で合格ができた!

合格証となんかかっこいいバッジがついてきます。

eJPT合格までどうやって勉強したの?

主にやったのはTryHackMeというセキュリティサイトのラーニングパスとINEのトレーニングパスを行った。

大体3ヶ月ぐらい。

最初はネットワークとかインフラの知識が全然なくてよくわからないところから始まった。

TryhackMeではJuniorPenetrationPathというコースを最初の1ヶ月ぐらいすすめていき、

⇩TryHackMeのJuniorPenetrationPathの内容はこれをしっかりやり込めば、INEのビデオは見なくても合格できるはずだ。

残りの期間はINEの教育教材は「ラボ」という実践方式のもののみを行った。

ちなみにこれは受験資格のバウチャーを購入すると勝手についてくる。

教材+受験票がセットになっている感じ。値段大体5万ぐらいだった。

学び

今回実践形式ということもあって全然初心者向けじゃないなぁと思いながら勉強していた。INEのラボの所要時間も、145Hとかになっているし、他の資格だと予想の所要時間は30Hとかになっているのに。

基礎試験ということもあって覚える操作もたくさんあった。

ただ実際にどうやって狙われるか、とかどういう状態が危ないかというのを身を挺して知ることができるので本当に勉強になったと感じる。

AIにコードを書かせたときも、ここインジェクションできちゃうんじゃないの?みたいなことがわかるようにもなる。

初心者向けとはいってもかなり広い範囲カバーしているし、基礎的な脆弱診断なども今後役に立つだろう。

フロントエンドの人もバックエンドの人も、セキュリティは少し畑が違ってとっつきにくいが、手を動かして楽しかったりするのでこれを機に目指してみてはいかがだろうか。