
Python 익스플로잇 스크립트 for CVE-2024-23897 (Jenkins RCE) - 통제된 보안 테스트 및 교육을 위한 자동화된 Docker 기반 취약 실습 환경 포함
CVE-2024-23897는 널리 사용되는 CI 도구인 Jenkins에서 발견된 심각한 취약점입니다. 이 취약점은 노드 접근 및 연결 기능에 대한 적절한 제한이 없어 Jenkins 서버에서 원격 명령 실행(RCE)을 허용합니다.
CVE-ID: CVE-2024-23897유형: 원격 코드 실행 (RCE)영향: 인증되지 않은 공격자가 특수하게 조작된 요청을 보내 Jenkins 서버에서 임의의 명령을 실행하도록 하여 시스템을 손상시킬 수 있습니다.영향을 받는 버전: 이 CVE의 수정 사항이 적용되기 이전의 버전.Jenkinsjenkins-cli.jar 파일을 사용하여 이 취약점을 악용할 수 있습니다. 이 파일은 Jenkins와 해당 노드 간의 통신을 허용합니다.Jenkins 서버에 임의의 명령을 업로드하고 실행할 수 있습니다.Jenkins로 업데이트하는 것이 좋습니다.이 Python 스크립트는 구형 Jenkins 서버의 CVE-2024-23897 취약점을 악용합니다. 이 스크립트는 Jenkins 서버와 상호 작용하고 jenkins-cli.jar 파일을 사용하여 임의의 명령을 실행합니다.
Python 3.xrequests 및 subprocess 라이브러리.취약한 Jenkins 서버에 대한 네트워크 연결.jenkins-cli.jar 파일 다운로드.Jenkins 노드 연결**하고 원격 서버에서 악성 명령 실행.의존성 설치: Python 3과 requests 라이브러리가 설치되어 있는지 확인하세요. pip를 사용하여 설치할 수 있습니다:pip3 install requests
스크립트 사용법: 익스플로잇 스크립트 파일을 다운로드하고 터미널에서 실행:
python3 cve-2024-23897.py
스크립트는 다음 매개변수를 입력하도록 요청합니다:
Jenkins 서버 IP 주소: Jenkins가 실행 중인 IP.Jenkins 서버 포트: Jenkins가 수신 대기 중인 포트(기본값은 8080).읽을 파일 경로: 취약한 서버에서 접근하려는 파일의 경로(예: /etc/passwd).스크립트는 Jenkins 서버에서 jenkins-cli.jar 파일을 다운로드한 다음, 매개변수로 지정한 파일에 정의된 명령을 실행합니다.
통제된 환경에서 취약점을 테스트하기 위해 Docker 기반의 취약한 실습 환경을 포함했습니다. Kali Linux 머신에서 ZIP 파일의 압축을 풀고 .sh 파일을 실행하여 Docker 환경을 배포하면 테스트를 수행할 수 있습니다.
LAB .tar 다운로드: 먼저 취약한 실습 환경이 포함된 파일의 압축을 풉니다:
배포 스크립트 실행: 폴더 안에 2개의 파일이 있어야 합니다. 그중 하나는 auto_mount.sh입니다. 이 스크립트는 취약한 Docker 환경을 자동으로 배포하고, 매개변수로 전달할 TAR 형식의 실습 환경을 처리하도록 설계되었습니다. 다음 명령으로 실행:
bash auto_mount.sh cve-2024-23897.tar
스크립트는 압축된 Docker .tar 파일을 매개변수로 받아 취약한 컨테이너를 실행하고 취약점 악용을 테스트합니다.
Jenkins 서버에 연결: Docker 환경이 실행되면 Kali Linux 머신에서 Jenkins 서버에 연결할 수 있습니다. Jenkins 인터페이스는 컨테이너에 구성된 IP 주소와 포트에서 사용할 수 있습니다.
익스플로잇 스크립트 실행: 이제 취약한 Jenkins 서버가 실행 중이므로 Kali 머신에서 익스플로잇 스크립트를 실행하고 Jenkins에서 원격 코드 실행을 시도할 수 있습니다.
CVE-2024-23897 취약점을 악용하는 Python 스크립트.Docker 환경을 자동으로 배포하는 스크립트.Jenkins 서버를 시작하기 위한 압축 Docker 파일.개발자: d1se0
연락처: [email protected]