Probando la vulnerabilidad de 'redirección a SMB' que afecta a todas las versiones de Windows

Seguro que ya habéis oído hablar de una vulnerabilidad (todavía sin parchear) que ha descubierto la empresa Cylance mediante la cuál se pueden enviar los hashes de las credenciales de un usuario de Windows a un servidor SMB malicioso mediante redirecciones HTTP.

Realmente la vulnerabilidad inicial data de 1997 cuando Aaron Splanger se dió cuenta de que para acceder a un recurso "img src="\\1.2.3.4\compartido\imagen.jpg" se enviaban los datos de autenticación, por aquel entonces con el débil LANMAN. 


Ahora Cylance ha descubierto que el API de URLMon.dll que utilizan muchas aplicaciones también envía los hashes de autenticación cuando se intenta acceder a recursos SMB con "file://1.2.3.4... mediante redirecciones HTTP (típicamente 301 y 302). Eso sí los hashes con NTLMv2, no tan débiles pero si susceptibles a ataques de diccionario o fuerza bruta, un auténtico "tesoro" para un MiTM. Os recomiendo que echeis un vistazo a la entrada de Sergio de los Santos en el blog de Eleven Path donde se explica muy bien.

Sin embargo el objetivo de esta entrada es comprobar a nivel práctico la explotación de la vulnerabilidad siguiendo la PoC del Whitepaper de Cylance.
 

El escenario es un ataque MiTM: partiendo que previamente se ha envenenado el caché ARP o DNS, las peticiones HTTP de la víctima se redirigirán al servidor del atacante que a su vez las enviará a un servidor SMB local que obtendrá los hashes.

Ataques de geo-inferencia mediante el caché del navegador

Una de las charlas más impresionantes de la BlackHat Asia 2015 es la de Yaoqi Jia en la que trata de un nuevo ataque "el primero en utilizar canales de sincronización en los navegadores para inferir la geo-ubicación de un usuario".

Según una nueva investigación de la Universidad Nacional de Singapur muchos de los sitios web y los navegadores más populares del mundo están filtrando distintos canales con información de la ubicación del usuario: país, ciudad, barrio, la dirección de casa...

El ataque de geo-inferencia permite virtualmente a cualquier persona con un sitio web (incluso sin permiso) obtener la situación geográfica midiendo el tiempo de las consultas de la caché de casi cualquier navegador (incluido TorBrowser) en relación con la ubicación geográfica cada vez más omnipresente en servicios como Google, Google Maps y Craigslist, además de la mayoría de los sitios del Top 100 de Alexa.

Atentos al siguiente vídeo:



Más info: I Know Where You’ve Been: Geo-Inference Attacks via the Browser Cache (paper, slides, blackhat)

MS15-034: parchea ya o muere!

Mattias Geniar ha revelado la aparición de exploits para una vulnerabilidad crítica en HTTP.sys (CVE-2015-1635) de Microsoft Windows que podría permitir a un atacante ejecutar código arbitrario o causar una denegación de servicio.

"Existe una vulnerabilidad de ejecución remota de código en la pila del protocolo HTTP (HTTP.sys) que es causada cuando HTTP.sys analiza de forma incorrecta la sintaxis de ciertas solicitudes HTTP especialmente diseñadas. Un atacante que aproveche esta vulnerabilidad podría ejecutar código arbitrario en el contexto de la cuenta del sistema", en el Microsoft Security Bulletin MS15-034.

"Para aprovechar esta vulnerabilidad, un atacante tendría que enviar una solicitud HTTP especialmente diseñada al sistema afectado. La actualización corrige la vulnerabilidad al modificar la forma en que la pila HTTP de Windows maneja las solicitudes".

Precisamente, Mattias alertó que los primeros fragmentos de código para explotar MS15-034 en IIS están empezando a surgir, y lo peor, es trivial ejecutarlo y los resultados pueden ser catastróficos. Por ejemplo, conseguir que un servidor Win2k12 (y versiones posteriores) se caiga (BOYD) o se reinicie mediante una sóla petición HTTP:

- powershell:
powershell -com {$wr=[Net.WebRequest]::Create('http://127.0.0.1/iisstart.htm');$wr.AddRange('bytes',18,18446744073709551615);$wr.GetResponse();$wr.close()}

