
概要
Cisco Talos は、米国の大手通信会社数社に対する広範な侵入行為の報告を注意深く監視してきました。この攻撃は 2024 年後半に最初に報告され、その後、Salt Typhoon という高度な技術を持つ攻撃者グループによる犯行であることが米国政府によって確認
されました。本ブログでは、この攻撃に関する調査結果に注目し、攻撃者の活動を検知、防止するための推奨事項を特定します。
公開されたレポートによると、攻撃者は複数の事例でコア ネットワーク インフラストラクチャへのアクセスに成功しており、そのインフラストラクチャを利用して情報を広範に収集していました。シスコの脆弱性(CVE-2018-0171)が悪用された可能性を示す証拠が見つかった事例は 1 件のみでした。これまでに Talos が調査した他のすべてのインシデントでは、攻撃者が被害者の正当なログイン情報を入手してシスコのデバイスへの最初のアクセスを行っていたことが判明しています。攻撃者はその後、複数のベンダーの機器を対象に長期間にわたって被害者の環境にアクセスし続け、ある事例では 3 年以上もアクセスが継続しました。
この攻撃の特徴は、ネットワークデバイスで Living Off The Land(LOTL:環境寄生型)の手法を使用することです。重要な留意点として、主に被害を受けているのは通信業界ですが、本ブログに記載しているアドバイスはすべてのインフラストラクチャの防御に関連したものであり、業界に関係なく考慮する必要があります。
この攻撃で、新たなシスコの脆弱性は発見されませんでした。Salt Typhoon が既知のシスコの脆弱性を他に 3 件悪用しているという報告もありますが、これらの主張を裏付ける証拠は見つかっていません。問題の脆弱性は以下に記載しています。なお、これらの CVE にはそれぞれセキュリティ修正が提供されています。攻撃者は一般に入手可能な悪意のあるツールを定期的に使用して脆弱性をエクスプロイトするので、脆弱性へのパッチの適用は不可欠です。
したがって、今回の特定の事例とは関係なく、標準的なガイダンスに沿って、ネットワークインフラを保護するためのベストプラクティスを常に実践することを Talos では推奨しています。
- CVE-2018-0171:Cisco IOS および IOS XE ソフトウェアの Smart Install 機能においてリモートでコードが実行される脆弱性 (最終更新日:2022 年 12 月 15 日)
- CVE-2023-20198、CVE-2023-20273:Cisco IOS XE ソフトウェア Web UI 機能における複数の脆弱性 (最終更新日:2023 年 11 月 1 日)
- CVE-2024-20399:Cisco NX-OS ソフトウェアの CLI におけるコマンドインジェクションの脆弱性(最終更新日:2024 年 9 月 17 日)
確認されたアクティビティ
ログイン情報の使用と拡張
今回の攻撃では、盗まれた有効なログイン情報が使用されたことが確認されていますが、すべての事例で、攻撃者が最初のログイン情報をどのように入手したのかは現時点では不明です。攻撃者がネットワークデバイスの設定を取得し、脆弱なパスワードを使用するローカルアカウントを解読することで、さらなるログイン情報を積極的に取得しようしていたことが確認されています。これは、脆弱な暗号化方式を使用したパスワードの保存をユーザーに許可するセキュリティ設定を悪用する手口です。さらに、ネットワークデバイスと TACACS/RADIUS サーバー間で使用される秘密鍵を含む、SNMP、TACACS、RADIUS のトラフィックを攻撃者が傍受していたことも確認しました。このようにトラフィックを傍受する目的は十中八九、さらなるログイン情報の詳細を取得して後で使用することにあります。
設定情報の漏洩
多くの事例で、攻撃者は TFTP または FTP 経由でデバイスの設定情報を流出させました。これらの設定には多くの場合、SNMP 読み取り/書き込み(R/W)コミュニティストリングや、脆弱なパスワード暗号化方式を使用したローカルアカウントなど、機密性の高い認証情報が含まれていました。脆弱なパスワード暗号化方式が使用されている場合、攻撃者はオフラインでパスワードを簡単に復号できます。設定には、機密性の高い認証情報だけでなく、名前の付いたインターフェイスが含まれていることも多いので、攻撃者がアップストリームとダウンストリームのネットワークセグメントを深く理解し、さらなる偵察活動やその後のネットワーク内でのラテラルムーブメント(横移動)にこの情報を利用する可能性があります。
インフラストラクチャのピボッティング
今回の攻撃の重要なポイントは、侵害されたインフラストラクチャを通じて攻撃者が継続的に移動すること、すなわちピボッティングにあります。この「マシンからマシンへ」のピボッティング、つまり「ジャンプ」はいくつかの理由から行われているようです。まず、通常はネットワーク通信が許可されていない信頼されたインフラストラクチャ内を攻撃者が移動できるようになります。さらに、このタイプのインフラストラクチャからの接続はネットワーク防御システムから疑わしいと判断される可能性が低く、攻撃者は検知されずに済むことになります。
攻撃者はまた、ある通信事業者が運用する侵害されたデバイスから、別の通信事業者のデバイスを標的にピボッティングを行っていました。いくつかの事例では、最初の通信事業者に関連したデバイスは最終的な標的ではなく、単なるホップポイントとして使用されていたと考えられます。一部のホップポイントは、外部にデータを漏洩させるための最初のホップとしても使用されていました。このピボッティングの多くに、さまざまなメーカーのネットワーク機器が使用されていました。
設定の変更
攻撃者がデバイスの実行中のコンフィグを変更しただけでなく、Bash と Guest Shell に関連したサブシステムも変更したことが確認されました(Guest Shell とはシスコのデバイス上で動作する Linux ベースの仮想環境であり、ユーザーは Linux のコマンドや Bash などのユーティリティも実行可能)。
実行中のコンフィグの変更
- AAA/TACACS+ サーバーの変更(サーバーの IP アドレスの変更)
- ループバック インターフェイスの IP アドレスの変更
- GRE トンネルの作成と使用
- 不正なローカルアカウントの作成
- ACL の変更
- SNMP コミュニティストリングの変更
- 標準および非標準ポートでの HTTP/HTTPS サーバーの変更
シェルアクセスの変更
- Guest Shell の有効化/無効化のコマンド
- 永続的なアクセスを維持するために、基盤となる Linux Shell または Guest Shell 上で、高いポート番号で SSH 代替サーバーを起動(例:sshd_operns をポート 57722 で起動)
- /usr/bin/sshd -p X
- Linux レベルのユーザーを作成(「/etc/shadow」、「/etc/passwd」の変更)
- Linux レベルでのルートユーザーまたは他のユーザーの下に SSH の「authorized_keys」を追加
パケットキャプチャ
攻撃の間中、パケットデータをキャプチャするために、以下に挙げるさまざまなツールや手法が使用されていました。
- Tcpdump:基本的なオペレーティングシステムのレベルでパケットデータをキャプチャするために使用されるポータブルなコマンドライン ユーティリティ
- Tcpdump –i
- Tpacap:NetIO で特定のインターフェイスに送信されるまたはインターフェイスから送信されるパケットを、基本的なオペレーティングシステムのレベルでキャプチャするために使用される Cisco IOS XR コマンドライン ユーティリティ
- Tpacap –i
- 組み込みパケットキャプチャ(EPC):パケットキャプチャのデータを取得およびエクスポートできる Cisco IOS の機能
- Monitor capture CAP export ftp://<ftp_server>
- Monitor capture CAP start
- Monitor capture CAP clear
攻撃のユーティリティ(JumbledPath)
攻撃者は JumbledPath というカスタムビルドのユーティリティを使用しており、攻撃者が定義したジャンプホストを経由して、リモートのシスコのデバイスでパケットキャプチャを実行していました。このツールはまた、ジャンプパス上のログを消去してログの取得を妨害し、圧縮・暗号化したキャプチャを攻撃者が定義した別の固有の接続またはジャンプを経由して返すためにも使用されました。これにより、攻撃者は一連の接続を作成し、リモートデバイスでキャプチャを実行しています。このユーティリティを使用すると、リクエストの元の送信元と最終的な接続先を不明瞭にすることができ、攻撃者が通常は非公開で到達できない(またはルーティングできない)デバイスやインフラストラクチャを経由できます。
このユーティリティは Go 言語で書かれており、x86-64 アーキテクチャを使用して ELF バイナリとしてコンパイルされました。このアーキテクチャを使用してユーティリティをコンパイルすると、さまざまなマルチベンダーのネットワークデバイスも含め、Linux オペレーティングシステム全体で広く使用できるようになります。このユーティリティは、攻撃者が設定した Cisco Nexus デバイスの Guestshell インスタンスで発見されました。
防御の回避
攻撃者は、侵害されたスイッチのループバック インターフェイスのアドレスを繰り返し変更し、そのインターフェイスを送信元として使用して、標的の環境内の他のデバイスに SSH 接続を行っていました。これにより、対象のデバイスに設定されていたアクセス制御リスト(ACL)を効果的にバイパスしています(「インフラストラクチャのピボッティング」を参照)。
攻撃者は自らの活動を隠蔽するために、.bash_history、auth.log、lastlog、wtmp、btmp など、関連するログを必要に応じて定期的に消去していました。多くの事例で「guestshell disable」コマンドが使用され、シェルアクセスが通常の状態に復元されていました。
攻撃者は認証、許可、アカウンティング(AAA)サーバーの設定を変更し、自分たちの管理下にあるアドレスを追加してアクセス制御システムを回避しました。
検出
今回の攻撃に関連する可能性のある不審なアクティビティを特定するには、以下の手段を推奨します。
- ベストプラクティスに沿った包括的な構成管理(監査を含む)を実施する。
- 包括的な認証/承認/コマンド発行のモニタリングを実施する。
- syslog と AAA ログをモニタリングし、異常なアクティビティがないか(通常よりログが少ない、またはアクティビティログの取得に空白がないかなど)を確認する。
- 動作や設定に異常な変更がないか環境をモニタリングする。
- ネットワークデバイスをプロファイル(NetFlow とポートスキャンを使用してフィンガープリント)して、攻撃対象領域の変化(新しいポートの開閉や、(経由せずに)送受信されるトラフィックなど)を確認する。
- 可能であれば NetFlow の可視性を高め、異常なデータ量の変化を特定する。
- 空ではない、または異常に大きい .bash_history ファイルがないか確認する。
- シスコのフォレンジックガイドを使用して、追加の識別と検出を実施する。
予防策
次の対策はすべてのセクターの組織に適用できます。
- シスコ固有の対策
- 「no ip http server」コマンドを使用して、基盤となる暗号化されていない Web サーバーを常に無効化する。Web 管理が不要な場合は、「no ip http server」および「no ip http secure-server」コマンドを使用して基盤となるすべての Web サーバーを無効化する。
- Telnet を無効にしてシスコのデバイス上のどの仮想端末(VTY)回線でも利用できないようにするために、すべての VTY スタンザを「transport input ssh」および「transport output none」に設定する。
- 必要ない場合は「guestshell disable」を使用して guestshell アクセスを無効にする(guestshell サービスをサポートしているバージョンの場合)。
- 「no vstack」を使用して、シスコの Smart Install サービスを無効にする。
- ローカルアカウントのログイン情報の設定には、タイプ 8 のパスワードを利用する。
- TACACS+ のキーの設定にはタイプ 6 のパスワードを使用する。
- 一般的な対策
- 更新、アクセス制御、ユーザー教育、ネットワーク セグメンテーションなど、セキュリティのベストプラクティスを厳格に遵守する。
- 米国政府および業界からのセキュリティアドバイザリから最新情報を入手し、記載された問題を軽減するために推奨される設定変更を検討する。
- デバイスの更新は可能な限り積極的に行う。これには、既知の脆弱性に対するパッチを現在使用しているハードウェアとソフトウェアに適用することや、サポート終了となったハードウェアおよびソフトウェアを交換することが含まれる。
- 複雑なパスワードとコミュニティストリングを選択し、デフォルトのログイン情報は使用しない。
- 多要素認証(MFA)を使用する。
- すべての監視・コンフィグトラフィック(SNMPv3、HTTPS、SSH、NETCONF、RESTCONF)を暗号化する。
- TACACS+ やジャンプホストといった認証システムをロックダウンし、積極的にモニタリングする。
- AAA を利用して、主要なデバイスの保護(例:ローカルアカウント、TACACS+、RADIUS)の設定変更を禁止する。
- 管理用インターフェイスの外部公開や異常なインターフェイスの使用を防止し、モニタリングする(例:SNMP、SSH、HTTP(S))
- 暗号化されていない Web 管理機能をすべて無効にする。
- すべての管理プロトコル(例:SNMP、SSH、Netconf)のアクセス制御リストの存在と正確さを検証する。
- より強力なキーまたは暗号化で、ログイン情報およびパスワードの全体的な管理プラクティスを強化する。
- ローカルアカウントのログイン情報の設定には、タイプ 8 のパスワードを使用する。
- TACACS+ のキーの設定にはタイプ 6 のパスワードを使用する。
- 設定を一元的に保存し、デバイスにプッシュする。デバイスを、そのデバイスの設定に関する信頼できる情報源として扱わない。
アナリストのコメント
攻撃が標的型であることや、被害者のネットワークへのアクセスが高度なレベルで確立されていること、攻撃者の広範な技術知識など、この攻撃が十分な資金力を持つ非常に高度な攻撃者によって行われていると考える理由はいくつかあります。さらに、この攻撃の長期にわたるタイムラインは、高いレベルでの連携、計画、忍耐を必要とし、これは Advanced Persistent Threat(APT)や国家が支援する攻撃者の標準的な特徴です。
今回の調査期間中、Smart Install(SMI)の脆弱性によりシスコのデバイスがさらに広く標的にされ、CVE-2018-0171(Cisco IOS および Cisco IOS XE ソフトウェアの Smart Install 機能における脆弱性)のその後の悪用も確認されました。これは「Salt Typhoon」による攻撃とは関係がないと見られ、攻撃者の特定はまだできていません。監視対象として提供された以下の IP アドレスは、この無関係と思われる SMI の脆弱性悪用に関連しています。
Smart Install(CVE-2018-0171)のような既知の脆弱性を持つレガシーデバイスは、パッチを適用するか、今後使用しない場合は廃止するべきです。たとえそのデバイスが重要なデバイスでなくても、トラフィックを伝送していなくても、より重要な他のデバイスにピボッティングするための入り口として攻撃者が使用する可能性があります。
本ブログの調査結果は、ここで説明した攻撃に関する Cisco Talos の見解を述べたものです。攻撃とその影響はまだ調査中であり、状況は変わり続けています。そのため、今回の投稿は新しい調査結果や評価の調整を反映し、適宜更新される可能性があります。
侵害指標(IOC)
IP アドレス:
(Smart Install の悪用は「Salt Typhoon」とは関係ありません)
185[.]141[.]24[.]28
185[.]82[.]200[.]181
本稿は 2025 年 2 月 20 日にTalos Group
のブログに投稿された「Weathering the storm: In the midst of a Typhoon
」の抄訳です。