banner
肥皂的小屋

肥皂的小屋

github
steam
bilibili
douban
tg_channel

内網-DNS詐欺とARP詐欺の詳細解説

この記事の目次:

  • 事の発端
  • DNS 欺瞞
  • 原理
  • 実践
  • Ettercap を使用したいたずら
  • SET+Ettercap を使用したフィッシング
  • Bettercap
  • Cain & Abel
  • ARP 欺瞞
  • 原理
  • 実践
  • arpspoof
  • ettercap
  • bettercap
  • Cain & Abel

事の発端#

隣の妹子や兄弟が何を見ているのかを確認するため、または隣に静かにするように促すため

参考記事:

#

  • Kali:192.168.1.107、攻撃用
  • Win7:192.168.1.106、攻撃される側

2 台の機器はブリッジネットワークカードを介してインターネットに接続されています。

使用ツール:

  • Ettercap
  • Bettercap
  • Dsniffツールスイートのarpspoofdriftnet

DNS 欺瞞#

原理#

  • DNS(ドメインネームシステム)とは?

ドメインネームシステム(英:Domain Name System、略称:DNS)は、インターネットのサービスの一つです。ドメイン名と IP アドレスを相互にマッピングする分散型データベースとして機能し、インターネットへのアクセスをより便利にします。

ドメイン名、例えばsoapffz.comにアクセスすると、ブラウザは DNS サーバーにリクエストを送り、DNS サーバーを通じてドメイン名に対応する IP140.143.2.176を取得します(私のサーバー IP は ping 機能を無効にしています)。

  • DNS 欺瞞とは?

DNS 欺瞞とは、攻撃者がドメイン名サーバーを偽装する欺瞞行為です。原理:ドメイン名サーバーを偽装し、クエリの IP アドレスを攻撃者の IP アドレスに設定することができれば、ユーザーは攻撃者のホームページしか見えず、ユーザーが取得したいウェブサイトのホームページは見えなくなります。これが DNS 欺瞞の基本原理です。DNS 欺瞞は実際には相手のウェブサイトを「ハッキング」するのではなく、偽装して詐欺を働くことに過ぎません。

  • したがって、私たちがよく耳にするプロバイダーの DNS ハイジャックは、プロバイダーがあなたのネットワークのデフォルト DNS サーバー内の URL に対応する IP アドレスを変更することによって発生し、ポップアップ広告などの現象が現れます。プロバイダーの DNS ハイジャックを防ぐための効果的な方法は、自分の DNS サーバーを公共 DNS アドレス(例:114.114.114.114 など)に変更することです。

DNS 解析に関する詳細な内容は、DNS レコードの理解と侵入テストにおける簡単な応用を参照してください。

では、DNS 欺瞞を使用して何ができるのでしょうか:いたずらまたはフィッシング

実践#

Linux で DNS 欺瞞を実現するにはEttercapを使用します(実際には一部 ARP 欺瞞も使用します)。SETと組み合わせてフィッシングを行うこともできますし、bettercapを使用することもできます。

Windows ではCain & Abelを使用できます。

Ettercap を使用したいたずら#

まず、強力な中間者攻撃ツールであるEttercapを使用します。

  1. ettercap の dns ファイルを編集します:
vim /etc/ettercap/etter.dns

いたずらをする場合、相手にどのページにもアクセスさせたくないので、すべての URL を 1 つの IP に指し示すようにします。ここでは善意の警告をするために、すべての IP を私のコンピュータに指し示すようにします:

image

  1. apache2 サービスを起動します。

apache のデフォルト設定画面:/var/www/html/index.htmlをバックアップした後、

その中の内容を自分の内容に置き換えます:

<HTML>

<HEAD>
    <meta http-equiv="content-type" content="txt/html; charset=utf-8" />
    <TITLE>大兄弟、こんにちは</TITLE>

