viernes, abril 04, 2014

Latch Event Monitor: Controlar Windows con Latch (1 de 3)

En la pasada RootedCON una de las demos que realicé estuvo basaba en Latch Event Monitor, una herramienta que ha salido del laboratorio de Eleven Paths para permitir "latchear" sistemas Microsoft Windows de forma distinta al plugin de Gina del que ya os hablé. La semana pasada vio por fin la luz - tras pasar por el departamento de QA y sufrir unos ligeros ajustes para mejorarla un poco más - así que ya la puedes descargar y empezar a jugar con ella.

La idea detrás de esta herramienta es conseguir que un sistema Microsoft Windows realice una u otra tarea - o ninguna - cada vez que se produzca un evento en el sistema, controlando las ejecuciones por medio de un Latch que decidirá qué acción debe realizarse o no. Es decir, hacer que el sistema reaccione de una determinada manera cuando el Latch asociado a ese evento determinado esté abierto o cerrado. Vamos a ver cómo se configura en detalle.

El Visor de Eventos

Un sistema Microsoft Windows genera una enorme cantidad de eventos en el sistema para seguir lo que está sucediendo en el sistema. Casi cualquier cosa que sucede deja una traza en forma de evento que puede visualizarse a través del famoso Event Viewer o Visor de Eventos. Con estos eventos se puede saber qué pasa o qué ha pasado en cada instante. Se podría saber si alguien espía tu Windows porque toca los ficheros de tu sistema, o saber cuándo Windows ha sido arrancado o reiniciado, para saber si tu sistema está siendo manejado por alguien a tus espaldas.

Figura 1: El Visor de Eventos de un sistema Windows Server 2012

Si has jugado para aplicar la máxima seguridad a tu Windows también sabrás que a los eventos, utilizando el Visor de Eventos, se puede asociar la ejecución de acciones diversas que reaccionen a cada uno de ellos. Se pueden lanzar programas o generar alertas por e-mail con cada evento para saber que alguien ha iniciado sesión en tu Windows o incluso para poder evitar un ataque de ARP Spoofing en de una manera distinta a las habituales. En Windows Server 2012, con la ampliación de funciones y roles del servidor, aún se pueden hacer más florituras ya que el número de eventos que se registran también ha crecido.

Figura 2: Configuración de acciones asociadas a los eventos con el Visor de Eventos de Windows

Lo que queríamos hacer con Latch Event Monitor es, de forma sencilla, ampliar su funcionamiento para que el sistema reaccionara de forma distinta a un evento cuando el Latch que lo protege estuviera cerrado a cuando éste estuviera abierto, lo que nos daría un gran poder de control remoto sobre cómo queremos que se comporte el sistema en tiempo real, al mismo tiempo que se pueden recibir alertas directamente por el sistema de Latch.

Latch Event Monitor

La herramienta permite configurar para cada evento del sistema Windows un comportamiento distinto para cuando el Latch está cerrado y otro para cuando el Latch está abierto. Para tenerlo funcionando hay que configurar las siguientes cosas para controlar el Windows:
1.- Tener una cuenta de Developer de Latch (gratuita)
2.- Crear la aplicación que representará a Windows en Latch.
3.- Crear en la aplicación de Latch los eventos que se quieren monitorizar
4.- Enlazar Latch Event Monitor con la aplicación
5.- Enlazar los eventos del sistema a controlar con una operación del Latch
6.- Configurar comportamientos para cuando el latch esté cerrado y/o abierto
Una vez hecho esto, ya se debe configurar la cuenta que controlará el comportamiento. Para ello necesitamos:
1.- Tener una cuenta de usuario Latch para controlar el estado de los latches asociados a los eventos.
2.- Parearla con Latch Event Monitor
Esto hará que cada vea que se genere uno de los eventos monitorizados, la herramienta Latch Event Monitor, que funciona como un servicio de Windows, pregunte por el estado del Latch asociado con la Operación del Latch de ese evento en la herramienta y ejecute uno u otro comportamiento. Vamos a ver el paso a paso de cómo se configura.

