jueves, 13 de octubre de 2016

Timestamp con TSA con HTTP

Si quisiéramos enviar una request a un timestamp server, ¿Cómo lo harías? Yo conozco una TSA que antes me funcionaba (las pruebas que hacía tiraban) hasta que hace poco me encontré con que ya no tiraba el método empleado. Al menos tengo pruebas realizadas que daban resultado y ahora ya no. ¿Por qué? Porque me ahora me está pidiendo que le envíe los datos por post. [Actualización antes de publicar] Porque aun pudiendo haber funcionado con el método de más abajo, el problema no era que no estuviera llamando por post. Realmente en alguna prueba debí de quitar algún carácter y dejó de funcionar [fin actualización] Si accedemos directamente nos encontramos con:
The GET method is not allowed. Try with POST!
La siguiente pregunta es: ¿Cómo sé qué parámetros tengo que pasasrle si quiero continuar usando curl? Hice lo que todo el mundo haría en su sano juicio: leerse la mitad de la RFC1381. Es cierto que hay muchas cosas que se te escapan hasta que encuentras la sección que dice:
There is no mandatory transport mechanism for TSA messages in this document. The mechanisms described below are optional; additional optional mechanisms may be defined in the future.
Y te enumera las distintas formas. Entre las mencionadas están e-mail, fichero (con extensión .tsq o Time-Stamp query), sockets y el que estaba buscando:  HTTP(S). Pero la información que muestra ya la sabemos, porque lo estábamos usando. Pero a partir de otra búsqueda pude encontrar en Stackoverflow que hablaban de un "navegador" específico para estos menesteres. Por lo tanto, para enviar a una TSA un fichero .tsq hay que usar la herramienta tsget.

En teoría deberíamos de poder acceder a ella directamente porque se espera que esté en el path. Pero en mi caso la encontraba. Ni siquiera probando whereis. Así, con otra búsqueda más, apareció en /usr/lib/ssl/misc/. Además, lo más curioso de todo es que el comando man sí que mostraba el manual.

Ahora que ya la tenemos, nos encontramos con un nuevo bache: esta herramienta está hecha en perl y nos muestra un mensaje de error:
"&WWW::Curl::Easy::global_cleanup called at ./tsget line 196."
Aunque después descubrí que sí que había funcionado con este mensaje, hice una nueva búsqueda en la que me encontré con que se podían instalar dos cosas para eliminar el mensaje:
  • Una librería para curl y openssl: 
    • apt-get install libcurl4-openssl-dev
  • Una librería de perl:
    • perl -MCPAN -e "CPAN::Shell->force(qw(install WWW::Curl::Easy));"
Aunque en una de ellas empezó a pedirme que configurara ciertos parámetros y me ofreció hacer casas automáticamente, primero decidí hacerlo a mano. Pero terminé desistiendo y cancelé el proceso para más tarde repetirlo y permitirle hacerlo automáticamente. También hay que tener en cuenta que es posible que te haga falta instalarlo para cada usuario (lo hice con root y parecía que me también me pedía ejecutar el comando de perl para mi usuario mortal).

Una vez instaladas las cosas y encontrarme con que seguía saliendo el mensaje, pero también obtenía resultados, se puede explicar las distintas formas de llamar a la TSA. 

¿Qué estaba haciendo antes y cómo se puede hacer con el nuevo comando?

Antes estaba ejecutando esta línea, pero sin los caracteres en negrita (con ellos funciona, sin ellos no):

cat miFich.tsq > curl -s -S -H "Content-Type: application/timestamp-query" --data-binary @- http://tss.accv.es:8318/tsa -o result.tsr

Con tsget se podría ejecutar de esta forma:

./tsget -h http://tss.accv.es:8318/ts -o /ruta/destino/fich.tsr /ruta/fichero/query.tsq

