lunes, 29 de febrero de 2016

Publicada la segunda lección del MOOC Crypt4you "Introducción a la seguridad informática y criptografía clásica"

Se ha publicado la segunda lección del MOOC "Introducción a la seguridad informática y criptografía clásica", perteneciente al segundo bloque Fundamentos e Historia de la Criptografía, con el título "Fundamentos de la criptografía".

En esta segunda lección veremos por qué la definición que la Real Academia de la Lengua nos entrega de criptografía no es la más apropiada bajo el punto de vista de la ingeniería y de la informática, aunque sí para un entorno literario. Nos adentraremos a los inicios de la criptografía en el siglo V antes de Cristo con la escítala y daremos un primer repaso general a los sistemas de cifra clásica, terminando con los hechos que nos permiten afirmar que hacia la mitad del siglo XX comienza a nacer lo que hoy denominamos criptografía moderna.

Así mismo, se ha publicado en las redes sociales de twitter y facebook de Crypt4you las soluciones a las 10 preguntas del test de la primera lección, en esta última red social justificando además cada una de las respuestas.

La tercera lección "Conceptos básicos de la criptografía", se publicará el 29 febrero de 2016. Como dato estadístico, la primera lección de este nuevo MOOC de Crypt4you ha sido seguida durante una semana por 1.500 alumnos.

Más información:

Introducción a la seguridad informática y criptografía clásica
Tema II: Fundamentos de la criptografía

Crypt4you

Introducción a la seguridad informática y criptografía clásica
Tema I: Introducción a la seguridad de la información

Estadísticas acumuladas de las lecciones del MOOC Crypt4you

una-al-dia (24/02/2016) Nuevo MOOC en Crypt4you sobre "seguridad informática y criptografía clásica"


Dr. Jorge Ramió; Dr. Alfonso Muñoz
Directores del MOOC Crypt4you

domingo, 28 de febrero de 2016

Corregidas más de 60 vulnerabilidades en Apple TV

Apple ha publicado una actualización para su televisión (a la versión Apple TV 7.2.1) de tercera generación, que soluciona 61 vulnerabilidades, incluyendo fallos que podrían permitir la ejecución de código, la obtención de información sensible o denegaciones de servicio.

Apple ha solucionado 61 problemas en hasta 24 componentes diferentes, que incluyen bootp, CloudKit, CFPreferences, Code Signing, Code Signing, CoreMedia, Playback, CoreText, DiskImages, FontParser, ImageIO, IOKit, IOHIDFamily, Location, Framework, Office Viewer, QL Office, en la Sandbox, en WebKit (el motor de navegador de código abierto), en el Kernel, y en diferentes librerías como Libc, Libinfo, libpthread, libxml2, libxpc y libxslt

La lista de problemas corregidos también es amplia, incluyendo vulnerabilidades que podrían permitir obtener información sensible, ejecución arbitraria de código, ejecución de código sin firmar, cierre de aplicaciones y modificaciones en partes protegidas del sistema de archivos.

Los CVE asociados son CVE-2012-6685, CVE-2014-0191, CVE-2014-3660, CVE-2015-3730 al CVE-2015-3753, CVE-2015-3759, CVE-2015-3766, CVE-2015-3768, CVE-2015-3776, CVE-2015-3778, CVE-2015-3784, CVE-2015-3793, CVE-2015-3795 al CVE-2015-3798, CVE-2015-3800, CVE-2015-3802 al CVE-2015-3807, CVE-2015-5749, CVE-2015-5755 al CVE-2015-5758, CVE-2015-5761, CVE-2015-5773 al CVE-2015-5778, CVE-2015-5781, CVE-2015-5782 y CVE-2015-7995.

Más información:

About the security content of Apple TV 7.2.1



Antonio Ropero

Twitter: @aropero

sábado, 27 de febrero de 2016

Inyección de comandos en Cisco ACE 4710 Application Control Engine

Cisco ha anunciado la existencia de una vulnerabilidad crítica en los dispositivos Cisco ACE (Application Control Engine) 4710 que podría permitir a un atacante remoto sin autenticar tomar el control de los dispositivos afectados.

La familia de productos Cisco ACE (Application Control Engine) permite realizar una inteligente (de nivel 4 y 7) de los servicios por múltiples dispositivos virtuales, con el objeto de aumentar el rendimiento y conseguir la máxima disponibilidad. También incluye protección contra amenazas y ataques a través de funcionalidades como inspección de paquetes y seguridad a nivel de red y protocolo.

La interfaz gráfica del administrador de los dispositivos Cisco ACE 4710 podría permitir a un atacante remoto sin autenticar ejecutar cualquier comando de la interfaz de línea de comandos (CLI) con privilegios de administrador. La vulnerabilidad reside en una validación insuficiente de las entradas del usuario. Un atacante podría construir una petición http post con comandos inyectados en un parámetro.

Cisco ha publicado actualizaciones para todas estas versiones afectadas.

Más información:

Cisco ACE 4710 Application Control Engine Command Injection Vulnerability


Antonio Ropero

Twitter: @aropero

viernes, 26 de febrero de 2016

Denegaciones de servicio en Squid

