ARPキャッシュポイゾニング@実践パケット解析
目的
孫氏の兵法により、「攻撃がわからないと防御ができない」という精神に則り、私も攻撃者としての技術の一つとしてARPキャッシュポイゾニングを試してみることにします。
用意
IPアドレス
192.168.1.4(Mac...解析される側)
192.168.1.17(Backtrack5...解析する側)
使うツール
ettercap (tcpdump wireshark Scapy .etc パケットを取れればどれでも良い)
Scapy (これも解析するならどれでもいいけど、俺はこよなく愛してる)
使う言語
Python (Scapyでいい)
各々がローカルネットワークにいる。
某競技プログラミングサイトを使って実験します。
方法
1.ettercapでARPキャッシュポイゾニングします
2.ettercapでキャプチャしたパケットをScapyで解析します
3.解析したのをPythonでごみょごみょして、ソースコードを取り出します。
4.それを某サイトに送ります。
5.正答します。
1.ettercapでARPキャッシュポイゾニングします
パケットをキャプチャする
ettercap -T -M arp -i eth1 /192.168.1.4/ /192.168.1.1/ -w 01.pcap
このキャプチャを始めたら、
192.168.1.4が何も知らずに
普通にPOSTします。
ちなみにソースは
using System; namespace AOJ { class Program { static Void Main(string[] args) { Console.WriteLine("Hello World"); } } }
2.ettercapでキャプチャしたパケットをScapyで解析します
3.解析したのをPythonでごみょごみょして、ソースコードを取り出します。
二つ一気にやります。
192.168.1.4がどの言語を使ってるかはあらかじめ分かっておいてね☆
分からなかった場合の対処法もあるけど、今回はめんどくさい
ソースを投稿しているので
'POST'
っていう文字列を探します。
これをコピー&ペーストすれば、
4.それを某サイトに送ります。
5.正答します。
大せーかい!!
まとめ
実際、成功した時は嬉しかった。今回の攻撃は大して難しくはないが、発想力にも繋がると感じた。攻撃者の目線として考えるなら、平文を使うプロトコル(http,ftp .etc)を使っているローカルネットワークを狙うのが最適であると感じた。