#rooted2015 pizzas!!! pic.twitter.com/mmLCCcIqQH
— Agux (@Agux_) marzo 7, 2015
La #rooted2015 ha finalizado. Un año más : enhorabuena!! El año que viene, volvemos! pic.twitter.com/xQi76XfLHw
— Agux (@Agux_) marzo 7, 2015
Este el blog de Agux. Aquí se mostrarán las investigaciones que vaya realizando: seguridad, hácking ético, sistemas, programación. Un lugar donde todos podremos aprender con todos.
#rooted2015 pizzas!!! pic.twitter.com/mmLCCcIqQH
— Agux (@Agux_) marzo 7, 2015
La #rooted2015 ha finalizado. Un año más : enhorabuena!! El año que viene, volvemos! pic.twitter.com/xQi76XfLHw
— Agux (@Agux_) marzo 7, 2015
Hoy viernes, de nuevo a la RootedCon 2015. Podemos destacar que hoy nos han hecho unas cuantas PoCs más que ayer.
Antes de la primera ponencia, Román nos ha hablado de la asocicación ANSI (Asociación Nacional para la Seguridad de la Información), para intentar hace un poco de lobby y que se hagan leyes coherentes relacionadas con la seguridad informática.
La primera ponencia la ha hecho Alfonso Muñoz (@mindcrypt), en el que nos ha contado su investigación sobre esteganografía aplicada al market de Google y a las aplicaciones publicadas. Además de hacer pruebas de enviar imágenes con esteganografía (.jpg y .png), también se ha descargado una buena muestra de éstas, y las ha analizado para saber si se escondían cosas, como código maligno, texto, etc... Nos ha hablado de diversas técnicas muy conocidas, como el famoso bit menos significativo. De hecho, parece ser que en el caso de los .jpg, aparecen problemas bastante conocidos en este blog, como cuando me cambiaron las imágenes del reto que monté. Nos ha comentado que estadisticamente, las aplicaciones con más permisos... son la que tienen menos probabilidad de ser (o contener) código malicioso. O las que tienen una descripción muy pobre también tienen más papeletas de serlo. De hecho, otra forma de ocultar este tipo de código se encuentra en la carpeta de resources de estas aplicaciones. Incluso se ha encontrado con que hay aplicaciones que se descargan bases de datos... que contenían recetas de hachís escritas en turco.
La siguiente charla la ha dado Carmen Torrano (@ctorranog), que nos ha contado su estudio para la tesis que está haciendo sobre WAFs (Web Application Firewalls). Estas aplicaciones tratan de comprobar que toda la información que recibe una aplicación web es inocua o, en caso contrario, muestra al usuario algún mensaje de error. Los motores de estas aplicaciones pueden trabajar de distintas formas: con métodos estadísticos (o ¿estohastico?), que es el que hay que enseñarle previamente para que sepa qué tiene que filtrar y qué no. Otra posibilidad es trabajar con "machine learning". Este método tiene una fase de pre-carga: que nos lo ha llamado "feature learning" y "feature selection". Para, más adelante, el momento de procesamiento. Al final, lo que propone es hacer una mezcla de ambos métodos, en los que ha obtenido, con los datos con los que ha trabajado, mejores resultados.
Tras el desayuno, hemos tenido a Abel Valero (@sanguinawer) nos ha hablado de cómo, después de perder unos vídeos de WebEx que tenía cacheados en su disco duro, pudo recuperarlos poco a poco, tirando de software de recuperación de datos y, más adelante, ir haciendo un poco de reversing de las cabeceras de inicio y fin de fichero. ¿Cómo lo hizo? A partir de unos ficheros que tenían estructura de .wav y con Radare2, entre otras herramientas. Al final, a partir de un poco de código, consiguió añadir los datos necesarios de cabecera para poder reproducir los ficheros correctamente.
Julián Vilas (@julianvilas), nos ha hablado de las distintas vulnerabilidades que se le encontraron a Struts, tanto la primera versión (que no sabía que se había discontinuado en el 2013) como la versión 2. Entre otros problemas, se ha hablado del CVE-2014-0114. Y de los distintos parches que se le fueron añadiendo a lo largo de los años para parchear cosas que el anterior parche tendría que haber parch... solucionado. Una de las cosas que no ha comentado ha sido la posibilidad de llamar a métodos muy empleados en la reflexión, tales como el getClass y sus submetodos, permitiendo setear datos, como, por ejemplo, URIs erroneas.
Ricardo Rodriguez (@RicardoJRdez) y José Vila (@cgvwzq) nos han hablado de la posibilidad de crearse una pasarela con dos móviles de la forma que uno de ellos lea una tarjeta de crédito NFC, le envíe información a otro móvil, y ese otro móvil, con un software determinado y cerca de una datáfono que lea NFC, realizar el pago con cargo a esa tarjeta. Incluso ponían el ejemplo de poder hacer la lectura y enviar un mensaje a otro móvil de forma remota para que éste pudiera hacer posteriormente la transacción bancaria. Eso sí, si uno se cantea, la tarjeta quedará bloqueada por el banco. Para contarnos su ponencia nos han puesto en antecedentes, con el estándar del NFC (por ejemplo, que va a 13,56 MHz), o que hay fabricantes que sólo cumplen parte de las especificaciones y otra parte la hacen propietaria. También el uso del estándar EMV para el uso de tarjetas bancarias y el hecho de que para realizar este ataque no hace falta ser root.
Justo después de hablarnos de este ataque realizado con Android, ha llegado Sebastián Guerrero (@0xroot) para hablarnos de la forma en la que Apple guarda cierta información de la huella digital (TouchID) y su explotación para el Apple Pay. Según podemos resumir, para Apple soncompletamente seguros e inaccesibles los datos de la huella capturada con el sensor, empleado para desbloquear el teléfono, hacer micropagos, doble factor de algunas aplicaciones. Pero resulta, que si se busca, está la posibilidad de activar el modo debug del lector. Y con este modo puesto a on, se accede a todos los datos de la huella: cuántas veces se ha capturado, la posición.... De tal forma que esos datos se podrían utilizar para bypasear la protección para la que estaban pensados.
Después de los móviles, Alejandro Ramos (@aramosf) nos ha hablado de 6 formas de atacar una empresa y las 6 formas de defenderla ante esos ataques. Además, ha hecho una encuesta que se tenía que rellenar a medida que iba haciendo la ponencia, pero en mi caso, no me ha sido posible rellenarla. Los problemas: con las credenciales, el sofware ataques de red, privilegios, introducir o llevarse datos de la empresa... Estos son los distintos problemas que uno se puede encontrar en una empresa. ¿Soluciones? Modificar el Ptsfit.dll o usar doble factor, parches y alertas sobre SW, ARP inspection o DHCP snooping o NAP, eliminar el acceso a las consolas a quien no le haga falta, y, por último, inspeccionar el SSL de las navegaciones o evitar ciertos dominios como los que se hayan creado hace menos de 20 días.
La siguiente charla la ha dado José Selvi (@JoseSelvi) nos ha hablado de HSTS (Http Strict Transport Security). De lo que se trata es que los navegadores, ya sea por una lista pre-cargada, o porque el servidor lo indique, tiren de HTTPS durante un tiempo determinado. Si después no se le indica lo contrario, trabajarán en claro. Su idea es, haciendo un ataque Man In The Middle, forzar a que el horario de la máquina tenga una hora que se corresponda con un instante de tiempo en el que ya debería de funcionar en claro. Como hoy en día los sistemas operativos ponen su hora con NTP, sólo hay que forzar a que pongan la hora de nuestro servidor horario. Así podremos realizar el ataque a los datos que transmita en la navegación. Hay que tener en cuenta los distintos comportamientos según el sistema operativo. Por ejemplo, si Windows detecta más de 15 días (¿o son horas?), rechaza el cambio. Nos ha hablado de las distintas conversaciones con Google y el comportamiento del Chrome.
La última charla ha sido la de Eduardo Cruz (@edcrossed), el cual nos ha hablado de cómo ha podido hacer ingeniería inversa al chip de una consola arcade. Para ello ha necesitado, entre otras cosas, una serie de ácidos muy nocivos y mortales para poder "agujerear" la cerámica que recubre los transistores que forman el chip de la consola, además de necesitar un microscopio magnético (o profesional). Nos ha enseñado cómo con un emulador, y a base de los que ha ido descifrando de los distintos transistores (según la transparencia, si me acuerdo bien, NPN). Porque, el problema estaba en que esas máquinas tenían una cucaracha que era la que se encargaba de dar la clave para que se pudiera arrancar la máquina. Y al terminarse la pila, esa clave se perdía, quedando la tragaperras inutilizada. Gracias a esta ardua labor, durante más de 6 meses, y con un "descifrador" que se ha montado con una placa Arduino, ha podido conseguir su objetivo.
Y esto ha sido todo lo que se ha contado hoy viernes. Mañana sábado, más.
¡Reto 1 superado a las 16:28! ¡Cinco euritos! https://t.co/9055LvU777 ¡Gracias a @ajsanchezsanz por la notificación!
— Félix Brezo (@febrezo) marzo 5, 2015