Ejecución automática de aplicaciones en Safari 4

12 mayo 2009 Publicado por cLimbo
Traducción; climbo

###############################
Safari para windows lanza automáticamente archivos sin preguntar
Aviso: http://lostmon.blogspot.com/2009/05/safari-4-automatic-explorerexe-launch.html
Notificación a los vendedores:
###############################

###########
Descripción
############

La beta pública de Safari 4 (528,16) es vulnerable ya que es propensa a ejecutar aplicaciones sin preguntar.

en primer lugar mirad =>

http://msdn.microsoft.com/en-us/library/aa767914 (VS.85). aspx # app_reg
http://msdn.microsoft.com/en-us/library/aa767914 (VS.85). aspx # url_inv

En esta documentación justamente en "alerta de seguridad" dicen:


"Applications handling URL protocols must be robust
in the face of malicious data.
Because handler applications receive data from untrusted
sources, the URL and other parameter values passed to
the application may contain malicious data attempting to
exploit the handling application. For this reason, handling
applications that could initiate unwanted actions based on
external data must first confirm those actions with the user"

(Que resumiendo dice que actualmente no han encontrado un vector de ataque, y que hoy por hoy no representa una vuln en IE)

Echad un vistazo a cómo utilizar la búsqueda ms-manejador de protocolo:

http://msdn.microsoft.com/en-us/library/bb266520.aspx

y cómo mostrar los objetos de una ventana de línea de comandos:

http://www.codeproject.com/KB/system/ExplorerObjects.aspx

Con toda esta información el usuario puede componer un documento html que llame a la búsqueda "ms-manejador de protocolo" y el uso de su explorador en algunos objetos.

########
Pruebas
########

search-ms:query=microsoft&
search-ms:query=vacation&subquery=mydepartment.search-ms&
search-ms:query=seattle&crumb=kind:pics&
search-ms:query=seattle&crumb=folder:C:\MyFolder&

Si redactas un documento html con un iframe o un enlace que contenga alguna de estas búsquedas "ms url firefox", "google chrome", y "IE8" te llega a mostrar una advertencia. (Esto es correcto), pero si haces click en aceptar se te abrirá explorer.exe y ejecutará la búsqueda...

Si hacemos la misma prueba con Safari, este navegador, abre directamente el iframe o el enlace sin ningún tipo de símbolo o ninguna advertencia.

Si nos fijamos en la aplicación de este protocolo manejador, esperamos que el explorador nos muestre los objetos, ya que se puede componer una url "especial"que pueden contener objetos en el explorador concretamente en su "ubicación", usando el parámetro "track" es el parámetro para lanzar explorer.exe que puede buscar lo que sea en un determinado lugar de nuestra máquina.

por ejemplo:

search-ms:displayname=Search%20In%20Google.com&crumb=
location:%3A%3A{20D04FE0-3AEA-1069-A2D8-08002B30309D}
&stackedby=System.ItemTypeText&recurring:true

abre explorer.exe, cierra explorer.exe y tambien cierra el tab desde el que fue llamado

search-ms:displayname=Search%20In%20Google.com
&crumb=location:D%3A%5C&stackedby=System.ItemTypeText
&recurring:true

abre el explorador y explota la caja de búsqueda:

search-ms:displayname=%3D[]%20OR%20%3D%20OR%20%3D%20OR%20%3D&location:

displayname es el parámetro que se puede utilizar para suplantar la ubicación y mostrarla, por ejemplo, en este caso google.com (sus víctimas pueden creer que el navegador hace la búsqueda en google.com)

Si ponemos esta URL directamente en la barra de direcciones de Safari este navegador dice que no puede abrir esta URL porque que no conoce el programa asociado.

Pero si ponemos esta url en un iframe, safari no muestra ninguna advertencia y ejecuta esta url y busca dentro de los archivos de la víctima.

Si ponemos esta url a Firefox, muestra una advertencia, y si hacemos click en permitir, esta búsqueda se ejecuta, si pasamos la url en un enlace o en un iframe el resultado es el mismo.

Con Google Chrome si pasamos la url a la barra de direcciones, Chrome busca en google esta url (y no se ven afectados directamente) pero si ponemos la url en un iframe o en un enlace, muestra una advertencia, por lo tanto; se haría click en permitir y la búsqueda se ejecutaría.

En IE8 muestra una advertencia, pero la búsqueda no se ejecuta, porque este explorador es incorrecto, podemos ponerlos en otros exploradores y funcionan bien.

Cuando explorer.exe está activo, el proceso es llamado con el siguiente parámetro:

esta "inyección" se ejecuta a nivel de comandos => c:\windows\explorer.exe /separate,/idlist,%1,%L

He estado haciendo varias pruebas intentando tratar de obtener esta otra línea de comandos =>

c:\windows\explorer.exe /N,%windir%\system32,
/select,%windir%\system32\calc.exe

pero en este momento; no quiero dejar pasar esta línea de comandos en un iframe con la búsqueda ms-protocol.


¿Un usuario remoto puede recoger el resultado de esta búsqueda en modo local?

No, no conozco ningún modo de hacerlo, pero por ejemplo, podemos causar un DoS en el explorador simplemente creando un documento HTML con tres o cuatro iframes que exigen la búsqueda ms y puede causar la lentitud del PC o un abuso de búsqueda indexada o la petada de explorer.exe.

En un enlace con sólo poner el protocolo de búsqueda-ms: con tres o cuatro ventanas del explorador, puede causar un abuso de la memoria, y en algunos casos explorer.exe puede petar.

Yo suelo intercambiar algunos correos de MSRC (Microsoft) y la conclusión final que he sacado es: que creemos que en este momento esto no suponga una vulnerabilidad de la seguridad en IE8, ya que muestran la alerta, y no hemos encontrado un vector de ataque o alguna forma de eludir la restricciones en la aplicación búsqueda-ms para convertirlo en un acceso remoto o una ejecución remota de código.

Esta es la última respuesta de Microsoft:

#######################################

We have completed our investigation into this issue
and believe there is not a security issue here for
Microsoft to address. Our investigation has not shown
any method whereby a search-ms URL could either execute
arbitrary code or return search results to a third party.
Although additional search windows can be generated from
multiple iframe on a web page, this is a temporary DoS
condition. We can find no security issue with the search-ms
protocol itself. As such, this is not something MSRC would track.

Please let me know if you feel we have missed something
in our analysis. Otherwise, I will be closing the MSRC
case down. I do appreciate you taking the time to report
this to us and working with us throughout the investigation.
########################################

pero si recordamos que cuando llamamos a la búsqueda ms-protocolo en una página web se ejecuta lo siguiente:

c:\windows\explorer.exe /separate,/idlist,%1,%L

Ellos por el momento no la toman como una vulnerabilidad en IE pero creo que esta cuestión se debería de tener en cuenta...

###############€nd#####################

Thnx to estrella to be my ligth
Thnx to all Lostmon Team !!
Thnx The Microsoft Research Security Center
for their support. http://blogs.technet.com/msrc/
--
atentamente:
Lostmon (lostmon@gmail.com)
Web-Blog: http://lostmon.blogspot.com/

--------------------

thz Lost :-)