Ahora si se quiere se podría añadir la ruta de esta herramienta al $PATH para no depender de tener que poner la ruta completa de los ficheros de entrada/salida. Para eso tendremos que editar el fichero /etc/profile. Para mi usuario mortal funciona, que es lo importante.

¿Qué podemos contar de todo esto?

  • Que para estas cosas nos tenemos que acordar de mirar todos los comandos letra a letra, que a veces leemos lo que queremos, no lo que realmente hay escrito.
  • Que para trabajar con una agencia de sellado de tiempo, además de curl tenemos tsget.
  • Que si una cosa no funciona, siempre puedes terminar buscando una posible solución en el RFC del tema en cuestión, si es que existe. En mi caso me lo leí hasta la mitad y como mínimo alguna cosa curiosa aprendes aunque no consigas solucionar el problema. 

martes, 4 de octubre de 2016

Crónica Navaja Negra 2016

Un año más he podido asistir al evento Navaja Negra. Con la única diferencia de que por un buen compromiso personal sólo asistí los dos primeros días.

Otro cambio que ha habido este año ha sido la salida que se produjo hace unos meses de algunos componentes de la organización, a los que se les ha echado mucho de menos. Además, otro cambio que hemos podido ver es que al mismo tiempo que se estaban realizando los talleres se estaban dando algunas charlas. Yo me terminé decantando por estas últimas porque para los talleres se suponía que hacía falta un material que con el que no terminé por hacerme. En mi caso ya les comenté que prefería que no hubiese solapamiento, pero es el típico tema del que hay discrepancias y no se puede contentar a todo el mundo.

Para llegar a Albacete fui con Julian (@Txambe). Una vez hubimos llegado y nos asentamos, nos preparamos para las ponencias en la Universidad de Castilla la Mancha:

Navaja Negra 2016 - Universidad de Castilla la Mancha, Albacete
Navaja Negra 2016 - Universidad de Castilla la Mancha, Albacete
Lo primero que se hizo en la sala fue el inicio de la CON por parte del presidente de la organización Rubén Ródenas (@Eldoctorbugs) presentando lo que podíamos esperar este año, además de indicarnos cómo funcionaría el CTF, los patrocinadores, wellcome pack, etc.

Inicio Navaja Negra 2016
Inicio Navaja Negra 2016
En la mesa también estaba el director de la escuela y Juan Carlos, que era el representante del Centro de Apoyo a Empresas. Así, después de la inauguración, fuimos a desayunar con el magnífico cátering que nos pusieron.

La primera ponencia la presentaba Eduardo Arriols (@_Hykeos), "Como Pedro por su Smart-Building", en el que nos hablaba de los problemas que se podrían causar a los servicios de cuidades, bancos, edificios, etc si los paneles de control que gestionan sus servicios (la luz, temperatura, etc) estuviesen accesibles por Internet.
Navaja Negra 2016 - Eduardo Arriols - Como Pedro por su Smart-Building
Eduardo Arriols - Como Pedro por su Smart-Building
Si la domótica está centralizada podemos hablar de un sistema: Building Management System. Nos habló de las distintas "personas" involucradas en sus desarrollo: los fabricantes y los implantadores (los que compran los cacharros a los fabricantes y lo instalan). Entre otras vulnerabilidades están las típicas web: usuarios por defecto, SQL Injections, contraseñas fácilmente descifrables (hizo reversing de una librería que usaba uno de los sistemas analizados). Usando Shodan o ZoomEye pudo encontrar muchos gestores de este tipo de sistemas abiertos al público. Para finalizar nos enseñó algunas demos.

Para la siguiente ponencia, Daniel Vaca, "Encontrando malware en Android like a n00b".
Navaja Negra 2016 - Daniel Vaca - Encontrando malware en Android
Daniel Vaca - Encontrando malware en Android
 En su charla nos describía cómo funciona Koodous (@koodous_project), una plataforma colaborativa que permite subir las APKs de las aplicaciones de Android y la comunidad las analiza con el fin de buscar malware en ellas, entre otros métodos con análisis estático. Aún así, también usan otros sistemas como Yara (standar análisis de malware identificado por patrones), de los cuales nos mostró algunos ejemplos. Nos hizo una demo de la versión web. Nos nombró dos herramientas que no estaría de más tenerlas, como mínimo, escritas aquí: ApkTool y QARK (Quick Android Review Kit).

