21 agosto 2014

¿Es delito el hacking ético?




Últimamente, y con cierta periodicidad, leemos en El Mundo artículos relacionados con Seguridad Informática y Hacking, de la mano de Mercè Molist, reconocida periodista focalizada en el sector desde hace muchos años, con iniciativas tan interesantes como la recopilación de la Historia del Hacking y sus protagonistas en el proyecto Hackstory.

La última de las entregas que he podido leer, y que ha generado gran controversia en listas de correo como RooteCon y NoConName, tiene que ver con una entrevista realizada a tres profesionales del derecho en “¿Es Delito el Hacking Ético? (II)

El artículo, que habla por sí mismo, presenta tres visiones diferentes ante cómo enfocar el mismo problema, con más dureza en el caso de Ángel Vallejo, que considera que: “Quien quiera que le hagan un "pentest" (de "penetration testing", auditoría de seguridad) ya lo pedirá” e instando a que nadie meta la nariz donde no le llama, aunque se descubra la vulnerabilidad por “accidente", o aunque sea un servicio que utilizas y gestiona tus datos personales, y no te tiene que importar qué medidas de seguridad se han tenido en cuenta para su protección.

Me gustaría aportar mi opinión a lo que se indica en este artículo, de forma independiente a las valoraciones que he leído en ambas listas de correo.

El artículo al que se hace referencia es el 197.3 del código penal, también llamado “ley del hacking”, está 'tan bien redactado' como sigue: 

"El que por cualquier medio o procedimiento y vulnerando las medidas de seguridad establecidas para impedirlo, acceda sin autorización a datos o programas informáticos contenidos en un sistema informático o en parte del mismo o se mantenga dentro del mismo en contra de la voluntad de quien tenga el legítimo derecho a excluirlo, será castigado con pena de prisión de seis meses a dos años."

Hago hincapié en lo de “bien redactado” (de forma irónica) porque dice que quien vulnere las medidas de seguridad, acceda a datos de un sistema…  Ehm… un momento, si puedo acceder a datos no deseados es que NO HAY medidas de seguridad que protejan ese acceso. Es el clásico ejemplo de que haya medidas de seguridad para no exponer a Internet el servicio MySQL, pero hay un frontal web que tiene un SQL Injection que me permite extraer la base de datos completa. 

En algún juicio me ha tocado, en el papel de perito, demostrar que un cliente no ha vulnerado “las medidas control de acceso a un sistema” para copiar información a otra localización, puesto que su usuario tenía permiso para ello. Es decir, que no ha tenido que explotar una vulnerabilidad en un servicio para acceder a datos a los que con su usuario no podría.   

En el caso del formulario que hace una consulta a una base de datos, en el que si le dices “Dame la base de datos entera”, éste te la da, no lo considero un delito, puesto que el sistema incorpora una funcionalidad por la que introduciendo un valor válido en un parámetro, me devuelve una respuesta. Si ésta no ha sido tenido en cuenta por el programador que diseñó la aplicación web, no es mi problema, pero según la redacción de la ley, en mi opinión (que no es la que vale, sino la del juez), no es delito. Evidentemente, en este caso, lo que hay que hacer es reportarlo convenientemente e indicar cómo se explota. Tampoco es necesario llevarse la base de datos completa para demostrar esto. Basta con hacer un “desc” a una tabla para que sirva de prueba. El problema es aguantarse el morbo de traerse las filas de cada tabla, pero eso depende de la ética de cada uno.

Por parte de la empresa u organización reportada, sólo le queda confiar en que quien le ha notificado el problema, tiene la suficiente honradez para no traficar con los datos contenidos en esa base de datos. Desde mi punto de vista, si lo notifica, es que tiene esa honradez, puesto que si no, no diría nada y utilizaría la información extraída a su conveniencia. 

