HTTPS上のC2とDNSトンネリング
ビーコン通信のパターン、ドメイン生成アルゴリズム、DNS over HTTPSによるC2、HTTPSコマンドチャネルを検出します。
「HTTPS上のC2とDNSトンネリング」はCoddyKit上の無料Cyber Security Academyレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはCyber Security Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Cyber Security Academyコースには全4レッスンが含まれています。
C2通信の基礎
コマンド&コントロール(C2)は、攻撃者が侵害したシステムにコマンドを発行し、データを受け取るための通信チャネルです。最新のC2は、検知を回避するために正規のトラフィックに紛れ込みます。HTTPSやDNSなどのプロトコルと、CDNやクラウドサービスなどの、付随的な被害なしにはブロックが難しいインフラストラクチャを使用します。
HTTPS経由のC2
HTTPSによるC2では、コマンドと応答をTLSで暗号化されたHTTPトラフィックに包みます。ビーコンは定期的にGETリクエストでC2サーバーをポーリングし、コマンドはHTTPレスポンスで返されます。ジッター(ビーコン間隔のランダムな変動)により、同期型ビーコンを検知する規則的なタイミングパターンを回避できます。
ドメインフロンティング
ドメインフロンティングは、CDNのルーティングを悪用します。TLSのSNIフィールドとHTTP Hostヘッダーを異なる値にします。TLSハンドシェイクは正規のCDNドメインに接続されるため検査を通過しますが、HTTP Hostヘッダーによってリクエストは悪意のあるバックエンドにルーティングされます。クラウドプロバイダーは、この手法をほぼブロックしています。
C2検知のためのJA3フィンガープリンティング
JA3は、TLS ClientHelloのパラメーター(暗号スイート、拡張機能、楕円曲線)をハッシュ化してフィンガープリントを作成します。マルウェアのC2クライアントは、証明書が変更されても一貫したJA3ハッシュを示します。ネットワークセキュリティツールは、既知のマルウェアのJA3ハッシュがトラフィックに現れたときにアラートを出せます。
Malleable C2プロファイル
Cobalt StrikeのMalleable C2を使うと、ビーコンのトラフィックのあらゆる側面をカスタマイズし、正規のアプリケーション(Amazon、Twitter、Google analytics)に偽装できます。トラフィックは通常のアプリケーション通信に見えるため、デフォルトのCobalt Strikeプロファイルを対象とするシグネチャベースの検知を回避できます。
DNSトンネリング
DNSトンネリングは、DNSクエリとレスポンスにデータをエンコードします。コマンドはDNSクエリのホスト名(commands.encoded-data.c2domain.com)にエンコードされます。レスポンスでは、DNSレコードのフィールド(TXT、A、CNAME)にデータが格納されます。Dnscat2とIodineは、一般的なDNSトンネリングツールです。
# DNS tunnel example query pattern
# aGVsbG8gd29ybGQ=.cmd.attacker.com
# Data is base64-encoded in subdomain labelsDNSトンネリングの検知
DNSトンネリングの兆候には、高エントロピーのサブドメインラベル(base64または16進数でエンコードされたデータ)、単一ホストからの異常に高いDNSクエリ頻度、通常より長い名前を持つDNSクエリ、TXTまたはNULLレコードタイプのクエリ(正規のトラフィックではまれ)、最近登録されたドメインへのクエリなどがあります。
ドメイン生成アルゴリズム(DGA)
DGAマルウェアは、シード値を使って毎日数百個の疑似ランダムなドメインを生成します。攻撃者が登録するドメインは、1日に1つだけです。防御側は生成されたすべてのドメインをブロックできないため、DGAのパターン自体を検知し、DNSシンクホールや機械学習ベースのDGA検知を利用する必要があります。
DNS over HTTPSによるC2
DNS-over-HTTPS(DoH)は、DNSクエリを暗号化されたHTTPSにカプセル化し、Google、Cloudflare、または悪意のあるDoHリゾルバーに送信します。従来のネットワークレベルのDNS検査では、これらのクエリを確認できません。検知には、EDRによるエンドポイントレベルのDNS名前解決の監視、または信頼できるDoHリゾルバーの適用が必要です。
ビーコン検知の戦略
ビーコンは、接続頻度(同じ宛先への規則的な周期接続)、データ量の一貫性(各ビーコンのペイロードサイズが類似)、接続時間のパターン、時刻分析(人間のユーザーによるトラフィックとは異なり、ビーコンは24時間365日継続する)を分析して検知します。SIEMの分析機能によって、この検知を自動化できます。
C2インフラストラクチャの検知
パッシブDNS、証明書の透明性、WHOIS分析によって、C2インフラストラクチャを明らかにできます。新しく登録されたドメイン、新しいIP上のLet's Encrypt証明書、弾力的な防御を持つプロバイダーでのホスティングは指標となります。脅威インテリジェンスプラットフォームは、既知のC2インフラストラクチャを追跡し、先回りしたブロックに役立てます。
知識チェック
ドメイン生成アルゴリズム(DGA)とは何ですか。また、なぜC2のブロックを難しくするのですか。
まとめ
APTは、ジッターを伴うHTTPSビーコン、DNSトンネリング、DoH、ドメイン生成アルゴリズム、CDNベースのインフラストラクチャを使ってC2トラフィックを隠します。検知には、JA3フィンガープリンティング、DNSの異常分析、ビーコンパターンの検知、既知のC2インフラストラクチャに関する脅威インテリジェンスが必要であり、既知の悪性IPをブロックリストに登録するだけでは不十分です。
よくある質問
「HTTPS上のC2とDNSトンネリング」レッスンは無料ですか?
はい。「HTTPS上のC2とDNSトンネリング」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Cyber Security Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Cyber Security Academyコースには全4レッスンが含まれています。
「HTTPS上のC2とDNSトンネリング」で何を学びますか?
ビーコン通信のパターン、ドメイン生成アルゴリズム、DNS over HTTPSによるC2、HTTPSコマンドチャネルを検出します。 ブラウザで直接実行するハンズオンコードでCyber Security Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Cyber Security Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのCyber Security Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。
「HTTPS上のC2とDNSトンネリング」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このCyber Security Academyレッスンでコードを書いて実行できますか?
はい。すべてのCyber Security Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- APTのライフサイクル:初期アクセスからデータ流出まで
- ファイルレスマルウェアとメモリ常駐型の手法
- HTTPS上のC2とDNSトンネリング
- 脅威の帰属とキャンペーン追跡