Análisis de servidores web en dominios ".es" (I)

Hace unas semanas veíamos que casi 100.000 dominios “.es” están mal configurados y permiten la transferencia de zona. Siguiendo con la entrada anterior, ésta sobre la vulnerabilidad a heartbleed o ésta sobre la vulnerabilidad a FREAK de los dominios “.es”, el siguiente paso consistió en obtener la información de:

  • Servidores Web.
  • CMS Instalados.
  • Tecnologías web (ASP, PHP…) existentes.

Para ello se ejecutó el script python whatweb contra todos los dominios “.es”, de manera que se almacenaran en una base de datos MySQL los resultados. El proceso tardó más de un mes (del 19 de marzo al 28 de Abril) en realizarse (estamos hablando de 1.7 millones de dominios .es) y la verdad es que los resultados fueron muy interesantes.

Como disclaimer previo, decir que la información obtenida para el estudio es accesible para cualquier usuario de Internet y que los datos fueron obtenidos de la manera menos agresiva posible, con una única petición HTTP.

[Read more…]

Evaluación de Impacto en la Protección de Datos Personales (EIPD)

Hace algún tiempo que la Agencia Española de Protección de Datos publicó la Guía para una Evaluación de Impacto en la protección de Datos Personales [PDF]. La verdad es que hasta ahora no me había parado a leerla y la verdad es que es bastante interesante.

En la guía se hace referencia a términos como PIA por sus siglas en inglés (Privacy Impact Assements) y EIPD (Evaluación de Impacto en la Protección de Datos personales). Un término más conocido bastante relacionado con este tema es el de Privacy by Design, del cual podemos encontrar bastante documentación al respecto, pero por no mezclar ideas en este post nos centraremos en el EIPD y más concretamente en lo que la guía de AEPD propone al respecto.

[Read more…]

Criptografía, ¿El patito feo de la informática? (II)

En la anterior entrada vimos una breve introducción a la criptografía. Hoy trataremos de aplicar lo visto a un escenario más práctico.

Cifrado de disco con herramientas nativas

Por suerte todos los sistemas operativos modernos disponen de un conjunto de herramientas que proporcionan “cripto robusta” y todas ellas permiten el cifrado completo de disco o cifrado de la partición de usuario. Debido a la extensión de algunos de los procesos que en sí darían para un post, en ocasiones se enlaza a la documentación original.

[Read more…]

¿Automóviles vulnerables a ciberataques? (II)

Tras la introducción que vimos hace unos días, pasamos a la parte que más probablemente os gusta: analizar los vectores de ataque.

Para ello he cogido como ejemplo una arquitectura propuesta por BMW en sus nuevos coches lanzados al mercado. Se observan distintas opciones de ataque que se podrían encontrar tanto BMW como sus usuarios con la arquitectura propuesta. Hay que tener en cuenta que con toda la nueva tecnología y funcionalidades disponibles, el usuario está expuesto a nuevas amenazas que anteriormente no existían:

  • Vector 1. Portal My BMW ConnectedDrive.

    Se trata de un portal web desde el que es posible realizar la administración del vehículo. Para darse de alta es necesario proporcionar el número de bastidor de cada vehículo (número VIN). Una vez introducido el código VIN en el portal, se envía un segundo código al coche que se recibe a través de la tarjeta SIM que tiene integrada. El usuario debe abrir el coche y apuntar esta numeración para luego introducirla en el portal web. De este modo, se tiene que realizar una autenticación de dos factores que evita, por ejemplo, que podamos introducir los datos de un vehículo que no sea nuestro pero del que conozcamos los datos que nos solicitan.

    [Read more…]

Squert

Dentro de la seguridad informática aplicada a la empresa, uno de los principales puntos que ha de cubrirse es la monitorización y vigilancia a nivel de red. Hay que monitorizar los datos que entran a través del perímetro, los datos que salen de la compañía y el tráfico entre equipos dentro de nuestra red. Esta disciplina es lo que se ha dado en llamar NSM (Network Security Monitoring) y que algunos hemos conocido de la mano de Richard Bejtlich y su libro “The Tao of network security monitoring”.

