RDFU: framework para la detección de bootkits en las "nuevas BIOS" (EFI)

agosto 14, 2013 § Deja un comentario

Según reza la Wiki “La Interfaz Extensible del Firmware, Extensible Firmware Interface (EFI), es una especificación desarrollada por Intel dirigida a reemplazar la antigua interfaz del estándar IBM PC BIOS, que interactúa como puente entre el sistema operativo y el firmware base.”

En 2005 se creó la fundación UEFI (Unified Extensible Firmware Interface) cuya labor consistía en desarrollar y promocionar esta plataforma EFI y hoy en día la mayoría de los sistemas operativos sobretodo de 64 bits lo soportan, de hecho se prevé que Windows 8 sustituya completamente la BIOS por EFI.

Evidentemente esta “modernización” del arranque de los PCs no ha pasado inadvertida para los desarrolladores de malware que han fijado UEFI como uno de sus grandes objetivos, más aún cuando la detección y/o erradicación de rootkits o bootkits es muy difícil.

Para combatir esta nueva amenaza Reversing Labs ha desarrollado Rootkit Detection Framework para UEFI (“RDFU”) que incorpora un conjunto de herramientas y drivers que tratan este problema a lo largo de un gran número de implementaciones UEFI:

  • enumera todos los drivers EFI cargados en memoria
  • comprueba rangos de memoria en busca de ejecutables
  • monitoriza nuevos drivers cargados hasta que se inicia el sistema operativo
  • lista EFI BOOT SERVICES y EFI RUNTIME SERVICE en busca de modicaciones en punteros de función
  • supervisa continuamente EFI BOOT SERVICES y EFI RUNTIME SERVICE mientras que se carga el sistema operativo
  • muestra el mapa de memoria y vuelca tosas las regiones adecuadas
  • lista y monitoriza rellamadas de eventos que pueden ser utilizadas por rootkits/malware
  • trabaja en modo standalone sin el shell EFI

Descargas: White Paper | Blackhat 2013 Presentation | Source Code

Fuente: HackPlayers

Anuncios

"Los mainframes son vulnerables pero no le importa a nadie"

agosto 11, 2013 § 2 comentarios

Philip Young presentó en Blackhat “Mainframes: el pasado se volverá en tu contra”. En pocas palabras, Philip identificó varios problemas en mainframes sobre comportamientos “antiguos” que tienen graves consecuencias para la seguridad:

  1. Es fácil de encontrar cuentas de usuario válidas, debido a fugas de información.
  2. Las contraseñas son cortas, no requieren complejidad, y son relativamente triviales.
  3. Mainframes vienen con un entorno UNIX suplementario.
  4. Los FTP ejecutan automáticamente archivos subidos.

Todo esto lleva a violaciones de datos potencialmente graves. Pero ¿a alguien le importa? ¿Habrá incrementado de ataques contra zOS? Es improbable.

Preguntando a un experto de base de datos en mainframes “¿Por qué no oímos acerca de ataques y hacking a DB2 hacks?”. La respuesta fue “Porque nadie lo usa”.

En realidad, en comparación con Oracle y SQL Server, el tamaño del mercado de DB2 es relativamente pequeño. La respuesta puede parecer simplista, pero hay pocos nuevos proyectos sobre DB2, y ciertamente sobre mainframes.

Hemos dicho durante años que Mac OSX era “seguro” simplemente porque su presencia en el mercado era minúsculo en comparación con Windows. Esto no garantiza que los atacantes no se enfoquen en el factor de recompensa vs el esfuerzo que deben realizar. Los mainframes ejecutan aplicaciones críticas y lo harán durante un futuro indefinido, pero no atraen a los atacantes, ya que requeriría una inversión de cientos de horas para comprender y acceder a una computadora central (emulador).

Como conclusión, la persona responsable de la seguridad de bases de datos de mainframe, no tiene mucho de qué preocuparse. Y si estaban preocupados, se debe desactivar el FTP y activar el firewall, como generalmente se hace. Esto no excluye los cambios que IBM debería comenzar a realizar en el código.

Cristian de la Redacción de Segu-Info

Publican Tortilla, para enruta todo el tráfico por TOR

agosto 8, 2013 § Deja un comentario

Como adelantamos hace unos días, Tortilla es una herramienta de CrowdStrike que permite a los usuarios enrutar todo el tráfico TCP/IP de una máquina virtual a través de TOR de una forma segura y transparente.

Funciona en el sistema anfitrión bajo Windows XP y posteriores en versiones de 32 y 64 bits y es de código abierto, es decir, podemos revisarla y compilar nosotros mismos el proyecto de Visual Studio (instrucciones en el readme.txt).

