Mostrando entradas con la etiqueta hids. Mostrar todas las entradas
Mostrando entradas con la etiqueta hids. Mostrar todas las entradas

29 mayo 2014

Creando un Host IDS en Linux

Como usuario habitual de Linux siempre he echado de menos la enorme cantidad de herramientas que hay en Windows para monitorizar el sistema. 

Aparte de las 'suites' de seguridad, cada vez más completas, que vienen con los antivirus, hay un montón de herramientas tipo 'Host IDS' que monitorizan conexiones, procesos y comportamiento.

Personalmente hice mi humilde contribución con Patriot-NG.

Hoy vamos a ver como montar un Host-IDS casero para un entorno Linux, nos interesa monitorizar el equipo y tener bajo control todo lo que sucede. 

Dado que vamos a ejecutar unos cuantos comandos a la vez, lo suyo es emplear una shell tipo 'Yakuake' para tenerla a mano a golpe de botón.

La primera herramienta que vamos a ver es atop, uno de los muchos hermanos-mayores de top que permite monitorizar los recursos del sistema. La herramienta luce tal que así






Esta herramienta permite identificar de una forma bastante fácil aquellos procesos que se están 'saliendo de madre', tanto a nivel RAM, como CPU y disco.

La siguiente herramienta nos va a permitir monitorizar las conexiones del sistema. Su nombre: NetHogs.

A diferencia de netstat, donde hay que hacer bastante tarea manual de identificación de conexiones / procesos, NetHogs nos ofrece una forma muy directa de ver qué procesos tienen conexiones abiertas




Y finalmente, contribuyo al concepto con un script que permite monitorizar la integridad de los procesos que se están ejecutando en el sistema.

Lo que hace el script es, periódicamente, comprobar que todos los procesos que se están ejecutando pertenecen a algún paquete del sistema (han sido instalados) y no han sufrido alteraciones. 

Es bastante útil para detectar en tiempo real si se ha lanzado en el equipo algún proceso que no corresponde a nada que hayamos instalado. Cuando detecte un proceso sospechoso, nos mostrará una ventana con la información


De momento, el script solo funciona en sistemas basados en RedHat (Fedora) y puede que en sistemas SuSE.

Se puede descargar desde aquí y se ejecuta -como root- tal que así:

# perl proctest.pl
Leer más...

22 noviembre 2012

OSSEC: Introducción


OSSEC es un Host IDS opensource que incluye características que lo convierten en una herramienta muy interesante para asegurar un sistema, ya sea de la familia Unix o Windows.

Nace como sistema de detención de intrusos basado en logs (LIDS o Log-based Intrusion Detection System)  pero en la actualidad ha evolucionado incluyendo otras funciones, entre ellas:
  • Control de integridad de ficheros: verifica que los ficheros relevantes del sistema no sean alterados de forma no gestionada.
  • Control de integridad del registro: igual al anterior, pero para claves del registro. De esta forma se puede monitorizar si se añade un nuevo servicio, y se conecta un dispositivo USB, si se agrega una aplicación para que arranque al inicio de windows, etcéterra.
  • Detección de rootkits: está basado en firmas y es un poco básico. No es tan completo como algunas soluciones específicas como unhide, rkhunter o chkrootkit.
  • Respuesta activa: actuando como IPS, puede añadir reglas al firewall para bloquear hosts que generen eventos determinados.
Aunque la parte más relevante es el análisis y sistema de alertas basado en los logs, para los que dispone de decenas de decodificadores que los procesará con lógica.

Existen dos métodos de instalación, uno local, para un único servidor y otro con orientación cliente-servidor, donde los Agentes desplegados mandan las alertas a un servidor central con funciones de Manager.

El manager recibe y se comunica con los agentes mediante el puerto 1514/udp, por el que se transmiten los registros de forma cifrada (blowfish) y comprimida (zlib).

La aplicación se compone de varios servicios con distintas funciones cada uno de ellos y que serán usados según la configuración. Los más importantes son:
  • syscheckd: se encarga de ejecutar los análisis de integridad.
  • logcollector: recoge todos los logs del sistema, ya sean de syslog, ficheros planos, eventos de windows, etc.
  • agentd: envía los registros al manager remoto.
  • execd: ejecuta las respuestas activas (bloqueo de direcciones IP)
  • remoted: recibe los logs de los agentes remotos.
  • analysisd: proceso principal, se encarga de todo el análisis.
  • maild: manda correos electrónicos con las alertas.

La instalación por defecto se realiza en el directorio /var/ossec. Del que cuelga la configuración en el archivo /var/ossec/etc/ossec.conf.

Los decoders de cada uno de los logs se encuentran en formato XML en el directorio /var/ossec/rules/ y tienen el siguiente aspecto:


Las alertas se almacenan por defecto en /var/ossec/logs/alerts.log, aunque está desplegado un gran número de agentes, es recomendable guardarlas en base de datos. De la que podrán ser procesados con alguna de las consolas existentes.
Leer más...

28 marzo 2012

Cómo detectar quién juega con tu RDP


Ha sido uno de los bugs que marcarán el 2012: El bug del protocolo RDP que permite comprometer remotamente cualquier sistema Windows. Esta vulnerabilidad, para la que hay varios exploits públicos y que está siendo activamente explotada, es sin duda una de las vulnerabilidades más crítica que ha sido publicada recientemente para sistemas Windows.

Dado que a día de hoy es uno de los bugs que más interés despierta (y una vez añadido el exploit a metasploit, con más razón) viene bien monitorizar quien está 'jugando' con el.

Para ello, vamos a usar Patriot NG y su característica de monitorización de intentos de conexión a puertos.

El primer paso es detener Patriot, para ello buscamos el tray


Con el botón derecho del ratón seleccionamos 'stop'



El siguiente paso es añadir el puerto del RDP (3389) a la lista de puertos calientes, para ello nos situamos en:

C:\Archivos de programa\Patriot NG

Donde podemos localizar un fichero llamado 'destports.ini'


Una vez ahí, editamos el fichero con notepad y vemos que la estructura del fichero es bastante sencilla: [puerto]

Por tanto, añadimos el puerto al final del fichero:


Salvamos y desde el tray, volvemos a arrancar Patriot:


Con esto ya tenemos configurado Patriot para detectar intentos de conexión a ese puerto, cada vez que alguien lo intente, podremos ver el intento y bloquear la IP

Leer más...