Share
## https://sploitus.com/exploit?id=4B37E2F7-AF8A-5A57-83D4-86CF8A47C6B9
# OpenSMTPD μ격 λͺ
λ Ή μ€ν μ·¨μ½μ CVE-2020-7247
## κ°μ
OpenSMTPDλ Unix κ³μ΄ μ΄μ체μ μμ μ¬μ©λλ SMTP μλ² νλ‘κ·Έλ¨μ΄λ€. BSD, macOS, GNU/Linux λ±μμ μ¬μ©ν μ μμΌλ©°, RFC 5321 SMTP νλ‘ν μ½μ κΈ°λ°μΌλ‘ λμνλ€.
CVE-2020-7247μ OpenSMTPDμμ λ°μ μ λλ μμ μ μ£Όμλ₯Ό κ²μ¦νλ κ³Όμ μ΄ μΆ©λΆνμ§ μμ λ°μν μ격 λͺ
λ Ή μ€ν μ·¨μ½μ μ΄λ€. 곡격μλ μ‘°μλ SMTP μμ²μ μ μ‘νμ¬ μλ²μμ μμμ λͺ
λ Ήμ μ€νν μ μλ€.
ν΄λΉ μ·¨μ½μ μ OpenSMTPD 6.6.2p1 λ²μ μμ ν¨μΉλμλ€.
## μ·¨μ½ νκ²½
| νλͺ© | λ΄μ© |
|---|---|
| μ·¨μ½μ λ²νΈ | CVE-2020-7247 |
| μ·¨μ½ μννΈμ¨μ΄ | OpenSMTPD |
| μ·¨μ½ λ²μ | OpenSMTPD 6.6.1p1 |
| μ·¨μ½μ μ ν | Remote Code Execution |
| μ€μ΅ νκ²½ | Docker / Vulhub |
| μ¬μ© ν¬νΈ | 8825:25 |
## νκ²½ μ€ν
λ€μ λͺ
λ Ήμ΄λ₯Ό μ¬μ©νμ¬ μ·¨μ½ν OpenSMTPD νκ²½μ μ€ννλ€.
```bash
docker compose up -d
```
컨ν
μ΄λκ° μ μμ μΌλ‘ μ€νλμλμ§ νμΈνλ€.
```bash
docker compose ps
```
SMTP μλΉμ€κ° μ μμ μΌλ‘ λμνλμ§ νμΈνκΈ° μν΄ 8825λ² ν¬νΈμ μ μνλ€.
```bash
nc 127.0.0.1 8825 -v
```
μ μμ μΌλ‘ μ°κ²°λλ©΄ λ€μκ³Ό κ°μ΄ OpenSMTPD λ°°λκ° μΆλ ₯λλ€.
```text
220 ESMTP OpenSMTPD
```
## μ·¨μ½μ μ¬ν
PoC μ½λλ₯Ό μ¬μ©νμ¬ λμ μλ²μ λͺ
λ Ήμ μ λ¬νλ€. μ€μ΅μμλ μνν λͺ
λ Ήμ΄ μλ `/tmp/proof.txt` νμΌμ μμ±νλ λͺ
λ Ήμ μ¬μ©νμλ€.
```bash
python3 poc.py 127.0.0.1 8825 'touch /tmp/proof.txt'
```
μ΄ν 컨ν
μ΄λ λ΄λΆμμ νμΌμ΄ μμ±λμλμ§ νμΈνλ€.
```bash
docker compose exec smtpd ls -l /tmp/proof.txt
```
`/tmp/proof.txt` νμΌμ΄ νμΈλλ©΄, μΈλΆμμ μ λ¬ν λͺ
λ Ήμ΄ μ»¨ν
μ΄λ λ΄λΆμμ μ€νλμμμ μλ―Ένλ€.
## κ²°κ³Ό
OpenSMTPDμ SMTP μμ² μ²λ¦¬ κ³Όμ μμ μ
λ ₯κ° κ²μ¦μ΄ λΆμ‘±ν κ²½μ°, 곡격μκ° μ‘°μλ μμ²μ ν΅ν΄ μλ²μμ μμ λͺ
λ Ήμ μ€νν μ μμμ νμΈνμλ€.
λ³Έ μ€μ΅μ λ‘컬 Docker νκ²½μμλ§ μ§ννμμΌλ©°, μ€μ μλ² λλ νκ°λ°μ§ μμ μμ€ν
μ λμμΌλ‘ μνν΄μλ μ λλ€.
## λμ λ°©μ
* OpenSMTPDλ₯Ό 6.6.2p1 μ΄μ λ²μ μΌλ‘ μ
λ°μ΄νΈνλ€.
* μΈλΆμ λ
ΈμΆλλ SMTP μλΉμ€μ μ κ·Ό λ²μλ₯Ό μ ννλ€.
* λ°©νλ²½μ ν΅ν΄ λΆνμν ν¬νΈ μ κ·Όμ μ°¨λ¨νλ€.
* λ©μΌ μλ² λ‘κ·Έλ₯Ό μ£ΌκΈ°μ μΌλ‘ μ κ²νλ€.
* μλ €μ§ μ·¨μ½ λ²μ μ μλΉμ€λ₯Ό μ΄μνμ§ μλλ‘ ν¨μΉ κ΄λ¦¬λ₯Ό μννλ€.
## μ°Έκ³ μλ£
* Vulhub OpenSMTPD CVE-2020-7247
* OpenSMTPD 보μ κΆκ³ λ¬Έ
* Exploit-DB CVE-2020-7247 PoC
* MITRE CVE-2020-7247