Quantcast
Channel: Un informático en el lado del mal
Viewing all 4222 articles
Browse latest View live

Bugs en Windows: Elevación de Privilegios y D.O.S. por usar rutas sin comillas en la creación de servicios

$
0
0
Esta semana, en la popular lista de correo de BugTraq, se produjo un hilo bastante interesante que capturó nuestra atención par aun artículo en Seguridad Apple. El tema principal del mismo era que el software que Apple está distribuyendo en Windows tiene errores de principiantes y puede ejecutar programas maliciosos en el equipo de las víctimas que consigan una Elevación de Privilegios o generen una Denegación de Servicio en el sistema. Al final, el bug se produce por una forma incorrecta de crear los servicios en un sistema Microsoft Windows, como vamos a ver.

Figura 1: Servicios de un sistema Microsoft Windows

Creación de servicios de forma insegura en Windows

El error presentado se produce porque el programador de la aplicación para Windows, en el caso del hilo, Apple Software Update para Windows, ha creado un servicio que corre con permisos de Administración en el sistema y que es invocado a través de una DLL que se encuentra en un fichero, cuya ruta por defecto es C:\Program Files\Apple Software Update\SoftwareUpdateAdmin.dll.

El error se produce porque en vez de seguir las recomendaciones de Microsoft, al pasar a services.exe la ruta del fichero no se ha tenido en cuenta que esta presenta caracteres de espacio en la ruta, por lo que debería ser pasada entre comillas, es decir con "C:\Program Files\Apple Software Update\SoftwareUpdateAdmin.Dll" para que no hubiera ninguna confusión con el archivo que se quiere ejecutar.

Al no hacerlo, Windows busca todas las posibilidades, por lo que probará los siguientes nombres de fichero en el sistema, a ver si es capaz de localizarlos. Si localiza alguno, el primero será ejecutado y el resto no se buscarán:
- C:\Program.exe
- C:\Program Files\Apple.exe
- C:\Program Files (x86)\Apple.exe
- C:\Program Files\Apple Software.exe
- C:\Program Files (x86)\Apple Software.exe
- C:\Program Files\Apple Software Update\SoftwareUpdateAdmin.dll.
- C:\Program Files (x86)\Apple Software Update\SoftwareUpdateAdmin.dll.
Por supuesto, si no existen ningunos de los primeros, como es lo habitual, el programa acabará ejecutando el que debe, y el sistema no debería dar ningún problema. Pero si existe cualquiera de los anteriores, será ejecutado - en este caso - con permisos Administrativos y por supuesto la aplicación de Apple Software Update no funcionará en absoluto.

Es decir, se habría producido una Elevación de Privilegios para los programas maliciosos que utilicen esos nombres y una Denegación de Servicio estúpida y absurda para el sistema de actualizaciones de Apple, dejando a ese usuario sin nunca más poder actualizar su software.

Este problema no es solo de Apple Software Update, y en el hilo se pudo ver que Microsoft Windows Live Mail y el software de iCloud Control Panel de Apple también son vulnerables a este fallo, lo que podría dar mucho juego a usuarios con acceso a servidores que puedan escribir en alguno de los directorios que van a ser invocados.

Buscando más software vulnerable a este bug

Como a mí me había sorprendido lo fácil y absurdo del fallo, ayer en Eleven Paths nos juntamos a jugar un poco con este fallo y ver qué otro software podría ser vulnerable a esta técnica. En lugar de revisarnos todo los archivos, lo que hicimos fue un test bastante sencillo que orquestamos en unos minutos.

Primero hicimos un programa en .NET guardaba en un log los paths de arranque con los que era llamado, lo que nos permitiría saber qué programa había invocado a éste para que se ejecutara. Luego lo llamamos Program.exe y lo pusimos en la raíz del sistema. Después reiniciamos el sistema y vimos qué aplicaciones lo llamaban. Como se puede ver, en un equipo cualquiera fuimos capaces de ver que varios de los programas que corríamos eran vulnerables a este fallo.

Figura 2: Lista de llamadas a Program.exe

Entre la lista que salió se encuentran Btwdins.exe que es el Servicio de BlueTooth de BroadCom Corporation. También salió el software de Microsoft Office 2013, el controlador Synaptics del TouchPad de nuestros equipos portátiles y WiseLinkPro de Samsung. Todos ellos arrancaron nuestro Program.exe en lugar del programa que deberían lanzar.

Por supuesto, todos esos programas dejaron de funcionar en el sistema y hubo que parar el experimento y reinicar el equipo para que todo volviera a la normalidad, porque los servicios que ellos querían crear no fueron los que se crearon.

Comprobándolo con Autoruns de SysInternals

Para verificar que estos programas era vulnerables es posible ir a ver con Autoruns de Sysinternals cuáles son las rutas que se lanzan, donde se puede ver que todos ellos llaman a Services.exe o a un programa externo como SynTPEnh.exe con la ruta de un fichero como parámetro sin entrecomillar. Allí encontraremos muchos servicios creados con la ruta del fichero entrecomillados, tal y como se puede ver en la siguiente imagen. Es la forma correcta de hacerlo.

Figura 3: Un servicio correctamente creado con la ruta del fichero entrecomillada

En el caso de services.exe, Microsoft deja claro en su documentación que los servicios en Windows se crean a bajo nivel a través de la API CreateService de Advapi32.dll y que ésta recibe un parámetro con la ruta del servicio, que si tiene algún un espacio se debe estar entrecomillada.

Figura 4: Indicaciones de Microsoft para rutas pasadas por parámetros con espacios

Así que cualquier aplicación que tire de esta API que cargue un fichero desde una ruta con espacios y no haya tenido en cuenta que debe entrecomillar la ruta, tendrá problemas. Tal y como pudimos ver con la lista de programas que salieron en nuestro experimento. 

Figura 5: Microsoft Office 2013 vulnerable a este bug, que Microsoft advierte

Eso sí, hasta el equipo de desarrollo del propio Microsoft Office 2013 olvidó seguir esta recomendación y cayó vulnerable en las pruebas.

¿Y la ejecución de programas de Logon con Explorer.exe?

En las pruebas que realizamos, decidimos mirar si pasaba lo mismo con los scripts que tiran de explorer.exe, pero como se puede ver en la siguiente prueba, tanto si se pone entrecomillada la ruta, como si no, se obtiene el mismo resultado. En nuestras pruebas, nunca se ejecutó C:\Program.exe.

Figura 6: A través de explorer.exe se ejecuta Marmita cuando va entre comillas la ruta
Figura 7: Si va sin entrecomillar, con explorer.exe también se ejecuta Marmita y no Program.exe

A nosotros se nos han ocurrido un buen numero de escenarios en los que podrían ser utilizadas estas técnicas. Evidentemente, escribir en C:\ no está al alcance de todos los usuarios, y menos si han tenido presente la fortificación de un sistema Windows, pero en un sistema en el que haya mucho software vulnerable, el número de carpetas que se pueden utilizar es grande. Por ejemplo, en el caso del software de BlueTooth de Broadcom, la ruta que se invoca es: C:\Program Files\WIDCOMM\Bluetooth Software\Btwdins.exe.

Figura 8: Ejecución insegura en Btwdins.exe de Broadcom Corporation

Con esa ruta, se pueden intentar crear los siguientes tres ficheros para conseguir el mismo objetivo.
- C:\Program.exe
- C:\Program Files\WIDCOMM\BlueTooth.exe
- C:\Program Files (x86)\WIDCOMM\BlueTooth.exe
Esto parece que va a dar bastante juego, así que ya os iré contando más adelante qué se puede hacer, que estamos pensando nuevas pruebas para completar estos resultados.

Saludos Malignos!

Analizar Metadatos Online con MetaShield Analyzer

$
0
0
Hace ya mucho tiempo que pusimos online un servicio para analizar online los metadatos de los documentos ofimáticos y fotografías, la famosa FOCA Online. Ha estado funcionando durante años y han sido cantidades enormes de documentos los que han pasado por allí para ser analizados y ver qué metadatos ofrecían. Ahora desde Eleven Paths llegó el momento de evolucionarlo con un nuevo motor, un nuevo interfaz y un nuevo nombre dentro de la familia MetaShield Protector de productos para evitar fugas de información con metadatos: El nombre que le hemos dado es MetaShiled Analyzer.

Figura 1: MetaShield Analyzer

El funcionamiento es muy sencillo, basta con ir a la web de MetaShield Analyzer, seleccionar de tu equipo el documento que quieres analizar, y ver los resultados que se obtienen. Los tipos de documentos que se pueden analizar son.
- Microsoft Word Binario: DOC
- Microsoft Excel Binario: XLS
- Microsoft Power Point Binario: PPT y PPS
- Portable Document Formart: PDF
- Microsoft Word OOXML: DOCX
- Microsoft Excel OOXML: XLSX
- Microsoft Power Point OOXML: PPTX y PPSX
- Open Document Text: ODT
- Open Document Spreadsheet: ODS
- Open Document Presentation: ODP
- Open Document Graphic: ODG
- Open Office Binario: SXW
- Fotografías: JPG
Recordad que estas extensiones hacen referencia al tipo de documento, y puede que haya otras extensiones que funcionen con el mismo motor. Por ejemplo, los archivos perdidos de Microsoft Office tienen extensiones como TMP, XAR, WBK y ASD - por citar algunas - que también pueden ser analizadas, por lo que bastaría con que eligieras la extensión adecuada manualmente.
- TMP: Documento de Microsoft Power Point temporal en formato PPT.
- XAR: Documento de Microsoft Excel temporal en formato XLS.
- ASD: Documento de Microsoft Word temporal en formato DOC.
- WBK: Documento de Microsoft Word temporal en formato DOC.
Lo mismo sucede con los otros formatos de documento que usan las herramientas. En el caso de Microsoft Excel se puede utilizar el motor de análisis de metadatos de XLS o XLSX para extraer información de otros formatos Excel, así que con que le cambies la extensión funcionará.
- XLA: Sin metadatos, es código VBA.
- XLB: Sin metadatos, es un archivo de código binario.
- XLC: Codificación binaria. Mismos metadatos que un XLS.
- XLD: Formato XML sin metadatos.
- XLK: Formato binario. Mismos metadatos que un XLS.
- XLL: Formato binario. Mismos metadatos que un XLS.
- XLM: Codificación OOXML. Mismos metadatos que un XLSX.
- XLSB: Formato binario. Mismos metadatos que XLS.
- XLSHTML: Codificación HTML.
- XLSM: Codificación OOXML. Mismos metadatos que XMLX.
- XLT: Codificación binaria. Mismos metadatos que XLS.
- XLV: Codificación binaria. Mismos metadatos que XLS.
- XLW: Codificación binario. Mismos metadatos que XLS.
La FOCA Online ha muerto, pero ha nacido MetaShield Analyzer que además va a tener un ciclo de actualizaciones y nuevas características más continuo, así que como homenaje, qué mejor que analizar el famoso documento de Tony Blair.

Figura 2: Análisis de Blair.doc con MetaShield Analyzer

Las fugas de datos en metadatos han dado mucho juego, y seguro que seguirán dándolo. En el artículo de Análisis Forense de Metadatos he recogido ya más de 30 casos distintos en los que fueron importantes. Si tienes sugerencias, ideas, errores o cualquier comentario que creas que puede aportar a mejorar MetaShield Analyzer, no dudes en ponerte en contacto con nosotros y enviarnos tu sugerencia.

Saludos Malignos!

Extracción de claves GnuPG con el poder de tu mano (Jedi)

$
0
0
Tenía pendiente desde que salió publicado, la lectura de este paper sobre criptografía, firmado en la Universidad de Tel Aviv. El título ya de por sí había generado mucho buzz en los medios, y había leído algunas cosas, pero necesitaba algo de tiempo para entender qué es lo que habían hecho y cuáles son las posibilidades de este trabajo ya que tenía en mente trabajos similares anteriores. El documento, que puedes descargar en PDF desde la siguiente URL, se llama "Get Your Hands Off My Laptop: Physical Side-Channel Key-Extraction Attacks on PCs".

Figura 1: Get Your Hands Off My Laptop

Una vez leído, parece que lo que han hecho ha sido una implementación de los famosos ataques de Criptoanálisis Acústico, a un escenario en el que el side-channel no es el sonido que se genera desde el microprocesador, sino las vibraciones que se generan en los elementos físicos cada una de las diferentes operaciones que realiza el microprocesador. A ver si consigo explicarlo.

Los ataques Tempest

Los ataques Tempest se basan en medir canales paralelos para poder extraer la información original que los genera. Se hicieron famosos por los ataques a monitores CRT donde se medían la frecuencia y se podía ver la pantalla de una determinada persona, pero el número de ataques han ido creciendo. Aquí os dejo un ejemplo de cómo se podría utilizar para saber a quién está votando una persona en un sistema de voto electrónico de Holanda.


Figura 2: Ataque Tempest al sistema de voto electrónico Holandés

Hoy en día tenemos ataques que se han hecho muy populares, como el que conseguía grabar las pulsaciones de teclado midiendo con una luz en la tapa de la pantalla las vibraciones al pulsar las teclas, los keloggers hechos con los acelerómetros de los smartphones, etcétera. 

Yo, reconozco que tuve la ocasión de aprender mucho sobre Tempest en el evento Asegúr@IT III que hicimos en Bilbao, donde Pablo Garaitzar a.k.a. "Txipi" de la Universidad de Deusto, dio una de las charlas más entretenidas y educativas que recuerdo. El tema fue Tempest: Mitos y Realidades y puedes conseguir el audio de la sesión y las diapositivas, además de poder ver el vídeo que tengo subido a mi canal Youtube desde hace tiempo. Aquí os lo dejo.


Figura 3: Tempest - Mitos y Realidades

En esta charla, hacia la parte final, Txipi habla del Criptoanálisis Acústico a partir de los sonidos que genera el microprocesador de un equipo cuando está haciendo una determinada operación. Es decir, la idea es que cuando un microprocesador hace un HTL o un NOP o un ADD, genera un señal acústica distinta que puede ser grabada con un micrófono.

El criptoanálisis Acústico

Figura 4: Criptoanálisis Acústico

En el año 2004, Adi Shamir - la S de RSA - y Eran Tromer demostraron que era posible reconocer el algoritmo de cifrado y descifrado de un dato con solo grabar sus sonidos, lo que abría el camino a los ataques criptográficos vía sonido. Este mismo ataque culminó el año pasado con el paper en el que, haciendo un ataque criptográfico al algoritmo de GnuPG se podía saber qué clave privada de cifrado se estaba utilizando para cifrar una cadena.

Figura 5: Sonido de cifrado con clave privado en GnuPG. Puedes descargar el audio.

Este trabajo del año pasado, titulado "RSA Key Extraction via Low-Bandwidth Acoustic Cryptanalysis", recibió este año en la Black Hat USA 2014 el Pwnie Award a la Investigación más innovadora. En él, es en el que se ha basado este nuevo paper del que va el artículo de hoy.

Side-Channel usando el contacto físico

Eran Tromer ha continuado con este trabajo, y lo que ha hecho ha sido cambiar el canal paralelo. En lugar de utilizar un micrófono para grabar los sonidos y hacer un procesado de señal de audio, lo que hace ahora es extraer esas diferencias en el espectro de cada una de las operaciones del microprocesador, pero usando las vibraciones en los dispositivos físicos conectados.

Figura 6: Diferentes señales generadas por las diferentes operaciones

Para ello, con tener cualquier contacto físico con el equipo se podría obtener una señal que recoja el estado de todas las operaciones de un microprocesador, permitiendo saber qué algoritmos está ejecutando en cada instante.

Figura 7: Captura de la señal por vibraciones en el cable de red

Por supuesto, lo que más ha llamado la atención es que la grabación de la señal se haga tocando el equipo, la mesa, o el cable de red donde está conectado el sistema informático, haciendo que proteger la información sea cada vez más complicado en muchos entornos.

Figura 8: Captura de la señal física con el toque de la mano

Espero que con este resumen os haya quedado más claro, que no hay nada mejor para un domingo que verse una charla sobre Tempest, leerse un libro de cifrado RSA para saber de qué va esto del criptoanálisis, y degustar un paper sobre extracción de claves de cifrado usando criptoanálisis de vibraciones físicas

Saludos Malignos!

Evernote no quiere hacer nada: ¡Cuida tus publicaciones!

$
0
0
La historia que os voy a narrar ahora tuvo lugar hace más de dos meses con Evernote, pero por la naturaleza de la misma no he podido ni querido publicarla antes. Ahora he sacado un poco de tiempo para contaros con detalle toda la historia, porque sigo indignado con el soporte y creo que es ya demasiado tiempo sin hacer nada. Es una aventura larga, así que más vale que te sientes cómodo en la silla, prepares el cafe y estés tranquilo los próximos minutos. No es artículo con mucha sesera técnica, pero sí que es de longitud, así que ten paciencia.

Evernote y la indexación de las carpetas públicas

Son muchos lo usuarios que publican cosas en abierto en sus cuentas de Evernote. Hasta aquí no hay demasiada novedad. Eso sí, hay que tener cuidado con que se publique una cosa privada cómo pública, porque entonces viene todo el lío. En un artículo en el que hablaba de las posibles fugas de información por las revisiones de artículos con WordPress usaba Evernote como un posible punto de falla para que algo que debería ser privado acabara indexado en la base de datos de Google.

Figura 1: Casi 40.000 documentos públicos en Evernote

Digamos que en una de esas búsquedas, dentro los miles y miles de cosas que hay en abierto di en el Índice de Google con un documento de Evernote en el que un usuario había guardado todas sus identidades [usuarios y passwords] de servicios online. Esto se podía ver en los resultados que muestra Google, pero al hacer clic en el enlace, el resultado es que el usuario había des-publicado de Evernote es documento, y no se podía acceder a ello.

Figura 2: El documento ya no estaba publicado en Evernote

Por supuesto, lo siguiente que había que probar era si ese documento de Evernote estaba disponible en la Caché de Google, pero al intentarlo, no había nada disponible. Por eso de cubrir todas las posibilidades mire en Bing y hasta en Archive.org, pero no. El documento no estaba guardado en ninguno de esos sitios. ¿Eso quiere decir que están a salvo las credenciales que publicó ese usuario? La respuesta es NO.

La Caché de Google y el Índice de Google

Aún mucha gente no entiende las diferencias entre el Índice de Google y la Caché de Google. Digamos que la Caché de Google es un almacenamiento de documentos que han sido visitados por el bot mientras que el Índice de Google es una base de datos en la que el bot guarda la información necesario para poder hacer las búsquedas.

Cuando alguien busca en Google, los resultados se traen directamente desde la base de datos que tiene indexada el motor. En ella no están todos los resultados de Internet, ni mucho menos, y tampoco todos los resultados de un sitio que Google esté analizando. Esto os lo expliqué en el artículo en el que hablaba del Índice principal y el Índice secudario de Google

La Caché de Google es, por otro lado, una especia de Archive.org temporal, pero solo para algunos de los documentos que Google indexa. No tienen porque estar todos los indexados, pero sí que no va a estar ningún documento que no haya sido crawleado y puesto en el índice en algún momento. Algunas veces, es posible ver un documento que ya no existe y que aún está en la Caché de Google.

Dicho esto, al final cuando una página web, como por ejemplo un documento público de Evernote es analizado por Google, la información que en él se contiene puede quedar en múltiples sitios, siendo uno de ellos el Índice de Google, que no tiene nada que ver con la caché.

Figura 3: Aunque el documento se quite de Evernote, ha sido copiado en muchos sitios

Por supuesto, en el Índice de Google no está la copia del documento, sino los datos filtrados para que los usuarios puedan encontrar la información. No está, por ejemplo el CSS del documento, pero sí las cadenas de texto que están contenidas dentro de la web analizada. En el caso de un documento de Evernote se encuentran, por ejemplo, las cadenas que el usuario haya escrito en él, como en este caso, los usuarios y contraseñas de sitios web.

Extraer los datos del Índice de Google

Extraer todos los datos del Índice de Google no es trivial, pero tampoco es rocket science que dicen los anglosajones. En cada petición vas a obtener solo un par de líneas de resultado, por lo que si el documento tienen muchas líneas va a ser una ardua tarea extraer todas. Además, Google no va a guardar absolutamente todo el texto de una web. En el procesado de textos para búsquedas se aplican algoritmos que extraen las partes importantes y quitan el resto.

Es decir, ni hay garantía de que el Índice de Google tenga toda la información, ni de que puedas extraer todo con búsquedas, pero ... seguro que puedes sacar un buen trozo. Y eso es lo que hice. Primero manualmente, y luego con una herramienta que hemos hecho en Eleven Paths y que en cuanto esté depurada y pase por QA os pondremos a disposición pública.

Al final, lo que hice fue probar búsquedas con todas las palabras que habían salido una vez, y luego con un pequeño diccionario, todas restringidas a la URL, para poder sacar, haciendo un poco de Hacking con Buscadores, el máximo posible del índice. Y creedme que salió una cantidad bastante grande de datos. 

La protección contra el Indexado y la Caché en Google

Por supuesto, Google ofrece a los dueños de los sitios web herramientas para evitar tanto la indexación como el cacheo de contenidos. Herramientas distintas para cada opción. En primer lugar, para evitar la indexación de URLs de forma preventiva se puede usar la tag HTML NoIndex, y el HTTP Header X-Robots-Tag "NoIndex". Eso evitaría que cualquier URL que se encuentre - sea como sea - acabe en el índice.

En el caso de Evernote, evitar la indexación de contenidos no tiene sentido, ya que hay muchos usuarios que utilizan Evernote como su punto de publicación de cosas, como si fuera un blog, una web o un Tumblr. Si lo hacen público es porque les interesa que sea público y visitado por otros, así que, el que los visitantes encuentren sus contenidos vía un buscador como Google es una buena cosa.

Ahora bien, si en un determinado momento el administrador de un sitio quiere evitar la indexación de algunas URLs, puede hacer uso de los famosos robots.txt - que solo evita que se indexe el contenido y no la URL si es localizada por otros medios -. Para borrar cualquier rastro de un documento en el Índice de Google, incluida la URL, el dueño del dominio, siempre podrá eliminar cualquier URL usando las Herramientas del Webmaster. Solo si eres el dueño del dominio. Y aquí viene todo el problema.

El reporte al equipo de soporte de Evernote

Dicho todo lo anterior, al ver que el usuario había des-publicado el contenido, intenté avisarle de que aún era posible extraer la información del índice. Busqué las direcciones de correo que pude del usuario y le puse un par de correos, que no sé si llegaron, porque no me contestó y nada pasó. Lo cierto es que no conseguí localizarle.

Después de eso, me puse en contacto con un viejo amigo del equipo de seguridad de Google, que me volvió a confirmar lo que ya sabía. La URL del Índice de Google solo la puede sacar el dueño de la URL, es decir, el administrador el dominio del que cuelga la URL: En este caso Evernote. Esta es la línea temporal de los acontecimientos.

1 y 2 de Junio: Primer Intento

Con estas me puse en contacto con Evernote y le conté todo el caso. Le pasé la información, el correo que había enviado al usuario, los datos que estaban en el Índice de Google, y le expliqué que solo debían eliminar la URL con las Herramientas del Webmaster de Google y listo. Este fue el correo que les envié.

Figura 4: Reporte a Evernote con el correo enviado al usuario

Por supuesto, como era de esperar en la primera contestación pasaron de leerse en detalle mi correo y me contestaron que todo estaba OK, que ya el usuario había des-publicado el contenido de Evernote. FAIL 1.

Figura 5: Evernote contesta que el usuario ya ha des-publicado el contenido

Me armé de paciencia y le expliqué que el problema es precisamente ese, que el usuario ha quitado el contenido de la web de Evernote, pero que es Evernote quien tiene que quitar el contenido del Índice de Google

Figura 6: Segundo correo a soporte de Evernote insistiendo sobre el problema

10 de Junio: Segundo Intento

Tras una semana de paciencia sin dar ninguna contestación, el día 10 de Junio, vuelvo a responder al correo electrónico para insistirles en que son ellos los que deben eliminar el contenido. Como no me han contestado les digo que entiendo que si no me contestan más es que pasan del tema y que lo dan por zanjado.

Figura 7: Insisto el día 10 de Junio en un tercer correo

Pero me contestan. De nuevo, pasan de mover un dedo y de leerse en detalle mi correo. Me dicen que es decisión del usuario contactar con Google para que elimine la URL de la Caché. Dos errores gordos impropios de una empresa que quiere ser alguien en el mundo de Internet. FAIL 2.
- Error 1: No está en la caché, está en el índice.
- Error 2: El usuario no puede pedir a Google que quite la URL, solo Evernote.
En mi cuarto mensaje de correo, el quinto en total intentando resolver este problema, les explico la diferencia entre la Caché y el Índice de Google, y les transmito - de nuevo - que el único que puede quitar el contenido del Índice de Google cuando la URL cuelga del domino Evernote.com es el administrador de Evernote.com con las Herramientas del Webmaster de Google.

Figura 8: Explicación a Evernote por enésima vez que el contenido está en el Índice Google

Para enfatizar aún más por qué es importante que hagan esto les explico que si el usuario ha querido quitar el contenido de Evernote, es porque no quiere que el contenido sea público y que ellos pueden eliminar los datos del índice fácilmente. El usuario puede tener la "falsa sensación de seguridad" de que el contenido ya no es público.

Figura 9: Último intento de enfatizar el asunto

Tras este mensaje, parece que el usar mayúsculas les hace intentar entender qué es lo que estoy explicándoles. Total, solo han tardado 10 días en comprender qué es lo que les estaba reportando. A lo que entonces, contestan que su política es no hacer nada, y se quedan más anchos que largo.

Figura 10: Lo hemos entendido, pero no vamos a hacer nada.

12, 18 y 19 de Junio: Tercer contacto

Yo ya no les contesté a ese correo, y el día 12 de Junio me volvieron a escribir para ver si tenía algo más que decir. Yo les contesté que no, que ya estaba esperando a que se borrase de forma natural el contenido del Índice de Google para publicar este artículo - con la esperanza de que se eliminase pronto -.

Figura 11: Último correo mío al respecto de su decisión de política

Tras ese correo, tardan una semana otra vez, pero parece que piensan que "a lo mejor" todo lo que yo estoy diciéndoles es bueno para ese usuario - que ha cometido un error gordo y que es usuario de Evernote - preguntarle si desea eliminar el contenido del Índice de Google Algo que parece razonable.

Figura 12: Parece que van a poner algo de sentido común al caso.

El día 19 de Junio yo les contesto que me parece una aproximación a la solución del problema mucho más adecuada que la primera respuesta. Creo que esto lo tenían que haber hecho el día 1 de Junio, y no casi veinte días después.

Figura 13: Último correo intercambiado

¿Se eliminó a día de hoy el contenido?

Yo he ido siguiendo el estado de esa URL en el Índice de Google, y os juro que parece cuasi inmortal. Han pasado más de dos meses desde que la descubrí y ayer la firme digitalmente en las búsquedas con eGarante, por si en el futuro me dicen que la cosa fue rápida.

La política de Evernote es no hacer nada y nada van a hacer. Algo que yo no comparto, porque si ya saben que el usuario ha querido quitar esa publicación, él no espera que esté eso en el Índice de Google. Ellos no lo avisan en ningún momento en su web. Nunca dice la web de Evernote que los datos permanecerán en Google tiempo después de su des-publicación. 

Ahora, tras este caso Evernote lo sabe, así que creo que deberían avisar a los usuarios o hacer algo al respecto. Fuera del canal de soporte les he transmitido mi malestar con su comportamiento en este caso concreto, y creo que debería ser cuasi ipso-facto el que si un contenido de una web de un servicio como Evernote deja de estar publicado se elimine del Índice de Google o que al menos las webs tengan una sitio para pedir este borrado avisando de la situación. No solo en Evernote, sino en cualquier otra web que haga algo similar.

Puede ser incluso que el usuario no conteste a día de hoy porque ya le robaran las cuentas antes de que yo me pusiera en contacto con él explicándole el problema. 

Por supuesto, entiendo que el error - seguramente por desconocimiento de lo que estaba haciendo - lo comete el usuario, pero en ningún caso Evernote ha mostrado sensibilidad por los datos de su usuario. Por supuesto, tirarse 19 días intentando explicarles el problema tampoco fue nada divertido, y espero que si más investigadores les reportan problemas presten más atención a los reportes.

Saludos Malignos!

Descuentos trampa en "Los 14 Días Locos de Conforama" descubiertos con Archive.org "The Wayback Machine"

$
0
0
¿Quién no ha visto una oferta en Internet y se ha dejado cautivar por los colores llamativos? ¿Quién no ha sentido la emoción de estar frente a una ganga cuando se puede ver que el precio original ha sido reducido en un 30%? ¿Quién ha dicho un 30%, si hasta puedes encontrar 50% y 70%? ¡El día sin IVA!, el MegaOfertón, la Super-Mega-Oferta-Definitiva. Somos seres consumistas que nos dejamos atraer por este tipo de campañas que nos llevan hipnóticos a comprar.

Pero... ¿realmente estamos seguros de que es una oferta o simplemente nos están haciendo creer que es una oferta? Pues esta es una historia real que me ha contado un lector del blog y que me ha hecho mucha gracia por la desfachatez de la misma. Es una una oferta de Los 14 Días Locos de Conforama, que no es tan oferta y que ha sido pillada por uno de los sistemas que a veces usamos para hackear sistemas: Archive.org

