C2・Beacon・DNS/HTTPS通信とRATの遮断
一定間隔のHTTPS通信があれば、C2と断定できるでしょうか。通信を始めたプロセスと、その後の操作をつなげて調べます。
端末WS-41が10分前後の間隔で見慣れないドメインを引き、HTTPS接続を繰り返している。宛先が珍しいだけでC2と断定できないが、端末上で不審なプロセスが同じ通信を開始し、後にファイル一覧取得が続けば判断は強くなる。
C2、Beacon、DNSとHTTPSの役割、RATの活動、遮断後に残る危険を一つの事案で読む。
誰が、どの場所で判断するのか
A社WS-41では09:00から未知のsigned-update.exeが起動し、cache.example.invalidをDNSで引き、203.0.113.80:443へ周期接続する。
09:35に同プロセスが経理フォルダのファイル一覧を取得、09:42に外向き送信量が増えた。端末は社内キャッシュDNS-Rを使用し、HTTPSはプロキシP-1経由である。
FWではDNS-RやP-1の外向き通信に見えるため、WS-41との対応には内部ログが要る。DNS応答がキャッシュから返った場合、外部権威DNSへの問い合わせが毎回発生するわけではない。
プロキシがTLS本文を復号しないならURLパスや送信内容を観測できない場合がある。
この事案を読むために、どの用語を押さえるか
Command and Control。攻撃者が侵害端末へ指示を送り結果を受け取る通信・基盤。単なる外向き通信すべてをC2とは呼ばない。
端末側から一定または揺らぎのある間隔でC2へ接続し、指示を取りに行く動き。定期更新や監視エージェントも周期通信するため、プロセスと宛先を確認する。
Remote Access Trojan/Tool。遠隔操作、ファイル操作、情報収集等の機能を持つソフト。正規の遠隔管理ツールの悪用もあり、名称だけで実行範囲は決まらない。
ドメイン名解決を足掛かりに宛先を変える場合と、DNSクエリ・応答そのものへ指示やデータを埋める場合を分ける。異常な長いラベルや高頻度TXTは候補だが確定ではない。
正規Web通信と同じ443/TCPを使う。TLSにより本文が見えない場合はSNI、証明書、宛先IP、プロキシ、端末プロセス等のメタデータを相関する。
端末の問い合わせがキャッシュDNSへ向かい、実際の権威DNSへの通信は別主体になる。HTTPSもプロキシ経由ならFW上の送信元・宛先を読み替える。
DNS応答制御、プロキシ拒否、FW、EDR隔離などで指示・送出経路を止める。IPだけを遮断しても別ドメインや既存セッションが残り得る。
C2と同じ経路を使ってファイル内容を外へ送る場合がある。Beaconの少量通信だけで窃取量を断定せず、バイト数と端末操作を確認する。
正常なときは、どの順序で処理されるか
端末・DNS・プロキシ・FWのログを時刻同期して集め、プロセスID、利用者、内部端末、問い合わせ名、応答IP、HTTPS接続を結ぶ。
宛先の許可業務、署名・配布元、プロセスの親、起動時刻を調べ、正規更新や監視通信の可能性を確認する。
周期性は間隔のばらつきや失敗時の再試行を含めて分析し、DNSクエリの長さ・種別・応答とHTTPS送受信量を相関する。
端末側でファイルアクセス、コマンド、RATの永続化、資格情報へのアクセスを調べ、ネットワーク上の候補を実行証拠へつなぐ。
疑いが強ければ端末隔離とDNS/プロキシ遮断を行い、追加ドメイン・IP・資格情報を調べて復旧条件を確認する。
10分間隔が完全に等しくないからBeaconではない、という判断は誤る。攻撃ツールは揺らぎや業務時間に合わせることがある。一方、周期性だけならソフト更新や死活監視にも見られる。端末プロセスと後続操作を必ず確認する。
設定値とログから、何が分かるか
DNSの名前、A/AAAA/TXT等の種類、応答、TTL。キャッシュDNSのログと端末の実問い合わせを分ける。
通信を開始したプロセスと親、ファイルの署名・ハッシュ。署名があるだけで無害と決めない。
HTTPSの接続先、SNI、証明書。CDN・共有ホストでは同じIPに複数サービスがある。ECH等でSNIが見えない場合もある。
許可・拒否、上り・下りのバイト数、認証利用者。上り増加は送出候補だがファイル内容の証明ではない。
接続間隔の中央値とばらつき。失敗時再試行、端末スリープ、ネットワーク断でパターンが変わる。
ファイル一覧、スクリーンショット、遠隔コマンド、永続化の痕跡。名前だけで機能実行と断定しない。
DNS拒否、プロキシ拒否、EDR隔離の適用時刻と、その後の接続失敗・別宛先への移行を確認する。
以下は端末・DNS・プロキシログ。
09:00 WS-41 pid=414 parent=explorer.exe name=signed-update.exe
09:01 DNS-R client=WS-41 q=cache.example.invalid type=A
answer=203.0.113.80 ttl=300
09:02 P-1 client=WS-41 dest=203.0.113.80:443 up=420 down=900
09:12 P-1 client=WS-41 dest=203.0.113.80:443 up=390 down=870
09:35 WS-41 pid=414 file_list=C:\Finance\*
09:42 P-1 client=WS-41 dest=203.0.113.80:443 up=84500009:02と09:12の小さい接続は周期通信の候補で、09:35のファイル一覧取得と09:42の上り増加はC2経由の送出を疑わせる。ただし実際のファイル内容が送られたかはプロキシ・端末の詳細記録が必要。
DNS回答IPだけでHTTPS接続の正確なホスト名やプロセスを断定せず、P-1とWS-41の相関を確認する。
攻撃が成立するのは、どの条件か
状態・攻撃 | 成立条件、証拠、対策の位置 |
|---|---|
DNS名の切替 | 攻撃者がドメインや応答IPを変えると固定IP遮断を迂回できる。ドメイン、端末、プロセス、通信特徴を組み合わせる。 |
DNSトンネリング | 長い可変ラベルやTXT応答でデータを運ぶ場合がある。業務アプリの特殊DNSと区別し、パターンと量を確認する。 |
HTTPSへの埋込み | 暗号化された本文に指示や送出を含める。TLSメタデータだけでは中身を断定しないが、端末プロセスや許可先情報を合わせる。 |
正規サービスの悪用 | 共有クラウドやCDN経由だとIP遮断は業務影響が大きい。テナント・URL・アプリの単位で制御可能か確認する。 |
RATの永続化 | 外向き通信を止めてもサービス・タスクが残れば別経路へ再接続し得る。端末を調査・再構築する。 |
認証情報の悪用 | RATが資格情報を取得していれば端末隔離後も別端末から侵入可能。IDとセッションを追跡・失効する。 |
C2遮断の成功と侵害の終息は違う。RAT本体、永続化、横展開先、盗まれた資格情報を残さず調べる。DNSとHTTPSのどちらか一つの経路を止めても、攻撃者が別のプロトコルへ切り替える可能性がある。
判断を確かめるために、何を調べるか
判定段階 | 必要な証拠と結論の上限 |
|---|---|
どの端末か | DNS-RとP-1の内部クライアント、DHCP、端末IDを照合。外向きIPだけでは端末を特定できない。 |
どのプロセスか | 端末のネットワーク接続とプロセスID、親子関係、ファイル出所を確認。 |
何を受け取ったか | 通信本文が見えない場合は後続のコマンド、ファイル、プロセスから推定し、断定範囲を限定する。 |
何を送ったか | 上りバイト数とファイルアクセス、プロキシ詳細、宛先側情報を合わせる。量だけでは内容不明。 |
止められたか | 遮断後の失敗・別宛先・端末活動・横展開を監視。遮断設定の投入だけでは未確認。 |
Beaconは攻撃者が直接接続する代わりに、端末が外へ取りに行く設計が多い。社内FWが外向き443/TCPを許す環境では、通常のWeb通信に紛れる。
定期接続は更新クライアントにも共通するので、実行プロセス、出所、業務目的、後続コマンドを調べる。
DNSを使う攻撃には二つの読み方がある。一つはC2の宛先を解決するためにDNSを使い、実際の指示はHTTPSで運ぶ形。もう一つはクエリ名やTXT応答に指示・データを埋める形である。前者のA回答が見えただけで『DNSトンネリング』と書かない。
DNSキャッシュDNS-Rが外の権威サーバへ問い合わせると、境界FWの送信元はDNS-Rになる。内部のWS-41を特定するにはDNS-Rのクライアントログが要る。
TTL内はキャッシュから返すので、外向きDNSが一回でも端末は複数回解決している場合がある。
HTTPSではTLS本文が暗号化される。SNIや証明書は観測できる構成もあるが、プロキシ方式、HTTP CONNECT、ECH、証明書共用、CDNで観測範囲が変わる。『443番へ接続したからURLパスとファイル内容が分かる』とは言えない。
端末側のプロセスとファイルアクセスを相関する。
上り845000バイトはデータ送出の候補だが、ファイルサイズや圧縮、プロトコルオーバーヘッドが不明であり、どの帳票が何件流出したかは決められない。
端末の読み出し記録、プロキシの転送詳細、対象ファイルへのアクセス権と時刻を用いて被害範囲を狭める。
RATは持続的な遠隔操作能力を持つが、ファイル一覧取得がRAT機能か正規ツールかはプロセスの実体と操作経路を確認する。正規の遠隔管理ツールを攻撃者が悪用する場合もあり、ベンダー名や署名だけで無害とは言えない。
起動元、親プロセス、管理票を照合する。
遮断はDNS、プロキシ、FW、端末隔離を段階的に組み合わせる。既に確立したセッション、別ドメインへの切替、DoH等の別経路、侵害済み社内サーバ経由の通信を考慮する。
遮断後の端末イベントと境界通信を監視し、RATと資格を除去するまで再接続しない。
設定変更や例外運用では、何に注意するか
運用場面 | 崩れやすい条件と確認 |
|---|---|
共有IP | CDNやクラウドのIP全体を遮断すると正規業務へ影響。ドメイン・URL・端末単位で制御可能か確認する。 |
プロキシ認証 | プロキシの利用者と実端末が異なる場合、エージェント・DHCP・端末IDで対応付ける。 |
DoHの利用 | 通常のDNS-Rに記録がない場合、端末が別の名前解決経路を使っていないか調べる。記録欠落を通信なしとしない。 |
オフライン端末 | 遮断設定が端末に届かない可能性がある。物理保管と再接続時隔離を用意する。 |
正規更新との混同 | ソフト配布元、署名、パッケージ履歴、社内承認、通信先を確認し、誤遮断を戻す条件も用意する。 |
C2ドメインを共有する他端末を探す際は、IOC一致だけでなく同じプロセス・時刻帯・ファイルアクセスを調べる。悪性と未確定の端末を同じ侵害件数として報告しない。
被害を止め、再開するには何を確認するか
遮断後も端末の不審プロセスが残っていれば再接続を許さない。RATの除去、侵入経路の修正、盗難資格の失効、他端末への波及なしを確認してから業務通信を再開する。
WS-41、DNS-R、P-1、FWの記録を保全し、プロセスと接続先の対応、送受信量、ファイルアクセスを確認する。
WS-41を隔離し、必要に応じDNS応答・プロキシ・FWでC2候補を遮断して実際の通信停止を確認する。
RAT本体、永続化、後続コマンド、取得された資格、他端末への横展開を調査する。
信頼できるイメージから端末を再構築し、関係資格を失効し、業務上必要な通信のみ許可する。
再接続後に業務更新が正常で、候補宛先や別C2への通信が再発しないことを監視する。
境界でIPを拒否しただけではRATが消えたことにも、送出されたファイルが戻ったことにもならない。観測できた事実と不明な送出内容を分け、追加調査と報告判断を残す。
設問の条件を、どう答案へ結び付けるか
DNSの問い合わせ、A応答、プロキシのHTTPS接続、端末のプロセスとファイルアクセスを時系列で結ぶ。周期性だけでC2確定とはせず、後続操作と遮断後の変化を根拠に答える。
DNSによる宛先解決とDNS内のC2通信を区別する。
プロキシ越しの元端末と外向き接続を対応付ける。
TLSで見える情報と見えない本文を分ける。
遮断後もRAT、資格、横展開先を調べる。
短い演習で判断を確かめる
演習1:10分周期
条件:WS-41が約10分ごとに443へ接続。
質問:C2確定か。
解答:未確定。プロセス、宛先、業務目的、後続操作を調べる。
誤答の理由:定期通信だけを悪性と決めている。
演習2:Aレコード
条件:DNS-Rが不審ドメインのA回答を返した。
質問:DNSトンネリングか。
解答:断定できない。単なる宛先解決かDNS内のデータ転送かを調べる。
誤答の理由:名前解決とDNS通信への埋込みを混同している。
演習3:上り増加
条件:P-1で845000バイトの上り。
質問:どのファイルが漏えいしたか。
解答:分からない。端末ファイルアクセスと転送詳細を照合する。
誤答の理由:バイト数を内容の証拠と扱っている。
演習4:共有IP
条件:宛先IPは業務CDNと共有。
質問:IP全体を遮断すべきか。
解答:影響を評価し、ドメイン・端末・アプリ単位の制御を検討する。
誤答の理由:共有基盤の正規通信を無視している。
演習5:遮断済み
条件:DNSで候補ドメインを拒否。
質問:侵害は終わりか。
解答:終わらない。RAT、別経路、既存セッションと盗難資格を調べる。
誤答の理由:通信遮断を根絶と同一視している。
演習6:外向き送信元
条件:FWではP-1だけが203.0.113.80へ接続。
質問:感染端末はP-1か。
解答:断定できない。P-1の内部クライアントと端末プロセスを照合する。
誤答の理由:プロキシの外向きIPを実端末と混同している。
仕様を確認したいときの一次資料
MITRE ATT&CK:Web ProtocolsによるC2
MITRE ATT&CK:DNSによるC2
NIST SP 800-61 Rev.3:事故対応
次におすすめの学習
編集・検証について
編集・検証:IT資格ラボ編集部
IPAが公開する試験要綱・シラバス・過去問題と、各技術の公式資料を優先して内容を確認しています。制度変更や誤りを確認した場合は、記事を見直して更新します。
編集方針・情報源・訂正方針を見る