23
ARP スススススススススス ススススス Slank ( スススス )

ARPSpoofing攻撃によるMITM攻撃

Embed Size (px)

Citation preview

Page 1: ARPSpoofing攻撃によるMITM攻撃

ARP スプーフィングによる中間者攻撃

Slank ( すらんく )

Page 2: ARPSpoofing攻撃によるMITM攻撃

アジェンダ

・  ARP スプーフィングを利用したMITM攻撃 ( 中間者攻撃 )

・ 攻撃検知について少しだけ

Page 3: ARPSpoofing攻撃によるMITM攻撃

ARP の攻撃について話します

Address Resolution Protocol ( アドレス解決プロトコル、略称: ARP 、アープ ) は、イーサネット環境において、 IP アドレスからそれに対応する MAC アドレスを動的に得るために用いられるプロトコル。 RFC 826 で定義され、その後 RFC 5227 、 RFC 5494 により内容のエンハンスが行われている。

TCP/IP において、 IP パケットを送受信するためには、下位のデータリンク層のアドレスを取得する必要があり、MAC アドレスが必要な場合に ARP が用いられる。イーサネットの場合論理的な IP アドレスを物理的なハードウェア・アドレスである MAC アドレスに変換する必要がある。

( 引用 :Wikipedia)

Page 4: ARPSpoofing攻撃によるMITM攻撃

ARP スプーフィングARPスプーフィング(アープスプーフィング)とは、 ARP プロトコルの応答を偽装することにより、LAN 上で通信機器のなりすましを行なう技法である。とある IP アドレス宛にパケットを送信したい場合、まず「この IP アドレスに対応する通信機器はどれか ? 」という質問を記述した ARP 要求がブロードキャストで発信され、該当するノードが ARP 応答で「その IP アドレスに対応する MAC アドレスは私である」とユニキャストで答える。これにより IP アドレスと MAC アドレスの対応付けが実現し、以降はその MAC アドレスを宛先とする通信が行なわれることとなる。イーサネットは、この仕組みによって作成された ARP テーブル ( アドレス対照表 ) を信じる事で成り立っているので、この ARP の応答を偽装すること により誤った ARP テーブルを覚え込ませてしまえば、異なる通信機器へパケットを流す事が可能となる。すなわち、機器のなりすましを行なうことができてし まい、特にルーターになりすますと LAN から WAN への通信をことごとく盗聴することができることになる。一般に、 LAN に使うハブに単純なハブではなくスイッチ / ブリッジ機能を持つものを導入すれば盗聴に対して強固となる事が言われるが、上記の手法を用いればスイッチド・ネットワークにおいてもその危険性は存在する。

( 引用 :Wikipedia)

Page 5: ARPSpoofing攻撃によるMITM攻撃

ARP スプーフィングについてターゲット攻撃者

IP: 192.168.0.2MAC: bb:bb:bb:*

IP: 192.168.0.3MAC: cc:cc:cc:*

ARP Table (Before)IP MAC192.168.0.1 aa:aa:aa:*

ARP Table (After)IP MAC192.168.0.1 cc:cc:cc:*

改竄

operation ARP Replysrc hardware addr cc:cc:cc:*src protocol addr 192.168.0.1dst hardware addr bb:bb:bb:*dst protocol addr 192.168.0.2

ARP Reply偽装偽装 ARP を送信

「 192.168.0.1 は cc:cc:cc:* ですよー」というメッセージを送信。ターゲットは、ルータ (192.168.0.1) に送信するはずが、攻撃者の

コンピュータに通信をしてしまう。。。。

ルータ

IP: 192.168.0.1MAC: aa:aa:aa:*

Page 6: ARPSpoofing攻撃によるMITM攻撃

攻撃者

IP: 192.168.0.3MAC: cc:cc:cc:*

ターゲット

IP: 192.168.0.2MAC: bb:bb:bb:*

ルータ

IP: 192.168.0.1MAC: aa:aa:aa:*

正常なパケットと異常なパケット

operation ARP Replysrc hardware addr cc:cc:cc:*src protocol addr 192.168.0.3dst hardware addr bb:bb:bb:*dst protocol addr 192.168.0.2

