martes, 7 de julio de 2015

Hacking Team blues

Hacking Team (HT) es una empresa italiana dedicada al desarrollo y comercialización de herramientas software de espionaje y vigilancia, entre cuyos clientes destacan cuerpos de seguridad e inteligencia de medio mundo.

Logo Hacking Team

El hackeo de uno o varios servidores de dicha empresa, y la posterior filtración pública del botín obtenido, unos 415Gb. de contenido en bruto, promete una serie de interesantes reacciones que están por llegar. Viendo el video de presentación de su producto estrella, Remote Control System (RCS), ya nos podemos hacer una idea de lo jugoso de la información filtrada.


Además de código fuente de sus productos, presentaciones comerciales, etc... la filtración incluye listados de clientes actuales de la empresa, información que compromete no solo a la empresa sino también a los propios clientes.

Enseguida, entre los clientes de dicha empresa, han aparecido la Policía Nacional* española y el Centro Nacional de Inteligencia (CNI).

¿Qué es el Remote Control System de HT?

Citando lo que aparece en los manuales del producto:
RCS (Remote Control System) es una solución que soporta investigaciones por medio de la intercepción activa y pasiva de los datos y la información de los dispositivos bajo investigación. De hecho, RCS crea, configura e instala agentes de software de forma anónima que recopilan datos e información y envían los resultados a la base de datos central para decodificarlos y guardarlos.
Estamos ante una botnet para organismos gubernamentales en la que existe un centro de mando y control, existen "agentes" que recopilan información que son módulos software instalados en las máquinas objetivo. Estos "agentes" son instalados, o bien localmente si se tiene acceso físico a la máquina objetivo, o bien remotamente utilizando exploits, e incluso exploits zero-day según indican las presentaciones comerciales del producto. La instalación remota se realiza mediante ataques man in the middle por un módulo denominado Network Injector.

Además, para proteger en lo posible el servidor que hace de C&C, los datos enviados por los "agentes" se enrutan a través de anonimizadores hacia unos recolectores, que son los que alimentan finalmente con los datos al servidor C&C. El esquema con el que HT describe su producto es el siguiente:


Los anonimizadores son máquinas VPS distribuídas geográficamente que pueden encadenarse para aumentar la seguridad. Son las encargadas de comunicar los recolectores con los "agentes" instalados en los objetivos, y de comunicar los recolectores con el Network Injector. Toda comunicación entre el C&C con los "agentes" y el Network Injector se realiza mediante los recolectores y su cadena de anonimizadores asociada.

El Network Injector puede entregarse en forma de componente hardware de red listo para ser instalado directamente en los proveedores de internet, o bien en forma de portátil para su despliegue en una red LAN o en una red Wifi. En ambos casos su misión es monitorizar el tráfico de red, y cuando se cumpla alguna de las condiciones establecidas desde el C&C, inyectar los "agentes" en el flujo HTTP. Ambos dispositivos usan un sistema operativo propio de la empresa (posiblemente un Linux tuneado).

La manera en la que se realiza la inyección del agente es variada. Infectar un archivo ejecutable conforme se descarga, inyectar código HTML al visitar una determinada página, bloquear un sitio y solicitar al usuario una actualización falsa del visor de Flash o reemplazar completamente un archivo que se está descargando por otro.

La forma de instalación del agente también es configurable. El agente puede insertarse en documentos para los que se encuentren disponibles exploits (la librería de exploits se actualiza continuamente desde los propios servidores de HT), de tal manera que al abrir el documento el objetivo quede "infectado". Puede crearse un paquete de instalación para cualquiera de los sistemas operativos móviles soportados. Puede insertarse en un archivo ejecutable de Windows, OSX o Linux... e incluso instalarse en el firmware de la máquina haciéndolo persistente incluso a formateos o cambios de disco duro.

Los "agentes" dependen del sistema operativo del objetivo. Los "agentes" que HT suministra incluyen soporte para Windows, OSX, Linux, Android, IOS, Blackberry, Windows Mobile y Symbian. Cada uno de estos "agentes" vienen en tres sabores distintos:
  1. Explorador.
  2. Soldado.
  3. Elite.
El agente "explorador" es el primero que aterriza en el objetivo. Su misión es recopilar datos sobre el entorno de ejecución para determinar si el ambiente es seguro, no complemente seguro, o claramente inseguro. Por ejemplo, si en el objetivo el "explorador" detecta la presencia de software antivirus actualizado, u otras herramientas de seguridad, esto puede provocar que se aborte la descarga de agente de otro nivel. En caso de que los datos recopilados por el "explorador" permitan clasificar al objetivo como completamente seguro, el siguiente agente que se descargue puede ser del tipo "élite", con todos los módulos de captura de datos habilitados. Por el contrario, en objetivos clasificados como no completamente seguros, se despliega el "soldado" que solo incluye algunos módulos que se hayan definido para minimizar la posibilidad de ser detectado.

La información que pueden recopilar los agentes es de lo más completa, y depende del tipo de objetivo en el que se han instalado:
  • Grabación de llamadas (solo en agentes "élite").
  • Registro de mensajes.
  • Documentos, imágenes y fotos (solo en agentes "élite").
  • Capturas de pantalla periódicas.
  • Almacenado periódico de la posición geográfica.
  • Contactos.
  • Webs visitadas.
  • Keylogger para dispositivos móviles.
  • Keylogger, Mouselogger y contraseñas del sistema en dispositivos de escritorio.
  • Captura periódica de webcam.


Privacidad ante todo

Desde HT le han dado mucha importancia a que la acción de los agentes sea indetectable. Uno de los documentos filtrados describe el protocolo de actuación ante una crisis, definiendo crisis como el que hayan "pescado" a uno de los agentes del sistema RCS desplegado, o bien que se haya hecho público alguno de los exploits zero-day que utilizan.

Para ello la empresa monitoriza entre otras cosas las muestras que VirusTotal analiza. En caso de que uno de los agentes generados por alguno de los clientes de HT aparezca por VirusTotal se desencadena el proceso establecido en dicho documento.

Las medidas enumeradas incluyen la destrucción del VPS desde el que se ejecutaba el anonimizador que contactaba con el agente "descubierto", un proceso de comunicación y soporte con el cliente afectado, y una serie de procesos de investigación para determinar el alcance de lo que un supuesto atacante haya podido acceder.

Y todo se viene abajo...

Toda esta cuidadosa política de privacidad se ha venido abajo con el filtrado ocurrido ayer. Entre otros archivos, se encuentran los archivos de licencia de gran parte de los clientes de HT. Estos archivos de licencia que el software de RCS validará en tiempo de ejecución, enumeran los módulos que el cliente ha adquirido: si ha adquirido agentes "élite" o no, número de anonimizadores, de recolectores, de inyectores, número de usuarios del sistema, máximo número de agentes desplegables en sistemas de escritorio y en móviles, etc...

Revisando esos archivos de licencia, junto con el resto de documentación sobre ofertas comerciales y facturas, podemos hacernos una idea de para qué quieren usar los distintos clientes de HT su producto RCS, y el tamaño de la infraestructura que dedican al mismo. Información de inteligencia de gran valor, no porque pueda comprometer los sistemas RCS desplegados (que por cierto, a estas horas estarán todos ya desconectados), sino porque exponen los intereses e intenciones de los distintos cuerpos de seguridad y agencias de inteligencia que engrosan la lista de clientes de HT.

Esos 415Gb. de información estarán siendo cotejados por cientos de investigadores. Es de esperar que el fruto de ese cotejo irá saliendo a la luz en las próximas semanas. Estaremos atentos.

No hay comentarios:

Publicar un comentario