web-dev-qa-db-ja.com

ScapyによるARPスプーフィング。 Scapyはどのようにトラフィックを再ルーティングしますか?

背景:

Scapyを使用してネットワークの被害者をARPスプーフィングするには、正しい宛先と送信元IPアドレスを使用して、被害者とゲートウェイルータにARP応答パケットを送信する必要があることを理解していますが、攻撃者の送信元Macアドレスを使用して、基本的に次のように述べています。攻撃者は被害者へのゲートウェイであり、ゲートウェイへの被害者であるため、中間者になります。また、攻撃者は1を/ proc/sys/net/ipv4/ip_forwardにエコーして、IP転送を有効にする必要があります。

質問:

したがって、私の質問は、被害者とゲートウェイをarpポイズニングした後、被害者のトラフィックをルーターにリダイレクトし、ルーターの応答トラフィックを被害者にリダイレクトする方法を教えてください。攻撃者はiptableのファイアウォール構成を変更する必要がありますか? NATテーブルの事前ルーティングチェーンなど、被害者のトラフィックのTCPポート80および443をゲートウェイIPにリダイレクトし、ルーター応答パケット(srcポート80/443)を被害者に転送しますか?

Webのほとんどの例ではファイアウォールの構成について触れていないため、事前ルーティングチェーンのnatテーブルを変更することも、MITM攻撃を管理するために必要なステップであるかどうか疑問に思いました。

例:

https://www.youtube.com/watch?v=fkYd8MPzgts このサンプル動画に関する質問:攻撃者は、tcpポート80をフィルタリングするだけで、scapyを使用してDNSパケットを盗聴した方法を教えてください。攻撃者がファイアウォール(iptables)構成を示さなかったビデオ、DNSクエリパケットを含む被害者のすべてのトラフィックが攻撃者に送信されたと想定し、攻撃者がGoogleやTwitterとの接続を取得しなかった場合トラフィックをゲートウェイ/犠牲者に転送しますか?

誰かが説明できますか?前もって感謝します。

5
Rennitbaby

Scapyはトラフィックをルーティングせず、このシナリオではトラフィックにまったく触れません。ホストでIP転送を有効にすると、ホストがルーターになります。ホストは、自分のアドレスのいずれかを宛先としないパケットを受信すると、そのルーティングテーブルに従ってパケットをルーティングします。被害者からのトラフィックには宛先IPアドレスが攻撃者のマシンと一致しないため、ほとんどの場合、これによりトラフィックが攻撃者のデフォルトゲートウェイ(通常はネットワークのゲートウェイ/ルーター)に転送されます。

たとえば、攻撃者が双方向のARPポイズニング攻撃を実行しました。被害者は攻撃者のマシンがルーターであると考え、ルーターは攻撃者のマシンが被害者のマシンであると考えます。被害者はパケットを8.8.8.8に送信し、攻撃者のマシンで受信されます。パケットは攻撃者宛ではないため、デフォルトゲートウェイに送信されます。サーバーからの応答も同じように動作します。ルーターは被害者宛てのパケットを送信し、攻撃者に送られます。繰り返しになりますが、攻撃者宛ではないため、再度転送されます。

ファイアウォールルールが関係していることについて言及しました。クリーンなiptablesセットアップでは、すべてのチェーンに対してデフォルトのACCEPTがあります。ファイアウォールでそれを防ぐためのファイアウォールルールが追加されていない限り、カーネルで転送がオンになったら、上記のパケットのルーティングを阻害するものは何もありません。

6
multithr3at3d