Sploitus

Exploit for CVE-2024-23334

kitploit Β· 2026-09-04

Exploit Code

MARKDOWN117 lines
## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-BINARYNINJA-CVE-2024-23334
# CVE-2024-23334 μ΅μŠ€ν”Œλ‘œμž‡ 및 PoC

이 μ €μž₯μ†ŒλŠ” CVE-2024-23334에 λŒ€ν•œ κ°œλ… 증λͺ…(PoC) μ΅μŠ€ν”Œλ‘œμž‡μ„ ν¬ν•¨ν•˜λ©°, μ„œλ²„μ˜ λ―Όκ°ν•œ νŒŒμΌμ— 무단 μ•‘μ„ΈμŠ€λ₯Ό ν—ˆμš©ν•˜λŠ” μ›Ή μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ˜ 취약점을 μ‹œμ—°ν•©λ‹ˆλ‹€. PoCλŠ” λ„μ»€ν™”λœ μ›Ή μ„œλ²„μ™€ 취약점을 ν…ŒμŠ€νŠΈν•˜κΈ° μœ„ν•œ μ΅μŠ€ν”Œλ‘œμž‡ 슀크립트λ₯Ό ν¬ν•¨ν•©λ‹ˆλ‹€.

## μ €μž₯μ†Œ ꡬ쑰

root@kitploit:~
    
    
    .
    β”œβ”€β”€ .gitattributes
    β”œβ”€β”€ .git/
    β”œβ”€β”€ Dockerfile
    β”œβ”€β”€ exploit.py
    β”œβ”€β”€ requirements.txt
    β”œβ”€β”€ server.py
    β”œβ”€β”€ static/
    β”‚   └── safe_file.txt
    └── test.log
    