Para la siguiente charla, Eva Suarez (@EvaSuarez22) y Manuel García (@Hypnito), con su "Show me the dork",
Navaja Negra 2016 - Eva Suarez y Manuel García - Show me the dork
Eva Suarez y Manuel García - Show me the dork
 Nos presentaban una herramienta que a partir de dorks conocidos permitía automatizar el uso de los mismos para saber si estás afectado por los mismos. Nos explicaron cómo lo idearon y lo desarrollaron, además de los distintos problemas que se iban encontrando (por ejemplo, el captcha de Google) con el fin de que la herramienta fallara lo menos posible. Entre otras herramientas utilizadas tiran de Sinfonier para hacer las reglas que permitirá lanzar las consultas (los dorks) a Google. Además se guardan estadísticas para ir mejorando los resultados. Nos hicieron una demo y se permite probar la herramienta a través del correo que se ve en la foto con un plan de betatester.

Al final su charla pudimos comer allí mismo, ya que como otros años, nos llevaron la comida a la universidad.

Comida primera día Navaja Negra 2016
Comida primera día Navaja Negra 2016

Después de comer pudimos asistir a la ponencia de Rafael Pedrera (@RafaBlackMagic), "Ciberseguridad en infraestructuras críticas".

Navaja Negra 2016 - Rafael Pedrera - Ciberseguridad en infraestructuras críticas
Rafael Pedrera - Ciberseguridad en infraestructuras críticas
Nos contó cómo funcionan, además de hablarnos de las fases de compromiso, ejemplos de ciberataques, mencionó la Estrategia de CiberSeguridad Nacional, los SoC (Security Operation System), los CERTs... De los cuales nombró dos: El CCN-CERT y el CERTSI_ (Perteneciente al INCIBE). Definió qué son las infraestructuras críticas, habló de las investigaciones de ciberterrorismo y ciberdelincuencia o los problemas ya conocidos de los SQL Injection o los pares de usuarios y contraseñas archiconocidos que siempre aparecen en un montón de lugares críticos.

La siguiente ponencia, que era la patrocinada (otra de las típicas discusiones: si no se patrocina, la entrada se hace inasumible. Los hay que no quieren nada patrocinado. Yo creo que media hora o una hora por jornada patrocinada no hace daño). En este caso, Alberto Ruiz (@Alberto_Sophos), nos presentaba "Next generation endpoint: El retorno del rey".
Navaja Negra 2016 - Alberto Ruiz - Next generation endpoint: El retorno del rey
Alberto Ruiz - Next generation endpoint: El retorno del rey
Nos contó la historia de los antivirus y su evolución. Las distintas modas en la venta de estas aplicaciones. Propone no sólo funcionar por firmas, sino tener en cuenta los distintos comportamientos del sistema, ya que al final los distintos malwares siempre terminan actuando de la misma forma. Y si se puede centralizar en a sistemas, como por ejemplo SIEMs, mucho más fácil de gestionar (siempre que sea una empresa, en un entorno domestico...).


Antes de la merienda, Ulises Quesada, del Cuerpo Nacional de Policía, del Grupo de delitos económicos y tecnológicos, nos hacía una pequeña comparación de la realidad vs ficción (en películas).

Navaja Negra 2016 - Ulises Quesada - Itinerario por el Cibercrimen
Ulises Quesada - Itinerario por el Cibercrimen
Nos hablaba de los distintos delitos: al patrimonio, intimidad, calumnias, malware bancario... Mostraba la comparación de a más derechos menos seguridad. Explicaba las características de las estafas y ponía algunos ejemplos de las mismas: es sencillo de ejecutar, no hace falta estar muy cualificado para llevarlas a cabo, lucro inmediato, el anonimato ayuda a no tener tanta conciencia con la víctima, menos riesgo...