ARP Reply 正常な パケット

operation ARP Replysrc hardware addr cc:cc:cc:*src protocol addr 192.168.0.1dst hardware addr bb:bb:bb:*dst protocol addr 192.168.0.2

ARP Reply 異常な パケット

送信者 hardware アドレスとProtocol アドレスが一致

送信者 hardware アドレスとProtocol アドレスが不一致

このような送信元を偽装したパケットを送って、

ターゲットの ARP テーブルを強制的に改竄させる

Page 7: ARPSpoofing攻撃によるMITM攻撃

MITM 攻撃 ( 中間者攻撃 )

暗号理論において、中間者攻撃 ( ちゅうかんしゃこうげき、 man-in-the-middle attack 、 MITM と略記されることもある ) またはバケツリレー攻撃 ( バケツリレーこうげき、 bucket-brigade attack) は、能動的な盗聴の 方法である。中間者攻撃では、攻撃者が犠牲者と独立した通信経路を確立し、犠牲者間のメッセージを中継し、実際には全ての会話が攻撃者によって制御されて いるときに、犠牲者にはプライベートな接続で直接対話していると思わせる。攻撃者は 2 人の犠牲者の間で交わされている全てのメッセージを横取りし、間に別 のメッセージを差し挟む。これは多くの状況で容易なものである。( 例えば、公開された無線アクセスポイントの所有者は、ユーザへの中間者攻撃を実行することが、本質的に可能である。 )

( 引用 :Wikipedia)

Page 8: ARPSpoofing攻撃によるMITM攻撃

インターネット

インターネット

正常な通信異常な通信 ( 中間者攻撃をされている )

ターゲット攻撃者

ターゲットとルータの通信の中間に入っている

ターゲット

中間者攻撃について

ARP スプーフィング攻撃で、ルータとターゲットの

ARP テーブルを改竄して、通信に入り込んで、

通信内容を傍受、改竄することができてしまう。

Page 9: ARPSpoofing攻撃によるMITM攻撃

攻撃実験実験環境

ターゲット windows 8.1 IP 192.168.179.10MAC 5c:51:4f:*

攻撃者  Ubuntu gnome 14.04 LTSIP 192.168.179.6MAC a6:12:42:*

Page 10: ARPSpoofing攻撃によるMITM攻撃

攻撃環境攻撃コードは libpgen を使用して作成。ARP スプーフィング攻撃をルータとターゲットに行い、それらの通信内容を盗聴する MITM 攻撃 ( 中間者攻撃 )を行う。

実験は自己責任で、からなず自分のテスト環境のみで行いましょう。パブリックネットワークでこの実験をすると、もちろん犯罪になります。。。

攻撃実験インターネッ

SW

ターゲット

ルータ

攻撃者

Page 11: ARPSpoofing攻撃によるMITM攻撃

攻撃者の作業準備1 カーネルの ip_forrward を有効にする2 ARP スプーフィング攻撃で、ルータとターゲットの ARP テーブルを書き換える。 (作成した攻撃プログラムを使用する。)

MITM 攻撃が成功したら1 pcap ファイルに通信内容が保存されているので、あとは煮るなり約なり某パケットキャプチャに食べさせるなり。2 sslstrip などを使えば、 ssl の通信も丸見えになるかも。。。

Page 12: ARPSpoofing攻撃によるMITM攻撃

攻撃者の作業● カーネルの ip_forrward を有効にする

Page 13: ARPSpoofing攻撃によるMITM攻撃

攻撃者の作業●  ARP スプーフィング攻撃で、ルータとターゲットの ARP テーブルを書き換える。 (作成した攻撃プログラムを使用する。)

これで攻撃が成功しているはずなので、あとは気長に待つ… ..

Page 14: ARPSpoofing攻撃によるMITM攻撃

ターゲットでの作業● 普段どうりにネットサーフィンなどをしましょう。今回は、解析が楽な画像検索を行います。

Page 15: ARPSpoofing攻撃によるMITM攻撃

ターゲットでの作業●  slankdev.net につないでみた

どの作業も、不自由なく行えているが……

Page 16: ARPSpoofing攻撃によるMITM攻撃