Pues bien, en este post he decidido presentar una pequeña introducción sobre una herramienta que puede hacernos la vida más fácil en esto de la monitorización de la seguridad de una red: Squert. Pero para poder entrar a ver qué es Squert, primero tendremos que dar unas pequeñas pinceladas de su “padre” Sguil.

Sguil

Sguil es un consola de análisis de eventos de red diseñada por y para analistas, compuesta de varios sistemas que conjuntamente nos ayudan a monitorizar la seguridad de una red de ordenadores. Además del acceso a eventos en tiempo real, nos proporciona datos de sesión y capturas de paquetes de red. Desde su interfaz podemos visualizar dichos datos, e incluso tenemos también capacidades de gestión y clasificación de dichos eventos.

En la siguiente tabla podemos ver los componentes en los que se apoya SGUIL para la recogida y presentación de los datos:

Posee una estructura de cliente-servidor en la que los sensores (clientes) monitorizan los enlaces de red (snort, SANCP) y envían los datos al servidor de Sguil donde se almacenan en una base de datos para su posterior tratamiento. Podemos visualizar dicha información mediante un interfaz gráfico multiplataforma escrito en TCL/TK.

SQUERT (Simple QUEry and Report Tool)

Nació como una evolución de Sguil, añadiendo un interfaz web para visualizar y consultar los datos almacenados en una base de datos de Sguil. El nuevo interfaz mejora la usabilidad y hace el entorno más amigable, añadiendo a su vez nuevas funcionalidades a una herramienta ya de por sí muy útil.

Desde el interfaz de SQUERT podemos tener una visión global de lo que está pasando en nuestra red, actualmente Squert puede agrupar y visualizar alertas de nuestro network IDS (snort/suricata), alertas de host IDS proporcionadas desde OSSEC, PADs (Passive Asset Detection) y eventos procedentes de logs de Bro. La combinación de toda esta información puede ayudarnos a tener una visión más completa de lo que pasa en nuestros sistemas y determinar ante un incidente de seguridad los posibles equipos afectados, conexiones anómalas, etc.

Interfaz Web

Iniciaremos sesión con las credenciales que hayamos definido en la base de datos de Sguil.

La pantalla principal tiene un diseño claro, dando protagonismo al listado de eventos que aparece en posición central. Los filtros temporales aparecen en la parte superior y la barra lateral agrupa las estadísticas de eventos agrupados por tipos (grouping) y la activación de agrupado de eventos por tipo, o la visualización de la cola de eventos por categorizar (queue only).

Alertas

En el listado de alertas se agrupan todos los tipos definidos (NIDS + HIDS + PADS + OSSEC + BRO), una vez pinchamos encima de una de las alertas obtenemos un detalle de la firma que ha sido “activada”, el fichero de reglas en que se encuentra y los eventos clasificados por direcciones IP origen.

El número que aparece en la parte izquierda de la alerta indica el numero de eventos totales que han sido agrupados (si tenemos activado el grouping), por lo que haciendo clic encima, se desplegará el listado completo. En este caso se trata de una alerta de descarga de un fichero ejecutable EXE o DLL, y vemos que hay 2 eventos agrupados, la regla que ha activado la detección, la dirección IP origen, puerto y la dirección IP destino.

Si seguimos investigando y hacemos clic encima del ID del evento, se mostrará una transcripción del contenido de los paquetes de red capturado, donde podemos identificar claramente que se trata de la descarga de un fichero ejecutable.

El texto en color negro es el resultado de la ejecución de la herramienta p0f, identificando el SO. El resto del texto en azul y rojo es la conversación http extraída de la captura de red.

Llegado este momento en el que hemos descubierto un comportamiento malicioso y que puede deberse al compromiso del equipo analizado, podemos clasificar la alerta y continuar con el análisis del incidente, Squert sigue la misma clasificación que Sguil.

Podemos categorizar la alerta mediante el teclado (F1,F2,F3…) o seleccionando la alerta y pinchando en el icono de comentarios, que abrirá una ventana donde podremos seleccionar la categoría y añadir un comentario descriptivo si lo creemos oportuno.