Figura 1: Según Conforama están derritiendo los precios

El sitio de The Wayback Machine es como la hemeroteca de las páginas web. En ese sitio puedes ver cómo ha ido cambiando una página web a lo largo del tiempo, puedes mover el dial de la historia y ver cómo se podría ver una URL hace seis meses, un año o hasta 10 años si lleva mucho tiempo en Internet.

Figura 2: En Archive.org puedes ver el pasado de cualquier URL

Así que, nuestro amigo Alex, vio un ofertón en la tienda de Conforoma en el que se podía ver que un mueble contaba con un 50% de descuento sobre el precio original del producto. Una oferta sin duda que como tal, debe ser solo por tiempo limitado, final de existencias, o cualquier otro motivo que lo justifique como estos 14 Días Locos de Conforama.

Figura 3: El precio actual, con un 50% de descuento. Un ofertón.

Nuestro amigo, conocedor de otros sitios web que a veces no hacen tan buenas ofertas como propone y como además conoce las maravillas de Archive.org, decidió que podría ser una buena idea el comprobar cómo había ido variando el precio de dicho producto. Puso la URL del producto en The Wayback Machine y movió el dial de la historia hasta, por ejemplo, el 2 de Enero de este año, y esto es lo que se puede ver.

Como veis, el precio final no ha variado un ápice en estos 8 meses, - y tampoco dentro de estos 14 Días Locos de Conforama - pero lo mejor de todo es que sí, que ¡el descuento ha aumentado! Ha pasado de un simple 33% a un maravilloso 50%... 

Figura 4: En Enero de 2014 la oferta era menor porque el mueble costaba menos.

¿Cómo es esto posible? Pues por la inflación de las cosas - y eso que el gobierno en España dice que los precios están bajando. Ni mucho menos, el precio de este mueble, como el de los buenos vinos ha subido durante estos 14 Días Locos así que en lugar de derretirse los precios crecen solitos. Este mueble se ha debido convertir en un clásico. Por suerte para el comprador, Conforama ha decidido subir el descuento durante estos 14 Días Locos y mantener el mismo precio. Ahí la oferta.

Lo cierto es que este truco lo puedes hacer con muchas tiendas online, y si haces como Alex y sacas una copia de cada URL con el servicio de web firmada de eGarante, tal vez puedas utilizar esta información para denunciar públicamente alguna falsa campaña de promoción como esta.

Saludos Malignos!

Riesgos de seguridad al cargar contenido externo en tu web

$
0
0
Desde hace algún tiempo, en todas las webs que auditamos con nuestro sistema de pentesting persistente Faast, una de las cosas que miramos es la lista de todas las fuentes de contenido externo que cargan en el sitio web. No solo lo que se carga en la página principal, sino lo que se carga en todas y cada una de las URLs de la web. Esto es importante, pues el ataque a los clientes de un sitio puede venir por un fallo en cualquiera de los servidores que están sirviendo código en la web que visualiza el cliente.

Los riesgos para un cliente pueden ser muchos, como el intento de distribución de malware o la inserción dentro de una Botnet JavaScript, pero también para el servidor, que al permitir que se cargue contenido se está abriendo la puerta a ataques de ClickJacking, Defacements, CSRF, etcétera, por lo que hay que tener mucho cuidado con qué contenido estás cargando en tu web.

El ataque de lo SEA a la web de la RSA Conference

Uno de los casos más recientes de ataque a una web mediante el compromiso de fuentes de contenido externo tuvo lugar en el defacement de la web de la RSA Conference, una de las conferencias de seguridad de más prestigio en el mundo. Para poder realizar el ataque, el grupo SEA (Syrian Electronic Army), aprovecho que se cargaba un fichero JavaScript desde un servidor web perteneciente a otro dominio. Este fichero se utilizaba para llevar las estadísticas de las visitas a la web y el grupo atacante busco la manera de que se cargara el fichero JavaScript que ellos querían. 

Figura 1: Esquema del ataque de SEA a la web de la RSA Conference

Para ello tenían que conseguir que el nombre de dominio del servidor remoto apuntara a una dirección IP controlada por ellos, por lo que revisaron en qué proveedor estaba registrado el dominio del servidor de las estadísticas e hicieron un ataque de phishing a los empleados del registrador - que buscaron por Linkedin - para robar credenciales de acceso a la gestión de los dominios.

Figura 2: Defacement mostrado por el fichero JavaScript malicioso cargado remotamente

Con una de esas identidades robadas fueron capaces de gestionar el DNS del dominio al que pertenecía el servidor de las estadísticas y hacer que el nombre del servidor que cargaba el fichero JavaScript en la web de la RSA Conference apuntara a un servidor web controlado por ellos, desde el que cargaron un fichero JavaScript distinto que mostraba el mensaje que ya se ha hecho famoso que puedes ver en la Figura 2.

El Malvertising o la distribución de malware por redes de publicidad

El termino de Malvertising viene de Malicious Advertising, o lo que es lo mismo, contratar con una empresa de publicidad una campaña en la que puedes meter contenido Flash o JavaScript. Esto ha demostrado ser una forma perfecta para para los amigos del Fraude Online de distribuir contenido JavaScript malicioso a través de los propios ficheros JavaScript de la red de publicidad que muchos sitios webs utilizan para ganar dinero. 


Figura 3: Esquema de Malvertising utilizado a través de Yahoo! Ad Network

Esto ha sucedido muchas veces en el paso, y la empresa FOX IT - donde trabajan algunos de los mejores investigadores de e-crime españoles - reportaron este año un caso de malvertising utilizando la red de Ads de Yahoo! para distribuir bots de diferentes tipos a través de un Kit de Exploits.

El Hot-linking de imágenes

No podía terminar esta recolección de ejemplos de porque puede ser malo utilizar contenido externo en tu web, sin hablar del Hot Linking. Cargar una imagen - por ejemplo para decorar un artículo en la página de noticias de la compañía o en el blog corporativo - puede terminar con un cambio de imagen en el servidor original que afecte a la reputación del sitio que incrusta la imagen.

Figura 3: Un mensaje típico de una web enfadada por el Hot-Linking

Este es un error muy de novato, y que en tiempos en los que el ancho de banda era más costoso para los servidores web estaba muy mal visto. Si tienes un blog corporativo evita este tipo de acciones para evitar problemas.

La carga de contenido externo hace menos segura tu web

Al final, cuando en una web se carga contenido remoto se está confiando en la seguridad de ese dominio, y no siempre es lo más adecuado, ya que los clientes del sitio web principal podrían verse atacados por un fallo en la seguridad de la gestión de cualquiera de los servidores remotos.

Por eso, cuando revisamos una web hay que mirar qué contenido se carga, y por qué se carga ese contenido. Al final, en la mayoría de los casos un fichero JavaScript o CSS podría cargarse desde el propio servidor y no dejar que un cambio en ese fichero JavaScript pudiera generar un fallo nada deseable, o una caída de servicio en alguno de esos servidores.

Figura 5: Contenido externo cargado en una web, visto con el inspector de contenido de Google Chrome

A lo largo de este tiempo hemos visto sitios que cargan ficheros JavaScript de efectos para el interfaz de usuario desde repositorios de código controlados por desarrolladores que ni son conocidos. Si ese desarrollador cierra, o lo que es peor, se vuelve malicioso y vende ese JavaScript a la distribución de malware, todos los sitios que lo incluyan estarán atacando a todos sus clientes.

Si es un fichero JavaScript para conseguir una determinada función en el interfaz de usuario o fichero CSS de una plantilla de la web, lo más sencillo sería copiar esos ficheros al servidor web principal y reducir al máximo el número de problemas que se deben afrontar.

Contenido externo y rendimiento

Una de las cosas que pueden llevar a alguien a cargar contenido desde servidores remotos es el límite de conexiones concurrentes paralelas que se pueden hacer desde un navegador de Internet a un servidor web. Esto no debería de ser un problema. En el caso de los límites del servidor web, eres tú el que lo controlas y configuras, así que haz tunning de tu servidor web y listo.

Figura 6: Tabla de conexiones concurrentes por hostname en cada navegador

En el caso del navegador del cliente sí que hay límites, pero los límites son por hostname, y como puede verse, estas son muchas. Si el rendimiento es un issue y necesitas paralelizar, lo mejor es que optimices el contenido que vas a cargar al cliente, uses ficheros JavaScript comprimidos y en bundle, y si son muchos los archivos que necesitas, pues que montes tu propia CDN con distintos hostnames o uses una CDN de confianza como servicio, pero cargar contenido de "por ahí" tiene sus riegos, así que evita todos los que puedas.

Saludos Malignos!

Un puesto de trabajo con buenas vistas... para todos

$
0
0
La cena de ponentes de la RootedCON suele ser un acto muy entretenido. Allí te juntas con un montón de buena gente que te aporta un montón de cosas. Entre copas, bromas, pullas, cotilleos y charlas varias, este año tuvimos la ocasión de disfrutar de una imagen bastante curiosa que nos sacó unas risas. A unos escasos 8 metros en linea recta de la puerta del restaurante donde íbamos a pasar de Kilobyte a Megabyte, había un edificio repleto de oficinas. En la planta baja, justo a nuestra altura a pie de calle había una oficina con un ventanal enorme y un trabajador dándole a la tecla.

Figura 1: El puesto de trabajo con el ventanal a pie de calle

Seguro que debía estar echando horas extras pues serían las 21:00 o 22:00 de la noche, y como se puede ver en la fotografía las pilas de papel que tiene tanto a la izquierda como a la derecha de los monitores no parecen de lo más halagüeñas. Además, el pobre estaba totalmente concentrado con sus quehaceres, controlando tres monitores a la vez, más una mesa de comunicaciones a la que estaba enchufado con sus cascos.

Figura 2: Pilas de documentos, tres monitores de control y una centralita

Tan concentrado estaba que no prestó atención a la centena de hackers que por allí danzaban con ganas de fiesta. Tanto fue así, que hasta nos pudimos acercar a la distancia de un metro para hacer fotos a gusto y leer los mensajes de los monitores. Yo he reducido la foto para preservar su intimidad, pero como podéis ver no hay persianas, ni protector de privacidad en los monitores.

Figura 3: Foto difuminada para mantener privacidad. ¿Qué fono de escritorio tiene?

No sé quién es el responsable de seguridad e esta empresa, pero desde luego, poner a una persona a trabajar con los monitores a la vista de todos los viandantes no parece ninguna buena idea. Lo de que aquella noche diera la casualidad de que se hiciera la cena de la RootedCON 2014 justo en frente, solo pudo ser el destino.... Eso sí, el puesto de trabajo tiene mucha luz y buenas vistas.

Saludos Malignos!

Integración paso a paso de Latch en Laravel Framework, el entorno de desarrollo PHP para los artesanos de la web

$
0
0
Laravel, es un entorno de desarrollo de PHP en pleno auge. Destaca por su sencillez sin perder la potencia y funcionalidades de un buen framework. Además su curva de aprendizaje es muy asequible. Permite que los desarrolladores que comienza con él y sin demasiada experiencia en PHP, puedan aprenderlo muy fácilmente, y también que los que tengan más experiencia lo expriman de un modo avanzado. Para poder trabajar con Latch en él, he hecho una integración al igual que ya se hizo una de Latch para Django, así que en este artículo vamos a ver cómo integrar Latch en tu framework de Laravel.

Figura 1: Laravel, entorno de desarrollo de aplicaciones PHP

Instalación del paquete

Se debe usar un gestor de paquetes llamado Composer para instalar el paquete de "Latch para Laravel" disponible en su GitHub. El archivo composer.json (viene incluido en Laravel) permite definir qué paquetes de PHP se usarán en nuestro proyecto, así que se debe añadir la siguiente línea a este fichero en su require:
"faytzel/laravel-latch": "0.*"
Después se debe ejecutar en línea de comandos y a nivel de la raíz del proyecto composer update o composer.phar update (si es la primera vez que se ejecuta composer en nuestro proyecto se debe utilizar composer install o php composer.phar install) según el modo en que se instale composer en el sistema.

Una vez finalizado lo anterior se debe añadir app/config/app.php en la zona de los providers:
'Faytzel\LaravelLatch\LaravelLatchServiceProvider'
y en la zona de facades:
'Latch' => 'Faytzel\LaravelLatch\Facades\LaravelLatch',
Y por último ejecutar en en la raíz del proyectophp artisan config:publish faytzel/laravel-latchpara añadir la configuración del paquete a app/config/packages/faytzel/laravel-latch.

Configuración del paquete

Si no se dispone ya de ella, es necesario crear una cuenta como desarrollador de Latch, igual que para poner Latch en WordPress o Latch en Windows. A partir de ahí, se debe crear una aplicación. Su nombre será el que le aparezca al usuario en la app de Latch en el smartphone. El ID de aplicación y el secreto serán necesarios durante la configuración de Laravel. Con esta información, ya solo falta empezar a escribir código.

Parear una cuenta de Latch

El método de PHP que realiza el pareado se llama Latch::pair() y permite parear al usuario de la web de Laravel con su cuenta de Latch. Esto ser realiza a través de un formulario e introduciendo el código de pareado que proporciona al usuario la aplicación de Latch en la app del móvil.

Ahora es necesario crear un controlador llamado LatchController que dispone de un método que servirá para parear la cuenta de un usuario de la web a la cuenta de Latch de su smartphone. Y para eso se utilizará Latch::pair(). Esto devolverá el identificador de Latch del usuario que se acaba de parear para poder administrar este pareado cuando sea necesario.

Figura 2: Latch para Laravel. Código de pareado.

Un detalle interesante es que es posible almacenar cifrado en la base de datos el identificador del usuario que devuelve la API de Latch. Así, por defecto Latch::pair() devuelve el identificador ya cifrado, aunque esto puede desactivarse (el segundo parámetro del método permite activarlo o desactivarlo).

Por otro lado, podría darse el caso, por ejemplo de que un usuario introduzca su código de pareado cuando éste ya ha expirado (a los 60 segundos los códigos de pareados expiran por motivos de seguridad). Ante estos casos el método Latch::pair() indicará que no se pudo parear. Latch::error() es un método que devuelve el mensaje de error que ha ocurrido (actualmente soporta inglés y español), o el código, si usamos Latch::errorCode() para tomar acciones determinadas según cada código de error. Al final el código quedaría algo similar e esto:

php


Class LatchController extends BaseController {

public function pair()
{
// Comprobamos que venga el token desde el formulario
if (Input::has('token'))
{
// Obtenemos el código de pareado del usuario
$token = Input::token('token');
// Intenta parear Latch con el código (token)
if ($accountId = Latch::pair($token))
{
// Si consigue parear guardamos el identificador del usuario (cifrado) de Latch en nuestra base de datos
}
// Si ocurre algún error, mostramos al usuario un mensaje de error de una forma amigable
else
{
echo Latch::error();
}
}
}
}

