Cisco Japan Blog

Vice Society、PrintNightmare の脆弱性をランサムウェア攻撃に利用

2 min read



概要

Cisco Talos インシデント対応チームの調査で、新たな攻撃者が Windows のプリントスプーラーサービスに存在する PrintNightmare という脆弱性(CVE-2021-1675/CVE-2021-34527)を矢継ぎ早にエクスプロイトし、被害者のネットワークに感染を広げていることが判明しました。これは最近のランサムウェア攻撃の一環です。過去の調査では、別の攻撃者が PrintNightmare の脆弱性をエクスプロイトpopup_iconしていたことが明かされていました。新たな攻撃者である Vice Society がこの脆弱性をエクスプロイトしたのは今回が初めてだと思われます。

Talos インシデント対応チームの調査結果が示しているのは、この脆弱性が攻撃者からの注目を集めているということです。今後も続々と他の攻撃者に悪用され、攻撃に組み込まれる可能性があります。防御側にとって重要なのは、ランサムウェアの展開に至るまでの攻撃ライフサイクルを理解することです。PrintNightmare の最新パッチをまだ入手していない場合は、Microsoft 社からダウンロードしてください。

本記事では、この脆弱性を悪用して Vice Society が仕掛けた最近のランサムウェア攻撃で見られたさまざまな戦術、手法、手順(TTP)を分析します。以前公開した WastedLocker 攻撃の分析にもあるように、同様の TTP は他のランサムウェア攻撃でも数多く確認されています。

Vice Society とは?

2021 年半ばに登場した Vice Society は、ランサムウェアとして比較的新しい存在です。主に中小規模の組織を標的popup_iconとし、大物狩りや二重脅迫攻撃を仕掛けていることが確認されています。

特徴的なのは、公立学校区などの教育機関も標的にしている点です。Vice Society はまだ登場して間もないため、TTP の定量化は困難です。ただ、インシデント対応の観察によれば、新たに見つかった脆弱性をすぐさま悪用してネットワーク内を横方向に移動し、かつ永続化を図っていることがわかります。また、エンドポイントでの検出対応のバイパスについても革新的な試みを行っています。

大物狩りの手法を駆使する他の攻撃者と同様に、Vice Society はデータリークサイトを運営しており、被害者が身代金を支払わない場合は盗み出したデータを公開しています。以下は、このサイトのスクリーンショットの一例です。

最近の攻撃手法

Vice Society に関連のある最近の人為的なランサムウェア攻撃を分析したところ、攻撃ライフサイクルの各段階でいくつか注目すべき TTP が使用されていることが確認されました。特に興味深い特徴は次のとおりです。

  • 攻撃ライフサイクルの侵入後のフェーズで、Proxychains や Impacket などのユーティリティを使用している
  • ランサムウェア展開後の復旧を阻むため、バックアップを標的としている
  • 被害者の環境で仮想化に使用されている ESXi サーバの性能を低下させている
  • 最近発見された PrintNightmare の脆弱性を悪用した DLL を使用している(この脆弱性については、Microsoft 社がすでにセキュリティ更新プログラムをリリース済み)
  • ログイン情報の盗難や権限昇格を防ぐために Windows に標準搭載されている保護機能のバイパスを図っている

以降では、この攻撃で使用されている TTP の主な例を、MITRE ATT&CKpopup_icon フレームワークに関連付けながら紹介します。

検出

ATT&CK 手法:システムオーナー/ユーザの検出(T1033)popup_icon
ATT&CK 手法:アカウントの検出(T1087)popup_icon
ATT&CK 手法:ドメインの信頼関係の検出(T1482)popup_icon

最初の侵入に成功した後、さまざまな手口を使ってその後の検出や偵察を環境内で実行しています。環境内で使用されているバックアップソリューションにアクセスしようとしていましたが、これは身代金を支払うことなく復旧に成功するのを阻止するためだと考えられます。また、「sudo」コマンドを使って商用のバックアップソリューションに関連付けられたログイン情報を取得していました。この目的は、環境内に存在するバックアップにアクセスすることだと推測されます。

sudo -s -k -p [Backup Prompt] whoami

ネットワークプロトコルを操作するための一般的なツールである Impacket の使用も確認されています。このツールを用いて環境を列挙し、Active Directory の設定に関する詳細情報を取得していました。通常、攻撃者にとって魅力的な価値の高い標的を特定するために行われる動きです。あらかじめ攻撃の影響範囲を可能な限り広げておき、最後にランサムウェアを展開してその存在を明らかにします。このアクティビティの実行に使用されていたコマンドライン構文の例を以下に示します。

cmd.exe /q /c net group enterprise admins /domain 1> \\127.0.0.1\admin$\__[STIRNG] 2>&1

 

