-
タグ
タグ
- セキュリティ
- 人材開発・教育
- システム開発
- アプリ開発
- モバイルアプリ
- DX
- AI
- サイバー攻撃
- サイバー犯罪
- 標的型攻撃
- 脆弱性
- 働き方改革
- 企業市民活動
- 攻撃者グループ
- JSOC
- JSOC INSIGHT
- サイバー救急センター
- サイバー救急センターレポート
- LAC Security Insight
- セキュリティ診断レポート
- サイバー・グリッド・ジャパン
- CYBER GRID JOURNAL
- CYBER GRID VIEW
- ラックセキュリティアカデミー
- すごうで
- ランサムウェア
- ゼロトラスト
- ASM
- EDR
- SASE
- デジタルアイデンティティ
- インシデントレスポンス
- 情シス向け
- 対談
- CIS Controls
- Tech Crawling
- クラウド
- クラウドインテグレーション
- データベース
- アジャイル開発
- DevSecOps
- OWASP
- CTF
- FalconNest
- セキュリティ診断
- IoT
- EC
- サプライチェーンリスク
- スレットインテリジェンス
- テレワーク
- リモートデスクトップ
- アーキテクト
- プラス・セキュリティ人材
- 障がい者採用
- 官民学・業界連携
- カスタマーストーリー
- 白浜シンポジウム
- CODE BLUE
- 情報モラル
- クラブ活動
- 初心者向け
- 趣味
- カルチャー
- 子育て、生活
- 広報・マーケティング
- コーポレート
- ライター紹介
- IR
サイバー救急センターの石川です。
2019年2月にLAC WATCHで、ペネトレーションテストツール「PoshC2」を悪用した標的型攻撃の手口を紹介しました。
LAC WATCH:オープンソースのツール「PoshC2」を悪用した新たな標的型攻撃を確認
2020年に入ってからも、私の所属する脅威分析チームでは同種の攻撃を引き続き観測しており、今まで確認できなかった詳細な攻撃の流れが見えてきました。攻撃者グループが用いる攻撃の手口やC2インフラに変化が現れていることも確認しています。
今回は、新たに見えてきた詳細な攻撃の手口と、背後に潜む攻撃者グループについて紹介します。
PoshC2を悪用した標的型攻撃の詳細な手口
図1は、PoshC2を悪用する攻撃の流れを示したもので、大きく3つの手口に分類されます。このうち、攻撃手口2については前述の2019年2月に公開したLAC WATCH記事で取り上げているため、ここでは攻撃手口1と攻撃手口3の詳細と、攻撃の中で使われたC2インフラの変化について説明します。
攻撃手口1(CVE-2019-9489およびDLLハイジャックの悪用)
これは、ウイルスバスターCorp.の脆弱性(CVE-2019-9489)およびDLLハイジャック(DLL Search Order Hijacking)を悪用した攻撃手口です。2019年のLAC WATCH記事では、DLLハイジャックの悪用からPoshC2スクリプトの実行までを解説しましたが、今回は、被害者PCへの不正なDLLファイルの配信手法とDLLハイジャックの悪用についてです。攻撃の多くは、今年1月に開催されたJapan Security Analyst Conference 2020でのJPCERTコーディネーションセンターの発表でも紹介された※1、CVE-2019-9489の脆弱性の悪用から始まります。図2は、CVE-2019-9489およびDLLハイジャックを悪用した手口の概要です。
※1 Japan Security Analyst Conference 2020 (オープニングトーク) 2019年のインシデントを振り返る
攻撃の流れは次の通りです。
- 攻撃者は、スピアフィッシングメールや脆弱性の悪用等によって侵害したPCを踏み台として、CVE-2019-9489の脆弱性を悪用し、ウイルスバスターCorp.サーバの特定のディレクトリに管理者権限を持つ認証トークンファイルを作成
- 攻撃者は、このトークンを利用してウイルスバスターCorp.サーバの管理画面の認証を回避し、管理者権限でアクセス。その後、パターンファイルの配信元を、攻撃者が管理する偽のアップデートサーバへ設定変更
- 偽のアップデートサーバから、不正な「dbghelp.dll」ファイルを含む偽のパターンファイルが被害者PCに配信される。この際、ウイルスバスターCorp.クラインアントがパターンファイルの内容を適切に検証しない※2ため、DLLファイルが被害者PCの特定のディレクトリに展開される
- ウイルスバスターCorp.クラインアントのプログラムが実行される際に、「%SystemRoot%¥System32」にある正規の「dbghelp.dll※3」ではなく、同じディレクトリに展開された不正な「dbghelp.dll」を意図せず読み込んでしまい、DLLファイルに含まれたいくつかの攻撃コード※4がBATファイルを通じて実行される
攻撃の中で特徴ある項目についてピックアップしてみていきます。
※2 この問題については、ウイルスバスターCorp. XG SP1の場合、CVE-2019-9489の脆弱性を解消するパッチ(Critical Patch 5338)の1つ前にリリースされたCritical Patch 5294で解消されていることを確認しています。
※3 Microsoftのデバックエンジンを提供するDLLファイルの1つです。
※4 PoshC2スクリプト、リモートデスクトップのネットワークレベル認証(NLA)の無効化、ログイン画面の拡大鏡(magify.exe)を「cmd.exe」に置き換えたバックドアの作成や管理者権限を有するユーザを作成するコマンドなどの攻撃コード。
CVE-2019-9489の脆弱性
CVE-2019-9489はディレクトリトラバーサルが可能な脆弱性です。ウイルスバスターCorp.クライアントから隔離ファイルを受信するプログラム「cgiRecvFile.exe」が、特定の関数において入力されたファイルパスを適切にチェックしないことに起因しています。攻撃者はこの脆弱性を悪用することによって、ウイルスバスターCorp.サーバまたはウイルスバスタービジネスセキュリティサーバで任意のファイルを作成・変更することができます。
図3は、この脆弱性が修正されたウイルスバスタービジネスセキュリティ 9.5 Critical Patch(ビルド1487)のReadme※5の内容の一部抜粋です。赤枠で示すように、「cgiRecvFile.exe」で脆弱性が修正されていることが確認できます。その他のウイルスバスターCorp.の修正プログラムについては、トレンドマイクロ社のサポート情報※6をご参照ください。
※6 サポート情報 : トレンドマイクロ 【注意喚起】弊社製品の脆弱性(CVE-2019-9489)を悪用した攻撃を複数確認したことによる最新修正プログラム適用のお願い
拡大鏡を悪用したバックドアと、リモートデスクトップのネットワークレベル認証の無効化
「dbghelp.dll」に含まれるBATファイルには、図4のようなレジストリを変更するコマンドが含まれています。これらのコマンドは、拡大鏡(magnify.exe)を悪用した「cmd.exe」によるバックドアを設定するものと、リモートデスクトップのネットワークレベル認証(NLA)を無効化するものです。また、図5は、ログイン画面から拡大鏡を悪用したバックドアを実行したものです。赤枠で示すようにSYSTEM権限で「cmd.exe」が起動していることが確認できます。
DLLハイジャック
DLLハイジャックは、DLLファイルを読み込む際の検索パスの処理に起因して、同一ディレクトリに存在する特定のDLLファイルを読み込んでしまう問題です。攻撃の流れで説明したように、攻撃者は、ウイルスバスターCorp.サーバのアップデート配信機能を悪用し、被害者PCのウイルスバスターCorp.クライアントの特定のディレクトリに攻撃コードを含む「dbghelp.dll」を展開させます。ウイルスバスターCorp.クライアントのプログラムが動作した際に、「%SystemRoot%¥System32」にある正規の「dbghelp.dll」ではなく、特定のディレクトリに展開された不正なDLLファイルが読み込まれて攻撃コードが実行されます。表1は、このアップデート配信機能を悪用した攻撃で悪用可能なウイルスバスターCorp.クライアントのプログラムの一例で、いずれもPC起動時に自動実行されます
プログラム名 | 確認バージョン※7 | 説明 |
---|---|---|
PccNTMon.exe | 13.0.0.1361 | ウイルスバスターCorp.クライアントモニターのプロセス |
NTRtScan.exe | 13.0.0.1361 | リアルタイムスキャンのプロセス |
TmListen.exe | 13.0.0.1361 | ウイルスバスターCorp.クライアントがウイルスバスターCorp.サーバと通信するためのプロセス |
※7 ウイルスバスターCorp. XG SP1の場合、Critical Patch 5294以降のパッチを適用したバージョンを利用することで、この攻撃による影響を緩和することが可能です。
図6は、「PccNTMon.exe」によって読み込まれたファイルをProcess Monitorで確認したものです。「dbghelp.dll」がシステムディレクトリ(%SystemRoot%¥system32)ではなく、トレンドマイクロ社製品のディレクトリ(C:¥Program Files¥Trend Micro¥OfficeScan Client)から読み込まれてしまっていることが確認できます。
図7は、「PccNTMon.exe」によって読み込まれたDLLファイルをProcess Explorerで確認したものです。こちらでも、「dbghelp.dll」が「C:¥Program Files¥Trend Micro¥OfficeScan Client」から読み込まれていることが確認できます。また、赤枠で示すように、「dbghelp.dll」に含まれた「firefox.exe」(PowerShell)がPoshC2スクリプトを実行していることも確認できます。
カスタムPoshC2
攻撃者は、公開されているPoshC2の「Core Dropper」のコード※8にセキュリティ制限を回避するコードをいくつか加え、攻撃に利用しています。ここでは、加えられた3つのコードについて紹介します。
※8 Core Dropper -- PoshC2 Framework documentation
(https://poshc2.readthedocs.io/en/stable/execution/core.html)
1つ目は、Antimalware Scan Interface(AMSI)※9を回避するコードです(図8)。これは実行する環境がWindows 10の場合に動作します。AMSIは、Windows 10から標準で搭載されているマルウェア対策用のインターフェースで、悪意のあるスクリプトを検出する仕組みを提供します。しかし、Windows 10 バージョン1903では、Windows Defenderによってブロックされていることが確認できます(図9)。
※9 Antimalware Scan Interface (AMSI) - Win32 apps | Microsoft Docs
2つ目は、PowerShellスクリプトブロックのログ記録を無効にするコードです(図10)。こちらも実行する環境がWindows 10の場合に動作します。Windows 10などPowerShell v5.0がインストールされた環境では、実行されたPowerShellスクリプトがデフォルトでイベントログに記録されますが、攻撃者はこの制限を回避し、攻撃の痕跡を記録させない手口を用いています。
最後の3つ目のコードは、PoshC2の実行時間を指定するコード(図11)で、OSのバージョンに関わらず実行されます。実行時間はスクリプトによっても異なりますが、平均的な勤め人の勤務時間を目安とした8:00から21:00ごろまで動くように設定されています。
攻撃手口3(MSBuildの悪用)
これはMicrosoft Build Engine(MSBuild)※10を悪用した攻撃手口です。.NET Frameworkラインタイムに標準で含まれるMSBuildは、Visual Studioや.NET Frameworkのビルドエンジンであり、独自のXMLフォーマットファイル(プロジェクトファイル)を利用して.NETアプリケーションを作成できます。PoshC2は、EXE、DLL、BAT、JSなど様々なフォーマット※11でペイロードを作成でき、そのうちの1つにこのMSBuildで利用可能なXMLファイルがあります。
※10 MSBuild - Visual Studio | Microsoft Docs
※11 PoshC2/resources/payload-templates at master · nettitude/PoshC2 · GitHub
図12は、PoshC2によって作成されたXMLファイルの一部コードです。赤枠で囲んだ部分が攻撃コードであり、sc32が32bit環境用で、sc64が64bit環境用です。この攻撃コードには、シェルコード、PoshC2スクリプトを含むDLLファイル(PowershellDLL.dll)と.NETアプリケーション(Microsoft.dll)の3つが含まれています。図13は、攻撃コードをBase64デコードしたものであり、先頭から0x364バイトまでがシェルコード(青枠)に該当し、その後に「MZ」ヘッダが消されたDLLファイルが含まれていることが確認できます。
「MZ」ヘッダが消されたDLLファイルには、Base64とgzipでエンコードおよび圧縮されたPoshC2スクリプトが含まれています(図14)。このPoshC2スクリプトは、攻撃コードの3つ目に含まれる.NETアプリケーションによってメモリ上で実行され、「MSBuild.exe」プロセスにインジェクションして動作します。.NETアプリケーションは「PowerShellRunner」※12をカスタマイズしたものであり、PowerShellの機能を提供する「System.Management.Automation.dll」を利用することで、「powershell.exe」を呼び出さず、PowerShellスクリプトを実行します(図15)。
※12 UnmanagedPowerShell/PowerShellRunner at master · leechristensen/UnmanagedPowerShell · GitHub
C2インフラを定期的に変更
攻撃者は、2019年前半までは、GCP(Google Cloud Platform)やMicrosoft Azureといったクラウドサービスを主要なC2サーバとして悪用していました。2019年後半からは、香港でVPSサービスを提供するShenzhen Katherine Heng Technology Information(AS135357)やCloudie Limited(AS55933)が悪用されています。攻撃者は、C2インフラを再利用せず、定期的に変更して攻撃活動を行なっています。
背後に潜む攻撃者グループ
私たちはPoshC2を悪用した一連の攻撃について調べる中で、日本や台湾を主な標的とする攻撃者グループTaidoor※13やBlackTechが、この一連の攻撃に関与している可能性があることを示す痕跡を確認しています。
※13 攻撃キャンペーン名として使われている場合もあります。
Taidoor
トレンドマイクロ社のブログ※14、NTT Security社のレポート※15やTaidoorが利用するマルウェア(SERKDES)の解析レポート※16で報告されている攻撃の手口と以下の点が類似します。
- 2018年〜2019年における日本への標的型攻撃での「PoshC2」の悪用
- Remote Access Auto Connection Manager(RasAuto)サービスを悪用した自動起動設定(図16)
- オンラインストレージサービスである「Dropbox」の利用
※14
この大型連休前後に法人で注意すべき標的型攻撃の特徴を解説 | トレンドマイクロ セキュリティブログ
標的型攻撃キャンペーン「Taidoor」の活動が日本で活発化 | トレンドマイクロ セキュリティブログ
BlackTech
PoshC2を悪用する一連の攻撃の中で、BlackTechが利用するTSCookieやTSCookie Loader※17を確認しています。図17に示すように、TSCookie Loaderが読み込むファイルは、「*%c???.*」にマッチするファイル名です。今回のケースでは、"%c"には、「A」が入るため、ファイル名が「*A??.*」となっています。また、メモリ上にロードされるDLLファイル名は、正規のDLLファイル名と同じ「gdiplus.dll」となっています(図18)。
※17 攻撃グループBlackTechが侵入後に使用するマルウエア - JPCERT/CC Eyes | JPCERTコーディネーションセンター公式ブログ
これらの2つの攻撃者グループの痕跡は同一組織の侵害事例の中で見つかっています。被害者PCに残されたマルウェア、イベントログや通信ログなどの痕跡を確認すると、同一期間に作成されたものではなく、いずれかの攻撃が行われた後、数ヶ月から半年ほど経ってから、新たに作成されたものでした。このことから、2つの攻撃者グループは、「標的組織の情報」を共有し、連携しながら攻撃活動を行っている、または1つの大きな攻撃者グループとして攻撃活動を行なっている可能性が考えられます。
今回は、2020年においてもPoshC2を悪用した攻撃を引き続き確認しているため、この一連の攻撃について改めて紹介しました。昨今、TaidoorやBlackTechは、絶えず攻撃を仕掛けてきており、今後も新しい攻撃の手口や攻撃ツールを変化させ、継続的に攻撃を仕掛けてくることが考えられます。
今回の攻撃では、日本の多くの企業が導入しているセキュリティ対策製品の脆弱性が悪用されており、日本の組織を標的としていることがわかります。標的型攻撃の起点は、添付ファイルや本文にリンクを含むスピアフィッシングメールが多いですが、SSL VPN製品やルータ・ゲートウェイ製品の脆弱性を悪用するケースも多く、これらの製品の脆弱性を悪用されないためにも、日々の脆弱性情報の管理と修正パッチの適用や緩和策の適用などの早急な対応が求められます。
また、これらの攻撃グループは、「frp」や「plink」といったポート転送/トンネリングツールを悪用してリモートデスクトップ(RDP)接続を行う攻撃を行うことも確認しています。ポート転送/トンネリングツールを悪用したRDPを利用した攻撃の詳細については「オープンソースのポート転送/トンネリングツールを悪用する標的型攻撃に注意」のLAC WATCHをご参照ください。
ラックの脅威分析チームでは、今後もこの攻撃者グループについて継続的に調査し、広く情報を提供していきますので、ご活用いただければ幸いです。
MITRE ATT&CK Techniques
以下に、PoshC2を悪用した標的型攻撃で用いられる攻撃の手口をまとめます。これらの手口は、MITRE ATT&CKフレームワークに基づいて作成しています。Tacticの「Lateral Movement」、「Collection」、「Command and Control」、「Exfiltration」の項目については、多くがMitre社のPoshC2で紹介※18されるテクニックが利用されています。
※18 PoshC2, Software S0378 | MITRE ATT&CK®
Tactic | ID | Name | 概要 |
---|---|---|---|
Initial Access | T1195 | Supply Chain Compromise | セキュリティ対策製品の脆弱性を悪用偽のアップデートファイル配信 |
Execution | T1059 | Command-Line Interface | regコマンドを利用したRDP設定 変更やバッチファイルの実行 |
T1086 | PowerShell | PoshC2スクリプトの実行 | |
T1035 | Service Execution | RasAutoサービスを利用したPoshC2スクリプトの実行 | |
T1047 | Scheduled Task | スケジュールタスクを利用したPoshC2スクリプトの実行 | |
T1127 | Trusted Developer Utilities | MSBuild悪用 | |
Persistence | T1031 | Modify Existing Service | RasAutoサービスの変更 |
T1050 | New Service | サービスの登録 | |
T1060 | Registry Run Keys / Startup Folder | 自動起動のレジストリ追加 | |
T1015 | Accessibility Features | 拡大鏡機能を悪用したcmd.exeによるバックドア | |
Defense Evasion | T1038 | DLL Search Order Hijacking | 正規の実行ファイルが使うDLLファイルと同じ名前の悪性ファイルを同一ディレクトリに設置 |
T1089 | Disabling Security Tools | PowerShellスクリプトブロックのログ記録を無効、AMSIの回避 | |
T1140 | Deobfuscate/Decode Files or Information | マルウェア内またはペイロードに含まれる文字列を難読化 | |
T1107 | File Deletion | 使用したファイルの削除 | |
T1055 | Process Injection | 正規プログラム(msbuild.exe, notepad.exeなど)にインジェクション | |
Credential Access | T1003 | Credential Dumping | Poweshellを利用したMimikatzの実行 |
Discovery | T1135 | Network Share Discovery | netコマンドを利用したネットワークの探索 |
T1082 | System Information Discovery | dirコマンドによるファイル検索 | |
T1049 | System Network Connection Discovery | netstatコマンドによる通信しているIPアドレス・ポート番号や解放ポートを表示 | |
T1057 | Process Discovery | tasklistコマンドによるプロセス一覧情報を取得 | |
Lateral Movement | T1076 | Remote Desktop Protocol | frpや攻撃者独自のトンネリングツールを利用した外部からのRDP接続 |
T1021 | Remote Services | Plinkを利用した外部からのRDP接続 | |
T1021 | Remote File Copy | PoshC2を利用したファイルのアップロードまたはダウンロード |
IOC(Indicator Of Compromised)
ハッシュ値
7658d4c74b519187b2829359a921e374
f0fdb786ca994342a8a91adb5ba6987f
通信先
account[.]azure-microsoft[.]top
13[.]78[.]10[.]244
タグ
- セキュリティ
- 人材開発・教育
- システム開発
- アプリ開発
- モバイルアプリ
- DX
- AI
- サイバー攻撃
- サイバー犯罪
- 標的型攻撃
- 脆弱性
- 働き方改革
- 企業市民活動
- 攻撃者グループ
- JSOC
- もっと見る +
- JSOC INSIGHT
- サイバー救急センター
- サイバー救急センターレポート
- LAC Security Insight
- セキュリティ診断レポート
- サイバー・グリッド・ジャパン
- CYBER GRID JOURNAL
- CYBER GRID VIEW
- ラックセキュリティアカデミー
- すごうで
- ランサムウェア
- ゼロトラスト
- ASM
- EDR
- SASE
- デジタルアイデンティティ
- インシデントレスポンス
- 情シス向け
- 対談
- CIS Controls
- Tech Crawling
- クラウド
- クラウドインテグレーション
- データベース
- アジャイル開発
- DevSecOps
- OWASP
- CTF
- FalconNest
- セキュリティ診断
- IoT
- EC
- サプライチェーンリスク
- スレットインテリジェンス
- テレワーク
- リモートデスクトップ
- アーキテクト
- プラス・セキュリティ人材
- 障がい者採用
- 官民学・業界連携
- カスタマーストーリー
- 白浜シンポジウム
- CODE BLUE
- 情報モラル
- クラブ活動
- 初心者向け
- 趣味
- カルチャー
- 子育て、生活
- 広報・マーケティング
- コーポレート
- ライター紹介
- IR