Vulnerabilidades en Tor dejan al descubierto los servicios ocultos

Vulnerabilidades en Tor ponen en peligro el anonimato en los servicios ocultos

Lo más probable es que todos sepamos de la existencia de Tor, tengamos ciertas nociones sobre su funcionamiento y hayamos tenido la curiosidad de acceder a un servicio oculto. Pero, ¿somos conscientes de la existencia de vulnerabilidades en Tor que pueden poner en peligro el anonimato en los servicios ocultos?

Leer más

Archivos poliglotas: No es pdf todo lo que parece

Generalmente la forma más usual que utilizamos para reconocer el formato de un archivo es fijándonos en su extensión. En un sistema informático la aplicación empleada para abrir el fichero también se asocia (en primera instancia) con la extensión. Otro método, ampliamente utilizado en protocolos de internet como HTTP o SMTP es MIME, Multipurpose Internet Mail Extensions, que asocia un identificador tipo/subtipo para determinar la naturaleza de los datos transmitidos. Así por ejemplo, «image/jpeg» indicaría que una imagen en formato jpeg se adjunta en el mensaje. Este estándar de notación está regulado por el IANA . La fundación Apache también aporta un intesante listado con la correspondencia entre MIME y extensión de fichero.

No obstante, esta aproximación inicial para identificar un fichero de ninguna manera puede asegurarnos el contenido real del mismo. Por ejemplo, bastaría cambiar la extensión de «.pdf» por «.jpeg» en un archivo para que el sistema, en lugar de abrir el archivo con Adobe Reader, lo intentase con un visualizador de imágenes. Este comportamiento puede ser problemático desde el punto de vista de la seguridad, en el sentido que se se malinterpreta un contenido y que podría utilizarse de manera no esperada para realizar acciones maliciosas.

Cabeceras de fichero y números mágicos

Una forma más precisa para determinar el tipo de fichero es observando el contenido del mismo. Existen múltiples estándares de formato que utilizan unos pocos bytes (en binarios) o caracteres alfanuméricos (en ficheros de texto) del comienzo del archivopara identificar el contenido. Esta convención está estandarizada y se conoce como números mágicos. Un listado puede encontrarse en el siguiente enlace: https://en.wikipedia.org/wiki/List_of_file_signatures.

De este modo, una aplicación que trate de identificar de forma segura un archivo antes de abrirlo, comprobaría la cabecera del mismo para determinar el tipo de contenido. Esta estrategia que en principio podría parecer ideal, tampoco proporciona un método infalible debido a la «flexibilidad» de algunos formatos y la poca rigurosidad de ciertas aplicaciones a la hora de parsear y comprobar las cabeceras y opciones de los mismos. Este problema se pone de manifiesto cuando un mismo fichero puede ser interpretado de distintas formas, dependiendo de la aplicación que lo procese y de las opciones de formato que verifica. Este tipo de archivo se conoce con el nombre de archivo poliglota.

Archivos poliglotas: varios en uno

¿Que es un archivo poliglota?

Un archivo poliglota es un fichero con múltiples formatos válidos, es decir, que tiene una estructura que lo hace interpretable por distintas aplicaciones ya que cumple con el formato esperado por las mismas. Así por ejemplo, un mismo fichero de estas características podría ser abierto como una imagen por un visor de imágenes o ejecutar un script al abrirse con un navegador o un intérprete de comandos.

¿Por qué existen archivos poliglotas? ¿Que riesgos existen?

En general,  podemos decir que se debe a una excesiva flexibilidad a la hora de definir los formatos. Por ejemplo, un archivo PDF permite posicionar su «número mágico» ( 25 50 44 46 en hexadecimal o %PDF en ascii) dentro de los primeros 1024 bytes del archivo, mientras que otros (JPG,GIF, ELF, etc) son menos flexibles y obligan un «offset 0» es decir, a posicionar el número mágico justo al principio del archivo.

El riesgo proviene del hecho de que un mismo fichero puede ser interpretado de distintas formas y, aprovechando esta circunstancia, se  pueden realizar tareas no deseadas. Así, en un archivo con extensión .pdf podría incrustarse código javascript, php o shell script y ejecutarse en un cliente, en un servidor web o en un intérprete de comandos, si la organización de los datos dentro del fichero conserva una estructura válida para todos los formatos pretendidos.

Ejemplos de achivos poliglotas