Si optamos por utilizar directamente el binario decir que está firmado con un certificado de prueba y que por lo tanto primero tendremos que configurar nuestro sistema operativo (si es Vista o superior) para que acepte el correspondiente driver en modo kernel. De lo contrario recibiremos el siguiente mensaje:

Para solucionarlo tendremos que abrir una consola (cmd.exe) con privilegios de administrador, ejecutar el siguiente comando y reiniciar el equipo:

Bcdedit.exe -set TESTSIGNING ON

Como se ve, al iniciar sesión habremos arrancado Windows en “modo de prueba”. Ahora lanzamos Tor y nos aseguramos que el fichero tortilla.ini tiene configurado correctamente el puerto:

TorClientIpAddress = 127.0.0.1
TorClientTcpPort = 9151

Después ejecutamos tortilla.exe para instalar su adaptador e iniciar el cliente:

A continuación configuramos la máquina virtual para utilizar el nuevo adaptador de Tortilla. En el caso de VMWare simplemente basta con añadir o editar una red VMNet y puentearla al adaptador de Tortilla:

Web de la herramienta: https://github.com/CrowdStrike/Tortilla

Fuente: HackPlayers

Una botnet de un millón de navegadores

agosto 7, 2013 § 1 comentario

Ayer tuvimos la oportunidad de escuchar la presentación “Million Browser Botnet” brindada por Jeremiah Grossman y Matt Johansen. A lo largo de la misma explicaron y demostraron cómo de manera muy sencilla podían armar una botnet que utilizara navegadores web como clientes y publicidades online como medio de propagación. De esta manera fueron capaces de controlar virtualmente millones de clientes en una cuestión de horas.

Los disertantes abrieron la charla diciendo que podían forzar “nuestros” navegadores a hacer cualquier cosa, incluso sin recurrir al uso de Java. Para esto, demostraron como con un pequeño script en HTML5 podían forzar a un navegador a conectarse a un sitio realizar la máxima cantidad de conexiones simultaneas permitidas, 6 en promedio (dependiendo del navegador). Pero esta cantidad de conexiones no eran suficientes para ellos, por lo que demostraron como podían subir ese valor por medio de solicitudes FTP, saltando de 6 conexiones concurrentes a más de 250.

Luego, se enfocaron en la propagación de la amenaza, para lo cual mencionaron: “La mejor forma de inyectar código es comprando un espacio de publicidad online”. Es así como demostraron que por solo algunos pocos dolares (menos de 50) podían comprar un espacio de publicidad por un determinado tiempo. Para sobrepasar los controles del código por parte de la entidad utilizada simplemente colocaron un IFRAME (referencia a otro sitio) el cuál apuntara a un sitio que ellos gestionaran de manera de poder cambiar el contenido luego de aprobada la publicidad.

Con la publicidad armada, el código preparado y el monitoreo de los servicios activos comenzaron a medir el impacto de esta infraestructura a medida que los usuarios hacían clic en la tentadora promoción. En tan solo 35 minutos, ya habían logrado más de 100.000 accesos. Luego, modificando el script para que utilice solicitudes FTP y al termino de 8.5 horas, habían logrado más de 4.000.000 de accesos y un total de 114,7 GB de tráfico.

Esto claramente generó que su servidor web se cayera por no poder procesar tantas solicitudes simultaneas, generándose así lo que se conoce en el ambiente como un DDOS (Ataque de denegación de servicio distribuido).

Este se puede considerar el climax de la presentación, el público estalló en aplausos. Sin embargo, los presentadores aún tenían un as bajo la manga. Mencionaron que ciertas plataformas licenciadas de gestión de publicidades (estas pueden ser descargadas directamente al servidor web) poseían vulnerabilidades que permitían modificar las publicidades, reduciendo todo el procedimiento antes mencionado a la explotación del servidor y a la inyección del IFRAME malicioso.

Para concluir, recomendaron la utilización de herramientas de bloqueo de publicidades y dejaron una pregunta abierta al publico: “¿Quién es responsable de esto? ¿Los browsers, los servidores, los servicios de publicidad?”. Si bien este tipo de ataques no son algo nuevo, es notable que permanezcan 100% funcionales y no se hayan observado cambios en los sistemas para remediarlos o prevenirlos.

En 2011 Trend Micro también había experimentado con estas Botnets.

Fuente: ESET Latinoamérica

Ataques basados en tiempos en funciones de HTML5

agosto 7, 2013 § Deja un comentario

Una nueva función de medición de tiempo en HTML5 puede ser explotada por sitios malignos para apropiarse de información presentada en las páginas abiertas en el navegador. La charla fue presentada en Black Hat.