Una vez categorizados los eventos, estos desaparecen de la cola y aparecen en las estadísticas de la categoría seleccionada.

Squert nos ofrece también la opción de crear reglas que nos permitirían categorizar automáticamente las alertas que van entrando en el sistema.

Una vez categorizada la alerta, en este caso nos sería de gran ayuda para continuar con nuestra investigación recuperar el ejecutable descargado. Si tenemos activada la opción de captura de paquetes podemos hacerlo desde ELSA.

ELSA es un framework de análisis de logs centralizado, que puede integrarse con Squert, para poder realizar búsquedas directamente sobre los logs almacenados. Haciendo clic sobre un elemento de la alerta, en este caso sobre el nombre de la firma de snort activada, vemos un submenú que incluye un enlace a una búsqueda externa en ELSA.

Siguiendo el enlace se abrirá una nueva pestaña en el navegador con el interfaz de conexión de ELSA, una vez iniciemos sesión, seleccionamos la tabla sobre la que queremos realizar la búsqueda, en nuestro caso “snort”.

Y obtendremos un listado con los registros resultantes de la búsqueda:

Desde la consulta de ELSA al hacer clic en el enlace “info” conectaremos con seleccionar más información y desde ahí se abrirá capme, un complemento de Squert que nos ayudará a recuperar la captura de red realizada en formato pcap y que posteriormente podremos abrir con wireshark para extraer el fichero descargado.

SUMMARY

Otra de las principales mejoras aportadas por Squert es la visualización de los datos y estadísticas. En esta segunda pantalla llamada Summary, tendremos una visión global de los ataques recibidos, estadísticas de las alertas más detectadas, direcciones IP origen de los atacantes más activos, direcciones IP de los hosts más atacados, etc.

VIEWS

En esta pantalla la información se centra principalmente en dar una visión rápida de las conexiones realizadas, mostrando las direcciones IP y la geolocalización de estas.

Referencias

Criptografía, ¿El patito feo de la informática? (I)

Hoy en día usamos innumerables aplicaciones de la criptografía, consciente o inconscientemente, aunque este último suele ser el caso habitual. El simple hecho de acceder a una web segura -https- desencadena una maravilla de la matemática moderna, una explosión de algoritmos, todos ellos con un mismo fin: proteger nuestra privacidad y asegurarnos que el destinatario de esa comunicación es quien dice ser.

Imagino que la mayoría de nuestros lectores ya sabrán lo que es, pero ahí van unas definiciones:

La RAE nos proporciona una descripción realmente vaga del término:

Criptografía (del griego criptos, ‘oculto‘, y grafé, ‘escritura‘).

Arte de escribir con clave secreta o de un modo enigmático.

[Read more…]

Un honeyclient para CVE-2015-2865

Recientemente se ha publicado una vulnerabilidad (CVE-2015-2865) que afecta a varios modelos de móviles Samsung Galaxy, y que permite la ejecución remota de código como usuario system siempre que sea posible montar un ataque MitM entre el terminal y los servidores de Samsung (normalmente utilizando técnicas como ARP cache poisoning o similares sobre redes wifi de hoteles, restaurantes, etc. a las que estén conectados el atacante y la víctima).

Estos terminales vienen preinstalados con el teclado virtual Swift, de Samsung. Cuando el usuario instala un language pack adicional para este teclado, o cuando se actualiza uno de los existentes, en primer lugar la aplicación descarga el catálogo de packs en formato JSON desde la URL correspondiente:

http://skslm.swiftkey.net/samsung/downloads/v1.3-USA/languagePacks.json

[Read more…]

No hay nada como pedir las cosas con educación

Dicen que la buena educación está sobrevalorada, que no sirve para nada, que al final la gente no te hace más caso por ser más educado, pero yo creo que sí que vale para mucho.

Por ejemplo, si yo fuera un hacker (en el peor sentido del término) con muy malas intenciones, que no lo soy, optaría por la opción educada. Aunque en este punto nadie entiende a que me refiero, déjenme que me explique.

