miércoles, febrero 29, 2012

Desactivar IPv6 y evitar ataques de red si no usas IPv6

Aunque Internet no está aún preparada al 100% para IPv6 desde hace tiempo los equipos Windows, Linux y Mac OS X vienen preparados y pre-configurados con IPv6. De hecho, la configuración por defecto en Windows 7, Mac OS X Lion y la mayoría de las distribuciones Linux es que IPv6 venga configurado por defecto. Sin embargo no son muchos los usuarios que, aún teniendo esta configuración, hagan uso de alguna aplicación o servicio sobre IPv6, al menos conscientemente.

Lo curioso es que, sin saberlo, sus equipos pueden cambiar a trabajar en modo IPv6 en cualquier momento, y a veces en el menos inesperado, haciendo que sea víctima de algún ataque de red que afecte a IPv6, como son el de envenenamiento de vecinos - algo similar al ARP-Spoofing pero con paquetes ICMPv6 spoofeados que realizan aplicaciones como insane6, parasite6 o Scapy-, a un ataque de Rogue DHCPv6 que configure un servicio de DNS o una puerta de enlace maliciosa o a un ataque de Man in the middle por medio del protocolo SLAAC.

Figura 1: Configuración por defecto de IPv6 en Windows

Ante cualquiera de esos ataques, los sistemas Windows 7, Windows Server 2008 R2 o Mac OS X, vienen vulnerables por defecto, ya que la configuración que traen es la de IPv6 activado y con configuración dinámica de direcciones IPv6 (tanto por SLAAC como por DHCPv6).

Esto además se complica cuando la prioridad en sistemas Windows es trabajar primero con IPv6 y luego con IPv4, lo que haría que un man in the middle en IPv6 afectara igualmente a la comunicación de red aunque hubiera protecciones contra man in the middle en IPv4.

Figura 2: Tabla de precedencia. IPv4 sólo si no hay IPv6 asociada a ese recurso de red

Y si esto era poco malo, resulta que ahora hay disponible un D.O.S. para Windows  - incluido Windows 8 - de 0day para las configuraciones IPv6 por defecto, haciendo uso de la configuración automática de direcciones IPv6 por SLAAC, que hace que los Windows se queden colgados sin funcionar, como puedes ver en este vídeo.


Figura 3: Vídeo de la demostración del flood de paquetes RA

¿En qué consiste el ataque?

SLAAC (StateLess Address Automatic Configuration) es un protocolo de configuración de direcciones IPv6 mendiante mensajes enviados desde el router de conexión, y no desde un servidor DHCPv6. La idea es que un equipo con una dirección IPv6 de vínculo local no puede enrutar su tráfico si no tiene una dirección IPv6 de sitio o global, y es por eso que los routers envían mensajes RA (Router Advertisement) diciéndole a los equipos cómo configurase para tener conectividad a través de ellos.

Figura 4: Configuración masiva de direcciones IPv6 por SLAAC
Como en una red puede haber muchos routers de conexión, los clientes IPv6 de Windows permiten configurarse tantas direcciones como paquetes RA vengan de diferentes routers, y esto es lo que han aprovechado para hacer un flood de mensajes RA que obligue a un equipo Windows a configurarse direcciones IPv6 hasta morir.

Figura 5: IPv6 en un adaptador de red en Windows 7

Para evitar este ataque en concreto, basta con bloquear el descubrimiento de routers por SLAAC en IPv6, con un comando como:
netsh interface ipv6 set interface "Nombre NIC" routerdiscovery=disabled 
Esto evitaría el ataque mitm SLACC, y el D.O.S. de flood RA, pero en IPv6 aún te tendrías que preocupar por el envenenamiento de vecinos que funcionen por direcciones IPv6 de vínculo local y los Rogue DHCP6, así que, si no vas a usar IPv6, tal vez sea una buena idea inhabilitarlo.

En Windows es fácil desinstalarlo, basta con que deselecciones el  protocolo en el adaptador. Para los de Mac OS X es un pelín más enrevesado, pero no tanto, así que os hemos dejado en Seguridad Apple cómo deshabilitar IPv6 en Mac OS X. Así que, si vas a una conferencia de hackers estos días, ten cuidado con tu IPv6.

Saludos Malignos!

Nota: Deshabilitar IPv6 en Small Business Server hace que Exchange no levante, y os lo cuento como experiencia personal... así que hay que buscar otras alternativas en estos entornos.

***************************************************************************************************
- Hacking en redes de datos IPv6: Conceptos básicos IPv6 (1)
- Hacking en redes de datos IPv6: Conceptos básicos IPv6 (2)
- Hacking en redes de datos IPv6: Te hackearán por IPv6 por pensar que no lo usas
- Hacking en redes de datos IPv6: Neighbor Spoofing
- Hacking en redes de datos IPv6: Captura de SMB con Neighbor Spoofing
- Hacking en redes de datos IPv6: FC00::1 (Algunos) Ataques en redes de datos
- Hacking en redes de datos IPv6: Man in the middle en redes IPv4 usando IPv6
- Hacking en redes de datos IPv6: Desactivar IPv6 para evitar D.O.S. SLAAC
- Hacking en redes de datos IPv6: Topera - Scanner de puertos sobre IPv6
- Hacking en redes de datos IPv6: Predecir direcciones IPv6 Local-Link de OS X
- Hacking en redes de datos IPv6: Ataques en redes de datos IPv 4 e IPv6 ***************************************************************************************************

martes, febrero 28, 2012

Forensic FOCA ya a la venta

Desde hoy ya se puede comprar online la versión Forensic FOCA. Una utilidad especialmente creada para analistas forenses con el objeto de poder trabajar sobre el time-line de los metadatos extraídos de documentos ofimáticos de un equipo.

Figura 1: Listas de documentos con hashes y extracción de metadatos en curso
Como ya os dije, la idea principal de Forensic FOCA es que una vez adquirida la imagen de un disco duro de un equipo, o cualquier dispositivo de almacenamiento, se puedan analizar todos los documentos ofimáticos, extraer los metadatos, generar los hashes de todos los ficheros, y generar una línea temporal de cuando un documento fue creado, cuando fue editado, por qué usuario fue modificado en qué fecha, cuando fue impreso, etcétera.

Figura 2: Linea temporal de metadatos filtrado por usuarios
Para dotar de mayor flexibilidad a un analista forense, la solución permite filtrar por fechas, por usuario, por documentos, por tipo de eventos o por una combinación de ellas. Con un solo clic en la lista de usuarios se puede conocer la línea temporal de acciones que un determinado usuario ha realizado sobre los documentos de un equipo.

Figura 3: Configuración de filtros de búsqueda en línea temporal

Para que la pruebes, en la página de la Forensic FOCA hemos puesto una versión de evaluación que funciona sólo con un tipo de documento, y si te gusta, le hemos puesto un precio que esperamos sea asequible para todo el mundo: 20 €.

Saludos Malignos!

lunes, febrero 27, 2012

Libro Hacking de Aplicaciones Web: SQL Injection

Hace ya un tiempo, hablando con mi amigo Enrique Rando y "llorándole" por el poco tiempo que tenía, le dije que me encontraba con un libro de hacking web a medias. Él, como siempre que puede echarme una mano, se ofreció a ayudarme, así que le pasé lo que tenía y lo que quería meter. 

Así que sin más, le pasé cosas escritas a medias, otras más enteras, y un indice con lo que necesitaba que me completara. Tras dedicarle tiempo y cambiar un poco mi idea original, me lo pasó para que le volviera a echar una revisión. Hice unos pequeños cambios finales, y ya el libro pasó a las manos de Rodol para que diseñara la portada y a las de Antonio para que maquetase los capítulos.

Los contenidos del libro ya os los podéis imaginar, un recorrido a las técnicas SQL Injection desde el 'or '1'='1 al Time Based Blind SQL Injection, pasando por descarga de ficheros, ataques Serialized, Blind SQL Injection, las Heavy Queries, y algo de optimización de ataques, etc... Todo, con un espíritu didáctico para que el que quiera aprender cómo funcionan estas técnicas pueda hacerlo cómodamente.



Ahora mismo el libro está a espera de venir a de la imprenta, pero ya se puede comprar vía online Libro SQL Injection para que seáis los primeros en tenerlo. Enrique y yo esperamos sinceramente que sea de vuestro agrado y que sea un digno compañero del resto de títulos que forman la colección.

Saludos Malignos!

domingo, febrero 26, 2012

No Lusers 123: Sociedades Twitter


Soy poco amigo de ver la televisión, y cuando paso unos minutos delante busco noticias para estar enterado de lo que sucede. Esto hace que acabe en los telediarios de alguna cadena o en el Canal 24 horas de TVE que tiene noticias el 80 % del tiempo. Sea cual fuera la sección de noticias, ya sea internacional, nacional, regional o local, siempre se habla de recortes, recortes y recortes.... Algunos de ellos absurdos, otros injustos, y otros extraños, como apagar las luces de navidad en algunos pueblos, cortar el alumbrado en ciertas autopistas o solucionar cosas importantes - como dirían mis amigos de Argentina - atándolas con alambre ...

Venga va, que no es tan difícil tirar unas consultas gordas a las bases de datos de gastos y sacar un Excel con los despilfarros... yo os ayudo en la parte técnica, pero por favor no entristezcáis la sociedad.

Saludos Malignos!

sábado, febrero 25, 2012

Terminal Services & Citrix: Ver carpetas protegidas con los servicios de búsqueda del protocolo Windows search-ms

Hoy sábado estoy trabajando en varias demos, así que no tengo mucho tiempo para dedicar al blog, pero os voy a dejar un tip que descubrí hace tiempo en algún entorno de Citrix en el que se han tomado en serio eso de proteger el acceso a las carpetas, bloqueando todos los permisos y restringiendo todas las variables de entorno. Esto hacía que fuera imposible utilizar los cuadros de dialogo de abrir o guardar para moverse por el sistema.

Sin embargo, hay un protocolo que sí que tiene acceso a toda la estructura de ficheros, aún estando protegido el entorno - o por lo menos yo he podido usarlo para descubrir el software de los servidores mirando las carpetas protegidas: El servicio de Búsqueda de Windows.

Este servicio tiene un protocolo bastante curioso que se llama search-ms que te permite hacer búsquedas refinadas añadiendo un parámetro llamado location. Si alguna vez lo necesitas, la sintaxis del lenguaje la tienes en este artículo de Microsoft: Querying the index with seatch-ms

Figura 1: Opción de personalizar la búsqueda

Sin embargo, para sacarle partido basta con que busques cualquier cosa que no devuelva resultados, tal y como se puede ver en la siguiente imagen superior.

Figura 2: Puedes añadir c:\ o directamente Computer

Desde ahí, haciendo clic en Custom accedes a un cuadro de dialogo de la Figura 2 que ejecuta el servicio de búsqueda e indexación y que tiene acceso a todas las carpetas del sistema. Basta con que añadas manualmente Computer, para que se te desplegue todo el sistema de ficheros.

Figura 3: También se pueden añadir ubicaciones de red

También se puede escanear la red con netbios, pero no he podido sacar mucho más de ese cuadro de dialogo, pero, por si te viniera bien, ahi te dejo la info.

Saludos Malignos!

viernes, febrero 24, 2012

March of time: Actividades para Marzo

Otro mes que se está acabando de éste temido 2012 para enfrentarnos a la recta final que nos llevará a las vacaciones de Semana Santa. Marzo está aqui ya mismo la semana que viene, así que os dejo la lista de actividades en las que puedes participar. No te quedes atrás y ponte las pilas que las cosas están de punta.

Lo primero de todo: RootedCON en Madrid

La semana que viene están ya aquí los RootedLabs y la RootedCON, así que supongo que muchos de vosotros ya tendréis preparado el petate para pasar tres días en las charlas. La RootedCON hace tiempo que vendió todas las entradas y los RootedLabs están petados, pero aún queda alguna plaza en los de dispositivos móviles - que como dicen las estadísticas son el auténtico futuro -. El resto de los RootedLabs están todos llenos. Así que, si quieres hacer algo provechoso, apúntate al RootedLab de Ingeniería inversa de Android o el de Análisis Forense de iOS.

Fin de Gira Up To Secure 2012 en Tenerife

