
Nuclei 템플릿 및 검증 스크립트로, ASP.NET AJAX용 Telerik UI의 치명적인 .NET 역직렬화 RCE인 CVE-2019-18935를 탐지하며, 다단계 탐지 및 Docker 랩을 포함합니다.
이 저장소는 ProjectDiscovery 바운티 프로그램을 위해 생성된, 완전하고 검증된 CVE-2019-18935 (Telerik UI for ASP.NET AJAX 역직렬화 RCE) 탐지용 Nuclei 템플릿을 포함합니다.
CVE-2019-18935는 Progress Telerik UI for ASP.NET AJAX (버전 2011.1.315~2019.3.1023)의 심각한 .NET 역직렬화 취약점으로, 인증되지 않은 원격 코드 실행을 허용합니다. 이 취약점은:
.
├── README.md # 이 파일
├── BOUNTY_PLAN.md # 원본 계획 문서
├── nuclei-templates/
│ └── cves/
│ └── 2019/
│ └── CVE-2019-18935.yaml # 주요 Nuclei 템플릿
├── docker-environment/ # 취약한 테스트 환경
│ ├── Dockerfile
│ ├── docker-compose.yml
│ ├── web.config
│ ├── Default.aspx
│ └── README.md
├── scripts/ # 악용 및 검증 스크립트
│ ├── RAU_crypto.py # 암호화 도우미 모듈
│ ├── telerik_version_detect.py # 버전 탐지 도구
│ └── telerik_exploit_poc.py # POC 검증 스크립트
├── documentation/ # 기술 문서
│ ├── TESTING.md # 테스트 가이드
│ └── METHODOLOGY.md # 탐지 방법론
├── debug-output/ # 디버그 로그 및 결과 (생성 예정)
└── payloads/ # 테스트 페이로드 (선택 사항)
✅ 완전한 POC 구현 - 단순 버전 탐지가 아님
✅ 다단계 검증 - 핸들러 발견 + 버전 확인 + 악용 증명
✅ 낮은 오탐률 - 여러 매처 간 AND 조건
✅ 비파괴적 - 실제 악용 없이 안전한 테스트
✅ 포괄적 추출 - 버전 정보, 오류 세부 정보, 탐지 단계
✅ 잘 문서화됨 - 전체 방법론 및 테스트 가이드 포함
# Nuclei 설치
go install -v github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest
# Python 종속성 설치 (검증 스크립트용)
pip3 install -r requirements.txt
# Docker 설치 (테스트 환경용)
# 참고: https://docs.docker.com/get-docker/
# 단일 대상 테스트
nuclei -t nuclei-templates/cves/2019/CVE-2019-18935.yaml \
-u http://target.com \
-v
# 디버그 출력과 함께 테스트
nuclei -t nuclei-templates/cves/2019/CVE-2019-18935.yaml \
-u http://target.com \
-debug -v
# 여러 대상 테스트
nuclei -t nuclei-templates/cves/2019/CVE-2019-18935.yaml \
-l targets.txt \
-json -o results.json
# docker 환경으로 이동
cd docker-environment
# 중요: 먼저 Telerik.Web.UI.dll을 확보하세요 (docker-environment/README.md 참고)
# DLL을 이 디렉토리에 배치
# 빌드 및 시작
docker-compose up -d
# 실행 확인
curl http://localhost:8080/Telerik.Web.UI.WebResource.axd?type=rau
# 템플릿 테스트
nuclei -t nuclei-templates/cves/2019/CVE-2019-18935.yaml \
-u http://localhost:8080 \
-debug -v \
2>&1 | tee debug-output/test-run.log
[CVE-2019-18935] [http] [critical] http://localhost:8080/Telerik.Web.UI.WebResource.axd
[EXTRACTED]
telerik_version: 2017.2.503.40
detection_stage: Handler detected in request 1, Version in request 2, Deserialization in request 3
error_details: Exception at Telerik.Web.UI...
cd scripts
# Telerik 버전 탐지 및 취약점 확인
python3 telerik_version_detect.py http://target.com
# 출력:
# [+] Handler found: http://target.com/Telerik.Web.UI.WebResource.axd?type=rau
# [+] Detected version: 2017.2.503
# [!] VULNERABLE: Version in range 2011.1.315 - 2019.3.1023
# 비파괴적 POC 실행
python3 telerik_exploit_poc.py http://target.com/Telerik.Web.UI.WebResource.axd?type=rau
# 출력:
# [+] Handler is accessible
# [+] Upload capability confirmed
# [+] Deserialization processing detected
# [!] VULNERABILITY: CONFIRMED
템플릿은 3단계 탐지 프로세스를 사용합니다:
1단계 - 핸들러 발견:
/Telerik.Web.UI.WebResource.axd?type=rau에 GET 요청2단계 - 버전 열거:
rauPostData 매개변수로 POST3단계 - 악용 증명:
__type 역직렬화 마커가 포함된 페이로드 전송양성 탐지를 위해 세 단계가 모두 성공해야 함 (AND 조건).
전체 기술 세부 사항은 documentation/METHODOLOGY.md를 참조하세요.
⚠️ 중요: 이 템플릿은 침입적으로 태그되었습니다. 이유:
이 템플릿은 다음에만 사용하세요:
법적 준수는 귀하의 책임입니다.
curl http://target/Telerik.Web.UI.WebResource.axd?type=raupython3 scripts/telerik_exploit_poc.py <url>nuclei -t template.yaml -u <url> -debugdocker-compose logs전체 문제 해결 가이드는 TESTING.md를 참조하세요.
이 템플릿은 ProjectDiscovery 바운티 프로그램을 위해 생성되었습니다. 개선 사항이나 문제가 있을 경우:
이 작업은 보안 연구 및 승인된 테스트 목적으로만 제공됩니다. 책임감 있고 합법적으로 사용하세요.
ProjectDiscovery 바운티 프로그램용으로 제작
연구 일자: 2025년 12월
상태: 제출 준비 완료 ✅