
CVE-2023-26482 (Nextcloud RCE)를 재현하는 Docker 기반 실험실로, 교육용 취약점 분석 및 공격 워크플로우 시연을 위한 자동화된 익스플로잇 스크립트가 포함되어 있습니다.
Next cloud
이 저장소는 교육 및 연구 목적으로 통제된 Docker 실험실 환경에서 공개적으로 공개되고 패치된 취약점을 재현합니다.
이 환경은 의도적으로 취약하게 만들어졌으며, 반드시 격리된 테스트 환경에서만 배포해야 합니다. 명시적 승인 없이 시스템을 악용하려 시도하지 마십시오.
이 프로젝트의 목표는 취약점 분석, 악용 워크플로우 및 완화 전략을 시연하는 것입니다.
이 실험실은 Nextcloud 서버의 범위 검증 누락(Missing Scope Validation) 취약점인 CVE-2023-26482를 재현합니다. 이 취약점으로 인해 인증된 사용자가 악성 워크플로우를 생성할 수 있으며, 'Workflow Script' 앱이 설치된 경우 원격 코드 실행(RCE)으로 이어질 수 있습니다.
requests 라이브러리환경 시작:
docker-compose up -d
인스턴스 구성 (자동):
취약한 workflow_script 앱을 설치하고 테스트 사용자를 생성하기 위해 설정 스크립트를 실행합니다.
bash setup.sh
참고: Nextcloud가 완전히 초기화될 때까지 기다리므로 몇 분 정도 걸릴 수 있습니다.
Python 종속성 설치:
pip install -r requirements.txt
익스플로잇 실행:
python exploit.py
이 스크립트는 다음을 수행합니다:
attacker로 로그인합니다.text/plain인 파일이 업로드될 때 명령(touch /tmp/pwned)을 실행하는 전역/관리자 워크플로우 규칙(허용되어서는 안 됨)을 생성합니다.RCE 트리거:
attacker / AttackerPassword123!로 http://localhost:8080에 로그인합니다.test.txt)을 업로드합니다.컨테이너에 /tmp/pwned 파일이 존재하는지 확인합니다:
docker-compose exec app ls -l /tmp/pwned
먼저 실험실용으로 생성된 사용자 자격 증명(관리자 권한 없음)부터 시작하겠습니다:
여기서 볼 수 있듯이 attacker 사용자에게는 관리자 권한이 없습니다:

exploit.py 파일을 시작해 보겠습니다:
여기에서 볼 수 있듯이 임의의 .txt 파일을 업로드하기만 하면 됩니다.
자, 실행되었습니다! :
https://nvd.nist.gov/vuln/detail/cve-2023-26482? https://app.opencve.io/cve/CVE-2023-26482?
이 취약점(CVE-2023-26482)은 Nextcloud 서버를 수정된 버전(≥ 24.0.10 또는 ≥ 25.0.4)으로 업그레이드하여 해결할 수 있습니다.