
cve-2025-0282-ivanti_rce_reproduction의 재현
CVSS 9.0 — 치명적(Critical) | 활발히 악용 중인 제로데이 | 2025년 1월 발견
CVE-2025-0282는 Ivanti Connect Secure(ICS), Ivanti Policy Secure(IPS) 및 Ivanti ZTA Gateways의 IFT/TLS 처리 컴포넌트에서 발생하는 스택 기반 버퍼 오버플로 취약점(CWE-121 / CWE-787)입니다. 이 결함으로 인해 인증되지 않은 원격 공격자가 대상 어플라이언스에서 루트 권한으로 임의 코드 실행을 달성할 수 있습니다.
이 취약점은 제로데이로서 활발한 악용이 관찰된 후 2025년 1월 8일에 공개되었습니다. Mandiant가 UNC5337로 추적하는 중국 연계 위협 행위자의 소행으로 확인되었습니다. CISA는 공개 후 72시간 이내에 이 CVE를 KEV(알려진 악용 취약점) 카탈로그에 추가했습니다.
이 취약점은 어플라이언스 HTTPS 관리 인터페이스의 IFT(내부 포워딩 테이블) / TLS 패킷 처리 경로에 존재합니다. 잘못된 형식의 TLS 핸드셰이크 메시지나 특수하게 제작된 IFT 프레임을 파싱할 때, 코드는 적절한 경계 검사 없이 공격자가 제어하는 데이터를 고정 크기 스택 버퍼에 복사합니다:
memcpy(stack_buffer, attacker_data, attacker_controlled_length); // no length check
대상 버퍼가 스택에 있기 때문에, 과도하게 큰 페이로드는 다음을 덮어씁니다:
| Product | Affected Versions | Fixed Version |
|---|---|---|
| Ivanti Connect Secure | < 22.7R2.5 | 22.7R2.5 |
| Ivanti Policy Secure | < 22.7R1.2 | 22.7R1.2 |
| ZTA Gateways | < 22.7R2.3 | 22.7R2.3 |
참고: Ivanti는 22.6 릴리스 라인도 취약함을 확인했습니다. 여전히 ICS 9.x 또는 22.4를 사용 중인 고객도 동일하게 노출됩니다.
sslvpn 또는 dsaccess 서비스에서 액세스 위반으로 인한 프로세스 충돌/tmp/*.py, .sslvpn_config_upload 같은 파일 또는 예상치 못한 cron 항목의 존재scapy, socket, ssl Python 모듈이 저장소를 클론하세요:
git clone https://github.com/your-org/cve-2025-0282-reproduction
cd cve-2025-0282-reproduction
의존성을 설치하세요:
pip install -r requirements.txt
(요구 사항: scapy, argparse, socket — socket은 표준 라이브러리)
대상에 대해 PoC를 실행하세요:
python exploit.py --target 192.168.1.100 --port 8443
사용자 정의 페이로드 크기를 지정하려면:
python exploit.py --target 192.168.1.100 --port 8443 --payload-size 4096
디버그 출력을 활성화하려면:
python exploit.py --target 192.168.1.100 --port 8443 --verbose
memcpy를 트리거합니다중요: 제공된 코드는 교육 및 승인된 테스트 목적으로만 사용됩니다. 이 코드는 버퍼 오버플로 조건을 시연하며, 패치되지 않은 대상에서는 서비스 거부(크래시)를 유발합니다. 소유하지 않았거나 서면 허가를 받지 않은 시스템에 대해 이 코드를 실행하는 것은 불법입니다.
이 저장소의 exploit.py를 참조하세요.
이 스크립트는 다음 인수를 허용합니다:
usage: exploit.py [-h] --target TARGET [--port PORT] [--payload-size PAYLOAD_SIZE] [--verbose]
CVE-2025-0282 Ivanti Stack Buffer Overflow Reproduction PoC
options:
-h, --help show this help message and exit
--target TARGET Target Ivanti appliance IP or hostname
--port PORT Target port (default: 8443)
--payload-size PAYLOAD_SIZE
Size of overflow payload in bytes (default: 4096)
--verbose Enable verbose/debug output
이 저장소는 승인된 보안 연구 및 교육 목적으로만 제공됩니다. 저자는 이 코드의 오용에 대해 책임을 지지 않습니다. CVE-2025-0282의 무단 악용은 불법이며 비윤리적입니다. 시스템을 테스트하기 전에 항상 명시적인 서면 허가를 받으십시오.
| Field | Detail |
|---|
| 공격 경로 | 네트워크 |
| 복잡도 | 낮음 |
| 권한 | 없음 |
| 사용자 상호작용 | 없음 |
| 범위 | 변경 없음 |
| 기밀성 | 높음 |
| 무결성 | 높음 |
| 가용성 | 높음 |
| Action | Detail |
|---|
| 즉시 패치 | ICS >=22.7R2.5, IPS >=22.7R1.2, ZTA >=22.7R2.3으로 업그레이드 |
| 네트워크 접근 제한 | HTTPS 관리 인터페이스를 신뢰할 수 있는 IP로만 제한 |
| MFA 활성화 | 사후 악용 횡적 이동을 완화 |
| 로그 모니터링 | TLS 이상 징후 및 예기치 않은 프로세스 충돌 감시 |
| IOC 탐색 | UNC5337 TTP(자격 증명 덤프, 터널 도구) 확인 |