Hoy es el día que he decidido comenzar mis vacaciones. Ha sido un año intenso en todos los sentidos, y desde que comenzó no he dejado de trabajar ni una semana. No he tenido vacaciones ni he descansado nada. Es verdad que tenía muchas cosas en las que centrarme, pero lo cierto es que se han tomado casi todos los días de mi año y puedo contar con los dedos de una mano los días que he estado en algo parecido a descansar. Ya me toca comenzar un periodo de Desconexión Invernal.
Figura 1: Desconexión Invernal
Como el año pasado, he decidido que la mejor forma de hacerlo es desconectar de mi vida digital durante un rato y centrarme en actividades del mundo físico. Así que voy a ver cómo me organizo para nadar, patinar, esquiar o montar en bici. Escuchar música, y olvidarme del ruido digital y laboral para ocuparme cosas de mi vida personal y no profesional. Voy a ver si encuentro un poco de conexión entre lo que hago y lo que es bueno para mí.
Aún tengo alguna cosa que hacer en mi trabajo, con compromisos ineludibles de mis responsabilidades que me van a obligar estar un poco atento, pero serán solo esos que ya tengo grabados a fuego en su slot de tiempo, y el resto de este periodo estaré off. No contestar e-mail, no responder mensajes de ningún tipo, no publicar en blog, no publicar en las redes sociales. Un poco de desconexión de mi “yo” online para conectar un poco más con mi “yo” offline.
Volveré en Enero, después del día de Reyes Magos o por ahí, según me apetezca, y tendréis algún artículo publicado en el blog a lo largo de estas Navidades que ya he dejado programado, pero el resto del tiempo el volumen de actividad bajará mucho por decisión propia, así que no os extrañéis y no os preocupéis por mí. Solo voy a comenzar un pequeño periodo de Desconexión Invernal.
Desde el área de Operaciones y Gestión de Seguridad de la Información, hemos abierto unas becas Talentum para seleccionar a un grupo de jóvenes que quieran venirse a pasar unos meses aprendiendo y trabajando en nuestros equipos de seguridad de información, y hoy es el último día para solicitar participar, así que no lo dejes pasar.
Figura 1: Becas Talentum en Seguridad de la Información
Las pruebas tienen una primera fase online que se cerrará hoy domingo a las 12:00 de la noche, así que si quieres participar debes hacerlo ahora. Los requisitos para participar los tenéis en la convocatoria de las mismas, que os dejo en el siguiente enlace: Becas Talentum en Fundación SEPI.
Figura 2: Becas Talentum abiertas hasta hoy mismo
Como os he dicho, un equipo de estas becas se vendrá directamente con nosotros al área de seguridad, a la parte de gestión y operaciones de seguridad, así que os garantizo que serán unos meses intensos haciendo muchas cosas con seguridad.
Para poder aprovechar esta capacidad tendremos que disponer de un plugin que permita el uso de TOTP como doble factor de autenticación. En nuestro caso utilizaremos el plugin de Two Factor Authentication. Para instalar este plugin iremos al apartado “plugins” de nuestra cuenta y seleccionaremos “Añadir nuevo”, usaremos el buscador para encontrar el plugin y lo instalaremos para después activarlo.
A continuación entraremos en el apartado “Two Factor Auth” de nuestro menú, donde podremos observar distintas opciones de configuración.
Figura 5: Configuración del Plugin de Two Factor Authentication
En la parte inferior tenemos los ajustes avanzados, donde nos aseguraremos de que la opción TOTP este activada.
Figura 6: Activación del plugin
Después procederemos al escaneo del código QR con la aplicación de Latch para añadir el nuevo servicio que queremos proteger.
Figura 7: Configuración de la protección TOTP en la cuenta
Una vez lo hayamos hecho nos dirigiremos a la parte superior de la ventana y activaremos la protección pulsando sobre “Enabled” y después sobre “Guardar Cambios”.
Configurando Latch Cloud TOTP
Arrancamos nuestra app de Latch con la última versión, donde disponemos de la funcionalidad Cloud TOTP. Nos vamos a añadir un nuevo servicio con Latch y veremos dos opciones como son 'Parear con Latch', que es nuestra funcionalidad clásica, y 'Proteger con Cloud TOTP'. Debemos pulsar esta última.
Figura 8: Configuración de Latch Cloud TOTP en la app
Al pulsar sobre 'Proteger con Cloud TOTP', Latch mostrará la cámara del dispositivo para que podamos escanear el código QR que Two Factor Authenticator nos presentó anteriormente. En el momento que lo hagamos o introduzcamos los datos de la semilla "seed" manualmente, Latch nos indicará que hay un nuevo servicio, tal y como se puede ver en la imagen inferior. Una vez que se nos muestra este mensaje, tendremos protegida nuestra cuenta de WordPress con Latch Cloud TOTP.
Iniciando sesión con Latch Cloud TOTP en Wordpress
Ahora, nos dirigimos al login de Wordpress e introducimos nuestro usuario y contraseña. Una vez validado, el sistema de login nos solicitará información sobre el código TOTP, tal y como se puede ver en la imagen siguiente. El segundo factor de autenticación está correctamente configurado en la cuenta de WordPress y podremos utilizar nuestro Latch para acceder a ese valor haciendo clic en la opción de PIN.
Figura 9: Login de WordPress protegido con TOTP
En nuestra aplicación de Latch debemos disponer de una entrada Latch Cloud TOTP que tenga el mismo nombre del servicio (en este caso localhost/wordpress) y generando tokens para la cuenta de WordPress que hayamos integrado con TOTP. Hay un botón, en dicha fila, con la palabra 'Pin' que deberemos pulsar para que nos genere un TOTP que será válido durante un breve período de tiempo (30 segundos), tal y como nos indica el pequeño reloj que aparece junto al token.
Figura 10: Latch Cloud TOTP token para la cuenta de WordPress
No dudéis en configurar los segundos factores de autenticación en todas las cuentas de los servicios que utilicéis, siempre que lo soporten. Hoy en día es un factor vital para fortalecer el uso de las identidades digitales de forma segura.
Más recursos de fortificación de WordPress
Como punto final, os dejo una lista de recursos que os pueden venir bien si estáis administrando un WordPress o queréis aprender cómo fortificarlo de verdad. Estos son libros, vídeos, papers y artículos publicados que os pueden ayudar.
Por último, como se puede ver en la lista de recursos, es posible jugar con Latch para proteger WordPress de muchas maneras como Latch en las cuentas, Latch Cloud TOTP en las cuentas, Latch como 2FA de las tablas para configurar el Modo Paranoico o Latch para controlar varios WordPress. Pero si tienes una idea para Latch, recuerda que puedes ganar 5.000 USD con el concurso de plugins de Latch de este año. Y si quieres ayuda, puedes contactar con todos nosotros en la Comunidad de ElevenPaths.
Desde hoy está disponible a la venta un nuevo libro de 0xWord centrado en la seguridad de los Sistemas Industriales y las Infraestructuras Críticas. Es el número 43 de la colección, y en esta ocasión la temática elegida ha sido una de las más importantes en la corriente de Industria 4.0 que se nos viene hoy encima.
Su autor es Juan Francisco Bolívar, y ha volcado su experiencia en la auditoría de estos sistemas para explicar cómo se auditan sistemas PLCs a través de los diferentes interfaces de acceso, cómo funcionan los protocolos HMI o cuál es la arquitectura de los sistemas SCADA que se implantan en muchas fábricas automatizadas a diferentes niveles.
El libro se centra en explicar las tecnologías que forman parte habitualmente de los sistemas industriales, cuáles son sus protocolos y sistemas, para después pasar a explicar cómo se pueden localizar los objetivos, cuáles son las herramientas necesarias para realizar una auditoría de seguridad y termina dando buenas prácticas y recomendaciones para la fortificación de los mismos. Os he subido el índice del libro a mi SlideShare.
La portada es obra de Rodol, que como veis se ha lucido con el diseñado haciendo una de las que a mí personalmente más me han gustado. Una pieza preciosa para mi colección particular de libros.
Hoy quería aprovechar para dejaros un paper que me han llamado la atención sobre cómo perfilar quién y cómo eres a través de tu smartphone utilizando técnicas forenses. Me ha llamado la atención porque a diferencia de lo que pensaba el paper no tiene nada que ver con analizar los datos dentro del terminal sino de analizar los productos que tus manos dejan al tocarlo. El artículo se titula "Lifestyle chemistries from phones for individual profiling".
Figura 1: Lávate las manos antes de tocar tu smartphone o el equipo C.S.I. sabrá cómo eres
Cada contacto deja restos, y las cosas que vas tocando en tu vida van quedando latentes en tus manos, pero además tus manos son parte de tu cuerpo, y algunos de los productos químicos que están dentro de ti, como aquellos tomados por tratamientos médicos especiales, pueden aparecer en tu piel, lo que hará que tal vez terminen en un terminal al tocar la pantalla táctil.
El paper lo que ha tratado de investigar es si se podía clasificar a una persona a partir de los restos químicos que quedan en un terminal, lo que podría ser una nueva forma en el futuro de hacer un perfilado rápido de las personas - al estilo que hacen los controles de aeropuerto cuando te capturan muestras de sudor o sustancias en una maleta o un pantalón -.
Figura 3: Captura de datos de diferentes voluntarios usando diferentes terminales móviles
En la muestra se han utilizado diferentes tipos de personas voluntarias, que han utilizado diferentes tipos de terminales con diferentes tipos de pantallas, que han sido analizados durante distintos momentos, que ha sido analizado para generar análisis de qué muestras y en qué ubicaciones de la pantalla se han descubierto esos restos químicos.
Figura 4: Proceso de análisis y atribución de terminal y estilo de vida
Con estas muestras se ha podido analizar los restos químicos del "estilo de vida", es decir, de las cosas en su día a día que una persona ha hecho. Además se ha hecho un análisis espacial para poder inferir la geometría y tamaño de la mano derecha del voluntario.
Figura 5: Restos químicos que apuntan a diferentes elementos del "estilo de vida"
Para saber el estilo de vida se han analizado los restos moleculares para localizar aquellos que aparecen en algún tipo concreto de producto de belleza, medicamento o alimento, con el fin de poder realizar un perfilado del voluntario.
Figura 6: Perfilado de voluntarios con su estilo de vida
Al final, el análisis final del trabajo consigue unir el estilo de vida, con el terminal móvil y la persona gracias a haber realizado un estudio espacial de la mano de cada uno de los voluntarios, lo que lleva a una identificación bastante concreta de cada uno de los que participaron en este experimento.
Figura 8: Atribución de personas por la geometría de su mano
Al final, el consejo de tu madre de lavarse las manos es muy importante, pero vamos a tener que empezar a trabajar con guantes al estilo Gattaca para no dejar nuestro perfilado completo en el terminal. O tal vez el próximo sensor que tenga el iPhone 8 o los nuevos Android sean sensores para acceder a tus muestras químicas de las pantallas y te pedirán permiso para acceder a él y poder perfilarte mejor para tener "better ads".
Mañana comienza el mes de Diciembre, y todo está ya organizado y planificado para llegar a 2017. Quedan reuniones, algunos actos, pero mi agenda de actividades está bastante cerrada ya y no creo que se mueva mucho, así que lo único que añadiré será algo de deporte y tiempo libre, que ya va tocando. Os hago un resumen de las cosas que quedan.
Figura 1: Y de aquí a fin de año...
Hoy es un día ajetreado, porque yo tengo primero que estar en una vídeo conferencia en el evento Reinvéntate en Girona, y luego entraré también por vídeo conferencia en el foro empleo de mi Escuela Universitaria de la UPM y veré si puedo pasarme por la Gala de los premios One Magazine que tiene lugar esta noche. Además, hoy estarán mis compañeros en el Forum F5 hablando de Faast y Virtual Patching.
Para mí, las actividades de hoy, con casi total seguridad, serán lo último que haga públicamente hasta el año que viene. Sin embargo, hay actividades que puedes hacer Online aún hasta que se vaya el 2016 que os dejo por aquí.
ElevenPaths Talks
Tenemos tres sesiones - totalmente gratuitas - que hemos dejado para el final que además son de lo más interesante. La primera de ellas de nuestro compañero Diego Espitia que hablará el día 1 de Diciembre sobre (IN)Seguridad en iOS para ver cuáles son los principales problemas de seguridad, privacidad y la forma en la que se dan en los terminales iPhone e iPad. Si te has leído nuestra 2ª Edición del libro de Hacking iOS seguro que te haces una idea. Será mañana por la tarde.
Las otras tres actividades que quedan online tienen que ver con el comienzo de tres cursos en The Security Sentinel en los que se va a entregar como material los libros de 0xWord. El primero de ellos comienza esta misma tarde y está dedicado a las Auditorías Móviles, así que es un buen complemento para las dos primeras ElevenPaths Talks de este mes. Los alumnos recibirán como material el citado libro de Hacking iOS 2ª Edición. En este curso se ve desde el análisis forense, hasta la auditoría de seguridad de las apps del sistema. Tienes más información en la web del mismo: Curso Online de Auditorías Móviles.
El segundo de los cursos online, que dará comienzo el próximo día 8 de Diciembre, está centrado en la Seguridad de Redes. En este curso - que dura 8 semanas - se entrega como material de apoyo nuestro libro de Ataques en Redes de Datos IPv4&IPv6, donde entre otras materias se aprende a manejar en detalle la Evil FOCA que presentamos hace ya varios años en DefCON 21. Tienes más información de este curso en la web: Curso Online de Seguridad en Redes.
Figura 5: Fear the Evil FOCA - DEFCON 21
Por último, hasta el día 21 de Diciembre tienes la oportunidad de comenzar un curso online de 8 semanas dedicado al mundo del hacking ético. Como material de apoyo aquí se entregan los libros de Metasploit para Pentesters y Pentesting con FOCA, para que puedas conocer los principios, las herramientas y cómo sacarles partido, en proyectos de hacking ético. Tienes más información en la web del curso: Curso Online de Hacking Ético.
Y esto será todo. Yo no creo que haga nada más este año, salvo descansar un rato si la vida me deja, así que si queréis formaros lo máximo para comenzar 2017 un poco más preparados, aquí tenéis oportunidades para ello.
Fortificar un sistema puede ser algo difícil hoy día. Seguir buenas prácticas, cumplir con los requisitos de Mínimo Privilegio Possible, Mínima Superficie de Exposición, y Defensa en Profundidad proteger la confidencialidad, la integridad y la disponibilidad de la información exige mucho trabajo, que va desde proteger las identidades digitales, utilizar segundos factores de autenticación a un largo etcétera de condiciones que debemos cumplir para constituir un ecosistema lo más seguro posible. Los SysAdmin lo tienen difícil, pero la protección de activos es un trabajo interesante, a la par de constructivo.
Figura 1: My SSH in Paranoid Mode: Port-Knocking + Latch + Latch Cloud TOTP ( + Latch)
En muchas ocasiones, los servicios deben estar expuestos, es decir, éstos tienen que estar disponibles en cualquier instante. Por ejemplo, un servidor web debe encontrarse 24x7 disponible. Por otro lado, los denominados servicios de gestión o de administración pueden tener una exposición menor, aunque, generalmente, los tengamos expuestos el mismo número de tiempo. Por ejemplo, un servicio SSH, FTP o, incluso, una VPN, pueden ser servicios críticos para la gestión de una compañía que no deberían estar expuestos el 100% del tiempo, y sí solo cuando se utilicen, ya que su exposición pone en riesgo gran parte de la organización. Este hecho puede quedar confirmado con SSHowDown Attack y las repercusiones mundiales que esto tuvo.
Figura 2: Ataques contra SSH en un log de una semana
Tal y como se puede ver en el artículo SSH Brute Force – The 10 Year Old Attack That Still Persists, no es nueva la existencia de bots que se encargan de realizar ataques de fuerza bruta sobre servicios SSH expuestos en Internet, ya sea para conseguir el acceso al sistema o simplemente para extraer una lista de usuarios en base a un bug, como vimos con el ejemplo del Time-Based Info-Leak de OpenSSH. Todo esto se reduciría, si el servicio de gestión solo estuviera expuesto durante el tiempo necesario, es decir, que se levante o cierre a petición para conseguir aplicar la Mínima Superficie de Exposicíon.
Port-Knocking & Latch
El Port-Knocking es una solución conocida, la cual permite minimizar el tiempo de exposición de un servicio. Imagina que un administrador de sistemas quiere acceder al menos una vez al día por SSH a sus sistemas para comprobar que todo está correctamente o realizar cualquier otra gestión. El administrador no quiere que el servicio SSH esté expuesto constantemente. Las técnicas de Port-Knocking le permiten configurar la posibilidad de utilizar un puerto no Well-Known para "tras golpear" el puerto conseguir que el servicio SSH esté accesible desde Internet.
Figura 3: Descripción del proceso de Port-Knocking
En otras palabras, el puerto 22 de SSH se encontrará cerrado, pero cuando el administrador envíe, por ejemplo, un paquete TCP a un puerto concreto será la señal necesaria para activar el servicio SSH en el puerto 22. El puerto 22 de SSH solo estará abierto mientras dure la conexión del administrador de sistemas. Una vez se cierre dicha conexión, de nuevo el puerto quedará oculto. Esto es interesante, ya que el nivel de exposición queda rebajado al mínimo.
El pasado mes de Enero, escribí un artículo en el blog de ElevenPaths explicando e implementando esto integrado con Latch como factor de autorización, lo que llamamos SSH en Modo Paranoia. El Port-Knocking era utilizado como un primer factor de autenticación para la habilitación del servicio SSH. Para ello, se utiliza el valor de la dirección IP de origen y el valor del puerto como si fueran una sola clave. En otras palabras, crearemos una aplicación que estará sniffando todo el tráfico que llega a la máquina y cuando la dirección IP origen y el puerto sean iguales a lo buscado se habrá pasado correctamente el primer factor.
Figura 4: Descripción del proceso de Port-Knocking & Latch
Una vez es validado que la dirección IP y el puerto son los esperados, por ejemplo, dirección IP8.8.8.8 y puerto 9000, se activa el servicio SSH. Pero esto dejaba a merced de cualquier usuario malintencionado que quisiera jugar con nuestro SSH, la posibilidad de capturarnos el paquete de IPSpoofing y poder levantar nuestro servicio. Por esta razón, se decide meter un segundo factor de autorización, basado en Latch.
Figura 5: Demo de Latch protegiendo la apertura de un proceso de port-knocking
Cuando el sistema que estamos montando recibe un paquete TCP con las condiciones apropiadas, nuestro sistema consultará el estado del cerrojo o del Latch asociado a la aplicación. En caso de que el cerrojo esté cerrado, el sistema no levantara el servicio SSH, pero si el cerrojo está abierto, significa que estamos autorizando el arranque del servicio SSH, ya que se han cumplido estas dos condiciones.
SSH y Latch Cloud TOTP
Aún podemos fortificar un poco más el uso del servicio SSH. Nuestro compañero Diego Samuel Espitía escribió un artículo sobre Cómo integrar Latch Cloud TOTP en un servicio SSH. En primer lugar, es importante tener instalado en el sistema la librería libpam-google-authenticator, la cual puede instalarse a través de apt-get install.
El proceso para llevar a cabo el intercambio de semilla es fácil: ejecutar la instrucción google-authenticator en el terminal. Esto generará un gran QRCode, el cual debe ser leído con la aplicación de Latch.
Figura 6: Google Authenticator en Terminal
Desde Latch hay que ir a añadir servicio y pulsar sobre ‘Proteger con Cloud TOTP’. Esto hará que tengamos que leer el QRCode anterior, con la aplicación de Latch. Una vez es reconocido el QRCode, se tendrá listo Latch Cloud TOTP para utilizarlo con nuestro servicio SSH.
Figura 7: Latch Cloud TOTP para SSH configurado
Una vez, se generó el QRCode, se puede leer la siguiente información, dónde se almacenará el secreto, el tiempo de refresco, las limitaciones de login, etcétera.
Figura 8: Configuración final de Authenticator
Ahora, hay que configurar la autenticación con el TOTP en el servicio SSH. Para ello, vamos al fichero de configuración de PAM y añadimos esta línea auth required pam_google_authenticator.so. El fichero de configuración se encuentra en /etc/pam.d/sshd.
Figura 9: Autenticación en SSH con Latch Cloud TOTP como 2FA
Hay que tener en cuenta que la línea debe ser introducida en la primera línea.
Una vez hecho esto, hay que modificar una directiva del servicio SSH, por lo que para ello debemos editar el fichero /etc/ssh/sshd_config. Buscamos la directiva ChallengeResponseAuthentication y la ponemos a yes. Veremos algo así. Primero nos pide el TOTP y, posteriormente, la clave del usuario.
PoC: Ejemplo final
Al final en este entorno tenemos lo siguiente:
1. Un servicio escrito en Ruby, el cual monitoriza cualquier paquete que llega al equipo y busca una serie de circunstancias en un paquete, como son la dirección IP de origen, el puerto destino y que el flag TCP de SYN esté habilitado. Esto provoca que el sistema sepa que se quiere levantar el servicio SSH, a modo de Port-Knocking.
2. Una vez llega el paquete “clave”, nuestro servicio escrito en Ruby comprobará el estado de Latch. Si el cerrojo se encuentra abierto, se levantará el servicio SSH de cara al exterior, comenzando el tiempo de exposición del servicio de gestión.
3. El usuario se tendrá que conectar por SSH al servicio y se le solicitará el usuario y contraseña, o autenticación de clave pública, en función de lo que esté configurado y, además, un token TOTP, el cual estaremos generando con Latch Cloud TOTP.
Figura 10: Demo de Port-Knocking + Latch Cloud TOTP & Aut + Lath como 2FA
Y aún podríamos ir más allá. Por supuesto, una vez autenticado el usuario con su clave y su Latch Cloud TOTP, aún podríamos añadir Latch para SSH (UNIX) para autorizar el proceso de Login, lo que dejaría el sistema con un proceso de autorización extra después de autenticar al usuario correctamente. Esto, que parece una vuelta de tuerca excesiva, sería útil para entornos en los que se estuviera controlando el uso de cuentas administrativas para mejorar la seguridad.
Paso 1: Por ejemplo, el Latch del sistema de Port-Knocking podría ser controlado por un daemon que verificara los horarios de trabajo y que abriera o cerrara el Latch en función de si es horario de trabajo o no, para permitir que el servicio SSH estuviera expuesto o no en Internet para todos los administradores.
Paso 2: Después, un administrador del sistema pediría conexión mediante una petición de Port-Knocking y se autenticaría con sus credenciales y el segundo factor de autenticación basado en Latch Cloud TOTP.
Paso 3: Por último, el supervisor del sistema autorizaría o no esa conexión concreta para ese usuario administrador concreto con un Latch en SSH asociado a la cuenta, lo que permitiría establecer procesos de Verificación de cuatro ojos o Activación con dos llaves.
Figura 12: Configuración Latch para UNIX & SSH en GNU/Linux
Como se puede ver, a la hora de fortificar un sistema, tenemos múltiples elementos de seguridad y distintas capas, que nos pueden ayudar a que la Superficie de Exposición sea Mínima y que tengamos Defensa en Profundidad, lo que hacemos utilizando varios factores de autenticación, tanto en el propio servicio SSH, como en el levantamiento del servicio.
El lunes día 28 de Noviembre, desde las 00:00 hasta las 23:59 durante todo el lunes, estará funcionando el último código descuento que vas a poder utilizar este año 2016 para adquirir material de 0xWord, así que si quieres que lleguen algunos de estos libros antes del 25 de Diciembre o 6 de Enero con algún descuento, es tu momento.
Además, como siempre, también es válido para los packs oferta de 0xWord, por lo que puedes ahorrar aún más. También puedes comprar y solicitar la opción de recoger en tienda - solo en Móstoles - por lo que lo no tendrías ningún costo de gastos de envío.
Al final, con una infraestructura expuesta a Internet tan grande como la que tiene una empresa como Microsoft, la posibilidad de que algún código en algún rincón de todo el dominio se vea afectado por un bug es muy alta.
Figura 3: XSS Reflejado por GET en My Trending Hub de Microsoft.com
Al final, una actualización de un developer que no pasa por un escaneo de vulnerabilidades, un cambio en la configuración de un sistema, el descubrimiento de una nueva forma de hacer un ataque o el cambio en algún componente del software base que es actualizado, hacen que puedan aparecer los fallos. Es por eso que la visión que yo tenía hace tres años era que el pentesting debía ser persistente y contemplado desde la fase de diseño del sistema.
Figura 4: XSS Reflejado por POST en My Trending Hub de Microsoft.com
En el caso de Microsoft.com han aparecido varios XSS Reflejados, por POST y por GET, algunos HTML Injection que probamos con este precioso Ataque David Hasselhoff, pero a estos hay que sumar el SSRF (Server-Side Request Forgery) que consideraban una feature, o una gran cantidad de "debilidades" de seguridad que van desde ficheros perdidos hasta copias de backup de URLs, sistemas de login sin HTTPs, Apache Tomcat por defecto expuestos a Internet o bugs de IIS Short name en sus dominios.
Figura 5: HTML Injection con Ataque David Hasselhoff en My Trending Hub de Microsoft.com
Reportar a Microsoft un bug de HTML Injection con un Ataque David Hasselhoff es solo porque en ElevenPaths es una de las "bromas" más utilizadas para concienciar a la gente de que debe cerrar sesión cuando se levanta de su puesto. Aquí tenemos a nuestro compañero Sergio de los Santos aleccionando a uno de sus compis hace mucho tiempo en Hispasec.... Y esperamos que al ingeniero de Microsoft que tuvo que investigar esto se le escapara una sonrisa }:)
Figura 6: Ataque David Hasselhoff. Si no lo grabas, no tiene la misma gracia }:)
Es muy complicado en infraestructuras grandes gestionar las vulnerabilidades en base a proyectos de personas que están haciendo hacking ético puntual, esto debe ser permanente y los pentesters deben focalizarse en los bugs que no sean descubiertos de manera automática, por plataformas como Faast, para que la seguridad sea un poco más alta. Al final, un XSS reflejado por GET o un SSRF debería ser descubierto de forma automática, salvo singulares excepciones que deberán caer en manos de pentesters expertos. En el libro de Hacking Web Technologies tratamos estos temas a fondo.
Ayer viernes participé en uno de los eventos de Lo que de verdad importa, en su edición en Madrid. Se trataba de una participación muy pequeña, de solo cinco minutos durante la que debía dar una charla, así que para no salirme del tiempo trabajé durante horas - sí, me llevó como tres horas - cerrar el "discurso", pero no quería tener que improvisar otra vez como cuando me hicieron Embajador Honorífico de mi Universidad y tuve que inventarme El discurso de la servilleta.
Figura 1: "Internet es Genial. Usémoslo bien"
Primero lo escribí en un documento como si fuera un artículo, luego lo leí en voz alta como si lo fuera a pronunciar así para cronometrarme. Cuando estuve satisfecho con el tiempo en que lo hacía, lo pasé a un formato presentación con fondo blanco, texto en mayúsculas y letras grandes para poder hacer un PDF y enviarlo a mi smartphone. Así podría, en el caso de tener atril, leerlo con miradas esporádicas. Para que fuera más fácil destaqué en rojo algunas palabras para que me recordaran de qué iba esa frase fácilmente.
Figura 2: El discurso en 19 páginas para llevar de "chuleta"
Después se lo envié a un compañero de comunicación para que me validara el mensaje y cuando lo hizo, me fui para el evento con una hora de tiempo para verificar el escenario, las medidas técnicas y el orden en que iba a entrar. Cuando llegué descubrí que no tenía atril, así que me hice una lista esquema del orden de los temas en que tenía que contar las diapositivas y la memoricé. Y luego di la charla en el auditorio del Palacio Municipal de Congresos de Madrid Sobre el escenario se pierde la vista con el tamaño que tiene, lo que hace que también se pierda la noción de la realidad y hasta cualquier cosa.
Figura 3: Esquema para recordar el contenido de las 19 "chuletas"
No la di exactamente igual a como la escribí, y cambié un poco el orden al final de las cosas, pero conseguí contar lo que quería contar en el tiempo más o menos que tenía listo. Eso sí, al final tuve que trabajar mucho más para una charla de 5 minutos que para una de una hora, pero ya sabéis que si breve... Este es el texto que escribí para dar la conferencia, y cuando la tenga la subiré a mi canal Youtube.
Figura 4: Comienzo de la charla en Lo que de verdad importa
Internet es Genial: Usémoslo bien
"Nací en el siglo pasado, y aunque me han invitado varias veces a charlas para Millennials, por supuesto, no soy uno de ellos. Fui niño en una época en que la tecnología prometía cosas que entonces sólo eran ciencia ficción, como poder hablar por un teléfono que estuviera desconectado o teletransportarse. Sí, a día de hoy teletransportarse es ciencia ficción para todos, pero para mí, hablar por un teléfono móvil era igual de ciencia ficción entonces. Un tiempo en el que para elegir la película que queríamos ver en el cine al día siguiente, hacíamos una comitiva con los chicos mayores del parque para andar los kilómetros que nos separaban del lugar de proyección y descubrir qué había en la cartelera. Tomábamos nota de las películas y horarios y volvíamos al parque para decidir la película. Me enamoré de la informática siendo un niño de más o menos once o doce años, con una película de Disney llamada TRON en la que los personajes eran programas dentro de una Unidad Central de Procesos que adoraban a sus creadores: Los Programadores. Decidí que quería ser un programador y convencía a mis padres de que me ayudaran a aprender. Tuve un ordenador personal de 8bits, un AMSTRAD, con el que aprendí a programar en BASIC y con el que jugaba en mis ratos libres. Descubrí que en aquellos tiempos la tecnología y la imaginación se mezclaban de forma mágica, pues el muñeco en un juego de fútbol era apenas unos cuantos píxeles de colores que, con los ojos entre-guiñados, te imaginabas que era Butragueño o Maradona. Entré en mi adolescencia al mismo tiempo al que me conectaba a Internet, primero conectándome por teléfono y discutiendo con mis padres por el dinero de las llamadas y dejar a la familia incomunicada, y luego discutiendo por el tiempo que pasaba conectado mediante InfoVía. Y descubrí un nuevo mundo. Un nuevo mundo donde para ver la cartelera ya no había que hacer un camino de dos kilómetros el día antes. Donde se podía acceder a tutoriales escritos por hackers que enseñaban cómo configurar de forma segura un servidor o cómo programar una herramienta. Era un mundo en el que el conocimiento cruzaba los océanos y en el que charlar, jugar o intercambiar ideas estaba a golpe de conectarse a un IRC. Era un mundo genial y divertido en el que el cerebro no paraba de estar estimulado con nuevas cosas. Cosas que cambiaban diariamente. Era genial. Recuerdo que, gracias a esos tutoriales, monté un servidor RRAS (Remote Access Server) para configurar mediante DHCP (Dynamic Host Configuration Protocol) una red con el ordenador de mi compañero y amigo Rodol que hacía que su equipo – que su cabezón - llamara al mío por teléfono. Una vez que la montábamos, jugábamos juntos al Quake durante horas. Era genial. Además, era un mundo no para todos en aquellos entonces. Aún habrían de nacer Facebook, Twitter, Youtube, Instagram, y llegar los populares Angry Birds, Candy Crash, Clash of Clans, League of Legends o Pokemon Go. Aún, Internet era solo para unos pocos porque la tecnología no se había popularizado lo suficiente como para estar al alcance de todos. Pero tenía que lograrse. Internet era genial, y todo el mundo debería y debe disfrutar de lo que ofrece al ser humano. La hiperconectividad, los grandes servicios de contenido, las redes sociales, los juegos online, las plataformas educativas, las vídeo conferencias para hacer los deberes juntos a distancia, la compra online o la información en tiempo real de todo lo que está pasando en el mundo es algo que debe ser para todos. Es imposible no volver atrás la mirada en el tiempo y darse cuenta de que la tecnología es GENIAL. Por desgracia también hemos traído algunas de las peores cosas del ser humano a la red, y con la llegada de avances como la Inteligenica Artifical y los Sistemas Predictivos estamos acercándonos a una frontera que sabíamos que llegaría. La de crear sistemas que tomen decisiones en base a su aprendizaje, y deberemos enseñarles bien, o si no las decisiones que puede tomar pueden acabar siendo nocivas para el ser humano. Tendremos que crear sistemas que conduzcan vehículos que se enfrentarán a decisiones morales cómo el modo de actuar ante una colisión inevitable o los sistemas de inteligencia artificial que gestionen los recursos humanos de una empresa. ¿Qué valores deberemos inducir en estas nuevas tecnologías? También hemos traído a Internet cosas malas, no inherentes tanto a los avances de la tecnología, pero que vienen por desgracia asociadas al ser humano. Hemos traído conductas abusivas, crimen organizado, hemos traído la guerra cibernética, o el acoso. Conductas nocivas y cosas malas hechas por mala gente que han utilizado la tecnología para transformar la forma en la que se presentan y se ejecutan. Es una parte pequeña de todo lo bueno que nos han dado los avances tecnológicos en general e Internet en particular, pero debemos reducir al máximo el impacto de estos en la vida de las personas y hacer que los nuevos avances, como el Big Data, los sistemas de Machine Learning o los sistemas Cognitivos nos ayuden a que las personas vivan mejor gracias a las tecnologías. Las empresas que hacemos tecnología, debemos poner estos valores en cada uno de los servicios que creamos. Debemos dotarlos de toda la transparencia que nos requieran los usuarios, de unos niveles de seguridad que ayuden a que la experiencia del mismo sea confortable y que garantice que todo lo bueno del servicio recaiga en los usuarios y no se vuelva en contra suya. Para todos los que hoy son niños, pre-adolescentes o adolescentes, la tecnología es natural. Han/Habéis nacido con ella y está en vuestro día a día. No os da miedo probar o experimentar con ella. Tenéis unos superpoderes innatos de gran valor. Pero yo os voy a pedir dos cosas: La primera es que, uséis la tecnología para el bien de todos. Que no seáis tolerantes con las acciones nocivas en Internet. Que no consintáis el acoso en los grupos privados de WhatsApp o Redes Sociales en los que por desgracia se produce cyberbullying muchas veces, y que aprendáis a gestionar vuestra privacidad y seguridad en la red. No se lo pongáis fácil a los malos. La segunda es que seáis hackers. Hackers en el sentido en que lo entendemos nosotros, en el sentido de llevar la tecnología más allá. Hackers en el sentido de crear nuevas cosas con la tecnología. Que no seáis meros consumidores y queráis ser creadores de tecnología. Aprended cómo es la tecnología, entendedla y hacerla vuestra. Transformad vuestro mundo como los que crearon Internet transformaron el suyo."