Archive

Posts Tagged ‘snort alarmas’

Introducción a SecurityOnion

abril 17, 2017 Deja un comentario

SecurityOnion es un distribución basada en GNU/Linux, concretamente en Ubuntu y contiene un conjunto bastante completo de herramientas para la detección/prevención de amenazas. Utilizando una o varias instancias de SecurityOnion se puede tener una red con mecanismos de defensa sólidos y sensores que identificarán rápidamente las principales amenazas y eventos potencialmente peligrosos. Entre las herramientas que se encuentran incluidas en SecurityOnion nos encontramos con IDS/HIDS, herramientas para el procesamiento de paquetes, de logs y análisis de tráfico, entre otras. A continuación se explicará el funcionamiento de SecurityOnion y sus elementos “core”.

Netsniff-ng: Se trata de sniffer muy potente y pensado principalmente para sistemas GNU/Linux, muy similar a TCPDump/Wireshark, pero con la diferencia de que explota de una forma bastante eficiente los beneficios que aporta el “PACKET_MMAP” del Kernel. En el caso de SecurityOnion el uso de “Netsniff-ng” se centra en la captura constante y completa de los paquetes de datos que se mueven en la red y obviamente, dicha información es posteriormente utilizada por otras herramientas para su análisis completo.

Suricata y Snort: Se trata de las soluciones más conocidas y populares en el mundo de los IDS open-source. Ambas alternativas se encargan detectar intrusiones y/o posibles amenazas gracias los motores de reglas personalizables que incluyen ambas soluciones. En efecto, tanto Suricata como Snort son IDS “rule-driven”, es decir, herramientas que tras aplicar una serie de patrones configurables por el administrador, son capaces de detectar tráfico sospechoso o malicioso.

Bro IDS: Si bien el objetivo de Bro IDS es el mismo que el de Suricata y Snort, el modelo aplicado para la resolución de las amenazas en un entorno de red es completamente distinto. Como se mencionaba antes, los IDS basados en reglas utilizan un conjunto de patrones que sirven como “fingerprints” de amenazas o incluso ataques que se están llevando a cabo en la red. Dichos patrones pueden ser muy flexibles y tener unos muy buenos niveles de efectividad contra amenazas comunes, pero dado el dinamismo del tráfico en segmentos de red y la facilidad que tienen los atacantes de ocultar payloads, malware y todo de tipo de paquetes maliciosos, es muy probable que un sistema basado en reglas sea capaz de filtrar todas las posibles amenazas que pueden producirse. En éste sentido, los IDS “analysis-driven” suponen un enfoque distinto a los IDS tradicionales basados en reglas, ya que además de capturar eventos potencialmente peligrosos, provee de un framework bastante potente para analizar todos los eventos y el tráfico generado, de tal forma que el analista de seguridad podrá verificar si efectivamente si se está llevando a cabo un ataque o si hay algún tipo de amenaza en la red.

OSSEC: Además de las soluciones de seguridad basadas en eventos producidos en red como los NIDS mencionados antes, SecurityOnion también cuenta con OSSEC como solución HIDS para el establecimiento de endpoints y agentes que se encarguen de monitorizar los eventos producidos en “puntos fijos” dentro de la red. OSSEC permite ejecutar labores de recolección y análisis de logs, chequeos de integridad en ficheros, gestión de políticas, sistema en tiempo real de alarmas, entre otras cosas. OSSEC, al igual que los NIDS mencionados anteriormente, tienen licencias opensource y por ese, entre otros motivos, se encuentran incluidas directamente en SecurityOnion con una configuración por defecto.

La capacidad de capturar y correlacionar eventos producidos en sistemas aislados y en el contexto de red es algo bastante aconsejable para una detección y prevención mucho más eficiente de amenazas y desde luego es por lo que apuestan soluciones como SecurityOnion. No obstante, la cantidad de paquetes a procesar no es nada despreciable y precisamente por ese motivo, en SecurityOnion también existen herramientas para el análisis de toda esa información.

Instalación

