
컨테이너화된 랩 환경으로, Roundcube Webmail에서 PHP 객체 역직렬화 및 가젯 체인을 통해 인증 후 RCE 취약점(CVE-2025-49113)을 시뮬레이션하고 악용합니다.
Roundcube Webmail에서 식별된 중요한 인증 후 RCE 취약점(CVE-2025-49113)을 시뮬레이션하고 익스플로잇하기 위한 실습형 컨테이너 기반 실습 환경입니다.
이 실습은 Roundcube 웹메일 클라이언트를 대상으로 하는 정교한 공격 체인을 보여줍니다. 이 취약점은 인증 후 원격 코드 실행(RCE) 으로, PHP 세션 데이터의 부적절한 처리로 인해 발생하며 PHP 객체 역직렬화로 이어집니다.
인증된 공격자는 악성 PHP 객체를 제작하여 이미지 업로드 기능과 같은 엔드포인트를 통해 서버의 세션 데이터에 주입한 후, 로그아웃과 같은 무해해 보이는 작업을 수행하여 역직렬화를 트리거할 수 있습니다. 이로 인해 서버는 공격자가 제공한 임의의 코드를 실행하게 됩니다.
Crypt_GPG_Engine) 내의 클래스와 메서드 시퀀스로, 역직렬화 과정에서 악용되어 의도하지 않은 동작을 수행할 수 있습니다.이 리포지토리에는 익스플로잇할 준비가 된 취약한 Roundcube 인스턴스가 포함되어 있습니다. 클라우드 또는 로컬 머신에서 즉시 실행할 수 있습니다.
가장 쉽게 시작할 수 있는 방법입니다. 브라우저에서 미리 구성된 클라우드 기반 환경을 제공합니다.
Codespace 실행: 이 README 상단의 "Open in GitHub Codespaces" 배지를 클릭합니다.
설정 대기: GitHub이 환경을 준비합니다. 완료되면 터미널이 나타납니다.
취약한 서비스 시작: VS Code 터미널에서 다음 명령어를 실행합니다.
docker compose up
이 명령어는 취약한 Roundcube 인스턴스, 메일 서버, 데이터베이스를 시작합니다. "Ports" 탭이 나타나면 포트 8080의 링크를 클릭하여 새 브라우저 탭에서 Roundcube를 엽니다.
익스플로잇 수행:
+ 아이콘 클릭).Docker를 사용하여 로컬 머신에서 전체 실습을 실행합니다.
사전 요구사항:
지침:
리포지토리 클론:
git clone https://github.com/hackmelocal/CVE-2025-49113-Simulation.git
cd CVE-2025-49113-Simulation
취약한 서비스 시작: 터미널에서 다음 명령어를 실행합니다.
docker compose up
Roundcube 접속: 웹 브라우저를 열고 http://localhost:9876로 이동합니다.
익스플로잇 수행: