martes, 22 de marzo de 2011

Cuando tu atacante se ataca a sí mismo.

Los casos en donde atacantes de muy baja sofisticación cometen errores son tan viejos como la Internet misma y adicionalmente son siempre jocosos. Mi favorito es el caso de un individuo que lo convencen de atacar la dirección IP 127.0.0.1 haciendole creer que era la dirección IP de la persona con quien sostenía un altercado por chat IRC. La conversación original sucede en alemán, pero se puede leer una traducción aquí.

Ocasionalmente, mi trabajo en manejo de intrusiones y análisis forense no deja de producir anécdotas inolvidables. Lamentablemente, muchas no pueden ser compartidas por este medio por estar bajo acuerdos de confidencialidad y/o para proteger a los inocentes. Sin embargo, hace unos días recibí una alerta de mi sistema de detección de intrusiones, altamente entonado para hacer investigación de las amenzas del tráfico público de Internet. Esta alerta describía un paquete poco interesante pero de una fuente un poco inusual.


La razón de SNORT (¿Cuál otro IDS podría ser? SNORT rules!) para alertar sobre este evento es entendible. Se trata de un paquete ICMP con un payload de 0 bytes. Esta firma de paquetes es generalmente asociada al PING ICMP de nmap. Nmap es una herramienta muy popular en distintos estratos desde el profesional de la seguridad informática hasta el delincuente del crimen informático organizado, pasando por supuesto por los "script kiddies/junkies" que la abusan sin realmente entender muy bien lo que hacen.

Por lo tanto, usualmente este tipo de eventos es ignorado completamente en mi análisis rutinario. Éste hubiera sido también el caso para este evento de no haber sido por el detalle que la dirección IP de origen pertenece a la subred de servidores de infraestructura de mi proveedor de servicios de Internet (ISP). Uno de los paquetes transgresores se puede ver aquí:


Como es de esperarse de un paquete con un payload de 0 bytes, su tamaño es más pequeño de lo usual. El encabezado ICMP termina en la secuencia 0800 013f d4bf 2201. Si recordamos un poquito la decodificación del protocolo ICMP:

0800 -> Type 8, Code 0 -> ICMP Echo (solicitud de ping)
013f -> Checksum.
d4df -> Identificador del paquete ICMP.
2201 -> Numero de secuencia.

Esto ocupa los 8 bytes de payload del paquete IP creando en efecto un paquete ICMP de 0 bytes de payload. La pregunta inmediata es: ¿A que corresponden esos bytes despues de nuestro encabezado ICMP? Estos bytes estan ocupando la posición que normalmente ocuparia el payload de un ping normal. Un paquete ping normal se ve como sigue:


La diferencia que debe resaltar inmediatamente es la secuencia de simbolos y numeros crecientes del payload del paquete ICMP normal. Esta es una secuencia fija muy distinta a la secuencia con apariencia aleatoria del paquete anterior. En consecuencia decidí analizar el resto de paquete capturados por mi sensor de detección de intrusiones con la esperanza de hallar un patrón:


La falta de patrón no sólo es evidente sino que también la explicación es ahora muy sencilla de elaborar. Primeramente, la razón por la cual hay bytes extras en estos paquetes ICMP ECHO de 0 bytes se debe a que los frames ethernet son de mínimo 64 bytes. Como se puede ver, los paquetes IP fabricados por mi ISP son todos de una longitud de 28 bytes (0x001c), esto es 20 bytes de encabezado IP y 8 bytes de paquete ICMP sin payload. Si además sumamos los 14 bytes del encabezado ethernet y los 4 bytes del trailer ethernet, nos llega la cuenta a 46 bytes. Para llegar a 64 bytes hace falta que el sistema operativo rellene los 18 bytes faltantes. Estos 18 bytes de relleno son los que vemos en nuestros paquetes ICMP misteriosos.

Finalmente, al ver los strings parciales de algunos paquetes: "MENE", "feight", etc la hipótesis que cobra fuerza es una descrita aquí. En resumen, el sistema de mi ISP que esta creando paquetes ICMP con payload de 0 bytes puede estar ex-filtrando (presumimos que no intencionalmente) información al resto de Internet sobre su memoria interna. Esto sucede cuando los drivers de la tarjeta de red fallan en limpiar la memoria antes de rellenar los frames ethernet de tamaño inferior al mínimo permitido. Con suficiente recopilación de paquetes podriamos empezar a hacer profiling de su memoria, y poco a poco recuperar cadenas de caracteres con passwords, nombres de usuario, y todo tipo de información confidencial.

Una vez más el atacante no entrenado termina atacandose a sí mismo.

lunes, 21 de marzo de 2011

Los Poderes que nos acechan.

"Las computadoras son las armas y la trinchera no tiene limites"
James Adams, The Next World War. 1998

Muchos tienden a calificar el "Cyber Warfare" como simple prensa amarillista. Sin embargo, la última telenovela de cyber espionaje protagonizada por HBGary Federal y conducida por el grupo de hacktivistas "Anonymous" parece dejar asomar una macabra amenaza global.

Los acontecimientos preliminares comienzan con la negativa de los grandes mercantes de pago virtual, paypal, mastercard, etc de continuar prestando sus servicios a Wikileaks. Esta ruptura de relaciones surge a raíz de la publicación de los famosos cables diplomáticos Norteamericanos, y el anuncio de una futura publicación de documentos internos del Bank of America y otras entidades financieras por parte de Wikileaks. En estos documentos se revelarían supuestas irregularidades que se habrían convertido en la norma en lugar de la excepción para estas organizaciones mercantilistas.