La segunda semana de Marzo me llevará a Tenerife, a dar conclusión a la Gira Up To Secure 2012 este año. El evento es el 9 de Marzo y también está lleno, así que baste esto como recordatorio para los que tenéis registro ya. Además, el día antes, 8 de Marzo de 2012 estaré en una jornada llamada Tecnológica 2012 en Santa Cruz de Tenerife, pero no sé si es en abierto o no, ni cuál es la web de información, pero seguro que estaré por allí.

Del 13 al 16: Virtual Hols a través de Internet de SQL Server 2012

Durante la tercera semana de Marzo se realizarán 4 Virtual Hands On Lab a través de Internet dedicados a las tecnologías SQL Server 2012 a los que te puedes apuntar ya. Tienes más información en la web del Calendario de los VHOLS.

El 14 de Marzo en la URJC de Móstoles

A las 18:30 en el campus de la Universidad Rey Juan Carlos de Móstoles, daré una sesión de Hacking Driven by FOCA en la que enseñaré la nueva versión que va a salir en breve con plugins y la FOCA Forense. Dar un evento en casa siempre mola. El evento es gratuito, así que si quieres venir, estate por allí un rato antes y pregunta... (es lo que voy a hacer yo para saber dónde es). El congreso dura varios días, y también estarán nuestros compañeros de Flu-Project por allí haciendo cosas.

Del 19 al 23 la Troopers 2012 en Alemania

Tocará viajar al país del sueño de la Eurocopa del 2008 para volver a estar en la Troopers. Un evento genial sobre hacking en el que participaremos con la sesión - actualizada - de Bosses Love Excel, hackers Too, en la que se jugará con Citrix y Terminal Services. Aquí tienes más info del evento y si quieres venir hay un descuento.

Del 20 al 23 Virtual Hands On Lab de Windows 8 y Windows Server 2008 R2

Para aprender más de las tecnologías Windows, durante esa semana se realizarán Virtual Hands On lab sobre Windows 8 y sobre la actual versión servidora Windows Server 2008 R2. Tienes más información en la web del Calendario de Virtual Hands On Lab.

El 23 comienza el Módulo II del FTSAI 8

Dedicado a Seguridad en Servidores y Clientes, desde el 23 de Marzo, 5 viernes en total en las instalaciones de Informática 64. Además, todos los asistentes de este módulo recibirán el libro de Máxima Seguridad en Windows escrito por Sergio de los Santos. Más información en FTSAI.

Del 26 al 30 de Marzo: ACK Security en Colombia

Para acabar el mes, en Colombia tendrá lugar la conferencia ACK Security, en la que participan grandes ponentes y amigos. Yo este año no estaré por motivos de agenda, pero me hubiera podido estar allí y no perderme ese evento. Sin embargo, he decidido enviar un pack de libros de Informática 64 para que se entreguen allí como premio. Tienes toda la información del evento y cómo registrarte en la web de la conferencia: ACK Security.

Y eso hay por ahora, que como ves no es poco. Así que si quieres estar listo para el mundo que nos toca vivir, muévete y ponte las pilas.

Saludos Malignos!

PD: El título de este post es un homenaje a esta canción de los Helloween...


jueves, febrero 23, 2012

DHCP ACK Injector se hace más "selectivo"

Hace tiempo os hablé de DHCP ACK Injector, una herramienta que había salido desde el SOCtano para realizar ataques de Man in the middle en redes locales spoofeando las respuestas de configuración de un servidor DHCP.

Ahora se ha publicado una nueva versión de la herramienta con unas pequeñas funciones para afinar mucho más el ataque que se puede realizar con ella. Funcionalidades que creemos que ya nos venían haciendo falta.

Última configuración usada

En primer lugar se ha mejorado el interfaz, haciendo que la nueva versión recuerde los datos introducidos para no tener que volver a configurar las mismas direcciones IP en cada ejecución. Algo que no extiende en demasía las funcionalidades de la herramienta pero sí que es de agradecer.

Figura 1: Última configuración utilizada

Suplantación selectiva

La segunda mejora que se ha hecho ha sido la de agregar una nueva sección que se ha llamado “Advanced configuration” en la que se van a poder realizar algunas configuraciones interesantes. Por un lado ya es posible seleccionar entre configurar la dirección IP y la dirección MAC con la que se enviará el paquete ACK o utilizar los datos del servidor DHCP real, que era como funcionaba hasta ahora. Esto permite suplantar el DHCP que se desee o incluso "incriminar" a uno en concreto haciendo que si se detecta aparezca la información de otra máquina. Seguro que se os ocurren ideas para las que puede ser útil.

Figura 2: Advanced Configuration

Víctima Selectiva

La otra posibilidad, y quizá más utili de todas, es la de utilizar un filtro de víctimas para atacar solo a los equipos que se desee, basándose en la dirección MAC de la petición o en el nombre de equipo de la víctima. Por supuesto, estos datos se deberán obtener antes de realizar el ataque.

Como ayuda, para obtener la dirección MAC de una IP conocida ya sabéis que basta con realizar una petición ping a la dirección IP de la víctima y consultar después la tabla de caché arp.

La nueva versión de DHCP ACK Injector se puede descargar desde la web de Informática 64, en la sección de herramientas.

Saludos Malignos!

miércoles, febrero 22, 2012

Un decálogo de seguridad informática maligna

Para una participación en un evento me pidieron que escribiera un decálogo de reglas a tener en cuenta en la seguridad informática que fueran curiosas o divertidas. Tras pasar unos momentos perdido en mis pensamientos, éste es el conjunto de reglas que acabé escribiendo:
¿Crees que la gente tiende a hacer las cosas bien? No desprecies el poder de la estupidez humana. 
Cuando piensas que a nadie se le ocurriría hacer algo así, siempre hay alguien que ha pensado que es una buena idea.
En muchas empresas nunca hay tiempo para hacer las cosas bien, pero sí para hacerlas dos veces. ¡Genial! 
Para entrar en un sistema la mayoría de las veces sólo se necesita la herramienta más poderosa jamás creada: El Bloc de Notas. 
Si eres de los que piensa que no tienes nada que le interese a un atacante entonces ya tienes un troyano en tu equipo. 
Cuando subas algo a Internet, tarde o temprano será público. Asúmelo y hazte la foto al estilo Scarlett Johansson ¡ya!. 
Dime cuál es tu web y te diré cuál es tu bug. 
Entrar en un sistema requiere conocer un fallo de seguridad, defenderlo requiere cerrar todos… ¡Suerte! 
Pagarás todo el dinero del mundo por securizar tus sistemas… una vez te hayan hackeado y expuesto públicamente. 
Si no auditas la seguridad de tus sistemas, otro lo hará por ti… ¡y gratis! 
Si tus documentos no están protegidos acabarán en Pastebin. 
Las cosas funcionan de casualidad. Y lo peor es que casi todos lo sabemos. 
La ley de Owned: Cuanto más grande es la empresa más escandalosos son los fallos de seguridad. 
Reconocerás una conferencia de hackers porque nadie usa una computadora o un smartphone en ella… por seguridad. 
Ley de Pwned: La suma de las cosas que sabes que están mal y las que no conoces da Pwned! 
… Y ahora vas y lo twitteas…
Os lo he dejado porque me parecía curioso y porque seguro que vosotros tenéis muchas más reglas como éstas, ¿verdad? Aún recuerdo el twitt de 48bits de "La mejor defensa es un buen attachment" que utilicé como base para una tira de No Lusers casi me sacó las lágrimas de la risa... ¿cuáles son tus reglas?