攻撃者側では…● 保存されている pcap ファイルを wireshark で開いて、 http object を見てみると… ..

調べている画像がばれてしまう ..こんな画像程度ならいいけど、見られたくないものだったりしたら… .

Page 17: ARPSpoofing攻撃によるMITM攻撃

攻撃者側では…● ディスプレイフィルタで DNS パケットに絞って、内容を見てみると…

DNS クエリの情報から、つないでいるサイトがばれてしまう。この程度なら問題ないが、大事なログイン情報などまで筒抜けだったら… ..

Page 18: ARPSpoofing攻撃によるMITM攻撃

ARP スプーフィングを検知する方法① 怪しい通信を発見するIP アドレスと MAC アドレスのリストをネットワーク管理者が一定時間ごとに調べ、リストと異なるARPパケット (MAC アドレスのみの変化 ) などをリストアップする。また、ネットワーク管理者のコンピュータ自体が攻撃されることもあるので、リストの変化も攻撃による可能性もある。

IP MAC192.168.0.1 aa:aa:aa:*192.168.0.2 bb:bb:bb:*192.168.0.3 cc:cc:cc:*192.168.0.4 dd:dd:dd:*

IP MACある時刻での アドレスと アドレスの対応表1

IP MAC192.168.0.1 aa:aa:aa:*192.168.0.2 cc:cc:cc:*192.168.0.3 cc:cc:cc:*192.168.0.4 dd:dd:dd:*

IP MACある時刻での アドレスと アドレスの対応表2

例2二つのホストが同じ MAC アドレスになっているので、明らかにおかしい

例1リストと違うペアのパケットが

流れていて、怪しい。。

Page 19: ARPSpoofing攻撃によるMITM攻撃

ARP スプーフィングを検知する方法② ①のパケットを解析して、攻撃者を特定するリストアップされたパケットの改竄部分が攻撃者のアドレスとなるので、そのアドレスのコンピュータを攻撃者と特定。

operation ARP Replysrc hardware addr cc:cc:cc:*src protocol addr 192.168.0.1dst hardware addr bb:bb:bb:*dst protocol addr 192.168.0.2

ARP Reply 異常な パケット ARP スプーフィングによる中間者攻撃の場合この部分が攻撃者のアドレスである可能性が高い

攻撃者の MAC アドレスは cc:cc:cc:* の可能性が高い

このようにして、攻撃者を特定していくのだが、検知ミスなどや、攻撃検知をかいくぐってくる攻撃もあるかもしれないので、安心はできない

Page 20: ARPSpoofing攻撃によるMITM攻撃

まとめ:どのようにして攻撃検知をするか

① 攻撃ごとの特徴をつかみ、その通信を論理的にまとめたルールを作る。② 定めたルールに引っかかる通信を解析して、攻撃者を割り出す。③ 誤検知や検知できないものもあるので完璧ではない。 (今後もっと調べていきます。 )

Page 21: ARPSpoofing攻撃によるMITM攻撃

実際に目だけで攻撃を探してみたARP スプーフィングのみを探すことにします。ディスプレイフィルタで ARP のみを絞ってみていると、、、Wiresahrk さんが教えてくれている。。。??

なんか言ってる… ..

Page 22: ARPSpoofing攻撃によるMITM攻撃

実際に目だけで攻撃を探してみた攻撃より前にパケットキャプチャを初めていれば、 IP アドレスと、 MAC アドレスの対応リストと違うパケットが流れていたら、教えてくれる!! (やはり wireshark すごい!! )

攻撃後にキャプチャを始めても、別々の IP アドレスなのに MAC アドレスが重複しているものがある。

Page 23: ARPSpoofing攻撃によるMITM攻撃

まとめ

超頑張ってパケットを目で見れば、どんな攻撃でも、わかるかもしれない。一つ一つの攻撃を理解するのには、プロトコルの知識が必要不可欠なので、勉強になる。

今後は、コンピュータに攻撃を検知させて、ネットワーク管理者に通知する、などについてもやってみようと思った。Snort など。

厨二心をくすぐられるので、面白かった。

実際に、この攻撃に対する厳密な防御法はまだ確立されていなく、いろいろなところで攻撃が成功してしまうかもしれない。