DNSトンネリングとは何ですか?検出命令





DNSトンネリングは、ドメイン名システムをハッカーの武器に変えます。DNSは本質的にインターネットの巨大な電話帳です。DNSは、管理者がDNSサーバーデータベースにクエリを実行できるようにする基盤となるプロトコルでもあります。これまでのところ、すべてが明確に見えます。しかし、狡猾なハッカーは、DNSプロトコルに制御コマンドとデータを挿入することで、被害者のコンピューターと密かに通信できることに気づきました。このアイデアは、DNSトンネリングの中心です。



DNSトンネリングのしくみ







インターネット上のすべてのものには、独自の個別のプロトコルがあります。また、DNSは比較的単純なチャレンジ応答プロトコルをサポートしています。それがどのように機能するかを確認したい場合は、DNSクエリを送信するためのメインツールであるnslookupを実行できます。対象のドメイン名を指定するだけで、アドレスを要求できます。次に例を示します







。この場合、プロトコルはドメインのIPアドレスで応答しました。 DNSプロトコルに関しては、アドレスリクエストまたはいわゆるアドレスリクエストを行いました。 「A」タイプ。他のタイプのクエリがあり、後で説明するように、DNSプロトコルはハッカーが悪用できるさまざまなデータフィールドのセットで応答します。



いずれにせよ、DNSプロトコルは、その中核として、サーバーへの要求とその応答をクライアントに返すことに関係しています。攻撃者がドメイン名リクエスト内に隠しメッセージを追加した場合はどうなりますか?たとえば、完全に正当なURLを入力する代わりに、転送するデータを入力し







ます。攻撃者がDNSサーバーを制御するとします。次に、データ(たとえば、個人データ)を送信できますが、必ずしも検出されるとは限りません。結局のところ、DNS要求が不正なものになるのはなぜですか?



サーバーを制御することにより、ハッカーは応答を偽装し、データをターゲットシステムに送り返すことができます。これにより、特定のフォルダ内を検索するなどの手順で、感染したマシン上のマルウェアに対するDNS応答のさまざまなフィールドに隠されたメッセージを渡すことができます。



この攻撃の「トンネリング」部分は、監視システムによる検出からデータとコマンド隠すことです。ハッカーは、base32、base64などの文字セットを使用したり、データを暗号化したりすることもできます。このようなエンコーディングは、プレーンテキストを検索する単純な脅威検出ユーティリティでは見過ごされます。



そしてそれはDNSトンネリングです!



DNSトンネリング攻撃の履歴



ハッキングの目的でDNSプロトコルをハイジャックするというアイデアを含め、すべてに始まりがあります。私たちが知る限り、そのような攻撃の最初の議論は、1998年4月にBugtraqメーリングリストでOskarPearsonによって行われました。



2004年までに、DNSトンネリングは、DanKaminskyによるプレゼンテーションでハッキング手法としてBlackHatに導入されていました。したがって、アイデアはすぐに実際の攻撃ツールに成長しました。



今日、DNSトンネリングは、潜在的な脅威のマップ上で強力な位置を占めています(そして、セキュリティブロガーはしばしばそれを説明するように求められます)。シータートル



について聞いたことがありますかこれは、DNS要求を自分のサーバーにリダイレクトするために、正当なDNSサーバーを乗っ取るサイバー犯罪グループ(おそらく州が後援している)による継続的なキャンペーンです。これは、組織がGoogleやFedExなどのハッカーによって実行される偽のWebページを指す「不正な」IPアドレスを受け取ることを意味します。同時に、攻撃者は、そのような偽のサイトに無意識のうちに入力するユーザーのアカウントとパスワードを取得することができます。これはDNSトンネリングではなく、DNSサーバーのハッカー制御のもう1つの厄介な結果です。



DNSトンネリングの脅威







DNSトンネリングは、悪いニュース段階の始まりの指標のようなものです。どれ?すでにいくつか説明しましたが、それらを構造化しましょう。



  • () – DNS. - — — , – !
  • (Command and Control, C2) – DNS- , , (Remote Access Trojan, RAT).
  • IP-Over-DNS – , , IP- DNS-. FTP, Netcat, ssh .. . !


DNS-







DNSの不正使用を検出するには、主に2つの方法があります。負荷分析とトラフィック分析です。負荷を分析する



とき防御側は両方向に送信されるデータの異常を探します。これは、統計的な方法(奇妙に見えるホスト名、あまり使用されないDNSレコードのタイプ、または非標準のエンコーディング)によって検出できます。トラフィックを分析する



場合、平均レベルと比較した、各ドメインへのDNSクエリの数が推定されます。DNSトンネリングを使用する攻撃者は、サーバーへの大量のトラフィックを生成します。理論的には、通常のDNSメッセージングよりもはるかに優れています。そして、これを監視する必要があります!



DNSトンネリングユーティリティ



独自の浸透テストを実施し、会社がそのようなアクティビティをどの程度検出して対応できるかを確認する場合は、これにいくつかのユーティリティがあります。それらはすべて、IP-Over-DNSモードでトンネリングできます



  • ヨウ素-多くのプラットフォーム(Linux、Mac OS、FreeBSD、Windows)で利用できます。ターゲットとホストコンピューターの間にSSHシェルをセットアップできます。これは、ヨウ素を設定して使用するための優れたガイドです。
  • OzymanDNSは、Perlで記述されたDanKaminskyによるDNSトンネリングプロジェクトです。SSH経由で接続できます。
  • DNSCat2-「DNSトンネルにうんざりしないでください。」ファイルの送信/ダウンロード、シェルの起動などのための暗号化されたC2チャネルを作成します。


DNS監視ユーティリティ



以下は、トンネリング攻撃の検出に役立ついくつかのユーティリティのリストです。



  • dnsHunterは、MercenaryHuntFrameworkおよびMercenary-Linux用に作成されたPythonモジュールです。.pcapファイルを読み取り、DNSルックアップを抽出し、ジオロケーションマッチングを実行して分析を支援します。
  • reassemble_dnsは、.pcapファイルを読み取り、DNSメッセージを解析するPythonユーティリティです。


DNSトンネリングマイクロFAQ



質疑応答の形で最も役立つ情報!



Q:トンネリングとは何ですか?

A:これは既存のプロトコルを介してデータを転送する方法にすぎません。基盤となるプロトコルは、専用のチャネルまたはトンネルを提供し、実際に送信される情報を非表示にするために使用されます。



Q:最初のDNSトンネリング攻撃はいつ実行されましたか?

A:わかりません!あなたが知っているなら-私たちに知らせてください。私たちが知る限り、攻撃に関する最初の議論は、1998年4月にBugtraqメーリングリストでOscarPearsanによって開始されました。



Q:DNSトンネリングに似た攻撃は何ですか?

約:DNSは、トンネリングに使用できる唯一のプロトコルではありません。たとえば、コマンドアンドコントロール(C2)マルウェアは、多くの場合、HTTPを使用して通信チャネルをマスクします。DNSトンネリングと同様に、ハッカーは自分のデータを隠しますが、この場合、リモートサイト(攻撃者によって制御されている)にアクセスする通常のWebブラウザーのトラフィックのように見えます。HTTPプロトコルハッキングする脅威を認識するように構成されていない場合、監視プログラムはこれに気付かない可能性があります



DNSトンネリングの検出を支援したいですか?Varonis Edgeモジュールチェックして、無料のデモをお試しください



All Articles