sábado, 12 de febrero de 2011

Como debería de ser un Tiger Team


Aficionado un servidor a las películas de robos "bien planeados", estilo Ocean Eleven, Heat o Ronin, donde existe un grupo multidisciplinar pero donde todos saben de todo aunque cada uno destaca en alguna tarea específica, siempre me ha ilusionado aplicar esa filosofía, lo reconozco algo peliculera pero no sin sentido, a un Tiger Team.

Para que no haya confusiones, como Tiger Team no me refiero a un equipo de auditoría de seguridad, estos equipos tienen objetivos diferentes, en una auditoría buscas todos los fallos de un sistema, normalmente corporativo, para documentarlos, no siempre se explotan estos fallos para conseguir acceso. Un Tiger Team es diferente, el objetivo es conseguir 'la bandera', esto puede entenderse como simplemente entrar en un sistema y mantener acceso, conseguir datos protegidos, conseguir una denegación de servicio y un largo etc. Para esto, además generalmente se tienen fuertes obstáculos y exigencias, como puede ser la falta de información, la necesidad de velocidad, o la necesidad de pasar desapercibidos. 

A mi entender un buen equipo deberían de ser al menos cuatro personas, con los roles que ahora describiré. También, expongo mi idea sobre qué recursos necesitarán a priori y que contactos externos pueden ser requeridos:

El/La geek

Esta persona debería de tener unos muy buenos conocimientos generales de programación, debe de ser capaz desde hacer un troyano simple o modificar uno complejo de Windows/Linux/MacOSX como tener un mínimo de experiencia en JAVA, JSP, PHP, ASP, C, RUBY,BASH SHELL y PERL. Esta experiencia debe de ser la suficiente como para con un libro hacer lo que tenga que hacer rápidamente, los lenguajes que he puesto no son al azar, estos le permitirán poner backdoors en casi cualquier sistema.

El rol del programador también incluiría el programar/adaptar los exploits necesarios, por esto también se le requiere un conocimiento profundo sobre la estructura interna de MS Windows. Personalmente creo la estructura y funcionamiento a bajo nivel de los sistemas operativos *nix incluido MacOSX son más fáciles de aprender en un momento de necesidad. 

También a mi manera de verlo, esta persona será la que de inicio tendría más trabajo, pero con el paso del tiempo y de los "casos" debería de tener una biblioteca de código y unos conocimientos adquiridos bastantes fuertes que le permita hacer su trabajo de forma más veloz y llevadera.


Una persona de protocolo

Esta es una persona que debe de manejarse bien entre diferentes protocolos, desde una capa 2 hasta la más alta, y ¡ojo! esto lo digo porque no me refiero solo a  protocolos IP sino también a otros como puede ser X.25, DVB, Bluetooth, SSL,... lo dicho, todas las capas. Y como es imposible saberse todos los protocolos, debe de tener una importante capacidad de análisis para poder investigar capturas de tráfico de protocolos desconocidos y también de leer con soltura los diferentes estándares como RFCs, ETSI, IEEE (de verdad, algunos son un infierno).

Debe de ser capaz desde hacer hijackings, spoofings y sniffings hasta configurar en elementos de red una backroute. También ha de ser capaz de implementar los ataques, que han diseñado sus compañeros, usando diferentes técnicas de evasión de IDS. 

Esta persona debe de trabajar estrechamente junto con el geek.


Cables

Aquí entramos en el más bajo nivel. ¡Qué bien nos vendría alguien que nos hiciera un arduino que esnifara un teclado por HW! ¡Qué bien estaría una persona que saque el firmware de un AP y le pusiera una backdoor programándola en ensamblador de ARM! Y si esta persona extrae los datos de cualquier memoria flash de cualquier dispositivo ¡tope! XD. Puede tener que troyanizar una impresora o fotocopiadora....

