ハッキングに必要な技術・知識

ハッキングは基本的には自分で身につけなくてはなりません。 ハッカーに知っていることを手取り足取り教えて下さいと 頼んでも、よい返答は返ってきません。

最近は書店や雑誌・インターネット上でも多くの情報を得ることができるので、 質問する前にまずは自分で調べてみましょう。


ハッキングに必要な技術・知識

「ウィザード(Wizard)級の大ハッカーになるための勉強方法」を紹介した 有名なサイトがあります。

How To Become A Hacker 著者:Eric Steven Raymond

上記のサイトによれば、基本的なハッキング技術を身に付けるには以下の ことを実践する必要があるそうです。(少し古いですが、上記の和訳 「ハッカーになろう」 もあります。)

  1. 「Python」「Java」「C/C++」「LISP」「Perl」を学習し、 プログラミングを勉強しなさい
  2. UNIX 系OS を入手し、使い方と動かし方を覚えなさい
  3. World Wide Web を使う方法を学び、HTML を書きなさい
  4. 実用的な英語力が乏しいのであれば、養いなさい

以上の項目は、どれも密接に関係があります。ひとつ欠けたとしても優れたハッカーに なることはできません。

ハッキングに関する追加知識

最近では、セキュリティホールを探し出すツールや、ハッキングのための専用ツー ルなどがインターネット上で公開されています。 加えて、それに関連した知識を紹介します。

バッファー・オーバーフロー(Buffer Overflow)

「バッファー・オーバーフロー」はプログラムの「バグ」の一種で、 実際に侵入するに当たっての糸口となる場合が非常に多いといえます。 現在では多くのハッカーがこのセキュリティホールを利用しています。

バッファー・オーバーフロー攻撃とは文字通り 「システム内で許されたバッファー領域以上のデータを送ることで、 システムを機能停止させる攻撃」のことをいいます。

通常は、バッファ領域を超える書き込みが発生しな いように、書き込むデータ長を確認すべきなのですが、その確認を怠ることで簡 単に発生してしまいます。

●リモートスタックオーバー・フロー

●ローカルスタックオーバー・フロー

UNIXを含めて多くのOSやアプリケーションがC言語で 書かれていますが、基本的にC言語にはバッファオーバーフローを防止する機構 が備わっていないため、プログラマが注意して作成しないとバッファオーバーフ ローという重大なバグが潜んだプログラムが出来てしまいます。

バッファオーバーフロー攻撃で、特に狙われやすいプログラムは、サーバ上で常 駐しroot権限で動作するものです。

バッファオーバーフロー攻撃は、ハッキングの ための手段の一つであり、最終的にはサーバの管理者権限を奪取することが狙い なのです。

そのため、root権限で動作しているプログラムで、バッファオーバー フローを引き起こさせそのまま不正なコードを実行されてしまえば、そのまま root権限を奪取することができてしまいます。

エクスプロイト(exploit)

exploitとは、「(不当に・違法に) 利用する、搾取する、食い物にする、~につ けこむ」と訳されますが、セキュリティの分野では、サーバのOSやアプリケーショ ンのセキュリティホールを突く、あるいは、誤動作を引き起こすための糸口に用 いられる小さなプログラムのことを指します。

一般的には、"exploit code"と呼ばれています。

exploitは、OS、サーバアプリケーションの種類やバージョンに依存しますが、 インターネット上には、多くのexploitが公開されているのが実情です。

その多 くのサイトでは、あくまで研究を目的に公開していますが、そのままハッキングの ための攻撃ツールとして転用できるものが多いので、一般に公開されている exploitが利用されているようです。

ルートキット(rootkit)

rootkitとは、証拠隠蔽や各種の改ざんを行うためのツールがパッケージされた ものを指します。

クラッカーは、侵入に成功した場合、Application rootkitもしくは kernel rootkitをインストールします。

rootkitは、特定名称のファイルやプロセスなどを隠蔽するた めに、OSの重要なコマンドを置き換えたり、カーネルモジュールとしてOSのコマ ンドの機能を妨害するため、とても厄介なものとなります。

このrootkitもexploitと同様にインターネット上で公開されており、 実際に利用してハッキングされたケースも多々あります。

ステルス・スキャン(Stealth Scan)

ハッキングのための準備として、どのようなサービスが動作しているのかを探査す る行為があります。これをポート・スキャン(Port Scan)と呼んでいます。

通常のポートスキャ ンの場合、正しいTCP/IPシーケンスでの接続となるため、スキャンされた側はロ グなどのスキャンの形跡が残ります。最近では、スキャンされた側に何ら形跡を 残さないための特殊なスキャン方法が用いられている傾向にあります。

形跡を残 さないスキャン、つまり見つからないスキャンの意味で、ステルス・スキャン と呼んでいます。

その他知っておく知識

知っておいたら役に立つツール、サイトを紹介します。

N-Stealth 
フリーバージョンもあるが、 攻撃データベースを更新する場合は有料となる。 フリーの状態でも、24186点のチェックを行う。膨大な量 のログがWWWサーバ側に残る。攻撃していることと同じなので、場合に よってはWWWサーバ側が落ちてしまうかもしれない。


戻   る