<BODY>
    <p>驚きましたか!</p>
    <p>ちょっと挨拶に来ました</p>
    <p>悪意はありません</p>
    <p>暇な時に一緒に遊びましょう</p>
    <p>私のウェブサイト:https://soapffz.com/</p>
</BODY>
</HEAD>

</HTML>

image

その後、apache2 サービスを再起動し、私たちの画面が表示されるか確認します:

image

OK、問題ありません。

3. 欺瞞を開始します。

まず、グラフィカルインターフェースを使用します:ettercap -Gを選択し、Unified sniffing を選択して中間者の方法で嗅探します:

image

自分に対応するネットワークカードを選択し、次にローカルネットワークをスキャンし、Host list からホストリストを開きます:

image

ゲートウェイをターゲット 1 に追加し、攻撃対象をターゲット 2 に追加します:

image

次に、Mitm(中間者攻撃)で ARP poisoning(ARP 欺瞞)を選択します:

image

リモート嗅探リンクを選択し、確認します:

image

プラグインで dns_spoof を選択します:

image

ダブルクリックすると、前に * が表示され、最後に Start sniffing をクリックして DNS 欺瞞攻撃を開始します:

image

これで、攻撃対象がすべてのウェブページを開くと、私たちのカスタマイズしたページが表示されます:

image

しかし、このような攻撃には欠点もあります。たとえば、HTTPS プロトコルの URL を欺瞞することはできず、私たちの IP が露出しやすいです:

image

また、コマンドを使用して ettercap を操作することもできます。IP 転送を有効にし、欺瞞ページを設計するなどの手順は、グラフィカルインターフェースと同じです。しかし、コマンドラインを利用すれば、1 つのコマンドで上記の複雑な操作を実行できます:

ettercap -TqM ARP:remote -P dns_spoof /192.168.1.1// /192.168.1.107//

パラメータの説明:

  • -i:ネットワークカードを指定します。通常は eth0 がデフォルトです。
  • -T:テキスト GUI のみを使用します。
  • -q:静かなモードを開始します(エコーしないという意味)。
  • -M:中間者攻撃を実行します。
  • ARP:リモート嗅探を使用します。
  • -P:プラグインを指定します。
  • 後ろの 2 つの位置、最初がターゲット 1、2 番目がターゲット 2 で、両方とも /// で囲まれています。

上記で説明したいたずらの部分では、フィッシングを実現するには、/etc/ettercap/etter.dns ファイルで被害者がアクセスする可能性のあるウェブページの IP アドレスを自分のものに設定するだけです。

そのためには、Google のページや百度のページを自分で作成する必要がありますが、少し面倒です。

SET+Ettercap を使用したフィッシング#

もちろん、ここでは Ettercap の例だけを挙げましたが、他にも強力なフィッシングツールがあります。例えば:BlackEye

ここで社会工学ツールキットを導入します:Social-Engineer Toolkit、以下 SET と略します。

これは Kali アプリケーションコレクションのSocial Engineering Toolsとは異なるものです:

image

その名の通り、SET は主に社会工学攻撃に使用され、フィッシングサイト、無線 AP 攻撃、QRCode 攻撃などを含みます。

今回の実験では、SET はフィッシングサイトを構築し、HTTP リクエストで送信されるアカウントパスワードをリスニングするために使用されます。

他の使用方法については、社会工学ツールキットの基本使用チュートリアルを参照してください。

setoolkitコマンドを使用して入ります。以下は手を抜くために、この記事をコピーしたものです。

メニューから選択:
   1) 社会工学攻撃  // 1を選択、社会工学攻撃
   2) 侵入テスト(ファストトラック)
   3) 第三者モジュール
   4) 社会工学ツールキットの更新
   5) SET設定の更新
   6) ヘルプ、クレジット、概要
   ......
   99) 社会工学ツールキットを終了

まず、メニューの最初のオプション、社会工学攻撃を選択します。

