jueves, 16 de junio de 2011

Hydra 6.4




Hydra es una herramienta desarrollada por The Hackers Choice para probar contraseñas de diferentes servicios de red utilizando fuerza bruta, puede ser utilizado en Linux, Windows/Cygwin, Solaris 11, FreeBSD 8.1 and OSX.

Dentro de los servicios soportados en la versión 6.4 se encuentran:

afp cisco cisco-aaa cisco-enable cvs firebird ftp[s] http[s]-{head|get} http[s]-{get|post}-form http-proxy icq irc imap ldap2 ldap3[-{cram|digest}md5] mssql mysql ncp nntp oracle oracle-listener oracle-sid pcnfs pop3 pcanywhere postgres rexec rlogin rsh sapr3 sip smb smtp smtp-enum snmp socks5 ssh svn teamspeak telnet vnc vmauthd xmpp AFP, Subversion/SVN, Firebird, LDAP2, Cisco AAA

Esta versión ya cuenta con soporte para IPv6


Instalación en Linux:
Desde una terminal como usuario root ejecutamos los siguientes comandos:

Descargamos Hydra
wget http://www.thc.org/releases/hydra-6.4-src.tar.gz
tar -zxvf hydra-6.4-src.tar.gz
cd hydra-6.4-src

Compilamos Hydra
./configure
make
make install

y listo!!!

Ejemplo hydra modo consola:
hydra -l john -p doe 192.168.0.1 imap PLAIN -s 143

Para ejecutarlo gráficamente:
xhydra

En Target seleccionamos el host objetivo, o una lista de host, podemos seleccionar modo IPv6, puerto y protocolo.

Luego en la sección Passwords seleccionamos el nombre de usuario o una lista de nombre, un password o una lista de passwords

En las siguientes pestañas podemos personalizar tiempos, proxy , versiones de SNMP entre otros aspectos, para iniciar el ataque de fuerza bruta vamos a la pestaña start, y damos click sobre start hydra.

Para más información visita: http://www.thc.org/thc-hydra/

miércoles, 15 de junio de 2011

Nessus + Metasploit en Backtrack 5

Nessus es una aplicación para el escaneo de vulnerabilidades, una herramienta indispensable para auditorias de seguridad informática, Disponible para Linux, Windows, BSD, Mac OS X y Solaris.

En este artículo veremos los pasos para instalar Nessus 4.4 .1 en Backtrack 5, los mismos pasos sirven para instalarlo en Ubuntu o Debian.

Ingresamos a http://www.tenable.com/download/ y seleccionamos la plataforma linux, luego aceptamos los terminos de la licencia para acceder a las opciones de descarga en donde seleccionaremos la versión de nessus para nuestro sistema operativo. En este caso descargaremos la versión para Ubuntu 10.04

nessus ubuntu 10.04

Luego abrimos una Terminal, ubicamos la ruta donde descargamos el archivo y ejecutamos:

sudo dpkg -i Nessus-4.4.1-ubuntu910_i386.deb



Luego vamos a crear el usuario para administrar Nessus, ejecutamos:

/opt/nessus/sbin/nessus-adduser

Ingresamos el Login (usuario) el password con su confirmación y habilitamos el usuario como administrador de Nessus, debemos ver algo como esto:

usuario nessus

admin nessus



Registramos nessus

Debemos registrarnos en el sitio de Nessus, puedes hacerlo siguiendo este enlace http://www.tenable.com/register/, Ingresamos a la opción HomeFeed, la cual es gratuita para uso personal.

nessus home



Diligenciamos el formulario, luego recibiremos un código en la cuenta de correo registrada.

registro nessus

En la terminal ejecutamos:

sudo /opt/nessus/bin/nessus-fetch --register XXXX-XXXX-XXXX-XXXX-XXXX
Nota: Reemplaza las XXXX por el código de registro

Si todo sale bien recibiras el siguiente mensaje:

Your activation code has been registered properly - thank you.

Luego del registro comenzará la actualización de los plugins de nessus, no canceles el proceso, aunque no muestra nada espera hasta que salga algo como esto.

Actualizando plugins nessus

Iniciando Nessus:


Luego de que se instalen los plugins vamos a iniciar el servicio de nessus, ejecutamos el comando:

/etc/init.d/nessusd start

Verificando el puerto

Para verificar que nessus se esté ejecutando colocamos el comando:

netstat -ntpl | grep nessusd

proceso nessusd


Debemos verificar que nessus se encuentre corriendo en el puerto 8834. Si esto es correcto ingresamos con nuestro navegador web a https://localhost:8834





Integrando Nessus con Metasploit

Ejecutamos metasploit en nuestra consola

cd /etc/pentest/framework3

msfconsole

Metasploit

Cargamos el módulo nessus desde metasploit con el comando load nessus

load nessus

Nos conectamos a nuestro nessus con las credenciales configuradas en los pasos anteriores, ejecutamos:

nessus_connect usuario:password@127.0.0.1 ok

Donde usuario es el usuario que configuramos en la instalación de nessus y el password correspondiente. Si los datos son correctos debemos recibir el siguiente mensaje.


conexión nessus

Ahora podemos lanzar un escaneo con nessus desde metasploit, primero debemos verificar las políticas disponibles o crear una desde la interfaz web de nessus.

Para listar las politicas ejecutamos nessus_polycy_list

Listado de políticas

Para crear un escaneo ejecutamos nessus_scan_new -idPolicy NombreEscaneo host o red

Ejemplo:

Nessus + metasploit scan

En este caso lanzamos un escaneo llamado Escaneo2 utilizando la política 1 hacia la red 192.168.0.0/24 , luego con el comando nessus_report_list generamos un reporte de los escaneos ejecutados.

Reporte nessuscopiamos el ID del escaneo realizado y podemos sacar un reporte de los hosts y el número de vulnerabilidades encontradas.

reporte host nessus

Una vez identificados los host vamos a realizar un reporte del host que nos interese, para eso ejecutamos:

nessus_report_host_ports <hostname> <report id>

Reporte por host nessus

Eso es todo, juega con los diferentes comandos disponibles para nessus desde la consola de metasploit.



Saludos!!!

Asegurando Asterisk con Fail2Ban

Actualmente es muy común encontrar sistemas de telefonía ip basados en asterisk en las empresas, estos sistemas tienen grandes ventajas como ahorro en costos, en teléfonos, permite mayor escalabilidad, y otras ventajas. Pero como todo sistema nada puede ser perfecto, los servidores asterisk son muy utilizados también por hackers y compañias que utilizan estos servicios para realizar llamadas a múltiples destinos desde nuestro PBX.

Existen varias herramientas que permiten escanear servicios SIP y mostrarnos las extensiones y contraseñas configuradas, con esto registrar extensiones y realizar llamadas.

Hoy veremos como asegurar nuestros servidores Asterisk con una herramienta llamada Fail2Ban, la cual crea reglas de iptables dependiendo de la conexiones y comportamientos que se registren en los logs de nuestros servicios.

Instalación Debian/Ubuntu


apt-get install python iptables fail2ban

Instalación CentOS


Primero instalaremos python e iptables
 yum install python iptables

Nos ubicamos en la carpeta /usr/src/
 cd /usr/src/

Descargamos, Desempaquetamos e instalamos Fail2Ban
 wget http://ufpr.dl.sourceforge.net/project/fail2ban/fail2ban-stable/fail2ban-0.8.4/fail2ban-0.8.4.tar.bz2

tar -xjf fail2ban-0.8.4.tar.bz2

cd fail2ban-0.8.4

python setup.py install

Instalamos el script para que funcione como un servicio y le damos permisos para su ejecución
cp /usr/src/fail2ban-0.8.4/files/redhat-initd /etc/init.d/fail2ban

chmod 755 /etc/init.d/fail2ban

Configuración


Ahora ingresamos a la carpeta de archivos para los filtros de Fail2Ban
cd /etc/fail2ban/filter.d