Expertos en seguridad informática de la empresa Context Information Security han logrado en pruebas de laboratorio extraer información confidencial de sitios web al analizar la velocidad con que los elementos CSS y gráficos SVG son generados en pantalla.

Paul Stone, analista jefe en Context declaró a la publicación The Register que la información sobre tiempo transcurrido, que puede alcanzar una precisión cercana a las millonésimas de segundo, permite determinar el color de pixeles de páginas malignas, y así reconstruir palabras y números, aparte de datos de navegación.

La función de medición de tiempo fue diseñada con el objetivo de facilitar la transición a animaciones en páginas web, y puede ser utilizada para calcular e tiempo que toma redibujar parte, o todo, el contenido de una página abierta.

Los expertos de Context crearon un procedimiento basado en JavaScript mediante el cual se aplican filtros a una página abierta, pudiendo así medir el tiempo exacto que toma presentar algunos de sus elementos. Al contar con esa información es posible determinar qué píxeles han sido activados y así identificar patrones como texto y números.

En un documento explicativo [PDF], Stone escribe que la nueva API de HTML5, “requestAnimationFrame”, puede cronometrar las operaciones de visualización del navegador, e inferir datos midiendo el tiempo que toma generarlos. Instalando el JavaScript en un sitio maligno, intrusos podrían en teoría robar información al usuario.

Cabe señalar que el ataque en cuestión sólo ha funcionado en el ámbito controlado de un laboratorio, y los propios autores del informe acotan que sería un reto implementarlo eficazmente en el ciberespacio.

Con todo, recuerdan que las técnicas básicas descritas en su informe inevitablemente serán mejoradas para incrementar su velocidad, eficacia y aplicaciones reales.

Context comunicó sus conclusiones a Google, Microsoft y Mozilla Foundation. Las tres empresas estarían investigando el tema e intentando crear una protección que impida estos ataques, por ahora teóricos. Por el momento los desarrolladores puede evitar el ataque a través del Header HTTP X-Frame, la misma que se utiliza para evitar ataques de Click-Jacking.

X-Frame-Options: Deny

Los autores también recomiendan navegar de modo incógnito, como una medida alternativa.

Fuente: DiarioTI

BREACH: nuevo ataque a páginas HTTPS

agosto 5, 2013 § 1 comentario

El esquema de cifrado HTTPS es susceptible a nuevo ataque que permite obtener ciertas credenciales de seguridad en tan sólo 30 segundos o pocos minutos.

La técnica BREACH (Browser Reconnaissance and Exfiltration via Adaptive Compression of Hypertext), demostrada el jueves en la conferencia Black Hat [PDF con Slide, paper] por Angelo Prado,
Neal Harris y Yoel Gluck, permite decodificar páginas protegidas por SSL y TLS. El ataque puede extraer partes concretas de datos, tales como: números de seguro social, direcciones de email, algunos tipos de tokens de seguridad y enlaces para restablecer la contraseña. Funciona en todas las versiones de TLS y SSL independientemente del algoritmo de cifrado que se utilice.

Se requiere que el atacante tenga la capacidad de monitorear pasivamente el tráfico que viaja entre el usuario y el sitio web y que la víctima visite un enlace malicioso. Esto se puede hacer mediante la inyección de una etiqueta iframe en un sitio web que la víctima visite normalmente o engañando a la víctima para que visualice un mensaje de correo electrónico con imágenes ocultas, que se descargan automáticamente para generar peticiones HTTP. El enlace malicioso hace que el sistema de la víctima haga varias peticiones al servidor HTTPS objetivo. Estas solicitudes se utilizan luego para hacer “conjeturas de sondeo”.

“No desciframos el canal completo, sólo extraemos el secreto que nos importa”, dijo Yoel Gluck, uno de los tres investigadores.

Como su nombre lo sugiere, BREACH trabaja sobre la compresión de los datos. Basado en el algoritmo Deflate de Huffman, la compresión HTTP funciona mediante la eliminación de repeticiones en cadenas de texto. En lugar de utilizar el fragmento de datos “ABCD” cuatro veces, por ejemplo, la compresión almacenará la cadena “abcd” sólo una vez y luego “punteros” que indican donde aparecen las restantes tres instancias del patrón. Al reducir el número de bytes, la compresión puede acelerar significativamente el tiempo requerido para enviar un mensaje. En general, mientras más repeticiones tenga una cadena en un flujo de datos, más posibilidades habrá de comprimirla para reducir el tamaño total.

Usando lo que se conoce Oracle technique, los atacantes pueden usar la compresión para obtener pistas sobre el contenido de un mensaje cifrado. Esto se debe a que muchas formas de cifrado, incluso las utilzazas en HTTPS, no hacen nada para evitar que se conozca el tamaño de la carga útil cifrada. Estos ataques son particularmente eficaces para descubrir pequeños trozos de texto en el flujo de datos cifrados.

