Eyes, JAPAN
HTTP通信に含まれる認証情報をサイレントに盗聴してみる
Tsubasa Sugiyama
こんにちは。今日はARPスプーフィングとburpsuiteを利用して、内部に侵入した攻撃者がどのようにHTTP通信に含まれる認証情報を被害者に気づかれないように盗聴するかを見ていきたいと思います。
攻撃に使用したツールとOS
Kali Linux
burpsuite (プロキシに使用)
arpspoof (ARPスプーフィングに使用)
今回の登場機器
192.168.x.1 : なりすまされる機器(ルーター)
192.168.x.2 : 攻撃者ホスト(Kali Linux)
192.168.x.3 : 被害者ホスト (Mac OS)
ARPスプーフィングとは
ARPプロトコルの応答を偽装し、LAN上で自分のホストとは違う機器になりすます手法
今回やりたいこと
通常の経路をARPスプーフィングで書き換えて、攻撃者PC経由でルーターに通信するようにして、認証情報を盗聴したい。(黒い線の経路を赤い線の経路にする)
攻撃者ホスト(Kali Linux)での設定
フォワーディングを許可する設定を行う
echo 1 > /proc/sys/net/ipv4/ip_forward
80番ポートへのアウトバウンドの通信を攻撃者ホストに誘導するFirewallの設定を行う
iptables -t nat -A PREROUTING -p tcp –dport 80 -j DNAT –to-destination 192.168.x.2
プロキシツールとして、burpsuiteを設定する
1.すべてのインターフェイスの80番ポートにバインドさせる設定
2.被害者に気づかれないよう盗聴する設定
このような設定になれば準備完了。
ARPスプーフィングを実際に行う
今回は簡単にARP スプーフィングを行えるarpspoofというツールを使う。
使い方
arpspoof -i インターフェイス -t 被害者ホスト なりすましたいホスト
今回の場合
arpspoof -i eth0 -t 192.168.x.3 192.168.x.1
これを行うとARPテーブルが書き換わり、上の図の赤い線の経路になる。
実際にWebサーバーとの通信が盗聴されている様子
画像の赤く囲まれた部分からログイン時の認証情報が盗聴されていることがわかりました。
この手法は、ペネトレーションテストなどで内部ネットワークへの侵入に成功したペンテスターが、さらなる権限掌握への足がかりのために使用することがあります。今回の記事で、暗号化されていない通信を利用して、重要な情報を送信することはLAN内だけの通信であっても盗聴の危険性があることを知っていただければ幸いです。