No es un procedimiento complejo ni mucho menos, se trata de una distribución basada en Ubuntu, más concretamente en la versión 14.04 (a la fecha de redactar éste artículo) y se puede instalar directamente en el ordenador o como una máquina virtual con VMWare o VirtualBox. Lo primero es descargar la imagen ISO que se encuentra disponible en el repositorio GitHub del proyecto, ubicado en la siguiente dirección: https://github.com/Security-Onion-Solutions/security-onion
Una vez descargada la imagen, se puede proceder con la instalación del mismo modo que se haría con cualquier sistema basado en GNU/Linux. Otra alternativa para instalar todas las características disponibles en SecurityOnion, consiste en instalar un Ubuntu 14.04 y posteriormente añadir los repositorios PPA de SecurityOnion, los cuales nuevamente, a la fecha de redactar éste artículo, únicamente son compatibles con dicha versión de Ubuntu. Por otro lado, también es importante verificar el checksum de la imagen ISO descargada para comprobar su integridad, no cuesta mucho y lleva poco tiempo así que es altamente recomendable hacerlo, las instrucciones se encuentran incluidas en el siguiente enlace: https://github.com/Security-Onion-Solutions/security-onion/wiki/Installation. Ahora bien, para la instalación se puede utilizar una versión de Ubuntu 14.04 recién instalada y posteriormente, configurar todos los paquetes disponibles en SecurityOnion, es algo que viene bien aprender a hacer ya que en despliegues en entornos de producción es mejor instalar un Ubuntu e ir configurando todo de la forma más fina posible. El procedimiento es simple, basta con ejecutar los siguientes comandos para tener todo lo necesario antes de comenzar la instalación de los paquetes de SecurityOnion con “apt-get”.

>sudo apt-get -y install software-properties-common

>sudo add-apt-repository -y ppa:securityonion/stable

>sudo apt-get update

Tras la importación del repositorio es necesario ejecutar un “update” para posteriormente, ejecutar el siguiente comando de instalación:

>sudo apt-get install securityonion-all syslog-ng-core

Se trata de un procedimiento que puede tardar un buen rato mientras se instalan todos los componentes necesarios. Finalmente, se debe ejecutar el siguiente comando para realizar el procedimiento inicial de configuración, el cual consiste en la ejecución de un asistente muy sencillo que nos guiará paso a paso.

>sudo sosetup

En el último paso, se procede a realizar los cambios directamente en el sistema y finalmente se reinicia. Después de reiniciar es posible arrancar todos los servicios de SecurityOnion con el siguiente comando:

>sudo service nsm start

No obstante, es probable que existan errores tras reiniciar el sistema, como por ejemplo que el servidor “securityonion” no exista o no se encuentre el usuario “sguil”. Esto indica que el asistente no ha realizado todas las labores de configuración que debería y para solucionarlo, basta simplemente con volver a ejecutar el script.



Por último, se puede apreciar que SecurityOnion se encuentra activo con todos los servicios levantados y en funcionamiento, ahora queda comenzar a configurar cada uno de los servicios de forma individual para llegar a la mejor configuración posible de acuerdo a las necesidades especificas del cliente o empresa.

En próximas entradas se explicara mas en detalle cada uno de estos servicios y las herramientas disponibles para realizar una configuración enfocada a entornos productivos.

Un saludo y Happy Hack!
Adastra.

Intentando evadir mecanismos y restricciones de Seguridad – Burlando reglas de detección y alarmas de Snort utilizando W3AF – Parte IX

febrero 29, 2012 Deja un comentario

En esta ocasión indicaré el uso de W3AF para evadir sistemas de detección de intrusos y sistemas de prevención de intrusos (IDS/IPS), en este caso concreto, se intentará indicar las pruebas que se han realizado contra Snort ejecutándose como NIDS. Para esto se utilizan técnicas de evasión en W3AF (en algunas ocasiones accediendo y modificando directamente el código del proyecto que se encuentra escrito en Python). Estas técnicas ejecutan procedimientos de evasión partiendo de la base que muchos de los IDS/IPS del mercado detectan amenazas en función a determinadas “firmas” o patrones de comportamiento que son identificados como anómalos o maliciosos. Los “tips” de evasión presentados aquí lo que realmente hacen es modificar las peticiones realizadas a un servidor web para que dichas peticiones no se ajusten a los patrones que esperan los IDS/IPS.

Leer más…

Intentando evadir mecanismos y restricciones de Seguridad – Burlando reglas de detección de Snort con NMAP – Parte VIII

febrero 27, 2012 Deja un comentario

En la entrada anterior se han establecido las bases para utilizar Nmap y ejecutar un ataque de reconocimiento de forma “sigilosa”, evadiendo mecanismos de seguridad en el objetivo y evitando ser detectados en nuestras acciones, en este orden de ideas, anteriormente se han definido algunas de las opciones disponibles en Nmap para este propósito, inclusive se utilizó una técnica muy efectiva conocida como Idle Scan.

En esta ocasión, se intentará evadir las reglas y preprocessors de Snort para que de este modo, el escaneo efectuado contra el objetivo, sea lo mas silencioso posible, tratando de no despertar sospechas ni levantar ninguna alarma de las definidas en Snort (con las reglas y opciones de los preprocessors correctamente configuradas). Con esto en mente, se intenta utilizar diferentes opciones de Nmap para realizar el escaneo a diferentes máquinas en el segmento de red (Snort se ejecutará como NIDS) de esta forma se medirá el nivel de eficiencia de Snort y las opciones de configuración disponibles ante las diferentes técnicas de evasión existentes en NMAP.

