Curso BackTrack 5 en español

Gracias a los amigos de DragonJAR me entero de estos videotutoriales de esta gran distribución que definitivamente ayudara a muchos en el cual también me incluyo, a sacarle el jugo a las diferentes herramientas que nos proporciona esta distribución. BackTrack es un conjunto de herramienta que prácticamente a un profesional o cualquiera inmersos en la seguridad no le puede faltar.

Video Tutoriales Aqui

Los usuarios no aprenden: contraseñas débiles

La verdad es increíble como muchos de los usuarios que trabajan en empresas no le toman la importancia debida a sus contraseñas y mas aun si son servicios como el correo electrónico.

Les comento que hace unos días atrás estuvimos con un Analista de Seguridad de la empresa donde laboro creando un pequeño laboratorio, el cual consistía en encontrar la mayor cantidad de usuarios que dejan sus contraseñas con palabras que son tan fáciles de encontrar que casi ni demando esfuerzo.

Para esto creamos una pequeña aplicación en Java, que consistía en leer una lista de usuarios colocando una contraseña al azar y comenzábamos a escanear la cantidad de usuarios que tenían esta contraseña y vaya sorpresa que nos dimos, no habíamos llegado ni a la mitad y ya teníamos 97 usuarios con esta contraseña.


La empresa tiene una política de capacitación y orientación para este tipo de temas, es mas, siempre se les indica que deben de cambiar la contraseña del correo de forma periódica, pero al parecer a los usuarios poco les importa lo critico que podría ser esto. Es tan cierto al decir que el eslabón mas débil en la seguridad son los usuarios.

Tal vez muchos se preguntaran, ¿y porque no utilizaron herramientas ya existentes?, bueno la verdad decidimos crear esta pequeña aplicación como punto de partida debido a que le seguiremos agregando mas cosas y tal vez mas adelante tener una herramienta definitiva para estos fines.

Instalando y Configurando OpenVAS en Ubuntu 10.04

Como podran haberse dado cuanto, ya hace unas semanas me estoy dedicando de lleno al tema de la seguridad de la información, específicamente a temas de hacking ético, y por ende en el transcurso de mi aprendizaje me voy topando con herramienta que cumplen objetivos especificos. Por ejemplo en esta oportunidad me toco instalar y configurar un nuevo analizador de vulnerabilidades, OpenVAS, el cual esta desarrollado en base a un fork de la version libre de Nessus, en vista de que ahora Nessus maneja una licencia propietaria, esta ya no recibe aportes de terceros en su desarrollo. Esto seria un complemento a la instalacion de Nessus que realizamos en Fedora, el cual describo en este post. Bueno entonces manos a la obra

Lo primero que tenemos que hacer es instalarlo, para eso utilizamos lo siguiente:

sudo aptitude install openvas-server openvas-client

Una vez terminado de instalar, lo que haremos ahora sera crear un usuario con el cual nos logearemos al servidor, para eso hacemos lo siguiente

nachxs@kimera:~$ sudo openvas-adduser
[sudo] password for nachxs:
Using /var/tmp as a temporary file holder.

Add a new openvasd user
---------------------------------

Login : nachxs
Authentication (pass/cert) [pass] :
Login password :
Login password (again) :

User rules
---------------
openvasd has a rules system which allows you to restrict the hosts that nachxs has the right to test.
For instance, you may want him to be able to scan his own host only.

Please see the openvas-adduser(8) man page for the rules syntax.

Enter the rules for this user, and hit ctrl-D once you are done:
(the user can have an empty rules set)

Login             : nachxs
Password          : ***********

Rules             :

Is that ok? (y/n) [y] y
user added.

Ahora lo que haremos sera crear un certificado, debido a que sera necesario si nos conectamos remotamente, para esto hacemos lo siguiente:

nachxs@kimera:~$ sudo openvas-mkcert
[sudo] password for nachxs:

-------------------------------------------------------------------------------
			Creation of the OpenVAS SSL Certificate
-------------------------------------------------------------------------------

This script will now ask you the relevant information to create the SSL certificate of OpenVAS.
Note that this information will *NOT* be sent to anybody (everything stays local), but anyone with the ability to connect to your OpenVAS daemon will be able to retrieve this information.

CA certificate life time in days [1460]:
Server certificate life time in days [365]:
Your country (two letter code) [FR]: PE
Your state or province name [none]: La Libertad
Your location (e.g. town) [Paris]: Trujillo
Your organization [OpenVAS Users United]: Home

-------------------------------------------------------------------------------
			Creation of the OpenVAS SSL Certificate
-------------------------------------------------------------------------------

Congratulations. Your server certificate was properly created.

/etc/openvas/openvasd.conf updated
The following files were created:

. Certification authority:
   Certificate = /var/lib/openvas/CA/cacert.pem
   Private key = /var/lib/openvas/private/CA/cakey.pem