Se han solucionado dos vulnerabilidades de denegación de servicio en SQUID versiones 3x y 4.x.

Squid es uno de los servidores proxys más populares, en gran parte por ser de código abierto y multiplataforma (aunque sus comienzos fueron para sistemas Unix).

Los dos problemas residen en denegaciones de servicio cuando squid trata respuestas http específicamente construidas. Uno de ellos debido a una comprobación inadecuada de límites y otro por un tratamiento inadecuado de errores en Squid-4.

Los problemas están solucionados en las versiones Squid 3.5.15 y 4.0.7, o se puede también aplicar los parches disponibles desde:
Squid 3.5:

La semana pasada se publico otra actualización, también para solucionar una vulnerabilidad de denegación de servicio. En este caso Squid confirma tienen conocimiento de que las vulnerabilidades se están aprovechando de forma activa, a través de ataques triviales.

Más información:

Squid Proxy Cache Security Update Advisory SQUID-2016:2
Multiple Denial of Service issues in HTTP Response processing

una-al-dia (20/02/2016) Denegación de servicio en Squid


                                                                                                  
Antonio Ropero
Twitter: @aropero



jueves, 25 de febrero de 2016

Boletín de seguridad crítico para Drupal

El equipo de seguridad de Drupal ha publicado el primer boletín de seguridad del año. Calificado como crítico, obteniendo una puntuación de 15 en su escala de riesgo de seguridad de un máximo de 25. Han solucionado un total de diez vulnerabilidades.

Drupal es un CMF (Content Management Framework) modular multipropósito y muy configurable, desarrollado bajo licencia GNU/GPL en PHP. Permite la publicación de artículos, imágenes, y otro tipo de archivos con servicios añadidos como foros, encuestas, votaciones, blogs y administración de usuarios y permisos.

En primer lugar se ha solucionado un salto de restricciones y denegación de servicio en el módulo File. Un atacante podría ver, eliminar o substituir un enlace a un archivo que un usuario hubiera subido a un formulario sin que el formulario se haya enviado aun.

El sistema XML-RPC permitía realizar a la vez un gran número de llamadas al mismo método, lo cual podría ser usado para ataques de fuerza bruta, por ejemplo enviando una gran cantidad de variaciones de contraseñas para un mismo usuario y de una sola vez. Este método XML-RPC vulnerable estaba activo en el módulo Blog API.

Varias vulnerabilidades en el sistema base: 
  • Dos vulnerabilidades de redirección abierta. Una en la función drupal_goto() al no decodificar correctamente el contenido de $_REQUEST['destination'] y otra manipulando rutas.
  • Un error en la función drupal_set_header() permitía la inyección de cabeceras HTTP en sitios web con versiones de php anteriores a 5.1.2.
  • En algunas versiones antiguas de php, datos aportados por el usuario y almacenados en la sesión de Drupal podrían ser unserializados y ejecutar código arbitrario. 

Existe un error en Form API, al permitir enviar datos desde elementos tipo "button" que han sido bloqueados con el parámetro #access a falso en la definición del formulario.

En el módulo System, un atacante podría hacer que un usuario descargara y ejecutara un archivo con contenido JSON arbitrario.

Varios fallos en el módulo User: 
  • Es posible llamar a user_save() API de una forma diferente de Drupal core. Dependiendo de los datos añadidos en un formulario o array antes de guardarlo se le podrían conceder todos los privilegios a un usuario.
  • En configuraciones que permitan hacer login con la dirección de correo electrónico, sería posible revelar los nombres de usuario a través del formulario de olvidar contraseña.


Afectan a las versiones 6.x anteriores a 6.38, versiones 7.x anteriores a 7.43 y versiones 8.x anteriores a 8.0.4. Se recomienda su inmediata actualización a las versiones Drupal 6.38, Drupal 7.43 y Drupal 8.0.4

Más información:

Drupal Core - Critical - Multiple Vulnerabilities - SA-CORE-2016-001

drupal 6.38

drupal 7.43

drupal 8.0.4




Fernando Castillo

miércoles, 24 de febrero de 2016

Nuevo MOOC en Crypt4you sobre "seguridad informática y criptografía clásica"

Se ha publicado la primera lección del nuevo MOOC "Introducción a la seguridad informática y criptografía clásica", un curso gratuito compuesto por 9 lecciones y un examen final, cuya publicación será semanal desde la fecha indicada hasta el 25 de abril de 2016, con un descanso en Semana Santa.

Del mismo autor del MOOC "El algoritmo RSA" que en Crypt4you supera ya los 196.000 accesos, el Dr. Jorge Ramió Aguirre, se ha publicado la primera lección de este nuevo MOOC (acrónimo en inglés de Massive Open Online Course) bajo el título de "Introducción a la seguridad informática y criptografía clásica".

El curso consta de 4 grandes temas: Introducción a la seguridad de la información, Fundamentos e historia de la criptografía, Matemáticas discretas en criptografía y Algoritmos de cifra clásica. Cuenta, además, con un examen final que consiste en una amplia batería de preguntas y la resolución de algunas prácticas.

