
Эксплойт для подтверждения концепции для CVE-2024-24576, демонстрирующий произвольное выполнение команд в Windows через внедрение аргументов в BAT-файлы. Включает реализации на Python и Go для тестирования и обучения.
# CVE-2024-24576-Poc-Python
Быстрый PoC для уязвимости, раскрытой здесь: https://flatt.tech/research/posts/batbadbut-you-cant-securely-execute-commands-on-windows/
После запуска скрипта вам будет предложено передать аргумент в BAT-файл.
На скриншоте видно, что добавлением символа " можно экранировать API, который Windows использует для вызова cmd, что позволяет выполнять произвольные команды; в данном случае мы открыли calc.exe.

Очевидно, что сам по себе этот код не является вредоносным; он лишь демонстрирует, что даже очищенный ввод (если не удалять все символы ") при вызове BAT-файла может быть использован таким образом, возможно затрагивая публичные веб-приложения.
Видео-обзор: https://youtu.be/xjL4pdf7pJ0
В разработке
Существуют и другие языки, отмеченные как имеющие те же проблемы. Я протестировал Ruby, но он, похоже, не подвержен влиянию. Я продолжу тестирование, чтобы выяснить, где могут быть проблемы.
Код на Golang ещё предстоит протестировать.
Код на Ruby, похоже, не подвержен тому же пути эксплуатации.
Благодарности:
* @Frostb1te за Rust PoC https://github.com/frostb1ten/CVE-2024-24576-PoC
* RyotaK за первоначальное раскрытие