. OpenVAS Server :
    Certificate = /var/lib/openvas/CA/servercert.pem
    Private key = /var/lib/openvas/private/CA/serverkey.pem

Press [ENTER] to exit

Una vez creado el certificado ahora solo nos quedaría iniciar el servicio, para esto hacemos lo siguiente:

nachxs@kimera:~$ sudo /etc/init.d/openvas-server start

Luego verificamos si el servicio esta iniciado, verificamos que el puerto 9390 este en escucha:

nachxs@kimera:~$ sudo netstat -ltnp
Conexiones activas de Internet (solo servidores)
Protocolo Recv-Q Send-Q Dirección Local Dirección Externa Estado       PID/Program name
tcp        0      0 0.0.0.0:9390            0.0.0.0:*               ESCUCHAR    3014/openvasd: wait
tcp        0      0 127.0.0.1:43408         0.0.0.0:*               ESCUCHAR    1766/beam.smp
tcp        0      0 127.0.0.1:7634          0.0.0.0:*               ESCUCHAR    1233/hddtemp

Podemos observar que el servicio esta iniciado a la espera de una conexión, para esto solo nos quedaría ingresar a la interfaz cliente y poder empezar a trabajar, aquí les dejo unas imágenes de muestra.

Imagen_01: Conexión al Servicio

Imagen_02: Creando un nuevo sondeo mediante el asistente

Imagen_03: Reporte final  luego del sondeo

Y listo, ya tenemos una nueva herramienta para nuestro aprendizaje. Espero les sea de utilidad.

Probando CeWL (Custom Word List generator) desde Ubuntu 10.04

Gracias a dragonjar me entero de esta aplicacion escrita en ruby, que lo que hace es generarte diccionarios o listas de palabras clave para utilizarlas en pruebas de fuerza bruta, esto en base al contenido de un sitio web. Entonces decidi probarlo en ubuntu 10.04, para esto realize los pasos siguientes:

Lo primero es descargar el paquete desde aqui, ubicarlo en un directorio especifico, descomprimirlo y luego instalamos los paquetes necesarios para su utilizacion, que en este caso corresponde al interprete ruby:

$ sudo aptitude install ruby-full spider libimage-exiftool-perl rubygems

Luego lo que hacemos es configurar los paquetes que necesitara CeWL para poder ser ejecutado, esto lo hacemos con el comando gem

$ sudo gem install hpricot
$ sudo gem install http_configuration
$ sudo gem install mime-types
$ sudo gem install mini_exiftool
$ sudo gem install rubyzip
$ sudo gem install spider

y por ultimo, seteamos y exportamos la variable RUBYOPT=»rubygems» dentro del archivo .bashrc

RUBYOPT="rubygems"
export RUBYOPT

Con esto ya deberiamos poder ejecutar CeWL y poder generar nuestros diccionarios

$ ./cewl.rb -help
cewl 3.0 Robin Wood (dninja@gmail.com) (www.digininja.org)
Usage: cewl [OPTION] ... URL
--help, -h: show help
--depth x, -d x: depth to spider to, default 2
--min_word_length, -m: minimum word length, default 3
--offsite, -o: let the spider visit other sites
--write, -w file: write the output to the file
--ua, -u user-agent: useragent to send
--no-words, -n: don't output the wordlist
--meta, -a file: include meta data, optional output file
--email, -e file: include email addresses, optional output file
--meta-temp-dir directory: the temporary directory used by exiftool when parsing files, default /tmp
-v: verbose
URL: The site to spider.

Bueno y eso seria todo, espero les sirva 🙂

Actualizar certificados de Glassfish V2

Hace poco revisando información con respecto a los certificados que utiliza Glassfish para el tema de seguridad, me entero que los mecanismos de seguridad para la transmisión de mensajes requieren de los certificados con el estándar X.509 en su versión 3 y Glassfish trae por defecto dichos certificados pero en su versión 1, hago la aclaración que estoy trabajando con Glassfish V2. Entonces veremos una forma rápida y práctica de actualizar dichos certificados; para esto descargaremos este paquete que contiene dichos certificados y el script correspondiente para su actualización.

Entonces desempaquetamos el archivo y nos ubicamos dentro de ese directorio, en este caso tiene por nombre copyv3 y luego debemos tener en cuenta que si nosotros hemos cambiado la clave del keyStore anteriormente en algun momento configurando Glassfish, debemos modificar el archivo build.xml en la opción AS_KEYSTORE_PASSWORD y colocar dicha clave, si no en todo caso dejar todo por defecto (clave por defecto: changeit). Y luego hacemos lo siguiente tal como se muestra en la imagen:

Como pueden observar el primer comando que utilizo es export AS_HOME=/opt/glassfish esto por que el script busca esa variable de entorno seteada con la ruta de instalación de Glassfish, como pueden observar en mi caso yo lo tengo en /opt/glassfish. Luego el comando /opt/glassfish/lib/ant/bin/ant, esperamos unos segundos mientras se configura, luego lo que tenemos que hacer es iniciar el servicio y listo. Lo que ahora queda es verificar si se actualizo correctamente, para esto haremos lo siguiente:

Y listo eso seria todo. Espero les sea de utilidad, por el momento estoy trabajando esto como paso inicial para poder configurar webservices seguros.

Instalando Nessus en Fedora 12

Ya hace unos días que me estoy adentrando a este mundo de la seguridad de la información y como todo buen principiante siempre debe de empaparse de toda la información necesaria y sobre todo de las herramientas que nos puedan proporcionar dicha información. Nessus es una de estas herramientas, ya que nos provee mediante un escaneo a una red o redes  especificas un reporte de todos los puertos abiertos relacionados a servicios específicos, las posibles vulnerabilidades que estas puedan presentar, etc. Entonces debido a la gran importancia de este aplicativo decidí instalarlo para comenzar a realizar mis primeras pruebas. Manos a la obra

Lo primero que tenemos que hacer es descargar el paquete respectivo desde la pagina de Nessus, en este caso como estamos usando Fedora 12, lo descargamos desde aqui. Una vez descargado procedemos a instalarlo, bien haciendo doble click sobre el paquete o también rpm -Uvh Nessus-4.2.0-fc12.i386.rpm.

Terminada la instalación todo el aplicativo se ubicara dentro del directorio «/opt/nessus» y entonces procedemos a realizar la configuración. Lo primero que haremos sera crear un usuario con el que trabajaremos una vez configurado todo y para eso hacemos lo siguiente tal como se muestra en la imagen:

Como verán de esa manera agregamos en primera instancia un usuario que tendrá el rol de «admin», solo es seguir las instrucciones. Una vez terminado este proceso, entonces tendremos que registrarnos y para esto nos dirigimos aquí y seleccionamos el tipo HomeFeed, ya que de esta forma podríamos registrarnos gratuitamente, aceptamos las condiciones y nos pedira una cuenta de correo al cual se enviara el código de registro, entonces una obtenido el código lo que haremos sera lo siguiente:

Y de esta manera ya tendremos nuestro Nessus registrado debidamente, esto nos permitirá tener lo plugins necesarios para los trabajos que haremos de aquí en adelante. Ahora solo nos queda iniciar el servicio para que los plugins se descarguen y podamos trabajar conectándonos mediante el cliente web. Para esto hacemos lo siguiente:

Y listo, se comenzara a descargar los plugins y el servicio se iniciara. Ahora como podrias comprobarlo, seria haciendo los siguiente:

Entonces de esta manera vemos que el puerto 8834 esta en escucha lo cual nos indica que ya podemos conectarnos a través del navegador, para esto solo escribimos https://127.0.0.1:8834 y nos mostrara la pantalla de logueo en donde colocaremos el usuario y password que habíamos registrado inicialmente tal como se muestra en la imagen:

Y eso seria todo. Mas adelante publicare un tutorial de como usarlo en base a experiencias propias y no propias, por el momento solo nos queda ir explorando. Espero les sea de utilidad.

Deshabilitar el TRACE/TRACK de Apache2 en openSuse 11.1

Como sabran los admisitradores de servidores linux, uno de los principales ataques que regularmente se dan, son por vulnerabilidades que se podrian encontrar tanto en aplicaciones web o por una mala configuracion (configuracion por default) en el mismo servidor web. Regularmente los sistemas que tienen habilitado el TRACE pueden ser propensos a robo de crendenciales (XSS), como se explica en este documento.  Por defecto cuando configuramos apache esta  propiedad (TRACE) esta habilitada, por seguridad se deberia deshabilitar, para esto haremos lo siguiente.

Yo uso openSuse 11.1 como server, y primero lo que tendriamos que cargar seria el modulo encargado de esta propiedad (rewrite), aplicando el siguiente comando:

# a2enmod rewrite

Luego de aplicar este comando,verficamos que en el archivo loadmodule.conf ubicado en /etc/apache2/sysconfig.d, este la linea

LoadModule rewrite_module /usr/lib64/apache2-prefork mod_rewrite.so

De esta manera sabemos que el modulo se cargo y ahora, debido a que yo manejo dominios virtuales, dentro del directorio /etc/apache2/vhost.d ubicamos el archivo de configuracion de nuestro dominio y agregamos lo siguiente al final:

RewriteEngine On

RewriteCond %{REQUEST_METHOD} ^TRAC(E|K)

RewriteRule .* – [F]

Reiniciamos apache y listo. De esta manera estariamos deshabilitando el TRACE, dandole un poco mas de seguridad de nuestro server.

Que quede claro que para tener un servidor algo mas seguro, no basta con esto, se tiene que ir planteando politicas de seguridad, ya sea para actualizaciones se software, revision de log, tener firewall debidamente configurado, etc.