Saludos Malignos!

martes, febrero 21, 2012

El Poder (Oscuro) del Testing de Aplicaciones Web

Hacer una auditoría de seguridad web al final se reduce a hacer una fase de testing grande más un poco de, como diría Johnny Long, "mirada hacker y poder Jedi". Y es que, por desgracia, en este mundo de aplicaciones Web se reduce mucho la fase de testing, y eso no es bueno.

Figura 1: Encuentro molesta su carencia de TESTING

Encontrar fallos de seguridad en muchas aplicaciones se reduce a probar valores de entrada que, de haberse realizado una fase de testing medio seria, hubieran aparecido sin problemas y los programadores  no sólo los habrían encontrado, sino que los habrían solucionado.

Así que, si haces aplicaciones que hacen cosas geniales, no desprecies el poder del testing de aplicaciones. Es mejor invertir unas jornadas más que enfrentarse a una multa, o tener que invertir mucho dinero en arreglar la imagen pública tras una intrusión, porque... recuerda: Si tu no haces el testing, otro lo hará por tí... 

Figura 2: No estés demasiado orgulloso de este terror tecnológico que has construido.
La habilidad de destrozar un planeta es insignificante comparada al poder del TESTING

¿En cuantos sitios te ha encontrado tú una vulnerabilidad que se te hace imposible que no la hubieran visto antes?

Saludos Malignos!

lunes, febrero 20, 2012

Encontrar los servidores SQL Server de la intranet con DSN

Para encontrar los roles de los servidores tenemos múltiples herramientas. Sin embargo, cuando estamos en una red conectados a través de un escritorio remoto por Citrix y con pocos privilegios, usar esas herramientas pueden estar más allá de nuestras posibilidades. 

En alguna ocasión me había quedado con el Excel preparado buscando el servidor SQL para intentar una conexión con autenticación integrada y volcar la base de datos. Hasta el momento, para encontrar el servidor había estado utilizando el Active Directory, tal y como os puse en el artículo de ataques con cadenas de conexión y Excel.

Sin embargo, cuando eso no ha funcionado y la red tiene un número de equipos grande, esa labor puede ser ardua y tediosa. Ese era el caso con alguna red como la que podéis ver en la imagen siguiente. ¿Dónde está el servidor SQL Server?

Figura 1: Equipos en la intranet. ¿Dónde está el SQL Server?

A priori, y así lo pensaba yo, esto tiene pinta de ser como buscar una aguja en un pajar, pero resulta que en los sistemas Windows ya hay un escáner de servidores SQL Server, y lo realiza automáticamente la herramienta de configuración de las Data Source Names. Basta con seleccionar un nuevo DSN de Sistema, elegir el driver de SQL Server, y automáticamente se pone a escanear la red en busca de los SQL Server que hay allí.

Figura 2: Servidores en la intranet con SQL Server

Por supuesto, también puedes poner servidores a mano, pero lo que nos interesa en este caso es que haga él la búsqueda por toda la red, y es una comodidad.

Saludos Malignos!

domingo, febrero 19, 2012

Paypal cambia su política AntiSpam y el fraude lo explota

Mientras intentaba luchar contra mi bandeja de entrada de correo electrónico para dar respuesta al mayor número de mensajes, me di cuenta de que echaba de menos uno que estaba esperando. En un proceso rutinario decidí ir a la Bandeja de Spam, un sitio al que no suelo visitar prácticamente porque lo que me sobran son mensajes de correo electrónico. Allí siempre suelo encontrar las estafas de siempre, phishing, viagra, nigerianos, adjuntos con exploits en ficheros html, excel, pdf o swf, etc...

Figura 1: Phishing de PayPal con exploit HTML

Lo que me llamó la atención fue encontrarme con un volumen grande de mensajes de Phishing de Paypal enviados con diferentes formatos, lo que denotaba que estaban siendo enviados por grupos de cibercriminales distintos, pues tras leer el libro sobre el mundo del Fraude Online me quedó claro que si pueden simplificar el trabajo lo harán, y maquetar distintos formatos de correo electrónico para la misma estafa no hace más que levantar sospechas.

Figura 2: Phishing de Paypal, modelo 2

Los mensajes habían llegado en un breve espacio de tiempo, por lo que se ve que están trabajando duro con ello. Lo primero fue buscar a ver si estaban utilizando algún servidor vulnerado para tomar control de ellos, pero al revisar las direcciones IP de origen de los mensajes, en ellas no había ningún servicio que hubieran explotado, como pasa en tantas ocasiones como en el caso de los phishers de Apple Store o los  phishers de Facebook.

Figura 3: Phishing de Paypal, modelo 3

Al buscar algo de info de estas direcciones IP en Robtex, y no tener ningún dato de ellas, queda claro que son equipos domésticos infectados por alguna botnet, lo que generó la siguiente pregunta en mi mente. ¿Cómo es posible que un mensaje falso de Paypal enviado desde un equipo infectado en mi botnet haya entrado ni tan siquiera en mi Bandeja de spam?

Figura 4: Phishing de PayPal, modelo 4

