sábado, 27 de agosto de 2011

Escaneo de vulnerabilidades con NESSUS - PARTE II - A


Bueno siguiendo con estos tutoriales de NESSUS después de instalarlo en backtrack 5 R1 nos hacemos la pregunta ¿Qué Necesito para iniciar el Scaneo de Vulnerabilidades?
Desde mi punto de vista lo primero que necesitamos es entender a fondo que es y cómo funciona nuestra herramienta, como podemos optimizarla y por qué no decir como “Afilarla”.
Por motivos que esta segunda parte es muy amplia la he dividido en parte A y B para que no sea muy aburrido leerla =)

CONFIGURACIÓN, OPTIMIZACIÓN E INICIO EN NESSUS.

Como lo explique en el Post anterior Nessus es una tecnología cliente/servidor, donde el servidor o demonio Nessusd  es el que realiza el escaneo mediante una arquitectura de extensiones o plugins como suele llamarse, estos son los encargados de realizar el análisis, por lo tanto Nessus es bueno sólo si la base de datos de firmas (plugins) es buena. Afortunadamente, Nessus es actualizado con frecuencia y nosotros debemos de configurarlo para eso.
Luego de entender esto lo primero que se nos viene a la mente es verificar si hemos instalado bien el código de activación para los pluginss “Nessus-fetch” (si si lose eso lo dice la guía de usuario de Nessus) para ello corremos el siguiente comando
/opt/nessus/bin/nessus-fetch --check

Como respuesta debemos de obtener “Nessus-fetch is properly configured to receive a HomeFeed”

Ahora seguramente nos preguntaremos con qué frecuencia es actualizado las firmas o plugins de Nessus, según la guía de usuario es cada 24 horas pero es recomendable configurarlo cada 4 para esto vamos al archivo de configuración de nessus y ubicamos las líneas “auto_update”  y “auto_update_delay”
vi /opt/nessus/etc/nessus/nessusd.conf 

Y buscamos que las líneas siguientes estén así:
auto_update = yes
auto_update_delay = 4

Ahora para completar nuestra paranoia si queremos actualizarlo manualmente lo hacemos mediante el comando:
/opt/nessus/sbin/nessus-update-pluginss

Pero bueno quizás por algún motivo no actualice con las modificaciones que le hemos hecho y para no perder el sueño configuramos  el crontab para que se realice una actualización de nessus porsiacaso todos los días a una hora determinada que acostumbremos conectarnos con frecuencia. Escribimos el comando:
crontab -e

y agregamos la siguiente línea:
* 16,18,20,22 * * * root /bin/bash /opt/nessus/sbin/nessus-update-pluginss

Ya ustedes pueden personalizar esta línea.
Ahora solo nos faltaría que el demonio nessusd arranque al momento que la maquina se enciende  así que esto lo podemos hacer de la siguiente manera: 
ln -s  /etc/init.d/nessusd /etc/rc3.d/S30nessusd
ln -s  /etc/init.d/nessusd /etc/rc3.d/S30nessusd
 
 
Con el comando anterior estamos creando un enlace simbólico del archivo de arranque de nessus a los directorios correspondientes al nivel de ejecución 3 y 5 dependiendo del que tengamos configurado dándole un prioridad de inicio numero 30.
De los directorios que maneja nessus en primera instancia podrían interesarnos

/opt/nessus ====> contiene todos los directorios y archivos utilizados por nessus
/opt/nessus/etc/nessus ====> que es el que contiene los archivos  de configuración
/opt/nessus/var/nessus/users ====> contiene lo usuarios creados en Nessus
/opt/nessus/lib/nessus/pluginss ====> contiene la lista de plugins que tenemos
/opt/nessus/bin ====> Aquí tenemos algunos ejecutables tales como nessuscmd

Tengamos en cuenta también que a partir de la versión 4.2 ya no necesitamos instalar el cliente nessus sino que en esta versión el cliente Nessus es accesible mediante una web en flash https://127.0.0.1:8834 una de la principales ventajas de nessus es también la posibilidad de exportar nuestras políticas y reportes en archivos con extensión .nessus este formato está basado en XML y nos permite llevar un bitácora de nuestros escaneos y por sobre todo hacerlo portable.

viernes, 26 de agosto de 2011

MI PRIMER SCRIPT DE BACKUP EN CENTOS


Hace ya mucho tiempo tuve mi primera anécdota laboral en el pedido de realizar un Script para realizar un Backup en centOS ustedes dirán habiendo herramientas que realizan esta tarea y de forma eficiente algunos se preguntaran cual es la necesidad de generar un script para realizar esta tarea y  que quizás no sea lo suficientemente potente o eficiente, pues bueno la verda que nos divertiremos haciéndolo nosotros mismo y la satisfaccion al hacerlo no tiene comparación a si que ahí vamos a explicar el contexto.


MI PRIMER SCRIPT EN BASH PARA BACKUP EN LINUX

