jueves, 2 de marzo de 2017

Scripts en Bash para banear ip desde línea de comandos. Fortinet y Sonicwall

Estimados amigos de Inseguros !!!


En el capítulo de hoy voy a liberar un par de truquitos que uso en mis despliegues para banear una dirección IP.

https://github.com/kinomakino/Ban-ip-Bash-Scripts/tree/master

El escenario es muy sencillo, tienes un Fortinet o un SonicWall, tienes tu regla BLACKLIST creada, tienes tu grupo de direcciones ip, y tienes tus objetos. Hasta la fecha bien.


Si en tus tareas de revisión de sistemas encuentras una ip maliciosa, tienes que loguearte en el firewall, entrar en la sección correspondiente, crear el objeto dirección. Luego meterlo en el grupo... Es lento.

Mejor usar un script que pasándole la dirección IP, haga esta labor. La única gracia de estos scripts es que al contrario que cuando lanzas un comando remoto mediante SSH, puedes enviar todo el "churro" del comando, en estos sistemas (Firewalls físicos) suele haber una linea de comando que espera precisamente eso, un comando.

Mediante Expect -f podemos pasarle un fichero en el que vamos reproduciendo los "prompts" que nos presenta el firewall y le vamos pasando los parámetros. Ejemplo:

#!/usr/bin/expect -f
set IP [lindex $argv 0]
set timeout 60
spawn ssh user@ip
expect "password:"
send "password\r"
expect "fortinet_name"
send "config firewall address\r"
expect "fortinet_name (address)"
send "edit IP\r"
expect ")"
send "set subnet IP/32\r"
expect ")"
send "end\r"
expect "fortinet_name"
send "config firewall addrgrp\r"
expect ")"
send "edit BLACKLIST\r"
expect ")"
send "append member IP\r"
expect ")"
send "end\r"
expect "fortinet_name"
send "exit\r"

Aparte, este script lo puedes usar como acción en Fail2ban para banear a nivel perimetral y no a nivel de hosts.
También lo puedes usar como acción para un evento en OSSIM (Puedes leer más en la segunda parte del post: http://kinomakino.blogspot.com.es/2014/08/ossim-13-conectando-un-sensor-snort.html )

El poder acceder al firewall desde un único punto por línea de comandos es algo que al final vas a tener que usar. Tiene algunas pegas, como la autenticación contra el sistema. Lo suyo es generar una política de claves privadas para confiar entre los dos equipos, pero dependemos del fabricante.

Otro problema que me he encontrado es que por ejemplo, si usas este script en un sistema Debian, y actualizas Openssh por un fallo, el sistema se configura de manera que NO acepta cifrados inseguros. Bien, tu actualizas tu Openssh, pero si el fabricante no cambia el cifrado, no actualizas el firewall, puede ser que de repente el script ya no conecte por no cumplir con los requisitos mínimos...

Todo esto son cosas que irás viendo o no, según tus implementaciones.

La semana que viene publicaré el mismo script para Cisco ASA e intentaré crear un script que solvente el problema de Fortinet de no tener más de 300 direcciones IP por grupo. Tendré que ir balanceando los baneos en varios grupos con algún contador...

Buenos, espero que os sirva de ayuda, gracias por leerme !!!


miércoles, 1 de marzo de 2017

OSSIM 28. Usando el servidor NAGIOS en OSSIM de manera sencilla.

Estimados amigos de Inseguros !!!

Este y más artículos sobre OSSIM bajo la etiqueta correspondiente.

En el artículo de hoy voy a intentar explicar un poco el modo monitorización de OSSIM sobre Nagios. 
Aunque es bastante sencillo, muchos de vosotros me escribís para preguntarme como se implementa y es muy sencillo, tienes que tener claros los conceptos de OSSIM y de NAGIOS, por separado. Con eso, "juntarlos" es muy sencillo.

En la primera parte del proyecto vamos a usar la capacidad gráfica de OSSIM para configurar una monitorización básica de equipos y servicios mediante click, click, click.
Lo primero que vamos a hacer en OSSIM, en activos, seleccionar que equipo vamos a empezar a monitorizar, y habilitar la opción. Por defecto, el único equipo que se monitoriza es el propio OSSIM.

 
 

Bien vale, ahora tenemos dos equipos monitorizados. Podemos apreciar como localhost, el servidor OSSIM identifica 6 servicios, en la imagen los puedes ver, como 5 en ok y 1 en warning.
Si queremos realizar lo mismo con nuestro equipo monitorizado, tan sencillo como irnos otra vez a la pestaña de Activos (Assets) y en la sección de servicios, incluir los servicios que queremos monitorizar. 


Como pasos previos, por eso decía lo de los conceptos de OSSIM y NAGIOS, tenemos que tener nuestro inventario de equipos controlado bajo ASSETS/ACTIVOS y tener programado un descubrimiento de servicios para la red/subred que queramos, con el fin de tener lo más completa posible la información de nuestra infraestructura.

El resultado de la acción.


Si estás pensando en migrar un sistema previo, recuerda que podemos importar nuestra lista de equipos en CSV en OSSIM.

Bien ahora otro punto básico para la monitorización es la notificación. Vamos a configurar el perfil del contacto asociado a las alertas, algo tan facil como añadir nuestra dirección de correo al fichero  contacts_nagios2.cfg de /etc/nagios3/conf.d/ 

Hasta el momento, no hemos usado nada más que no podamos hacer con un nmap para comprobar si un equipo/servicio está activo. 

Ahora es cuando empieza realmente la parte de NAGIOS. Si quieres saber cuanto espacio tienes en un disco duro, o cuanta memoria, o cualquiera de las configuraciones que se te ocurran monitorizar, tendrás que tener alguna manera de obtener esa información. En otros sistemas como PRTG se usan protocolos de comunicación con los equipos como WMI y SSH para hacer de estos sistemas monitorización sin agente. 


El caso de NAGIOS no es ese, y se necesita de un agente que mediante el protocolo NRPE se comunique con el servidor NAGIOS para pasarle todo el settings.

A diferencia de otros sistemas engorrosos, en los debian-based, como es el caso de OSSIM, con un apt-get install nagios-nrpe-server tenemos instalada la parte servidora de este protocolo.

En el servidor accedemos al fichero de servicios que es donde definimos qué queremos comprobar y sobre qué grupo queremos hacerlo./etc/nagios3/conf.d/services_nagios2.cfg

Es el turno de instalar un cliente Nagios en el sistema, bien sea Windows o Linux. En este caso accede a la web de Nagios e instala el cliente Nagios sin mayor complicación. Eso sí, pon un contraseña y guárdala.

Antes de seguir configurando, y para delimitar errores de redes y firewalls, vamos a realizar una comprobación desde OSSIM para conectarnos al cliente Windows "a pelo". Debes pasar por este paso antes de seguir con la parte de NAGIOS en el servidor.

 /usr/local/nagios/libexec/check_nrpe -H ip_del_servidor_Windows.

Con este ejemplo, tenemos que indicar que el comando recibe una contraseña, que es la que se configuró en la instalación del cliente Windows. Accedemos y configuramos correctamente el comando en el fichero /etc/nagios-plugins/config/nt.cfg

define command {
        command_name    check_nt
        command_line    /usr/lib/nagios/plugins/check_nt -H '$HOSTADDRESS$' -p 12489 -n -s clave  -v $ARG1$ $ARG2$
}

Ahora en voy a dar de alta el servicio que quiero comprobar, lo hago en  /etc/nagios3/conf.d/services_nagios2.cfg de esta manera, para un par de equipos.

define service {
    use                 generic-service
    host_name           equipo1,equipo2
    service_description NSClient++ Version
    check_command       check_nt!CLIENTVERSION
}

Ahora el turno de un reinicio y ver si todo ha ido bien.

Si todo ha ido bien, procedemos a configurar realmente los servicios asociados a Windows, porque hasta solo hemos configurado la conexión con el client Windows. Algunos ejemplos:

define service {
    use                 generic-service
    host_name           
    service_description W3SVC
    check_command       check_nt!SERVICESTATE!-d SHOWALL -l W3SVC
}

define service {
    use                 generic-service
    host_name           
    service_description Memory Usage
    check_command       check_nt!MEMUSE!-w 80 -c 90
}
define service {
    use                 generic-service
    host_name           
    service_description CPU Load
    check_command       check_nt!CPULOAD!-l 5,80,90
}

Las opciones a monitorizar y como las organices es cosa tuya, de la parte que debes aprender de NAGIOS. El propósito de este post es que veas lo fácil que es montar tu infraestructura NAGIOS bajo el servidor OSSIM y ahorrarnos una máquina :-)


Como puedes ver, hay que tener claros los conceptos de OSSIM para genere el inventario y los conceptos de NAGIOS para conectar al servidor y definir los equipos y servicios.

Sobre esto hay un mundo de literatura, como siempre, espero sembrar la semilla para que desarrolles tu proyecto.

Espero que te guste, gracias por leerme !!!



jueves, 16 de febrero de 2017

Mi colección favorita de libros sobre Hacking & Sistemas.

Actualizado Constantemente.
Hoy se me ha ocurrido la "brillante idea" de compartir con vosotros los últimos libros que me he leído, que tengo a medio, o que me voy a leer en estos meses.

A pesar de que he incluido algún clásico, todos los libros son medianamente "actuales". Posterior a 2008 por lo general.

Para hacerlo más atractivo, os pongo las imágenes de las portadas.

HACKINGHACKINGHACKING

HACKINGHACKINGHACKING

HACKINGHACKINGHACKING

HACKINGHACKINGHACKING



 
 



HACKINGHACKINGHACKING
HACKINGHACKINGHACKING
HACKINGHACKINGHACKING
HACKINGHACKINGHACKING

HACKINGHACKINGHACKING

HACKINGHACKINGHACKING

HACKINGHACKINGHACKING
HACKINGHACKINGHACKING

HACKINGHACKING 








  




Como siempre, gracias por leerme, espero que os gusten estos libros y que comentéis vuestros títulos favoritos.



Related Posts Plugin for WordPress, Blogger...