cmd.exe /q /c net group domain admins /domain 1> \\127.0.0.1\admin$\__[STRING] 2>&1

環境内に存在するドメインの信頼関係が列挙されたことも確認しています。これには、「nltest」コマンドが使用されていました。

c:\windows\system32\nltest.exe /dclist:linux [HOSTNAME]

実行

ATT&CK 手法:コマンドとスクリプトインタープリタ:Windows コマンドシェル(T1059.003)popup_icon
ATT&CK 手法:コマンドとスクリプトインタープリタ:PowerShell(T1059.001)popup_icon
ATT&CK 手法:Windows Management Instrumentation(T1047)popup_icon
ATT&CK 手法:システムサービス:サービス実行(T1569.002)popup_icon

侵入後の偵察フェーズと同様に、Impacket の利用が確認されています。このツールを使って Windows Management Instrumentation(WMI)を実行し、環境内の他のシステムでコマンドを実行していました。「Proxychains」も使用されていました。侵入テストやレッドチーミングなどで攻撃を仕掛ける際に、ネットワークトラフィックをリダイレクトするために使用されることの多いユーティリティです。

cmd.exe /q /c proxychains ~/impacket/examples/wmiexec.py -hashes [SHA256 HASH] [USERNAME]@[IP ADDRESS] 1> \\127.0.0.1\admin$\__[STRING] 2>&1

また、Windows バッチファイルを使用して PSExec が実行されたことも確認しています。今回のケースでは、PSExec はリモートで認証を行い、環境内のリモートシステムで PowerShell を実行していました。

cmd.exe /c C:\s$\0.bat PsExec.exe -d \\[HOSTNAME] -u [DOMAIN]\[USERNAME] -p [PASSWORD] -accepteula -s cmd /c powershell.exe -ExecutionPolicy Bypass -file \\[HOSTNAME]\s$\p.ps1

環境内には、最近公開された PrintNightmare の脆弱性が攻撃に使用されたような痕跡もありました。PrintNightmare に関連する DLL が環境内のシステムで見つかっています。これについては、「ログイン情報へのアクセス」のセクションでも説明します。

永続化

ATT&CK 手法:システムプロセスの作成または変更(T1543)popup_icon

大物狩りの手法を使用するランサムウェア攻撃の多くでは、標的とした環境への最初の侵入に成功すると、攻撃者はまず永続化を試みます。検出されたり最初の侵入ポイントが削除されたりした場合でも再び同じ環境にアクセスできるようにするためです。今回のケースでは、Windows サービスを利用して PowerShell を実行し、環境内に永続的にとどまることができるようにしていました。

Windows サービスが設定されていたオプションは、次のとおりです。

サービスタイプ:user mode service
サービス開始タイプ:demand start
サービスアカウント:LocalSystem
サービス名:Updater

サービスファイル名:

%COMSPEC% /C start /b %WINDIR%\System32\WindowsPowershell\v1.0\powershell -noP -sta -w 1 -enc [BASE64 ENCODED BLOB]

上記のように、実行された PowerShell は Base64 でエンコードされていました。デコードされた PowerShell の命令は次のとおりです。

この PowerShell は、次のタスクを実行します。

  • PowerShell ロギングの無効化
  • PowerShell の AMSI 保護をバイパス
  • 攻撃者が制御するサーバからバックドアペイロードをダウンロード、復号、実行

永続化を実装できれば、標的とした組織が対応して最初のアクセス手段が使えなくなったとしても、再び同じ環境にアクセスできるようになります。

ラテラルムーブメント

ATT&CK 手法:リモートサービス(T1021)popup_icon
ATT&CK 手法:ツールの横展開(T1570)popup_icon

標的の環境内で攻撃を開始すると、通常、攻撃者は偵察を行って新たな標的システムを特定します。その後システムからシステムへと横展開して権限昇格を試み、最終的に環境内の多くのシステムにランサムウェアを展開します。調査中、攻撃者が Windows のリモートデスクトップ接続を利用して環境内の別のシステムを新たな標的にしていることを確認しました。通常は次のコマンドライン構文を使用して実行されます。

C:\Windows\system32\mstsc.exe /v [HOSTNAME]

また、システムからシステムへと展開しながら、環境内のリモートシステムで PowerShell スクリプトを実行しようとしていました。

cmd /c powershell.exe -ExecutionPolicy Bypass -file \[IPADDRESS]\share$\p.ps1

この PowerShell スクリプトは攻撃中に環境内の複数のシステムにコピーされ、実行されています。

ログイン情報へのアクセス

ATT&CK 手法:OS ログイン情報のダンプ(T1003)popup_icon
ATT&CK 手法:OS ログイン情報のダンプ:LSASS メモリ(T1003.001)popup_icon

