Newegg es la nueva víctima del grupo delictivo Magecart

Esta semana la empresa Voletix junto a RiskIQ han publicado una investigación que tiene como protagonistas al grupo de ciberdelincuentes Magecart. Esta vez la víctima ha sido la empresa minorista de ordenadores y productos electrónicos de consumo Newegg.

Magecart es un grupo de ciberdelicuentes especializado en el robo de credenciales de pago mediante el uso de “skimmers digitales”. Entre los ataques que se le han atribuido están el robo de credenciales de pago en TicketmasterBritish Airways y el caso reciente deNewegg.

Este ataque ha sido prácticamente igual que el publicado un par de semanas atrás y que afectaba a la aerolínea británica British Airways. De hecho, teniendo en cuenta la fecha de realización del ataque y no la de publicación, este ataque ha sido anterior.

En resumen, el proceso es el siguiente:

  1. Los atacantes logran acceder al servidor donde se hospeda el código que interpreta la web de la víctima, a través de cualquier vector.
  2. El atacante introduce un código Javascript fraudulento que, paralelamente al proceso de compra, envía los credenciales del usuario a un servidor controlado por los atacantes.
  3. El ataque persiste mientras el código no es detectado.

La detección puede llevarse a cabo bien por alguien externo, por la propia empresa afectada o bien por parte de las entidades bancarias. Estas últimas, debido a las denuncias de sus clientes que reclaman cargos no autorizados, alertan a la víctima.

Las entidades bancarias están más que acostumbradas a detectar patrones que identifiquen un ‘skimmer’ como foco del robo de información de credenciales bancarios. La cadena de hechos es sencilla: reciben quejas de sus usuarios por cargos no autorizados, buscan un patrón común entre ellos, y ya tienen la fuente, en este caso todos compraron previamente en Newegg.

Durante muchos años ha sido bastante común, y lo sigue siendo, la colocación de TPVsfraudulentos que roban las tarjetas que transaccionan con él. Estas nuevas técnicas solo tienen una diferencia: no existe ningún elemento hardware, en vez de ir a un TPV físico, los atacantes manipulan TPVs virtuales.

Pero volviendo al ataque, veamos que particularidades ha tenido este caso.

Lo primero que vamos a contar es el punto donde se ha introducido el código fraudulento, en este caso ha sido en el servidor secure.newegg.com.

Lo verdaderamente sorprendente esta vez ha sido como los atacantes han intentado disfrazar el ataque para permanecer el mayor tiempo en la sombra. Para ello el 13 de agosto los atacantes registraron el dominio neweggstats.com, un dominio que pretendía disfrazar las conexiones para parecer ser legítimo y al cuál enviaban la información robada. Además le compraron un certificado SSL para cifrar el tráfico y darle aún mayor sobriedad a la infraestructura fraudulenta.

Todo esto les permitió permanecer más de un mes sin levantar sospechas, con el siguiente código cargado en la url https://secure.newegg.com/GlobalShopping/CheckoutStep2.aspx

Cabe mencionar que en el caso de British Airways se usó el eslogan, con claros tintes ‘clikbaits’, de que tan solo 22 líneas de código habían sido necesarias para llevar a cabo el ataque. Este caso de Newegg es aún más ‘flagrante’ ya han sido únicamente 15 las líneas necesarias para el llevar a cabo el ataque. Así que podíamos apostar por un eslogan bastante más divertido, a mi manera de ver, que podría ser el siguiente: “Los Hackers que forman parten de Newegg han necesitado 7 lineas menos para perpetrar su ataque que en el caso de British Airways”, una tontuna enorme, ya no solo por el hecho de que el código es Javascript y hablamos de líneas, no de sentencias, sino, porque reducir este tipo de ataques a la orden que hace el envío de datos es evidenciar un completo desconocimiento sobre todo lo que conlleva ataques de este calado.

Ejecución de código remoto en Moodle

Se ha publicado un error en la plataforma educativa Moodle que podría permitir la ejecución remota de código

Moodle es una popular plataforma educativa de código abierto que permite a los educadores crear y gestionar tanto usuarios como cursos de modalidad e-learning. Además proporciona herramientas para la comunicación entre formadores y alumnos.