Yo optaría por acabar con la programación compleja de malware, las cadenas de correos electrónicos con adjuntos infectados para entrar en los ordenadores de los usuarios, explotar las vulnerabilidades de los dispositivos, etc. En general todo eso lleva mucho trabajo detrás y no siempre surte efecto. Hay un camino mucho más sencillo y educado. Como les decía, creo que las cosas pedidas con educación siempre van mejor. Hasta les hablo de ustedes, ¿se han fijado?

[Read more…]

GOTO XII: Certificaciones de seguridad

Hay pocos temas capaces de generar tanto debate dentro del campo de la seguridad informática como el de las certificaciones: son geniales, no sirven para nada, generalistas, de producto, con cebolla, sin cebolla… Defensores y detractores esgrimen argumentos bastante válidos a la hora de defender y cuestionar el valor real de las certificaciones de seguridad.

Imaginemos por un momento que tenemos un casco que nos permite, con tan solo pulsar un botón, convertirnos en un fanboy de las certificaciones o en su enemigo más acérrimo. Casco en mano (bueno, en cabeza, la seguridad es lo primero) vamos a repasar algunos argumentos a favor o en contra de las certificaciones de seguridad.

Pros

  • Sirven para conseguir entrevistas: Uno de los problemas principales que tiene el personal de RR.HH. para seleccionar candidatos para un perfil es saber quién puede ser un buen candidato (la contratación en seguridad informática tiene su tela, y merece un artículo por sí sola). Las certificaciones de seguridad les vienen como anillo al dedo ya que les proveen de las buzzwords necesarias para poder discriminar candidatos. El tener o no tener las certificaciones correctas puede indicar en muchos casos el paso a la siguiente fase de un proceso de selección.
  • Son personales: Se van contigo debajo del brazo cuando cambias de trabajo y son (mantenimiento mediante, del que ya hablaremos) para siempre. A las empresas les suelen gustar las certificaciones, por lo que es un buen argumento a la hora de negociar salarios.
  • Demuestran motivación: Se puede entrar a trabajar en seguridad informática desde muchos perfiles (desarrollador, administrador de sistemas, de redes, etc…) De la misma forma, se puede entrar porque de verdad te apasiona la seguridad o simplemente porque es un campo que ahora está de moda y por ende hay mucho trabajo y/o está bien pagado. El que alguien tenga certificaciones de seguridad demuestra en cierta medida que “va en serio” con la seguridad, y que quiere desarrollar su carrera en esta área. La dedicación y la motivación en nuestro campo cuentan. Y mucho.
  • Le gustan a tu empresa: Muchos concursos públicos tienen un apartado puntuable relativo a la calidad del personal que va a ejecutar el proyecto. Dado que el 95% del personal van a ser ingenieros y/o grados, las únicas formas de cuantificar la calidad del personal son los años de experiencia… y las certificaciones de seguridad que poseen. Además, a nivel de marketing que una empresa pueda decir que tiene N-cientas certificaciones le sirve para sacar pecho, lo cual tampoco les viene mal.
  • Se aprenden cosas nuevas: Nadie sale de la carrera convertido en un experto en seguridad informática. Por mucho que hagamos cursos y nos formemos, siempre hay aspectos o temas particulares que se nos pueden escapar. El preparar una certificación de seguridad (casi siempre relacionada con un campo específico) nos fuerza a profundizar en ese campo, afianzando conceptos y mejorando nuestro conocimiento del tema.
  • Se aprende jerga nueva: En muchas certificaciones se estudian conceptos que no son puramente técnicos, pero que ayudan a comprender el negocio de la seguridad. Saber qué entienden los auditores como “apetito del riesgo”, o los gestores de servicios TI como “gestión del cambio” amplia nuestra visión del negocio y ayuda a comprenderlo mejor.
  • Superación personal: El pensar que se controla un tema está muy bien. El pasar una prueba objetiva que demuestre que lo dominas está mucho mejor.