Bloquear el acceso de login a cuentas de Latch bloqueadas

El siguiente paso tras la gestión del pareo, es bloquear el acceso de usuarios (en el formulario de login/autenticacion) que mantegan sus cuentas de Latch bloqueadas. Este es el código que debe introducirse en el controlador de login del proyecto que se esté desarrollando:

php

class LoginController extends BaseController {

public function login()
{
// Datos del formulario enviados por el usuario
$input = Input::all();
// Reglas de validacion
$rules = array(
'email' => 'required|email',
'password' => 'required'
);
// validamos los datos del formulario de login
$validator = Validator::make($input, $rules);
if ($validator->passes())
{
// Credenciales para el inicio de sesion del usuario
$credentials = array('email' => $input['email'], 'password' => $input['password']);
// Establece si tenemos acceso para acceder a nuestra cuenta de usuario
$locked = true;
// Comprobamos si el usuario es valido pero sin loguearlo
if (Auth::validate($credentials))
{
// Obtenemos el identificador del usuario de Latch de nuestra base de datos (con sql)
$user = User::where('email', '=', $input['email'])->first();
$accountId = $user->latch_account_id;
// Comprueba si Latch nos da acceso
if (Latch::unlocked($accountId))
{
$locked = false;
}
}
// Si la cuenta del usuario no esta bloqueada
if ( ! $locked)
{
// Autentica al usuario
if (Auth::attempt($credentials))
{
//
}
}
}
}
}


Latch::unlocked() indicará si el usuario no ha bloqueado nuestra aplicación desde su smartphone con Latch, y Latch::locked() haría justo lo contrario aunque no será necesario usarlo en esta ocasión. Como se ha mencionado anteriormente, el identificador se almacena cifrado en la cuenta. Latch::unlocked() hará todo el trabajo de forma transparente, por lo que no hay que preocuparse.

Desparear una cuenta de Latch

Ya solo falta poder desparear la cuenta de Latch del usuario de nuestra aplicación. Es simple:

php



class LatchController extends BaseController {

public function pair()
{
// codigo ...
}
public function unpair()
{
// Obtenemos el identificador del usuario de Latch de nuestra base de datos
$accountId = Auth::user()->latch_account_id;
// Despareamos al usuario de Latch
if (Latch::unpair($accountId))
{
// Eliminamos el identificador del usuario de Latch de nuestra base de datos
}
// Si hay algun error, se lo mostramos al usuario
else
{
echo Latch::error();
}
}
}

Igual que con los otros métodos, por defecto Latch::unpair() descifra internamente el identificador.

Autor: José María Gómez

La historia no contada de Estados Unidos - Bush y Obama: La era del terror. Un documental de Oliver Stone

$
0
0
Ayer, mientras terminaba mi largo día, me topé en La 2 con la emisión de un documental que me cautivó. Es parte de una serie de documentales que ha hecho el cineasta Oliver Stone sobre La Historia No Contada de Estados Unidos, de hecho es la parte número 10 de la serie, titulado "La era del Terror" y está centrado en los mandatos de George Bush (hijo) y Barack Obama, y cómo han gestionado el miedo del pueblo norte-americano para hacer cosas.

Figura 1: Documental "La Historia No Contada de Estados Unidos - La era del terror"

Al verlo, recordé cómo viví todo el proceso electoral de George Bush y Al Gore, con los problemas de papeletas en las máquinas de votación del último estado, el estado de Florida, donde gobernaba Jeff Bush, el hermano de George Bush, lo que fue uno de los actos más bananeros que se recuerdan del primer mundo. Recordé cómo viví el atentado del 11-S y cómo sentí esa empatía de la que habla Oliver Stone. Recuerdo cómo fue la declaración de la invasión a Irak y cómo fue el día que tiraron la estatua de Saddam Hussein y cómo lo vi por la televisión. Un montón de recuerdos cercanos de la vida en USA.

Figura 2: Portada de la revista Time en Diciembre de 2010 dedicada a Julian Assange

El documental trata temas todavía más reciente, como las filtraciones de WikiLeaks, la persecución por todo el mundo del sitio web. Yo recordé como eso me llevó a pensar en la creación de DUST RSS como forma de evitar algo similar.


Figura 3: Conferencia de Dust RSS dada en la RootedCON 2011

Recuerdo la reacción de Anonymous contra HBGary y el cambio de la empatía a la reprobación de algunas acciones de USA que acabaron estallando con las filtraciones de Edward Snowden sobre cómo la NSA acabó con el espíritu de Internet, que incluso se ha hecho parte de la cultura popular en el mundo entero.

Figura 4: Del "Yes, We Can" de Obama, al "Yes, We Scan" de la NSA

Habla también de la creación de las cárceles por todo el mundo como la de Guantánamo y la presencia militar en casi 200 países de Estados Unidos y de cómo allí algunas acciones han sido difíciles de justificar. Yo recuerdo la narración propia sobre el infierno que vivía Bradley Manning en una de sus cárceles, para al final acabar cumpliendo una condena ejemplar.

Figura 5: Campaña a favor de Bradley Manning

Creo que si no lo has visto, merece mucho la pena que le des un vistazo este fin de semana. En poco menos de una hora podrás repasar los últimos 15 años de la historia de Estados Unidos, centrada en el impacto de que ha tenido en todo el mundo esta "Política del Terror", que cataloga Oliver Stone en su documental.

Saludos Malignos!

HackStory: El libro a leer con la historia del hacking íbero

$
0
0
Si hay una periodista que ha seguido con interés, cariño y dedicación la historia de los hackers en España ha sido Mercè Molist. Durante más de 20 años ha sido común encontrarla en quedadas y eventos de hacking. Yo la conocí en el año 2007, cuando era una periodista de referencia de la sección de tecnología de El País. Un día decidió cambiar su orientación profesional y no dejar que todo lo que había visto, vivido y conocido se perdiera, así que decidió focalizar su tiempo y esfuerzos en la creación de HackStory,  un compendio de los inicios del hacking en este país, que poco a poco fue tomando cuerpo.

Figura 1: Mercè Molist con Kevin Mitnick

En el año 2012 nos contó que estaba buscando la forma de hacer un libro que recopilara, organizara y dejara listo para el futuro el trabajo, algo que como a muchos me encantó. Nosotros estábamos en aquel momento enfrascados también en el proyecto de publicar MicroHistorias, el libro que recoge las aventuras de los hackers de la historia de la informática, así que desde nos pareció una buena idea apoyarlo y desde Informática 64 apoyamos económicamente el proyecto con un porcentaje de las ventas de nuestros libros.

Este verano, coincidiendo con su regreso en los últimos tiempos a la primera línea de batalla de los medios de comunicación - que ahora desde las páginas de El Mundo está llevando al gran público temas de tan interés como el Hacking Ético - ha publicado el libro de HackStory, con un montón de buenas historias.

Figura 2: Libro de HackStory

Yo soy fan de esas historias y los textos de HackStory y aunque muchas de las historias que se cuentan en el libro ya las he leído, estoy volviendo a leer muchas de ellas. Además, haber conocido a muchos de los hackers del libro con el tiempo, me hace disfrutarlo más. 

Cuando lees el prólogo de Zhodiac, con esa pasión que le pone, muchos no se imaginarán el pedazo de profesional y gran persona que hay detrás y todo lo que ha hecho en el mundo después de las aventuras que de él se cuentan. Disfruto mucho con la historia de los Apostols, de las que he disfrutado a lo grande cuando me las ha contado en persona Jordi Murgó, otro hacker que es más grande como persona que como hacker - y ya es decir -.

Figura 3: Los Apostols en 2013

También está la historia de Wiskey Kon Tekila y Estado+Porcino, con los que nosotros aprendimos cómo hacer los primeros cracks. Es genial haber conocido a muchos de ellos y saber que cuando yo aún comenzaba en seguridad informática, ellos ya estaban haciendo estas cosas.... y que seamos de la misma quinta.

También leer las aventuras de aquella época que me habían contado RoMaNSoFt, Dab y CRG en persona, es entrañable. Pero también podrás leer historias como la de Isla Tortuga, La Taberna de Van Hackez, la UnderCON, los inicios de la NoCONname, y un largo etcétera. Merece la pena la lectura, así que ponte con ello, y si puedes, apoya el proyecto para que tengamos una aplicación o continuación pronto.

Saludos Malignos!

Bugs de Open Redirect en 22 dominios de Google

$
0
0
Ayer se han publicado hasta un total de 22 dominios nacionales del buscador de Google que permiten un Open Redirect, es decir, que a través de una URL con un dominio de Google se puede navegar a cualquier URL que se pase como parámetro sin que exista ninguna validación previa. 

Figura 1: Descripción de Open Redirect en OWASP

Esto es especialmente importante en aquellos entornos en los que solo se muestra el dominio de la URL, ya que la víctima cree que va a ir a un sitio de Google y va a acabar en una web distinta. Los dominios afectados son:

- Google.se
- Google.ru
- Google.nu
- Google.it
- Google.co.uk
- Google.am
- Google.com.af             
- Google.co.ao
- Google.ae
- Google.be
- Google.com.sl
- Google.com.sa
- Google.com.bh
- Google.com.bd
- Google.com.br
- Google.com.kh
- Google.com.qa
- Google.com.tw
- Google.com.tr
- Google.com.sg
- Google.com.bo
- Google.com.au
Tabla 2: Lista de dominios afectados por Open Redirect

Para explotar el Open Redirect en cualquiera de ellos, basta con utilizar cualquiera de estos dominios con una URL formada de la siguiente manera:
https://www.google.com.sl/search?source=&q=www.elladodelmal.com&btnI=
Un ejemplo de esto se puede ver en el siguiente vídeo de 17 segundos. Como se puede ver en la lista, hay dominios importantes como el de Google Italia o Google.co.uk del Reino Unido.


Figura 2: PoC explotación Open Redirect en Google.se

Cuidado con los dominios de Google que vais a visitar mientras esto esté funcionando, no sea que acabéis en un servidor que esté armado con un kit de exploits y acabéis bien infectados.

Saludos Malignos!

Google Chrome: Bug para esconder el Path en una URL

$
0
0
Supongamos que en una página web existe una vulnerabilidad de HTML Injection o de XSS que permite a un atacante manipular el contenido que ve un usuario a la hora de pulsar un enlace malicioso. Supongamos que el atacante, con ese HTML Injection, o ese bug de XSS quiere hacer un ataque de Phishing para robar las credenciasles, de ClickJacking para robar acciones, o conseguir ejecutar un ataque que lance un SQL Injection a un servidor de la Intranet desde un enlace malicioso en una web.  En esos entornos, ver toda la URL a la que nos estamos conectando puede ayudar a tener la máxima información posible para saber si algo ha pasado.

Bugs de Address Bar Spoofing

Así, los investigadores de seguridad catalogan como bugs todos los ataques que permiten ocultar, cambiar o engañar al usuario jugando con la barra de direcciones. En el caso de los dispositivos móviles, se han visto muchos bugs de Address Bar Spoofing que han sido corregidos en el pasado, pero a día de hoy ya no parece tan importante.

De hecho, en los navegadores se empieza a eliminar incluso el Path de la URL, dejando sólo como información útil el nombre de dominio. Se supone que si alguien es capaz de inyectar código HTML o un XSS en la URL, el problema no es que se juegue con el Path, sino que existe un bug de HTML Injection o XSS en la web. En el caso de Google Chrome es posible manipular desde un enlace el Path que se muestra en la barra de direcciones. Para tratar de comprender esta característica, debemos tener claro las partes que componen una URL:

Figura 1: Estructura de una URL 

Normalmente cuando los que estamos en el campo de la seguridad informatica nos encontramos con un enlace que explota una vulnerabilidad de XSS reflejada que está siendo explotada, podemos reconocerla fácilmente mirando el Pathname de la URL o viendo que en la URL hay código HTML/Javascript/CSS/* inyectado. La mayoría de las personas, por el contrario, ignoran lo que hay en el Path de la URL y simplemente les basta con saber que el sitio en el que están navegando es legitimo, fijándose en el dominio del sitio web pudiendo ser engañadas más fácilmente.

Figura 2: Código inyectado en una URL

Si un sitio tiene una vulnerabilidad de HTML Injection o XSS y si se puede de alguna manera ocultar el Path de la URL a todos, - con o sin conocimientos en seguridad - tal vez nos pase desapercibido que el sitio en el que estamos conectados tiene código inyectado por un tercero. Si así fuere, en la barra de navegación del navegador solo veríamos el dominio del sitio sin más, o bien el dominio del sitio con un Path cambiado por el atacante.

Ocultar el Path de una URL en Google Chrome con XSS [Conocido]

Ocultar el Path de una URL es posible en Google Chrome si somos capaces de inyectar un código script en la página vulnerable. Así, inicialmente se vería la URL con todo el Path, pero luego, tras la ejecución del código script inyectado se podría cambiar. Para ello es necesario inyectar un código script como el siguiente que "abuse" de las funciones de HTML5.
<script>window.history.pushState("change", "title", "/nuevo-path");</script>
Figura 3: Ejemplo de cambio de Path por medio de inyección XSS

Ahora bien, esto no es nada nuevo y está contemplado ya que al instalar el navegador,viene por defecto activado el Google Chrome XSS Auditor, por lo que para poder inyectar un script en la URL hay que tenerlo desactivado, o bien lograr saltarse el filtro de seguridad con algunos de los casos que van saliendo y que el equipo de seguridad corrige, como hemos visto en el pasado. Aquí hay algunos ejemplos:
- El 0day del Anti XSS de Google Chrome que duró 24 horas
- Unos trucos para pasar el filtro AntiXSS en Chrome y Safari
- Saltándose el filtro Anti XSS de Google Chrome 11
Hacer un bypass y conseguir ejecutar un XSS, por consiguiente, implicaría tener un bugXSS en la web objetivo y un bug en Google Chrome XSS Auditor.

Figura 4: Ocultando la URL en la barra de estado

Junto a este efecto, un atacante podría valerse del viejo truco de cambiar el href de un hipervínculo cuando pasa el ratón por encima para engañar a la barra de estado cuando alguien lo quiere comprobar.
<a target="_blank" onmouseup="this.href='http://www.sitioalqueseredireccionara.com' "href="http://www.facebook.com">http://www.facebook.com</a>
Un ejemplo el truco del hipervínculo que cierra todas las sesiones en Facebook, podemos hacer que cualquiera que ingrese a un cierto enlace http://www.facebook.com/ se le cierre la sesión en Facebook, y ¿quién podría sospechar?.

Ocultar el Path de una URL en Google Chrome un URL overflow [new]

Pero, ¿y si de alguna manera pudieramos ocultar el Path teniendo activado Google Chrome XSS Auditor sin saltarnos ningún filtro? Resulta ser que - teniendo activado el Auditor XSS de Google Chrome - he encontrado la manera en la cual puedo ocultar el Path de cualquier URL, con o sin vector XSS, con o sin parámetros en la URL. Esto es aplicable a cualquier URL. Aquí tendríamos un hipervínculo que ocultaría el Path al explotar el enlace

Figura 5: Explotación del "bug" con un enlace con XSS en la web de autodesk. Código en Pastebin.

El bug - o "feature" según el equipo de seguridad de Google ya que no lo consideran un bug - es que si hacemos que la cantidad de caracteres de la URL sea mayor a 32.760 caracteres, por alguna razón, el navegador limpia de la barra de direcciones todo el Pathname de la URL, y deja únicamente el dominio del sitio, algo bastante curioso. En este ejemplo, con el truco de cerrar las sesiones de Facebook.

Figura 6: El ejemplo del truco de Facebook sería así. Código en Pastebin.

Por lo que si alguien se estuviese aprovechando de un XSS, HTML Injection o hiciese un ataque CSRF con un SQL Injection, o similar, bastaría con agregarle ese trozo de código para ocultar el vector. Como se puede ver, usando comentarios o el carácter sharp es posible añadir tantos caracteres como sea necesario sin que deje de funcionar el hipervínculo.

Ideas finales

Básicamente este fallo abre una gran puerta a los ciberdelincuentes para hacer más efectivos sus ataques y así engañar mucho más fácilmente a los usuarios. A continuación les muestro en un vídeo este “bug” o al menos a mi me parece así, ya que los de Google no piensan de la misma manera, tal vez sea un nuevo “feature” para ellos.


Figura 7: Vídeo con la PoC de este ataque

Realmente es peligroso para cualquier tipo de usuario porque en general, la mayoria de las personas confían en la barra del navegador y la barra de estado para comprobar la veracidad de un sitio, y si el sitio es un sitio confiable, ¿Qué podemos sospechar? En Chrome Canary este bug se vuelve tal vez más peligroso, si el usuario tiene activada la bandera: chrome://flags/#origin-chip-in-omnibox

Este bug fue reportado a Google, pero sin embargo no lo consideran como un fallo de seguridad, y sí una feature, como en el caso de saltarse el filtro de contenido JavaScript con un iframe. ¿Tú qué piensas?


Autor: Ariel Ignacio La Cono
e-mail: msignataur@hotmail.com
Twitter: @IgnacioLaCono

Análisis de un 0-day de Buffer Overflow en BASH 4.3

$
0
0
Un día con tiempo, te pones a revisar código de diversas aplicaciones. Muchas veces vas con la idea de que no encontraras ninguna vulnerabilidad, pero claro, ningún código o programa es perfecto. ¿Qué pasaría si encuentras un 0 Day mientras te paseas por el código fuente de la ultima versión de alguna aplicación? Eso me paso a mi hace unos días, y en este artículo analizaré ese mismo 0 Day que encontré en la última versión disponible de BASH la 4.3 y explicaré un poco el proceso que seguí para crear un exploit en Linux.

1.- Creación del laboratorio

Voy a explicar todo el proceso que hice para saber que impacto tenia mi descubrimiento y como podría ser aprovechado si era posible. Nuestro entorno controlado será un pequeño “laboratorio” que utilizara: · VirtualBox + Guest Additions por mayor comodidad. En él instalé una imagen de Ubuntu Desktop 14.04.1 LTS arch:i386.

Figura 1: Instalación de Ubuntu 14.04 sobre Virtual Box en el laboratorio

Una vez configurada e instalada la imagen sobre VirtualBox, instalamos las Guest Additions para una mayor comodidad con el entorno. ¿Por que hacemos esto? Pues simplemente para que si se nos va de las manos, no salpique a nuestro sistema operativo de uso diario y así evitar posibles futuros problemas.

2.- Descargar y analizar el código vulnerable

Para descargar la aplicación usaremos el comando apt-get o en su defecto aptitude para descargar el código fuente mediante el uso del parámetro source de la siguiente manera:

Figura 2: Descarga del código de fuente de bash con apt-get

Ahora ya podemos pasar a analizar el código vulnerable que esta alojado en la siguiente ruta: bash4.3ubuntu1.tar\bash-4.3\lib\sh\unicode.c linea 65:

static char charsetbuf[40];


static char *stub_charset ()
{
char *locale, *s, *t;

 locale = get_locale_var ("LC_CTYPE");
if (locale == 0 || *locale == 0)
{

strcpy (charsetbuf, "ASCII");
return charsetbuf;
}
s = strrchr (locale, '.');
if (s)
{

strcpy (charsetbuf, s+1);
t = strchr (charsetbuf, '@');
if (t)
*t = 0;
return charsetbuf;
}
strcpy (charsetbuf, locale);
return charsetbuf;
}


Se puede observar una evidente vulnerabilidad en el tratamiento de las variables charsetbuf y locale, y el bug puede reproducirse de la siguiente manera: Todo lo que se tienes que hacer es configurar LC_CTYPE o LC_ALL con un string muy largo pasando por la función de tratamiento de caracteres Unicode y usando printf. Con una simple linea se puede observar el desbordamiento:
$ bash -c "LC_CTYPE='$(printf %40s)' printf '\U876543210'"
Figura 3: Explotación del bug con bash -c "LC_CTYPE='$(printf %40s)' printf '\U876543210'"

Hay que tener en cuenta que esta vulnerabilidad solo esta presente en sistemas que no implementen locale_charset en libc/libintl/libiconv.

3.- En busca del 'Program received signal'.

Juguemos ahora un poco con los caracteres y observemos las diferentes salidas mediante una gran herramienta, GBD:
Program received signal SIGABRT, Aborted in 0xb7fdd424 in __kernel_vsyscall ()
Figura 4: SIGABRT mediante bash -c "LC_CTYPE='$(printf %40s)' printf '\U876543210'"
Program received signal SIGSEGV, Segmentation fault in __gconv_close (cd=cd@entry=0x0)
Figura 5: SIGSEGV mediante bash -c "LC_CTYPE='$(printf %40)' printf '\U876543210'"

Es curioso, que solo cambiando un carácter %40s a %40 salgan salidas distintas. En la primera salida pone __kernel_vsyscal, que para los que no lo sepan es el método utilizado por linux-gate.so, una parte del kernel de Linux, para hacer una llamada al sistema usando el método más rápido disponible, usa preferentemente la instrucción SYSENTER. En la segunda salida, en el archivo gconv_close.c en linea 35 pertenece a una función encargada de abortar calls, y posteriormente liberar todos los recursos.

4.- Preparando y analizando el binario en nuestro entorno controlado.


Vamos a ver qué protecciones tiene este binario y qué podemos y qué no podemos hacer. Para ello, podemos usar checksec.sh para comprobar las implementaciones de seguridad que tiene este binario de fabrica.

Figura 6: chechsec.sh sobre el binario de Bash 4.3

Ahora vamos a comprobar si ASLR esta activado:

Figura 7: Comprobación de estado de ASLR

Por ultimo comprobamos si tiene el SetUID o el SetGID activado:

Figura 8: Comprobación de estado de SetUID y SetGID

A primera vista, el escenario de ataque sobre el que hay que trabajar a partir de ahora se queda con las siguientes implementaciones de seguridad:
Partial RELRO: GOT no modificable.
STACK CANARY(ProPolice): No hay nada que hacer..
NX: Stack no ejecutable.
ASLR: 'Random' Memory.
SETUID: No esta activo.
La pregunta que hay que hacerse a partir de este punto es ¿se puede hacer un bypass a estas protecciones? La respuesta es: , pero NO. Veamos por que:

5.- ¿Que implementaciones de seguridad nos 'molestan' realmente?

Tanto a NX como ASLR se les puede hacer un bypass mediante una técnica llamada ROP. Ahora veremos qué fácil es crear un payload en ROP de forma automática gracias a ROPgadget una gran herramienta que también nos permite hacer búsqueda de gadgets.

Hay otras herramientas como ropeme la cual ofrece la búsqueda de gadgets en el binario y también la creación de payload de forma automática. Hay que destacar que estas dos grandes herramientas solo pueden generar payload de arquitecturas x86, veamos cómo.

Iniciamos ROPgadget con la opción '--ropchain' para que genere nuestro payload del binario bash.
$ python ROPgadget.py --ropchain --binary /bin/bash
Figura 9: ROPchain mediante ROPgadget

Teniendo esto, solo habría que guardarlo en un archivo *.py y cambiar el padding a: p = 'A' * 40 y ya tendríamos nuestro payload funcional. Se pueden dar algunas situaciones con las que tendríamos que lidiar:

- STACK CANARY o ProPolice nos frena en seco: una solución no perfecta es cambiar el valor de canary mediante un proceso hijo, y volverlas a cambiar por el valor canary original antes de que esta sea comprobada de nuevo si no, se detectaría un error.

- RELRO nos implementa un nivel de seguridad más: Cuando el binario es ejecutado y trasladado a la memoria, se hace una llamada a Procedure Linkage Table o PLT que posteriormente hace un jmp a la GOT. Básicamente RELRO nos impide modificar GOT.

6.- Conclusiones

Esto artículo quiere demostrar que no debemos confiar en ningún programa, porque nunca son 100% seguros, somos humanos y por tanto hacemos cosas imperfectas.

En este caso hemos visto un 0 Day, en concreto un Buffer Overflow en la ultima versión de BASH, la 4.3. Hemos seguido unos pasos para comprobar su protección, entender cómo funcionaba, y saber qué podríamos y qué no podríamos hacer.

Hemos visto que hacer un bypass de NX y ASRL no es demasiado complicado, que RELRO no nos molesta demasiado, y que STACK CANARY nos frena en seco toda la diversión. Además, aunque no hubiese estado, simplemente podríamos conseguir un ejecución de código arbitrario, pero no podríamos haber hecho un Privilege Escalation ni nada por el estilo ya que no esta el bit SetUID activado.

En este caso, esta vulnerabilidad se 'salva' de ser completamente explotada debido a STACK CANARY, pero hemos visto que el proceso de investigación es divertido y curioso. Solo nos faltaría informar a los encargados de seguridad de este proyecto, de forma responsable, y dejarles un tiempo para corregirla, en mi caso fueron avisados hace 2 semanas aproximadamente, y me dieron ya el consentimiento para hacer la divulgación publica.

Espero que este articulo anime a personas jóvenes como yo, y no tan jóvenes a adentrarse en el mundo de la seguridad informática y el exploiting de Linux. Un saludo muy grande de un chico de 16 años que a veces piensa.

Autor: Hádrien Romero Soria
Twitter: @kaiwaiata.

Famosas desnudas, bugs de Apple y la filtración en 4Chan

$
0
0
Sin duda, la noticia de esta semana ha sido la filtración de una buena cantidad de fotos de famosas desnudas. En la lista se encuentran fotos de Jennifer Lawrence, Kate Upton, Ariana Grande, Mary E. Winstead, etcétera. Un buen número de famosas del cine y la televisión, entre las que también se encuentra Penny, la chica rubia de "The Big Band Theory", en una desafortunada fotografía como una metáfora del artículo que publiqué titulado "Mea Culpa, Penny" en el que decía que las medidas de seguridad no están creadas para todo el mundo.

Figura 1: Sección de la lista de famosas afectadas por la filtración

La filtración se hizo a través del popular foro 4Chan, y como podéis imaginar, las reacciones comenzaron en seguida por Twitter, donde algunas famosas negaron que las fotografías fueran suyas y otras confirmaron su veracidad, y el robo de las mismas. Como suele suceder en 4Chan, la historia rápidamente se enredó con fakes, comentarios, y hasta con una donación espontánea de BitCoins para el supuesto agresor de la intimidad de las famosas, que muchos, ávidos de más sangre y más material, decidieron apoyar rápidamente. La pregunta que queda en el aire y que todo el mundo quiere responder es... ¿Cómo lo han hecho?

Los Bugs de Apple: El cifrado de Apple iCloud

Casi todas las famosas afectadas usaban iPhone, así que rápidamente las miradas apuntaron hacia Apple y su popular sistema iCloud. Hay que tener presente que esta historia viene además como anillo al dedo para la promoción de la cinta de "Sex Tape", en la que los protagonistas tienen una filtración de un vídeo casero gracias a poner en un iPad la grabación y compartirlo por la "nube". Lo más gracioso de esa película es el trailer, cuando el protagonista dice: "Nadie sabe lo que es la nube".


Figura 2: Sex Tape: "Algo pasa en la nube"

La nube de Apple, conocida como iCloud, es una vieja conocida de todos los que trabajamos en seguridad. Cuando escribimos el libro de Hacking iPhone ya le echamos un ojo a todas las posibilidades, y se conocen bastante bien sus debilidades de las que han utilizado alguna sí o sí para perpetrar este ataque.

En primer lugar, cuando Apple introdujo iCloud, lo uso inicialmente como forma de hacer backup del contenido de iPhone & iPad, lo que hacía que fotos, vídeos, notas, marcadores de navegación, datos de apps, etcétera, se copiaran a los servidores de Apple. Una mala idea para la privacidad personal, pero al final, para la gente que ha dejado de utilizar PCs en su vida cotidiana, el contar con un backup en la nube podría ser muy útil.

Lo que se sabe de ese backup en la nube es importante que todo el mundo lo tenga presente y es que NO está cifrado con nada más allá que tu clave. Es decir, todos los archivos que están en el backup se encuentran sin cifrar sin ningún tipo de clave de ningún tipo. Cuando se hace un backup usando Apple iTunes, se puede elegir si el backup se quiere hacer cifrado o sin cifrar, pero en Apple iCloud el backup se hace sin cifrar más que con tu clave. Así que si tienen la clave de Apple iCloud tienen el cifrado.

La empresa ElcomSoft tiene una herramienta muy popular y conocida llamada ElcomSoft Phone Password Breaker, que entre otras cosas permite que, dado un usuario y una contraseña de Apple ID, se pueda acceder a la carta a los backups de un terminal en la nube. Es decir, alguien podría estar monitorizando constantemente los backups de la nube - por ejemplo los WhtasApp o las nuevas fotografías - que el terminal iPhone o iPad va subiendo periódicamente. 

El protocolo de acceso a Apple iCloud está analizado y re-analizado, y en una conferencia no hace mucho tiempo se publicó un estudio y unas librerías en Python para todo aquel que quisiera hacerse su propia herramienta, así que si las famosas tenían activado Apple iCloud - que parece que está más que confirmado - es de donde se sacó el material.

Figura 4: Análisis de protocolo iCloud y Find My iPhone

Evidentemente, como son backups, si hay una copia de seguridad de una fotografía antes de que esta sea borrada, permanece en la nube. Esa es la explicación de que alguna famosa afirmase que esas fotos ella las había borrado. Sí, pero no de la nube - hay que revisar Sex Tape -.

Los bugs de Apple: La autenticación en 2 pasos

Hasta que no sucedió el escándalo Mat Honnan, el periodista de la revista Wired que fue "hardly hacked", desde la nube de Apple iCloud, la compañía no sacó un sistema de 2FA (Second Factor Authentication) llamado Verificación en 2 Pasos. Un 2FA es una de las formas más seguras de proteger una identidad digital. Como ya expliqué en el artículo de "Cómo proteger identidades digitales", existen diferentes alternativas, como el caso de Google Authenticator, Verificación en 2 Pasos de Apple que usa también SMS - y puede ser robado con el terminal bloqueado usando la previsualización - o nuestro Latch para poner pestillos digitales a cualquier identidad.


Figura 5: Verificación en 2 Pasos de Apple

Con una verificación de segundo factor, si alguien quiere acceder a la cuenta con la contraseña correcta, es necesario que se verifique la aprobación desde un terminal móvil, en este caso. En el caso del periodista Mat Honan, antes de que estuviera disponible este sistema, el atacante convenció a un Genius de Apple para que se la resetera y se la diera.

Ninguna de las famosas había activado la Verificación en 2 Pasos, así que para el atacante sería fácil utilizar las credenciales de las víctimas sin preocuparse, pero aún hay más. Apple desplegó la Verificación en 2 Pasos primero solo para Apple ID en algunos países, pero no para los servicios de Apple iCloud. Después extendió los países pero no llegó a Apple iCloud. Por último creo un nuevo servicio de Verificación en 2 pasos en Apple iCloud (en Julio de este año) que debía ser configurado nuevamente para que se activase también. Y aún así, la Verificación en 2 Pasos no está activada en el acceso al backup, luego es posible acceder al backup sin esa verificación.

Los bugs de Apple: El robo de las cuentas

Por supuesto, aunque se pueda acceder al backup y los ficheros estén sin cifrar, hace falta conseguir las credenciales. La gran pregunta es ¿cómo las han podido conseguir? Lo más sencillo para el gran público es pensar en un ataque a iCloud, y cuando apareció iBrute, el script en Python que permite hacer fuerza bruta a Apple iCloud para sacar las passwords pareció un buen camino.

Figura 6: iBrute

Este podría haber sido uno de los métodos, aunque no creo que fuera el único. Hacer fuerza bruta a través de Internet a un servidor de Apple iCloud - en concreto de Find My iPhone - para sacar una password puede ser largo y tedioso debido a que el usuario está obligado a poner contraseñas complejas, lo que dificulta la creación de diccionarios. Aún así, contando con una botnet sería posible hacerlo y explotar este bug de Apple.

Es un bug de Apple, ya que todos los sistemas deben tener protección contra el Brute Focing, ya sea bloqueando la dirección IP o la posibilidad de autenticarse durante un espacio de tiempo para acabar con este ataque. Apple lo ha arreglado ya para cerrar este camino.

Figura 7: Bloqueo de cuentas de Apple ID

Ahora, cuando hay muchos intentos de acceso desde cualquier punto, la cuenta pasa a estar bloqueada, lo que no sé si será una buena idea, ya que si una implementación de este tipo se hace, se corre el riesgo de que los usuarios sufran Denegación de Servicio como forma de ataque, que junto con un ataque de ingeniería social llamado desde el "Call center de Apple" podría ser una nueva vía de ataque.

Los bugs de Apple: Los Client-Side Attack

Si yo tuviera que elegir un método de cómo han hecho esto, apostaría que a que ha sido un APT (Advance Persistent Threat) o "Ataque dirigido" contra todas y cada una de ellas. Yo creo que los atacantes han estado seleccionando las famosas, viendo sus selfies en la red y de todas ellas han sabido que usaban iPhone. Después han localizado sus cuentas de correo electrónico o usando Twitter les han enviado algún enlace de phishing para robarle tranquilamente las contraseñas.

Las técnicas de phishing siguen funcionando bien, pero en el libro de Hacking iOS le dedicamos un capítulo entero debido a lo problemas de las Webwiews de las apps que ocultan las direcciones de conexión, con lo que es facilísimo hacer un phighing que cuele en el móvil. Esto lo hemos visto en las apps de Twitter que tenían un Address Bar Spoofing de libro, en las apps de Gmail o Facebook. En todas ellas, un enlace abierto hace creer que se está en la web correcta.

Figura 8: Un Phishing a un banco fake usando un Address Bug Spoofing en Gmail para iOS

Yo creo que se puede haber hecho el Brute Forcing para alguna cuenta, pero tiendo a pensar más en un ataque dirigido, uno a uno, de un coleccionista que ha ido eligiendo sus víctimas y disfrutando cómo las cazaba. De hecho, creo que ha podido ser más de uno.

El hackeo de la WiFi de los EMI

Una de las teorías que han circulado por la red ha sido la de que podrían haber hackeado la WiFi de los premios EMI y haber hecho un man in the middle para robar las credenciales de todas ellas. Podría ser, pero mi tendencia es a pensar que no. El ataque man in the middle con una WiFi falsa o conectándose a la de los EMI hubiera tenido que hacerse junto con un SSLStrip para la web, y/o usando certificados falsos. 

Aunque este ataque es posible en algunas apps vulnerables y más que posible en los navegadores de los terminales móviles, hacerlo para robar una contraseña de Apple ID implicaría que hay que hacer un phishing y pedirla en algún momento, algo que normalmente no se hace y que puestos a hacer el phishing no es necesario hackear la WiFi. Eso sí, si se consigue una contraseña de cualquier otro servicio y la persona reutiliza la contraseña, entonces también vale.

Conclusiones

Ahora las famosas están demandando a Apple y a los sitios que no eliminan las fotos, lo que ha llevado a que muchos blogs y sitios web que inicialmente las publicaron con mucha soltura, ahora las estén borrando. Si eres usuario de iPhone o iPad, ya sabes que si tienes Apple iCloud activado, tu backup está sin cifrar más que con tu clave en la nube esperando a que alguien te quite la password.

Por otro lado, como aviso para navegantes, todas las famosas se van a poner de acuerdo para hacer una demanda colectiva también a Apple, por no ofrecer medidas de seguridad suficientes para proteger su intimidad, y que puede que en breve se convierta en una costumbre. Al final, los que almacenan datos de las personas deben ser responsables de ellos y dotar al sistema de todas las mediadas de seguridad posibles para protegerlos.


Figura 9: Tutorial detallado de configuración y uso de Latch en WordPress

Pon una Verificación en dos pasos en tu cuenta Apple, pon Google Authenticator en tu cuente Google y pon Latch en todos los sitios que puedas - en tu WordPress, tu Joomla, tu RoundCube, tu Windows...  - que tener el control de cuando se puede o no se puede acceder a tu identidad es más que necesario hoy en día.

Saludos Malignos!

Estaciones base falsas espían las llamadas telefónicas

$
0
0
En las comunicaciones móviles entre el terminal móvil y la antena de telefonía existen una gran variedad de tegnologías. Son los famosos GSM, Edge, GPRS, UMTS, LTE, que agrupados por distintas generaciones dan lugar a los protocolos 2G, 3G, el actual 4G y la más nueva familia de protocolos 5G. Estos protocolos, como cualquier otro sistema de informático ha sido y es atacado de diferentes formas a lo largo de la historia.

En el caso de GSM, no hace demasiado tiempo os publicaba un caso sencillo de cómo se podría sniffar el tráfico GSM, descifrar el tráfico y acabar capturando los mensajes SMS que se utilizaran por ejemplo como OTP (One-Time Password) para validar una operación o como Segundo Factor de Autenticación del proceso de login de una cuenta.

El ataque con Estación Base Falsa 2G

En el caso de las comunicaciones 2G (GSM/GPRS/EDGE) hace mucho tiempo que se aprovecha una sencilla debilidad de estos protocolos, y es que la red puede autenticar al dispositivo pero el dispositivo no valida a la red, así que cualquier estación BTS puede - técnicamente hablando - suplantar a cualquier red de comunicaciones haciendo que los terminales que estén en su alcance acaben conectándose a ellas. Todo esto lo tienes explicado en detalle en el libro de Hacking de Comunicaciones Móviles GSM/GRPS/UMTS/LTE (2ª Edición)

Figura 1: Escenario de pruebas de Estaciones Base Falsas en caja de Faraday

Estos ataques con Estación Falsa 2G son baratos y fáciles de realizar, ya que por algo menos de 300 USD puedes conseguir todo el material necesario. Eso sí, estos ataques están prohibidos y perseguidos en la mayoría de los países ya que para poder emitir en una frecuencia debes haber comprado el derecho de uso del espectro, por lo que hay que pagar una buena cantidad de dinero al estado.

Dejando a parte la legalidad, si un atacante decidiera poner una Estación Falsa 2G al alcance de unos terminales móviles, y alguien se conectara a ella, podría redirigir las llamadas, grabarlas, redirigir el tráfico de Internet, manipularlo en esquemas de man in the middle, etcétera. De esto, nuestros amigos de Layakk - entonces Taddong  y escritores del libro que os he citado antes -, dieron una charla en la Black Hat DC 2011.

Figura 2: Ejemplos de ataque a conexiones 2G con Estación Base Falsa en BlackHat DC 2011

Por supuesto, cuando se monta una Estación Base Falsa 2G con el objeto de interceptar las comunicaciones móviles, el cifrado es algo que se deja desactivado por la propia estación, para que sea todo mucho más rápido y sencillo a la hora de capturar las conversaciones y los datos.

Las Estaciones Base Falsas 2G y los terminales iPhone

Lo más curioso de todo es que los terminales más modernos, como iPhone o muchos Android no tienen en cuenta ninguna medida de seguridad para detectar este tipo de ataques y, mientas que iPhone tiene la posibilidad de deshabilitar 4G, no existe ninguna forma de deshabilitar 2G y forzar sólo conexiones 3G

Figura 3: El usuario puede activar o desactivar 4G en iOS, pero no 2G

Quitar 4G tiene sentido mientras que en algunos sitios está en "pruebas" o "implantación", pero quitar 2G puede ser una decisión de seguridad que tome un usuario para evitar estos ataques. No hay que olvidar que tanto en redes 3G como en redes 4G se autentica a la red, por lo que hacer un ataque de Estación Base Falsa no es trivial ni mucho menos.

Por otro lado, los terminales modernos tampoco muestran alertas cuando se ha deshabilitado el cifrado. Mientras que los viejos dumbphones te mostraban un iconito con el candadito abierto, los modernos iPhone no enseñan nada similar al usuario.

Figura 4: Nokia muestra que la conexión no está cifrada, iPhone no muestra nada

En el libro de Hacking iPhone se le dedicó un capítulo entero a cómo montar un escenario de ataque con Estación Base Falsa 2G, siendo posible hacer alguna cosa tan curiosa como sacar las fotos del carrete con el terminal bloqueado cambiando la hora del dispositivo desde la antena de telefonía.

Si a esto sumamos que en los terminales iPhone no se pueden instalar apps que controlen las antenas de telecomunicaciones y que para poder usar apps como Signal que ayuden a la detección de Estaciones Bases Falsas necesitas tener jailbreak en el terminal, hace que los dispositivos iPhone sean especialmente adecuados para este tipo de ataques.

Figura 5: Signal, una app para iPhone con Jailbreak
que informa de antenas usadas

Además, esto puede llegar a ser todo lo quirúrgico que se desee, ya que es posible, con cualquier IMSI Catcher extraer el IMSI del terminal objetivo y luego hacer un ataque dirigido con la Estación Base Falsa, dejando sin afectar al resto de los terminales, ya que sería como poner un filtro de conexión en la antena.

Detección de las antenas falsas

Detectar las antenas falsas no es una tarea imposible, sobre todo teniendo en cuenta que las capacidades y características que ponen las operadoras de telefonía son de unas características de potencia, configuración y seguridad distintas a las que se usan en ataques dirigidos o con Estaciones Base Falsa. Simplemente mirando características como el cifrado, la potencia de la antena o revisando toda la información que se ha configurado en ella es posible saber si se está ante una antena con alta probabilidad de ser falsa, si se está en una comunicación insegura sin cifrado, etcétera.

Figura 6: GSMK CryptoPhone

Esto lo detectan los famosos Cryptophones que se ponen en los terminales para monitorizar la seguridad de las llamadas y conexiones de datos, además de añadir capas de cifrado y seguridad adicionales. Por supuesto, esto también lo utilizan empresas y organizaciones de seguridad para monitorizar los entornos de sus instalaciones y evitar este tipo de ataques.

En Estados Unidos, la noticia ha saltado cuando Popular Science, en un recorrido por el país ha detectado varias Antenas de Comunicaciones con Estaciones Base Falsas que estaban funcionando sin cifrado, lo que hacía saltar las alertas en el software de protección de comunicaciones. Y estaban cerca de bases militares, lo que lleva a la pregunta. ¿Quién las puso y para qué?

Figura 7: Características detectadas de USA

Después de la publicación del artículo y el revuelo por todo el mundo, las antenas han sido eliminadas de sus ubicaciones, pero no se sabe exactamente cuántas habrá en Estados Unidos y el resto de los países, sobre todo teniendo en cuenta que está documentado cómo funcionan estos ataques y que el coste de montarlas no es muy caro.

Saludos Malignos!

Antenas WiFi de gran potencia. Enlaces a 1.000 Km.

$
0
0
La necesidad es la madre de todas las ciencias y al vivir en algún lugar del campo de Cartagena alejado de todo surgió la necesidad de lograr enlaces de larga distancia, de muy larga distancia, por lo que llevo años dedicándome a diseñar y montar lo que se llaman Antenas Tácticas, es decir, antenas de conexión inalámbrica que logran enlaces de larga distancia y que reciben ese nombre por su uso militar.

Figura 1: Antena TDJ13 circular

Mi primer diseño fue el de la TDJ13 Circular, que era una modificación de la TDJ13 cuadrada de Pacific Wireless, a los que conseguimos ganar por 1.5db´s. Posteriormente diseñé la antena "SRM" en honor al matemático indio "Srinivasa Aiyangar Ramanujan". Este fue mi primer diseño propio partiendo desde cero  - puedes descargar el manual paso a paso de cómo crear esta antena - y su peculiaridad es que los elementos son elípticos que sin duda son los que mejor resultado dan debido a la naturaleza de la señal. Srinivasa Ramanujan trabajó mucho con las elipses y utilizo sus fórmulas en el este diseño.

Figura 2: Resultado final de la antena SRM creada en el año 2009

Enseguida me di cuenta que todas éstas antenas se asentaban sobre una base común y que no se había logrado calcular con exactitud sus dimensiones y naturaleza. Me costó bastante descubrir - porque es más un descubrimiento más que un invento -, los "Núcleos Belgrano".

Los Nucleos Belgrano

El Núcleo Belgrano es la esencia, la base de todas éstas antenas. Con las medidas exactas e inalterables. Puede funcionar como antena aislada o como iluminador siendo la antena más potente que existe. Tiene mucha más ganancia que una Biquad o Doble-Biquad del Maestro Trevor Marshall.

Nosotros buscamos antenas caseras que sean fácilmente realizables y si es con materiales reciclados aún mejor - llamadas Cantenas -, así nació la Cantena Belgrano, que tiene un rendimiento excepcional, se realiza íntegramente con una lata de galletas danesas del Mercadona o del Lidl y es conocida en todo el mundo de habla hispana y en Asia, y en menor medida en el mundo anglosajón donde siguen con si vieja e ineficaz Cantena Pringles.

Con el Núcleo Belgrano montado como iluminador tenemos recepciones de más de 1.000 Km, tal como se puede ver en este vídeo, y enlaces bidireccionales - en condiciones determinadas - de 402 km:


Figura 3: Enlace WiFi bidireccional de 402 Km con una antena Belgrano

En el siguiente vídeo se puede ver la antena parabólica de rejilla realizada a mano por el amigo Maquia siguiendo los planos de Chalenger. En el video se ve una Cantena Belgrano Sinusoidal diseñada al efecto de tener una relación de foco de 0.6. Esa antena es capaz de alcanzar un AP libre y abierto a más de 400 Km en determinadas condiciones.


Figura 4: Demostración de una Cantena Belgrano Sinusoidal

Con estas Cantenas es fácil enlazar con Ibiza y Mallorca desde el campo de Cartagena. ¿Os imaginas un APT que utilice Acrilyc WiFi con éste material? Nadie nos creía al principio ya que los enlaces a 2.4 Ghz sin línea de visión eran imposibles pero nosotros hemos demostrado que no.

El Proyecto Belgrano

En esos momentos cree un proyecto abierto de diseño denominado "Proyecto Belgrano". Este grupo de trabajo es un taller de diseño de Cantenas que ha dado muy buenos frutos, del que se puede destacar el Belgrano 2NI del Maestro Dragonfly - al que una marca comercial reconocida le ha copiado el diseño:

Figura 5: Cantena Belgrano 2NI

También salieron algunas otras antenas buenas como la Belgrano Copernicus de Xenon022 y los Sparrow del amigo Falcón 622. Siguiendo al maestro - ya fallecido - Alexander Kemurdjian me surgió la idea del Belgrano Meroka. Toma su nombre del sistema de guiado de misiles Meroka alemán.

Este diseño supuso una revolución por cuanto no existe nada parecido en antenas WiFi caseras. Me consta que éste diseño fue probado por un amigo para la guía de misiles con mejor resultado que las antenas canadienses originales, aunque luego no tuvo continuidad en el proyecto.

Figura 6: Antena Belgrano Meroka v1
Con estas antenas, es posible la localización de señales WiFi a larga distancia y encontrar un punto de acceso concreto desde ubicaciones remotas muy lejanas, que puede ser utilizado para fines tan buenos como la conectividad de ubicaciones remotas o tan peligrosos como la realización de ataques APTWiFi dirigidos desde gran distancia, lo que debería alertar a los responsables de seguridad de red de las empresas.

Belgrano Templarios

Hasta ahora todas las antenas que habíamos diseñado eran realizadas con chapa de latón, aluminio, cobre , etcétera, pero desde hace un año comencé a calcular y diseñar cómo serían las antenas construidas sobre PCB (Printed Circuit Board), sobre circuito impreso, que eran muy demandadas por los foreros. Los primeros diseños han sido los de Belgrano Cátaro, tanto en 2.4Ghz como en 5Ghz.

Tenía la idea en mente más de seis años realizando ensayos esporádicos, en Noviembre del año 2013 logré el objetivo. No lo creía posible porque era solamente una intuición pero cuando la probé y vi que funcionaba me emocioné. Belgrano Templario es una antena de panel autorreplicante - NO se trata de un fractal - en un diseño tal, que puedes coger el corazón de la antena - digamos el núcleo - y construir una antena mayor solamente tienes que replicarlo y apilarlo en cualquier sentido. vertical u horizontal.


Figura 7: Funcionamiento de una Antena Belgrano Templario Plana pequeña

Esto es lo más difícil de comprender, mi antena no tiene líneas de enfase, las líneas de enfase son parásitas y pérdidas de señal , los Belgrano Templario son así. No hay que hacer más gasto en I+D, basta replicar y si quieres que trabaje en 5 Ghz o en 20 Ghz basta escalarla y ya está. Para que se pueda apreciar su potencia, aquí tenéis una comparativa de una Belgrano Templario y contra un Antena de rejilla de 20 db's.


Figura 8: Funcionamiento de una Antena Belgrano Templario contra una Antena de rejilla

A día de hoy estoy ultimando una Belgrano Templario con polarización circular. ¿Qué significa esto? Pues que la antena puede girar 360º en vertical con una variación menor de 1.5db´s y que podría ser utilizado para el Guiado de Misiles o sistemas de FPV First Personal View ya que aunque el objeto guiado gire o cambie de dirección, no se pierde el enlace.

Otra particularidad que tiene este diseño es que la antena puede ser destruida en múltiples puntos y seguirá centrada en frecuencia y funcionando, aunque disminuya la ganancia. Con una antena de éstas se podría establecer un punto a punto fuera de cualquier control. De momento, el diseño de la Belgrano Templario no es público hasta que decida qué hacer con él, ya que quiero elegir a qué va a ser destinado.

Autor: Mandarache
Moderador en el foro de Lampi y en Zero13 

Mi agenda de actividades: 8 de Septiembre a 4 de Octubre

$
0
0
Después de un descanso, para el mes de septiembre voy a tener algunas participaciones en conferencias y charlas. Se acabó el verano, y hay que volver al trabajo, así que por si se os pilla bien de agenda y os apetece, os dejo el calendario para este mes de Septiembre y principios de Octubre.

Figura 1: Calendario de Septiembre y principios de Octubre de 2014

Lunes 8: El Hormiguero [Antena 3 TV]

Este lunes voy a participar en el programa de televisión "El Hormiguero", en Antena 3 TV, con una demo de cómo se pueden descargar las fotos desde Apple iCloud, para explicar en unos minutos y en práctica cómo ha podido realizarse el robo de las fotos de las famosas.

Martes 9, 16, 23 y 30: La Mañana con Javi Nieves [Radio]

Como viene siendo habitual desde ya hace más de dos años, yo continuaré los martes [Entre las 10:00 y las 12:00] teniendo una pequeña sección en La Mañana sobre seguridad informática, hacking y tecnología.

Lunes 15: Making the leap from from employee to entrepreneur [Madrid]

Dentro de unas jornadas del Founder Institute, estaré dando una charla en Madrid, en las instalaciones del BBVA Innovation Center de la Plaza Santa Bárbara de Madrid. Aquí tienes el enlace por si quieres apuntarte al evento: Making the Leap from Employee to Entrepreneur

Lunes 22: Club Última Hora [Palma de Mallorca]

Ese día estaré en Palma de Mallorca dando una charla por la tarde en la isla. Aún no hay nada publicado y no sé si será en abierto o no, pero lo que es seguro es que estaré por allí. Supongo que pondrán algo en la web del Club Última Hora.

Miércoles 24: Espacio en Fundación Telefónica [Madrid]

Esa misma semana estaré en una sesión por la tarde, en un debate sobre Internet, Redes Sociales, Seguridad, y alguna cosa más. Seguro. El evento aún no se ha publicado, pero estará con seguridad en la agenda de la Fundación Telefónica.

1 de Octubre: Seguridad empresarial frente a insiders [Villaviciosa de Odón & Sreaming]

Dentro de las actividades del Máster de Seguridad de la UEM, el día 1 de Octubre daré una charla gratuita por la tarde titulada "Seguridad Empresarial Frente a Insiders", donde hablaré de algunos ataques y cómo implementar sistemas de verificación internos, y, como no, usar Latch en muchos de ellos. Al evento te puedes apuntar por este enlace [Seguridad empresarial frente a inisders]. Recuerda que a este evento puedes asistir - una vez registrado al evento - vía streaming por Internet en este enlace. Agéndatelo.

2, 3 y 4 de Octubre: Navajas Negras [Albacete]

Ya en Octubre, iré a dar una charla a las conferencias Navajas Negras en Albacete. En principio, si no me equivoco, mi sesión será el Viernes 3 de Octubre por la tarde. Tendréis más información en la web de Navajas Negras. Además, hay unos talleres y trainings, y se podrán comprar los libros de 0xWord allí.

Y esto es más o menos todo lo que tengo previsto, pero no olvidéis que el 19 y 20 de Septiembre tendrá lugar la RootedCON Satellite en Valencia, con charlas y talleres. En el taller de Hacking Ético, que se regalará el libro de Ethical Hacking de 0xWord. La agenda en detalle es la siguiente:
08 de Septiembre [Antena 3 TV]: El Hormiguero
09 de Septiembre [La Cope Radio]:  La Mañana con Javi Nieves
15 de Septiembre [Madrid]: Making the leap from from employee to entrepreneur
16 de Septiembre [La Cope Radio]:  La Mañana con Javi Nieves
19 de Septiembre [Valencia]: RootedCON Satellite Labs
20 de Septiembre [Valencia]: RootedCON Satellite
22 de Septiembre [Palma de Mallorca]: Club Última Hora
23 de Septiembre [La Cope Radio]:  La Mañana con Javi Nieves
24 de Septiembre [Madrid]: Fundación Telefónica
30 de Septiembre [La Cope Radio]:  La Mañana con Javi Nieves
01 de Octubre [Villaviciosa de Odón]: Seguridad empresarial frente a insiders
02 a 04 de Octubre [Albacete]: Navajas Negras
Además de todo esto sé que haré alguna otra cosa más, pero como no está confirmado 100% aún, ya os lo pondré por Twitter o por aquí más adelante, que si todo va como es normal, intentaré que no falte el post diario en "Un informático en el lado del mal"

Saludos Malignos!

GM01: Cámara de seguridad que te pone en alto riesgo

$
0
0
La historia que vengo a contaros en este artículo tiene que ver con una cámara de seguridad, que lejos de ayudarte a estar más seguro, pone en alto riesgo tu privacidad. Esto, por desgracia, ya no es algo nuevo en este mundo y debemos casi a esta acostumbrados a que esto suceda, ya que hemos visto muchas veces en el pasado cómo cámaras de seguridad permitían acceder a tu intimidad o cómo un mal diseño de seguridad permitía que cualquiera accediera a la contraseña de la cámara de seguridad, tal y como se pudo ver en el 0day que llevaba el libro de Hacker Épico

Figura 1: Cámara de seguridad GM01

En esta ocasión es GM01, una cámara de seguridad que se define a sí misma como una "Easy Cam", lo que no parece nada halagüeño cuando de seguridad estamos hablando. Esta es la historia de su seguridad y cómo aún es posible tener problemas con ellas, pese a haber intentado contactar varias veces con ellos.

GM01: Introducción al funcionamiento

Esta cámara de seguridad es una cámara inalámbrica que funciona con una SIM con la que se conecta con el panel de control. El uso de conexiones móviles en las cámaras de seguridad no es algo tan raro, sobre todo debido a que los ladrones solían cortar cables de teléfono o electricidad para cortar cualquier comunicación con el exterior. Esta cámara viene provista con un SIM y una conexión directa al panel de control en la nube para su gestión.

Además, cada vez que detecta movimiento, toma una fotografía de forma silenciosa y la sube a la nube, a un panel de control en el que el dueño de la cámara puede revisar qué ha sido lo que ha provocado la alerta de seguridad.

Figura 2: Configuración de credenciales y panel de control en la tarjeta de memoria de la cámara

La configuración de la conexión, que viene por defecto sin que mucha gente lo sepan, está un tarjeta de memoria introducida en la cámara de seguridad que, si sacas y montas, podrás ver que hay un fichero que contiene la ruta de conexión al panel de control en aneasycam.com, el número de teléfono y la contraseña por defecto, que como se puede ver es 123456.

Figura 3: El panel de control de la cámara CM01

En esta primera inspección ya se puede ver que seguramente muchos usuarios tendrán la misma contraseña, lo que simplificaría para cualquier atacante el acceso a cámaras de seguridad en las casas particulares de las personas solamente habiendo hecho uso de esta contraseña. Hay que recordar que, por desgracia, la mayoría de las cámaras de seguridad acaban con contraseñas por defecto, incluso en los lugares más insospechados.

Acceso al panel de control como Administrador

Los bugs de este sistema son enormes, pero para empezar veremos lo sencillo que es para cualquier usuario del sistema convertirse en administrador de cualquier cámara de seguridad - incluida la mía -. Para ello basta con entrar una vez con el IMEI de mi Cámara de Seguridad GM01 y la contraseña por defecto. Esto nos lleva a un panel de administración donde el usuario puede ver la configuración de la cámara, cambiar la password, ver las fotos que ha tomado.

Figura 4: Acceso de cualquier usuario a la gestión de su cámara de seguridad

Lo más importante en este caso es que se puede ver que hay un directorio, y ese directorio tiene un Directory Listing como un pino, así que basta con pedir la carpeta sin el archivo aspx y ver qué otros archivos hay en esa ubicación.

Figura 5: El listado de los ficheros de ese directorio

Como se puede ver están todos los ficheros que dan soporte a este panel de control. Entre otros, uno que se llama SuperAdmin.apsx y que si se hace clic en el se abre sin realizar ninguna validación de usuario. 

Figura 6: Acceso al panel de SuperAdmin sin validación alguna

A partir de ese momento se tiene la posibilidad de acceder a todos los IMEI de todas las cámaras de seguridad. Esto permitiría - si el usuario no ha cambiado la password por defecto - acceder a sus fotos y su configuración. En el peor de los casos, se puede cambiar la contraseña y resetear el dispositivo, además de forzar la toma de fotografías en cualquier momento.

Un bug de IIS ShortName como añadido

No hubiera sido necesario tener este Directoy Listing de libro para poder acceder a estos ficheros, ya que además de este, tiene un bug de IIS ShortName Listing que también permite acceder al listado de los ficheros.

Figura 7: Existe un fichero que empieza por s. True

Así que, cualquiera que use FOCA contra este servidor podrá detectar la vulnerabilidad y usando los plugins de IIS Short Name acceder a un listado más o menos completo de todos los ficheros.

Figura 8: No existe ningún fichero que empiece por x. False.

Vamos, que no es complejo para nadie descubrir este panel de Super Admin que no pide ni una contraseña y que lo que deben hacer es validar a los usuarios, y a ser posible con un segundo factor de autenticación como mandan los cánones.

Acceso a todas las fotos de todos los usuarios

Lo peor de todo está aún por llegar, ya que, como se ha dicho al principio, en el panel de control del usuario, cualquiera puede ver sus fotografías de alarmas. También puede ampliarlas y verlas en una pestaña aparte.

Figura 9: Fotos de alarma

Cuando se abren en una pestaña aparte se puede ver que las imágenes se cuelgan en otro servidor web, organizadas por directorios en los que el nombre del directorio es el IMEI de la cámara de seguridad. El nombre de la foto es un time-stamp de cuándo se hizo.

Figura 10: Ruta pública a la fotografía fuera del panel

Como era de esperar, tiene también un Directory Listing - y también un bug de IIS Short Name - que permite acceder a todas las fotografías de todas las cámaras de seguridad de todos los usuarios. Algo muy poco deseable para la privacidad de nadie.

Figura 11: Fotografías de todas las cámaras de seguridad que han vendido por el mundo

Y no hay ninguna protección. Desde que descubrí este bug y me puse en contacto con ellos, han seguido subiéndose fotografías sin que se pueda evitar y ya no sé que hacer.

El antiguo panel, ¿más seguro?

Viendo todo esto, y tirando del hilo, resulta que hay un panel de administración web anterior que no solo vale para cámaras de seguridad, sino para cualquier dispositivo de esta empresa que lleva control remoto por SIM

Figura 12: El panel antiguo indica cuál es la password por defecto para los dispositivos

Por supuesto, desde ahí también se pueden administrar las cámaras de seguridad, y aunque internamente este panel es más seguro, como se puede ver, para todos los demás dispositivos dejan claro en la web cuál es la contraseña por defecto.

Sin cifrado ni doble factor de autenticación

Con todo lo que hemos visto de ataques a la privacidad, como en el caso de las famosas y sus fotos personales de iCloud, o con el gran número de casos de cámaras de seguridad con fallos de seguridad por contraseñas por defecto, el poner un sistema que no utilice tan siquiera un cifrado SSL para la comunicación de las fotografías y el acceso al panel de control, es una locura.

Por supuesto, deseable sería ya que pusieran un segundo factor de autenticación como Latch a mi cuenta, ya que si un dispositivo va a tomar fotografías de mi casa, me gustaría poder saber cuándo alguien ha accedido a mi cuenta. Ni que decir tiene que para ello, las fotografías deben estar protegidas por una sesión y no accesibles como ficheros cualquiera en el servidor web.

Figura 13: Correo electrónico enviado al fabricante por varios medios

Me puse en contacto con ellos hace tiempo y no he recibido ni respuesta, y viendo que la gente sigue cayendo en estos problemas y que yo tengo una cámara de seguridad que no me atrevo a utilizar, he decidido hacer públicos los fallos para alertar a los usuarios y posibles compradores y meter presión a la empresa para que solucione todos estos fallos.

Autor: Retro-Maligno

Robar fotos de Apple iCloud de un usuario de iPhone

$
0
0
Ayer estuve en el programa de televisión "El Hormiguero" explicando cómo se pueden robar las fotos de un usuario de Apple iCloud que tenga un iPhone para  que la gente pueda entender entender de qué forma se ha podido realizar algún robo de fotos del Celebgate, para robar las fotos desnudas de las famosas. Al final, tal y como yo suponía, no ha sido un bugúnico sino un trabajo de mucha gente durante mucho tiempo que se ha dedicado a coleccionar este tipo de fotografías, haciendo para ello ataques dirigidos a las cuentas de las famosas.
Figura 1: Vídeo de la demo en el programa de El Hormiguero

Entre los trucos para robar las contraseñas se ha podido encontrar el ataque por fuerza bruta a Find My iPhone, el  robo mediante ataques man in the middle, el shoulder surfing o cualquier otro medio de ataque, pero seguro que muchos han optado por el ataque mucho más sencillo de Phishing dirigido. Esto en iOS, como se  cuenta en el libro de Hacking iPhone, es muy sencillo debido a las WebViews y la política de Apple contra el spoofing de correo electrónico y su aplicación. Vamos a ver la demo paso por paso para que se entienda mejor.

Fase 1: Spoofing, SPF y la  política de Gmail

Para hacer este ataque dirigido, el esquema que se va a utilizar es de lo más sencillo del mundo. Vamos a enviar un correo electrónico a la víctima haciéndola creer que viene de apple@apple.com. Para hacer esto nos vamos a aprovechar de que el filtro anti-spoofing de correo electrónico del dominio apple.com definido en el registro SPF (Sender Policy Framework) está configurado como un SoftFail (~s) y no como un HardFail (-s).

Figura 2: Configuración de registro SPF de apple.com

Esto quiere decir que el servidor de correo que recibe un correo del dominio apple.com que no venga de una dirección IP 17.0.0.X debería subir el scoring de posible spam, pero no darlo por malo. En el caso de que hubiera un HardFail (-s) se supone que apple.com le estaría diciendo al servidor de correo electrónico que recibe este correo que lo tire, que es falso.

Nuestra víctima de ejemplo tiene un correo electrónico creado para la ocasión de Gmail, y Google no es especialmente amigo de tirar los correos electrónicos que el registro SPF marque como SoftFail, así que, como veremos, el correo entrará en el buzón de entrada de la víctima.

Fase 2: Spam y Phishing para robar la contraseña

Para hacer el ataque, en Eleven Paths creamos un pequeño panel de control que envía el "spam" - aunque sólo sea un correo a un destinatario - con un mensaje desde el equipo de Gmail o Apple que urge a las víctimas a ir a un servidor web a revisar su configuración.

Figura 3: Panel de control web para enviar spam de phishing y capturar las claves

Por supuesto, en ese servidor web lo que hay son dos páginas de Phishing que roban el usuario y la contraseña de las víctimas y re-dirigen después a las páginas originales. Un viejo truco del mundo del fraude online. No nos hemos complicado mucho y hemos copiado el formato de los mensajes usados en campañas de verdad.

Fase 2: Alerta inútil en Gmail para iOS & Address Bar Spoofing

Cuando el mensaje de correo electrónico llega, hemos utilizado como lector Gmail para iOS. Esto es así por varios motivos. El primero de ellos es porque es el cliente oficial de Gmail para los terminales iPhone, y muchos usuarios lo utilizan y el segundo porque tiene dos debilidades dignas de resaltar.

Figura 4: En Gmail entra el  e-mail de apple.com com SPF SoftFail

La primera debilidad es que tiene una alerta de navegación externa bastante inútil que informa de que se va a proceder a una navegación externa, pero la URL que el usuario ve es la de un servidor de Gmail y no la del  servidor web de Phishing, con lo que ayuda a tranquilizar a la víctima y que haga clic en el enlace.

Figura 5: Alerta de external page que no informa bien y Address Bar Spoofing en la WebView

La segunda de ellas es  que cuando se abre, lo hace una WebView que oculta la barra de direcciones y solo muestra el campo título de la página web, lo que ayuda a que se produzca un bug de Address Bar Spoofing de libro.

Figura 6: La contraseña se recoge en el panel del servidor de phishing

Por supuesto, en cuanto el usuario introduce su usuario y su contraseña en la web de Phishing, nosotros la enviamos a nuestro panel y después re-dirigimos la navegación del WebView a la web original de Apple y/o Gmail.

Fase 3: Acceso a Apple iCloud sin alerta ni 2FA

Con la contraseña de la víctima, el siguiente paso es bastante trivial. Basta con conectarse a Apple iCloud y descargarse el backup. Existen librerías en Python para hacer esto, pero para transmitir a la gente que esto a día de hoy no es "rocket science" hemos usado una herramienta muy conocida que se llama ElcomSoft Phone Password Breaker, que ya tiene herramientas para monitorizar backups en Apple iCloud.

Figura 7: ElcomSoft Phone Password Breaker permite descargar de iCloud

Para ello se necesita introducir el usuario y la contraseña o un token de autenticación de la cuenta y listo. No hace falta robar un segundo factor de autenticación, pues aunque el usuario tenga Verificación en Dos Pasos configurada en su cuenta de Apple ID y/o Apple iCloud, el servidor de Apple iCloud lo ignora.

Figura 8: Las credenciales para descargar el backup de Apple iCloud. Elcomsoft dice que ahora puede descargar el backup sin credenciales.

Una vez conectados a su cuenta, se pueden ver todos los dispositivos que hay, el número de serie, el UDID para preparar un troyano dirigido y el número de backups que hay disponibles de ese dispositivo.

Figura 9: Se puede personalizar lo que se desea descargar del backup

Para no descargar todo puedes personalizar la descarga del backup, y bajarte lo que te interese. En este caso las fotografías de la víctima, pero podríamos descargar la base de datos de WhatsApp -  es conocido como un método para espiar WhatsApp -, la información de Facebook, Gmail, etcétera.

Figura 10: Se descarga lo seleccionado con hacer clic en Download

Una vez que se han descargado, ya lo único que hay que hacer es abrir la ubicación de descarga y tendremos acceso a las fotografías de la víctima, en este caso las de la falsa cuenta de Pablo que creamos para la ocasión.

Conclusiones

En este caso la password se roba con trucos muy conocidos y funcionales en el mundo del e-crime que todavía, a día de hoy, siguen funcionado. Tal vez porque los usuarios tienen que introducir demasiadas passwords en su vida y ya no se fijan dónde y cuándo lo hacen. Hay que intentar que cada vez que se inicia una sesión en un sitio se conozca, y por eso nosotros apostamos por algo como Latch.

Figura 11: El rollo de fotos descargado del backup de Apple iCloud

Respecto a Apple, a mí me encantaría que mejorasen la configuración del filtro SPF, que no hubiera posibilidad de hacer Brute Forcing en ningún sitio de la web - que ya está hecho según parece - que pudiera poner una clave extra de cifrado del backup - al igual que se hace en Apple iTunes -, que el segundo factor de autenticación funcionase en Apple iCloud y a ser posible que las contraseñas caducasen y se avise mejor de todos los inicios de sesión de cuentas (ahora se puede configurar una alerta  por e-mail).

Saludos Malignos!

Apple lanza el Phishing Universal para iCloud, además de Apple Watch, Apple Payments y iPhones más grandes

$
0
0
Ayer era el día en el que Apple decidió mostrar al mundo sus nuevos productos. Un iPhone 6 más grande, más rápido y más potente, un iPhone 6 plus aún más grande, en HD, que cuesta 1.000 € si quieres el biggest of the biggers, un sistema de pagos usando NFC que en un alarde disrupción han llamado Apple Payments y por último Apple Watch, el reloj inteligente de Apple - que he de decir que me ha gustado mucho todo lo que he visto de él -. Pero... yo hoy venía a hablaros de otra cosa que para muchos usuarios quizá ha pasado más inadvertido y que también ha lanzado Apple: El Phishing Universal para Apple iCloud.

Figura 1: Apple lanza el Phishing Universal para Apple iCloud

Puesta en situación

Para los que acaben de llegar del Planeta Mercurio o de la comarca de Babia en la región de León, hace unos días se produjo el Celebgate, donde algunas actrices de Hollywood aparecieron retratadas en momentos no pensados para el gran público. Tras este incidente, hubo especulaciones, investigaciones y recriminaciones sobre los fallos de seguridad que Apple, siempre en pro de la usabilidad, había relegado a planificaciones temporales más tardías.

Se habló de un bug que permitía hacer fuerza bruta a la contraseña a través de los servidores de Find My iPhone, de que Apple iCloud ignora el segundo factor de autenticación, de que el backup en iCloudNO permite una clave maestra de cifrado controlada por el usuario, de que da facilidades para robar cuentas al no permitir cambiar las preguntas de recuperación de claves, de que da facilidades al spoofing de correo al tener el filtro SPF como SoftFail, que no avisa bien a los usuarios cuando se hace uso de sus credenciales en otras ubicaciones y de que las integraciones de WebViews en apps de iPhone son malas y ayudan al Phishing al hacer Address Bar Spoofing.

Sirvan todos esos pequeños ejemplos como una breve recopilación de cosas que tal vez Apple podría pensar en mejorar para que ofrecieran un mayor grado de seguridad, y que Tim Cook zanjó en una entrevista con el Wall Street Journal diciendo: "Mejoraremos la seguridad de Apple iCloud".

Las mejoras

La primera oleada de mejoras llegó, y Apple cerró el bug de Find My iPhone que permitía hacer fuerza bruta a las credenciales, para pasar a bloquear las cuentas cuando se prueban más de 30 contraseñas distintas erróneas - lo que ha abierto que algunos se dediquen a generar problemas de soporte en Apple extras -.

Figura 2: Opción para cerrar todas las sesiones de iCloud vía navegador

En la segunda, Apple ha añadido en las opciones de cuenta de Apple iCloud dos cosas: La primera la posibilidad de cerrar todas las ubicaciones abiertas de Apple iCloud por si te has dejado la sesión abierta en un sitio remoto por descuido, pero que vale para poco más si el malo tiene la contraseña o un token de acceso a iCloud.

El phishing Universal

Y ahora viene la mejor. La segunda media: Un sistema para hacer Phishing Universal a todos los usuarios de Apple iCloud. ¿Cómo? Fácil. Institucionalizando que ahora sí, desde Apple, se te va a pedir que con urgencia cambies la contraseña. Como ya teníamos el panel de control para hacer las demos que usé en el ejemplo del robo de cuentas de iCloud con Phishing, nos enviamos un correo legítimo, lo copiamos y probamos. Es genial tener ya un modelo para engañar a las víctimas sin tener que pensar en ningún otro truco. Usa siempre éste modelo para robar cuentas.

Figura 3: El correo de phishing que hay que utilizar como plantilla en español

Años llevan las entidades bancarias diciéndole al usuario cosas como "Nunca te pedimos que cambies la contraseña por e-mail" para que Apple ahora decida que sí, que es lo que te van a pedir. Así que nada, para los amigos del fraude online ahora existe una plantilla modelo para crear el correo de spam que meta urgencia en el usuario y consiga que vaya a una página de phishing que le robe las passwords, con el mismo truco que expliqué ayer para Robar contraseñas de iCloud a un usuario de iPhone. Basta con decir "Eh, tío, alguien ha entrado en tu cuenta, si no has sido tú... ¡Cambia la password!"

Viendo esto, me alegra ver que Latch está mucho mejor pensado, ya que si alguien tiene la contraseña buena e intenta entrar una sola vez, no solo no podrá, sino que además te enteras de que la contraseña ha sido robada porque te avisa vía notificación a tu app, algo que no pasa con los sistemas como Google Authenticator o la Verificación en dos pasos de Apple en iCloud.

Saludos Malignos!
Viewing all 4222 articles
Browse latest View live