Graves vulnerabilidades en la extensión de navegadores de Cisco WebEx

Cisco WebEx es un servicio de videoconferencias que cuenta con varias aplicaciones para poder interaccionar con él. Desde la aplicación de escritorio, aplicaciones móviles, web y extensiones de navegador.

Son precisamente estas últimas donde se encuentran las vulnerabilidades reportadas por Cris Neckar de Divergent Security y Tavis Ormandy de Google. Lo errores pueden llegar a producir una ejecución remota de código.

– La primera de ellas se encuentra al leer el JSON. WebEx utiliza dentro de la librería “atgpcext” un parser de JSON propio para procesar los mensajes desde el cliente.

El siguiente código muestra cómo se podría crear 2 atributos con el mismo nombre.

 var c = e.GpcExtName;  
 if (c && (c = c.trim(),  
 "atgpcext" != c.toLowerCase() && "atgpcext" != atob(c).toLowerCase().trim()))  
   return !1;  
 var d = e.GpcUnpackName;  
 if (d && (d = d.trim(),  
 "atgpcdec" != d.toLowerCase() && "atgpcdec" != atob(d).toLowerCase().trim()))  
   return !1;  
 var f = e.GpcInitCall;  
 if (f && !a.verifyScriptCall(atob(f.trim())))  

Para ello bastaría con utilizar un diccionario con el siguiente contenido:

 object={ "foo": 1, "foo\0": 2 }  

Lo cual provocaría que se crearan 2 atributos con el nombre “foo”, uno con el valor 1, que sería visible por el navegador Chrome y otro con el valor 2, que sería visible por la librería “atgpcext”.

– La segunda vulnerabilidad se encuentra en una expresión regular incompleta en “GpcScript“. Para la interacción de WebEx con los componentes nativos del sistema se utiliza JavaScript. El siguiente código se corresponde con la función que verifica que la entrada sea correcta:

 a.verifyScriptCall = function(a) {  
   var b = /^(WebEx_|A[sT][ADEPSN]|conDll|RA[AM])|^(Ex|In)it|^(FinishC|Is[NS]|JoinM|[NM][BCS][JRUC]|Set|Name|Noti|Trans|Update)|^(td|SCSP)$/;  
   if (10240 < a.length)  
     return !1;  
   a = a.split(";");  
   for (var c = 0; c < a.length; c++) {  
     var d = a[c].trim()  
      , f = ""  
      , g = d.indexOf("=");  
     0 <= g && (d = d.substring(g + 1).trim());  
     g = d.indexOf("(");  
     0 <= g && (f = d.substring(g + 1),  
     d = d.substring(0, g).trim());  
     g = f.split(",");  
     if (1024 < f.length || 20 < g.length || 0 < d.length && !d.match(b))  
       return !1  
   }  
   return !0  
 }  

Si un atacante malicioso introdujese la entrada _wsystem(Calc)=WebEx_Exploit;, el sistema la aceptaría y funcionaría:

Esto permitiría a un atacante remoto llamar y ejecutar cualquier función exportada de cualquier librería del sistema, lo cual se traduce en una ejecución de código remoto arbitrario.

– La tercera vulnerabilidad residen en la llamada de funciones que se encuentra en lista blanca, con parámetros bajo el control del usuario.

Cualquier función que se encuentre en la lista blanca de funciones a exportar por WebEx acepta parámetros. Por ejemplo “atmccli!WebEx_AutoLaunch“, la cual está permitida, pero el parámetro o parámetros son objetos controlados por el usuario. La rutina hará una llamada virtual que puede resultar en una ejecución de código arbitrario. Con el siguiente JSON se podría ejecutar código arbitrario de la dirección ObjectAddress:

 {  
   ObjectAddress: "1094795585",  
   GpcInitCall: "WebEx_AutoLaunch(ObjectAddress, ObjectAddress, ObjectAddress);"  
 }  

– La última vulnerabilidad se reside en que cualquier atacante puede actualizar a una versión anterior del plugin configurando los parámetros “GpcExtVersion” y “GpcUrlRoot“. En este caso se comprueba la firma del binario, pero el atacante podría volver a una versión en la que el plugin sea vulnerable a otros ataques.

Los productos vulnerables son:
– Plugin para Google Chrome, versiones anteriores a 1.0.12
– Extensión para Mozilla Firefox, versiones anteriores a 1.0.12

Cisco recomienda actualizar los plugin de navegador y las aplicaciones de escritorio.

Más información:

Cisco Security Advisory – Cisco WebEx Browser Extension Remote Code Execution Vulnerability
https://tools.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-20170717-webex

Cisco: WebEx Various GPC Sanitization bypasses permit Arbitrary Remote Command Execution
https://bugs.chromium.org/p/project-zero/issues/detail?id=1324

Los ciberdelincuentes encuentran en los ataques DDoS nuevas formas de extorsión

Durante el mes de julio se está detectando una nueva campaña de email que tienen como objetivo la extorsión a empresas mediante la amenaza de que sus equipos sufrirán un ataque en los próximos días, a no ser que reciban una cantidad de dinero en Bitcoin en la cuenta que indican los atacantes.


Los primeros ataques detectados compartían una cuenta de Bitcoin en todos los emails que enviaban, por lo que hacía pensar que, aún haciendo el pago, los atacantes no podían trazar la empresa que había procedido con el, y por consiguiente no se llevaría a cabo ningún ataque. De este ataque ya se hizo eco INCIBE a través de su web.


Pero estos nuevos intentos de extorsión que hemos detectado vienen acompañados de un ataque de DDoS previo al email y fijan una hora límite para recibir el pago, en caso contrario, procederán a llevar a cabo el ataque.


Adjuntamos correo tipo.

 

 De: Kadyrovtsy <Kadyrovite@protonmail.com>  
 Asunto: Ataque DDoS  
 REENVIE ESTE CORREO A QUIEN SEA IMPORTANTE EN SU EMPRESA Y TENGA PODER DE DECISION!   
   
 Somos Kadyrovtsy  
 http://lmgtfy.com/?q=Kadyrovtsy+andorra+telecom  
   
 En este mismo instante estamos iniciando un ataque de denegación de servicio en una de sus direcciones IP(XXX.XXX.XXX.XXX) Este ataque durara 10 minutos y es para que vea que somos serios.  
   
 Todos sus servidores van a ser atacados empezando este viernes {fecha}. GMT !!! Lanzaremos un nuevo ataque de denegación de servicio con una potencia de 300 Gbps, dejandole su sitio web totalmente inaccesible.  
   
 Puede detener este ataque pagando 0.5 bitcoin en la siguiente dirección bitcoin: {btc}  
   
 Si no sabe como comprar bitcoins busque en Google o adquiéralos en la empresa española Bit2me. El pago ha de recibirse antes de la fecha arriba indicada o el ataque comenzará.  
   
 Bitcoin es anónimo, nadie se enterara que su empresa ha pagado.  

Aún no sabemos si los atacantes cumplen con su amenaza en caso de no haber efectuado el pago. No obstante, el hecho de que se estén utilizando distintas cuentas de Bitcoins y de llevar a cabo un ataque con anterioridad nos induce a pensar que podrían perpetrar dicho ataque.

Quedamos a la espera de conocer más detalles y os animamos a compartir información que tengáis sobre esta forma de extorsión.

Devil’s Ivy: Una vulnerabilidad que afecta a millones de dispositivos IoT

Sale a la luz una nueva vulnerabilidad (denominada Devil’s Ivy) que infecta a millones de dispositivos. Este fallo permite ejecutar código remoto en gran parte de los dispositivos IoT: cámaras, lectores de tarjeta, etc.

Los encargados de este descubrimiento son los investigadores de seguridad de la empresa Senrio. Según afirman estos trabajadores, encontraron el fallo analizando el firmware de una cámara Axis M3004.

La vulnerabilidad consiste en un buffer overflow, que los trabajadores de Senrio consiguieron explotar para ejecutar código remoto en la cámara arriba mencionada, tal y como podemos apreciar en el siguiente vídeo.

Demostración de Devil’s Ivy en Axis M3004 por Senrio Labs:

Devil’s Ivy Exploit in Axis Security Camera from Senrio Labs on Vimeo.

Después de contactar con los distribuidores de estas cámaras (Axis Communications), la empresa les confirmó que la vulnerabilidad afectaba a unos 249 modelos diferentes de cámaras fabricadas por ellos.

La vulnerabilidad, con CVE-2017-9765 se encuentra en la librería de código abierto gSOAP (Simple Object Access Protocol).

gSOAP es un conjunto de herramientas de servicio web ampliamente usado y desarrollado por Genivia. Muchos programadores lo utilizan como parte de su software para permitir a los dispositivos comunicarse con Internet. Según Genivia, la librería ha sido descargada de su página web más de un millón de veces.

Más información:
Devil’s Ivy: The Technical Details
http://blog.senr.io/devilsivy.html

Descarga del último firmware de Axis
https://www.axis.com/global/es/support/firmware

Actualización de gSOAP
https://www.genivia.com/downloads.html

Disponible herramienta para descifrar Petya/GoldenEye, el ransomware de la calavera

Hagamos memoria: Petya (GoldenEye siendo una de sus variantes) es un crypto-ransomware conocido desde marzo de 2016. Recordamos que un crypto-ransomware cifra archivos del usuario y pide un rescate por descifrarlos.

La temible pantalla que anuncia el secuestro

Técnicamente, Petya se caracteriza porque su principal forma de secuestro es cifrar la MFT (índice de archivos en disco), en vez de cifrar los archivos uno a uno como habitualmente (algunas versiones de Petya también tienen esta opción). Curiosamente, más que ser conocido por la versión del autor original, es más famoso por EternalPetya, una versión pirateada (sí, se piratea malware) que afectó principalmente a Ucrania. Tuvo bastante más tirón mediático porque se sospecha que fue un ataque con motivación política.

La noticia es que para las versiones originales de Petya, el autor ha publicado su clave privada, lo que permite descifrar los archivos de las víctimas. @hsherezade, una investigadora independiente en seguridad de la información, ha publicado una herramienta que usa la clave publicada para descifrar los archivos. La herramienta está en versión beta, y como siempre se recomienda antes de intentar el descifrado, lo ideal es hacer una copia de seguridad del original cifrado por si el proceso de descifrado falla e inutiliza definitivamente nuestros archivos.

Las versiones descifrables son las siguientes:

  • Red Petya
  • Green Petya (ambas versiones)
  • GoldenEye Petya

Todas las versiones se reconocen fácilmente porque el nombre hace referencia al color del aviso que notifica la infección (rojo, verde o dorado/amarillo). Este blog detalla con capturas de pantalla cada una de las versiones comentadas, así como algunas versiones no oficiales (que no son descifrables por esta herramienta).

El enlace a la herramienta que descifra las versiones originales de Petya:

https://github.com/hasherezade/petya_key

La herramienta está publicada en código fuente, por lo que es necesario compilarla antes de usarla.