Una particularidad de este MOOC es que en sus 9 lecciones se hace uso de las primeras 25 píldoras formativas Thoth que tratan precisamente sobre estos temas, siendo esto un aporte multimedia al aprendizaje. Al igual que en el proyecto Thoth, este curso ha contado con la colaboración de becarios de Talentum Statups.

Cada una de las 9 lecciones incluye un test final con 10 preguntas, cuyas soluciones serán publicadas en las redes sociales de Crypt4you por el profesor, y en su caso también comentadas, una semana después de haber publicado la lección correspondiente, dando con ello tiempo suficiente para que el alumno que desee seguir este curso en tiempo real pueda ver sus avances.

Salvo imponderables de última hora, la planificación de actividades lectivas de este nuevo curso "Introducción a la seguridad informática y criptografía clásica" en el MOOC Crypt4you es la que se indica:

TEMA I. INTRODUCCIÓN A LA SEGURIDAD DE LA INFORMACIÓN
Lección 1: Fundamentos de la seguridad (15 febrero de 2016)
TEMA II. FUNDAMENTOS E HISTORIA DE LA CRIPTOGRAFÍA
Lección 2: Fundamentos de la criptografía (22 febrero de 2016)
Lección 3: Conceptos básicos de la criptografía (29 febrero de 2016)
Lección 4: Principios de la criptografía y hechos históricos (7 marzo de 2016)
TEMA III. MATEMÁTICAS DISCRETAS EN CRIPTOGRAFÍA
Lección 5: Herramientas matemáticas para la criptografía (14 marzo de 2016)
Descanso: Semana Santa
TEMA IV. ALGORITMOS DE CIFRA CLÁSICA
Lección 6: Sistemas de cifra clásica (28 marzo de 2016)
Lección 7: Algoritmos de cifra clásica por sustitución monoalfabética (4 abril de 2016)
Lección 8: Algoritmos de cifra clásica por sustitución polialfabética (11 abril de 2016)
Lección 9: Algoritmos de cifra clásica poligrámicos con matrices (18 abril de 2016)
TEMA V. ACTIVIDAD LECTIVA FINAL
Examen teórico y práctico (25 abril de 2016).

Más información:

Crypt4you

Introducción a la seguridad informática y criptografía clásica
Tema I: Introducción a la seguridad de la información

Estadísticas acumuladas de las lecciones del MOOC Crypt4you



Dr. Jorge Ramió; Dr. Alfonso Muñoz
Directores del MOOC Crypt4you

martes, 23 de febrero de 2016

SlemBunk también ataca a bancos españoles

En diciembre del año pasado, la compañía FireEye lanzó un informe acerca de la familia SlemBunk. Este malware para Android se considera un troyano bancario, aunque también afecta a empresas como Amazon, Ebay, WhatsApp o Facebook y además tiene funcionalidades que lo caracterizan como RAT (Herramienta de administración remota).

Dentro del departamento antifraude de Hispasec, una de las acciones que realizamos diariamente es el análisis y monitorización de malware que afecta a los clientes de las entidades bancarias suscriptoras de nuestros servicios. Si bien una familia generalista puede no contener funcionalidad concreta que afecte a un objetivo en particular, esta se vigila de cerca ya que tarde o temprano surgirá alguna variante que lo haga.

Después de este informe decidimos bucear en Koodous para dar con muestras que tuvieran este comportamiento y poder sacar algunas conclusiones. En lo que respecta al malware en general, cuando hablamos de una familia, resulta interesante comprobar las variaciones sobre un cuerpo característico de funciones y las diferencias de comportamiento entre ejemplares. Disponer de un repositorio de muestras permite obtener, con reglas sencillas, todo un conjunto de ejemplares a estudiar con los que podemos trazar la evolución de cualquier malware.

Una herramienta indispensable para el analista sino queremos detenernos en el simple análisis individual y queremos obtener una visión en conjunto o panorámica.

Aunque los diferentes analistas que han estudiado la muestra les han proporcionado diferentes nombres como GM Bot, SlemBunk, Acecard, slempo, etc., todos ellos comparten la misma funcionalidad y esquema. Por tanto, cuando hablamos de SlemBunk, podemos asociar varios nombres con la misma denominación. 

Hasta ahora, SlemBunk, había ignorado los bancos españoles. Sin embargo, en estas últimas semanas ha experimentado un repunte considerable a la par de poner en su punto de mira a varias firmas españolas.

En esta entrada nos gustaría explicar cómo ha evolucionado en cuanto a las entidades a las que afecta y para los más técnicos, algunos de los entresijos del comportamiento del malware.

Entidades afectadas

Cuando FireEye presentó su informe a mediados de diciembre de 2015 dijo que afectaba a 33 entidades de América del norte, Europa y Asia del pacífico. Desde Hispasec hemos podido concretar sus movimientos dentro del continente europeo.

Comenzó, como bien dijo FireEye, afectando a Norte América, centro de Europa (principalmente entidades alemanas y polacas) y Asia-Pacífico (focalizándose en Australia).

