ドメイン ネーム システム (DNS) は、securitytut.com などの人間にわかりやすい URL を 183.33.24.13 などの IP アドレスに変換するプロトコルです。DNS メッセージは各通信の開始時にのみ使用され、データ転送を目的としたものではないため、多くの組織では DNS トラフィックを監視して悪意のあるアクティビティを検出していません。その結果、DNS ベースの攻撃は、ネットワークに対して実行された場合に効果的になる可能性があります。DNS トンネリングは、そのような攻撃の 1 つです。
DNS トンネリングの例を以下に示します。

攻撃者は、多数のオープンソース DNS トンネリング キットの 1 つを権威 DNS ネームサーバー (NS) と悪意のあるペイロードに組み込みます。
2. 攻撃者のインフラストラクチャから IP アドレス (例: 1.2.3.4) が割り当てられ、ドメイン名 (例: attackerdomain.com) が登録または再利用されます。レジストラは、トップレベル ドメイン (.com) のネームサーバーに、attackerdomain.com へのリクエストを ns.attackerdomain.com に転送するように通知します。ns.attackerdomain.com の DNS レコードは 1.2.3.4 にマッピングされています。
3. 攻撃者は悪意のあるペイロードを使用してシステムを侵害します。目的のデータが取得されると、ペイロードはデータを 32 文字 (0 ~ 9、AZ) の短い文字列 (3KJ242AIE9、P028X977W、...) に分割してエンコードします。
4. ペイロードは、ドメイン名の一部である各文字列を使用して、攻撃者のドメインに何千もの一意の DNS レコード要求を開始します (例: 3KJ242AIE9.attackerdomain.com)。攻撃者の忍耐力とステルス性に応じて、疑わしいネットワーク アクティビティを回避するために、要求を数日または数か月にわたって間隔を空けることがあります。5. 要求は再帰 DNS リゾルバに転送されます。解決中に、要求は攻撃者の権威 DNS ネームサーバに送信されます。6. トンネリング キットはエンコードされた文字列を解析し、流出したデータを再構築します。参照: https://learn-umbrella.cisco.com/i/775902-dns-tunneling/0
5. リクエストは再帰DNSリゾルバに転送されます。解決中に、リクエストは攻撃者の権威DNSネームサーバに送信されます。
6. トンネリング キットはエンコードされた文字列を解析し、抽出されたデータを再構築します。
ドメイン名の一部(例:3KJ242AIE9.attackerdomain.com)を抽出します。攻撃者の忍耐力とステルス性に応じて、疑わしいネットワーク アクティビティを回避するために、リクエストを数日または数か月にわたって分散させることができます。5. リクエストは再帰 DNS リゾルバに転送されます。解決中に、リクエストは攻撃者の権威 DNS ネームサーバに送信されます。6. トンネリング キットはエンコードされた文字列を解析し、抽出されたデータを再構築します。参照: https://learn-umbrella.cisco.com/i/775902-dns-tunneling/0