¿Cómo funciona BREACH

BREACH arranca tratando de adivinar caracteres específicos en una respuesta cifrada. El ataque compara la longitud en bytes de una “cadena conjetura” contra la respuesta original. Cuando la conjetura contiene la combinación parecida de caracteres que se encuentran en la respuesta original, el resultado es más pequeño que los producidos por suposiciones incorrectas. Debido a la compresión deflate almacena las cadenas repetitivas sin aumentar significativamente el tamaño de la carga útil, los aciertos resultarán en mensajes cifrados más pequeños que los que se producen por suposiciones incorrectas.

Un atacante podría utilizar BREACH para recuperar una dirección de correo electrónico cifrado, al adivinar el signo “@” y el dominio de Internet, inmediatamente a la derecha. Si conjeturas: como “@segu-info.com.ar” y “@example.com” resultan en mensajes cifrados más grandes que respuestas sin esos textos, el atacante sabe que esas direcciones no se enviaban incluidas en el cuerpo de la respuesta. Por el contrario, si la compresión de “@example.com” en contra de los mensajes cifrados originales, no aumenta la longitud, el atacante tendrá un alto grado de certeza que esa cadena es parte del texto a extraer. A partir de ahí, los atacantes pueden adivinar la cadena a la izquierda del carácter “@”.

Suponiendo que la dirección de cifrado fuera johndoe@example.com, conjeturas como a@example.com, b@example.com, c@example.com y xxxx@example.com harían que los mensajes cifrados sean mayores. Cuando el atacante adivine e@example.com, daría lugar a un aumento poco apreciable, ya que esa cadena se incluye en el mensaje original. El atacante luego puede repetir el mismo proceso para recuperar el resto de la dirección de correo electrónico, carácter por carácter, moviéndose de derecha a izquierda.

Esta técnica se puede utilizar para extraer otros tipos de texto cifrado incluidos en las respuestas web. Si el sitio objetivo envía variables especiales para prevenir ataques de CSRF, la credencial contendrá casi siempre el mismo tamaño, como “request_token=” o parecido, seguido por una larga cadena de texto como “bb63e4ba67e24d6b81ed425c5a95b7a2”.

Un atacante comenzaría añadiendo el texto “request_token=a”. Dado que el tamaño de la carga útil cifrada crece, sería obvio suponer que esa cadena es incorrecta. Por el contrario, al añadir “request_token=b”, y al no crecer la cadena cifrada, se tiene una idea de que el primer carácter después del signo igual es “b”. Para completar el ataque, sólo es necesario hacer unas “pocas miles” de peticiones dirigidas al servicios web y, en cuestión de minutos, se pueden obtener secretos más avanzados.

Si bien el ataque comienza con un engaño a la víctima, no hay una manera fácil de mitigar BREACH y el daño que puede causar. A diferencia de la compresión TLS y SPDY (utilizados en CRIME), la compresión HTTP esencial y no puede ser descartada sin causar muchos problemas. Los autores han dicho que la semana que viene publicarán una herramienta para entender el ataque y probar las aplicaciones.

Cristian de la Redacción de Segu-Info

Premios Pwnie 2013 en Black Hat

agosto 4, 2013 § Deja un comentario

Como todos los años, durante Black Hat, se anunciaron los ganadores de los Premios Pwnie 2013. Los más destacados fueron Edward Snowden, Barnaby Jack, JailBreak a iOS 6 y un paper hilarante sobre nmap y el plugin DICK.

De los candidatos, el premio al mejor bug del lado del servidor se le dio a Ben Murphy por su descubrimiento de una vulnerabilidad en Ruby on Rails YAML. Esta vulnerabilidad permite a un atacante remoto llevar a cabo una inyección SQL y ejecutar código Ruby arbitrario en el servidor.

El premio al mejor bug del lado del cliente se le dio a una vulnerabilidad de Adobe Reader que permite un desbordamiento de búfer para escapar de la Sandbox.

El mejor Bug de escalamiento de privilegios [PDF] se concedió a David Wang (aka planetbeing) y al equipo de Evad3rs por el descubrimiento de vulnerabilidades (CVE-2013-0977, CVE-2013-0978 y CVE-2013-0981) en el núcleo de iOS, con las cuales fue posible crear un jailbreak para iOS 6.

El premio a la investigación más innovadora fue para Mateusz “j00ru” Jurczyk, Gynvael Coldwind por su descubrimiento de Windows Kernel Race Conditions via Memory Access Patterns y su exploit.

Cristian de la Redacción de Segu-Info

¿Dónde estoy?

Actualmente estás explorando la categoría blackhat en Seguridad Informática.