Después de esto, dentro de Europa se ha movido de una forma diferente. Cuando en Norteamérica y Asia apenas ha habido movimiento de entidades, en Europa comenzó a afectar a entidades germanas, francesas y británicas e incluso redes sociales y de servicios de comunicación como WhatsApp y Facebook.


En las siguientes capturas mostramos cómo afecta a las entidades BBVA, Santander y Ruralvía. En el momento de redactar esta noticia siguen en activo desde hace varias semanas:

Captura del troyano atacando BBVA España

Captura del troyano atacando a Santander España


Troyano suplantando a la entidad RuralVía

Aunque en el caso de BBVA el malware no mimetiza correctamente el WebView con la aplicación oficial, vemos como en los casos de Santander y Ruralvía la técnica es más depurada. Todo depende del tiempo que el atacante haya dedicado a estudiar las aplicaciones de los bancos.

Análisis dinámico

A continuación vamos a realizar un pequeño análisis dinámico visual de la aplicación, esto es, qué hace de vista al usuario.

Según las diferentes fuentes, uno de los métodos utilizados para invitar al usuario a descargar la muestra es a través del reproductor de Flash. Un usuario comenzaba a navegar con su dispositivo por diferentes páginas y en algunas de ellas se le invitaba a descargar la actualización de Flash para poder visualizar vídeos. Justo después comenzaba la descarga del archivo APK con nombres como "Flash_Player_Update.apk" o "Flash_2016.apk".

Tras instalarla, el usuario procederá a ejecutarla y es cuando la aplicación solicita permisos de administración:

Icono de la aplicación y solicitud de administración

El icono desaparecerá de la lista de iconos de aplicaciones y si intentamos desinstalarla no nos será posible:

Detalles de la aplicación. No permite desinstalación.

Análisis estático

A continuación un análisis detallado del código, empezando por las actividades que nos facilita Koodous:


En primer lugar la actividad principal. En este caso ejecuta el servicio "MainService" si no está ya en ejecución y si el dispositivo no es ruso.

Código de la actividad principal

Siguiendo el flujo, vamos a ver qué hace la clase "MainService"

Código método "onCreate" del servicio MainService

Si observamos el código vemos que al crearse el servicio ejecuta varios temporizadores.

  • El primero de ellos es para enviar los datos de inicialización "Sender.sendInitialData" cada 60 segundos.
  • El segundo trata de situar el WebView de la aplicación correspondiente (si es que la tiene en el archivo de configuración). Esto se comprueba cada 4 segundos.
  • Finalmente, cada 100 milisegundos se comprueba si la aplicación sigue manteniendo los permisos de administración que se le otorgaron al inicio.

Ahora vamos a ver cómo afecta a las distintas entidades, según el archivo de configuración que crea el malware en el momento de su ejecución:



Este archivo se utiliza para varias cosas. En primer lugar el atributo "APP_ID" se utiliza para comunicarse con el servidor. Este ID se obtiene de forma remota haciendo una petición POST en la que se sirven los siguientes datos del dispositivo:

  • Versión de Android
  • Modelo del teléfono
  • Número de teléfono
  • Listado de aplicaciones instaladas
  • IMEI del dispositivo
  • Número de cliente (parece que siempre es 1)
  • Tipo de petición
  • Número de operador de la tarjeta SIM
  • País del dispositivo.

Tras enviar esta información se recibe el "APP_ID" que se utilizará posteriormente para realizar comunicaciones con el servidor.