Existe un error al importar un cuestionario de tipo ‘arrastrar y soltar en el texto’ (ddwtos) en formato XML, debido a una falta de comprobación en una función ‘unserialize’. Esto podría causar una inyección de objetos PHP y conducir a una ejecución remota de código arbitrario.

Es necesario disponer de permisos para crear un cuestionario o importar preguntas para poder aprovechar esta vulnerabilidad. Aunque estos permisos los tienen los profesores, cabe destacar que es posible asignar el rol de ‘profesor’ un usuario ‘estudiante’ para un determinado curso, con lo cual estaría en posición de explotar este error.

Además, una plataforma Moodle también podría verse afectada de manera no intencionada si se importan cuestionarios o preguntas desde fuentes que no son de confianza.

Se propone la siguiente prueba de concepto que ejecuta el comando ‘whoami’ como demostración de la vulnerabilidad.

Prueba de concepto

Esta vulnerabilidad, identificada como CVE-2018-14630, ha sido descubierta por Johannes Moritz. Ha sido catalogada como seria por la propia plataforma y afecta a todas las versiones anteriores a las siguientes: 3.1.14, 3.3.8, 3.4.5, y 3.5.2, en las cuales se ha corregido.

Más información:
 
MSA-18-0017: Moodle XML import of ddwtos could lead to intentional remote code execution:

Xbash, un gusano multiplataforma enfocado a servidores

Este nuevo gusano para Windows y Linux escrito en Python combina ransomware, minado, botnet y capacidad de auto-propagación

Ha sido detectado un nuevo tipo de malware del que se sospecha que podría estar detrás Iron Group, un grupo cibercriminal chino ya conocido. Esta nueva amenaza destaca por contar con un amplio abanico de funciones, entre las que se encuentran ransomware (borra datos de varios tipos de bases de datos), botnet (comunicándose a servidores C2), ataques por fuerza bruta a múltiples servicios (MySQL, VNC, etc.), explotación de servicios para propagación (Hadoop, Redis y ActiveMQ) y minado. Además del alto número de opciones (que podrían ir incrementándose con el tiempo), este malware destaca por ejecutarse tanto en Windows como en Linux.

El principal riesgo que trae este malware es su capacidad como ransomware, afectando a las bases de datos MySQL, PostgreSQL y MongoDB, de las cuales borra todos sus datos y crea una nueva tabla con la información para realizar el pago. A pesar de que la cuantía por recuperar la información es relativamente pequeña (0,02 bitcoin, 125$ en estos momentos), no debería hacerse el pago bajo ningún concepto, porque el atacante no ha añadido un método de recuperación. El malware no sólo intenta acceder a las bases de datos conectándose a ellas, sino que además cuenta con métodos alternativos como utilizando PhpMyAdmin.

El atacante ya ha recibido 6000$ en Bitcoins. Fuente: Palo Alto.

Otra de las características incluidas son sus funcionalidades como botnet para analizar máquinas remotas. Para su funcionamiento, hace uso de 3 tipos de servidores C2: uno del que obtiene IPs y dominios (públicos) a analizar, otro del que obtiene contraseñas a probar, y finalmente otro al que envía los resultados. El malware cuenta con un amplio número de servicios a examinar por si estuviesen disponibles, y en caso de tener éxito (y si el servicio está implementado), intenta romper la contraseña haciendo uso de los diccionarios. Los servidores C2 se encuentran en el código, y todas las comunicaciones se realizan usando HTTP.

Para su propagación, se aprovecha de vulnerabilidades ya conocidas en Hadoop (sin CVE, de 2016), Redis (sin CVE también, 2015) y ActiveMQ (CVE-2016-3088), lo que urge aún más actualizar dichos servicios si no lo estuviesen ya. Para infectar las máquinas vulnerables, el gusano se descarga así mismo desde uno de los servidores C2 disponibles, además del Coinminer empleado por el grupo criminal. Incluso para la instalación del malware cuenta con funciones para detectar si la máquina es Windows o Linux, para así realizar la instalación de la forma correcta.

