sábado, 3 de marzo de 2018

Crónica RootedCon 2018: Día 3

Hoy hemos podido disfrutar de la tercera y última jornada de RootedCon 2018.

La primera charla la ha dado Jose Selvi (@JoseSelvi).

RootedCon 2018 - Jose Selvi - FIESTA: an HTTPS side-channel party
Jose Selvi - FIESTA: an HTTPS side-channel party
Nos ha hablado de cómo es posible averiguar algunos datos que se transmiten a través de HTTPS con una técnica que se llama side-channel. Esta técnica permite saber que algo ha sucedido a partir de un cambio determinado. Si se automatiza ese cambio, se pueden llegar a saber qué ha sido ese cambio. En este caso, a partir del tamaño de los paquetes, y comparando los resultados anteriores (momento T) con el actual (momento T+1), se consigue saber qué dato era. Todo esto utilizando un sniffer, estudiando las capas de red que están por debajo de TLS. Ha construido la herramienta FIESTA, con la que ha hecho una demo. Si bien da problemas con AJAX y HTTP/2. Se encontró con varios sitios famosos, los cuales han respondido de distinta forma.

La siguiente ponencia, breaking HSTS, la ha dado Sergio de los Santos (@ssantosv).

RootedCon 2018 - Sergio de los Santos - Breaking out HSTS on Firefox, IE/EDGE y Chrome
Sergio de los Santos - Breaking out HSTS on Firefox, IE/EDGE y Chrome
Ha explicado más o menos rápido el funcionamiento básico de HTTP(S) y TLS. Además, ha dicho qué es SSLStrip y los certificados falsos. Los dos mecanismos de seguridad, HSTS (sistema para recordar al navegador que tiene que comunicarse con este sitio por fuerza con TLS) y HPKP (certificate pinning, que recuerda el emisor). Ha explicado cada una de las técnicas que han intentado hacer contra cada uno de los navegadores para engañar estos sistemas de protección en cada uno de los navegadores importantes: Firefox, Chrome, Explorer/Edge e incluso con móviles. En algunos de estos intentos, llegaron a bloquear al navegador (Chrome). La manipulación, en términos generales, trata de entregar muchos sitios con HTTPS para conseguir que se llene las listas que usan estos navegadores para saber si hay que usar HTTPS o no. Cuando se llena, ya no avisan de que hay un Man In The Middle con un certificado falsificado.

Después, pudimos hacer una pequeña parada para descansar.

Después del descanso, Tamara Álvarez, en su charla ¿Se puede hackear un referendum constitucional?

RootedCon 2018 - Tamara Álvarez Robles - ¿Se puede hackear un referendum constitucional?
Tamara Álvarez Robles - ¿Se puede hackear un referendum constitucional?
En esta ponencia se ha hablado mucho de leyes y derecho constitucional. Se ha hablado de una crisis democrática, cuya solución podría ser la e-participación y el e-voting. También ha planteado razones por las que no se está usando, poniendo varios ejemplos. Incluso ha puesto ejemplos de países en los que se llegó a usar un sistema de este tipo y después un tribunal tumbó esa votación. O países que han experimentado y que han vuelto al sistema tradicional. Todo porque no termina de haber las garantías suficientes. Además de los problemas que se plantean por filtrado de datos, ataques de denegación de servicio, manipulación de los votos...

Al finalizar la charla de Tamara se ha subido al escenario Chema Alonso (@ChemaAlonso), que nos ha hablado de una investigación de años relacionada con wifis.

RootedCon 2018 - Chema Alonso - Wild, Wild, Wifi: Dancing with wolve
Chema Alonso - Wild, Wild, Wifi: Dancing with wolves
Aunque la captura es del final, en la investigación han participado más personas de las que Chema no se ha olvidado. Nos ha hablado de APs falsos, localización de móviles, etc. Ha nombrado varias herramientas que han desarrollado a lo largo de los años: MUMMY y PsicoWifi. Esta última es un cliente que se conecta a las wifis e intenta averiguar si la actual es la misma que la primera. Sirve tanto para plataformas móviles como para Windows. También ha nombrado el ataque KRACK. No me puedo olvidar del firmware que ha modificado que permite configurar que cada un tiempo determinado la clave de acceso a la red cambie (con el cliente adecuado en el terminal que se esté utilizando). Así, se dificulta sobremanera que el robo de las claves tenga sentido.

Después de que Chema terminase, la organización ha hecho varios sorteos planificados. ¡Enhorabuena a los ganadores!

Después del sorteo, hemos podido ir a comer.

Tras comer, Victor Manuel Mundilla y José Torres nos han hablado sobre aplicaciones móviles y sus vulnerabilidades. 

