
CVE-2026-27944 - Nginx UI 인증되지 않은 백업 다운로드 및 복호화
CVE-2026-27944 - Nginx UI 무인증 백업 다운로드 및 복호화
https://img.shields.io/badge/python-3.6+-blue.svg
https://img.shields.io/badge/license-MIT-green
https://img.shields.io/badge/PoC-Exploit-red
CVE‑2026‑27944에 대한 PoC(proof‑of‑concept) 익스플로잇입니다. 이는 Nginx UI ≤ 2.3.2의 치명적인 취약점으로, 인증되지 않은 공격자가 /api/backup 엔드포인트를 통해 서버의 전체 백업 아카이브를 다운로드하고 복호화할 수 있게 합니다.
백업은 AES‑256으로 암호화되어 있지만, 암호화 키와 초기화 벡터(IV)가 X‑Backup‑Security HTTP 응답 헤더에 평문으로 노출되어 즉시 복호화할 수 있습니다.
📦 기능
info – 취약점에 대한 자세한 정보(설명, 근본 원인, 영향)를 표시합니다.
scan – 대상이 취약한지 가볍게 확인합니다(HEAD 요청을 보내 X‑Backup‑Security 헤더를 찾습니다).
exploit – 암호화된 백업을 다운로드하고, 헤더에서 키/IV를 추출하고, 데이터를 복호화하여 파일로 저장합니다.
🚨영향
악용될 경우, 공격자는 다음을 획득할 수 있습니다:
사용자 자격 증명 및 세션 토큰 (database.db)
애플리케이션 비밀 및 API 키 (app.ini)
SSL 개인 키 및 인증서 (server.key, server.cert)
전체 Nginx 구성 (nginx.conf)
모든 호스팅 도메인의 TLS 키 (ssl/ 디렉터리)
이는 일반적으로 서버 전체를 장악하고 네트워크 내에서 수평 이동(lateral movement)으로 이어집니다.
⚙️ 요구 사항
Python 3.6+
requests 라이브러리
pycryptodome (AES 복호화용)
의존성은 다음 명령으로 설치합니다:
bash
pip install requests pycryptodome
🔧 사용법
text
usage: CVE-2026-27944.py [-h] {info,scan,exploit} ...
CVE-2026-27944 - Nginx UI Backup Exposure Scanner & Exploit
positional arguments:
{info,scan,exploit} Subcommands
info Display detailed information about the CVE
scan Check if a target is vulnerable
exploit Download and decrypt the backup
optional arguments:
-h, --help show this help message and exit
예시
bash
python3 CVE-2026-27944.py info
bash
python3 CVE-2026-27944.py scan 192.168.1.100:9000
bash
python3 CVE-2026-27944.py exploit 192.168.1.100:9000 -o backup_decrypted.zip
복호화된 파일은 일반적으로 ZIP 아카이브입니다. .zip으로 이름을 바꾸고 내용을 살펴보십시오.
📚 작동 방식
스크립트는 X‑Backup‑Security 헤더의 존재를 확인하기 위해 /api/backup에 HEAD 요청을 보냅니다.
헤더가 발견되면 GET 요청을 통해 암호화된 백업을 다운로드합니다.
헤더 값에는 Base64로 인코딩된 AES‑256 키와 IV가 콜론으로 구분되어 포함되어 있습니다.
스크립트는 이를 디코딩하고, pycryptodome을 사용하여 데이터를 복호화(AES‑256 CBC 모드)하고, PKCS#7 패딩을 제거합니다.
복호화된 바이트는 지정된 출력 파일에 저장됩니다.
⚠️ 면책 조항
이 도구는 교육 및 보안 연구 목적으로만 제공됩니다.
소유하지 않았거나 명시적 테스트 허가를 받지 않은 시스템을 무단 테스트하는 것은 불법입니다. 작성자는 이 스크립트로 인한 오용이나 손해에 대해 책임지지 않습니다.
🛡️ 완화 조치
Nginx UI를 사용 중이라면 즉시 버전 2.3.3 이상으로 업데이트하십시오.
추가로:
노출되었을 수 있는 모든 자격 증명과 비밀을 교체하십시오.
SSL/TLS 인증서를 다시 생성하십시오.
관리 인터페이스를 공개 인터넷에 노출하지 마십시오. 방화벽이나 VPN을 사용하십시오.
📄 라이선스
이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 LICENSE 파일을 참조하십시오.
📬 참고 자료
MITRE CVE‑2026‑27944 (자리 표시자)
NVD 항목 (자리 표시자)
Nginx UI 공식 사이트