Posts Tagged ‘nessus’

MS08-067 – Recopilación de recursos

|

Recientemente se ha dado a conocer esta vulnerabilidad que permite la ejecución remota de código sin necesidad de tener credenciales. La vulnerabilidad es grave, muy grave, crítica. No obstante me agrada poder decir que no se ha anunciado como una nueva vulnerabilidad que rompe internet.

Lo interesante no es hablar y hablar sobre este fallo, sino hacerse con los recursos técnicos suficientes para entenderla, auditarla y en su caso explotarla. No es dificil pero es tedioso, ya que la sobredósis de información hace pesado el acto de separar la paja del grano, espero que os guste mi separación.

Información.

Para entender la vulnerabilidad en sí misma, las causas de la misma y los detalles técnicos el mejor documento que he encontrado es un papper de Sourcefire, empresa del conocido NIDS Snort.

Auditoría.

Para saber si una máquina es vulnerable tenemos por un lado un script realizado por Portcullis Lab, escrito en Python. Por otro lado Nessus ha sacado dos plugins al respecto: 34477 y 34476.

Detección.

Snort ha sacado recientemente una actualización de las reglas VRT que incorpora reglas de detección de esta vulnerabilidad.

Explotación.

Para explotar esta vulnerabildad ha sido publicado un exploit para el framework Metasploit. Tengo que decir que tal como lo descargas este exploit no funciona, pero a poco que investiguéis os daréis cuenta de que le faltan un par de cosillas. Es una medida habitual contra los script kiddies. Yo he realizado las modificaciones y puedo decir que funciona perfectamente.

Por otro lado en Milw0rm han publicado un exploit alternativo, no lo he probado, pero dada la reputación del sitio creo necesario nombrarlo.

Si conocéis alguna mejor ya sabéis, tengo activados los comentarios.

Nessus sobre Slackware

|

Recientemente ha salido la versión 3.2 del escaner de vulnerabilidades más conocido en la actualidad. Trae importantes novedades entre las que me gustaría destacar el nessus command-line tool.

Escribo el artículo para uso propio y ajeno ya que cada vez que instalo nessus sobre un Slackware tengo que hacer ciertos pasos no habituales en otros sistemas para su instalación.
Este post es por tanto un guiaburros de cómo instalar el demonio de Nessus sobre Slackware Linux.

Lo primero es descargarlo, Nessus no es OpenSource, si bien es gratuito. Previo registro ofrece binarios para distintas distribuciones: SUSE, Debian, RHEL y Fedora.
Debe introducirse la dirección de correo “con mimo” ya que a esa dirección llegará el correo de Tenable con la clave para activar el producto.
De las versiones de Linux disponibles para descargar recomiendo bajar la versión más reciente de las preparadas para Fedora, en este caso Fedora8:
b28760956cb0e4522ac0456ed5bbcf84 Nessus-3.2.0-fc8.i386.rpm

Una vez descargado debemos pasarlo a tgz( Slackware dispone de un binario nativo para ello). Asímismo descomprimimos el tgz sobre /opt, que es el directorio habitual donde debe estar instalado Nessus:

# rpm2tgz Nessus-3.2.0-fc8.i386.rpm
# rm -rf Nessus-3.2.0-fc8.i386.rpm
# mv Nessus-3.2.0-fc8.i386.tgz /opt
# cd /opt
# tar zxvf Nessus-3.2.0-fc8.i386.tgz
# mv opt/nessus .
# rm -rf opt
# rm -rf etc
# rm -rf Nessus-3.2.0-fc8.i386.tgz

Lo de eliminar el directorio resultante etc es por lo siguiente: en realidad no es necesario ya que solo incluye un script de inicio especialmente diseñado para el inicio SysV, en la practica no suele interesar tener siempre el demonio de nessus levantado, ya que consume bastante memoria. En caso de ser necesario recomiendo crear uno a la carta o incluir simplemente el comando de inicio en el /etc/rc.d/rc.local.

Ahora deberíamos registrar nuestro Nessus, para ello está el binario nessus-fetch, sin embargo si lo intentamos obtenemos el siguiente mensaje de error:

./nessus-fetch: error while loading shared libraries: libnessus.so.3: cannot open shared object file: No such file or directory

Esto se debe a que nuestro sistema no tiene cargadas las librerías de Nesuss, para cargarlas debemos editar el fichero /etc/ld.so.conf e incluir la siguiente ruta: /opt/nessus/lib, después ejecutar el comando que las carga( ldconfig ), esto se realizará a partir de entonces automáticamente en cada reinicio de la maquina.

Ahora registramos la aplicación introduciendo el código que hemos recibido por correo electrónico:

/opt/nessus/bin/nessus-fetch –register AAAA-AAAA-AAAA-AAAA-AAAA

A partir de ahí solo faltaría lanzar el demonio de Nessus:

/opt/nessus/sbin/nesssus -D

Un problema habitual que podemos encontrar los usuarios de Slackware Linux al lanzar el demonio es encontrarnos con errores de librerias que no existen, incluso después del paso del ldconfig. La solución es tan sencilla como tonta, copiar una libreria existente con el nombre que Nessus espera. Por ejemplo, si se nos pide la librería libssl.so.0.9.8 y no la ecnontramos podemos ver facilmente que tengamos en /usr/lib la libreria libssl.so.0.9.7, pues basta con un simple:

# cp /usr/lib/libssl.so.0.9.7 /usr/lib/libssl.so.0.9.8

este paso puede repetirse dos o tres veces y las librerías que suelen verse implicadas son libsl y libcrypto.

NOTA: Evidentemente que esto se refiere solo a la instalación, Nessus requiere configuración, creación de usuarios/certificados, instalación de clientes, etc, pero esos temas quedan fuera del propósito de este post.