Después de la merienda, Pepelux (@pepeluxx) y Luis Jurado (@streaming10), Pepelux y Luis Jurado "1 año de la LECRIM: bugs y exploits" nos contaron algunas formas de bypassear una de las normas de la LECRIM.
Navaja Negra 2016 - Pepelux y Luis Jurado - 1 año de la LECRIM: bugs y exploits
Pepelux y Luis Jurado - 1 año de la LECRIM: bugs y exploits

 Primero Luis nos puso en antecedentes legales: nos habló de algunos casos como los Panamá Papers y sus consecuencias: económicas, reputación, anonimato... Posibles causas: insiders, CSMs desactualizados, pivoting... Las formas en las que se debería de guardar la información o cómo mantener los datos privilegiados a buen recaudo: controles de acceso a la información, formación, etc. Sobretodo cuando se trata de los derechos de los clientes de los abogados. Así, nos contó cómo trabaja en ciertas circunstancias en las que se puede resumir todo como: modo paranoico (llamadas por VoIP con un servidor propio, portátil exclusivo para ese caso, entre otros). Para no extender más su parte: nos habló del derecho a hacer una llamada cuando nos detienen. ¿Qué pasaría si lo ejerciéramos llamando a un teléfono que controlamos, en el que atiende una centralita Asterisk y que al recibir la llamada ejecute comandos del sistema como por ejemplo el de borrar ficheros (rm ´-rf)? Esa fue la demo que nos hizo Pepelux.

En la siguiente charla, Ruth Sala (@ruth_legal) y Selva María Orejón (@selvaorejon) dieron su ponencia: "Cazando al cazador, investigaciones paralelas".
Navaja Negra 2016 - Ruth Sala y Selva María Orejón - Cazando al cazador, investigaciones paralelas
Ruth Sala y Selva María Orejón - Cazando al cazador, investigaciones paralelas
Su charla versaba sobre cómo estuvieron investigando el caso de una Youtuber que se vio acosada por una antigua pareja, también Youtuber, hasta el punto de que empezaron a realizar la investigación como un caso de violencia de género. La descripción de cómo tuvieron que actuar y recolectar las pruebas necesarias para poder judicializar el caso, encontrando otra víctima más y las horas y el tiempo de dedicación para poder llevar el caso. Con la descripción que daban se veía sobremanera la desesperación y el esfuerzo que llevaron a cabo en el caso y los distintos problemas que encontraron por el camino. 

Para finalizar el primer tuvimos la mesa redonda "Estado del arte en ciberseguridad" (de la cual, la única foto que tengo no ha quedado bien). Se estuvo hablando de alguna certificación (como la OSCP, que la dan los de Kali) y la última parte se estuvo hablando bastante de legal.

Después de esta mesa redonda, se hicieron los sorteos, en los que muchos agraciados perdieron el premio por no estar presentes. 

Ya después de cenar, nos habilitaron una sala en el Hotel Universidad para poder montar nuestros propios mini-talleres. 

Al día siguiente, viernes, también tuvimos unas charlas muy buenas. 

La primera de todas la dio Ernesto Sánchez (@ernesto_xload), y su "BadUSB, Vectores de ataque y Contramedidas".

Navaja Negra 2016 - Ernesto Sánchez - BadUSB, Vectores de ataque y contramedidas
Ernesto Sánchez - BadUSB, Vectores de ataque y contramedidas
Comenzó explicando qué es y cómo nos podíamos proteger. Habló de los antecedentes como los virus de sector de arranque para pasar por el famoso autorun de los CDs y los USBs. Además, diseccionó un USB mostrándonos su anatomía. Uno de los cambios mostrados fue el firmware de un pincho con el fin de que se hiciera pasar por un teclado. De los distintos dispositivos mostrados cuyo fin es el de ejecutar funciones como si de otro dispositivo USB se tratase estaban la RubberDucky, Telsi/Tensi (no lo llegué a ver del todo bien), Phoenix Ovipositor (que era el que ha montado la empresa de Ernesto), etc. Algunas posibles protecciones, por ejemplo, para los móviles y que no nos roben datos: ShielDucky o Patitohunter (una herramienta en Python). Después nos hizo unas cuantas demos. 

