
이 저장소는 FreePBX의 CVE-2025-57819에 대한 두 개의 PoC 스크립트를 포함합니다: 하나는 새로운 관리자 사용자를 생성하는(poc_admin.py) 것이고, 다른 하나는 sqlmap을 사용하여 자격 증명을 추출하는(poc_auto_get_username_pass.py) 것입니다. 교육 및 승인된 용도로만 사용하십시오.
이 저장소는 FreePBX의 치명적인 인증되지 않은 SQL 인젝션 취약점인 CVE-2025-57819를 대상으로 하는 두 개의 Python PoC(Proof-of-Concept) 스크립트를 포함합니다.
CVE-2025-57819는 여러 버전의 FreePBX에 영향을 미치며, admin/ajax.php의 취약한 파라미터를 통해 인증되지 않은 원격 공격자가 임의의 SQL 쿼리를 실행할 수 있게 합니다.
이 결함은 module=FreePBX\modules\endpoint\ajax 엔드포인트에서 입력 값 검증 부족으로 인해 발생하며, 백엔드 쿼리에 직접 SQL 인젝션이 가능합니다.
| 버전 | 상태 |
|---|---|
| ≤ 15.0.65 | 취약 |
| ≤ 16.0.88 | 취약 |
| ≤ 17.0.2 | 취약 |
| ≥ 15.0.66 | 패치됨 |
| ≥ 16.0.89 | 패치됨 |
| ≥ 17.0.3 | 패치됨 |
| 파일 | 설명 |
|---|---|
poc_admin.py | 원시 SQL 인젝션을 통해 새로운 관리자 사용자 생성 |
poc_auto_get_username_pass.py | sqlmap을 사용하여 여러 대상에서 자격 증명 대량 추출 자동화 |
poc_admin.py – 관리자 사용자 추가requests 모듈 (pip install requests)python3 poc_admin.py http://target/
[+] Creating admin user: orange0Mint_k9l3zq / X9sfL30wlKp1
[+] Done. Try logging in at: http://target/admin/config.php
[+] Credentials -> Username: orange0Mint_k9l3zq | Password: X9sfL30wlKp1
poc_auto_get_username_pass.py – SQLMap을 통한 자격 증명 덤프sqlmap을 sqlmap-master/로 클론파일의 각 줄은 기본 URL이어야 합니다.
http://192.168.1.100/
http://pbx.example.com:8080/
python3 poc_auto_get_username_pass.py targets.txt
log/target.txt에 로깅stop.txt 파일 존재--batch 및 --ignore-code=404 플래그 사용sqlmap의 모든 결과는 log/ 디렉토리 내에 대상 호스트 이름으로 저장됩니다.
log/
├── 192.168.1.100.txt
├── pbx.example.com_8080.txt
/admin/ 인터페이스에 대한 접근 제한ajax.php 접근 모니터링이 PoC는 교육 및 승인된 침투 테스트 목적으로만 제공됩니다.
소유하지 않거나 명시적 테스트 권한이 없는 시스템에 이 코드를 사용하지 마십시오.
저자는 이 스크립트로 인한 오용 또는 손해에 대해 책임지지 않습니다.
orange0Mint
GitHub: https://github.com/orange0Mint