RootedCon 2018 - Victor Manuel Mundilla y José Torres - ¿Seguro que son seguras?
Victor Manuel Mundilla y José Torres - ¿Seguro que son seguras?
Nos han contado sus reflexiones tras analizar más de 10 millones de aplicaciones móviles, procedentes sobretodo de market oficial de Android. Sobretodo, de aquellas que el sistema automático no detecta que tenga vulnerabilidades o comportamientos maliciosos. Su investigación se basa en las distintas consultas que han hecho en la herramienta Tacyt de la que ya se ha hablado en diversas ocasiones. Algunos ejemplos: contraseñas y direcciones IP hardcodeadas, mezclar HTTP con HTTPS, ficheros de clave privada embebidos en la aplicación... O las librerias empleadas para las networks de anuncios que dependiendo de la red empleada obliga a poner unos permisos mínimos determinados y éstas también influyen en la seguridad de la aplicación.

Cuando terminarion, Román explicó quiénes iban a dar la charla sorpresa. Sus antiguos compañeros de PwC. Era sobre posicionamiento de terminales móviles a través de la MAC de la tarjeta inalámbrica. Juan Carlos Diaz y Jorge Rodríguez Villagrá han dado la charla. 

RootedCon 2018 - Juan Carlos Diaz y Jorge Rodríguez Villagrá - All your MACs belong to everyone
Juan Carlos Diaz y Jorge Rodríguez Villagrá - All your MACs belong to everyone
 Era un proyecto que Román les propuso hacer. Empezaron mostrando un vídeo espectacular. Buscaron hacer tracking de los móviles de las personas que estábamos allí. Empezaron montando unas raspberries pi para que guardase los beacons de los móviles que buscan sus wifis guardadas y las direcciones MAC de cada uno de los móviles. Contaron cómo construyeron esas balizas lectoras. Después explicaron los datos que recopilaron, qué les llamó la atención y alguna gracia como la identificación de la cola para las conchas Codan o la cerveza. 

RootedCon 2018 - Todo el equipo de PwC - All your MACs belong to everyone
Todo el equipo de PwC - All your MACs belong to everyone

Después de esta sorpresa, pudimos descansar un rato antes de la última charla. 

Cuando terminamos el descanso, volvimos a la carga con la última charla del año, de la mano de Raul Siles (@DinoSec), que nos ha hablado del "IoT: Internet of T...".

RootedCon 2018 - Raul Siles - IoT: Internet Of T...
Raul Siles - IoT: Internet Of T...
En su ponencia nos ha mostrado un vídeo relacionado con el internet de las cosas. Después nos ha explicado cómo destripó, tanto a nivel harware como software, un sistema de domótica conectado a internet. Un gestor central, los sensores, los controladores (un móvil, un servidor web, etc). Los distintos sistemas de interconexión: 433 MHz, 868MHz, ZWave, bluetooth, wifi... Después ha explicado las tripas de los chips que puede contener el sistema analizado específicamente. O el firmware, que después de analizarlo descubrió muchas vulnerabilidades, tanto en el propio contenido (con claves de hashes en MD5 truncadas, backups en texto claro, entre otras)... Incluso desde la nube que permite configurar un único gestor domótico, se puede llegar a acceder a todos los gestores que han vendido (y que están conectados a internet, claro). Después ha mostrado más demos en vídeo. Como apunte: no se ha publicado, todavía, el fabricante de este sistema. 

Y, así, un año más, hemos disfrutado de la Rooted. Ha sido un placer estar otro año más. Como digo todos los años, espero poder  veros el año que viene una vez más. ¡Hasta la próxima!

viernes, 2 de marzo de 2018

Crónica RootedCon 2018: Día 2

Hoy hemos podido disfrutar de la segunda jornada de la Rooted del presente año, 2018.

Al llegar, pude desayunar otra vez con Jaime y Longinos (@L0ngin0s)

Para mí ha habido una novedad: este año no he estado en una única sala.

Para la primera ponencia, que la ha presentado Alfonso Muñoz (@mindcrypt) y Jorge Cuadrado (@coke727), se llamaba "Phreaking is alive!!".

RootedCon 2018 - Alfonso Muñoz y Jorge Cuadrado - Phreaking is alive!!!
Alfonso Muñoz y Jorge Cuadrado - Phreaking is alive!!
Nos han explicado cómo crear canales encubiertos aprovechando unos comandos que tiene GSM que se llaman AT. Han contado un resumen de qué es el phreaking y el origen de su charla. Como por ejemplo, que los móviles tienen dos sistemas operativos: el que tenemos como front (Android) y el que se encarga de trabajar a nivel bajo para la comunicación con las antenas base. Así, han enseñado un móvil sencillo y fucional que han construido con arduino. Ese mismo terminal ha sido sorteado al finalizar la charla. Con el análisis que han estudiado, han conseguido montar un sistema privado e, incluso, con posibilidades de ser anónimo (utilizando, entre otras cosas, sitios que permiten spoofear tu teléfono para hacer llamadas perdidas).  Por supuesto, no han faltado demos.