1) スピアフィッシング攻撃ベクター
2) ウェブサイト攻撃ベクター  // 2を選択、ウェブサイト攻撃
3) 感染メディアジェネレーター
4) ペイロードとリスナーの作成
5) 大量メール攻撃
6) Arduinoベースの攻撃ベクター
7) 無線アクセスポイント攻撃ベクター
8) QRコードジェネレーター攻撃ベクター
9) PowerShell攻撃ベクター
10) SMSスプーフィング攻撃ベクター
11) 第三者モジュール

次に、メニューの 2 番目のオプション、ウェブサイト攻撃を選択します。

1) Javaアプレット攻撃方法
2) Metasploitブラウザエクスプロイト方法
3) 認証情報収集攻撃方法  // 3を選択、認証情報収集
4) タブナビゲーション攻撃方法
5) ウェブジャッキング攻撃方法
6) マルチ攻撃ウェブ方法
7) フルスクリーン攻撃方法
8) HTA攻撃方法

3 番目のオプション、認証情報収集を選択します。

1) ウェブテンプレート  // 事前定義されたウェブサイトテンプレートを使用
2) サイトクローン    // ウェブページをクローン
3) カスタムインポート  // 指定されたディレクトリからウェブサイトをインポート

ここでは、便利さのために、1 を選択し、SET に内蔵されたウェブサイトテンプレートを使用して実験を行います。

set:webattack> POSTバックのためのIPアドレスをHarvester/Tabnabbingに入力してください [192.168.1.107]:

ここで注意が必要なのは、デフォルトの IP、つまり最初の IP が使用されることです:

image

もしデュアルネットワークカードを使用していて、他の内部ネットワークセグメントのホストを侵入したい場合は、Enter を押して、プロンプトが表示されたら:

image

新しいターミナルを開き、/etc/setoolkit/set.configファイルを編集して、ネットワークカードを変更すれば OK です:

image

2 を選択し、Google のログインページをフィッシングサイトとして使用します:

image

次に、以下のメッセージが表示されると、

[*] Harvesterは準備完了です、被害者にあなたのサイトをブラウズさせてください。

この行が表示されると、フィッシングを開始できます。この時、被害者のコンピュータで私たちの攻撃機の IP を開くと、それが私たちのフィッシング Google インターフェースになります:

image

同時に、SET のコンソールにはアクセスリクエストの記録が表示されます:

image

しかし、これではあまりにも明白です。誰もが 192.168.* が内部ネットワーク IP であることを知っていますので、Ettercap と一緒に使用します。

以下の内容を/etc/ettercap/etter.dnsに追加します。

google.com       A      192.168.1.107
*.google.com     A      192.168.1.107
www.google.com   PTR    192.168.1.107

image

その後、ettercap を実行します:

ettercap -TqM ARP -P dns_spoof /192.168.1.106///

具体的なパラメータは前述の通りです。次に、被害者のマシンでgoogle.comにアクセスします:

image

私たちのフィッシングインターフェースが表示されるのが見えます。その後、ログインしてみましょう:

image

私たちの Ettercap と SET がアカウント名とパスワードを取得したのが見えます!フィッシング成功です。

しかし、以下の不足があります:

  1. HTTPS の状況を考慮していないため、HTTPS のアクセスはターゲット IP に転送されません。

  2. フィッシングウェブページでログインをクリックした後、正常なウェブサイトのホームページにリダイレクトされるべきであり、ログインページに留まるべきではありません。

BetterCap#

中間者攻撃で最も有名なのは ettercap ですが、bettercap の開発目的はそれを追い越すことではなく、代替することです。その理由は以下の通りです:

  • ettercap は非常に成功しましたが、現代の時代には古くなっています。
  • ettercap のフィルターは複雑で、使用のハードルが高いです。
  • 大規模ネットワークでは、ホスト発見機能の効果が非常に悪いです。
  • 最適化が不十分で、研究者にとっては無駄な機能が多すぎます。
  • 拡張性が不十分で、開発には C/C++ 言語を習得する必要があります。