La pregunta me vino recordando a Juliano Rizzo (@julianor) explicando en la Ekoparty del año pasado que para hacer la demo de BEAST habían utilizado a Paypal.com porque hacían todo lo demás bien. Y es que, para explicar los filtros antispam, yo siempre ponía como ejemplo a Paypal que usaba SPF, SenderID, Domainkeys y DKIM todo configurado al máximo, como se puede ver en estas imágenes que tomé en post sobre los filtros antispam.

Figura 5: Política SPF1, SPF2 y Domainkeys de Paypal tomada en Julio de 2009
Figura 6: Política Domainkeys y DKIM tomada en Enero de 2011

Algo había tenido que cambiar, o mi Exchange Server se hubiera cargado los correos sin dejarlos ni acercarse a una bandeja de entrada, así que pasé a revisar de nuevo las políticas antispam de Paypal.com para ver que se ha cambiado la política SPF, eliminando SP2 y bajando el nivel de criticidad de los correos no enviados desde sus servidores al poner una política ~all en lugar de la antigua -all. Esto ha tenido como consecuencia que lleguen hasta mi buzón, aunque sea como spam.

Figura 6: Política SPF de Paypal. Solo SPFv1 y con Ebay incluido

Las políticas DomainKeys y DKIM siguen como estaban, pero además se ha incluido a Ebay como servidores autorizados para enviar correos de Paypal.

Figura 7: Política Domainkeys
Figura 8: Política DKIM

Supongo que Paypal ha tomado esta decisión porque debía afectar a alguno de los sistemas que haya implementado, pero si en mi caso ha llegado a la Bandeja de spam, es probable que en otros haya conseguido llegar a la bandeja de entrada, por lo que seguro que los amigos de las estafas lo agradecerán.

Saludos Malignos!

sábado, febrero 18, 2012

Y para acabar Febrero toca...

Sábado, y en puertas de una semana ajetreada que me va a llevar a varios rincones de España a dar algunas charlas de las más vario-pintas. No está mal, no está mal. Os dejo el calendario de actividades por si alguna de ellas os cuadra.

Lunes 20: Wayra

El lunes estaré en el evento que tendrá lugar en Barcelona para dar comienzo a la academia de Wayra en la Ciudad Condal. Por la mañana participaré con una charla para los finalistas, pero por la tarde participaré en la sesión para desarrolladores, dando una sesión online y lanzando un reto de programación para que pueda participar todo el mundo. Más info en: Wayra Developer Day

Martes 21: Magirus OpenHouse

En Madrid, de vuelta, estaré el martes dando una charlita de 20 minutos en la que hablaré de grandes (y curiosos) fallos de seguridad. Más información en: Magirus OpenHouse.

Jueves 23: Jornadas de Seguridad Universidad de A Coruña

El jueves 23 toca participar en la tercera edición de estas charlas en la Facultad de Informática de la Universidad de A Coruña, en las que daré una charla junto a grandes amigos y ponentes. Yo hablaré de "Playing the Piano". Más info en: Jornadas A Coruña.

Después de esta semana, ya sabéis, tocan los RootedLabs y la RootedCON. En los RootedLabs aún queda alguna plaza para apuntarte en los siguientes:
Lunes 27:


RLAB24b Iniciación al Pentest (3 plazas)
Martes 28: 
Miércoles 29:
Después, 1, 2 y 3 de Marzo.... RootedCON!

Saludos Malignos!

viernes, febrero 17, 2012

En el nombre de J. R. R. Tolkien, yo te bautizo

Cuanto daño ha hecho Hollywood a los pobres administradores de sistemas que luchan por mantener sus sistemas seguros alejados de los hackers. Sin duda mi favorito es el malo de la película de Hackers - Sí la de Angelina Jolie desnuda en la piscina -. La entrada del SysAdmin en "su" CPD montando en un monopatín es lo más grande que ha visto Hollywood desde E.T. montado en la cesta de la bicicleta recortado contra la luna.

Figura 1: Entrada del SysAdmin en Hackers... IM-presionante. Trailer oficial en Youtube.

Sin embargo, ¿cuanto de cierto hay en que los SysAdmins son unos freaks? La verdad es que yo no he visto a ninguno entrar haciendo un 360 o grindeando en los racks, pero sí que he compartido experiencias místicas debatiendo detalles de grandes películas de ciencia ficción - como Saturno 3, Galactica o La Fuga de Logan - o intercambiando críticas sobre comics - ¡Frank Miller, Alan Moore, no somos dignos!

Con esta premisa he ido a probar en Robtex si había muchos servidores bautizados por SysAdmins freaks, y la verdad es que el número de hosts que reciben su nombre por algún personaje curioso es grande, pero como esto es infinito, he ido solo a buscar algunos nombres populares de El Señor de los Anillos.

Figura 2: Hostnames bautizados en honor a Aragorn

Figura 3: Hostnames bautizados en honor a Gandalf

Figura 4: Hostnames bautizados en honor a Gimli

Figura 5: Hostnames bautizados en honor a Legolas

Figura 6: Y por supuesto Mordor (Estos deben ser los de MegaUpload)

Como podéis ver, Gandalf es un must-have en las listas de éxito, llegando casi a los 1.000 servidores públicos con ese nombre. ¿Cuántos habrá en redes locales? Te puedes pasar el rato buscando cuál es el personaje más popular entre los SysAdmins freaks para identificar a sus servidores. ¿Tal vez Darth Vader? ¿Death Star? ¿Wolverine? ¿Nightcrawler por eso del crawler? ¿Akira? ¿Kaneda? Prueba, a ver qué encuentras.

Yo, que de mis años en la Universidad Politécnica de Madrid recuerdo los servidores de los Comics Bruguera, he ido a buscar a nuestros patrios Mortadelo, Filemón y Carpanta, pero no hay demasiados más en Internet. Al final, aunque no entremos en patinete, sí que es cierto que la gran mayoría tenemos un ramalazo freak de algún tipo.

Saludos Malignos!

jueves, febrero 16, 2012

Ghost Domain Names: Dominios fantasma en el DNS

El sistema distribuido del DNS, la manera en que puede ser consultado y su forma de gestionar la caché ha dado lugar a que muchas técnicas hacking se apoyen en él. Desde extraer datos por medio de consultas DNS en un ataque SQL Injection, hasta inspeccionar los hábitos y el perfil de los empleados de una empresa haciendo estudios con DNS Cache Snooping, pasando por guardar ficheros como valores de respuesta a peticiones DNS.