Otra de las peticiones que realiza es para descargar la lista de aplicaciones afectadas y el código que se debe inyectar. Cuando recibe la lista la guardar dentro del archivo anterior bajo el atributo "HTML_DATA". En el anterior ejemplo la inyección de código afectaría al banco australiano NAB (http://www.nab.com.au/).

El malware, además de presentar WebViews para las aplicaciones que tiene configuradas, también se comporta como un RAT (Herramienta de administración remota).
La siguiente captura de código muestra algunas de las opciones que el malware es capaz de realizar:

Algunas de las acciones que realiza el malware como RAT

Estas acciones las recibiría el usuario a través de SMSs. En un hipotético caso, el atacante actuaría de la siguiente manera:
  1. Un usuario es infectado por el malware e introduce sus credenciales bancarias.
  2. El atacante recibe las credenciales y decide realizar una transacción fraudulenta hacia, habitualmente, un mulero.
  3. El atacante activa la intercepción de SMSs enviado el comando #intercept_sms_start al dispositivo.
  4. Además, podría bloquear la pantalla del móvil utilizando el comando #lock
  5. El atacante realiza la transacción y recibe el SMS de doble autenticación del banco del usuario, pudiendo finalizar la misma.
  6. El atacante vuelve a desbloquear el móvil y desactiva la intercepción de mensajes con los comandos #unlock y #intercept_sms_stop respectivamente.

Detectando el malware en Koodous

Después de estudiar esta familia, es hora de crear una regla que detecte nuevos ejemplares de la misma. Como ya es habitual hemos utilizado Koodous para crear la siguiente regla Yara:

Regla Yara para detectar SlemBunk

Como vemos la regla es muy sencilla, busca algunos de los comandos que el malware tiene en su código y que utiliza para hacer sus funciones de RAT. Además de esto incluye "Visa Electron" ya que también lo contiene el malware y evitamos falsos positivos en caso de que otra aplicación legítima utilizase los mismos comandos, aunque sería una cosa extraña.

Todas las muestras detectadas tienen el mismo nombre de paquete, también se podría simplificar la regla utilizando nuestro módulo de androguard y utilizando simplemente la condición:

    androguard.package_name("org.slempo.service")

La regla con sus detecciones es pública en Koodous:

Conclusiones

Con esta entrada nos gustaría concienciar a nuestros lectores. En muchas ocasiones cuando se habla de malware y de familias todo queda muy lejano y parece que "nunca nos llega", cuando en realidad ya lo tenemos aquí.

Esta familia ha sido y es muy activa a nivel mundial. No nos extrañaría que "mutase" para perfeccionar aún más sus técnicas de mimetización y ocultación.

Los desarrolladores no han utilizado ninguna técnica de ofuscación de código, las capturas mostradas anteriormente son totalmente fidedignas.

Si algún usuario se encuentra infectado por este tipo de malware, recomendamos reiniciar el teléfono a la configuración de fábrica, ya que puede ser la única forma factible de eliminarlo definitivamente.

Koodous también dispone de una aplicación Android con capacidad de detección de malware cuando instalas una aplicación. Tanto si solo eres un usuario que necesita un antivirus ligero o eres analista y quieres colaborar con el proyecto, échale un vistazo.

Más información:

Koodous - SlemBunk ruleset

FireEye - SlemBunk: An evolving Android trojan family targeting users of worldwide banking apps

FireEye - SlemBunk Part II: Prolonged attack chain and better-organized campaign

Antifraude Hispasec





Antonio Sánchez


lunes, 22 de febrero de 2016

Vulnerabilidad descubierta en B+B SmartWorx VESP211 serial server

Se ha reportado una vulnerabilidad en la interfaz web de B+B SmartWorx que podría permitir a un atacante remoto sin autenticación realizar operaciones administrativas en la red.

El B+B SmartWorx VESP211 serial server permite conectar dispositivos RS- 232 , RS -422 o RS -485 a redes Ethernet, permitiendo al dispositivo en cuestión funcionar como un nodo de la red. Es un producto especialmente adaptado para entornos industriales, con un diseño compacto y muy resistente, ampliamente usado en sectores de telecomunicación, transporte y energía.

El problema, con CVE-2016-2275, un atacante remoto sin autenticación podría saltar restricciones de seguridad y realizar acciones administrativas a través de código JavaScript especialmente manipulado. El interface web usa JavaScript para comprobar la autenticación del cliente, redirigiendo los usuarios no autorizados a una página de login, en este caso, el atacante no autenticado podría acceder a paginas no autorizadas al interceptar o cambiar determinadas peticiones. Dicha vulnerabilidad ha sido reportada por el investigador independiente, Maxim Rupp.

Este problema afecta a los siguientes modelos y versiones:
  • Modelo: VESP211-EU   Firmware Version: 1.7.2
  • Modelo: VESP211-232   Firmware Version: 1.7.2
  • Modelo: VESP211-232   Firmware Version: 1.5.1 

Se recomienda tomar las siguientes medidas de seguridad: 
  • Reducir la exposición a la red de los dispositivos, asegurándose de que no sean accesibles a través de Internet.
  • Usar cortafuegos, y aislar la red local de posibles accesos no autorizados.
  • Cuando se requiera el acceso remoto, usar métodos seguros tales como redes privadas virtuales (VPNs).
Más información:

B+B SmartWorx VESP211 Authentication Bypass Vulnerability Advisory (ICSA-16-049-01)

Advantech B+B SmartWorx


Juan Sánchez

domingo, 21 de febrero de 2016

Google corrige vulnerabilidad crítica en Chrome

Google ha publicado una actualización de seguridad para su navegador Google Chrome (versión 48.0.2564.116) para todas las plataformas (Windows, Mac y Linux) para corregir una nueva vulnerabilidad crítica.

En esta ocasión la vulnerabilidad corregida, con CVE-2016-162, reside en un salto de la política de mismo origen en Blink y una fuga de la Sandbox del navegador. Según la política de la compañía el reporte de este problema ha supuesto 25.633,7 dólares de recompensa al descubridor del fallo.

Esta actualización se realiza apenas una semana después de que publicara otra actualización que ya corrigió otros seis problemas de seguridad (tres de gravedad alta y dos de importancia media). La publicación de esta nueva versión con tan poco tiempo de diferencia, junto con la cuantía de la recompensa, puede indicar la gravedad del problema corregido; además de la importancia que Google presta a la seguridad de su navegador.

Como es habitual, esta actualización está disponible a través de Chrome Update automáticamente en los equipos así configurados o a través de "Información sobre Google Chrome" (chrome://chrome/).

Más información:

Stable Channel Update



Antonio Ropero
Twitter: @aropero


sábado, 20 de febrero de 2016

Denegación de servicio en Squid

Se ha solucionado una vulnerabilidad de denegación de servicio en SQUID versiones 3.5.13 y 4.0.4 a 4.0.5.

Squid es uno de los servidores proxys más populares, en gran parte por ser de código abierto y multiplataforma (aunque sus comienzos fueron para sistemas Unix).

El problema, con CVE-2016-2390, reside en un tratamiento incorrecto de los errores de servidor, lo que permitir condiciones de denegación de servicio cuando Squid se conecta a servidores TLS o SSL.

Los problemas están solucionados en las versiones Squid 3.5.14 y 4.0.6, o se puede también aplicar los parches disponibles desde:
Squid 3.5:

Más información:

Squid Proxy Cache Security Update Advisory SQUID-2016:1
Remote Denial of service issue in SSL/TLS processing


                                                                                                  
Antonio Ropero
Twitter: @aropero

viernes, 19 de febrero de 2016

Corregidas dos vulnerabilidades en LibreOffice

La suite ofimática de código abierto LibreOffice se ha actualizado recientemente para corregir dos vulnerabilidades que podrían permitir a un atacante lograr la ejecución remota de código.

LibreOffice es una suite ofimática de código abierto y gratuita. Cuenta con aplicaciones de hojas de cálculo (Calc), procesador de textos (Writer), bases de datos (Base), presentaciones (Impress), gráficos vectorial (Draw), y creación y edición de fórmulas matemáticas (Math).

El primer problema, con CVE-2016-0794, reside en la comprobación inadecuada de múltiples desplazamientos en el tratamiento de documentos lwp (LotusWordPro). Esto podría permitir la construcción de documentos que provoquen la corrupción de memoria por el desbordamiento de varios límites de búfer.

Por otra parte, con CVE-2016-0795, una comprobación insuficiente de la validez del tratamiento de registros LwpTocSuperLayout. Esto podría permitir la construcción de documentos que provoquen la corrupción de memoria por el desbordamiento del búfer LwpTocSuperLayout.

Para corregir estas vulnerabilidades se ha publicado LibreOffice 5.0.5 y 5.1.0 que se encuentran disponibles para su descarga desde las páginas oficiales:

Más información:

CVE-2016-0794 LotusWordPro Multiple bounds overflows in lwp filter

CVE-2016-0795 LotusWordPro Bounds overflows in LwpTocSuperLayout processing


                                                                                                  
Antonio Ropero
Twitter: @aropero


jueves, 18 de febrero de 2016

Nuevas versiones de PostgreSQL corrigen dos vulnerabilidades

PostgreSQL ha publicado nuevas versiones para solucionar dos vulnerabilidades que podrían ser empleadas para provocar denegaciones de servicio o elevar sus privilegios.

PostgreSQL es una base de datos relacional "Open Source", bastante popular en el mundo UNIX, junto a MySQL.

Esta actualización incluye correcciones para evitar una denegación de servicio por un fallo (CVE-2016-0773) en el tratamiento de expresiones regulares (regex) con caracteres Unicode fuera de rango. Por otra parte, con CVE-2016-0766, una vulnerabilidad de escalada de privilegios al permitir a usuarios sin permisos de superusuario cambios en la configuración (GUCS) para PL/Java.

Además de estas vulnerabilidades se han solucionado múltiples problemas no relacionados directamente con la seguridad.

Se han publicado las versiones PostgreSQL 9.5.1, 9.4.6, 9.3.11, 9.2.15 y 9.1.20 disponibles desde:

Más información:

2016-02-11 Security Update Release

E.1. Release 9.5.1

E.3. Release 9.4.6

E.10. Release 9.3.11

E.22. Release 9.2.15

E.38. Release 9.1.20




Antonio Ropero
Twitter: @aropero

miércoles, 17 de febrero de 2016

Grave vulnerabilidad en la librería glibc

Google ha confirmado la existencia de una vulnerabilidad de desbordamiento de búfer en la librería glibc (empleada mayoritariamente en distribuciones, aplicaciones y dispositivos Linux), que podría permitir la ejecución remota de código.

glib es la "GNU LIB C". La "librería C" es librería estándar del lenguaje C, usada por prácticamente cualquier programa que se compile en un entorno UNIX. La glibc es la versión de "LIBC" creada por el proyecto GNU, y utilizada por prácticamente todas las distribuciones Linux.

Según describen, el problema saltó a la luz cuando un ingeniero de Google comprobó que su cliente SSH sufría un fallo de segmentación cada vez que intentaba conectar a un host específico. Tras una investigación intensa descubrieron que el problema residía en glibc y no en SSH como creían inicialmente.

Fruto de la investigación comprobaron que el problema podía permitir la ejecución remota de código. Sorprendentemente el equipo de mantenimiento de glibc ya había sido alertado de este problema, a través de su gestor de fallos en julio de 2015. Por otra parte, destacan la colaboración con dos investigadores de Red Hat que también estaban estudiando el impacto de forma independiente.

La vulnerabilidad ha pasado desapercibida durante mucho tiempo, realmente se introdujo en la versión 2.9 de la librería, lanzada en mayo de 2008, y afecta a todas las versiones publicadas desde entonces.

El problema, al que se le ha asignado el CVE-2015-7547, reside en que la resolución DNS en el lado del cliente es vulnerable a un desbordamiento de búfer basado en pila cuando se usa la función getaddrinfo (); al tratar respuestas DNS de un tamaño superior a 2.048 bytes. Esto podría permitir al atacante ejecutar código arbitrario en los sistemas afectados con los privilegios del usuario relacionado.

Todo el software que utilice esta función puede ser explotado con nombres de dominio controlados por un atacante, servidores DNS controlados por atacantes, o por medio ataques hombre en el medio.

Fruto de la colaboración de los técnicos de Google y Red Hat se ha podido investigar el problema, desarrollar un parche y realizar todos los test de regresión. Aunque se destaca el trabajo realizado principalmente por el equipo de la distribución de Linux.

El parche publicado está disponible desde:

Google confirma que el problema no es fácil de explotar, aunque es posible lograr la ejecución remota de código. Es necesario evitar mitigaciones de seguridad existentes como ASLR. Como es obvio no publican el código para explotar el problema, aunque sí ofrecen una prueba de concepto para comprobar si se está afectado por este problema.

La librería glibc es uno de los pilares de muchos sistemas, distribuciones, aplicaciones, entornos o sistemas empotrados. Prácticamente casi todo el software nativo y no nativo hace uso de la librería. Eso convertiría en virtualmente vulnerable a casi todos los programas que hagan uso de la función afectada. En breve aparecerán actualizaciones para múltiples productos que usen esta librería.

Las principales distribuciones Linux ya ofrecen actualizaciones:

Más Información:

CVE-2015-7547: glibc getaddrinfo stack-based buffer overflow

[PATCH] CVE-2015-7547 --- glibc getaddrinfo() stack-based buffer overflow

Sourceware Bugzilla – Bug 18665

Proof of concept for CVE-2015-7547

Debian Security Advisory
DSA-3481-1 glibc -- security update

USN-2900-1: GNU C Library vulnerability

Gentoo's Bugzilla – Bug 574880
(CVE-2015-7547) - <sys-libs/glibc-2.21-r2: stack overflow in getaddrinfo

Critical: glibc security update

Security Advisory Critical: glibc security and bug fix update


Antonio Ropero
Twitter: @aropero

martes, 16 de febrero de 2016

FakeApps: Cómo ‘monetizar’ malware de Android de la A a la Z

Cuando realizamos análisis de aplicaciones en Koodous es habitual que se reciban diferentes alertas por una misma muestra, ya que además de la actividad maliciosa principal, como puede ser registro de mensajes SMS o cualquier variante de troyano, se añaden una o varias muestras de Adware en la misma aplicación.

Este "modus operandi", bastante extendido, trata de monetizar al máximo la actividad fraudulenta de la aplicación desarrollada, aunque para desgracia del desarrollador, sólo consigue ser detectada con mayor facilidad.

Si cogemos el ejemplo de un malware clasificado como SMSreg, si ya su principal función es el envío y suscripción de SMS de pago, que incrementará el balance de la cuenta del atacante, a su vez se monetiza la actividad de la misma mediante la inclusión de publicidad o Adware que muestra anuncios en el terminal y que suponen un plus extra para el atacante. Incluso se puede ir más allá como en el caso de las FakeApps (falsas aplicaciones) que a través de un WebView (navegador interno de Android) puede redirigir al incauto usuario a diferentes campañas de publicidad que posiblemente le conminen a instalar nuevas aplicaciones fraudulentas.

Resumiendo, el atacante genera dinero por la funcionalidad principal de la APP (envío/suscripción de SMS premium, robo de credenciales o perfiles y posterior venta, creación de zombies para una botnet, etc.) y también a través de publicidad en el propio terminal o tras direccionar al usuario a nuevas campañas de publicidad.

Técnicamente, para apoyar toda esta infraestructura de monetización se requiere generalmente de varios dominios y cuentas creadas ex profeso para la publicitación de la aplicación, siendo el método de distribución más elegido la subida a markets gratuitos como son APKfiles, aptoide o similares, como podemos ver en este primer ejemplo de FakeApp todavía descargable (en el momento de publicación):
Si no estuviera disponible se puede descargar, si se desea, desde Koodous para su análisis:

Vamos a proceder a analizar en Koodous una FakeApp como la siguiente:

Este tipo de FakeApps generalmente contiene diferentes módulos de anuncios no maliciosos, como pueden ser GoogleAds o Count.ly, pero como comentábamos, se suele realizar la verdadera monetización mediante SDKs invasivos como Mobidash, Airpush o similares para reproducir contenido en el terminal.

En el caso del la falsa aplicación "TotalCommander", intervienen varios dominios para efectuar una redirección:

Todos estos dominios fraudulentos bajo el control del atacante sólo sirven para ir redireccionando al visitante hacia el dominio principal de anuncios controlado por un tercero, generalmente son grupos dedicado al SPAM que pagan por redireccionar visitas a sus dominios:

go2cloud.org
En función de la IP/geolocalización del visitante redireccionará de nuevo a la campaña final de anuncios fraudulentos, generalmente de suscripción de SMS:


Finalmente, y aunque no tiene que ver directamente con la propia aplicación maliciosa, otro método de monetización suele ser la inclusión de perfiles fraudulentos en comunidades sociales, como Google Plus:


Como vimos que este último dominio zzwx.ru era usado para realizar campañas de adware pasamos a monitorizarlo en Koodous para detectar posibles relaciones entre estas campañas y algunos APKs. La regla para monitorizar el dominio es simple: (https://analyst.koodous.com/rulesets/1197):

Regla para detectar el dominio

Después de activarla, esperamos unos días para ver las aplicaciones que iban siendo detectadas en la "red" de Koodous para después analizarlas. El resultado fue prometedor:


En el momento de escribir este artículo y en menos de 3 días encontramos casi 50 aplicaciones con ese dominio "hardcodeado" en su interior.

Una vez detectamos las aplicaciones, pasamos a analizarlas en profundidad. El comportamiento de todas ellas es prácticamente idéntico. Se trata de una aplicación que en el momento de su primera ejecución pide permisos de administración:

Solicita permisos de administración

Y tras esto muestra un WebView con publicidad:

Como es normal, y después de haber solicitado permisos de administración en su instalación, ya no permite desinstalarla de la manera típica por lo que nos tocaría realizar un reinicio de fábrica:
Información de la aplicación

También comprobamos que la aplicación, para obtener el contenido de este WebView, visitaba la siguiente página:

Esta es la traza de conexiones completa, que realiza el dispositivo móvil, en la que se realizan varias redirecciones y no siempre es la misma. Cada vez que se visita la página principal realiza un recorrido de redirecciones distinto.


Una vez hemos visto su comportamiento más palpable, pasamos a hacer un análisis estático a fondo para ver si realizan alguna acción que pase más desapercibida.

Empezamos mirando en Koodous los servicios que, según el AndroidManifest, la aplicación es capaz de ejecutar:

Analizando el código vemos que ninguna de las dos clases existe en el manifiesto, por lo que esos servicios nunca serán ejecutados.
Con los receptores (Receivers) parece que tenemos algo más de suerte, según el análisis de Koodous son los siguientes:

En cuanto al primero de ellos, invoca a la clase padre para que gestione correctamente el acceso a la administración del dispositivo:

El segundo receptor, según el código, intenta invocar el método "OnReceive" de la clase "com.mobileapptracker.Tracker". Sin embargo, esa clase no existe en el código de la aplicación, por lo que es imposible la ejecución. Este segundo receptor se iniciaba tras las instalación de una aplicación a través de GooglePlay según el AndroidManifest:

Finalmente con el tercer receptor (com.robotemplates.webviewapp.activity.SearchHelper) tampoco hay suerte. No hay ninguna clase que se pueda llamar por ese nombre.

Tras finalizar el análisis de esta aplicación quisimos buscar las coincidencias entre los distintos APKs y obtuvimos algunas conclusiones.

Entre todas las aplicaciones se comparten solamente 3 archivos “classes.dex” distintos. El archivo "classes.dex" es el código Java compilado para Dalvik (la máquina virtual interna de Android).
Las URLs a las que conecta cada APK se encuentran en el archivo de recursos, más concretamente en el archivo ‘arrays.xml’:
Porción de código XML de la aplicación

Este valor sí es diferente entre los distintos APKs y normalmente, aunque no en todos los casos, coincide que el parámetro de la URL es el nombre de la aplicación, en este caso "Talking George The Giraffe".

Conclusiones

Esta campaña de adware se ha detectado gracias a los sensores de Hispasec con mucha antelación ya que el dominio zzwx.ru apenas tiene un mes de vida.

Relacionando las conexiones de los distintos dominios se ha creado una regla mucho más completa que la mostrada anteriormente que podéis encontrar en Koodous, mostrando todos los dominios afectados conocidos junto a las detecciones de APKs maliciosas, que siguen subiendo hora tras hora:
La distribución del malware se ha llevado a cabo a través de repositorios públicos (markets) tales como apkfiles y aptoide.

Las aplicaciones mencionadas se podrían considerar malware casi con total seguridad ya que además de mostrar publicidad no realizan acción alguna, las casas antivirus no lo tienen tan claro y hay diversidad de opiniones. Por ejemplo, esta muestra
https://analyst.koodous.com/apks/639d50fcd53a9e3033d6eb18b1bff6b4aa6a35e9303ce9e01df0b101b12e9e00 sólo es detectada por 6 motores antivirus en VirusTotal en el momento de esta publicación.



Se ha podido ver cómo los atacantes reutilizan muchas porciones de código en las aplicaciones fraudulentas. Por su parte lo hacen para gastar menos tiempo en crear las aplicaciones y poder llegar a más público, pero por nuestro lado (los analistas), esto nos puede ayudar a detectarlos rápidamente y en las ocasiones que se cometa un fraude poder frenarlo a tiempo.

Más información:

Koodous - Ruleset “Russian domain”

Koodous - Talking George The Giraffe

Koodous - Ruleset “FakeApps”

VirusTotal - Análisis
639d50fcd53a9e3033d6eb18b1bff6b4aa6a35e9303ce9e01df0b101b12e9e00



José Mesa
Antonio Sánchez