APT41 によるゼロデイ脆弱性悪用の検知

エグゼクティブ サマリー
Darktrace は 3 月上旬にいくつかの高度に標的を絞った攻撃を検知しました。これらが発生したのは関連するシグネチャが利用可能になるかなり前でした。2 週間後、これらの攻撃は中国の攻撃アクター、APT41 によるものであることがわかりました。
APT41 は Zoho ManageEngine のゼロデイ脆弱性、CVE-2020-10189 を悪用しました。Darktrace はこれらの攻撃の最も早い段階で自動的に検知しレポートを生成したため、顧客は影響を受ける前に脅威を封じ込めることができました。
本稿で解説する侵入の事例は、CVE-2020-10189 により発生した侵入の機会を利用し、その期間中にできるだけ多数の企業に対して最初のアクセスを得ようとした APT41 による広範な作戦の一部でした。
Darktrace が生成したレポートは、インシデントのあらゆる側面を意味のあるセキュリティ解説として明確に描き出していました。経験の浅い対応者であっても、この出力結果をレビューすることにより、このゼロデイ APT 攻撃に対して 5 分以内に対処することができたはずです。
APT41 による世界規模の攻撃に対抗
3月上旬、Darktraceは米国とヨーロッパの顧客を標的としたいくつかの高度な攻撃を検知しました。これらの大半は法律分野の顧客でした。攻撃の戦術、技術および手順(TTP:Techniques, Tools & Procedures)は共通しており、外部公開サーバーを標的とし、影響の大きな脆弱性を悪用したものでした。先週、FireEyeはこの疑わしいアクティビティを中国のサイバースパイ活動集団APT41によるものと断定しました。
この攻撃は Zoho ManageEngine のゼロデイ脆弱性を使用してさまざまな企業へのアクセスを獲得しましたが、最初の侵入以後フォローアップの動作はほとんどあるいはまったく検知されませんでした。このアクティビティは、ゼロデイ脆弱性が利用できる期間にできる限り、多数の標的企業に対して最初のアクセスを得ようとする、広範な作戦であったことを示しています。
Darktrace は 2020 年 3 月 8 日日曜日午前中(UTC)に悪意あるアクティビティを観測しましたが、これは以前中国のサイバースパイ活動集団 APT41 によるものとされた攻撃とほぼ活動時間が一致していました。
以下のグラフは、APT41に標的にされた顧客の1社で見られた攻撃のタイムライン例です。他の顧客の環境で観測された攻撃もこれと同様のタイムラインでした。

図1.攻撃のタイムライン
技術分析
この攻撃は、Zoho ManageEngineのゼロデイ脆弱性、CVE-2020-10189を狙ったものです。ほとんどの攻撃は自動化されているものと思われました。
最初の侵入と、それに続くいくつかのペイロードダウンロード、そしてコマンド&コントロール(C2)トラフィックを観測しました。すべてのケースにおいて、これらのアクティビティは水平方向移動やデータ持ち出しなど、攻撃ライフサイクル後期のステップが見られる前に封じ込められました。
以下のスクリーンショットはCyber AI Analystでレポートされた主な検知結果です。SSLおよびHTTPのC2トラフィックに関するレポートだけでなく、ペイロードのダウンロードについてもレポートしています:

図 2.Cyber AI Analyst による SSL C2 検知

図 3.Cyber AI Analyst によるペイロード検知
最初の侵入
最初の侵入は、Zoho ManageEngine のゼロデイ脆弱性、CVE-2020-10189 の悪用に成功したところから始まりました。侵入後、Microsoft BITSAdmin コマンドラインツールが使われ、以下の悪意あるバッチファイルがフェッチおよびインストールされました:
インフラストラクチャ 66.42.98[.]220 の ポートからの install.bat (MD5:7966c2c546b71e800397a67f942858d0)
Source: 10.60.50.XX
Destination: 66.42.98[.]220
Destination Port: 12345
Content Type: application/x-msdownload
Protocol: HTTP
Host: 66.42.98[.]220
URI: /test/install.bat
Method: GET
Status Code: 200

図4.バッチファイルをフェッチする送信接続
最初の侵入後まもなく、第一段階のCobalt Strike Beacon LOADERがダウンロードされました。

Figure 5: Detection of the Cobalt Strike Beacon LOADER
コマンド&コントロールトラフィック
Storesyncsvc.dll は exchange.dumb1[.]com に接続する Cobalt Strike BEACON インプラント(トライアル版)です。74.82.201[.]8 に対する DNS 解決の成功が観測され、Darktrace はこれを Dynamic DNSプロパティを使ったホスト名への SSL 接続の成功と判別しました。
exchange.dumb1[.]com への複数回の接続は、C2センターへのビーコニングであると識別されました。最初のCobalt Strike BEACONへのこのC2トラフィックを使って、第二段階のペイロードがダウンロードされました。
興味深いことに、一部の顧客への攻撃ではC2トラフィックの開始と同じタイミングでTeamViewerアクティビティとNotepad++ のダウンロードも行われていました。これはAPT41が環境寄生型での攻撃ではなく、馴染みのあるツールを使おうとしていたことを示すものです。少なくとも、これら2つのツールが使用されたことは、通常のビジネス活動ではなく侵入によるものである可能性が高いということです。Notepad++は標的となった顧客の環境では通常使われていませんでした。TeamViewer についても然りです。事実、これらのアプリケーションの使用はどちらも標的となった組織にとって100%通常とは異なるアクティビティでした。
攻撃ツールのダウンロード
その後、Certificate Servicesの一部としてインストールされるCertUtil.exeコマンドラインプログラムを利用して外部への接続が行われ、第二段階のペイロードがダウンロードされました。