Le será necesario conocimientos de ensamblador x86, MIPS y ARM, así como el manejo de herramientas de desensamblado y debugging, cross compiling y manejo ágil del soldador.


El/La guap@

Una persona que se gane a la gente fácilmente es esencial en este campo (ingeniería social), existen diferentes formas de hacer esto, por teléfono, con un email correctamente escrito, con una web simulando ser una empresa... Esto incluye incluso hacer de comunity manager, creando falsos perfiles de diferentes profesionales y empresas que pueden ser necesarias en un futuro (Linkedin, Wikipedia, facebook, tuenti, twitter...). 

 ( La comunidad de Murcia ya hizo esto es el caso de Vladimir Karabatic para engañar a la prensa [link] )
  
He expresado las tareas un poco diferenciadas, pues luego hay otras tareas comunes, como vigilancias o buscar nuevas vulnerabilidades, estas serán una de las armas más importantes. Lo he dicho muchas veces, y no me cansaré, en este mundo quien tiene un 0 day para algún tipo de tecnología de uso común (IE, Firefox, pdf, ms office,...) tiene un puto tomahawk.

También ha de quedar claro, que estos son, a mi ver, los roles principales, pero de ningún modo los únicos. Soporte externo es esencial, desarrollo de plataformas para la gestión de información, empresas y organizaciones externas que aporte información sobre nuevas vulnerabilidades (por ejemplo CERTs). Aparte  de contactos técnicos para resolver posibles dudas. El evidente OSINT es esencial (OSINT), y el usar sistemas online para crackear cifrados. 

Las necesidades técnicas también son fuertes, debemos tener nuestras propias rainbowtables NTLM y A5/1, esto es mucho espacio de disco duro. Distintas maquinas de distintas arquitecturas con diferentes sistemas operativos que no son inicialmente virtualizables es lo ideal. Imaginemos que se consigue la intrusión en un sistemas antiguo como puede ser un TRU64, este por defecto no lleva compilador de C, ¿como conseguimos un binario que explote una vulnerabilidad en el mismo? Pues o conseguimos que nos dejen uno (hace unos 6/7 años te dejaban shells gratuitas en este tipo de sistemas para probarlos  con compilador ;) o tenemos un HP donde lo podemos instalar (si es que conseguimos el software)... Otro caso posible, es nuestro nuevo troyano superdelamuertestealth, funciona en WinXP SP3 y en Windows 7 32bits, pero evidentemente habrá que probarlo en Vista, Win 7 64 bits, Win XP SP2... Y como último ejemplo, puede ser una nueva supervulnerabilidad de pdf, afecta a Adobe Reader, hacemos el exploit que necesita unas direcciones de memoria muy exactas igualmente habrá que probar en todos los Windows a ver si encontramos alguna dirección de memoria común o al menos la de cada SO, y por supuesto habrá que probar si el Adobe reader de MacOS es también vulnerable... Creo que con estos ejemplos está suficientemente explicado.

Y por último movilidad, no penséis que un Tiger Team hace todos sus ataques por internet, existen otros ataques que exigen cercanía al objetivo, como por ejemplo intentar crackear su red wifi, o fingir que un vulgar ladrón ha robado un portátil. Tampoco tenéis que pensar que los ataques son solo a ordenadores, se pueden intentar ataques a smartphones tanto de forma remota como cercana bluetooth, aplicaciones troyanas, ingeniería social e incluso sustrayéndolo por breve espacio de tiempo. 




Un posible escenario de actuación de un Tiger Team: Egipto hace 2 semanas.


Una organización quiere influenciar en los recientes acontecimientos en Egipto, y para eso manda su Tiger Team allí. El/la guap@ y el/la geek se encargan de hacer un perfil en Internet de un estudiante de ciencias políticas, por ejemplo de la Universidad de Marruecos, pero de origen Egipcio. Este, impresionado por el movimiento se ha vuelto a su país, además es un activo usuario de twitter y actualiza asiduamente su Facebook. Se agrega a todos los grupos de esta red social y publica asiduamente (el texto no lo redacta nuestro TT sino unos especialistas en mundo árabe y en Egipto concretamente), además con el hastag #Egypt también hace gran cantidad de comentarios, dando importante información de los acontecimientos. 

