実戦形式で学ぶホワイトハッカーの技術

初心者向けのEthical Hacking講座です。

サイバーセキュリティの世界へようこそ

僕は2020年に「Mr.Robot」という、ハッカーが主人公のドラマを見てから、セキュリティエンジニアを目指しました。

そして現在、ホワイトハッカー/ペネトレーションテスター/セキュリティエンジニアなど様々な呼び名で呼ばれますが、サイバーセキュリティ専門のエンジニアとして働いています。

皆さんはサイバーセキュリティやハッキングに興味がありますか?ハッキングという単語にワクワクする人も多いのではないでしょうか?

ハッキングと聞くと犯罪行為であるかのように思ってしまうかもしれませんが、本来の意味合い的には全く悪い行いではありません。

ハッキング (英語: hacking、別名: ハック) とは、高度な知識や技術を用いて、コンピュータやコンピュータネットワークの解析・改造・構築などを行うことをいう。ハッキングのうち、他人が管理するコンピュータからデータを窃取するなどの不正行為は、クラッキングと呼び区別される。

Wikipediaより参照

コンピュータの世界では、高度な知識や技術を持つ人をハッカーと呼びます。しかし、犯罪行為(クラッキング)を行う人が自身のことをハッカーと呼ぶことが多かったため、ハッカー=犯罪者というイメージがついてしましました。

僕の様なホワイトハッカー/Ethical Hackerは、コンピュータやネットワークに関する技術を、ブラックハッカー/クラッカーから守るために使います。

ブラックハッカーから身を守るためには、守備側の知識だけでなく、ブラックハッカーがどういった手法で攻撃するのかを知っておく必要があります。「攻撃は最大の防御」という言葉があるように、攻撃手法を学ぶことがブラックハッカーへの最善の対抗策であると考えています。

僕はそんなセキュリティエンジニアが日本にもっと増えればよいなと思っています。どのような仕事であれ、スマートフォンやPCを使用する以上我々はハッキングの対象です。そういった意味では、セキュリティエンジニアではなくても、サイバーセキュリティやハッキングへの知識がある人が増えることには大きな意味があります。

そのような人が増えると個人や会社、そして日本という国をサイバーセキュリティ被害から守ることができると信じています。

 

僕はこれから、自身の持っているサイバーセキュリティ/ハッキングの技術において、初級レベルの技術をお伝えします。

そして実際にハッキングを行ってもらいます。(ローカル環境の仮想マシン上で行うため安全です。)

プログラミングやサイバーセキュリティへの知識がなくても大丈夫です。

このカリキュラムを全て終えるころには、サイバーセキュリティへの知見や意欲が高まっており、皆さんが周囲の人をハッキングの被害から守れるような人材になってもらえると信じています。

このカリキュラムでは下記を学びます。

  1. Webアプリケーションの脆弱性
  2. ペネトレーションテスト(サーバーへの侵入)
  3. リバースエンジニアリング(簡単なプログラムの解析)

本カリキュラムは初学者の方を対象としているため、時には正確な説明を省き、簡易的で抽象的な説明をすることがあります。これは初めから専門用語などを使いすぎると、初学者が挫折してしまう事があるためです。仮に理解が曖昧な部分があったとしても、一度ざっくりと理解した状態で進み、どこかで必ず振り返る時がきますので、そこで改めて正確なことを学んでもらいたいと考えています。

また本カリキュラムでは初学者を対象にしているとはいえ、全ての用語を解説することはできません。ですのでわからない単語や理解できないことに遭遇した場合には、Googleで検索したりChatGPTに聞いてみたりと自分で調べることが大切です。

ここで一つ宣言をさせてください。

このプログラムは教育目的のみにて使用してください。許可を得ていない対象へのハッキングは犯罪行為です。本プログラムは犯罪行為を助長するものではありません。

本カリキュラムではローカル環境の仮想マシン上で行うため、安全に実践することができますが、ここで習得した技術を悪用しないようにお願いします。

 

ではまずハッキングについて勉強するために環境構築をしましょう。退屈に感じる人もいるかもしれませんが、ここを乗り越えると楽しくなるはずなので、ついてきてください!

learn-ethicalhacking.hatenablog.com