arp攻撃
契約の紹介
ARPのフルネームはアドレス解像度プロトコルであり、アドレス解像度プロトコルです。 IPアドレスに基づいて物理アドレスを取得するのは、TCP/IPプロトコルです。ホストが情報を送信すると、ターゲットIPアドレスを含むARP要求をネットワーク上のすべてのホストにブロードキャストし、ターゲットの物理アドレスを決定するための返品メッセージを受信します。返品メッセージを受信した後、IPアドレスと物理アドレスはネイティブARPキャッシュに保存され、一定期間予約されます。 ARPキャッシュは、リソースを保存するために次にリクエストしたときに直接照会されます。
ARPアドレス解像度プロトコルは、ネットワーク内のさまざまなホスト間の相互信頼に基づいています。ネットワーク上のホストは、ARP応答メッセージを個別に送信できます。他のホストが返信メッセージを受信した場合、メッセージの信頼性を検出せず、ネイティブARPキャッシュに記録します。したがって、攻撃者は特定のホストに擬似ARP返信メッセージを送信することができます。そのため、送信する情報は、ARPのスプーフィングを構成する予想ホストまたは間違ったホストに到達できません。
動作原理
環境の仮定
ホストA:
IPアドレス:192.168.1.1MACアドレス:0A-11-22-33-44-01HOST B:
IPアドレス:192.168.1.2MACアドレス:0A-11-22-33-44-02
ワークフロー
ステップ1:ホストAのルーティングテーブルコンテンツによると、ホストBにアクセスするために使用されるフォワーディングIPアドレスが192.168.1.2であると判断し、ホストAはローカルARP CACHのホストBの一致MACアドレスをチェックします。ステップ2:ホストAがARPキャッシュにマッピングが見つからない場合、192.168.1.2のハードウェアアドレスに尋ねるため、ARPリクエストフレームが拡大します。ローカルネットワーク上のすべてのホストに再生すると、ソースホストAのIPアドレスとMACアドレスがARPリクエストに含まれています。ローカルネットワーク上の各ホストはARP要求を受信し、独自のIPアドレスと一致するかどうかを確認します。ホストが、要求されたIPアドレスが独自のIPアドレスと一致しないことを発見した場合、ARPリクエストを破棄します。ステップ3:ホストBは、ARP要求のIPアドレスが独自のIPアドレスと一致し、ホストAのIPアドレスとMACの位置がローカルARPキャッシュに追加されることを決定します。ステップ4:ホストBは、MACアドレスを含むARP応答メッセージをホストAに直接戻します。ステップ5:ホストAがホストBから送信されたARP応答メッセージを受信すると、ホストBのIPおよびMACアドレスマッピングでARPキャッシュを更新します。ローカルキャッシュには生涯があります。寿命が終了すると、上記のプロセスが再び繰り返されます。ホストBのMACアドレスが決定されると、ホストAはIP通信をホストBに送信できます。
キャッシュメカニズム
ARPキャッシュは、IPアドレスとMacアドレスを保存するために使用されるバッファーです。そのエッセンスは、IPアドレス-MACアドレスの対応するテーブルです。テーブル内の各エントリは、ネットワーク上の他のホストのIPアドレスと対応するMACアドレスを記録します。各イーサネットまたはトークンリングネットワークアダプターには、独自のテーブルがあります。アドレス解像度プロトコルが既知のIPアドレスノードのMACアドレスについて尋ねられると、最初にARPキャッシュで表示されます。存在する場合、対応するMacアドレスを直接返します。存在しない場合は、LANを照会するARPリクエストを送信します。ブロードキャストボリュームを最小限に抑えるために、ARPは将来の使用のためにMACアドレスマッピングへのIPアドレスのキャッシュを維持します。
ARPキャッシュには、動的および静的プロジェクトを含めることができます。動的プロジェクトは自動的に追加され、時間とともに削除されます。各動的ARPキャッシュアイテムの潜在的なライフサイクルは10分です。新しく追加されたアイテムはタイムスタンプされています。プロジェクトが追加されてから2分以内に使用されない場合、プロジェクトは有効期限が切れ、ARPキャッシュから削除されます。プロジェクトがすでに使用されている場合、さらに2分間のライフサイクルが受信されます。プロジェクトが常に使用されている場合、10分の最長のライフサイクルまでさらに2分間のライフサイクルが受信されます。静的プロジェクトは、コンピューターが再起動されるまでキャッシュに残ります。
arpスプーフィング
ARPアドレス解決プロトコルは、ネットワーク内のさまざまなホスト間の相互信頼に基づいています。その誕生により、ネットワークはより効率的に実行されますが、欠陥もあります。 ARPアドレス変換テーブルは、コンピューターのキャッシュメモリの動的な更新に依存し、キャッシュメモリの更新は更新サイクルによって制限され、最近使用されたアドレスのマッピング関係テーブルエントリのみが保存されます。これにより、攻撃者は、キャッシュメモリがテーブルエントリを更新して攻撃を実現する前に、アドレス変換テーブルを変更する機会を与えます。
ARPリクエストはブロードキャストフォームで送信されます。ネットワーク上のホストは、ARP応答メッセージを個別に送信できます。他のホストが返信メッセージを受け取ったとき、メッセージの信ity性を検出し、ローカルMACアドレス翻訳テーブルに記録しません。このようにして、攻撃者はターゲットホストに擬似ARP応答メッセージを送信し、それによりローカルMACアドレステーブルを改ざんします。 ARPのスプーフィングにより、ターゲットコンピューターがゲートウェイと通信できなくなる可能性があり、通信のリダイレクトにもつながります。すべてのデータは攻撃者のマシンに渡されます。攻撃者は、ターゲットとゲートウェイの間でデータを転送します。これは、ターゲットの通常のインターネットアクセスに影響を与えることなくターゲットを聴く目的を達成するために、「仲介者」として使用できます。
欺ceptionの実践
基本環境
攻撃ホスト:192.168.174.129 00:0C:29:39:BE:EB正常ホスト:192.168.174.170 00:0C:29336008:AD:EBゲートウェイアドレス:192.168.174.2
切断攻撃
ステップ1:攻撃ホストのポート転送を閉じる
#終了
echo 0/proc/sys/net/ipv4/ip_forward
#許可する
Echo 1/proc/sys/net/ipv4/ip_forward
ステップ2:通常のホストで現在のARP解像度リストを表示します
ステップ3:通常のホストでバイドゥにピン留めします
ping www.baidu.com -T
通常、Baiduにアクセスできます。
ステップ4:次に、ネットワークは攻撃ホストのAprspoofによって切り取られます
usage: arpspoof [-i interface] [-c own | host | blos] [-t target] [-r] host
#パラメーター説明:
- 使用するインターフェイスを指定します
-C ARP構成を復元するときに使用されるMACアドレスを指定します。デフォルトは元のMacを使用することです(つまり、ARPSPOOFコマンドを停止した後、デフォルトで脱着します)
-t毒されるホストを指定します。指定されていない場合、LANの下のすべてのホストにデフォルトです
-R双方向中毒(宿主とターゲット)、したがってデータの双方向キャプチャ(-Tが同時に指定されている場合にのみ有効)
#executionの例:
arpspoof -i eth0 -t 192.168.174.170 192.168.174.2
ステップ5:Pingリクエストがタイムアウトし、ブラウザがwww.baidu.comを開くことができないことがわかります。同時に、ARP解像度テーブルをチェックすると、ゲートウェイのMACアドレスが正常にスプーフィングされ、攻撃者のMACアドレスに設定されていることがわかります。
step 6:その後、攻撃が中断されました(以前に-cパラメーターを指定しなかったため、元のMacアドレスが復元されます)
pingが通常に戻り、ページとARPテーブルも通常に戻ることがわかります
画像データ
ステップ1:ポート転送をオンにし、マシンがルーターのようなデータ情報を転送できるようにします
Echo 1/proc/sys/net/ipv4/ip_forward
ステップ2:通常のホストで現在のARP解像度リストを表示します
ステップ3:通常のホストでWebページにアクセスする
usage: arpspoof [-i interface] [-c own | host | blos] [-t target] [-r] host
#パラメーター説明:
- 使用するインターフェイスを指定します
-C ARP構成を復元するときに使用されるMACアドレスを指定します。デフォルトは元のMacを使用することです(つまり、ARPSPOOFコマンドを停止した後、デフォルトで脱着します)
-t毒されるホストを指定します。指定されていない場合、LANの下のすべてのホストにデフォルトです
-R双方向中毒(宿主とターゲット)、したがってデータの双方向キャプチャ(-Tが同時に指定されている場合にのみ有効)
#executionの例:
arpspoof -i eth0 -t 192.168.174.170 192.168.174.2
ステップ5:その後、DriftNetはWebサイトにアクセスする際に被害者ユーザーの残存画像データ情報を取得します
ログイン資格情報
ステップ1:ここでは、上記の画像データパーツを拡張し続けます。EtterCapを使用して攻撃ホストの通信データをキャプチャします
eTtercap -tq -i eth0
ステップ2:サードパーティFTPサービスをシミュレートします
ステップ3:ユーザーはサードパーティのFTPサービスにアクセスし、認証します
ステップ4:攻撃者はユーザーのアカウントパスワード情報を正常にキャプチャします
スプーフィング拡張機能
ここでは、いくつかの一般的に使用されるARPスプーフィング方法とWindowsでのARPスプーフィングツールの使用を追加します〜
netfuke
3
テスト環境
ターゲットホスト:192.168.174.170(勝利7)攻撃ホスト:192.168.174.169(Windows Server 2003)ゲートウェイアドレス:192.168.174.2
欺ceptionプロセス
ステップ1:ネットフェットの実行中のホストの実行と、ネットフェの実行を担当します。 ARPスプーフィングは実行できません)
ステップ2:ARPスプーフィングの構成
ステップ3:プラグインコマンドパラメーター設定
ステップ4:ARPスプーフィングをオンにします
攻撃検出
XARPツールの紹介
XARPは、海外で人気のあるARPファイアウォールソフトウェアです。ユーザーが特別な検出システムを確立し、高度なテクノロジーを使用して、ネットワーク上のさまざまなARP攻撃を検出および処理するのに役立ちます。たとえば、ARPスプーフィングを使用して、攻撃者は、電子メールやパスワードなど、すべてのネットワークトラフィックを盗聴できます。これはすべて発見されていません。 XARPは、このような攻撃を検出するためのアクティブおよびパッシブ方法を実行します。
攻撃検出
ステップ1:NetFukeをオンにしてARPスプーフィング攻撃を実装する
ステップ2:次に、XARP側はアラーム情報と関連する記録情報を見ることができます
ps:私は個人的にこのツールがそれほど良くないと感じています〜
防御測定
ARP詐欺の防衛方法は、主に次の2つの側面から始まります。
a。鍛造データパケットの伝播をブロックします。
この方法は、主にスイッチやルーターなどのネットワークデバイスの観点から始まります。スイッチを例にとると、スイッチのポート、MACアドレス、IPアドレスにバインドして、DAI(動的ARP検査)検出テーブルを生成します。特定のポートのホストがDAIテーブルのエントリと一致しないデータパケットを送信した場合、ネットワークを切断するか、送信するデータパケットを破棄することを選択できます。
b。被害者は偽のデータパケットを受け入れません
この方法は、主にユーザーの観点から始まります。まず、なじみのないネットワークにアクセスしないことは確かです。第二に、ユーザーはデバイスにARPファイアウォールをインストールできます。技術者である場合、静的ARPエントリを確立することを選択できます(頻繁に変化しないネットワーク環境に適しており、少数が少ない)。 windonwdeユーザーはコマンド 'arp -s ip'アドレスMacアドレスを使用して静的バインディングを実行します
dns攻撃
ドメイン名システム
DNS(ドメイン名システム)、つまりドメイン名解像度プロトコル。ドメイン名システムは、分散データベースの形でドメイン名とIPアドレスを互いにマッピングします。簡単に言えば、DNSはドメイン名を解決するために使用されます。 DNSを使用すると、迷惑なIPアドレスを覚えておく必要がなくなりました。比較的覚えやすいドメイン名を使用して、サーバーにアクセスします。サーバーがIPアドレスを変更したとしても、ドメイン名を介してサーバーにアクセスすることができます。これにより、インターネットにアクセスするのがより便利になります。
www.baidu.comをブラウザに入力すると、次のクエリプロセスを実行します。
クライアントは、www.baidu.comローカルDNSサーバーのローカルDNSサーバーをクエリして、ローカルデータベースを確認します。 Baidu.comドメインの記録はないため、クエリ情報をルートドメインDNSサーバーに渡し、解像度のホスト名を要求します。ルートドメインDNSサーバーは、「com」ドメインをローカルDNSサーバーに解決するためのDNSサーバーのIPアドレスを返します。ローカルDNSサーバーは、「com」ドメインサーバーを担当する「com」ドメインサーバーを担当するDNSサーバーにリクエストを送信します。リクエストによると、「baidu.com」ドメインを担当するDNSサーバーのIPアドレスは、「baidu.com」ドメインを担当するローカルDNSサーバーに返されます。ローカルDNSサーバーは、「baidu.com」ドメインを担当するDNSサーバーにリクエストを送信します。このサーバーにはwww.baidu.comのレコードがあるため、www.baidu.comになります。 IPアドレスはローカルDNSサーバーに返されます。ローカルDNSサーバーは、www.baidu.comのIPアドレスをクライアントに送信します。ドメイン名が正常に解決された後、クライアントはHTTP要求をWebサーバーに送信します。 Webサーバーは、クライアントのアクセスリクエストに応答します。クライアントはターゲットホストにアクセスできます。
dnsスプーフィング
DNSはインターネットでこのような重要な役割を果たしていますが、DNSプロトコルを設計するとき、設計者はいくつかのセキュリティの問題を考慮せず、DNSのセキュリティリスクと欠陥につながりました。 DNSスプーフィングは、DNSプロトコルを設計する際に非常に深刻なセキュリティ欠陥です。
まず、Spooferは構築されたARP応答パケットをターゲットマシンに送信します。 ARPスプーフィングが成功した後、相手が送信したDNSリクエストパケットを嗅ぎ、パケットを分析してIDとポート番号を取得し、ターゲットによって構築されたDNSリターンパケットを送信します。 DNS Replyパケットを受信した後、IDとポート番号がすべて正しいことがわかります。つまり、ドメイン名とRETURNパケットの対応するIPアドレスがDNSキャッシュテーブルに保存され、実際のDNS Replyパケットが後の実際のDNS返信パケットが返されると破棄されます。
欺ceptionの実践
テスト環境
攻撃ホスト:192.168.174.129ターゲットホスト:192.168.174.170
簡単なテスト
ステップ1:攻撃ホストのネットワーク接続性をテストする
ステップ2:次に、攻撃者のホストでApacheサービスを開始し、フィッシングページを作成します。これは、通常のHTMLページに簡素化されます。ローカルテスト効果は次のとおりです
ステップ3:Etter.dnsファイルを見つけ、構成ファイルを変更します。ポイントwww.al1ex.comはローカルIPアドレスに
Etter.dnsを見つけます
leafpad /etc/ettercap/etter.dns
ステップ4:eTtercapでスプーフィングを開始します
eTtercap -g
次に、DNSスプーフィングを有効にします
Recommended Comments