Contras

  • Su valor real es discutible: Se puede aducir que obtener una certificación es similar a estudiarse un libro y pasar un examen, no significando necesariamente que se posea la profundidad de conocimientos implícita en la certificación.
  • El coste es elevado: La mayoría de las certificaciones tienen un coste elevado. Sentarse en el examen suele empezar en 500€, a lo que hay que sumar el material de estudio de la certificación y los (a veces opcionales) cursos de preparación a la certificación.
  • Los exámenes no son adecuados: Aunque hay excepciones, prácticamente todos los exámenes de las certificaciones están compuestos de preguntas con respuesta múltiple (con respuestas discutibles en muchos casos), quedando fuera los ejercicios y los casos prácticos que pueden demostrar realmente el conocimiento del examinado. Y pobre de ti si eliges hacer el examen en castellano, ya que traducir una pregunta ya per se complicada en inglés y hacer que mantenga el espíritu de la misma es a veces imposible.
  • Mantener la certificación es un infierno: Una vez conseguida la certificación, en muchos casos es necesario mantenerla mediante los famosos CPE (Continuing Professional Education), actividades formativas que deben ser realizadas para mantenerse al día en el ámbito de la certificación. Los CPE a priori parecen una buena idea ya que obligan al certificado a reciclarse de forma periódica, pero el trámite burocrático en algunos casos es, por así decirlo, costoso.
  • Si no tienes certificaciones, no eres bueno: Se puede producir un efecto de lógica retorcida que induzca a pensar que “dado que si tienes certificaciones eres bueno, si no las tienes eres malo”, cuando hay profesionales de altísimo nivel que no poseen ni una sola certificación.

Si estás pensando en certificarte, aquí tienes unos cuantos consejos:

  • Decide si necesitas certificarte: Una certificación tiene sus beneficios, pero tiene su coste (tanto en dinero como en tiempo de preparación). Infórmate acerca de la certificación y sobre todo cómo puede ayudar a mejorar tus conocimientos y tu perfil profesional.
  • Entérate de lo demandada que está en España y en el extranjero. Una buena técnica es buscar en Infojobs o Tecnoempleo las ofertas que la piden, para hacerte una idea de cuán solicitada está.
  • Lee bien toda la letra pequeña, sobre todo en lo referente a los requisitos de acceso (en algunos casos hay que tener experiencia previa certificable), si es obligatorio hacer un curso preparatorio y lo que hay que hacer para mantenerla. Tampoco está de menos saber cuándo y dónde se pueden hacer los exámenes (algunas certificaciones tienen fechas fijas y solo se pueden hacer en Madrid/Barcelona, mientras que otras se pueden hacer todo el año en centros autorizados en casi todas las comunidades).
  • Plantéate si estás preparado: Una certificación al fin y al cabo es un examen, por lo que hay que llevar la materia bien preparada. Y dado que sentarse al examen cuesta un dinero, evalúa si tienes los conocimientos necesarios para superarla a la primera.
  • Intenta que la pague tu empresa: Al final la certificación viene bien a tu empresa, y cuenta como formación, por lo que intenta convencer a tu jefe para que corra a cuenta de la empresa (en algunas consultoras curiosamente te pagan pero casi obligan a que te saques una certificación al año hasta tener las X decididas como óptimas). Otra opción es que te dejen tiempo para prepararla dentro de tu jornada laboral (en alguna empresa se montan hasta grupos de estudio).
  • Hazte con un buen material de estudio: Muchas certificaciones tienen guías oficiales, o libros que aglutinan el temario y lo explican de forma coherente y completa. Entérate de qué material de estudio es el mejor para cada certificación.
  • Cuidado con los dumps: Dado que casi todos los exámenes son de preguntas con respuesta múltiple, y que en muchos casos se reutilizan preguntas, es posible encontrar en Internet dumps (recopilaciones de preguntas de otros años y/o de pruebas). Algunos sitios de Internet aseguran tener “todas las preguntas” del año, para que solo tengas que estudiarte las respuestas y pasar así el examen (sic). Mucho cuidado con estos dumps, porque las preguntas cambian cada año y en muchos casos las respuestas son erróneas.
  • Planifícate: Una certificación acaba siendo como una carrera. Decide cuánto entrenamiento necesitas, y hazle el hueco necesario en tu día a día. Meterte entre pecho y espalda 20 temas en un fin de semana no es la mejor forma de aprobar.
  • Si apruebas, haz el papeleo cuanto antes: Si superas el examen, el trabajo no ha terminado. Toca hacer todo el papeleo administrativo (acreditar años de experiencia, adjuntar fotocopias de títulos, recoger firmas de jefes, etc…). Cuanto antes lo hagas antes te lo quitarás de encima, aparte de que te evitarás posibles problemas (como tener que pedirle una firma a un antiguo jefe, algo que aquí puede costar lo suyo).