Bettercap の更新頻度は比較的高く、新しいバージョンの bettercap は msf のような埋め込み端末インターフェースを採用しています。このような端末インターフェースは没入型の体験を提供しますが、入力と出力が混在する問題や行の更新の問題なども存在します。
このバージョンの bettercap の機能は大幅に豊富になり、以前の単純なネットワークアナライザーからすべての「cap」への移行が実現されました。以前の内部ネットワークの ARP と DNS 欺瞞をサポートするだけでなく、低消費電力 Bluetooth(BLE)、GPS の嗅探、ネットワーク内の特定の MAC を持つデバイスにリモートウェイク信号(Wake On LAN)を送信する機能なども提供されており、非常に強力です。

ダウンロードリンク(Windows 版あり):https://github.com/bettercap/bettercap/releases/latest

Kali には自動的にインストールされません:apt-get install bettercap -y

基本的なパラメータを確認します:bettercap -h

image

パラメータの説明:

パラメータ意味
-autostart stringカンマで区切って自動起動するモジュールを指定
-caplet stringファイルからコマンドを読み込み、対話セッションで実行
-cpu-profile fileCPU 設定ファイルを書き込む。
-debugデバッグメッセージを表示。
-env-file string環境変数ファイルを読み込む
-eval string1 つ以上のコマンドを;で区切って実行;対話セッションで、コマンドラインから変数を設定。
-gateway-override string提供された IP アドレスを使用し、デフォルトゲートウェイではなく使用します。指定されていないか無効な場合は、デフォルトゲートウェイが使用されます。
-iface stringバインドするネットワークインターフェース、空の場合はデフォルトインターフェースが自動的に選択されます。
-mem-profile fileメモリ設定ファイルをファイルに書き込む。
-no-colors出力の色効果を無効にします。
-no-history対話セッションの履歴ファイルを無効にします。
-silentすべての非エラーのログを禁止します。

では、bettercapを開いてみましょう:

image

開くと、自動的に現在のサブネット内のホストを探知し始めます。help と入力すると、多くの設定オプションが表示されます:

image

以下はパラメータの説明:

|:-----:|:-----:|
|help MODULE | モジュール名が提供されていない場合、利用可能なコマンドをリスト表示するか、モジュール固有のヘルプを表示します。|
|active | アクティブモジュールに関する情報を表示します。|
|quit | セッションを終了し、退出します。|
|sleep SECONDS | 指定された秒数だけスリープします。|
|get NAME | 変数 NAME の値を取得します。単独で使用するか、NAME * をワイルドカードとして使用します。|
|set NAME VALUE | 変数 NAME の VALUE を設定します。|
|read VARIABLE PROMPT | ユーザー入力を尋ねる PROMPT を表示し、その入力を VARIABLE に保存します。|
|clear | 画面をクリアします。|
|include CAPLET | この caplet を現在のセッションに読み込んで実行します。|
|! COMMAND | シェルコマンドを実行し、その出力を表示します。|
|alias MAC NAME | 指定された MAC アドレスを持つエンドポイントにエイリアスを割り当てます。|

モジュールの説明:

|:-----:|:-----:|
|any.proxy | ファイアウォールを任意の指定したプロキシにリダイレクト |
|api.rest|RESTful API モジュール |
|arp.spoof|ARP 欺瞞モジュール |
|ble.recon | 低消費電力 Bluetooth デバイス発見モジュール |
|caplets|caplets モジュールをリスト表示および更新するためのもの |
|dhcp6.spoof|dhcp6 欺瞞モジュール(DHCP パケットを偽造してクライアントの DNS サーバーを改ざんするため、dns.spoof と一緒に有効にする必要があります)|
|dns.spoof|DNS 欺瞞メッセージに応答します |
|events.stream | デフォルトでこのモジュールは有効で、対話セッション中に時間の流れを表示します |
|gps||
|http.proxy|HTTP 透過プロキシ、Javascript モジュールを使用できます |
|http.server|HTTP サーバー |
|https.proxy|HTTPS 透過プロキシ |
|https.server|HTTPS サーバー |
|mac.changer | アクティブインターフェースの MAC アドレスを変更します |
|mysql.server||
|net.probe | サブネット内のすべての可能な IP に UDP データを送信してホストを探知します |
|net.recon||
|net.sniff | ネットワーク嗅探モジュール |
|packet.proxy||
|syn.scan|SYN ポートスキャンを実行します |
|tcp.proxy||
|ticker||
|update||
|wifi|WiFi モジュール、deauth 攻撃(WiFi キラー)とソフト AP の作成機能があります |
|wol||

