ARPスプーフィングをやってみた

30代未経験ネットワークエンジニアのshin@セキュリティエンジニアになるため、勉強中です。

今回は、Kali Linuxを使用して、ARPスプーフィングをやってみました。
Kali Linuxのインストール方法は以下サイトを参考にしてください。

https://doruby.jp/users/r357_on_rails/entries/Kali-Linux-2017-3

ARPスプーフィングとは

Wiki先生によると、「ARPプロトコルの応答を偽装することにより、LAN上で通信機器のなりすましを行なう技法である。」とのことです。
※ちなみにARPとは、「Address Resolution Protocol」のことで、IPアドレスからMACアドレスを解決するためのプロトコルです。

簡単に言うと、オレオレ詐欺みたいにターゲットに対して、本人と偽わり、本人になりすますみたいな感じですかね。
そのような攻撃を中間者攻撃(man-in-the-middle attack)と言います。
PCとPCの間に入って通信を盗む攻撃なので、そう言われています。

それでは実際にやってみましょう。
※公共の場や、会社では迷惑がかかるので自宅の環境で行ってください!

環境

・ターゲットPC(Windows)
・攻撃用PC(Kali Linux)
・ルータ

構成

今回の構成は次のような構成になります。

攻撃者PC IPアドレス:192.168.89.169
MACアドレス:00:0c:29:b4:30:60

ターゲットPC IPアドレス:192.168.89.157

ルータ IPアドレス:192.168.89.2
MACアドレス:00:50:56:e0:94:64

今回の目的

今回の目的は、ターゲットPCとルータ間の通信をARPスプーフィングによって、通信を盗み見ます。

ARPスプーフィングの手順

攻撃者用PC(Kali Linux)から以下の操作を行います。

  1. アプリケーション>「09-Sniffing & Spoofing」>「Ettercap」
  2. 「Sniff」>「Unified sniffing」>Network interfaceを選択する>OK
  3. 「Hosts」>「Scan for hosts」を選択
  4. 「Hosts」>「Hosts list」を選択
  5. listの中から、ルータのIPアドレス(192.168.89.2)を選択>「Add  to Taget 1」を選択
  6. 次にターゲットPCルータのIPアドレス(192.168.89.157)を選択>「Add  to Taget 2」を選択
  7. 「Targets」>「Current targets」を選択し、5,6で選択したターゲットが表示されていることを確認します
  8. 「Mitm」>「ARP poisoning」を選択>「Sniff remote connections.」を選択>「OK」
  9. これでARPスプーフィングが始まります

詳細な手順は動画を確認してみてください。

ARPスプーフィングされるとどうなるのか

ARPスプーフィングされると、ターゲットPCのARPテーブルが書き換えられてしまいます。
今回の場合は、ターゲットPCのARPテーブルのにある、ルータ宛のMACアドレスが、攻撃者のMACアドレスに書き換わっています。

攻撃前と攻撃後のARPテーブルは以下のようになっています。
上のほうが、書き換わる前で、下が書き換わった後です。

ターゲットPCのARPテーブルが書き換わっているところと、ARPスプーフィングされた直後のパケットキャプチャを取得してみましので、そちらも動画で確認してみてください。

この攻撃の後、ターゲットPCの通信は攻撃者PCを経由するので、通信がすべて見えてしまいますね。

以上です。ありがとうございました。

ちなみに、ターゲットのPCには、アンチウイルスソフトが入っていたのですが、ARPスプーフィングは検知しませんでした。
最近流行っている、次世代型アンチウイルスソフト(EDR)とかなら検知できるのかな?

企業だと、Ciscoとかその他のスイッチで防止する機能があるみたいですが、個人だとスイッチなんて買わないので、ARPを静的に書くとかしかないんですかね。。

余談ですが、最近セキュリティの勉強のため、サイバーセキュリティテストという本で、サイバーセキュリティについて学習しています。
興味ある方は、見てみてください。それでは。

コメント

タイトルとURLをコピーしました