Fase 1: Crear la Aplicación de Latch y las operaciones a monitorizar

Para la primera parte necesitamos abrir una cuenta de desarrollador de Latch, que es gratuita, y añadir una nueva Aplicación que representará al sistema Windows que se quiere controlar remotamente con Latch. Para hacer esto basta con ir a la parte de My Applications, crear una nueva y configurar un nombre que se mostrará en la app de Latch, un icono que también se verá en la app de Latch, y la lista de operaciones que representarán a los eventos que se quieren controlar del sistema Windows.

Las operaciones representarán a cualquier evento, y como Latch Event Monitor no podrá interactuar con el usuario por medio del interfaz, no tiene sentido configurar OTP (One-Time Password). Además, la lista de operaciones se puede cambiar en cualquier momento, así que no hace falta que te preocupes por poner todas, siempre puedes añadir o cambiar las operaciones de la aplicación en el futuro y se actualizará automáticamente.

Figura 3: Aplicación para controlar un Windows con Latch

En este ejemplo se puede ver que se ha creado una aplicación llamada Mi Windows, con tres operaciones que son RDP, VNC y Fichero Hosts, que servirán para controlar tres eventos concretos del sistema Windows que se producen en determinadas circunstancias.

Fase 2: Conectar Latch Event Monitor con la Aplicación Latch de Windows

La segunda parte de la configuración de este sistema debe realizarse en el sistema Microsoft Windows a monitorizar. Para ello primeramente se debe descargar Latch Event Monitor, que se configurará como servicio del sistema tras ejecutar el instalador que se acompaña en el paquete.

Una vez que se abre el interfaz gráfico de configuración de Latch Event Monitor hay que pulsar en el botón que aparece en la esquina superior derecha llamado "Latch Management". Ese botón nos llevará al panel de configuración de la Aplicación Latch y se nos solicitarán dos valores que nos ha dado la creación de la misma, que son el Applicacion ID y el Secret.

Figura 4: Configuración de conexión con aplicación Latch

Estos valores son los que convertirán a este servicio en capaz de consultar el estado de todos los latches de usuario que se le pareen, que en esta aplicación será solo 1. Es decir, solo una cuenta de usuario  de Latch podrá controlar el comportamiento de este sistema. Esto se hará más adelante, en la misma zona de configuración, pero mediante un proceso habitual de pareado de Latch.

Fase 3: Configurar el latcheo de un evento del sistema

Una vez que se ha configurado la conexión de Latch Event Monitor con una Aplicación de Latch en la Fase 2, lo siguiente que se debe hacer es conectar los eventos del sistema con las Operaciones de la Aplicación Latch. En este caso creamos anteriormente tres operaciones, así que vamos a configurar tres eventos del sistema con sus comportamientos correspondientes para cuando el Latch esté cerrado y abierto.

Por ejemplo, en el caso de VNC se sabe que el evento que genera el servicio VNC Server en el sistema cuando una conexión satisfactoria tiene lugar, es decir, cuando alguien ha proporcionado la contraseña correcta, tiene un EventID con valor 256 y en el texto del evento aparece el mensaje connected. Esto se sabe analizando los eventos que se producen en el sistema con la propia herramienta de Event Viewer.

Para asociar un comportamiento del sistema controlado por un Latch se añade un nuevo evento en Latch Event Monitor pulsando Add y se configura un nombre, el log del Visor de Eventos al que pertenece este evento - en este caso es Application pero tienes un menú desplegable para ver todos y encuentres el adecuado -, y se añade el filtro de que solo debe saltar esta comprobación cuando la conexión sea satisfactoria, es decir, que aparezca en el texto del evento la palabra connected.

Figura 5: Configurando un evento asociado a una Operación del Latch

Como se puede ver, la segunda parte es la conexión con el Latch concreto, para ello se debe copiar el Operation ID de la operación que va a representar el control de este evento con el Latch.