La siguiente charla, sobre bashware, en inglés, la han dado Gal Elbaz y Eran Vaknin. 

RootedCon 2018 - Gal Elbaz y Eran Vaknin - Beware of the bashware
Gal Elbaz y Eran Vaknin - Beware of the bashware
En esta charla han empezado a explicar cómo se gestiona a bajo nivel funcionalidad que tiene Windows de poder ejecutar software y comandos de Linux. Es el Windows Subsystem Linux, WSL. También han explicado cómo hay que hacer como mínimo los siguientes pasos: activarla, ponerla en developer mode y.. Me dejé el último. Lo que han enseñado es que el malware que se lanza con WSL no es detectado por los antivirus (o herramientas similares) con todos los problemas que esto conlleva. Como los programas Windows se pueden convertir a ejecutables de Linux con software como WineHQ, el problema del malware estaría resuelto. Y si está activada esta característica, el malware se activaría. En esta ponencia no faltó su propia demo.

En este punto pudimos disfrutar de un descanso. 

En este punto, y hasta la hora de comer, que quedé en la sala 19, donde mi amigo y antiguo compañero Jesús Seijas dio su charla sobre cómo engañar a los sistemas de reconocimiento computacional.
RootedCon 2018 - Jesús Seijas - Fooling Computer Vision
Jesús Seijas - Fooling Computer Vision
Su charla ha tenido bastante de matemáticas y gradiantes, por lo que esa parte ha sido algo complicada de anotar. Lo que se buscaba era ver si se podía engañar a un sistema entrenado para reconocer objetos en fotos y conseguir que dijera que la foto objetivo era una cosa completamente distinta a pesar de que el ojo humano sigue viendo qué es realmente. Para poder manipularla se utilizan redes neuronales y matemáticas. Para ello, hay unos pasos intermedios entre los que se encuentran quedarse únicamente con la parte necesaria de la foto descartando el resto y comprimirla en una matriz. Ha nombrado los proyectos de Imagenet y Alexnet. Para finalizar, ha hecho una demo en la que se ha conseguido que el reconocedor re imágenes detecte un perrito caliente donde hay un fusil. 

La siguiente charla, en la misma sala, la ha presentado Eneko Astorkiza [update](@Enekoas)[/update]  (LinkedIn).

RootedCon 2018 - Eneko Astorquiza - Retos de seguridad en el sector de las apuestas deportivas online
Eneko Astorquiza - Retos de seguridad en apuestas online
Ha contado quiénes son, cómo aparecieron,  números internos, facturación, filosofía... Importante dato: el hecho de cumplir con los requisitos legales no significa que haya seguridad. Ha enumerado los distintos errores que se pueden cometer en sus sistemas: desarrollo de la página, terminales que instalan en locales o bares, Internet (DNSs, ataques DoS, DDoS...), etc. Hay muchos otros problemas con los que tienen que lidiar: si reciben ataques o amenazas solicitando rescates, manipulaciones de los usuarios (búsquedas de vulnerabilidades, bots, suplantación de identidad....). Y los ataques que sus proveedores reciben también lo tienen que tener en cuenta. 

Después de su charla, pudimos ir a comer. 

Después de la comida, volví a la sala general, la 25. Esta charla la dio Javier Rodriguez (noticia para mí: está de excedencia en el GDT) y David Sánchez. 

RootedCon 2018 - Javier Rodriguez y David Sánchez - ¿Otra vez tú, Tovariach?
Javier Rodriguez y David Sánchez - ¿Otra vez tú, Tovariach?

La charla ha tratado sobre la problemática que nos encontramos cuando los medios indican que un ataque siempre se atribuye a la procedencia rusa. Han analizado varios malwares: Wanacry, Petya/NotPetya, Duqu 2.0 y Babar. Para las atribuciones se suele mirar qué dicen las casas anti-malware y el lenguaje empleado internamente en el código (a veces hay comentarios de código que ayudan). Por eso se busca una comunidad de inteligencia, que se necesita para resolver problemas. A veces pueden aparecer ciertos problemas diplomáticos. Incluso se puede llegar a atribuir a un país por la procedencia del desarrollador pero éste no sabe ni siquiera para qué se va a usar el código (ahora que lo pienso: supongo que se lo podrá imaginar, ¿no?).

Después de esta charla hemos tenido el RootedPanel: ¿Hay realmente libertad de prensa?