Python, el lenguaje de programación empleado, destaca por permitir un desarrollo rápido y fácil, al mismo tiempo que facilita incorporar mejoras al software. Este lenguaje de script es multiplataforma, ventaja que aprovecha para ampliar el número las plataformas a infectar. Para su instalación, utiliza PyInstaller, un contenedor que incluye todas las dependencias de Python necesarias. Además, ofusca el código para impedir que sea detectado y dificultar su análisis, aunque ya está siendo detectado por varios antivirus.

Tendremos que estar atentos al avance de este malware, que podría variar en los próximos meses para soportar nuevos métodos de ataque y propagación. Mientras tanto, se recomienda utilizar contraseñas seguras en la configuración de los servicios, mantener el software actualizado y realizar backups (sobre todo de bases de datos).

Más información:

Falso email de Deloitte usado para distribuir malware

No es la primera vez que los spammers utilizan la imagen de empresas conocidas para hacer llegar a los usuarios correos no deseados o, en el peor de los casos, malware.

 

En este caso los atacantes han suplantado la identidad de la conocida empresa Deloitte para distribuir muestras de TrickBot, una familia de troyanos bancarios que ha estado bastante activa los últimos meses.

Los correos reportados provienen de un tal “Adam Bush” Adam.Bush@deloitte-inv.com y utilizan un dominio fraudulento que incluye el nombre de la marca. El asunto del correo habla de un calendario de nóminas de la empresa y pretende despertar la curiosidad de la víctima para descargar y abrir el adjunto incluido.

Correo suplantando la identidad de Deloitte. Fuente: myonlinesecurity.co.uk

El fichero adjunto, en formato Excel, contiene una macro maliciosa que descargará el troyano. Desde las versiones de Office 2010 en adelante, el programa requiere que el usuario habilite de forma manual la ejecución de macros, por eso se mostrará en la hoja de cálculo un mensaje como el que vemos a continuación incitando al usuario a activar esta característica:

Payrollschedule.xls. Fuente: myonlinesecurity.co.uk

La macro descargará el ejecutable desde http://bcgfl[.]com/sdn.uqw o alternativamente http://ubeinc[.]com/sdn.uqw. Dos muestras del ya conocido Trickbot.

IOC de la campaña:

Payrollschedule.xls
MD5:  a628323455d1f19d1115e1626d1fabce
SHA-1:  552f531d1f8cba28da5fcc376abbc5647f438c69

URL de descarga del troyano:
http://bcgfl[.]com/sdn.uqw
72.29.67.154
http://ubeinc[.]com/sdn.uqw
72.29.90.19
MD5: cae0a5bb259d11b80e448c0c68f47f06
SHA1: 7c08e6f55738c52b7869d66a301578667b972f4b

Remitente: Adam.Bush@deloitte-inv[.]com
5.79.90.23
185.212.130.89
5.79.76.209
95.211.169.218

Dejar claro que Deloitte no ha sido en ningún momento comprometida y que el dominio fraudulento deloitte-inv.com ha sido registrado por un tercero que nada tiene que ver con la empresa.

Desde Hispasec recomendamos no abrir nunca correos con adjuntos no solicitados.

 
fake Deloitte FW: Payroll schedule delivers Trickbot:

Corrupción de la memoria del kernel a través de Webroot SecureAnywhere

Un fallo en el software antivirus SecureAnywhere de Webroot permitiría a un usuario sin privilegios leer o escribir una dirección de memoria arbitraria.

El pasado 13 de septiembre, investigadores de Trustwave han descubierto una vulnerabilidad de corrupción de memoria en la versión de macOS de SecureAnywhere, el software antivirus desarrollado por la empresa Webroot.

La ausencia de control de acceso en uno de los procesos que se comunican con el driver del kernel de Webroot SecureAnywhere, permitirían la desreferencia de un puntero controlado por un usuario (sin privilegios) para leer y escribir en una dirección arbitraria.

La siguiente prueba de concepto publicada por Trustwave provocaría un ‘kernel panic’ al intentar escribir una dirección que no se encuentra actualmente en memoria:

PoC publicada por Trustwave

La vulnerabilidad ha sido corregida en la versión 9.0.8.34 de SecureAnywhere.

Más información:
 

Exploit basado en CSS puede bloquear tus dispositivos Apple

Se ha revelado la PoC que únicamente contiene unas pocas líneas de código CSS y HTML.