Veamos un ejemplo muy sencillo (e inofensivo) donde se ha incrustado un comando linux (xeyes) en un pdf y, sin alterar su validez, comprobamos como puede abrirse con un visor de pdf y ejecutarse como un script bash:

bash_pdf

Obsérvese en el volcado hexadecimal, como en la cabecera justo al comienzo del archivo, aparece el comando xeyes. Unos pocos bytes más adelante aparece el identificador del PDF, resultando un archivo válido puesto que este formato permite un offset de hasta 1024 bytes para posicionar la cabecera (Adobe Reader).

Otro ejemplo: un archivo de imagen bmp que a la vez contiene un comando ejecutable windows (calc.exe):

calc2

 

Ataques poliglotas

Este tipo de archivo constituye en sí un problema de seguridad y, es responsabilidad del usuario o una aplicación establecer las comprobaciones oportunas que eviten situaciones de peligro en caso de un uso malintencionado. En esta materia Ange Albertini (@angealbertini) es un reconocido investigador que ha publicado numerosos trabajos relacionados con los formatos de archivo con muchos ejemplos y métodos para construir archivos poliglotas. En su repositorio de Github ( https://github.com/corkami ) encontraréis gran cantidad de información para profundizar en este interesante campo.

Conclusiones:

Como el propio Ange dice: No olvides abrir tu pdf en un editor hexadecimal , cargar una imagen en un reproductor de sonido… o ejecutar un documento en intérprete de comandos. Eso sí, siempre desconfiando de las apariencias.

Bola extra

En este enlace  se proporciona un pdf. Échale un vistazo… y reprodúcelo con VLC player 😉

 

Video: Funky File Formats  (Ange Albertini)

 

 

 

sandbox-caja-magica

Sandbox «La Caja Mágica»

¿Que es SandBox?

Sandbox viene del anglicismo «caja de arena» que se utiliza mucho en países americanos para que los niños jueguen sobre todo en época de verano, en el término de seguridad un SandBox es una máquina virtual donde se corren los procesos maliciosos antes de que lleguen al usuario final.

En la actualidad existen en el mercado varias soluciones de SandBoxing que nos dan un gran abanico de opciones y de sabores.

¿Porqué implementar un SandBox en mi organización?

Es una de las preguntas más complejas de responder pero más fáciles de explicar.

Recientemente se ha venido incrementando los códigos maliciosos específicamente el «malware» que busca sacar dinero a los usuarios de la organización ejecutando programas de procedencia «no confiable», un ejemplo palpable lo tenemos recientemente con el Cryptolocker que cifraba los datos del afectado y pedía un rescate para enviarte la llave para descifrar los datos.

Si tenemos un solución de SandBoxing permitirá que antes de que le demos clic a una imagen, url, fichero o cualquier tipo de información adjunta al correo electronico se ejecute en una máquina virtual comprueba si es de fuente confiable y que no venga codificado (código malicioso), luego de verificar que el correo electronico es confiable o legítimo le permite al usuario abrir el contenido anexado sin ningún tipo de riesgo a infecciones o robo de información.

¿Cuanto tiempo me lleva implementar una solución de SandBoxing?

Dependiendo de la casa fabricante que elijamos podremos tener un tiempo de implementación corto y que se reduce en complejidad del proyecto y dedicación de recursos.

Existen soluciones que se integrarán nativamente con las demás soluciones que tenemos en nuestro entorno corporativo como por ejemplo las consolas antivirus o los servidores de parcheo de sistemas corporativos, teniendo como especial punto que en estos últimos sistemas se aloja el core business es decir, los sistemas que mantienen el negocio y que deben de funcionar las 24 horas los 365 días del año con un porcentaje superior al 99.9999% de disponibilidad.

En este sentido lo más lógico sino queremos tener recursos dedicados al proyecto o evitarnos la complejidad de una implementación podemos contratar servicios en la nube (cloud) que hoy en día ofrecen la mayoría de los fabricantes.

¿Cuanto cuesta una solución de SandBoxing?

No te cuestiones ni de vueltas a la hora de invertir en este tipo de soluciones, la respuesta seria la siguiente: «¿Cuánto dinero pierdes si un código malicioso te bloquea o roba la información?»

Muchas veces lo primero que nos preguntamos es cuanto cuesta pero nunca hemos realizado un ejercicio de riesgo tecnologico o una matriz de riesgo que nos plantee en dinero $$$$ €€€€ cuánto perdemos hora/hombre hora/negocio si tenemos por ejemplo «Cryptolocker acechandonos», cuando una verdad es cierta cada dia las mafias mejoran mas y mas el codigo haciendo que sea una lucha de hormiguitas o que la labor de bloqueo de URL en los Firewalls sea prácticamente imposible.

¿Quién nos puede asesorar en este tipo de soluciones?

Más que vendernos una solución lo clave es buscar la persona o la consultora que nos de no solo una consultoría experta porque instalar «facil» pero tunear una solución de SandBoxing es donde está el secreto.

Por eso es preferible si no somos expertos contratar horas de servicio del propio fabricante que nos sirva para llevar a cabo el proyecto sin ningún tipo de contratiempos.

Finalmente les dejo algunos URL que les servirán para ampliar esta información.

Hasta la próxima……

https://blogs.mcafee.com/business/security-connected/thinking-outside-of-the-sandbox-mcafee-advanced-threat-defense-unveiled

https://blogs.mcafee.com/business/developing-the-ultimate-defense-against-advanced-malware

http://blog.trendmicro.com/trendlabs-security-intelligence/deploying-a-smart-sandbox-for-unknown-threats-and-zero-day-attacks/

https://support.symantec.com/en_US/defaultProductLanding.63070.html

http://docs-legacy.fortinet.com/fos50hlp/50/index.html#page/FortiOS%205.0%20Help/antivirus_chapter.150.25.html

 

 

 

 

hacking-team

Hacking Team: Pwned

A estas alturas, supongo que todos habréis leído/oído las noticias sobre el hackeo a Hacking Team. Hay muchos medios en Internet que se han dado eco de la noticia. Y la verdad es que llevamos unos intensos en las redes sociales desde que salió la noticia, con la gente analizando la información publicada. He pasado algo de tiempo recopilando los tweets que más me han llamado la atención, y aquí os los dejo.

Nota: si visitáis los enlaces de Twitter que aparecen en este blog, no dejéis de leer los comentarios. No sólo aportan información si no que en algunos casos son necesarios para poner contexto al tema.

Antes de empezar con el tema en cuestión, veamos quienes son estos tipos. Os dejo un poco de su historia que fue publicada en Gizmodo y el anuncio donde presentan Da Vinci, su suite de intercepción para gobiernos.

Empiezo por algo que afecta directamente a nuestro país y que a mucha gente ha sorprendido:

La policía y el CNI compran malware!!! Johnny-Depp-panics Honestamente, es sólo la confirmación de algo que ya sabía en algunos círculos desde hace mucho. Lo que sí que me sorprende es que esto no haya aparecido en los periódicos (nota: es posible que si que haya alguna publicación, pero como expatriado sólo miro los periódicos más grandes, y no he visto nada al respecto). Las implicaciones de esto pueden ser muy grandes y estaría bien saber bajo que marco legal se utilizan este tipo de herramientas.

Esta gente trabaja al límite de la legalidad, pero pagan sus licencias de IDA pro:

Hay gente que se ha dedicado a analizar en código de sus paneles de C&C. Se han encontrado con datos que se utilizan en querys a bases de datos directamente, sin filtrar:

Una de las cosas que más llama la atención es este trozo de código en el que se muestran ciertas rutas a ficheros con nombres sospechosos:

En un principio parecía que podrían estar utilizando un programa para plantar evidencias. Por un lado he decir que no me extrañaría demasiado, pero la realidad es que de acuerdo a las rutas que aparecen en el código parece algo que usaban para hacer pruebas forenses o algo así. Aun así, hay gente que no está convencida de esto:

Por último, Hacking Team ha estado en el punto de mira de las Naciones Unidas desde hace un tiempo. Se sospechaba que podrían estar vendiendo su software a países que no respetaban los derechos humanos, es decir, los países que occidente considera «los malos». Aquí os dejo un enlace con un resumen de los correos, este enlace expone el tema de la venta de «ciberarmas» a estos países por parte de Hacking Team. Merece la pena leerlo entero.

Para terminar de añadir salsa al asunto, la persona que filtró FinFisher se ha atribuido el ataque a Hacking Team.

Os dejo a vosotros que saquéis vuestras propias conclusiones. Yo me quedo en mi casa planteándome cuantos Hacking Team, Vupen y otras compañías hay por el mundo operando de esta manera y ayudando que los gobiernos se pasen nuestros derechos por el/la $zona_genital.

EXTRA: uno de los integrantes de Hacking Team no sabía usar los favoritos del navegador… o usaba el mismo equipo que su pareja y se guardaba el porno en un fichero en el escritorio.