Hemos tenidos unos contertulios con experiencia en periodimo:
  • Jorge SoyDelBierzo (@soydelbierzo), (butacas de la izquierda, a la izquierda)
  • Yolanda (junto a Jorge)
  • Monica
  • Luis (butacas de la derecha, a la derecha del todo)
  • Carlos Otto (@ottoreuss): pantalla grande 
  • Luis: se sentó donde marca la flecha azul.
Se ha discutido sobre la unión de la prensa con el mundo digital. Antes la prensa decidía qué era importante, ahora es el público. Incluso éste es el que termina convertido en periodistas. Se han mencionado los clickbaits, si bien alguno de ellos no estaba muy de acuerdo con que fuesen negativos. Porque parte del debate estaba en qué cosas podían contar o dejar de contar teniendo en cuenta que dependen de los ingresos por publicidad de las empresas. También se ha hablado de fuentes y de cómo contrastar lo que dicen. Incluyendo la confianza que dan las gubernamentales. Se han nombrado los casos de Wikileaks, los Papers (Panamá y Paradaise)... O la necesidad de tener expertos en la materia para lo que van a publicar y de tener que bajar el nivel del lenguaje para el público general (y como resultado siendo inexactos para los expertos en la materia).

Después de un descanso, el propio Carlos Otto (@ottoreuss) ha dado su charla: Periodistas y hackers, ¿podemos ser amigos?

RootedCon 2018 - Carlos Otto - Periodistas y hackers: ¿Podemos ser amigos?
Carlos Otto - Periodistas y hackers: ¿Podemos ser amigos?
La primera parte de la charla ha sido un pequeño guiño al estereotipo del hacker: capucha, máscara de Guy Fawkes , encorvado, con guantes... Algunos con una silla malísima, otros con un butacón comodísimo... Muchas pantallas... Después se ha puesto serio. Ha explicado problemas que ha tenido con start-ups y algunos casos mediáticos: Didac Sánchez, Roi (caso explicado también en Rooted 2017)... Casos en los que ha podido necesitar ayuda de hackers. Sobretodo ha recalcado que sí que es posible que haga falta colaboración, tanto para tener explicaciones técnicas que después contrastará con más personas y poder tener una idea que plasmar. Incluso, para buscar datos de casos que puedan requerir recuperar o buscar información. Eso sí, ha querido explicar que se libere la información sin peligros, porque a veces se han publicado datos protegidos de personas.

Así, hemos terminado la segunda jornada de este año.

jueves, 1 de marzo de 2018

Crónica RootedCon 2018: Día 1

Como los últimos... ¿6 años? He tenido la oportunidad de volver a RootedCon. Ha sido la novena edición y en esta ocasión he tenido la oportunidad de estar todo el día con un buen amigo y antiguo compañero de la empresa, Jesús. También he estado un buen rato con Longinos (@L0ngin0s) y Jaime. Además, también he podido compartir un buen rato con Pablo Yglesias (@PYDotCom). Todo esto no quita que no haya podido ver a Angelucho (@_Angelucho_), Javier Rodriguez (del GDT), Josep Albors (@josepalbors)... Seguro que me dejo a alguien.

Como siempre, se ha hecho la keynote por parte de Román (@patowc).

Román Ramirez y la keynote de RootedCon 2018
Debido al retraso debido a fallos técnicos, ha tenido que comentar todo muy rápido. Ha vuelto a insistir en que somos comunidad, ha dado las gracias a los patrocinadores (que ayudan a que las entradas no sean desorbitadas) y los números de la organización. También ha explicado de qué va el proyecto sobre análisis de propaganda (el enlace que cogí: propaganda.is no me funciona; ¿corrección?). Después les ha dado la voz al equipo de Follow The White Rabbit (@fwhibbit_blog) , que tienen sus propios tracks en el evento.

Una vez terminada la keynote Ilfak Guilfanov (@ilfak), autor del IDA-Pro y el decompilador Hex-Rays. 
Ilfak Guilfanov - Decompiler Internals. Microcode
Ilfak Guilfanov - Decompiler Internals. Microcode
Un tema que como ya sabréis, no estoy muy ducho. Lo que pude entender es que con su software se podía decompilar de un procesador determinado y conseguir un código independiente del procesador. Al obtener el código del binario hay que conseguir que sea simple y descartar cualquier cosa que no nos importe. Por lo tanto, se busca optimizar el código mostrado. Así, cualquier operación que termine dejando los resultados exactamente iguales se "elimina".