Cuando Internet es cortada, nuestra persona de protocolo y cables, montan varias conexiónes a Internet por satélite con el Eutelsat W3A que tiene cobertura en Egipto, configuran varias lineas de modem locales y puntos wifi en los principales sitios. Se extiende el rumor de que existen en ciertos puntos wifis por los que salir a Internet, se asegura además, que estos rumores llegan a las principales figuras del movimiento (por ejemplo el famoso directivo de google). 


Se configura en estas redes preferencia de tráfico a facebook y twitter, también al tráfico de correo (enviar y recibir).


 ¿Que le permite esto hacer al TT?


 1) Tener un personaje activo en las redes sociales que tanto han influido.


 2) Dando Internet proveemos accesibilidad para que la gente lea lo que este personaje 'aporte' al movimiento. 


 3) Por si acaso no consiguen una voz importante, podemos monitorizar las conexiones de Internet que hemos instalado en sitios estratégicos. Así un analista puede extraer inteligencia de los que por las mismas se dice. Tanto de un bando como de otro.


 4) Si consigue que gente relevante use sus redes, posiblemente sean capaces de conseguir acceso a sus cuentas, controlándolas y pudiendo secuestrarlas si lo estiman necesario.

Ciertos aspectos a tener en cuenta:


¿Enviar gente a una zona de conflicto?


Bueno, he considerado Egipto ya que ha sido una revolución mayoritariamente pacífica, excepto algunos tristes altercados. En ningún momento se ha dado la impresión de golpe de estado o guerra civil.


¿Existe riesgo de que apresen  al Tiger Team?


En este caso, al contrario que en El Aaiún, no han existido importantes restricciones al movimiento. El equipo puede dejar todo preparado y alejarse de las zonas para controlar el tráfico remotamente. Si acaso, el proceso de distribuir el rumor de donde se provee de  internet entre los diferentes grupos es lo más peligroso.


¿Por qué Eutelsat W3A y no Inmarsat?

Se me ocurren varias razones, como puede ser no es muy sospechoso una parabólica apuntando al cielo, el precio y la velocidad, el teléfono de Inmarsat es bastante más pequeño y pasa desapercibido pero el precio es bastante más alto y la velocidad es menor.



Pensad que esto lo puede hacer cualquiera, desde una empresa con intereses, al gobierno egipcio o uno extranjero con diferentes objetivos.


En resumen, un Tiger Team es a mi ver un pequeño grupo con recursos propios y externos, cuya función va más lejos que el meramente "entrar en ordenadores". Dado el pequeño tamaño de este grupo, se pueden tener varios de estos, los cuales compartirán algunos recursos e información.

9 comentarios:

  1. Me pido ser el guapo!!!

    ResponderEliminar
  2. Un Tiger Team Hollywoodiense por excelencia es el de la película Sneakers.

    ResponderEliminar
  3. Yo sería muy bueno en zampar comida basura como Brad Pit en O11... Me fichas?? Ahora en serio, me ha molado mucho vuestro rollo!! hahahaha!!
    J.

    ResponderEliminar
  4. Muy interesante, no se si el Equipo A es el mejor ejemplo, pero me gusta sobre todo la idea de Egipto, pero, ¿como lo harías en otro país donde introducir esos dispositivos está más restringidos? ¿China? ¿Iran?

    ResponderEliminar
  5. Lo dificil tardamos poco, para lo imposible, nos lleva un poco mas de tiempo, nada mas..., por eso es el TT

    ResponderEliminar
  6. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  7. Buena idea para un guión de pelicula.... o real! :D

    ResponderEliminar