2012年8月11日土曜日

[ハッキング手法との対応]⑥盗聴(sniffing)(2)




過去の原稿に続いて、スイッチを使用してスイッチング環境での盗聴テクニックのいくつかの攻撃手法の紹介をするようにする。

1)Switch Jamming

スイッチは、元の前述したように、実際の受信対象としてパケットを送信するブリッジ装置である。しかし、とんでもないMACアドレスを持つパケットを継続して送信することにより、スイッチがハブのように動作させることができる。多くの種類のスイッチがアドレステーブルがいっぱいになったときに、パケットをすべてのポートにブロードキャストする性質を利用したのだ。

2)ARP Redirect

代表的なツールDsniffのようなツールが、この方法による盗聴を提供します。ネットワーク上でパケットが送られるとき宛先のIPアドレスを持って、その目的地がどのようなMACアドレスを使用するかを要求するこれをARP requestとする。簡単に言って教室に先生が入ってきて "が半分にココナッツという学生が誰なのか手を上げてみ"のようなものです。

ARP requestはネットワーク上にブロードキャストされ、すべてのホストがそのパケットを受信し、そのIPを持つホストは、そのようなIPを使用することは私とARP replyを与えることになる。ココナッツの学生が "私!"とソンドゥヌンと同様である。しかし、ココナッツの学生ではなくオレンジという学生が "私!"しソンドゥンダも...そうだ。純真な先生は、そのまま信じるのである。

しかし、攻撃者は、arpspoofなどのツールを使用して、偽りのARP replyを継続して送信することができる。

このような場合、両方のReplyを受けることになる。この場合、パケットが到達した順序で、実装に応じて、10.1.1.1の応答、あるいは10.1.1.3からの応答を信じるようになるだろう。もし10.1.1.3からの応答を信じていた場合、パケットは10.1.1.1に送信されるのではなく10.1.1.3に送信されるだろう。

ところが問題は、ARP Requestが来る前にARP replyが上記のような方法で送信されたときに攻撃対象となるシステムのARP cacheにそのような内容が保存され、ARP cacheに10.1.1.1の情報がある場合は、あえてARP requestをすることはということだ。この点を利用して、攻撃者は、上記のような偽の応答を定期的に継続して送信されます。もちろん、ARP requestがある前から...

10.1.1.1に行くことになるパケットは、10.1.1.3にいくことになる。もちろん、10.1.1.1の立場では、通信が正常にされていないため、このような試みをすぐに気付くことができるようだが10.1.1.3がパケットの内容を受けて保存した後、すぐに何事もなかったかのように10.1.1.1に転送するため、通信には問題ありません。

攻撃対象のシステムがルータだったら致命的だ。 LAN上のコンピュータがインターネットに送受信されるすべてのパケットを盗んで見ることができるということだ。この方法では、攻撃者は、10.1.1.1のARP Replyをあったので、これをARP Spoofingということもある。

3)ICMP Redirect

Pingプログラムを使用すると、ICMP EchoメッセージとICMP Echo Replyメッセージが使用されることは、多くの方が知っておられるのだ。このようにICMPプロトコルは、ネットワーク上のエラーメッセージの送信、トラブルシューティングなどのために使用されるが、その中ICMP Redirectメッセージを利用した盗聴方法で、一度基本的にはARP Redirectの場合と同様に、攻撃対象のシステムにパケットが来るようにすることです。

ネットワーク上にルーターが複数台存在する場合に非効率的なルーティングパスが存在する場合(つまり、1 hopだけで送信できます。3 hopに送るように設定されたとか)ルータにこれを修正することを勧告するICMP Redirectメッセージが送られる。攻撃者はこれを悪用しICMP Redirectメッセージを送信することによって、パケットが自分に送信できるようにする。

4)ICMP Router Advertisement

ICMP Redirectと同様の方法やICMP Router Advertisementメッセージは、特定のホストが、ルータと他のホストに通知するメッセージである。攻撃者はこれを悪用して他のホストは自分自身をルータに考えるようにして、パケットが自分に送信できるようにする。

5)MACスプーフィング

前のスイッチは、基本的にMACアドレスを使用してパケットが任意の宛先に送信されかどうかを決定するとしたが、このようなMACアドレスを学習する方法は次のとおりである。特定の宛先MACアドレスを持つパケットを送ろうとするとき、

   ①そのMACアドレスが自分のMACアドレステーブルに存在していることを確認
   ②存在する場合は、テーブルに登録されたポートにパケットを送信
   ③存在しない場合、パケットが流入したVLANと同じすべてのVLANでパケットをいったんは送信

そしてMACアドレステーブルを更新する方法は、パケットが流入した場合、そのパケットの送信元MACアドレスを参照して、そのパケットが入って来るようになったポートとMACアドレスの情報をテーブルに登録する方法である。

したがって、上記のような場合は、応答のパケットが来たら、MACアドレステーブルにその情報が入力されて次からは応答が来るようになったポートに送信されます。しかし、攻撃者が攻撃対象のシステムのMACアドレスを持つパケットを目的地MACアドレスにパケットを継続して送信すると、スイッチのMACアドレステーブルには、そのような内容が登録される。したがって、スイッチはパケットを攻撃者に送ることになる。

6)スイッチでのSPAN / Monitor port設定

ほとんどのスイッチは、port monitoring機能を持っていますが、これは特定のポート(秒)で交わされるパケットを別のモニタポートに送ってくれるオプションです。攻撃者がスイッチにアクセス権を得て出して上記のような設定を適用すること、攻撃者のシステムに接続されたポートに送信することができる。

これは非常に難しいことになるそうだが、デフォルトで設定され、スイッチの場合には、非常に簡単です。なぜなら、そのスイッチのユーザーID、パスワードは、インターネット検索サイトを介して簡単に抽出することができるからだ。

0 件のコメント:

コメントを投稿