Cuando finalizó, Ángel Palomo Cisneros empezó su charla sobre cómo conseguir que un equipo acepte ataques Man In The Middle:
Ángel Palomo Cisneros - Programming and playing a MITM attack
Ángel Palomo Cisneros - Programming and playing a MITM attack
Ha hablado sobre cómo desarrollar una aplicación que permita que sin que un usuario (apenas) se dé cuenta, termine aceptando un certificado falso emitido por BurpProxy, ZAP, Fudder, etc... "Apenas" porque su prueba de concepto muestra durante apenas medio segundo un flash de las pantallas que normalmente se verían cuando realmente hay que aceptarlas conscientemente. Sin esos certificados, el navegador no permitiría hacer el ataque. Esta aceptación permite que ese certificado falso se guarde en el almacén de confianza del usuario. No se pudo conseguir saltar la elevación de privilegios para instalarlo para el almacén del PC. 

En este punto Jesús, Pablo y yo nos fuimos al descanso. 

Al finalizar el descanso, Dario Durando nos ha hablado sobre la aportación de la botnet Mirai a las nuevas botnets.
Dario Durando - IoT Battle of Bots
Así, ha explicado cómo funciona internamente, cómo se puede subir al dispositivo que se infecta y que estaba escrito en C. Además, nos ha explicado los distintos módulos de los que pueden llegar a constar: scanners IP, un proceso que mata otros procesos o servicios (FTP, telnet, http), ataques a otros dispositivos... Después nos mostró su proyecto, KAIB. Con este proyecto se pueden buscar variaciones del Mirai (que después nos mostraría una línea temporal donde se mostraban las que había encontrado), descargas de URLs, un honeypot, etc...

El siguiente panel fue una mesa redonda en la que diversas empresas dieron su visión sobre cómo se puede proteger los datos de las personas (o la problemática de que se haga un leakage de los mismos).
Deception y cómo proteger el dato mediante tecnologías Data Discovery
Deception y técninas de Data Discovery
En esta mesa redonda hemos tenido a seis ponentes
  • Jose Miguel Esparza (@EternalTodo): Buscan información y la normalizan. Analizan malware y buscan ataques.
  • Abey... (se me quedó en el tintero!): buscan conseguir que se envíen los ataques a un lugar donde se haga daño o dar información falsa al atacante (¿honeypot?).
  • Juan Julián Moreno - De Microfocus. Nos habló del descubrimiento y la gestión eficiente de datos. Nos puso 3 casos reales de descubrimiento de datos.
  • Raúl nos contó datos sobre el robo de datos y el coste que tiene. Muy importante el control, la monitorización y descubrimiento de la exfiltración de datos.
  • Desde Barracuda, Carameli nos habló sobre los ataques dirigidos, como por ejemplo, el spam o el phising. Los riesgos de engañar a las personas qué hace Barracuda para reducir estos riesgos.
  • Antonio Ramos (@antonio_ramosga) nos habló sobre Leet Security y la Agencia de Calificación de Seguridad. Al final, se evita que sólo haya un sello de certificación que no significa nada. Busca hacer una auditoria que hace casi 1300 preguntas que realmente permite averiguar si se cumplen las normas.

Después de esta mesa nos fuimos a comer.

Una vez hubimos comido, Daniel Uroz  y Ricardo J. Rodriguez nos hablaron sobre RoP y Turing.
Daniel Uroz  y Ricardo J. Rodriguez - RoP meets Turing
Daniel Uroz  y Ricardo J. Rodriguez - RoP meets Turing
Todo se puede hacer con una operación "mov". Cuanto más complejo es el software, se encuentran más vulnerabilidades. Nos hablaron de un sistema de protección que fuerza a que una página de memoria sólo pueda guardar un dato (o instrucción, luego: operación de escritura) o sólo pueda ejecutar (operación de ejecución). Es lo que han llamado Write-xor-Execute. Después de hablar de reversing, nos han explicado cómo buscaron la forma de encadenar ataques RoP para deshabilitar este sistema de Write-xor-Execute". Con la herramienta EasyROP se busca verificar si se puede deshabilitar este sistema. Han mostrado una DEMO con una vulnerabilidad.

Al finalizar su ponencia empezó la RootedPanel:
RootedPanel 01 de la RootedCon 2018: Ciberdefensa y ciber-reservistas
RootedPanel 01 de la RootedCon 2018: Ciberdefensa y ciber-reservistas
Participaban Adolfo Hernández (con el jersey rojo), el General Comandante Carlos Gómez Lopez de Medina (evidentemente: con el uniforme), Enrique Ávila (centro del sofá derecho ), Jorge Dávila (del sofá izquierdo, a la derecha), Javier Candau (a la derecha del todo) y Román (a la izquierda del todo). Se ha discutido si está bien planificado o no cómo se va a contratar al personar que estarán en la reserva y cómo se piensa recompensar o pagar a dichas personas y qué pasaría con las empresas para las que trabajan cada vez que tengan que actuar.

Al finalizar el RootedPanel se hizo un descanso para merendar. 

