じゃあ、おうちで学べる

思考を呼び覚ます このコードに、君は抗えるか。

pip3 install scapy-python3 でパケットに恋したい。 arpテーブルを汚したい編

はじめに

最近はデータを可視化解析にハマってる(福岡で勉強会するので暇な人は来てね!!)ネットワーク戦士の motouchi です。

前回に引き続きパケットに恋したいと思います。

syu-m-5151.hatenablog.com

宣言どおりに公開出来ました。(ちょっと説明省きすぎた…。) 

 

ARPキャッシュポイズニングとは

ARPとは

TCP/IPネットワークにおいて既知のIPアドレス(L3)からMACアドレス(L2)を知るためのプロトコルです

仕組み

IPパケットを送信する際にARP要求をブロードキャストで発信します。そして該当のIPの端末が自分のMACアドレスをユニキャストで送信します。

今回はこのARPの応答を偽装して送信することによりARPテーブルを汚していやらしいあんなことやこんなことができるという理屈です。

 

 

実装

実装はかなりしょっぱいです。本当にパケット送っているだけなので文句は逐次Twitter等でお願いします。

明日と言ってしまった。都合上実装出来なかった部分

  • 汚したら自分で綺麗にしなさいとお母さんに教わったのでがんばりたい(そこの実装はできてるんですけど終了処理を適当にやってるので落としてないだけ)
  • こちらにくるパケットを採取して観測したい(すぐにでも実装できそう)
  • ちゃんと通信させているように見せかけたい(ちょっと難易度高そう)

とりあえず、UbuntuからwinPC、centOSに送信して成功したので大丈夫だとは思います。

gist.github.com

 

 

攻撃への対策

  • arpwatch

 次回

MITMの実装をしたい。

参考

ARPスプーフィング攻撃の検知と防御