図6.DarktraceはCertUtilの使用を検知
この実行形式がダウンロードされた1~2時間後、感染したデバイスが送信HTTP接続を行いURI/TzGGを要求しました。これはMeterpreterがCobalt Strike Beaconのためにさらにシェルコードをダウンロードしているものと識別されました。

図 7.Meterpreter アクティビティに関連した検知結果
水平方向の移動や顕著なデータ取り出しなどは観測されませんでした。
Cyber AI Analyst がゼロデイエクスプロイトをどのようにレポートしたか
Darktraceはゼロデイ攻撃作戦を検知しただけではなく、Cyber AI Analystにより個々のイベントを調査しレポートを生成したため、セキュリティチームは即座にアクションを取る準備ができ、貴重な時間を稼ぐことができました。
以下のスクリーンショットは、ある感染した環境において、侵入された8日間にわたってCyber AI Analystが検知したインシデントのレポートです。左端に表示されている最初のインシデントは、本稿で解説しているAPTアクティビティです。他の5つのインシデントはAPTアクティビティとは関係のない、それほど深刻でないインシデントです。

図8.Cyber AI Analystが明らかにしたセキュリティインシデント
Cyber AI Analystは8日間に合計6件のインシデントをレポートしました。Cyber AI Analystでレポートされた各インシデントに対しては、詳細なタイムラインとインシデントのサマリーが簡潔な形式でまとめられているため、平均2分程度でレビューすることが可能です。つまり、Cyber AI Analystを使用することにより、技術を専門としない人であっても、このような洗練されたゼロデイインシデントに対して5分以内に対応策を実行することができたということです。
まとめ
公開されている侵害インジケータ(IoC:Indicators of Compromise)やオープンソースのインテリジェンスが存在しない場合、標的型攻撃はきわめて検知が困難になります。さらに、最高レベルの検知を行っても早期段階でセキュリティアナリストによるアクションがとれなければ意味がありません。圧倒されるような大量のアラートが生成されてしまう、あるいはトリアージと調査を行うためのスキルの障壁が高すぎる、などの理由から、あまりにも多くのケースでこうした問題が発生しています。
今回の事例は、APT41が多数のさまざまな企業および業種に対して最初のアクセスを得ようとした広範な作戦とみられます。非常に高度な性質を持っていましたが、APT41は多数の企業を同時に標的とすることで、速度を優先してステルス性を犠牲にしたのです。APT41はZohoゼロデイがもたらした限られた好機を、ITスタッフがパッチの適用を開始する前に利用したかったのです。
DarktraceのCyber AIは、標的型の未知の攻撃を示すかすかな兆候を、過去の知識やIoCに頼ることなく早い段階で検知できるよう特に設計されています。これは、あらゆるユーザー、デバイス、および関連するグループの通常の動作パターンを、一から「オンザジョブ」で継続的に学習することにより実現されます。
APT41による最近のゼロデイ攻撃作戦に際して、(a) 自己学習AIにより未知の脅威を検知する能力、および(b) AIによる調査とレポートにより人手不足の対応チームを補強できることがきわめて重要であることが証明されました。事実、Cyber AIにより攻撃がライフサイクルの後段にエスカレートする前に、迅速に封じ込めることができました。
侵害インジケータ
Darktrace でのモデル違反の種類
- Anomalous File / Script from Rare External
- Anomalous File / EXE from Rare External Location
- Compromise / SSL to DynDNS
- Compliance / CertUtil External Connection
- Anomalous Connection / CertUtil Requesting Non Certificate
- Anomalous Connection / CertUtil to Rare Destination
- Anomalous Connection / New User-Agent to IP Without Hostname
- Device / Initial Breach Chain Compromise
- Compromise / Slow Beaconing Activity To External Rare
- Compromise / Beaconing Activity To External Rare
- Anomalous File / Numeric Exe Download
- Device / Large Number of Model Breaches
- Anomalous Server Activity / Rare External from Server
- Compromise / Sustained TCP Beaconing Activity To Rare Endpoint
- Compliance / Remote Management Tool On Server
以下のスクリーンショットは、ある顧客への侵入インシデント発生時に同時に発生していたDarktraceモデル違反を表示しています。

図9:同時に発生していたDarktraceモデル違反
ネットワーク IoC :
IoC | コメント |
66.42.98[.]220 | 最初の侵入とペイロードのダウンロード |
74.82.201[.]8 | C2ドメインへのDNS解決 |
exchange.dumb1[.]com | メインC2ドメイン |
91.208.184[.]78 | 二次Cobalt Strike C2 |
ホスト IoC :
IoC | コメント |
ファイル名 | MD5ハッシュ |
install.bat | 7966c2c546b71e800397a67f942858d0 |
storesyncsvc.dll | 5909983db4d9023e4098e56361c96a6f |
2.exe | 3e856162c36b532925c8226b4ed3481c |
TzGG | 659bd19b562059f3f0cc978e15624fd9 |
観測された MITRE ATT&CK テクニック:
初期アクセス | T1190 – 外部公開されたアプリケーションへのエクスプロイト T1133 – 外部リモートサービスエクスプロイト |
実行 | T1064 — スクリプティング |
永続化 | T1050 – 新規サービス T1197 – BITS ジョブ |
権限昇格 | T1068 — 権限昇格のためのエクスプロイト |
防御回避 | T1055 – プロセスインジェクション T1197 – BITS ジョブ |
探索 | |
持ち出し | |
コマンド&コントロール | T1043 – 般的に利用されるポート T1071 – 標準アプリケーションレイヤプロトコル T1132 – データエンコーディング T1008 – フォールバックチャネル |