最速! 危険度の高い脆弱性をいち早く解説
「脆弱性研究所」第2回 9月分まとめ
先月からスタートした脆弱性研究所、この9月に新たに公開された脆弱性は1821件となりました。この中で特に重大な脆弱性を幾つかピックアップして説明したいと思います。
1.Exchange Serverのゼロデイエクスプロイト(ProxyNotShell: CVE-2022-41040, CVE-2022-41042)
2022/09/28にベトナムに本拠を持つセキュリティ企業「GTSC」が自社のブログでMicrosoft Exchangeに関する脆弱性情報(CVE-2022-41040, CVE-2022-41042)を公開しました。
2022年8月の初めごろ、GTSC社のSOC チームは、Microsoft Exchangeサーバーが攻撃されていることを発見しました。GTSC社の専門家が攻撃を調査したところ、この攻撃が公開されていない Microsoft Exchangeサーバーのゼロデイ脆弱性を利用したものであるということがわかりました。 GTSC社が攻撃コードの調査を行って見つけた脆弱性は、リモートコード実行(RCE)を可能にする非常に重大な脆弱性であることが判明したため、GTSCは9月初めにZDI(Zero Day Initiative: 2005年に設立された、トレンドマイクロが運営するソフトウェアの脆弱性を発見して、ベンダーと連絡を取ることを目的とするコミュニティ。世界中のセキュリティ関連の方々が参加しています)を通じて、Microsoftに報告をして、パッチの作成に協力しました。これらはZDI-CAN-18333, ZDI-CAN-18802(CVSS スコアは8.8, 6.3)として登録されています。
しかしGTSC社では、他の顧客も同様の攻撃の被害を受けているのを確認したため、Microsoft からの公式パッチが利用可能になる前(2022/09/28)に、攻撃の情報をブログで公開しました。その後、2022/09/29にMicrosoftもブログでExchangeサーバーのゼロデイ脆弱性を認めました。 また、トレンドマイクロ社(ZDIの運営元)も2022/09/29の夜にセキュリティアドバイザリをリリースし、この脆弱性を突く攻撃を検知するような機能を「IPS N-Platform / NX-Platform / TPS」製品に追加しています。
脆弱性詳細
本記事を執筆時点では、GTSC社はゼロデイ脆弱性に関する詳細情報を公開していません。しかし、同社の研究者は、攻撃に使用されたリクエストが、ProxyShellの脆弱性を標的とする攻撃で使用されるリクエストと類似していることを明らかにしました (もちろん標的となっていた Microsoft Exchangeサーバーはその時点で最新の状態になっており、ProxyShellの脆弱性は対応済みでした)。
ProxyShell脆弱性は、Microsoft Exchange サーバーに存在する下記の脆弱性の総称で、これを利用して攻撃者は認証を回避して特権ユーザーとしてコードを実行できます。
- CVE-2021-34473
- 認証前にパスを混乱させ、アクセス制御を回避する脆弱性
- CVE-2021-34523
- Exchange PowerShell バックエンドに存在する権限昇格の脆弱性
- CVE-2021-31207
- 任意のファイル書き込みによる認証後のリモートコード実行
今回の脆弱性は「ProxyNotShell」と呼ばれており、下記の脆弱性の総称となっています。
- CVE-2022-41040
- CVSS:3.1 8.8 / 8.1。Microsoft Exchange Server の特権の昇格の脆弱性(サーバー側のリクエスト フォージェリ (SSRF) の脆弱性)
- CVE-2022-41082
- CVSS:3.1 8.8 / 8.3。Microsoft Exchange Server のリモートコード実行の脆弱性
本記事を執筆時点では、Microsoftのサイトを見ても、脆弱性の詳細情報は出ていません。対象となるExchangeサーバーのバージョン情報などはMicrosoftのブログを御確認ください。
緩和策
Microsoftにより当初「緩和策」として紹介されていたものは、迂回が可能であることがセキュリティ技術者のJang氏により確認されています。緩和策やその他の情報に関しては頻繁に更新されていますので、ぜひMicrosoftのブログを御確認ください。
攻撃情報
GTSC社は標的となったシステムを解析し、大部分が難読化されたWeb シェルがExchange サーバーにドロップされていることを確認しました。このWebシェルはGitHubでも公開されている、中国ベースのAntswordを使用していることもわかりました。
このWebシェルは、文字コードが 936 (簡体字中国語用の Microsoft 文字エンコーディング)であったため、今回の攻撃は中国語圏の攻撃グループにより行われた可能性があると、GTSC社はブログで指摘しています。Microsoft セキュリティブログでの本脆弱性の解析によると、攻撃パターンは以下のような絵になるとのことです。
Indicators of Compromise (IOCs)も、GTSC社のブログに載っていますので、攻撃の痕跡などの情報を知りたい方はGTSC社のブログに目を通してください。
注意!
BleepingComputerの記事によると、本脆弱性のExploitコードを公開していると偽って、GitHub上に偽の「CVE-2022-41082のExploitを販売します!」というレポジトリが公開されているようです。もちろん、これらは詐欺ですので、引っかからないようにしてください。詐欺かどうかの判断がつかない場合には、情報はMicrosoftなどのオフィシャル/安全なところから入手するように心がけましょう。
参考情報
- GTSC社のブログ
- TrendMicroのセキュリティアドバイザリ
- Microsoftのブログ
- Microsoftセキュリティブログ(本脆弱性の解析)
- BleepingComputerの記事(GitHub上に置かれた偽のExploit情報)
2.15年間未パッチ状態のPythonの脆弱性が見つかり影響を及ぼす可能性(2022年9月)
Trelix(McAfee EnterpriseとFireEyeが統合してできた会社)は、米国時間2022/09/21にブログに、Pythonの脆弱性について投稿しました。彼らは当初、Pythonのtarファイルモジュールに新しい脆弱性を見つけたと思っていましたが、実はそれは2007年に発見されていたCVE-2007-4559であることがわかりました。
このCVE-2007-4559はディレクトリトラバーサルの脆弱性で、もっと以前の2001年にGNU tar で発見されたCVE-2001-1267ディレクトリトラバーサルの脆弱性のPython版であり、同じ様な脆弱性となっています。
tarfileモジュールのextract()関数とextractall()関数に存在するディレクトリトラバーサル脆弱性であり、CVSSv2は6.8(Medium)とそれほど高い数値ではありません。tarfileモジュールのextract、およびextractall関数におけるパストラバーサルの脆弱性で、攻撃者はtarファイル名に「..」シーケンスを追加することで、任意のファイルを上書きすることができるとされています。
たとえば、”../../../../../etc/passwd”がtarファイルに含まれていた場合、管理者がtarfileモジュールを使うPythonを実行すると、”/etc/passwd”ファイルを上書きすることが可能です。
この脆弱性はbug.python.orgでもIssueとして上がっています。
Trelixはこの脆弱性の影響に関する調査の過程で、何十万ものリポジトリがこの脆弱性に対して脆弱であることを見つけました。また、この脆弱性はCVSSv2 6.8(Medium)ではあるが、攻撃者がファイルを書き込んでコード実行ができる脆弱性であることを確認しました。こちらのビデオでは、 Universal Radio Hackerを悪用してコードを実行する方法がPoCとして示しています。
この脆弱性はコーディング自動化ツールを介して、さまざまなプロジェクトに広まっており、修正するべきオープンソースリポジトリが35万件以上にも及ぶとも指摘されています。
脆弱なOSSの例
たとえば、Spyder IDEはOSSのクロスプラットフォームな統合開発環境であり、Pythonで科学用途のプログラミングをすることを意図して作られています。
上述の11行目にあるextractall()が脆弱性のあるモジュールを呼び出しています。
ここの部分でディレクトリトラバーサルの脆弱性を用いて、ディレクトリAppData\Local\TempからAppData直下に移動して「hacked.txt」ファイルを作成するのに成功しています。
Trelixの実験では単にファイルの書き込みを行うだけでなく、コードの実行にも成功しています。Spyderにユーザーが悪意のある(攻撃用の)データファイルを読ませることで、次回にSpyderが立ち上がった際に悪意のあるコードが実行されます。時間があれば、是非動画を見て確認してみてください。
動画ファイルはこちらになります。
Trelixは多くのプロジェクトに対して、本脆弱性を修正したプルリクエストを準備しているそうです。そのため、多くのPythonによるソフトウェアで本脆弱性を修正したバージョンが出てくると思います。
参考情報
- Tarfile: Exploiting the World With a 15-Year-Old Vulnerability (Trelix)
- [Python-Dev] tarfile and directory traversal vulnerability
- CVE-2001-1267
9月のまとめ
9月も大きめの脆弱性が公開されました。特に Microsoft Exchange Serverの脆弱性に関しては、悪用がすでに報告されており、早急な対応が必要となると思われます。10月はOracle製品の4半期に一度の脆弱性公開・修正となるCPU(Critical Patch Update)が10/28に予定されていますので、さらにJavaやMySQL関連で脆弱性とそれを利用した攻撃が出てくる可能性があります。10月も引き続き注意が必要になります。
<著者> 面 和毅
サイオステクノロジー株式会社 上席執行役員
OSS/セキュリティエバンジェリスト
OSSのセキュリティ専門家として20年近くの経験があり、主にOS系のセキュリティに関しての執筆や講演を行う。大手ベンダーや外資系、ユーザー企業などでさまざまな立場を経験。
2015年からサイオステクノロジーのOSS/セキュリティエバンジェリストとして活躍中。また、ヒートウェーブ株式会社でも講師として活動中。
専門分野はSELinuxを含むOSのアクセス制御、AntiVirus、SIEM、脅威インテリジェンス。
「脆弱性研究所」の最新話は、メールマガジンにてもご案内致しています。是非JAPANSecuritySummit Updateのメールマガジンにご登録ください。
メールマガジンの登録はこちらからお願いします。