Después de la merienda, Gerardo García Peña (@1lio) empezó su ponencia, Crypto goofs.
Gerardo García Peña - Cryto Goofs
Esta es otra de las ponencias que me ha costado un poco seguir. Se ha hablado de cifrado, tanto parcial (parte de http y parte de https), como el total, pero con un cifrado incorrecto. También ha nombrado el robo de sesiones, SSLStripping. Ha comentado que en ocasiones se descifran los datos antes de tiempo pensando que a partir de ese punto no pasaría nada. Y que hay que evitar ser creativo a la hora de implantar un cifrado sin o se sabe cómo funciona. Incluso, por cada algoritmo utilizado, estudiar sus vulnerabilidades. No se ha olvidado de los números aleatorios o de los hashes y valores MAC (Message Authentication Code).

Al finalizar, la organización ha hecho un homenaje a Antonio Ropero, creando un premio en su nombre. La estatuilla, un pegaso, se la han entregado a Fermín J. Serna, que por videoconferencia ha asistido a dicha "entrega". 

Y así, ha finalizado para mí la jornada de hoy. Después había una barra libre de cerveza, pero yo he recogido.

domingo, 11 de febrero de 2018

Google API - Gmail

Hace mucho tiempo que hice esto y quería haber escrito un post al respecto, y ahora que he querido volver a lanzar el scritp del que voy a hablar, he tenido problemas. Por lo que voy a aprovechar para hablar sobre esto.

La historia era la siguiente: quería bajarme los e-mails de mi cuenta de gmail con un filtro determinado: bajarme los e-mails de la carpeta de spam para estudiar sus cabeceras y ver de dónde proceden y cómo reportarlo.

Lo primero que toca es decidir en qué lenguaje hacerlo. En mi caso, python.

Por lo tanto: instalar el api de Google con el comando pip:

pip install --upgrade google-api-python-client
pip install --upgrade google-api-python-client
Por lo tanto:

pip install --upgrade google-api-python-client

Después, me ha tocado volver a buscar qué hice, que fue mirar en el manual del API. Viéndolo, el segundo paso fue activarla. Para ello, hay que crear un proyecto:

Creando proyecto API Gmail
Creando proyecto API Gmail
Se puede crear de varias formas, por ejemplo, al hacer click sobre Crear proyecto hará falta volver a refrescar de alguna manera la pantalla para poder actualizar el combo. Una vez actualizado, veremos que se añadirá un nombre de aplicación más o menos aleatorio que podremos seleccionar. Una vez seleccionado, haremos click sobre el botón Continuar que no he incluido en el pantallazo. Después, nos pedirá ir crear o añadir las credenciales al proyecto. 

Ir a añadir credenciales al API de Gmail
Ir a añadir credenciales al API de Gmail
Pero al llegar al gestor de las credenciales tendremos que hacer click sobre el botón Cancelar:

Cancelar la operación de gestión de credenciales
Cancelar la operación de gestión de credenciales

Después nos llevará a otra sección donde seleccionaremos la pestaña relacionada con OAuth. Se rellena el e-mail con el que se gestionará y el nombre o descripción de la aplicación:

OAuth para el API de Gmail
OAuth para el API de Gmail
Y más abajo en la pantalla tenemos el botón Guardar al que haremos click sobre él. Después, nos llevará otra vez a la pestaña que nos indicará que creemos unas credenciales, para la que seleccionaremos que queremos que sea para OAuth:

Seleccionar creación de credenciales para OAuth
Seleccionar creación de credenciales para OAuth

