sábado, 8 de junio de 2013

Pytbull - Sistema de detección / prevención de intrusiones (IDS/IPS)




Pytbull es un sistema de detección/prevención de intrusiones (IDS/IPS) Marco de pruebas de Snort, Suricata y cualquier IDS/IPS que genera un archivo de alerta. Puede ser utilizado para probar la detección y capacidades de bloqueo de un IDS/IPS, para comparar IDS/IPS, para comparar modificaciones de la configuración y para comprobar / validar configuraciones.


Descargar Pytbull-2.0 : http://sourceforge.net/projects/pytbull/files/pytbull-2.0.tar.bz2/download?use_mirror=hivelocity





Pytbull dispone cerca de 300 test de pruebas clasificadas en 9 módulos.

  • clientSideAttacks: este módulo utiliza un shell inversa para proporcionar al servidor con las instrucciones para descargar archivos maliciosos remotos. Este módulo pone a prueba la capacidad de los IDS / IPS para proteger contra ataques del lado del cliente.
  • testRules: Pruebas de reglas básicas. Se supone que estos ataques para ser detectados por la normativa establece enviados con los IDS / IPS.
  • badTraffic: Los paquetes que no cumplen con RFC se envían al servidor para comprobar cómo se procesan los paquetes.
  • fragmentedPackets: Diversas cargas útiles fragmentados se envían al servidor para poner a prueba su capacidad para recomponer ellos y detectar los ataques.
  • multipleFailedLogins: Pruebas de la capacidad del servidor para el seguimiento de varios intentos fallidos (por ejemplo, FTP). Hace uso de reglas personalizadas en Snort y Suricata.
  • evasionTechniques: Diversas técnicas de evasión se utilizan para comprobar si los IDS / IPS pueden detectarlos.
  • shellcodes: Enviar varios shellcodes al servidor en el puerto 21/tcp para poner a prueba la capacidad del servidor para detectar / rechazo shellcodes.
  • denialOfService: Pone a prueba la capacidad de los IDS / IPS para proteger contra los intentos de DoS.
  • pcapReplay: Permite reproducir archivos pcap.



ARQUITECTURA


Modo Remoto : 


En este modo, el IDS está enchufado en el puerto SPAN (o duplicación de puertos) del interruptor de la base y se configura en el modo promiscuo. El IDS analiza todo el tráfico que pasa a través del interruptor de la base. Archivos maliciosos pueden ser descargados, ya sea por pytbull o por el servidor. Este modo se llama "a distancia".



Modo Local : 

En este modo los archivos se descargan en el cliente de pytbull y se ejecutan desde ahi.

Modo de la IDS con el servidor 

En esta configuración, un servidor de seguridad de la red se divide en 3 partes (LAN, WAN, DMZ). El IDS está enchufado en un puerto SPAN (o copia de puertos) del interruptor con su interfaz configurada en modo promiscuo. Se analizará cada tráfico que se envía a la interfaz LAN del firewall.




Modo de IPS :

En esta configuración, un servidor de seguridad de la red se divide en 3 partes (LAN, WAN, DMZ). El IDS está conectado entre pytbull y el firewall. Para dar a los IDS una oportunidad para detectar los archivos maliciosos, pytbull tiene que descargar los archivos infectados en sí.




Modo de IPS con el servidor atacado en DMZ :

En esta configuración, un servidor de seguridad de la red se divide en 3 partes (LAN, WAN, DMZ). El IDS está conectado entre pytbull y el firewall. Archivos maliciosos tienen que ser descargados por pytbull directamente con dar los IDS oportunidad de detectarlos.



INSTALACIÓN : 

  • Instalación Estandar (CLIENTE)

Prerequisitos. 

Primero Asegúrarse de tener Python (2.6.5) y  tener las siguientes dependencias están instaladas. En una distribución de Linux basada en Debian, simplemente digitar :


También instale las herramientas necesarias (nmap, hping3, nikto, ab, ...). Cualquiera de instalarlos desde fuentes o desde los repositorios. A partir de los paquetes, esto puede hacerse simplemente mediante la emisión de:




Por último, tendrá que Ncrack para probar el módulo de fuerza bruta:



Instalación de Pytbull : 


1.- Desde tar.bz2 (versión estable)

Descargar y descomprimir pytbull:




No hay nada que instalar, pero algunas configuraciones que hacer. Por favor, consulte la siguiente sección.

2.- Desde Mercurial (versión de desarrollo)


Si desea obtener la última versión de desarrollo, instale pytbull de Mercurial. Como requisito previo, instalar Mercurial:


A continuación, obtener pytbull la siguiente manera:



  • Instalación en el SERVIDOR

Requisitos previos.

Instalar Python (2.6.5). En un sistema Linux basado en Debian, simplemente emisión:


Usted también tendrá que instalar un servidor FTP (puerto 21/tcp), apache2 (puerto 80/tcp) y SSH (puerto 22/tcp):


El archivo de configuración para vsftpd se encuentra en /etc /vsftpd.conf. Se recomienda tener al menos estos 2 parámetros:



Pytbull (Servidor)


Puede copiar el shell inversa del servidor/directorio en el servidor que aloja los IDS/IPS.

  • Instalación en Backtrack 5  

Pytbull ya se suministra con BackTrack. Sólo tienes que utilizar el archivo de configuración específica:





CONFIGURACIÓN DE ARCHIVOS


1.- Sección del cliente.



2.- Sección de caminos.




3.- Sección ENV.



4.- Sección de FTP




5.- Sección de Tiempo 




6.- Sección de Servidor 





7.- Sección de Pruebas 







USO DE PYTBULL


Si ha seleccionado el módulo clientSideAttacks (ver sección archivo de configuración para más información), tendrá que iniciar el shell inversa en el servidor. Siguiente comando utiliza el puerto 34567/tcp:




Dado que los archivos se descargan en el directorio actual, se puede crear un pdf / directorio y empezar pytbull de la ubicación de los padres:



A continuación, iniciar pytbull (en el cliente). Un ejemplo para iniciar pruebas pytbull contra 192.168.100.48, correr Snort:



Tenga en cuenta que tendrá que adaptarse (config.cfg) el puerto utilizado por el shell inversa, si se utiliza el parámetro-p opcional en el lado remoto.


ERRORES  


Error en la definición de SetGen


Mientras se ejecuta pytbull, si dispone de los siguientes errores:




Sólo tiene que añadir la línea siguiente al principio del siguiente archivo: /usr/lib/pymodules/python2.6/scapy/sendrecv.py




Bueno creo que hasta el momento ya debe de estar corriendo nuestro Pytbull correctamente.



Bueno creo que esto sería todo por el momento, espero que este pequeño post les sea de utilidad, creo que ya no tengo nada mas que adicionar así que me despido y será hasta la próxima.








No hay comentarios:

Publicar un comentario