Sabri Haddouche es el nombre del investigador que ha descubierto este fallo. La prueba de concepto liberada fue colgada en Twitter y en su Github. Más allá de un simple bloqueo, la página web, si se visita, provoca un pánico en el kernel del dispositivo y un reinicio completo del sistema. 

Explicación del fallo:

El exploit aprovecha una debilidad en el motor de renderizado de Apple Webkit, que es utilizado por todas las aplicaciones y navegadores de la conocia marca. Dado que Webkit no cargaba correctamente varios elementos como etiquetas <div> dentro de una propiedad del filtro CSS, el investigador creó una web que utiliza todos los recursos del dispositivo, provocando el apagado y reinicio del mismo. 

Prueba de concepto:

Todos los navegadores que corren sobre iOS son vulnerables a este ataque. Por otro lado, los usuarios de Windows y Linux no se ven afectados por esta vulnerabilidad.

De momento no hay parche disponible contra este fallo, pero se presupone que Apple está investigando el problema.

Más información:
 

Descubierta aplicación anti-adware espiando a los usuarios de Mac

Una aplicación situada en el puesto número uno de las aplicaciones de pago de la AppStore cazada espiando a sus usuarios
Se trata de la aplicación “Adware Doctor”, esta aplicación está diseñada para proteger a sus usuarios de adware y malware e irónicamente ha sido descubierta robando el historial de navegación de los usuarios sin su consentimiento y enviándolo a servidores localizados en China.
AdwareDoctor
Fuente: thehackernews.com
El investigador de seguridad ‘@privacyis1st’ detectó un comportamiento sospechoso de spyware en la aplicación antes citada y le reportó los resultados de la investigación a Apple junto con la prueba de concepto de este incidente, pero la aplicación seguía siendo hospedada por el famoso market.
Una investigación más exhaustiva de la aplicación desveló que elude el entorno de ‘Sandboxing’ presente en la ejecución de cada aplicación dentro del sistema operativo del gigante tecnológico. Lo cual conlleva a una violación de los acuerdos de desarrollo de aplicaciones.
Los datos obtenidos por la aplicación son principalmente todos los sitios web que el usuario haya visitado por los navegadores más famosos (Google Chrome, Firefox, Safari) y los envía a servidores chinos (hxxp://yelabapp.com) que está a cargo de los creadores de la aplicación. La aplicación se salta la protección de sandboxing y accede a estos datos, comprimiéndolos para posteriormente mandarlos al servidor a través de ‘sendPostRequestWithSuffix’.
Esta aplicación tiene más historia detrás antes podíamos encontrarla con el nombre de ‘Adware Medic’, que era una aplicación que simulaba ser otra llamada AdwareMedic. Se marcó como falsa con la ayuda de MalwareBytes y se eliminó de la AppStore, pero luego apareció Adware Doctor y se convirtió en la mejor aplicación de pago de la AppStore.
Dado que la aplicación viola flagrantemente los términos y condiciones del market de aplicaciones recopilando datos de los usuarios sin su consentimiento y saltándose las protecciones de sandboxing presentes se le comunicó a Apple el incidente, esta comunicación se lleva a cabo hace algunas semanas, pero la compañía aún no ha hecho nada al respecto.

Fue después cuando la información se hizo pública cuando Apple tomó cartas en el asunto y la aplicación fue finalmente borrada junto con la otra aplicación presente del mismo desarrollador ‘AdBlock Master’ y la URL donde se enviaban los datos ha dejado de ser accesible.

Se recomienda a los usuarios que hayan instalado esta aplicación que la borren inmediatamente de sus dispositivos.

Explicando WPA3: más seguridad y más fácil de usar

Esta nueva versión incluye el nuevo protocolo SAE, que hará inviable nuevos ataques como KRACK; aunque también se incluyen mejoras para hacer más fácil y seguro compartir redes y usar redes públicas

Durante más de una década, el uso de PSK (clave pre-compartida, comúnmente conocido como ‘four-way handshake’) se ha considerado seguro, hasta que en 2016 un grupo de investigadores belgas descubrieron lo que se denominaría KRACK, dejando de manifiesto la necesidad de buscar una alternativa: SAE (Simultaneous Authentication of Equals).

Este nuevo protocolo empleado por WPA3 (que en realidad data de 2008), se trata de una variación de dragonfly handshake, contando entre sus novedades resistencia a ataques como el de KRACK, pero además hace inútil los ataques por diccionario a los paquetes interceptados. Por si fuese poco, además cuenta con forward secrecy’. Esto significa, que aunque se obtenga la clave, un atacante no podrá descifrar los mensajes anteriormente cifrados con dicha clave, porque ésta cambia con cada comunicación.

SAE a diferencia de PSK, tal y como indica su nombre (Simultaneous Authentication of Equals) trata a cada cada parte como iguales, y cualquiera de ellas puede establecer la comunicación. Este nuevo método se contrapone a la forma de trabajar de PSK, en que router y cliente se encontraban diferenciados, y era posible forzar la desconexión entre ambos para analizar los ‘handshake’ (tal y como hace KRACK).

Además de SAE, WPA3 en su modalidad WPA3-Enterprise contará con cifrado de 192-bits, al contrario que WPA3-Personal, que utilizará 128-bits. Esta seguridad adicional puede ser excesiva para el mercado doméstico, pero su uso puede ser requerido por instituciones y gobiernos.

WPA3 no es sólo más seguro, sino también más fácil de usar. Muestra de ello es Easy Connect, un nuevo protocolo que ha sido creado para facilitar compartir (y seguro) el acceso a una red. Esta nueva modalidad hace uso de códigos QR únicos, que deben ser escaneados por los dispositivos. Para aquellos dispositivos sin posibilidad de escanear el código QR, también será posible utilizar un código legible por un ser humano, e incluso compartirlo mediante sonido. Este tipo de medidas evitan compartir la contraseña (lo cual es más inseguro) y reduce los errores comunes al almacenar la clave para compartirla (a.k.a apuntarlo en un post-it). Sólo esperemos que estas nuevas facilidades, no se conviertan en un agujero de seguridad, como ya ocurrió con WPS.

Relacionado con lo anterior, el nuevo protocolo Enhanced Open protegerá a los usuarios que se conecten a redes abiertas, como aeropuertos o cafés, de ver sus datos comprometidos por el resto de usuarios de la red. Éste es un problema grave existente hasta ahora del que muchos usuarios no son conscientes, siendo la única solución utilizar una VPN (algo, que la mayoría de personas no utilizarán). Aunque el uso de una VPN en una red desconocida seguirá siendo aconsejable (porque no sabemos quien controla la red), este nuevo protocolo protegerá en gran medida a los usuarios que no usen una VPN.

Más información:

Wi-Fi Gets More Secure: Everything You Need to Know About WPA3

Vulnerabilidad de falsificación de sitios web descubierta en Safari

Se ha descubierto una vulnerabilidad que podría permitir a los atacantes falsificar direcciones de sitios web legítimos para robar credenciales

Si bien Microsoft solucionó el mes pasado esta misma vulnerabilidad que le afectaba en su navegador Edge, Safari aún no está parcheado.

El fallo ha sido descubierto por el investigador de seguridad Rafay Baloch. La vulnerabilidad (CVE-2018-8383) se debe a un problema de condición de carrera que permite a JavaScript actualizar la dirección de la página web en la URL mientras se carga la página. 

Funcionamiento de la vulnerabilidad

La explotación de esta vulnerabilidad podría permitir que un atacante inicialmente comience a cargar una página legítima y luego reemplazar el código en la web por uno malicioso.

“Al solicitar datos de un puerto inexistente, la dirección se conservó y, por lo tanto, debido a una condición de carrera sobre un recurso solicitado desde un puerto inexistente combinado con el retraso introducido por la función setInterval logró activar la suplantación de barra de direcciones”, explica Baloch en su blog.

Prueba de concepto

Los desarrolladores de Microsoft arreglaron el fallo antes de que pasara la fecha límite de 90 días desde que se le informó, pero Apple aún no ha puesto solución al error.

Baloch sigue sin exponer el código de la prueba de concepto de este último, pero dado que el de Microsoft Edge es público y el fallo es muy similar, cualquier persona con un conocimiento decente de JavaScript podría hacerlo funcionar en Safari.

El propio investigador asegura que este fallo no afecta ni a Chrome ni a Firefox.

Más información:

Blog de Rafay Baloch:


Denegación de servicio y revelación de información en FreeBSD

Una vulnerabilidad en el procesador del formato ELF en el cargador de ejecutables permite forzar el apagado del sistema y extraer información del espacio de memoria del núcleo

Denegación de servicio y revelación de información sensible si puedes correr un ejecutable en la máquina. Ese es el impacto de la última vulnerabilidad reportada en FreeBSD, vulnerabilidad que se puede explotar a través de la ejecución de un ejecutable ELF especialmente diseñado. El código responsable de cargar los ejecutables en memoria es un código especialmente sensible, debido a la cantidad de veces que es llamado por el sistema operativo y a tener que tratar en el núcleo con datos que provienen del usuario.

Lo cierto es que la mayoría del código útil cumple la última condición y procesa en el núcleo datos que vienen del usuario. El problema real es la complejidad de los datos a procesar. Como ejemplo contrario al que nos ocupa, podemos pensar en una llamada al sistema que escribe datos a un archivo. Simplificando, esa llamada al sistema tendría tres argumentos: la ruta del archivo, los datos a escribir y la longitud de estos datos. Los datos a escribir no tienen complejidad alguna para ser procesados: pueden contener cualquier cosa, y se volcarán directamente al archivo. Lo único que debería respetarse es que la longitud de los datos fuese correcta, pero si no lo es, tampoco pasa nada. El sistema operativo volcará más datos de los reales, cogiendo del siguiente trozo de memoria, o llegando a cerrar el proceso que llama si por especificar mal la longitud termina leyendo memoria a la que no tiene acceso.

El último argumento que nos queda es la ruta del archivo. Una ruta de un archivo tiene un formato relativamente sencillo, una serie de nombres separados por barras. Hay algunos caracteres que no pueden contener, así como otros caracteres que pueden dar problemas en ciertos sistemas de archivos, pero es sencillo saber si una ruta de archivo está bien formada y extraer la información que necesitemos de ésta. Otro cantar es el tema que nos ocupa, el procesamiento del formato ELF en los ejecutables:

Descripción básica del formato ELF. Extraído de www.cs.bgu.ac.il

Sinceramente, la imagen que acabo de poner no me parece muy didáctica, pero con esa cantidad de flechas retorcidas sirve perfectamente para lo que quiero transmitir: una estructura de datos como la del formato ELF no es una estructura de datos fácil de procesar. Otro ejemplo que da indicios sobre su complejidad es el número de páginas de esta referencia del formato ELF.

Al final, el procesamiento de una estructura de datos es similar al procesamiento de lenguajes de programación (parsing), en el sentido de que ambos tienen una estructura predefinida y una lista de construcciones permitida. Y el problema de muchos formatos de archivo, incluido el formato ELF, es que se equiparan a una categoría de lenguajes difíciles de procesar. Por tanto, la complejidad del código para procesarlos aumenta, aumentando también la posibilidad de que exista un fallo de seguridad en el código. Hay publicaciones científicas con proposiciones para simplificar este tipo de formatos sin perder expresividad, como ésta, pero lo cierto es que lo ideal es intentar simplificar lo máximo posible las estructura de datos. De esta forma, se simplificaría el código que las procesa, y los fallos de seguridad serían mucho menos frecuentes.

Pero como siempre, la seguridad aquí se enfrenta a la necesidad de retrocompatibilidad y diseño fácil (que no es lo mismo que el resultado del diseño sea complejo). Tenemos que recordar que la seguridad es un compromiso, y hacer algo seguro al 100% es hacerlo inútil o excesivamente costoso.

Más información:
 
FreeBSD-SA-18:12.elf – Improper ELF header parsing
https://www.freebsd.org/security/advisories/FreeBSD-SA-18:12.elf.asc

Occupy Babel! – LANGSEC explained in a few slogans
http://langsec.org/occupy/

Context Parsing (Not Only) of the Object-File-Format Description Language
http://elib.mi.sanu.ac.rs/files/journals/csis/28/100408.pdf

Wikipedia – Context-sensitive language
https://en.wikipedia.org/wiki/Context-sensitive_language