## 파일 및 디렉터리

  * **Dockerfile** : μ·¨μ•½ν•œ μ›Ή μ„œλ²„λ₯Ό λΉŒλ“œ 및 μ‹€ν–‰ν•˜κΈ° μœ„ν•œ Docker μ„€μ • 파일
  * **exploit.py** : 취약점을 μ•…μš©ν•˜μ—¬ μ„œλ²„μ˜ λ―Όκ°ν•œ νŒŒμΌμ— μ ‘κ·Όν•˜λŠ” 방법을 λ³΄μ—¬μ£ΌλŠ” μ΅μŠ€ν”Œλ‘œμž‡ 슀크립트
  * **server.py** : `aiohttp`λ₯Ό μ‚¬μš©ν•˜μ—¬ κ΅¬ν˜„λœ μ·¨μ•½ν•œ μ›Ή μ„œλ²„
  * **requirements.txt** : μ„œλ²„ 및 μ΅μŠ€ν”Œλ‘œμž‡ 슀크립트 싀행에 ν•„μš”ν•œ Python 쒅속성 λͺ©λ‘
  * **static/** : 합법적인 정적 μ½˜ν…μΈ λ₯Ό μœ„ν•œ 자리 ν‘œμ‹œμž 역할을 ν•˜λŠ” μ•ˆμ „ν•œ 파일이 ν¬ν•¨λœ 디렉터리
  * **test.log** : ν…ŒμŠ€νŠΈ 쀑 μƒμ„±λœ 둜그 파일 (예제 λ‚΄μš©, μ΅μŠ€ν”Œλ‘œμž‡μ— μ€‘μš”ν•˜μ§€ μ•ŠμŒ)



## μ‹œμž‘ν•˜κΈ°

### μ „μ œ 쑰건

  * Docker
  * Python 3.10+
  * `pip` (Python νŒ¨ν‚€μ§€ μ„€μΉ˜ ν”„λ‘œκ·Έλž¨)



### μ„€μ •

  1. **μ €μž₯μ†Œ 볡제**

root@kitploit:~
         
         git clone https://github.com/binaryninja/CVE-2024-23334.git
         cd CVE-2024-23334
         

  2. **도컀 μ»¨ν…Œμ΄λ„ˆ λΉŒλ“œ 및 μ‹€ν–‰**

root@kitploit:~
         
         docker build -t cve-2024-23334 .
         docker run -p 8081:8081 cve-2024-23334
         

μ„œλ²„κ°€ μ‹œμž‘λ˜κ³  `http://localhost:8081`μ—μ„œ μ ‘κ·Ό κ°€λŠ₯ν•©λ‹ˆλ‹€.

  3. **μ΅μŠ€ν”Œλ‘œμž‡ 슀크립트 μ‹€ν–‰**

root@kitploit:~
         
         python exploit.py -s http://localhost:8081 -v -o results.json
         

이 λͺ…령은 μ‹€ν–‰ 쀑인 μ„œλ²„μ— λŒ€ν•΄ μ΅μŠ€ν”Œλ‘œμž‡ 슀크립트λ₯Ό μ‹€ν–‰ν•˜λ©°, μžμ„Έν•œ 좜λ ₯κ³Ό κ²°κ³Όλ₯Ό `results.json`에 μ €μž₯ν•©λ‹ˆλ‹€.




### Server.py

`server.py` νŒŒμΌμ€ `aiohttp`λ₯Ό μ‚¬μš©ν•˜μ—¬ μ·¨μ•½ν•œ μ›Ή μ„œλ²„λ₯Ό μ„€μ •ν•©λ‹ˆλ‹€. μ„œλ²„λŠ” 정적 파일 디렉터리λ₯Ό λ…ΈμΆœν•˜κ³  κ°„λ‹¨ν•œ ν…μŠ€νŠΈ 응닡을 λ°˜ν™˜ν•˜λŠ” μ—”λ“œν¬μΈνŠΈ `/`λ₯Ό ν¬ν•¨ν•©λ‹ˆλ‹€.

### Exploit.py

`exploit.py` μŠ€ν¬λ¦½νŠΈλŠ” 취약점을 ν…ŒμŠ€νŠΈν•˜κΈ° μœ„ν•΄ μ„œλ²„μ— μš”μ²­μ„ λ³΄λƒ…λ‹ˆλ‹€. 경둜 μ‘°μž‘ κΈ°μˆ μ„ μ‚¬μš©ν•˜μ—¬ 디렉터리 ꡬ쑰λ₯Ό νƒμƒ‰ν•¨μœΌλ‘œμ¨ λ‹€μ–‘ν•œ λ―Όκ°ν•œ νŒŒμΌμ— 접근을 μ‹œλ„ν•©λ‹ˆλ‹€. μ„±κ³΅μ μœΌλ‘œ μ ‘κ·Όν•œ 파일과 κ·Έ λ‚΄μš©μ„ ν¬ν•¨ν•œ κ²°κ³ΌλŠ” 둜그둜 기둝되며, μ„ νƒμ μœΌλ‘œ JSON νŒŒμΌμ— μ €μž₯λ©λ‹ˆλ‹€.

### 예제 μ‚¬μš©λ²•

#### 도컀 μ»¨ν…Œμ΄λ„ˆ λΉŒλ“œ 및 μ‹€ν–‰

root@kitploit:~
    
    
    docker build -t cve-2024-23334 .
    docker run -p 8081:8081 cve-2024-23334
    

#### μ΅μŠ€ν”Œλ‘œμž‡ 슀크립트 μ‹€ν–‰

root@kitploit:~
    
    
    python exploit.py -s http://localhost:8081 -v -o results.json
    

#### 좜λ ₯

μŠ€ν¬λ¦½νŠΈλŠ” μ΅μŠ€ν”Œλ‘œμž‡ μ‹œλ„ κ²°κ³Όλ₯Ό μ½˜μ†”μ— 좜λ ₯ν•˜κ³  상세 κ²°κ³Όλ₯Ό `results.json`에 μ €μž₯ν•©λ‹ˆλ‹€.

## λΌμ΄μ„ μŠ€

이 ν”„λ‘œμ νŠΈλŠ” MIT λΌμ΄μ„ μŠ€μ— 따라 λΌμ΄μ„ μŠ€κ°€ λΆ€μ—¬λ©λ‹ˆλ‹€ - μžμ„Έν•œ λ‚΄μš©μ€ LICENSE νŒŒμΌμ„ μ°Έμ‘°ν•˜μ„Έμš”.

## λ©΄μ±… μ‘°ν•­

이 μ €μž₯μ†ŒλŠ” ꡐ윑 λͺ©μ μœΌλ‘œλ§Œ μ œκ³΅λ©λ‹ˆλ‹€. μ‚¬μš©μ— λ”°λ₯Έ μ±…μž„μ€ λ³ΈμΈμ—κ²Œ μžˆμŠ΅λ‹ˆλ‹€. μ €μžλŠ” 이 μ†Œν”„νŠΈμ›¨μ–΄μ˜ μ‚¬μš© λ˜λŠ” 였용으둜 μΈν•œ 손해에 λŒ€ν•΄ μ±…μž„μ„ μ§€μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

## κΈ°μ—¬

κΈ°μ—¬λ₯Ό ν™˜μ˜ν•©λ‹ˆλ‹€! λ³€κ²½ 사항에 λŒ€ν•΄ λ…Όμ˜ν•˜λ €λ©΄ ν’€ λ¦¬ν€˜μŠ€νŠΈλ₯Ό μ œμΆœν•˜κ±°λ‚˜ 이슈λ₯Ό μ—΄μ–΄μ£Όμ„Έμš”.