unas de las primeras cosas que necesitamos aprender al trabajar en linux es como automatizar nuestras tareas utilizando nuestra consola de comandos, en lo personal cuando inicie a trabajar ya algo enserio una de las cosas que me pidieron realizar es elaborar un scrip que realice un backup en un segundo disco duro de la data de uno de nuestro servidores internos de pruebas, el backup se debía de realizar semanal y mensual a las 02:00 am. 
Por lo tanto unas de mis primeras soluciones y la que aplique fue realizar un scrip en bash y programarlo en el crontab aunque hay muchas formas mas simples de hacerlo este fue mi primer script de backup espero que les sirva.

touch /root/backups.sh
chmod +x /root/backup.sh
mkdir /mnt/backup
y supongamos que tenemos un segundo disco duro /dev/sdb con la partición sdb1

#!/bin/bash
################################
# Backup Total Semanal y mensual                       
# Por PERUoverflow - neotrons                              
# peruoverflow.blogspot.com                                
#                                                                             
################################


#Declarando Variables para capturar algunos valores importantes
HOST=`hostname`               # capturamos el nombre del equipo
HORA=`date +%H`              # capturamos la hora formato (00...23)
DIANUM=`date +%d`          # capturamos el día según el mes (1...30)
MES=`date +%B`                #capturamos el mes (enero...diciembre)


# Especificamos los directorios a realizar backup
DIRECTORIOS='/root /boot /bin /sbin /etc /lib /opt /srv /usr /var /tmp'


#montando el nuevo disco sdb partición 2
mount /dev/sdb2 /mnt/backup
#Deteniendo servicios importantes ojo solo muestro algunos
/ect/init.d/httpd stop
/etc/init.d/mysql stop
/etc/init.d/iptables stop
#Los Backup se realizan a las 02:00 am
#Backup mensual programado para el día 01 de cada mes
if [[ "$DIANUM" = "01" && "$HORA" = "02" ]];
then
tar -czf /mnt/backup/backup_$HOST-$MES.tar.gz $DIRECTORIOS
fi
#backup semanal programado para los dias 8,15,22y29
for i in 8 15 22 29; do
if [ "$i" = "8" ];
then
i="08"
fi
if [[ "$DIANUM" = "$i" && "$HORA" = "02" ]];
then
tar -czf /mnt/backup/backup_$HOST-DIA$i.tar.gz $DIRECTORIOS
fi
done
# Iniciando los servicios que detuvimos
/ect/init.d/httpd start
/etc/init.d/mysql start
/etc/init.d/iptables start


#Desmontando el disco
umount /dev/sdb2


# FIN DEL SCRIT BACKUP

AUTOMATIZANDO EL SCRIPT EN CRONTAB

crontab -e
y añadimos la sigueinte linea

* 02 * * * root  /root/backup.sh

en mi primera semana de trabajo ese fue mi primera experiencia pero jaja luego estudiando las herramientas como el crontab puede haberlo configurado independiente mente en el cron.weekly y el cron.monthly y a si evitarme mucha cosa en el scrip pero me divertí haciendo espero que les sirva

domingo, 21 de agosto de 2011

Escaneo de vulnerabilidades con NESSUS - PARTE I


Hace ya un buen tiempo desde que inicie con el Ethical hacking y el pentesting, he estado explorando y utilizando Nessus llegándolo a considerar como infaltable entre mis tools de seguridad utilizadas en la etapa de escaneo en un proceso de pentesting, en este tiempo he realizado varios test donde nessus ha sido la pieza fundamental en la explotación y por ello he tenido varias anécdotas y experiencias la cual quiero compartir con ustedes por ello que más que iniciar una serie de tutoriales de la utilización, configuración y optimización de nessus en el escaneo de vulnerabilidades.

MANOS A LA OBRA: 

¿Qué es NESSUS?
Buenos Nessus es uno de los escáner o rastreador remoto  de vulnerabilidades favoritos cuya función principal es de realizar un barrido o escaneo de sistemas de una red, en busca de fallos en la configuración y vulnerabilidades en las aplicaciones de los objetivos que se le asignen.
Nessus es un Freeware  pero se suele regir bajo una licencia personal de uso, (aunque también tienes su versión Bussines) por lo que para utilizarla debemos registrarnos esto lo veremos más adelante, está disponible para Windows, Mac, Linux y algunas versiones de Unix como FreeBSD y no olvidar las versiones para Iphone y Android.
Técnicamente hablando Nessus pertenece a la familia de aplicaciones Cliente/servidor por lo cual para ello debíamos de instalar el servidor nessusd y el cliente por separado aunque en las nuevas versiones no es necesario  instalar nessus cliend ya que viene incluida en un solo paquete y con acceso mediante entorno web (personalmente ineficiente). El servidor nessusd se ejecuta  y hace el trabajo sucio, informando todas las diferentes pruebas de vulnerabilidad diferentes y realiza un test, este cuenta con su propia base de datos de usuario y un método de autentificación segura, por lo que los usuarios remotos que utilicen el cliente Nessus (ya sea para Linux, Windows o mac ) pueden iniciar una sesión, configurar un rastreo de vulnerabilidades  y dejar preparado el sistema.
Para llevar a cabo el escaneo se utiliza una serie de comando a los cuales se denomina Lenguaje de creación de series de comando de ataque para Nessus (NASL por sus siglas en inglés Nessus Attack Scripting Language) el NASL es un lenguaje de script especialmente pensado para Nessus, y cuyo objetivo no es otro que poder lanzar funcionalidades del escáner a través de programas externos que definamos para tales efectos por tanto en Nessus cada rastreo de vulnerabilidades es en realidad una serie de comandos o complemento diferente, escrito en NASL. Esta arquitectura modular permite añadir fácilmente escaneos (y posibles pruebas de ataque) a medida que se descubre nuevas vulnerabilidades.