攻撃者は 2 つの方法で標的のログイン情報を抽出しようとしていました。1 つは Active Directory のグローバルカタログファイル ntds.dit へのアクセス、もう 1 つが comsvcs.dll の使用です。comsvcs.dll は、LSASS(Local Security Authority Subsystem Service)データを抽出する方法としてよく知られています。rundll32.exe で comsvcs.dll を呼び出せば、任意のプロセスのダンプを作成できます。古典的ながら巧妙な環境寄生型バイナリ(LoLBin)戦術であり、Mimikatz など、防御側の警戒を招く可能性がある一般的なログイン情報抽出ツールを使用せずに済みます。

また、Active Directory 情報のデータベースである ntds.dit をダンプしようとしたことも確認されています。こうしたケースで使用されていたコマンドライン構文の例を以下に示します。

cmd.exe /q /c powershell ntdsutil.exe 'ac i ntds' 'ifm' 'create full c:\temp' q q 1> \\127.0.0.1\admin$\__[STRING] 2>&1

 

cmd.exe /q /c powershell ntdsutil.exe 'ac i ntds' 'ifm' 'create full c:\temp_logs' q q 1> \\127.0.0.1\admin$\__[STRING]5 2>&1

また、Microsoft 社が最近公開した一連の脆弱性 PrintNightmare も利用されていました。権限を必要とするファイル操作をプリントスプーラーが不適切に行うと、リモートコード実行が可能になります。現代のあらゆる企業では、印刷サービスが当たり前に使用されていることから、この攻撃ベクトルは注目に値します。Microsoft 社popup_iconは最近、PrintNightmare のセキュリティパッチpopup_iconをリリースしました。エクスプロイトを回避するため、すべての企業がパッチを直ちに適用するようお勧めします。

防御の回避

ATT&CK 手法:ホストからの痕跡の削除:Windows イベントログの消去(T1070.001)popup_icon
ATT&CK 手法:レジストリの変更(T1112)popup_icon
ATT&CK 手法:防御の妨害またはツールの改変(T1562.001)popup_icon

これまでに説明してきたとおり、攻撃中に検出の回避とセキュリティ対策の無効化が複数回にわたって試みられていました。侵入したシステムのセキュリティログの内容を消去しようとしたことも確認されています。システム、セキュリティ、およびアプリケーションの Windows イベントログを消去するために使用されていたコマンドライン構文は次のとおりです。

c:\windows\system32\wevtutil.exe cl system

 

c:\windows\system32\wevtutil.exe cl security

 

c:\windows\system32\wevtutil.exe cl application

また、リモートシステムの Windows レジストリをリモートで変更してリモート管理の制限popup_iconを無効化していました。これにより、ラテラルムーブメントと権限昇格のアクティビティが容易になります。セキュリティ対策を無効化すれば、Pass-the-Hash 攻撃を実行してシステム上の RDP のセキュリティを阻害できます。

cmd.exe /q /c powershell new-itemproperty -path hklm:\system\currentcontrolset\control\lsa -name disablerestrictedadmin -value 0 -propertytype dword -force 1> \\127.0.0.1\admin$\__[STRING] 2>&1

また、侵入したシステムの Windows レジストリを変更して Windows Defender を無効化していました。これは、次のコマンドを使用して実行されました。

C:\Windows\system32\reg.exe delete HKLM\Software\Policies\Microsoft\Windows Defender /f

 

C:\Windows\system32\reg.exe add HKLM\Software\Policies\Microsoft\Windows Defender\Real-Time Protection /v DisableRoutinelyTakingAction /t REG_DWORD /d 1 /f

 

C:\Windows\system32\reg.exe add HKLM\Software\Policies\Microsoft\Windows Defender\SpyNet /v DisableBlockAtFirstSeen /t REG_DWORD /d 1 /f

さらに、AMSI バイパスを使用して環境を列挙しながら検出を回避しようとしていました。侵入したシステムに導入されている可能性があるエンドポイント セキュリティ ソリューションによる検出を回避するためによく使われる手口です。今回のケースでは、Windows コマンドプロセッサを使用して PowerShell を起動し、Invoke-Expression(IEX)を利用していました。

cmd.exe /Q /c powershell.exe -exec bypass -noni -nop -w 1 -C IEX ([Net.ServicePointManager]::ServerCertificateValidationCallback={$true}try{[Ref].Assembly.GetType('Sys'+'tem.Man'+'agement.Aut'+'omation.Am'+'siUt'+'ils').GetField('am'+'siIni'+'tFailed','NonP'+'ublic,Sta'+'tic').SetValue($null,$true)}catch{}quser)