Igualmente, en el caso de reportar un XSS, en mi opinión se repite el patrón: Si tu aplicación web no escapa determinados caracteres en todos los parámetros, teniendo en cuenta evasiones mediante encodings y otras técnicas, no se están evadiendo las “medidas de seguridad establecidas” puesto que NO LAS HAY!!   Aquí además me gustaría diferenciarlo entre si el XSS es persistente o reflejado, puesto que en el caso de un persistente, sí que estoy dejando un código en el servidor, por ejemplo como comentario en un post (que por cierto, lo almacena el propio servidor web en un servidor de base de datos, normalmente) de un reflejado, en el que no se modifica en ningún momento valor alguno en el servidor, sino que se referencia un fichero/imagen/recurso de otro sitio, como por ejemplo el sonado caso de la web de la Presidencia Española del Consejo Europeo. En este caso, ¿dónde está el delito? ¿Por qué acojonarse entonces al reportar esta vulnerabilidad? Pues porque cuando se trata de juicios, y que haya una interpretación personal de por medio ante la redacción de una ley, y que por hacer un favor, de forma responsable, a la organización que tiene la vulnerabilidad, puedas salir perjudicado es cuanto menos, poco justo.

Es decir, que por una parte, y vuelvo a hacer hincapié en “según mi forma de verlo”, el artículo 3 de la ley 197 está mal redactada desde el principio, para este caso, que es el ejemplo que se ilustra típicamente sobre publicar en pastebin los datos extraídos, aunque esto sí que está contemplado en el artículo 197.4 (a mí entender cubriendo el gap del punto 3 correctamente), por lo que, mientras el investigador no publique los datos extraídos del sitio, no debería estar cometiendo un delito.

"4. Se impondrá la pena de prisión de dos a cinco años si se difunden, revelan o ceden a terceros los datos o hechos descubiertos o las imágenes captadas a que se refieren los números anteriores.
Será castigado con las penas de prisión de uno a tres años y multa de doce a veinticuatro meses, el que, con conocimiento de su origen ilícito y sin haber tomado parte en su descubrimiento, realizare la conducta descrita en el párrafo anterior."

Por supuesto la conclusión del abogado Ángel Vallejo, sobre “Quien quiera una auditoría de seguridad, ya la pedirá” es confiar demasiado en que las normativas existentes y el miedo a las multas por incumplimiento se encargarán de que todo “esté seguro”. 

Si el derecho y la justicia fuesen por delante del fraude y el cibercrimen, éstos últimos no existirían,… y estamos hartos de ver incidentes de seguridad de forma diaria que involucran millones de euros de propiedad industrial e intelectual extraídas, así como información “imponderable” relativa a información tan sensible como los datos de salud de personas humanas

Que conste que este post no es, en ningún momento, una incitación a meter comillas, %27 o >, en cuanto formulario web nos encontremos, con la única finalidad de "ayudar", porque yo no seré el juez que tenga que interpretar vuestros hechos contra las leyes y determinar si fue de buena fe o no.
Leer más...

20 agosto 2014




En Securízame, desde que hemos estado impulsando cursos de formación, siempre hemos tenido claro que nuestro objetivo era tratar de ofrecer temáticas con alta demanda y que no estuviesen saturadas. En el mercado existen muy buenos cursos y excelentes formadores que ofrecen temas muy relevantes altamente recomendables.

No obstante, la idea siempre ha sido ir un paso mas allá y adentrarse en conceptos que fuesen novedosos. Por eso es que para nosotros resulta muy excitante la idea de crear cursos que luego generan un "feedback" potente y que nos incentivan a seguir en esta línea.

En esta ocasión, hemos creado un curso que esperamos colme las expectativas de todas aquellas personas que quieran ir un paso mas allá en el mundo de la seguridad.

Se trata de un curso online sobre "Reversing & Exploiting avanzado", orientado a aquellas personas que ya se han formado previamente en seguridad defensiva, auditorías o planes de contingencia, y que desean dar el siguiente paso: poder realizar exploiting (tus propios exploits) y entender como se realiza el reversing a bajo nivel.

Este tipo de formación es realmente compleja de adquirir y suele tener dos hándicaps, fundamentalmente. Por una parte, el hecho de tener que desplazarse físicamente a un lugar alejado de España, ya sea EEUU o adentrarse por Europa, y además que la formación suele estar impartida en inglés. 

En el caso del curso que estamos lanzando, queremos mitigar esos inconvenientes y se podrá recibir desde cualquier sitio (al ser online) y el idioma será el español

Consideramos que los entornos que ha de abarcar son tanto Windows como Linux, al ser las plataformas con más despliegue en el mercado

Para ello, contamos con un elenco de profesores especialistas en cada campo:



YAGO JESUS (@yjesus)yjesus
  • Profesional con más de 10 años de experiencia en el sector de la seguridad informática, ha trabajado para importantes empresas como Telefónica, Caja Madrid, sector defensa y administraciones públicas.
  • Editor del blog Security By Default (www.securitybydefault.com), ha desarrollado multitud de herramientas relacionadas con la seguridad informática.
  • Fundador de eGarante (www.egarante.com)

RICARDO J. RODRIGUEZ (@ricardojrdez)ricardo_rodriguez

  • El Dr. Ricardo J. Rodríguez recibió sus títulos de M.S. y Ph.D. en Informática por la Universidad de Zaragoza, Zaragoza, España, en 2010 y 2013, respectivamente.
  • Su doctorado versa sobre el estudio del análisis de rendimiento y optimización de recursos en sistemas críticos complejos modelados con Redes de Petri.
  • Actualmente, trabaja como investigador senior en ciberseguridad en la Universidad de León.
  • Sus intereses de investigación incluyen análisis de rendimiento y optimización de grandes sistemas de eventos discretos, ingeniería del software segura, sistemas de tolerancia a fallos e infraestructuras críticas y análisis de malware.
  • El Dr. Rodríguez es también miembro del IEEE Computer Society.
  • Ha participado como ponente en otras conferencias de seguridad, como NoConName (2011, 2012, 2013), Hack.LU (2011), RootedCON (2012) y Hack in Paris (2013). También ha participado como formador en NoConName (2011, 2013), RootedCON (2012) y Hack in Paris (2013) dando cursos sobre fundamentos de ingeniería inversa y técnicas de anti-reversing en entornos Windows

ALBERT LÓPEZ (@newlog_) newlog
  •  Ingeniero en informática, profesionalmente dedicado a la seguridad informática durante cuatro años. Ha trabajado para empresas tan punteras como Víntegris o Internet Security Auditors, desarrollando software empresarial enfocado a la seguridad informática en la primera y realizando auditorías de seguridad a empresas, tanto de ámbito nacional como internacional, en la segunda.
  • Actualmente realiza auditorías de seguridad como freelance y colabora activamente con una startup estadounidense dedicada a desarrollar frameworks de post-explotación.
  • Sin embargo, su pasión siempre han sido las técnicas de explotación de software. Así lo demuestran sus ponencias en congresos como la RootedCon o la OWASP European Tour, en las que presentó estudios sobre la explotación de heap buffer overflows en GNU/Linux.
  • Asímismo, interesado en fomentar dichos conocimientos, en 2009 fundó la comunidad Overflowed Minds, para compartir información y ayudar a todos aquellos interesados en iniciarse en el mundo del exploiting.