Instalando Nessus en BACKTRACK 5 R1 

Para los que ya tienen instalado el Backtrack 5 R1 y los que no también les puede servir esta guía.
Aquí explicare como instalar la versión 4.4.1 de Nessus en esta nuestra distribución de seguridad Favorita nótese que también se pueden seguir estos paso para instalarla en cualquier otra distribución de Bactrack y otras derivadas de Debían como Ubuntu.

¿Qué necesitamos?
Sarcásticamente diría que necesitamos el Backtrac5 R1 y el Nessus 4.4.1 =P
Como ya explique anteriormente Nessus es un Freeware pero maneja una licencia personal de uso digámoslo así para lo cual primero debemos de registrarnos en su sitio web, si aunque sea algo aburrido es necesario ya que obtendremos un Código para la activación de nessus que posteriormente necesitaremos, así que entramos al siguiente link  http://www.tenable.com/products/nessus/nessus-plugins/obtain-an-activation-code elegimos “using nessus at Home”



Luego aceptamos el acuerdo de suscripción dando clic en “Agree” , luego aparecerá una ventana donde debemos ingresar nuestros Datos, ojo debe ser un email valido ya que ahí llegara el código para la activación.

Hay no aparecerá que nos hemos registrado exitosamente y nos enviaran un código mejor dicho un comando de cómo debemos de realizar la activación. Del mensaje que nos llega nosotros utilizaremos el método “ Linux y Solaris Users “

Linux and Solaris Users :
--------------------------

To activate your account, simply execute the following command :

/opt/nessus/bin/nessus-fetch --register AAAA-BBBB-CCCC-DDDD-EEEE

Ahora procedemos a descargar nuestro Nessus 4.4.1
Para seguir con un orden en nuestro Backtrack crearemos una carpeta:


mkdir /pentest/scanners/nessus

Ahora descargamos Nessus client del siguiente link http://www.tenable.com/products/nessus/nessus-download-agreement damos en “Agree” y en la siguiente ventana en la sección Linux vamos a la ultima que indica “ Ubuntu 10.10 (32 bits): Nessus-4.4.1-ubuntu1010_i386.deb “ ose elegimos el paquete para Ubuntu 10.10 , lo descargamos y lo guardamos en la carpeta que acabamos de crear y nos situamos en ella y realizamos lo siguiente

cd /pentest/scanners/nessus
dpkg -i Nessus-4.4.1-ubuntu1010_i386.deb



Ahora creamos un usuario el cual administrara nuestro Nessus:

/opt/nessus/sbin/nessus-adduser



Ahora procedemos a activar el nessus con el comando que recibimos por e-mail en mi caso será 

/opt/nessus/bin/nessus-fetch --register AAAA-BBBB-CCCC-DDDD-EEEE


Luego del comando la activación se realiza de forma rápida, lo que demora es la actualización de los plugins así que no hay que cancelar ni cortar la actualización debemos de esperar un poco hasta que no de algo asi:

 

Una vez realizada la actualización procedemos a iniciar el nessus de la manera más sencilla:


/etc/init.d/nessusd start

Ahora debemos de verificar que en nessus se encuentre corriendo en el puerto 8843 podríamos hacerlo con el siguiente comando.

netstat –antp | grep nessus

Como explique anteriormente en las nuevas versiones de nessus no necesitamos instalar el cliente de nessus ya que podemos acceder mediante entorno web https://localhost:8834


Ojo al acceder a esta página nos pedirá que aceptemos el certificado de seguridad para lo cual debemos de Añadir una excepción para esta página, demora un poco al momento de cargar la interfaz así que no se desesperen 

Luego que nos logeamos tenemos acceso a la interfaz para poder realizar Nuestro Scaneo de vulnerabilidades.


Aunque en lo personal no e utilizado este medio para realizar un escaneo salvo en entorno de practica ya que soy un poco mas pegado a la utilización de comandos por ello lo utilizo desde la consola del metasploit framework pero bueno esto ya es para próximos Tutoriales

By Neotrons