
CVE-2020-35847은 인증 메커니즘에서 사용자 입력을 안전하지 않게 처리하여 원격 코드 실행으로 이어지는 Cockpit-CMS v1.7의 취약점입니다. 이 랩은 CTF 플레이어와 버그 바운티 학습자를 위해 토큰 추출, 비밀번호 재설정, 플래그 획득을 포함한 실제 환경과 유사한 익스플로잇 워크플로우를 시뮬레이션하도록 제작되었습니다.
🧨 CVE‑2020‑35848 – Cockpit CMS < 0.11.2 NoSQL 인젝션 (RCE) 랩 CVE‑2020‑35848은 0.11.2 이전 버전의 Agentejo Cockpit CMS에 영향을 미치며, /auth/newpassword 엔드포인트에 치명적인 NoSQL 인젝션 취약점을 유발합니다. 이 결함으로 인해 인증되지 않은 공격자가 비밀번호 재설정 요청에 MongoDB 연산자를 주입하여 다음을 수행할 수 있습니다:
유효한 사용자 이름 열거
비밀번호 재설정 토큰 추출
임의 계정의 비밀번호 재설정
파일 업로드 또는 사용자 지정 관리자 작업을 통한 원격 코드 실행 연계 Check Point Software +11 NVD +11 GitHub +11 FortiGuard Labs +2 Exploit Database +2 GitHub +2 Feedly +1 GitHub +1
📊 NVD 심각도 지표 CVSS v3.1 점수: 9.8 (치명적) — 네트워크 익스플로잇, 권한 또는 사용자 상호작용 불필요, 기밀성, 무결성, 가용성에 대한 영향도가 높음 NVD +1 NVD +1
CWE-89: NoSQL 인젝션 (특수 요소의 부적절한 중화—데이터베이스 쿼리에 주입되는 명령) Check Point Software +10 NVD +10 CVE Details +10
🧪 랩 기능 Docker 컨테이너화된 Cockpit CMS v0.11.1 취약 인스턴스
사용자 열거, 토큰 유출, 비밀번호 재설정 흐름을 시뮬레이션합니다.
전체 익스플로잇 경로를 시연하는 사전 구축 스크립트(예: automated_exploit.sh)가 포함되어 있습니다:
/auth/requestreset 엔드포인트의 인젝션을 통한 사용자 이름 열거
/auth/newpassword를 사용한 토큰 추출
/auth/resetpassword를 통한 비밀번호 재설정
관리자 로그인 및 웹 플래그 획득
(선택 사항) 관리자 접근 가능한 업로드 또는 웹훅 엔드포인트를 통한 RCE
시스템 플래그를 찾기 위한 수동 권한 상승까지 도전 과제가 확장됩니다.