La siguiente ponencia era la de Pablo González (@pablogonzalezpe) y Rafael Sánchez (@R_a_ff_a_e_ll_o) nos contaron la técnica de "hacking devices around the world: Playing gallinita ciega".
Navaja Negra 2016 - Pablo González y Rafael Sánchez - Hacking devices around the world: Playing gallinita ciega
Pablo González y Rafael Sánchez - Hacking devices around the world
Empezaron contando qué es "jugar a gallinita ciega": Buscar una dirección IP al azar y ver qué hay detrás. A través de un estudio de las motivaciones de los atacantes el mayor porcentaje es la oportunidad (como está ahí abierto, entonces, puedo). El resto de las razones: mostrar que uno sabe mucho, dinero, aprendizaje o psicopatía (romper por romper). También nos hablaron de los RIRs, unos organismos que se encargan de repartir las direcciones IP, fuente de datos para empezar a buscar información. Uno de los RIRs oficiales es el APNIC. También nos definieron los Sistemas Autónomos (AS). No se olvidaron de incluir en las herramientas comentadas Shodan, Censys, MrLooquer, scan.io o Zmap. Ni tampoco de los sistemas que usan a la vez IPv4 e IPv6, llamados dual shocks. Para finalizar hablaron de la seguridad por oscuridad: "como parece que no me descubren estoy seguro". Una de las demos que nos hicieron fueron muestras de dispositivos que tenían abiertos los puertos para acceder a pantallas X11. 

Después de esta charla pudimos tomarnos un buen desayuno.

Así, al finalizar el desayuno, Nicolas Barbovitch y la "seguridad de sistemas de control de acceso basados en lectores ópticos" nos describía los diferentes sistemas de gestión de identidades con códigos de barras.
Navaja Negra 2016 - Nicholas Barbovitch - Seguridad de sistemas de control de acceso basados en lectores ópticos
Nicholas Barbovitch - Seguridad de sistemas de control de acceso basados en lectores ópticos
Empezó desgranando las diferentes familias de códigos de barras y el significado de cada una de sus secciones. Fue poniendo distintos ejemplos de los usos: parkings varios (que pasaron de usar bandas magnéticas a los códigos de barras), el boarding card de los aviones para entrar en salas VIP o incluso la pequeña posibilidad de tener otros dato no verídicos en ella (reecalcar la sección con el código CRS, un código del que se podría obtener más información de la deseada). Existe otra sección con un valor que permite que al validar el ticket suene un número determinado de pitidos, y según estos te cachean o no en EE.UU (por lo que lo de cacheos aleatorios...). Su solución es usar cifrado para que no se pueda manipular la información, tal y como hacen en Alemania con el estándar de la Unión Europea ERA. Los otros ejemplos posibles son, por ejemplo, los códigos usados en fidelización y ofertas, igualmente manipulables. 

Ricardo Rodríguez (), con su exposición "Evolution and Characterization of POS RAM Scrapping Malware", donde POS significa Point of Sales: Punto de Venta, o comúnmente conocido como TPV.
Navaja Negra 2016 - Ricardo Rodríguez - Evolution and Characteriization of PoS RAM Scrapping Malware
Ricardo Rodríguez - Evolution of PoS RAM Scrapping Malware
Se habló de los servicios financieros y las tarjetas de crédito para pagar. Se comentó que la mayoría de los TPVs tienen Windows y si están infectados sería una fuente muy buena para obtener los datos de las tarjetas. Hizo un repaso a la evolución y las características: Funciones, procesos, filtración de datos... ¿Dónde está el dato?: en memoria, en través de la red, en la misma aplicación utilizada... Y para obtenerlos: físicamente, de los tracks de las tarjetas (me acordé de Aladdin y la ponencia que nos dio en NoConName), del chip, del NFC... Contó las características del malware y cómo lo analizó. Después nos hizo una demo.