Leer más…

Utilizando Reglas Libres de Snort para Detección de Amenazas y Generación de Alarmas

julio 25, 2011 Deja un comentario

Conociendo como es la estructura de las reglas en Snort, el siguiente paso lógico seria, escribir reglas para intentar proteger un sistema o segmento de red, si se desea se puede solicitar las reglas oficiales de Snort conocidas como VRT (Vulnerability Research Team) http://www.snort.org/snort-rules/ que definen un conjunto de reglas muy robusto y estable que permite tener un entorno empresarial seguro, sin embargo, cuestan dinero… Si se trata de implantar Snort en una organización, no cabe duda que es una excelente elección, sin embargo, para fines educativos y para dominar correctamente este IDS lo mas recomendable es optar por rule-sets libres, es aquí donde entra el juego de reglas Bleeding Edge para Snort, como se ha dicho son libres y tiene una característica que desde mi perspectiva resulta muy interesante y es la separación lógica de cada uno de los ficheros de reglas, es decir, existe un fichero de reglas para visitas a sitios indebidos, maleware, virus, ataques a servidores web, exploits, conexiones p2p… todo un compendio de reglas para proteger el entorno de agentes maliciosos y para limitar, obviamente, las libertades de los usuarios internos, sin embargo en próximas entradas se verán técnicas de evasión de IDS Firewall y otras “fortalezas” de los mecanismos de seguridad modernos. Por lo pronto, indicare los pasos para instalar y conocer a fondo las reglas Bleeding Edge de Snort, ademas de como ponerlas a funcionar adecuadamente en Snort v 2.9.x

Leer más…

Utilizando RuleSets en Snort para Detección de Amenazas y Generación de Alarmas – Parte II

julio 22, 2011 1 comentario

En la entrada anterior se ha indicado la estructura y las principales opciones con las que es posible declarar una regla en Snort, en esta ocasión intentare indicar opciones avanzadas para la detección de payloads en Snort, estas opciones se incluyen en la estructura de cualquier regla declarada en Snort, sin embargo permiten profundizar y filtrar aun más en los paquetes capturados por Snort en modo IDS/NIDS.

A continuación se listan las principales opciones diseñadas específicamente para filtrar ataques llevados a cabo desde el exterior del segmento de red o desde el interior.

Leer más…

Utilizando RuleSets en Snort para Detección de Amenazas y Generación de Alarmas – Parte I

julio 20, 2011 2 comentarios

Una de las características mas importantes para el correcto funcionamiento de Snort, es sin lugar a dudas, las reglas de detección y alarmas, Snort cuenta con un pequeño lenguaje de definición de reglas que sigue una sintaxis definida para diseñar reglas robustas y útiles para un pentester y/o analista en seguridad informática. Las reglas en Snort se separan en dos secciones, en primera instancia esta el encabezado de la regla y luego se definen las opciones de la regla, el encabezado de la regla contiene información relacionada a la acción que se debe tomar (por ejemplo la acción de generar una alerta) al igual que direcciones IP, puertos y mascaras de red del origen y destino del paquete, por otro lado la sección de opciones de la regla determinan diversos filtros que le dan dinamismo a la regla, de esta forma solamente se aplicará cuando dichas opciones o filtros se cumplan, por lo tanto es de vital importancia diseñar correctamente esta sección de la regla para evitar falsos positivos.

Leer más…

Usando Preprocessors en Snort – Parte VI – Preprocessor SSL/TLS y ARP Spoof

julio 18, 2011 Deja un comentario

PREPROCESSOR SSLPP

Este modulo decodifica el trafico SSL y TLS, solamente sobre una conexión plenamente establecida, es decir, por defecto este preprocessor intentará determinar si una conexión dada ha sido completamente establecida con un “Handshake”, una vez inspecciona que el trafico se encuentra cifrado, no inspecciona los datos sobre la conexión establecida. Para realizar esto, el preprocessor inspecciona el trafico en ambos lados (cliente y servidor) si uno de los dos lados responde con indicios de que algo no ha ido bien en el establecimiento del handshake la sesión no es marcada como encriptada, esto le permitirá a Snort verificar dos cosas, en primer lugar que el ultimo paquete handshake enviado por el cliente no ha sido creado para evadir las reglas de Snort y por otro lado que el trafico ha sido legítimamente cifrado.

Leer más…

A %d blogueros les gusta esto: