21 abr 2012

Identificando usuarios de LogmeIn en tu red

Si eres un administrador de seguridad o de sistemas y estás interesado en identificar que usuarios de tu red están utilizando el servicio de LogMeIn para conectarse a equipos de tu trabajo, no busques más: este es tu post. La única premisa es que necesitaras Snort para ello.

Vamos pues al tema. El esquema básico de comunicación de LogMeIn está formado por 3 elementos: un servidor propiedad de esta compañía, el equipo al que queremos conectarnos (un PC por ejemplo) y el equipo desde el que queremos conectar (PC, servidor, Smartphone, etc).

Inicialmente y tras instalar el agente en la máquina Host, esta iniciará una conexión a los servidores de LogMeIn para enviar un Heartbeat TCP cada 30 segundos, manteniendo así una conexión abierta SSL capaz de remitir comandos al Host. En este punto podríamos crear una firma de Snort para identificar qué equipo tiene el agente instalado, pero perderíamos en este caso la dirección del cliente desde donde se intentan conectar, dado que la IP destino sería la de los servidores de LogMeIn (212.118.234.0/24, 64.74.103.0/24). Al margen de esto el NAT puede también jugarnos alguna mala pasada enmascarándonos la dirección origen.

A continuación cuando un cliente quiere conectarse a la máquina Host debe previamente autenticarse en el servicio de LogMeIn a través de sus correspondientes servidores. De esta manera esta compañía ya tiene por una parte una conexión SSL TCP establecida con la máquina Host y por otro lado una conexión SSL TCP con el Cliente, todo ello por el puerto 443 para así evadir posibles problemas de filtrado (no es https).

Por último y una vez autenticado en el servidor, éste informa a ambas partes de la dirección IP y puertos UDP que se utilizarán para la conexión directa entre HOST< -> CLIENTE. Para ello utilizan el sistema ya comentado en posts anteriores (TCP2UDP Firewall Bypassing). Desde este momento el server ya no participa en la comunicación y todo el tráfico se realiza entre los interesados de forma cifrada mediante un certificado autofirmado generado por openssl (binario en la propia carpeta de la aplicación) remitido desde el Host al Cliente. En este certificado tenemos lo que nos interesa entre otras cosas:
  • Dirección IP interna del Host
  • Dirección IP remota del Cliente
  • Nombre Netbios del equipo Host
  • Nombre de la empresa
  • Idioma
Con esto solo nos queda generarnos una firma de Snort, que aquí os dejo, para detectar ese intercambio.

alert udp any any -> any any (msg:"S2 Inicio de conexion a equipo con Logmein"; content:"Certificate issued by LogMeIn";nocase; classtype:policy-violation; sid:9900000; rev:1;)

Para finalizar me gustaría que la gente reflexionase sobre el uso de estas aplicaciones como LogMeIn y TeamViewer, a través de las que se le está dando acceso al core de tu red a un tercero cuya integridad desconocemos y que además en este caso al ser estadounidense no está sujeto a las restricciones de la legislación europea en protección de datos. Sin querer ser paranoico o conspirativo a organizaciones como la CIA o la NSA estos aplicativos les vienen como anillo al dedo. Eso al margen de que cualquier usuario con privilegios de administrador sobre su propio equipo pueda saltarse todas las políticas de seguridad de la organización. Ahí es nada.

Autor: Roberto Amado
Fuente: Security Art Work

Suscríbete a nuestro Boletín

0 Comments:

Publicar un comentario

Gracias por dejar un comentario en Segu-Info.

Gracias por comentar!