- curl:
$ curl -v 10.0.1.1/ -H "Host: irrelevant" -H "Range: bytes=0-18446744073709551615"

Samsung publica el código fuente del kernel del Galaxy S6 y S6 Edge

Si tienes en tus manos un smartphone Galaxy S6 o S6 Edge quizás te estés preguntando cómo quitar algunos programas de relleno (bloatware), instalar un recovery personalizado o incluso instalar firmware desarrollado por terceros, como Cyanogen. Gracias a que Samsung acaba de publicar el código fuente del kernel de ambos teléfonos, esta posibilidad está ahora más cerca.

El código fuente para los siguientes modelos se puede encontrar en el Open Resource Release Center de Samsung:


  •     SM-G920F
  •     SM-G920K
  •     SM-G920L
  •     SM-G920S
  •     SM-G920t_NA
  •     SM-G925T_NA
  •     SM-G925F
  •     SM-G925K
  •     SM-G925L
  •     SM-G925S
  •  
    Sin embargo, el hecho de que el código fuente haya sido liberado no significa que inmediatamente empiecen a surgir una amplia variedad de ROMs o mods disponibles. Desafortunadamente, Samsung no ha dado a conocer la documentación completa para su procesador Exynos 7420, por los que los modders lo tendrán más difícil que con un Qualcomm, así que paciencia...

    Fuentes:
    - Samsung Open Resource Center
    - Samsung publishes kernel source code for the Galaxy S6 and S6 Edge

    Darwin Nuke, o cómo sólo un paquete IP puede "noquear" un dispositivo Apple

    En diciembre de 2014 Kaspersky Lab descubrió una vulnerabilidad en el kernel Darwin, la parte de código abierto de OS X e iOS, por la que mediante un único paquete IP, con algunas opciones IP no válidas y un tamaño específico, se podía crashear un dispositivo con OS X 10.10 o iOS 8 instalado.

    La vulnerabilidad ha sido bautizada como Darwin Nuke y ocurre al parsear las opciones de un paquete ICMP y generar un mensaje de error mediante la función icmp_error():



    Como veis, cuando se cumplen las condiciones establecidas en el código, la función panic se activa y el sistema se apaga en modo de emergencia. Esto sucede porque las estructuras internas del kernel han cambiado y el nuevo tamaño del buffer no es suficiente para guardar un paquete ICMP recién generado. Para hacer esto, el paquete IP debe cumplir los siguientes criterios:

    - El tamaño de la cabecera IP debe ser de 60 bytes.
    - El tamaño del payload IP debe ser de al menos 65 bytes
    - Debe haber errores en las opciones IP (tamaño no válido de opción, de clase, etc.)



    ¿La solución? Actualizar a OS X 10.10.3 y iOS 8.3.


    Fuentes:
    - Kaspersky Lab Finds “Darwin Nuke” Vulnerability in OS X and iOS
    - Darwin kernel, just an IP packet to cause the crash of Apple devices
    - Darwin Nuke
    - Darwin Nuke, una vulnerabilidad que amenaza a iOS y OS X
    - Apple Patches 'Darwin Nuke,' Other Security Flaws With New OS Releases

    Parrot Security OS: una distro mezcla de Frozenbox OS y Kali linux

    Parrot Security es un sistema operativo basado en Debian GNU/Linux que es el resultado de la mezcla de Frozenbox OS y Kali Linux con el objetivo de proporcionar una mejor experiencia con las pruebas de seguridad e intrusión.
     
     
    Parrot, desarrollado por el Dev Team de Frozenbox, utiliza repositorios Kali a fin de tener las actualizaciones de casi todas sus herramientas, pero también tiene su propio repositorio dedicado donde se guardan todos los paquetes personalizados. Es por eso que esta distro no es sólo un simple mod de Kali: aunque se basa en los repositorios de herramientas de Kali, presenta una gran cantidad de nuevas características y diferentes opciones de desarrollo.

    Parrot utiliza MATE como un entorno de escritorio, una interfaz ligera y potente que se deriva de la famosa Gnome 2, y gracias a FrozenBox altamente personalizable con iconos llamativos, temas ad-hoc y fondos de pantalla. El sistema es diseñado y propuesto por los miembros de la comunidad y también miembros de la red de Frozenbox, que están siguiendo de cerca el desarrollo de este proyecto.

     
    Web: http://n0where.net/parrot-security-os/

    Vigilan tu historial de visitas a sitios porno, aunque navegues con el navegador en modo incógnito

    El título de esta entrada no debería sorprender a nadie que esté de alguna manera inmiscuido en el mundo de la seguridad informática. Por dos razones fundamentalmente:

    1/ saben que lo "único" que hace el modo privado o incógnito (o el también llamado "modo porno") de los navegadores es que no se guarde información sobre la página visitada, como las cookies o el caché web, ni se registre la navegación a dicha página en el historial 

    y 2/ sin embargo, la mayoría de los grandes sitios web tienen y utilizan otras técnicas que siguen permitiendo el seguimiento o tracking de usuarios mediante:

    - identificadores asignados en el lado cliente (cookies, objectos flash, metadatos, certificados,etc. )
    - las características específicas de la máquina (fingerprinting del navegador y de red)
    - el comportamiento y las preferencias propias del usuario.

    Además cada vez aparecen más métodos y mucho más complejos y difíciles de evadir, como el canvas fingerprinting de los navegadores, las persistentes evercookies o la sincronización de cookies entre sitios. Es decir, ya damos por supuesto y partimos de la premisa de que sólo con el modo incógnito de un navegador no vas a poder evitar que los sitios web con contenido porno tengan un historial de tus visitas si utilizan estas técnicas. ¿Pero las utilizan?

    Está claro que conocer los hábitos de un usuario web (las páginas que anteriormente ha visitado) es un componente básico y muy preciado para la publicidad dirigida, la más eficiente. La realidad es que la mayoría de los sitios web con publicidad tienen elementos de seguimiento o tracking que envían datos a terceros, incluidos los de contenido adulto. De hecho podrás comprobarlo con los 5 sitios porno más visitados (XVideos, XHamster, Pornhub, XXNX y Redtube) si usas por ejemplo Ghostery y ves como se transmiten datos a Google, Tumblr y plataformas de publicidad específicas como Pornvertising y DoublePimp.

    Con esto ya tenemos la segunda premisa: los portales porno también utilizan elementos de tracking de sus usuarios, no sólo podrían identificar a sus usuarios y guardar el historial de sus visitas si no que además podrían compartir esta información con otros.

    Y ahora con estas dos aseveraciones pensemos: se podría poner nombre y apellido a cada uno estos historiales de navegación a contenidos porno ¿qué pasaría si se filtran estos historiales de navegación y alguien decide ponerlos de forma anónima y fácilmente consultable en una base de datos en Internet? Pues que podríamos ver los hábitos y gustos sexuales de nuestro vecino o el vecino consultar los nuestros...

    Imaginaros todo que esto puede suponer el próximo gran escándalo para la privacidad en Internet...

    Indispensable echar un vistazo a estos dos artículos:
    - Your Porn Is Watching You
    - Online Porn Could Be The Next Big Privacy Scandal 

    Recomendaciones: Ensayo sobre las vivencias de un administrador de seguridad y otros métodos y metodologías por Damian Ienco

    Hace un tiempo recibimos un correo de Damian Ienco para compartirnos un libro de seguridad que publicó recientemente en dónde cuenta las vivencias de un administrador de seguridad informática y lo que le parece que está bien y lo que está mal, para tratar de acortarle el camino a algunos administradores que están pasando por situaciones similares.

    Todo lo redactado es sobre situaciones reales, sólo el final es imaginario. Os recomendamos leerlo y compartir vuestras impresiones sobre su contenido.

    El libro se llama “Ensayo: Manual para un Área & Sector de ‘inSeguridad’ de la Información & Informática” y lo pueden descargar de forma gratuita desde el blog: http://manual-area-de-seguridad.blogspot.com.ar/

    Además, Damián también publicó una metodología de capacitación, “Cap-Thi4goción”, muy interesante y recomendable para todos los que estéis interesados en la educación: http://cap-thi4gocion.blogspot.com.ar/

    Y finalmente un método de creación de contraseñas robustas denominado “deThi4-go” destinado a la gente común para que pueda elaborar contraseñas fuertes y crearle una gran dificultad a un atacante que nos quiera “robar” las passwords: http://dethi4-go.blogspot.com.ar/

    ¿Sabías que existe una red P2P offline mediante dispositivos USB colocados por todo el mundo? ¿podrían contener malware?

    'Dead Drops' es un proyecto que consiste en instalar dispositivos USB en espacios públicos para crear una red P2P con el fin de intercambiar archivos de forma totalmente anónima y offline

    Fue una idea lanzada por el alemán Aram Bartholl en octubre de 2010, que instaló los 5 primeros en NYC. Hoy ya hay casi 1500 registrados en ciudades de todo el mundo con una capacidad total de casi 10000 GBs.

    La instalación es sencilla. Se perfora por ejemplo una pared y se rellena el agujero con la memoria USB, colocando la parte de la llave hacia fuera. Se añade el archivo leeme.txt y el manifiesto, se edita la autoría, créditos y fecha y listo. Después se informa en la web www.deaddrops.com de su ubicación adjuntando fotos para que otros usuarios puedan encontrarla.

    Sin embargo, el motivo de que hoy escriba este post es porque me ha llamado la atención un comentario en el blog de SANS en el que se hablaba de la posibilidad de que todas o alguna de estas unidades de almacenamiento tengan también algo "oscuro" a modo de keylogger, software de seguimiento, troyanos, etc.

    Evidentemente en estos medios podremos encontrar cualquier cosa que haya puesto el anterior "inquilino" del medio usb (sí, también malware), aunque también podrían formatearse o realizar cualquier operación de re-escritura. La pregunta entonces es: ¿podría haber o instalarse posteriormente software malicioso persitente tipo BadUSB


    Aunque improbable, *modo paranoia on* es posible. Por eso os invito a conectaros a alguno de estos dispositivos, analizarlo y comentar este post o el de SANS con vuestras impresiones. Por ejemplo, en Madrid y alrededores tengo algunos localizados (a falta de confirmar físicamente) que pienso husmear en cuanto pueda ;)

    https://deaddrops.com/dead-drops/db-map/

    Eso sí, ser siempre precavidos, usar sandboxes o máquinas virtuales (o físicas) dedicadas y escanear antes la unidad USB (USBVirusScan o similares) con estos Dead Drops y con todos los dispositivos USB en general. Avisados estáis.

    Yasca, un analizador de código estático multi-lenguaje

    Yasca es un programa de código abierto que busca vulnerabilidades de seguridad, revisa la calidad de código, el rendimiento y la conformidad con las mejores prácticas existentes en el código fuente del programa. Básicamente se trata de un juego de herramientas multi-lenguaje de análisis estático.


    Yasca puede escanear el código fuente escrito en Java, C/C++, HTML, JavaScript, ASP, ColdFusion, PHP, COBOL, .NET y otros lenguajes. Además puede integrarse fácilmente con otras herramientas como:
    Yasca se puede utilizar para escanear determinados tipos de archivos y también contiene muchos escáneres personalizados desarrollados para cada uno de ellos. Es una herramienta en línea de comandos que genera informes en HTML, CSV, XML, SQLite y otros formatos. Es fácilmente extensible a través de una arquitectura basada en plugins, de tal forma que escanear cualquier archivo en particular es tan simple como poner la regla correspondiente o integrarlo con una herramienta externa. Yasca también cuenta con un plugin para expresiones regulares que permite escribir nuevas reglas en menos de un minuto.

    Yasca está escrito en PHP y liberado bajo la licencia BSD.

    Uso:

    Usage: yasca [options] directory
    Perform analysis of program source code.
    
            --debug additional debugging
        -h, --help show this help
        -i, --ignore-ext EXT,EXT ignore these file extensions
                                (default: exe,zip,jpg,gif,png,pdf,class)
            --ignore-file FILE ignore findings from the specified xml file
            --source-required only show findings that have source code available
        -f, --fixes FILE include fixes, written to FILE (default: not included)
                        (EXPERIMENTAL)
        -s, --silent do not show any output
        -v, --version show version information
    
    Examples:
        yasca c:\source_code
        yasca /opt/dev/source_code
        yasca -o c:\output.csv --report CSVReport "c:\foo bar\quux"

    Puedes descargar Yasca aquí:
    yasca-2.1.zip

    O leer más aquí.

    Fuente: Yasca – Multi-Language Static Analysis Toolset