A partir de ahí, lo último que tenemos que hacer es decidir qué queremos que haga el sistema cuando el Latch esté Locked, cuando el Latch esté Unlocked, y cuando no se obtenga respuesta porque haya saltado el valor de Time-Out que se configura también en la zona de Latch Management de Latch Event Monitor, tal y como se ve en la Figura 4. Esta no respuesta puede ser por una mala configuración, una caída de la red, o una caída del servicio.

En este caso se ha llamado al servicio VNC Server con el parámetro -disconnect cuando la Operación del Latch que representa al control del servicio VNC esté Locked, así que se desconectaría automáticamente a ese usuario. Este comportamiento no garantiza que el usuario no realice alguna acción en el sistema en el tiempo que transcurre entre que se detecta el evento y se desconecta la sesión, pero permitirá que se reciba una alerta de seguridad en la app de Latch además del cierre de la sesión.

El comportamiento depende del programa que se configure, así que se podría hacer un script en Powershell que configurase un entorno distinto, que montase unas unidades de red u otras, que grabara la sesión con Problem Steps Recorder, o lo que se considere. El límite está en ti.

Saludos Malignos!

********************************************************************************************
Latch Event Monitor: Controlar Windows con Latch (1 de 3)
Latch Event Monitor: Controlar Windows con Latch (2 de 3)
Latch Event Monitor: Controlar Windows con Latch (3 de 3)
********************************************************************************************

4 comentarios:

JuanxoHH dijo...

Chema perdona me estoy volviendo loco, ¿que es el App ID y secret en la fase 2?

Roberto Gómez dijo...

Buenos días!

Mi nombre es Roberto Gómez (roberto.gomez@11paths.com) y soy técnico de soporte de Eleven Paths.
El App ID (Application ID) y el Secret (Secret Key), son valores que se obtienen automáticamente al generar/crear una aplicación en la Web de Latch para desarrolladores (como puede ver en la Figura.3).
Tiene varias guías en internet que pueden ayudarle y resolver sus dudas, por ejemplo:

http://www.redeszone.net/seguridad-informatica/latch/como-registrarnos-y-empezar-utilizar-latch/

Si tiene más dudas al respecto, puede contactar directamente con el departamento de soporte utilizando la dirección de correo:

latch-help@support.elevenpaths.com

Anónimo dijo...

buenas, como hago para generar Operation ID?
ya genere la aplicacion desde el sitio de desarrolladores y con latch event monitor ya los enlace (paree), pero a la hora de agregar un evento que monitorear como el de el archivo host .. que se ve en los ejemplos.. no logro encontrar la forma de que generar el operation id . ayuda porfavor.

Anónimo dijo...

Buenos días!

Soy Roberto Gómez de Eleven
Paths.

Iniciando sesión en la Web de Developers de Latch y accediendo a la edición de la aplicación creada especialmente para el plugin de Windows, donde puede ver el Application ID y el Secret que han sido generados automáticamente en el proceso de creación de la aplicación, podrá ver en la parte inferior de la Web un apartado llamado "Operaciones".
En este apartado cuenta usted con un símbolo "+" que es el que deberá pulsar para crear una nueva operación, la que debería llamar por ejemplo "op. login". La creación de esta nueva operación hará que a la derecha del nombre que acabamos de escribir aparezca la opción "OTP", la que deberá poner como "Opcional". Una vez hecho esto debe pulsar "Añadir" y guardar los cambios. Automáticamente se le habrá generado el ID de operación que necesita para la implementación del plugin de Windows.

Reciba un cordial saludo del equipo de Eleven Paths.

Entrada destacada

Tu Latch "Hack Your Innovation Contest": Haz un PoC & Hack por 1.000 €

El pasado Telefónica Innovation Day 2024 lanzamos oficialmente el " Tu Latch Hack Your Innovation Contest " en el que repartimos ...

Entradas populares