Para el grupo de hacktivistas "Anonymous", este bloqueo económico fue razón suficiente para llamar a una "protesta virtual" en la forma de lo que se conoce técnicamente como un "ataque de denegacion de servicios distribuido". El ataque basicamente consistió en la modificación y distribución de un software cuyo único proposito es el de generar solicitudes a los sistemas de la entidad financiera sin la intención de llevar a cabo ninguna transacción verdadera. En muchas ocasiones, esta sobresaturación de los sistemas informáticos los hace fallar completamente o en el mejor de los casos, hace imposible prestar el servicio de los clientes legítimos. Es el análogo a llamar a muchísimas personas y pedirles hacer una cola en frente de la ventanilla del banco para simplemente al llegar a la ventanilla, no hacer ningún requerimiento, esperar hasta que el cajero nos pida retirarnos y retirarse a formar la cola de nuevo. El resultado es la denegación del servicio para el resto de usuarios en la cola.

Este tipo de ataques no es ni nuevo, ni sofisticado para el mundo virtual, aunque para el mundo real pueda sonar como toda una sensación. Sin embargo, debido al alto perfil de los objetivos (paypal, mastercard, etc), esta "protesta virtual" se convirtió rápidamente en el tema de la prensa alarmista y naturalmente en el sujeto de varias investigaciones del gobierno Norteamericano. Es aquí donde entra la empresa HBGary Federal a la trama de la telenovela.

La empresa HBGary Federal, siendo un jugador pequeño en el mercado de seguridad informática y encontrandose en serios problemas financieros, ve en el grupo de hacktivistas "Anonymous", la oportunidad perfecta para dirigir mayor atención hacia su empresa. Aaron Barr, ex CEO de la empresa se dio a la tarea de "penetrar" el grupo de hacktivistas e intentar revelar las identidades de sus integrantes de "alto rango". Despues de varias semanas de supuesto trabajo de investigación "en cubierto", Aaron Barr anuncia a la prensa hambrienta de sensacionalismo que habia tenido éxito en su incursión en el grupo y que daría a conocer sus resultados en varias importantes conferencias de seguridad informatica de audiencia global. La respuesta del grupo de hacktivistas no se hizo esperar. La respuesta incluyó el sabotaje de varios de los servidores web de HBGary Federal e incluso la usurpación de sus correos electronicos internos, no solo de HBGary Federal, sino tambien de la empresa hermana HBGary.

Pero, ¿Qué tiene que ver toda esta telenovela Norteamericana con nuestra región? Al final, nosotros aquí en latinoamerica estamos acostumbrados a esperar que Hollywood saque la versión de pelicula en pantalla gigante, para nuestra risa y entretenmiento. En este caso: mala idea. Resulta que los correos electronicos de HBGary Federal publicados en la actualidad por una gran cantidad de sitios web nos dejan echar un pequeño vistazo a esa fusión malsana entre las grandes corporaciones y ciertos sectores del gobierno norteamericano. Sería un grave error no aprender temprano de este caso y esperar a la versión de cotufas. La imagen develada no es bonita. Entre las revelaciones de estos emails se encuentran propuestas económicas por parte de HBGary para llevar a cabo todo tipo de servicios de muy dudosa legalidad entre los que se cuentan: desarrollo de virus y malware para espionaje de personas, creación y diseminación de información falsa para desprestigiar e intimidar a los simpatizantes de wikileaks, creación de identidades falsas en redes sociales (facebook, et al) para infiltrar grupos de uniones de trabajdores y un grandísimo etc. Todo esto lo podría llevar a cabo HBGary Federal con total impunidad, debido a que sus clientes serían ciertos sectores gubernamentales.

En particular, por ejemplo, en uno de los emails de HBGary Federal se encuentra un archivo de muy mal gusto. En este documento de la empresa "Endgame Systems, Inc." se hace un estudio de la posibilidad que Venezuela instale misiles nucleares provenientes de Iran con alcance a Estados Unidos. El documento finaliza con una lista de "activos digitales" en las redes Venezolanas, de varias entidades gubernamentales. Esta lista viene acompañada de comentarios sobre vulnerabilidades informáticas encontradas en los sistemas Venezolanos por medio del uso de lo que sería su herramienta de escaneo automatizado. En otras palabras, una suerte de informe de inteligencia con posibles objetivos digitales. Un informe de muy mediocre calidad, hay que reconocerlo, pero que sirve con cierta eficiencia su propósito. A continuación la lista de objetivos identificados por Endgame Systems, Inc:


La lección que considero tan importante como para no esperar a la versión de cinesunidos.com es la siguiente: Nótese como los objetivos examinados no se limitan a entidades de gobierno. En la lista se encuentra una importante organización educativa Venezolana. Verdaderamente la trinchera no tiene limites y cualquier sistema podría convertirse en el blanco en una "Cyber Guerra". Considérese lo siguiente: tradicionalmente en las guerras se destruyen los puentes para evitar el traslado de suministros de comida y municiones. En el mundo de hoy, si alguien quisiera causar desabastecimiento de alimentos a una nacion entera, por ejemplo, bastaría con violentar los sistemas informáticos de las grandes cadenas de mayoristas, distribuidores y hasta supermercados al detal. El desorden y retraso sostenido podría ocasionar no solo pérdidas cuantiosas al gobierno en forma de ayudas y rescates, sino que incluso podría agudizar situaciones de tensión y desestabilización. Adicionalmente, en anteriores artículos hemos visto que nuestros sistemas informáticos financieros tampoco cuentan con una protección adecuada, hasta el punto de permitir ataques de denegación de servicios triviales y fuga de información confidencial.

En terminos criollos, estamos blanditos y viene el lobo. Y ciertamente, contra los poderes que nos acechan, ya no sirven los fusiles ni los tanques. Es hora de despertar de la pelicula mala y adaptarnos a la nueva realidad. Mientras mas pronto, mejor.