データ漏洩

ATT&CK 手法:代替プロトコルを介したデータ漏洩(T1048)popup_icon

ここ数年、二重脅迫攻撃の手口を採用するランサムウェア攻撃者が増えています。二重脅迫の場合、被害者をさらに恐喝するため、攻撃者は大量の機密情報を盗み出そうとします。盗み出されたデータは、被害者が身代金を支払わない場合、攻撃者が管理する Web サイトに公開されます。一般に「データリークサイト」と呼ばれているサイトです。

今回の攻撃では、侵害されたドメインコントローラから SMB(TCP/445)を介して直接機密情報を盗み出そうとしていました。攻撃対象の環境の境界に存在する可能性のある出力フィルタリングをバイパスするためにこの手口を選んだ可能性があります。

防御のポイント

ネットワークに侵入してマルウェアを仕掛ける手口は無数にあり、完全に防御することは困難です。ここで紹介した手口だけを想定した場合でも、すべての攻撃手段への対策を講じるとなると、防御する側としては圧倒される思いがするのではないでしょうか。それでも、今回取り上げたインシデントからいくつかの教訓を得ることができます。

  • ログの保存は分析調査に不可欠なので、信頼性の高いセキュアなロギング インフラストラクチャを整備する
  • 多要素認証を利用し、ログイン情報を盗まれにくくする
  • ファイアウォールの出力フィルタリングを検討し、悪意のあるトラフィックが攻撃者のインフラと通信することがないようにする
  • LoLBin の悪用やマルウェアの埋め込みを検出するエンドポイント検出対応プラットフォームを活用する
  • 攻撃者が標的にできない最新のオフラインバックアップを保持する

まとめ

この記事で紹介したように、攻撃者は多くの場合、目的を達成するために多様な戦術、手法、手順を駆使します。場合によっては、複数の異なる攻撃者が使用する手口に重要な共通点や類似点が見られることもあります。多くのケースで、攻撃者はデュアルユースツールpopup_iconを広範囲に活用することによって侵入の痕跡をできるだけ残さないようにし、検出を回避しています。また、攻撃をいっそう効果的、効率的に展開できるよう、また検出されることのないよう、ランサムウェア攻撃のライフサイクルに対するアプローチを絶えず工夫しています。

PrintNightmare の脆弱性の利用から見えてくるのは、攻撃者が細心の注意を払い、攻撃中のさまざまな目的に役立つ新しいツールをすぐさま組み込んでいるということです。現在、複数の攻撃者が PrintNightmare を利用しています。この手口が有効である限り、新たに利用する攻撃者は後を絶たないでしょう。防御側としては、環境への侵入が成功したことを示す不正なアクティビティを防止、検出、対応できるよう、攻撃のライフサイクル全体で使用されているさまざまな TTP を認識することが大切です。そうしなければ、広範囲にわたる業務の中断、評判の低下、機密情報の漏洩を招く恐れがあります。

カバレッジ

お客様がこの脅威を検出してブロックするための方法を以下に記載します。

Cisco Secure Endpoint は、この記事で説明したマルウェアの実行を阻止するのに最適です。新規ユーザの方は、こちらからpopup_icon Cisco Secure Endpoint を無料でお試しいただけます。

Cisco Secure Web Appliance の Web スキャンは、悪意のある Web サイトへのアクセスを防止し、上述したような攻撃で使用されるマルウェアを検出します。

Cisco Secure FirewallMeraki MX を使用すれば、この脅威に関連する悪意のあるアクティビティを検出できます。

Cisco Secure Malware Analytics は、悪意のあるバイナリを特定し、シスコのすべてのセキュリティ製品に保護機能を組み込みます。

Cisco Umbrella(シスコのセキュア インターネット ゲートウェイ(SIG))は、社内ネットワークの内外で悪意のあるドメイン、IP、URL への接続をブロックします。

特定の環境および脅威データに対する追加の保護機能は、Cisco Secure Firewall Management Center から入手できます。

オープンソースの Snort サブスクライバルールセットをお使いであれば、Snort.orgpopup_icon で購入可能な最新のルールパックをダウンロードすると、最新状態を維持できます。今回の脅威を検出する目的でリリースされた SID は、57876 と 57877 です。

侵入の痕跡(IOC)

今回の攻撃に関連する侵入の痕跡としては以下が確認されています。

PrintNightmare の DLL:6f191f598589b7708b1890d56b374b45c6eb41610d34f976f0b4cfde8d5731af

 

本稿は 2021 年 08 月 12 日に Talos Grouppopup_icon のブログに投稿された「Vice Society Leverages PrintNightmare In Ransomware Attackspopup_icon」の抄訳です。

 

コメントを書く