Después de otra suculenta comida, Jordi Ubach (@jubachm) y con su "¿A qué piso va?" pudimos ver el estado actual de la seguridad industrial. 
Navaja Negra 2016 - Jordi Ubach - ¿A qué piso va?
Jordi Ubach - ¿A qué piso va?
A continuación nos habló de varias marcas como objetivos: Om-Ron, Allem-bradley, Siemens, SMA, XZeres... Hizo incapie en que sus objetivos no eran infraestructuras críticas ni dispositivos asociados al IoT (Internet of Things). ¿Qué dispositivos enocntró? Maquinaria industrial, generadores de energía, aerogeneradores, climatizadores, contadores de luz (los que nos están instalando las compañias: conocidos como smartmeters o IIOT), riegos, frío industrial, lavaderos de coches... Analizó los puertos y también encontró comunicación en texto plano, protocolos estándares, conexiones remotas con software propietario... Y las vulnerabilidades típicas: SQLi, XSS, DoS. Hizo unas cuantas demos entre las que se encontraba un ascensor. 

A continuación otra charla patrocinada. En esta ocasión por CICE (@cicemadrid) presentado por Juan de Dios (@zabachenet) y  Daniel Hidalgo (@dhidalgor) en la que nos hablaron de sus inicios de cómo cuando empezaron eran unos pioneros. 
Navaja Negra 2016 - Juan de Dios y Daniel Hidalgo - Academia CICE
Juan de Dios y Daniel Hidalgo - Academia CICE
De cómo una academia en la que forman a profesionales en el área de imagen y sonido pueden ayudar en las tareas forense de la policía, formándolos para poder reconstruir escenarios, entre otras áreas. Así, nos deleitaron con una demo de un vídeo con fragmentos de los que han montado sus alumnos. 

Para la siguiente charla, Miguel Martín nos habló de la "prevención de ataques ROP mediante instrumentación dinámica".
Navaja Negra 2016 - Miguel Martin - Prevención de ataques ROP mediante instrumentación dinámica"
Miguel Martin - Prevención de ataques ROP...
Empezó recordando qué es un desbordamiento de buffer (sobrepasar la pila junto a la inyección de código). Vimos qué era un ROP y un JOP (Jump Ordered ¿Program?). Pude coger términos como "cambio de flujo indirecto (CALL y JMP basados en memoria) además de mostrar distintas defensas. Para finalizar nos habló de la herramienta PROPID (Prevención ROP con Instrumentación Directa). Lo siento mucho, pero el reversing me cuesta mucho y creo que de esta charla no pillé todo lo esperado. 

Y para finalizar, después de la merienda, pude asistir a mi última charla de las Navajas Negras 2016.

Daniel Medianerio (@dmedianero) dio a conocer "From root to the cipher: new TTPs in Android Malware".
Navaja Negra 2016 - Daniel Medianero - From root to the cipher: new TTPs in Android Malware
Daniel Medianero - New TTPs in Android Malware
Nos habló del malware en Android desde 2009 llegando a los actuales, contando uno a uno cómo funcionaban y funcionan. Algunos ejemplos que dio fueron: Hummingbad, Fakebank, GodLess, Twitoor, Gugi y Tordow. La pena es que no llegué a apuntar sus características. 

Y al finaliza su ponencia me estaba esperando el tren para un viaje familiar ineludible. Aún así, el tiempo que pude pasar estuvo genial. 

Como de costumbre, el año que viene espero volver. ¡¡Hasta la próxima!!