各モジュールの詳細な使用方法については、この記事を参照してください:https://blog.csdn.net/u012570105/article/details/80561778

Bettercap 実践

Bettercap で欺瞞する URL と自分の悪意のあるサーバー IP を設定します:

set dns.spoof.domains *.baidu.com
set dns.spoof.address 1.1.1.1
dns.spoof on

image

Windows7 で DNS サーバーアドレスを自分の IP アドレスに設定します:

image

DNS をリフレッシュした後、ping コマンドを使用して(ここで ping が通らないのは疑問です、IPv4 転送は有効になっています):

image

Kali 側で DNS リクエスト情報が表示されます:

image

Cain & Abel#

Cain & Abel は、Oxid.it によって開発された Microsoft オペレーティングシステム向けの無料パスワード回復ツールです。貧乏人が使用する L0phtcrack と呼ばれています。その機能は非常に強力で、ネットワーク嗅探、ネットワーク欺瞞、暗号化されたパスワードの解読、乱されたパスワードのデコード、パスワードボックスの表示、キャッシュされたパスワードの表示、ルーティングプロトコルの分析、さらには内部ネットワークで他の人が VOIP で電話をかけるのを監視することもできます。

ダウンロードリンク:http://www.oxid.it/cain.html、[winpacp]40のサポートが必要ですが、winpacp のダウンロードページには次のように書かれています:The WinPcap project has ceased development and WinPcap and WinDump are no longer maintained. We recommend using Npcap instead:WinPcap プロジェクトは開発を停止し、WinPcap と WinDump はもはやメンテナンスされていません。Npcap を代わりに使用することをお勧めします。

したがって、直接 npcap をダウンロードします:https://nmap.org/npcap/、最新バージョンは 0.99-r9 です。[ここをクリックしてダウンロード]41

インストール時には、デフォルトオプションに加えて、最下部のオプション:Install Npcap in WinPacp API-compatible Mode をチェックすれば、Cain & Abel の winpacp サポート要件を満たすことができます。

Cain & Abel のメインインターフェースは次のようになります:

image

ツールインターフェースを見てみると、主な機能はパスワード解読であることがわかります:

image

ARP 欺瞞#

原理#

arp

アドレス解決プロトコル、すなわち ARP(Address Resolution Protocol)は、IP アドレスから物理アドレスを取得する TCP/IP プロトコルの一つです。ホストが情報を送信する際、ターゲット IP アドレスを含む ARP リクエストをネットワーク上のすべてのホストにブロードキャストし、返答メッセージを受信することで、ターゲットの物理アドレスを特定します。返答メッセージを受け取った後、その IP アドレスと物理アドレスを自ホストの ARP キャッシュに保存し、一定時間保持します。次回のリクエスト時には、リソースを節約するために ARP キャッシュを直接照会します。

arp 欺瞞

ARP 欺瞞(英:ARP spoofing)、または ARP 毒化(ARP poisoning、ネット上では多くの場合 ARP ウイルスと訳されます)または ARP 攻撃は、イーサネットアドレス解決プロトコル(ARP)に対する攻撃技術です。ネットワーク内の訪問者 PC のゲートウェイ MAC アドレスを欺くことによって、訪問者 PC が攻撃者が変更した MAC アドレスをゲートウェイの MAC アドレスだと誤認させ、ネットワークが不通になることを引き起こします。この種の攻撃により、攻撃者はローカルネットワーク上のデータパケットを取得したり、データパケットを改ざんしたりすることができ、特定のコンピュータまたはすべてのコンピュータが正常に接続できなくなることがあります。