Creamos el archivo asterisk.conf
vi asterisk.conf

Pegamos en el archivo la siguiente información

# Fail2Ban configuration file
#
#
# $Revision: 250 $
#


[INCLUDES]

# Read common prefixes. If any customizations available -- read them from
# common.local
#before = common.conf


[Definition]

#_daemon = asterisk

# Option: failregex
# Notes.: regex to match the password failures messages in the logfile. The
# host must be matched by a group named "host". The tag "<HOST>" can
# be used for standard IP/hostname matching and is only an alias for
# (?:::f{4,6}:)?(?P<host>\S+)
# Values: TEXT
#


failregex = NOTICE.* .*: Registration from '.*' failed for '<HOST>' - Wrong password
NOTICE.* .*: Registration from '.*' failed for '<HOST>' - No matching peer found
NOTICE.* .*: Registration from '.*' failed for '<HOST>' - Username/auth name mismatch
NOTICE.* .*: Registration from '.*' failed for '<HOST>' - Device does not match ACL
NOTICE.* .*: Registration from '.*" .* failed for '<HOST>' - Peer is not supposed to register
NOTICE.* .*: <HOST> failed to authenticate as ‘.*’$


NOTICE.* .*: No registration for peer '.*' \(from <HOST>\)
NOTICE.* .*: Host <HOST> failed MD5 authentication for '.*' (.*)
NOTICE.* .*: Failed to authenticate user .*@<HOST>.*




# Option: ignoreregex
# Notes.: regex to ignore. If this regex matches, the line is ignored.
# Values: TEXT
#
ignoreregex =


Ahora editamos el archivo jail.conf (archivo de configuración de Fail2Ban)
cd /etc/fail2ban/

vi jail.conf

Colocamos la siguiente información:

[asterisk-iptables]
enabled = true
filter = asterisk
action = iptables-allports[name=ASTERISK, protocol=all]
sendmail-whois[name=ASTERISK, dest=root@localhost, sender=fail2ban@pbx.dyndns.org]
logpath = /var/log/asterisk/messages
maxretry = 5
bantime = 1800


En la parte inicial de este archivo de configuración es importante que coloquemos nuestra dirección ip para que no nos bloquee el fail2ban, en el campo default búscamos el parámetro ignoreip y allí colocamos nuestras direcciones ip separadas por espacios. La siguiente imágen sirve de ejemplo:

Fail2ban

Ahora editamos el archivo logger.conf de asterisk
vi /etc/asterisk/logger.conf

Agregamos la siguiente información
[general]
dateformat=%F %T
Verificamos que el campo messages tenga el parámetro notice.

luego de ejecutar estos dos pasos debe quedar algo como esto:
fail2ban - asterisk

Para que Asterisk tome los cambios ejecutamos:
asterisk -rx "logger reload"

Iniciamos los servicios iptables y fail2ban
/etc/init.d/iptables start

/etc/init.d/fail2ban start

Probando el funcionamiento:


Para las pruebas he configurado un softphone con una extensión iax y un password cualquiera.

Zoiper

Al verificar los logs del /var/log/asterisk/messages, aparecieron estos registros:

[2010-09-30 11:59:04] NOTICE[2935] chan_iax2.c: No registration for peer '1005' (from 186.80.111.59)

[2010-09-30 11:59:04] NOTICE[2940] chan_iax2.c: No registration for peer '1005' (from 186.80.111.59)

[2010-09-30 11:59:07] NOTICE[2934] chan_iax2.c: No registration for peer '1005' (from 186.80.111.59)

Con estos datos Fail2Ban se encarga de crear las reglas de iptables, como podemos ver luego de realizar 3 conexiones fallidas a nuestra PBX, se cra una regla de Iptables que Banea la ip desde donde se realizó la prueba.
iptables -L

iptables-asterisk

Bueno, como vemos Fail2Ban es una herramienta de gran ayuda para proteger nuestros servidores asterisk, próximamente veremos nuevas formas de asegurar nuestros servidores de telefonía ip.