En esta ocasión el paper titulado "Ghost Domain Names: Revoked Yet Still Resolvable" ahonda un poco más en el tema del DNS, la gestión de la caché y el mantenimiento de un dominio borrado más allá de sus límites. La idea detrás de la técnica es conseguir que un registro no sea borrado nunca de la memoria caché de un servidor DNS.

Supongamos el dominio test.com que tiene un servidor DNS llamado ns.test.com en el que se crea el registro fantasma.test.com de tipo A que apunta a una dirección IP. Se quiere hacer que ese dominio permanezca resoluble a través de un servidor DNS al que llamaremos ns.vulnerable.com aún cuando este haya sido borrado del servidor ns.test.com

Para conseguir transmitir la información de fantasma.test.com a otro servidor DNS hay que solicitar la resolución de ese nombre de dominio al servidor donde se quiere cachear, en este ejemplo ns.vulnerable.com. Con ello la información del registro fantasma.test.com pasará a la caché de ns.vulnerable.com.

Ese registro se almacena en la caché junto con un TTL (Time To Live) que indica el tiempo que queda hasta que sea borrado de la caché, y que irá decreciendo constantemente hasta llegar a 0, momento en que desaparecerá. Por otro lado hay que tener presente que también se almacena información del registro del servidor DNS que lo atendió, con su correspondiente TTL

Acto seguido se borra el registro fantasma.test.com del servidor ns.test.com. Sin embargo, todos las peticiones que se realicen a través de ns.vulnerable.com seguirán siendo respondidas, ya que el TTL aún no ha llegado a 0, momento en que desaparecerá ese registro de Internet.

¿Cómo evitar que el valor de TTL llegué a 0?

La respuesta para evitar que el valor TTL del registro fantasma.test.com llegue a 0 implica que el servidor DNS ns.vulnerable.com actualice la información de la caché, para lo que se usa un pequeño truco que consiste en:
1) Se cambia el nombre del servidor ns.test.com a ns2.test.com
2) Se solicita la resolución de ns2.test.com a través del servidor ns.vulnerable.com
Con este proceso, el servidor DNS vulnerable, al actualizar su caché detecta que se ha cambiado el nombre y actualiza la información de su base de datos, pero también actualiza el valor TTL de su registro y de todos los registros vinculados a él en la caché, con lo que el valor TTL de fantasma.test.com vuelve a inicializarse.

La técnica paso a paso ha sido publicada en InfoSecInstitute y en las pruebas realizadas que se pueden leer en el paper hay datos curiosos, como servidores DNS populares que han probado vulnerables a esta técnica o que software es vulnerable.


En el estudio hay más datos curiosos, como que a veces hay procesos de reset que hacen que el TTL baje a 0 como parte de procesos de mantenimiento de la caché, y han hecho un estudio sobre cuánto tiempo se puede tener un dominio falso mantenido resoluble en la caché de los servidores DNS por el mundo, y los clientes de qué partes del mundo seguirían viéndolo vivo. 

Saludos Malignos!

miércoles, febrero 15, 2012

Serialized SQL Injection, Errores ODBC y SFX

Tras publicar el artículo de Serialized SQL Injection y errores ODBC me asaltó la duda de si Dani "The Doctor" Kachakil habría resuelto este problema en su herramienta SFX. Aprovechando que estaba en un curso y quería contar el funcionamiento de las técnicas de Serialized SQL Injection sin tener que andar construyendo algún ataque de UNION tedioso, decidí probar qué tal iría la herramienta SFX en un entorno con errores ODBC como el que os puse el otro día.

Tras configurarla y dar a descargar las tablas, rápidamente se ve que no salen todas. De hecho, al mirar al descargar el tamaño y las filas de cada una se puede ver cómo no está comprobado este error.

Figura 1: Recepción parcial de las tablas de la Base de Datos

SFX tiene un control de tamaño de datos a la hora de la descargar, pero el límite de error en ODBC es demasiado pequeño y se obtienen datos parciales, como en este caso con el esquema de tablas de una base de datos master.

Figura 2: Recepción parcial de las tablas de un Base de Datos master

Sin embargo, la herramienta sigue siendo extramadamente útil cuando la tabla tiene pocos registros, como este caso con la tabla de usuarios.

Figura 3: Datos extraídos con SFX haciendo Serialized sobre errores ODBC

Y además, la posibilidad de lanzar consultas personalizadas deja en manos del auditor la posibilidad de extraer lo que se desee de forma cómoda.

Figura 4: Consulta personalizada

No obstante, a pesar de que se pueda utilzar, agarré el teléfono y marqué al número de mi viejo amigo Dani  Kachakil:
- "¿Dani?, soy Chema. ¿Sabes ya por qué te llamo?"
- "Me lo imagino, para liarme con algo".
- "Je,je. ¿Has leído lo que puse de Serialized con errores ODBC?"
- "Sí, Chema, pero ahora no tengo tiempo, estoy cubierto de "·$%$·$&".
- "Ya, ya, ya me imagino Dani, pero... saca el Visual Studio y arregla SFX".
- "Vaaale, pero primero tengo que acabar los Retos que tengo por delante de la Rooted y la Codegate, que si no RoMaNSoFt me castiga, y no sé a quién tengo más miedo... Me debo a los Int3Pids"
Así que vamos a darle algo de tiempo a Dani para que nos modifique SFX y que funcione correctamente en estos entornos, que es mucho más rápido que usar los errores ODBC campo a campo.

Saludos Malignos!

martes, febrero 14, 2012

No Lusers 122: Pagafantas en San Valentín




Dicen que cuando se es un Pagafantas normalmente se entera todo el mundo antes que tú, así que para los que sois más freaks, os he dejado un método muy sencillo para que este San Valentín detectes si estás en camino de convertirte en uno de ellos. Si te pasa eso... !Que se disparen las alertas de tu IDS!.

Para los amigos de América que no conocen mucho el término, os dejo una definición gráfica del término. Baste decir que es el amigo de la tía buenorra que suspira por tener sexo con ella, pero que como ya ha caído en la zona de "somos amigos"  no tine nada que hacer. Sin embargo, él hace todo lo que ella quiere mientras espera que algún día ella se de cuenta de que él está ahí y le deje tener algo de sexo con ella. Mientras tanto sólo es su amigo y ella aprovecha para contarle lo bien que se lo pasa teniendo sexo con otros a la vez que saca de él todo lo que quiere... ¡Pobre Pagafantas!.

Saludos Malignos!

lunes, febrero 13, 2012

Más dispositivos móviles que Windows y Mac OS X juntos

Durante la Gira Up To Secure de este año he realizado una pequeña introducción a la conferencia en la que contaba mi punto de vista de cómo la informática ha ido evolucionando, a la par que los problemas de seguridad, para que los informáticos pasáramos de ser unos tipos felices a ser lo que nos toca ser ahora.
Seguridad en tu red
Ver más presentaciones de Eventos Creativos
En mitad de esta charla, uno de los puntos a los que hemos llegado de máxima complejidad, ha sido el mundo de los dispositivos móviles. Sin saber cómo ni por qué, un día los equipos que hay que gestionar en la empresa pasan a duplicarse porque todo el personal tiene un smartphone - cuando no además un tablet - que quiere usar con los sistemas de la organización.

Tanto es así, que para asustar definitivamente a los asistentes yo saco esta gráfica que recoge el número de equipos de cada arquitectura por años, y de la que se pueden extraer muchas conclusiones.


En ella, aparte de curiosear sobre cómo les fue a los añorados equipos de 8 bits, o ver cómo el PC ha estado en la cumbre muchos años, quedan de manifiesto que los sistemas móviles se comerán definitivamente a los equipos de sobremesa.  

Ya hay casi tantos equipos con Android como PCs con Windows, y si sumamos los iPhone y los iPad, los equipos con iOS son los reyes del mundo - sin contar en la gráfica los iPod Touch -. Tanto es así, que al igual que muchas personas casi han perdido la capacidad de escribir con un bolígrafo - no sé ni cuantas veces he oído quejarse a personas cuando les digo que me escriban algo - en breve se perderá la capacidad de escribir con todos los dedos, como los que hemos aprendido en clases de mecanografía. Todos volverán a usar el dedo para manejar los interfaces de las tablets.

Sin embargo, cuando en la gira preguntaba: 
"¿Quién es capaz de decirme cuatro archivos importantes de Android?"
Un porcentaje muy inferior al 1% de los asistentes fue capaz de levantar la mano para defender esa pregunta. Yo incluso, que como muchos de vosotros no he querido que pase esta oleada sin ponerme al día, y que me obligo a conocer cómo funciona Mac OS X, iOS y el próximo Windows 8, no sería capaz a día de hoy de explicar bien cómo funciona Android

De hecho, cuando ayudé a diseñar los RootedLabs, tenía claro que Android e iOS tenían que estar allí, porque son el presente. No creo que se pueda explicar ningún caso de análisis forense en una organización sin pasar por tener que analizar un Android,  o un análisis forense a un iPhone/iPad - y ya veremos si despega al final o no - un Windows Phone

Lo curioso de todo esto es que, mientras que el malware ha desembarcado en los sistemas Android - yo me he bajado ya una VM para trastear en serio con un Android -, y en los equipos con iOS se descubren bugs porque están siendo analizados por investigadores de seguridad de forma exhaustiva, la mayoría de las empresas que visito aún no ha hecho un plan de gestión de sistemas móviles, haciendo que los equipos de IT - salvo contadas excepciones de empresas que usan BlackBerry y los antiguos de Windows Mobile - estén teniendo que adaptarse como puedan a configurar los iPad o los Samsung Galaxy con Android que se les cuelan en la red.

El mundo está en movimiento, y viendo la pendiente de las rectas de crecimiento de los dispositivos con Android o iOS, moviéndose muy deprisa. ¿Y tú? ¿Sigues el ritmo?

Saludos Malignos!

domingo, febrero 12, 2012

Serialized SQL Injection con errores ODBC

Las técnicas de Serialized SQL Injection permiten extraer grandes cantidades de datos de un solo comando. Usando las técnicas de conversión de resultados a cadenas XML es posible que en el lugar donde sólo se puede sacar un dato salga una tabla completa convertida en un fichero XML

Por otro lado, las técnicas de SQL Injection basado en errores ODBC sacan datos generando errores semánticos que permiten ver en el mensaje de datos el contenido que se quiere extraer. Estas técnicas fueron explicadas hace ya muchos, muchos, muchos años por David Litchfield (@dlitchfield) en el artículo de "Web Application Dissasambly with ODBC Error Messages".

Figura 1: Web vulnerable a SQL Injection con errores ODBC

Cuando ambas técnicas se quieren combinar hay que tener en cuenta que la restricción fundamental es la longitud máxima del mensaje de error ODBC, que generalmente acaba mostrando este molesto resultado de que el contenido ha sido truncado.

Figura 2: Datos truncados por el mensaje de error ODBC

Sin embargo, a pesar de que no se pueda sacar una consulta de gran tamaño en el mensaje de error ODBC, hay que tener en cuenta la posibilidad de extraer toda una fila, lo que seguirá siendo mucho más rápido que extraer la información campo a campo. Así, podemos hacer una consulta filtrada por un valor de la Primary Key, y obtener de una tacada una fila completa en el mensaje de error.

Figura 3: Extracción de toda una fila con Serialized SQL Injection usando un error ODBC

El resto es ir moviendo la Primary Key por toda la tabla para poder extraer el contenido completo, haciendo uso del máximo de información que permita pintar el mensaje de error ODBC.

Figura 4: Extracción de la segunda fila moviendo el valor de la Primary Key

Así que si te da el texto de partial, ya sabes que tienes que ajustar un poco el tamaño de lo que estás pidiendo, y pedir solo una fila o, en solicitar menos campos de todas las filas, como por el ejemplo solo el nombre de todos los usuarios.

Figura 5: Extracción de todos los usuarios con Serialized SQLi y Errores ODBC

Saludos Malignos!

sábado, febrero 11, 2012

El libro de historia ya es (casi) historia

Hace poco más de un año os anuncié que desde Informática 64 íbamos a hacer una tirada impresa de un gran libro de historia, en concreto del libro que recogía lo mejor de lo publicado por Hispasec en su newsletter de una-al-día durante los últimos 12 años. Sergio de los Santos hizo un ejercicio de síntesis y consiguió plasmar en un volumen lo más importante de lo acaecido.

De aquella tirada que se hizo, el número de libros que quedan en nuestro almacén es sólo 5. Estos que quedan los hemos dejado para vender únicamente con la oferta de biblioteca completa que sacamos, para que las personas que las compren tengan la posibilidad de tener todos los ejemplares que componen la colección.

Publicar ese libro fue un capricho mío para tenerlo en la colección, e hicimos un esfuerzo grande para conseguir sacarlo a la venta por sólo 12 € y cubrir con ello los gastos de la inversión, y hoy me siento feliz de que todos los que lo compraron podrán tenerlo, como yo.

Las tiradas de los libros que hacemos en Informática 64 no son grandes, por lo que los libros irán pasando a la historia a medida que se acaben de vender todos los ejemplares que hacemos, y no descubro nada si digo que Sergio de los Santos escribe de maravilla - ¡Si lo hace genial hasta en 140 caracteres! (@ssantosv) -, y si no echa un ojo a las críticas que se han publicado de su último libro "Máxima Seguridad en Windows".
- Crítica de Bernando Quintero
- Crítica de Alejandro Ramos "Dab"
- Crítica de Cyberhades
- Crítica de Seifreed
- Crítica de Ángel en Seguridad a lo Jabalí
En fin, que da pena ver que se acaba uno de mis "niños", tal vez en el futuro saquemos los 15 o los 20 años de una-al-día y pueda verlo renacido, pero de momento, este libro de historia pasará ya a la historia, así que si eres de los que tienen una copia de la tirada que se hizo: ¡cuídalo!

Saludos Malignos!

viernes, febrero 10, 2012

El algoritmo de Melkman, la marcha de Jarvis y Estadística

Si hubo una asignatura que me tuvo loco fue Estadística. Esa materia, como a muchos de mis compañeros, me traía loco. Sin embargo, hubo otras que me enamoraban y me mantenían enganchado, eran todas las que tenían que ver con programar. Yo había comenzado a aprender a programar en BASIC cuando tenía 12 años y cuando llegué a la Universidad ya me había pegado con Cobol, Pascal y C. Con 18 años penaba que era un buen programador.

Sin embargo, cuando llegué a las salas de más de 100 alumnos, me encontré con contenidos que me sonaron totalmente nuevos. Las estructuras de datos, los algoritmos recursivos, los tipos estructurados de datos, etcétera, y en todos había que entender cómo iba moviéndose el flujo del programa, lo que lo hacía más divertido. Ese fue el momento en que conocí las listas, las pilas, las colas y los árboles, para disfrute de mis programas y, por supuesto, de la resolución de problemas como los de las mega-famosas Torres Hanói, que hube de resolver de veinte maneras diferentes.

Figura 1: Resolución del problema de las Torres Hanoi

En segundo de carrera llegaría la algorítmica, con sus resoluciones de backtracking, sus análisis de complejidad, los algoritmos de búsqueda, de ordenación, de recorrido de grafos en los que había que aplicar estructuras de datos y algoritmos óptimos para generar los auténticos programas. También en ese curso llegarían las estructuras de datos avanzadas, con sus árboles AVL, los árboles hilvanados por listas, y los árboles AVL doblemente hilvanados, los árboles B, y los B*, organizados pensando en el tamaño óptimo de lectura de los discos.

También en ese curso llegaron los paradigmas de programación, aprendiendo no sólo la archi-famosa programación estructurada, sino que tocó lidiar con el paradigma de orientación a objetos, el polimorfismo, la sobrecarga, la herencia y el diseño UML de aplicaciones, eso sí, con lenguajes tan curiosos como Smalltalk o C+- (sí, más menos...). Por otro lado la programación concurrente, que yo “sufrí” con ADA, OCCAM y otro que ahora os cuento, me obligaba a pensar en semáforos, regiones críticas, zonas de exclusión mutua e inter-bloqueos que podían generar entornos de inanición. Resolver problemas como el de los filósofos glotones que luchaban por los tenedores para comer spaguetti eran el día a día en esas clases de – wait for it – Pascal Concurrente. Como es lógico, también hubo que pegarse con programación funcional y resolver problemas imposibles con el LISP.

A toda la parte que tenía que ver con la programación más pura y dura se sumaban otras disciplinas que también me vendrían de maravilla en el futuro, como fueron UNIX, Ensamblador, Diseño de Bases de datos y el lenguaje SQL, o Compiladores e Interpretes donde como todos los que hemos pasado por la Universidad toco diseñarse los autómatas de turno, el lenguaje formal y programar el analizador léxico, sintáctico y semántico de un lenguaje.

Yo, como soy un enfermo, y en primero me encantó la Matemática Discreta y los algoritmos con los grafos, decidí proseguir con ellos hasta el final de la carrera, donde los algoritmos de cierres convexos, los algoritmos de triangulación o los de resolución de problemas con rectas de barrido me llevaron a terminar haciendo el PFC sobre esas cosas. Al final Melkman o Jarvis y su famosa marcha, me hacían pensar en algorítmica día tras día.

Figura 2: La ejecución del marcha de Jarvis para hacer el cierre convexo de una nube de puntos

La optimización del algoritmo y hacer uso de buenas estructuras de datos era el reto en todas las aproximaciones. Elegir la recta de barrido, el divide y vencerás, un recorrido en profundidad de un grafo para hacer un backtracking eficiente, implementar bien el QuickSort, o cómo pintar los triángulos de una lista de polígonos desordenados en el espacio era como resolver sudokus día a día.

La programación era para mí una ciencia que se convertía en arte cuando descubría que para saber si dos rectas se cruzan en el espacio no debía calcular nunca el punto de corte porque no es eficiente y tenía que crear un algoritmo más eficiente para un límite infinito de rectas. Algo que cuando se añaden restricciones de espacio, memoria o tiempo, hacían que fuera aún mejor.

Es por eso que, a todos los jóvenes que me habéis preguntado si es necesario hacer la carrera de informática para ser un buen informático os he dicho que no, pero que yo os recomiendo a todos que paséis por la Universidad, aunque tengáis que sufrir Cálculo Infinitesimal, Física, Lógica … o la famosa Estadística.

Saludos Malignos!

PD: Por si te gusta la algorítmica y la programación, aquí so dejo un PDF de un libro que cubre gran parte de estos temas: How to think about algorithms

Eleven Paths Blog

Seguridad Apple

Entradas populares