Nos solicitará que indiquemos una descripción (aunque lo llaman ID) para la aplicación (lo llaman "cliente") y el tipo (nosotros marcaremos "otro):

Crear ID y tipo de aplicación para el API de Gmail
Crear ID y tipo de aplicación para el API de Gmail
Al crearlo, nos aparecerán los datos del cliente, que tendremos que aceptar:

ID y secreto del cliente OAuth para el API de Gmail
ID y secreto del cliente OAuth para el API de Gmail
Y nos descargaremos el fichero que contiene las credenciales con las que se conectará nuestro programa.

Descarga de credenciales del API de Gmail
Descarga de credenciales del API de Gmail

A partir de aquí me he puesto a mirar mi antiguo script, que ya llamaba al API original. Uno de los problemas que nos podemos encontrar es que tengamos dos instalaciones de python (¿sacrilegio?): versión 2.7 y 3.6. Hay que tenerlo en cuenta. Además, me he encontrado con que lo que antes me funcionaba, con la nueva instalación ya no tira bien. 

Por cierto: al lanzar el script me pide que me autentique para dar permiso a la aplicación a tirar de los datos necesarios. 

sábado, 9 de diciembre de 2017

Mikrotik routerboard 411UAHR IV: Antenas

Hace mucho, mucho tiempo (casi un año) que monté el router Mikrotik 411UAHR.

Tal y como comenté, los pigtail (MMCX/RP SMA Jack bulkhead) seleccionados no eran los adecuados:

Mikrotik Routerboard 411UAHR - Pigtail MMCX/RP SMA Jack bulkhead
Mikrotik Routerboard 411UAHR - Pigtail MMCX/RP SMA Jack bulkhead

Así, meses después (allá por abril o mayo), conseguí comprar los pigtail adecuados.

Por lo tanto, me hice con los siguientes elementos:
Este sería el material:

Mikrotik - ACMMCX y MMCX-NFemale
Mikrotik - ACMMCX y conversor RP-SMA a NFemale
Así es el conversor a NFemale de cerca:

Conversor RP-SMA a NFemale válido para la caja Mikrotik CA411-711
Conversor RP-SMA a NFemale válido para la caja Mikrotik CA411-711

Y así el pigtail:

Pigtail ACMMCX
Pigtail ACMMCX 

Por no poner otra foto con el primer resultado, nos podemos remitir a la que estoy mostrando al principio de este artículo.

Así es como queda instalado el pigtail:

Mikrotik con el nuevo pigtail sin enroscar
Mikrotik con el nuevo pigtail sin enroscar

Una vez enroscadas las tuercas, podemos conectar los conversores:

Mikrotik - ACMMCX y conversores instalados
Mikrotik - ACMMCX y conversores instalados

Puede que cueste un poco ponerlos: hay que afinar muy bien. De hecho, si no recuerdo mal, antes de poder enroscar los conversores, había que oir un pequeño "click". En caso contrario, no se podrían enroscar.

Al final, ya podremos instalar las antenas, quedando estas de una forma consistente:

Mikrotik con las antenas instaladas
Mikrotik con las antenas instaladas
Como se puede observar, no quedan colgando. Espero que esta solución al primer problema os sea de utilidad, por si os hiciese falta. 

viernes, 8 de diciembre de 2017

HoneyCon 2017

Hace unas semnas estuve en la HoneyCon 2017. Aunque estuve escribiendo el post para esta casa (expresión que si no recuerdo mal, usa Pablo (@PYDotCom), conocí a Rodolfo Miguel y me ofreció hace la crónica conjunta. Así, aquí pongo el enlace a la publicación

domingo, 5 de marzo de 2017

Crónica RootedCon 2017: Día 3

Y después de dos días intensos, hemos empezado la última jornada de la edición 2017.

He podido hacer más networking, conociendo a más compañeros con los que he compartido muy buenos momentos. También me he dado cuenta de que ha habido unas cuantas charlas que me han costado un poco más seguirlas. Supongo que siempre hay alguna que cuesta un poco más que otra.

La primera charla la han dado Roberto Muñoz (@SkyeInTheWild) y Daniel García aka cr0hn (@ggdaniel).

RooteCon 2017 - Daniel García y Roberto Muñoz - Docker puede no ser tu amigo
RootedCon 2017 - Daniel García y Roberto Muñoz - Docker puede no ser tu amigo
Han descrito qué es docker (y qué no es: no es una VM). Es un gestor que crea imágenes de un despliegue, las despliega y se pueden ejecutar como copias de aislamiento. Al final una descripción rápida sería: es un chroot "bonito y fácil". Han explicado cómo se puede configurar y han destripado el contenido de una imagen, que tiene formato .tar. Al explicar cómo se puede manipular la imagen, nos han mostrado diversos ataques. Para ese fin, han hecho una demo con una herramienta de botón gordo que han montado para tal fin que permitiría, a todos los efectos, terminar troyanizando la máquina destino.

La siguiente charla la ha dado Ricardo J. Rodriguez (@RicardoJRdez) y del que también ha formado parte de este proyecto Victor Sánchez (@DonBallabriga) [gracias a Javier (@javifields) por mencionarles con sus cuentas de Twitter]:

RootedCon 2017 - Ricardo J. Rodriguez y Victor Sánchez - DNI 3.0
RootedCon 2017 - Ricardo J. Rodriguez y Victor Sánchez - DNI 3.0
Ha empezado poniendo ejemplos de robos de identidad reales y las distintas consecuencias para los afectados. Las razones por las que se suelen robar esas identidades, que de media obtienen 8.000 €. Después ha continuado contando la historia del DNI, de cómo se diseñó y las distintas evoluciones, llegando a la versión electrónica 2.0 y quedándose en la 3.0. Nos ha desgranado el estándar de NFC que utiliza (13,56 MHz) y varios vectores de ataque. Uno de ellos ha sido que enviando un código de 6 dígitos por fuerza bruta (código impreso en la tarjeta) se pueden conseguir todos los datos que están almacenados en una de las zonas del DNI y que son precisamente los que vienen impresos en éste. Incluyendo las imágenes de la firma manuscrita y la foto. Nos ha hecho una demo de un programilla que se ha montado para lanzarla contra el suyo propio.

Un descansillo con una conchas Codan!!!!

Después de desayunar, Raul Siles (@dinosec) nos ha hablado de cifrados en What's Up:

RootedCon 2017 - Raul Siles - WhatsApp End to End Encryption Desmystified
RootedCon 2017 - Raul Siles - WhatsApp End to End Encryption Desmystified
Esta charla es de las que más me ha costado entender. De hecho, poco he podido tomar nota. Nos ha hablado de cómo cifra What's Up las comunicaciones. Entre otros protocolos de cifrado utilizados está Signal, Diffie-Hellman (y derivados). Ya finalizando ha hablado sobre las últimas noticias relacionadas con la aplicación móvil.

Al finalizar Raul, tuvimos la charla de Yihan Lian y Zhibin Hu:

RootedCon 2017 - Yihan Lian y Zhibin Hu - Smarter Peach: Add eyes to peach fuzzer
RootedCon 2017 - Yihan Lian y Zhibin Hu - Smarter Peach
Otra que me ha costado entender (no puedo negar que nosotros los españoles a veces tampoco pronunciamos muy hasta allá). Nos habló sobre las fortalezas y debilidades de un fuzzer llamado Peach.

Después de comer vino Hugo Teso (@hteso) a hablarnos sobre herramientas propias:

RootedCon 2017 - Hugo Teso - Swett Tools O'Mine
RootedCon 2017 - Hugo Teso - Swett Tools O'Mine
El resumen sería que si queremos hacer algo, ¿por qué no montarnos nuestras propias herramientas? Entre otras que nos ha mostrado, ha sido una GUI para Radare2 que nos va a liberar muy pronto. Y que nos las construyamos a partir de las librerías a las que tengamos acceso en vez de usar herramientas públicas, que ya se sabe cómo se comportan y por lo tanto son más fácilmente detectables. Como por ejemplo, meterpreter, que tiene su propia firma. Poco a poco, a medida que iba pasando la charla, nos ha ido mostrando sus propias creaciones, tanto de software como de hardware. 

Después ha venido Pepe Vila (@cgvwzq), que nos ha hablado de loophole:

RootedCon 2017 - Pepe Vila - Loopchole: Timing attackks on shared events loops in chrome
RootedCon 2017 - Pepe Vila - Loopchole events in Chrome
Nos ha hablado de algunos problemas que se pueden encontrar en Chrome y de un paradigma de programación: EDP (Event Driven Programing). Algunos ataques a la arquitectura, cuando hay multiproceso cada uno de ellos está sandboxeado y que los iframes comparten proceso. Los distintos ataques que se pueden hacer, con los que se puede inferir información del navegador / usuario se pueden hacer con publicidad maliciosa o algún popup. 

La última ponencia nos la dio Pablo San Emeterio (@psaneme) en la que hizo se subiera al escenario a Román (@patowc):

RootedCon 2017 - Pablo San Emeterio y Román Ramírez - Inteligencia Privada: Más allá de Stix
RootedCon 2017 - Pablo San Emeterio y Román Ramírez - Inteligencia Privada
Ha empezado hablando de la organización de RootedCon y de algunas cosas de las que ya habló Mikko (@mikko) hace unos días. Nos ha contado el origen de la charla, entre otros Román y David Barroso (@lostinsecurity). También de las tendencias, en las que los malos están organizados y especializados, además de ser creativos. Además, de las diferencias que hay entre los equipos rojo y azules, siendo más numerosos (o con más capacidad, o con más ventaja) los primeros. No se puede dejar de contar las distintas dificultades según el tipo de ataque y qué se busca (la pirámide de la foto). Entre otros elementos para generar la inteligencia privada están los bloqueos de ejecuciones por defecto, es decir: usar listas blancas para indicar qué se puede ejecutar. O, como ya se ha contado en otras ocasiones, mitigar los ataques haciendo pensar al malware que se encuentra en un entorno de análisis: si tiene contramedidas para evitar estos entornos, no cumplirá su función. Y si siempre se ejecuta, mandar la muestra a todas las herramientas. Después hizo una demo.

Y aquí se terminó la octava edición de RootedCon. El multitrack de este año ha podido estar bien, pero la pena es que hay que seleccionar charlas y como norma general me quedaría con las principales. Una vez más, espero poder asistir el año que viene a la novena edición. Y para todos aquellos que he conocido: ¡ha sido un inmenso placer! 

¡Hasta la próxima!