Scarlet Tactics

悪用厳禁

DNS Exfiltration / DNS Tunnelingをサポートするオープンソースのツール・C2フレームワーク

参考URL

DNS Exfiltration / DNS Tunnelingをサポートするオープンソースのツール・C2フレームワークは複数存在しており、実際の攻撃や演習で広く利用されています。

フル機能C2フレームワーク(DNS C2対応)

Sliver (BishopFox) Sliverは標準でHTTP(S)、mTLS、WireGuard、DNSの通信チャネルをサポートしており、DNSビーコンは暗号化データをDNSクエリ内に埋め込んで通信し、DNSトラフィックのみが許可される制限環境で有用とされています。generate beacon --dns <domain> でDNS C2ビーコンを生成でき、BeaconモードとSessionモードの両方で使用可能です。Go製、クロスプラットフォーム対応。 - GitHub: https://github.com/BishopFox/sliver - DNS C2ドキュメント: https://github.com/BishopFox/sliver/wiki/DNS-C2

Pupy PupyはオープンソースのマルチプラットフォームRATで、DNSトンネリングをサポートし、政府機関や企業に対するスパイ活動で実際に使用された実績があります。通信にはAレコードを使用します。Python製。 - GitHub: https://github.com/n1nj4sec/pupy

DNS特化型トンネリング/C2ツール

dnscat2 dnscat2は暗号化されたDNSトンネルを作成するための軽量ツールで、ペンテスターに広く利用されるほか、攻撃者によるステルスなデータ窃取にも悪用されています。Metasploitにも統合されており、A、TXT、CNAME、MXレコードなど複数のクエリタイプで動作します。 - GitHub: https://github.com/iagox86/dnscat2

Iodine IodineはDNS上でIPv4トラフィックをトンネリングするツールで、ペネトレーションテストで使用されるほか、国家支援アクターによるC2目的での悪用事例もあります。A、TXT、CNAME、MXレコードを使用して通信します。 - GitHub: https://github.com/yarrick/iodine

DNSExfiltrator DNSExfiltrationのPoC(概念実証)ツールで、データをDNSクエリにエンコードして持ち出す手法を実演しています。TXTレコードを使用し、通信は一方向のみです。 - GitHub: https://github.com/Arno0x/DNSExfiltrator

Weasel(Facebook Red Team) WeaselはFacebookのレッドチームが開発したDNSトンネリングツールで、ステルスなデータ窃取とC2をサポートし、主にニッチなレッドチーミングで使用されます。AおよびAAAAレコードを使用します。 - GitHub: https://github.com/facebookincubator/dns-exfiltration

dnspot エンドツーエンド暗号化されたDNSトンネリングおよびC2フレームワークで、PKIベースでエージェントを識別し、DNSのみで双方向通信を確立します。 - GitHub: https://github.com/mosajjal/dnspot

実際の脅威での使用実績

これらが単なるPoC/学術的ツールではなく、実環境で脅威として確認されていることの根拠としては、Infobloxのレポートが有力です。Infobloxは過去2年間にわたって顧客のDNSトラフィック内でどのDNSトンネリングファミリーが最も多く検出されたかを調査しており、Sliver、Pupy、dnscat2、Iodineなどが実際の攻撃トラフィックとして観測されています。

また、学術論文でもクラウド環境でのDNS Tunnelingの実効性が実証されています。IodineとDNScat2を使用して、Google CloudおよびAWS上で異なるファイアウォール設定下でのDNS Exfiltrationに成功した実験結果が報告されています。