SERGI ÁLVAREZ (@trufae)pancake




  • Apasionado de la seguridad y del software libre durante los últimos 15 años.
  • Ha trabajado realizando análisis forenses, optimizando codecs multimedia en ensamblador para varias arquitecturas y desarrollando firmwares para dispositivos embebidos, entre otros.
  • Autor y principal desarrollador del proyecto Radare, un framework orientado a facilitar varias tareas relacionadas con la ingeniería inversa, análisis forenses, exploiting y manipulación de binarios. Participó en el CTF de la Defcon durante 3 años con el equipo de Sexy Pandas con el rol de reverser y parcher.
  • Ha publicado varios artículos sobre seguridad en blogs y revistas electrónicas como phrack. Asimismo, tambien ha participado en varios congresos realizando ponencias o talleres sobre hacking, reversing, radare, etc.



  • JAIME PEÑALBA (@nighterman)
    • Jaime cuenta con más de 10 años de experiencia en el sector de la informática trabajando como ingeniero de sistemas y consultor de seguridad.
    • Durante su carrera ha trabajado para las principales empresas de los sectores tecnológicos, energéticos y financieros en España, Estados Unidos y Latinoamérica.
    • Ponente habitual en las conferencias de seguridad españolas, también dedica parte de su tiempo a desarrollar herramientas de seguridad y participar en campeonatos de hacking

    Como sabemos que no todo el mundo puede tener el nivel de partida necesario para sacar todo el jugo al curso, hemos pensado también en ello y, adicionalmente, hemos creado un módulo introductorio sobre 


    1. Arquitectura de Computadores y Memoria – 2 horas – Sergi Álvarez
    • Funcionamiento básico de un procesador
    • Arquitectura x86 (16/32/64 bits): Registros, Endian y Flags
    • Organización/Gestión/Estructuras de la memoria y sus permisos
    • Calling conventions (pasar por pila, pasar por registros en 32/64bits)
    • Funcionamiento de la pila (stack)
    2. Ensamblador:
    • Relación entre código binario, máquina y ensamblador (compilar/decompilar)
    • Juegos de Instrucciones CISC/RISC
    • Basicblocks/Grafos:
      • Definición de Basic block
      • Cómo se estructura el código
      • Callgraphs
      • Complejidad ciclomática
    • Demos
    3. Introducción a reversing práctico en Entorno Windows – 2 horas – Yago Jesús
      • Breve introducción al reversing, fundamentos básicos y descripción de escenarios
      • Análisis estático
      • Análisis dinámico
      • Debuggers
      • API Hooking
      • Rootkits
    4. Introducción a exploiting práctico en Entorno Linux – 2 horas – Yago Jesús
      • Breve introducción al exploiting
      • Tipos de vulnerabilidades
      • Binarios, permisos y problemas asociados
      • Vulnerabilidades de condición de carrera
      • Exploiting básico (No DEP, no ASLR)
      • Exploiting de servicios de red
      • Introducción a contramedidas

    Una vez concluida esta parte, el impresionante temario es el siguiente:


    MÓDULO II – Reversing en Windows – 8 horas – Profesor:  Ricardo J. Rodríguez
    1. Introducción y conceptos básicos
    • Windows NT internals
      • PEB, TEB, LDR
      • PE Headers
      • Windows APIs
    2. Ingeniería inversa de código básica: Herramientas
    • Usando un  Debugger: OllyDBG
    • Entendiendo el ensamblador desde el código
    3. Ingeniería inversa de código básica: Técnicas
    • Event-Fishing
    • Serial-Fishing
    • Capturando claves: Self-Keygenning, Keygenning
    4. Introducción a algunos trucos anti-debugging
    5. Ingeniería inversa de código avanzada: técnicas
      • Unpacking
      • .NET Reversing
    6. Practicum, conclusiones y referencias
    • Algunos ejercicios prácticos
    • Conclusiones
    • Referencias
    MÓDULO III – Exploiting en Windows – 8 horas – Profesor:  Albert López
    1. Introducción
    • Stack Frames
    • Análisis práctico
    2. Stack Based Buffer Overflows
    • Vector de ataque 1
      • Sobrescribiendo EIP almacenado
      • Exploit real
    • Vector de ataque 2
      • Structured Exception Handling
      • Exploit real
    3. Técnicas de Mitigación de Exploits (y evasión)
    • SafeSEH
    • SEHOP
    • Stack Cookies
    • Data Execution Prevention (DEP)
      • Return Oriented Programming (ROP)
      • Exploit real
    • Address space layout randomization (ASLR)
      • Limitaciones
      • Exploit real
    En este módulo se trabajará con herramientas como Immunity Debugger y mona.py. Se desarrollarán exploits para aplicaciones como Real Player, Quicktime y otros. Se analizarán desde plataformas Windows XP SP3, 7 SP1 y 8.1. Igualmente, se usará Metasploit para generar los payloads, encodearlos y gestionar el meterpreter. Los PoCs se harán en Python.
    MÓDULO IV – Reversing en Linux – 8 horas – Profesor:  Sergi Álvarez
    1. Introducción a la Ingeniería Inversa
    • ¿Qué es y para qué se usa?
    • Reversing en Linux
      • Compilar, desensamblar y decompilar
      • Formato ELF
      • ld.so LDPRELOAD /proc
    • Herramientas
      • Tipos
      • Cómo instalarlas y breve introducción
    • Demos
      • Extracción de información de ejecutables
      • ldpreload bypass password
    2. Análisis
      • Referencias
      • Interrupciones (búsqueda, resolución)
      • Basic Blocks
      • Grafos (call, bb)
    • Demos
      • Ensamblado/desensamblado
      • Parcheado de programa
    3. Formateando Datos y Búsquedas
    • Bindiffing
    • Estructuras en C (alineamiento, punteros, listas,…)
    • Extracción de strings y referencias
    • Cálculo de entropía
    • binwalk, /m, yara, rafind2, photorec (carving)
    • Firmas, funciones, preludes,…
    • Demos:
      • Búsqueda de parche
      • Extracción de ficheros de un dump
      • Identificación de funciones por firma
    4. Debugging y análisis dinámico
      • Introducción a Valgrind, GDB y r2
      • Trazas de ejecución (ltrace, strace)
      • Breakpoints
    • Manipulación de flujo de ejecución
      • Modificación de registros
      • Inyección de código
      • Volcados de memoria
    • Demos
      • Solución de crackme con debugger
      • Demos con gdb y r2
    MÓDULO V – Exploiting en Linux – 8 horas – Profesor:  Jaime Peñalba
    1. Vulnerabilidades más comunes
    •   Stack based overflow
    •   Heap based overflow
    •   Format string
    2. Introducción a shellcodes
    • Shellcoding básico
    • Rop chains
    • Herramientas (ragg2, metasploit)
    3. Protecciones modernas
    • Stack canary
    • No eXecute Bit
    • ASLR
    • RELRO (RELocation Read-Only)
    • PIE
    4 Técnicas contra protecciones
    • Return to libc
    • Got overwrite
    • ROP
    • Stack pivoting
    • Memory disclosure
    ¿Eres de los que no saben por dónde empezar cuando tiene que analizar un binario? ¿Te gustaría saber encontrar vulnerabilidades en software y explotarlas? ¿Te vienes abajo cuando ves una pantalla con código ensamblador y no sabes cómo utilizar un debugger? ¿Te parece de otro mundo cuando lees noticias en las que se encuentran puertas traseras a un router o descubren un zero-day para Java, Flash o Internet Explorer? Pues bienvenido, este es tu curso.


    Las condiciones, horarios y fechas en las que se llevará a cabo el curso están explicadas en la web de Securízame “Curso online de Reversing y Exploiting Avanzado en Windows y Linux”, en la que podrás informarte de las condiciones del curso, así como pre-registrarte.
    Leer más...

    19 agosto 2014

    Análisis de phishing que simula el portal iTunes Connect de Apple


    Revisando los correos que llegan a SPAM, en ocasiones te puedes llevar más de una sorpresa. Sin ir más lejos, ayer 17 de Agosto recibí un correo con el alarmante asunto Apple: Your account has been frozen, que más o menos venía a decir que mi cuenta de Apple había sido congelada a la espera de que confirmase algunos datos:
    Spam supuestamente de Apple para reactivación de cuenta de iTunes

    Analizando el mensaje original, incluyendo las cabeceras del correo, podemos comprobar como se utilizó un script PHP de envío de correo a través de internet, el cual se encuentra en la siguiente ruta (reflejada por completo en la cabecera X-PHP-Script:

    Extracto de las cabeceras del e-mail
    Como veréis en la segunda linea de la imagen, la cabecera X-PHP-Script contiene la ruta completa al fichero temp.php dentro del dominio every-tickets.com (que seguramente fuese comprometido previamente para contener este tipo de scripts de envío de correos de forma anónima):

    Script PHP de envío de correos anónimos a través de un servidor online posiblemente comprometido

    Atendiendo ya al contenido del e-mail, éste contiene un enlace que llevaba a la siguiente URL: 


    en la cual apreciaréis que es similar a la simulada del servicio iTunes Connect de Apple que originalmente se encuentra en la siguiente URL:


    Accediendo al phishing, ya directamente solicita el CVV de la tarjeta de crédito además del Apple ID y la contraseña...

    Diferencia entre el portal original y la copia phishing de iTunes Connect

    Analizando el código fuente del html de phishing, buscamos la acción del formulario al hacer click en "Sign in", detectando un fichero php llamado:

    + myserviceson.com/applllle/WebObjects/emsg1.php

    el cual si accedemos directamente a él (petición GET), se nos muestra un formulario para introducir todos los datos posibles de la cuenta (que obviamente, incluye todo lo referente a tarjetas de crédito, códigos de seguridad, datos personales, etc) al redirigirse a un html llamado details.html:

    Formulario de solicitud de datos completos del usuario (paso 2 del proceso)

    De nuevo, analizamos el código fuente para obtener un nuevo recurso que actuará de acción para el formulario al introducirse los datos, llegando a un nuevo php en:

    + myserviceson.com/applllle/WebObjects/tabli8.php

    Al acceder a este por GET de nuevo, se muestra un error típico de PHP, ya que obviamente este PHP no se pensó para ser llamado directamente, si no tras completar el formulario y hacer click en enviar los datos:

    Aviso mostrado por el fichero php al no ser ejecutado correctamente a través del flujo original

    Recapitulando hasta aquí, disponemos de los siguientes recursos típicos que está utilizando este phishing:
    1. Dominio myserviceson.com
    2. applllle/WebObjects/
    3. applllle/WebObjects/emsg1.php
    4. applllle/WebObjects/tabli8.php

    Una vez hemos hecho esta recopilación, procedemos a buscar información a través de google referente tanto al dominio, como a estos ficheros PHP y rutas concretas, para determinar si pudiera encontrarse en más servidores o si ya se hubiera reportado previamente un phishing de estas características pero alojado en otros sistemas. Al realizar la búsqueda en Google, mediante site: sobre el dominio afectado, nos encontramos como en la caché de Google se encuentra un antiguo listado de directorios, en los que vemos dos ficheros de texto: ID.txt y Full.txt, el directorio applllle y el php temp.php:

    Búsqueda en Google relacionada con el dominio dónde se encuentra el phishing

    • El fichero temp.php (que ya no está presente), podría corresponder con el script de envío de correos mencionado anteriormente en el análisis de las cabeceras del e-mail.
    • El fichero ID.txt, presente en el servidor, parece registrar la información referente al primer formulario de login que ya solicitaba el CVV
    • El fichero Full.txt, presente en el servidor, parece registrar la información referente al segundo formulario de registro de datos completos. 
    Debido a que durante la investigación no se llegó a realizar ningún envío a través del formulario, pero si se accedieron a los PHP directamente (emsg1.php y tabli8.php), quizás fuera lo que provocó la creación y registro de los intentos (aún sin incluir datos) de acceso a los formularios, y serían los ficheros que almacenarían toda la información de las víctimas que picasen en este phishing.

    Por desgracia, este phishing finalmente si que fue utilizando en anteriores ocasiones (durante los últimos días, y con gran éxito de recogida de información) y estuvo alojado en otros hostings que ya fueron denunciados como que se utilizaban para estos menesteres. Lo peor de todo es que aún todavía a día de hoy, se pueden encontrar ficheros ID.txt y Full.txt con multitud de datos sensibles de usuarios  (víctimas) que llegaron a cumplimentar tanto el primer formulario como el segundo....
    Leer más...

    18 agosto 2014

    Cuando hace poco más de un mes publiqué el post sobre Detalles que se convierten en un ataque de ingeniería social comenté al final del mismo que el ejemplo que había realizado probablemente no funcionaría debido a que la mayoría de antivirus detectaban los payloads generados por SET. Curiosamente, unos días después me instalé una máquina virtual con Windows 8.1 y descubrí que podía ejecutar ese payload sin que Windows Defender lo bloqueara.

    Según Microsoft, Windows Defender dejaba de ser simplemente un antimalware para convertirse en antivirus en Windows 8, dejando así de existir el producto Microsoft Security Essentials para Windows 8. Sin embargo, se ve que no está muy púlido ya que en Windows 7 con Microsoft Security Essentials este problema no ocurre, únicamente en Windows 8.1 (supongo que Windows 8 también) con Windows Defender.

    Antes de entrar a detallar el proceso, el escenario era el siguiente:
    • Host OS: Debian Wheezy + backports.
    • Guest OSes: Windows 8.1, Kali.
    • Virtualización: VirtualBox.
    • Malware: Windows Shell Reverse TCP generada con SET.
    • Protección: built-in Windows 8.1 (Windows Defender, firewall, UAC).
    • Lugar vulnerable: carpeta compartida de VirtualBox.
    Ahora sí, vamos al lío. Lo primero que hay que hacer es generar el payload utilizando SET, para ello se ejecuta setoolkit en Kali y se eligen las opciones 1 > 4 > 1 > 4, rellenando los datos que se vayan pidiendo como la IP y puerto del listener. Una vez creado el payload.exe, se coloca en la carpeta compartida de VirtualBox, carpeta que deberá estar montada tanto en Kali como en Windows 8.1. Ahora se accede a esta carpeta en la máquina virtual de Windows 8.1, y se observa como el malware sigue ahí. Se ejecuta, y voila! Windows Defender detecta que se ha encontrado malware y lo acaba eliminando, sin embargo, no impide su ejecución, por lo que se obtiene una shell en este equipo. NOTA: el único sitio vulnerable es la carpeta compartida. Si se mueve el ejecutable a cualquier otro sitio, si que es bloqueado correctamente.

    A continuación un video PoC (si, ya sé que mi pronunciación es lo peor...):



    Como comenté anteriormente, probé lo mismo en una máquina virtual con Windows 7 y MSE, pero aquí si que se bloqueaba la ejecución del malware. También probé a realizar lo mismo cambiando el Host OS por un Windows 8.1, escenario en el que también se bloquea la ejecución (tanto en el host, como en el guest W8.1). Por lo tanto, parece que para aprovecharse de este bug el escenario es muy limitado y posiblemente no exista una aplicación real para dicho fallo.

    Desde que detecté el problema me puse en contacto con el Microsoft Security Response Center, explicándoles como reproducir la vulnerabilidad y enseñándoles el video. Tras un mes de investigación, finalmente han determinado que no se trata de una vulnerabilidad de seguridad ya que para su explotación debe existir cierta componente de ingeniería social que engañe al usuario, y eso viola la primera ley inmutable de seguridad. Aún así, el coordinador del caso me informa de que ha pasado el informe al equipo de Windows Defender para que consideren un fix para próximas versiones.

    Artículo cortesía de Ayoze Fernández (@SecurityEffect)
    Leer más...

    17 agosto 2014

    Enlaces de la SECmana - 237



    Leer más...

    16 agosto 2014

    Analizando todo internet en busca de sesiones VNC abiertas

    Robert Graham, Paul McMillan y Dan Tentler fueron protagonistas de la pasada Defcon 22 con una charla que denominaron Mass Scanning the Internet: Tips, Tricks, Results.



    Es conocido por todos que Robert Graham (ErrataRob), lleva desde hace tiempo utilizando una herramienta propia que se encarga de analizar todo Internet, en poco tiempo, en busca de todo lo conectado (al más puro estilo shodan, pero de consumo propio), llamado masscan. Nuestro compañero Yago habló de esta y otras herramientas en el post Hagamos una auditoría a todo Internet! (Proyecto SONAR).

    Volviendo al tema que nos ocupa acerca de la charla, por desgracia todavía no tenemos información sobre su contenido, más que la sinopsis que podemos encontrar en la propia página de charlas  del congreso:


    Pues bien, mientras se publican las slides o los videos de la charla, podemos conformarnos con lo que está realizando por el momento uno de los ponentes, Dan Tentler a través de su cuenta de twitter @Viss: capturas de pantalla con conexiones VNC abiertas. Accediendo a la sección de multimedia de dicha cuenta de twitter, podréis ver todos los pantallazos, en los que nos encontraremos desde sistemas de control de saunas online (!):

    Conexión VNC abierta con acceso a un sistema de control de saunas
    Como accesos a escritorios de gamers jugando a sus videojuegos favoritos:

    Conexión VNC abierta con acceso al escritorio de un jugador online

    Y como no, sistemas aparentemente relacionados con SCADA...

    Acceso a través de VNC sobre sistemas SCADA
    Curiosamente, buscando información sobre este sistema, llegamos a esta página. No parece precisamente un juguete...

    Como veis, esto no resulta nada nuevo y por desgracia, ni nos sorprende lo tan accesible que son determinados sistemas en Internet. Lo que añade gravedad es la posibilidad de conexión directa por VNC, y como no, sin necesidad de introducir ningún tipo de credenciales...

    Para acceder a estas y otras imágenes del proyecto de análisis de conexiones VNC abiertas de @Viss, podéis echar un vistazo a este enlace en el que sigue añadiendo capturas de lo que se va encontrando: https://twitter.com/viss/media
    Leer más...