En mi opinión personal, las certificaciones de seguridad aportan valor… pero podrían aportar más. Exámenes con un contenido práctico más elevado (aunque hay algunas que sí lo tienen, son la excepción) y con un temario moderno y actualizado año a año probablemente incrementarían su dificultad (tanto de hacerlo como de corregirlo), pero haría que fueran mejor valoradas por la comunidad.

Y por supuesto, es necesaria la aplicación general del sentido común (también conocido por ser el menos común de los sentidos) y una buena dosis de humildad. El tener una firma de correo con dos líneas de cargos más otra línea de certificaciones no te convierte automáticamente en el rey del mambo. Y si te presentas en según qué ambientes como “Pepe Palotes, Cert1, Cert2, Cert3” estás cogiendo boletos para hacer el ridículo.

De la misma forma, aunque seas un “L33T Haxxor” que reniegas de las certificaciones cual Linus Torvalds de Microsoft, tampoco es de recibo llamar “corporate bitch” a alguien que sí que las tenga.

Tanto si estamos a favor como en contra de las certificaciones de seguridad, no se puede negar que son un aspecto a tener en cuenta en la realidad actual de la seguridad informática. Lo mejor que podemos hacer es… convivir con ella.

[Full disclosure: El autor posee las certificaciones CISA, CISM, CISSP, CHFI, CCSK e ITILv3f].

¿Automóviles vulnerables a ciberataques? (I)

Continuando con los interesantes posts de “Coche demasiado inteligente” que escribió Raúl Verdú (I y II), voy a aportar mis conocimientos y experiencia en el sector de la automoción para ampliar más la información sobre el tema. Vamos primero a ponernos en situación, y en la segunda entrada pasaremos a ver los vectores de ataque.

Todavía recuerdo el tiempo que pasé trabajando en Nissan (Barcelona) como ingeniero de calibración de motores de combustión interna. Básicamente los ingenieros modificábamos y mejorábamos parámetros en calibraciones (variables calibrables) con la finalidad de obtener una respuesta o resultado en el funcionamiento del motor y de la conducción del coche en general. Digamos que modificábamos las “neuronas del cerebro” del vehículo para optimizar su sistema de locomoción, así como mejorar sus prestaciones. Los coches utilizan cada vez más componentes electrónicos pensados para mejorar el rendimiento, la seguridad y la comodidad de los usuarios. La mayoría de dichas funcionalidades implica procesar distintos tipos de señales del vehículo y coordinarlas en tiempo real, por lo que es necesario disponer de sensores que proporcionen los datos, unidades que se encarguen de procesarlos (Electronic Control Units o ECUs, ”cerebros”) y una forma de comunicación entre todas ellas (a través de uno o varios buses de datos mediante el Standard Controller Area Network o CAN). Un coche actual tiene docenas de ECUs, dependiendo del modelo, fabricante y versión.

Cuando era ingeniero de calibración en Nissan, utilizaba un cable “Diag 3” con puerto USB con el que me conectaba desde mi portátil a la ECU (normalmente llamada ETK en el sector de la automoción) de un coche de pruebas. Lógicamente, esta ECU era “abierta” (reprogramable, con conexión adicional para pruebas e instrumentación). Para reprogramarla utilizaba una aplicación suministrada por Bosch (famoso fabricante de ECU’s), y para conectarme y hacer cambios en la calibración en tiempo real, un programa desarrollado por el grupo ETAS llamado INCA (famoso gestor de calibraciones). Como anécdota para los informáticos os contaré que cuando yo estaba en Nissan, INCA solo funcionaba con el sistema operativo Windows XP, y con todas sus vulnerabilidades…. Estos industriales y sus equipos expuestos a ciberataques… ;)

[Read more…]