実現#

Linux で ARP 欺瞞を実現するための最も古典的なツールはarpspoofです(比較的安定しています)。また、ettercap や bettercap も使用できます。

Windows では使用できます。

自分の ARP キャッシュテーブルを確認します:

(一般的に)arp -a:ただし、Linux で実行すると遅くなります。

(Linux)ip neigh show:別のシステムコール netlink を使用して取得されます。

ARP 欺瞞が成功しない場合は、arp -dを使用して ARP キャッシュテーブルを削除できます(管理者権限が必要です)。

arpspoof#

arpspoof は一方向の欺瞞を行うことも、双方向の欺瞞を行うこともできます(2 つのターミナルを開く)。一般的なパラメータは次のとおりです:

arpspoof -i [ネットワークカード] -t [欺瞞されるホスト] [自分が偽装したいホスト]

-i はネットワークカードを指定し、-t はターゲット(target)を指定します。指定しない場合は、ネットワーク全体に ARP 毒化を行います。

したがって、ここでは Win7(192.168.1.106)を欺瞞し、私はゲートウェイ(192.168.1.1)であり、ゲートウェイを欺瞞して私は Win7 であることを示すために、次のコマンドを使用します。

arpspoof -i eth0 -t 192.168.1.106 192.168.1.1
arpspoof -i eth0 -t 192.168.1.1 192.168.1.106

まず、ARP 欺瞞を行う前の Win7 の ARP キャッシュテーブルを確認します:

image

次に、欺瞞を開始します:

image

再度 ARP キャッシュテーブルを確認します:

image

元のゲートウェイの MAC アドレスが Kali のものと同じになっていることがわかります。これにより、ゲートウェイに送信されるすべてのトラフィックは Kali を経由し、Kali も同時にゲートウェイに対して自分が Win7 であると欺瞞します。これにより、Win7 は正常にインターネットに接続できますが、すべてのトラフィックが監視されていることは知りません。

ただし、ここでは Linux カーネルのトラフィック転送機能を有効にすることをお勧めします。そうしないと、相手がインターネットに接続できなくなり、警戒される可能性があります:

sysctl net.ipv4.ip_forward
sysctl -w net.ipv4.ip_forward=1

image

ettercap#

前述の詳細な使用方法については、ここではコマンドを直接示します:

ettercap -i eth0 -TqM ARP /192.168.1.106// ///

image

上記と同じ効果を持ちます。

bettercap#

同様に、bettercapコマンドを使用して入ります。次のコマンドを実行します:

net.sniff on
set arp.spoof.targets 192.168.1.106
(1つまたは複数のターゲットに対してのみ設定し、設定しない場合はネットワーク全体に対して欺瞞を開始します)
arp.spoof on

これで ARP 欺瞞が開始されます。この時、Wireshark などのパケットキャプチャツールを使用してキャプチャすると、TCP データパケットしかキャプチャできず、HTTP/HTTPS のデータパケットはキャプチャできません。http.proxy onまたはhttps.proxy onコマンドを使用して HTTP/HTTPS プロキシを有効にすることができます。

HTTP のウェブページブラウジングを監視するウィンドウを開きたい場合は、urlsnarf -i eth0コマンドを使用します(urlsnarf コマンドは ARP 欺瞞の後に使用する必要があります):

image

Driftnet は嗅探した画像をフィルタリングするために使用でき、Driftnet を使用してトラフィックを監視し、被害者が閲覧している画像を表示します:driftnet -i eth0

image

Driftnet と arpspoof はどちらも Dsniff ツールスイートに属します。

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。