Curso Extensi ón Universitaria – Ferramentas de Seguridade en GNU/Linux Parte pr á ctica ctica OpenVas
EJERCICIO EJER CICIO 1: DESCRIPCIÓN El primer ejercicio consistir á en la instalaci ón de la herramienta OpenVas y la creaci ón de un usuario. Hay que indicar que para su correcto funcionamiento, OpenVas necesita el nmap para hacer el escaneo de puertos por lo que lo tendremos que tenerlo instalado as í como la librer í a GTK para la creación de interfaces gr áficas.
CONFIGURACIÓN DEL EJERCICIO El alum alumno no debe debe situ situar arse se en su dire direct ctori orio. o. En él se podr podrán ver ver los los fiche fichero ross cuso2010.vdi , openvas.dvi, swap.dvi y victima.dvi que ser án lo que se utilicen una vez lanzado VirtualBox. Para ello seguir los siguientes pasos:
1.Lanzar VirtualBox Lo primero que se debe de hacer es lanzar el VirtualBox mediante el siguiente comando: VirtualBox &
En el fichero ejemplo-openvas.sh se encuentran todos los par ámetros para poder lanzar ejemplo-openvas.sh la herramienta. Para ejecutar este script escribir en el Terminal bash ejemplo-openvas.sh Éste posee los siguientes comandos: VBoxManage
openmedium
disk
$PWD/openvas.vdi
--uuid
84e6f518-
d19f-4350-99ca-3788db000101 VBoxMana VBoxManage ge
openmedi openmedium um
disk
$PWD/vic $PWD/victima tima.vdi .vdi
--uuid --uuid
788cb654 788cb654-127 -1276-45 6-457373-
b0c7-f0e2ac000102 VBoxManage createvm --name openvas --register VBoxManage storagectl openvas --name str_openvas --add ide VBoxManage storageattach openvas --storagectl --storagectl str_openvas --port 0 --device 0 --type hdd --medium $PWD/openvas.vdi VBoxManage storageattach openvas --storagectl --storagectl str_openvas --port 0 --device 1 --type hdd --medium $PWD/swap.vdi VBoxManage modifyvm openvas --nic1 intnet --intnet1 vlan1 --macaddress1 --macaddress1 080027111111 080027111111 VBoxManage modifyvm openvas --nic2 nat --macaddress1 080027333333
VBoxManage createvm --name victima --register VBoxManage storagectl victima --name str_victima --add ide VBoxManage storageattach victima --storagectl --storagectl str_victima --port 0 --device 0 --type hdd --medium $PWD/victima.vdi VBoxManage storageattach victima --storagectl --storagectl str_victima --port 0 --device 1 --type hdd --medium $PWD/swap.vdi VBoxManage modifyvm victima --nic1 intnet --intnet1 vlan1 --macaddress1 --macaddress1 080027222222 080027222222
Curso Extensi ón Universitaria – Ferramentas de Seguridade en GNU/Linux Parte pr á ctica ctica OpenVas Una vez hecho esto, en la parte izquierda de nuestra ventana aparece por un lado la imagen donde tengamos instalado nuestro sistema OpenVas y por el otro, la imagen que posee la v í ctima, ctima, un equipo sobre el que vamos a realizar un escaneo.
A continuaci ón, se lanza cada una de las m áquinas. openvas → Iniciar victima → Iniciar
Por lo tanto nos situamos en el VirtualBox de OpenVas y metemos el login y contrase ña: root purple
Hacemos la misma operaci ón con el VirtualBox de la v í ctima. ctima. Lanzamos las X con ambas : startx
2.Instalar OpenVas En el equipo de OpenVas, ya est á instalada la herramienta. Pero en el caso de que no lo estuviera, éstos ser í an an los pasos para hacerlo. En el caso de no tenerlos descargados, lo primero que habr í a que hacer es: wget http://wald.intevation.org/frs/download.php/572/openvas-libraries-2.0.2.tar.gz wget http://wald.intevation.org/frs/download.php/561/openvas-libnasl-2.0.1.tar.gz wget http://wald.intevation.org/frs/download.php/562/openvas-server-2.0.1.tar.gz wget http://wald.intevation.org/frs/download.php/576/openvas-plugins-1.0.6.tar.gz wget http://wald.intevation.org/frs/download.php/575/openvas-client-2.0.3.tar.gz
A continuaci ón, se descomprimen cada una de las carpetas y se instalan haciendo, considerando que el usuario es el root :
Curso Extensi ón Universitaria – Ferramentas de Seguridade en GNU/Linux Parte pr á ctica OpenVas cd openvas-libraries-2.0.2 sudo ./configure sudo make sudo make install cd ..
Lo mismo para libnasl y server. Atenci ón, es importante seguir este orden. Antes de seguir instalando, tenemos que comprobar que tengamos dentro de nuestro PATH la siguiente ruta: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
para ello, escribimos: echo ${PATH}
Una vez confirmes esto entonces instalas los plugins de la misma manera que los anteriores. A continuaci ón, tenemos que cargar los enlaces simb ólicos que genera el montaje. ldconfig
Bueno con esto terminamos la parte de instalaci ón del Servidor. Ahora nos queda instalar la parte del Cliente. Para ello, hacemos: cd openvas-client-2.0.3 sudo ./configure sudo make sudo make install cd ..
3.Configuración del servidor de openVas Una vez instalado OpenVas, necesitaremos configurarlo y cuadrarle los par ámetros, lo cual se inicia creando un certificado SSL para nuestras conexiones. Esto se hace de este modo: openvas-mkcert
Se deben colocar valores sino reales si por lo menos existentes, o sea un pa í s que exista una localización que exista, como se ve a continuaci ón:
Curso Extensi ón Universitaria – Ferramentas de Seguridade en GNU/Linux Parte pr á ctica OpenVas
4.Creación de un usuario para OpenVas Una vez instalado OpenVas, necesitaremos crear un usuario v álido para usar la herramienta. Para ello, hacemos: openvas-adduser
Vamos a usar la autenticaci ón a través de contrase ña. Se indicará un login curso10 y una contrase ña curso10. Además, se indicará también el método de autenticación que se desees y las reglas se dejan en blanco. Para salir, hacer Ctrl-D
Curso Extensi ón Universitaria – Ferramentas de Seguridade en GNU/Linux Parte pr á ctica OpenVas
EJERCICIO 2: DESCRIPCIÓN El segundo ejercicio consistir á en escanear las vulnerabilidades de dos equipos. Por un lado, el equipo local o localhost (OpenVas) y por el otro un equipo que se encuentra en nuestra red, es decir la v í ctima.
CONFIGURACIÓN DEL EJERCICIO Lo primero que hay que hacer es configurar las IP's de las m áquinas, tanto para el equipo que consideramos local (OpenVas) y el que consideramos remoto (victima). En el caso que nos ocupa, ambos tienen ya las IP's asignadas. El primero tiene la IP 192.168.100.11 , y el segundo posee 192.168.100.22 . A continuación se lanzará el cliente de OpenVas y su servidor, para posteriormente escanear los equipos.
1.Lanzar servicios en la víctima Vamos a lanzar determinados servicios en la v í ctima de tal manera que cuando se escanee, detecte ciertas vulnerabilidades. Para ello, escribir los siguientes comandos: /etc/init.d/apache2 start /etc/init.d/openbsd-inetd start /etc/init.d/mysql start /etc/init.d/postfix start /etc/init.d/dovecot start
2.Arrancar el servidor de OpenVas en el local Antes de arrancar el servidor de OpenVas, es necesario realizar un paso previo: sincronizar todos los plugins y reglas del sistema, de tal manera que el usuario los pueda usar. Esto se hace de la siguiente manera: openvas-nvt-sync
Hecho esto, ya se puede arrancar el servidor. Este paso siempre tarda unos instantes, aunque la primera vez resulta ser bastante, debido a que realiza la carga de los plugins que usualmente son mas de 15000. Por lo tanto, lo que tenemos que hacer es: openvasd -D
3.Arrancar el cliente de OpenVas en el local Ya tenemos nuestro servidor de OpenVas ejecut ándose. El demonio openvasd ya se está ejecutando (escucha peticiones en el puerto 9390 por defecto) por lo que podemos conectarnos a él mediante el cliente de OpenVas. Atenci ón, para ello no se necesita ejecutarlo como root sino como usuario normal. Por lo tanto, se arranca desde otra consola Bash haciendo: OpenVAS-Client
Curso Extensi ón Universitaria – Ferramentas de Seguridade en GNU/Linux Parte pr á ctica OpenVas Entramos entonces en un c ómodo interfaz gráfico.
4.Indicar el equipo a analizar Una vez el usuario ha abierto el interfaz gr áfico, el mismo tiene que indicarle al servidor qu é ataques debe llevar a cabo y conocer las direcciones IP de las m áquinas a analizar. Es decir, puede indicarle a OpenVas si se desea escanear un conjunto de computadores que cumplan con una direcci ón de red y máscara de red determinadas, o bien se puede indicar la dirección IP exacta de la v í ctima. Esta direcci ón IP se indicar á en la pesta ña Por ejemplo, vamos a analizar dos equipos: por un lado, nuestro equipo local y por el otro, la v í ctima. Hay que recordar que dicho equipo recibir á las diferentes pruebas desde la máquina donde se encuentra instalado el servidor, no el cliente. Por lo tanto, el primer paso para analizar los equipos es conectarse primero al servidor.
4.1. Ejecutar el escaneo Para realizar el escaneo deseado se puede utilizar la ayuda pulsando del bot ón de la imagen. Esto va a generar el siguiente procedimiento: ✗
El primer paso del procedimiento consiste en asignarle un nombre a la tarea a realizar. Puede ser cualquiera pero que sea representativo, como por ejemplo tareasAHacer.
Curso Extensi ón Universitaria – Ferramentas de Seguridade en GNU/Linux Parte pr á ctica OpenVas
✗
✗
El segundo paso consiste en colocar un nombre a la rutina, puede ser cualquiera pero que sea representativo, como por ejemplo, red completa o equipo de casa . En este caso, lo hemos llamado Alcance.
El tercer paso tiene por objetivo indicar el equipo que se desea atacar. Éste puede ser una IP, un nombre de host o un conjunto de ordenadores que cumplen con una dirección y máscara de red. Por lo tanto, si queremos analizar el equipo local se pondr á localhost . En cambio, si decidimos atacar el equipo v í ctima será necesario indicar la IP 192.168.100.22 . En el caso de querer atacar ambos equipos al mismo tiempo, se indicar án separados por “,”. Por ejemplo, vamos a comenzar analizando nuestro equipo local. Hay que recordar que dicho equipo recibirá las diferentes pruebas desde la máquina donde se encuentra instalado el servidor, no el cliente. Por lo tanto:
Curso Extensi ón Universitaria – Ferramentas de Seguridade en GNU/Linux Parte pr á ctica OpenVas
✗
El último paso consiste en ejecutar los ataques sobre la m áquina en cuesti ón.
4.2.Conexión al equipo servidor Antes de realizar los ataques, es necesario conectarse al equipo servidor en el que corre el demonio de OpenVas. Para ello se va a tener que crear una conexi ón dónde se indicarán los datos del equipo en el que se encuentre el servidor (en nuestro caso, localhost), as í como el login y la contraseña indicados en el momento de la instalaci ón. Para ello se pulsa la pesta ña “Conectar” y aparecerá la siguiente ventana:
Curso Extensi ón Universitaria – Ferramentas de Seguridade en GNU/Linux Parte pr á ctica OpenVas
Una vez pulsado el OK, el sistema inicia la conexi ón descargando las actualizaciones de todos los plugins.
4.3.Escaneo El sistema abre otra ventana donde muestra su avance. En él se puede ver, por un lado, el análisis de los puertos, y por el otro, el avance que realiza a nivel de ataques.
Curso Extensi ón Universitaria – Ferramentas de Seguridade en GNU/Linux Parte pr á ctica OpenVas Cuando finaliza, se cierra la ventana, dejando visible en la parte inferior el informe que se obtuvo despu és de la ejecuci ón.
Si quisiéramos guardar el resultado del escaneo en diversos formatos, es necesario hacer: Informe → Exportar
Todos los datos obtenidos, junto con algunas estad í sticas se pueden almacenar en disco en los siguientes formatos NBE − Informe en formato OpenVas HTML − Formato visualizable por un navegador Web HTML con tartas y gráficos (Genera un HTML, pero a ñade diversos gráficos
sobre la situación de la red, análisis del host más vulnerable, etc.)
Vamos a guardarlo con formato HTML con el nombre “prueba_informe.html” en el directorio /root. A continuaci ón, cogemos abrimos una consola y abrimos un navegador Web para poder visualizar dicho informe. firefox prueba_informe.html/ &
El navegador se abrirá y se visualizará un informe de este estilo:
Curso Extensi ón Universitaria – Ferramentas de Seguridade en GNU/Linux Parte pr á ctica OpenVas
EJERCICIO 3: DESCRIPCIÓN El tercer ejercicio consistirá en escribir nuestro propio script con NASL (Nessus Attack Scripting Language). Posee una sintaxis similar a la de C.
CONFIGURACIÓN DEL EJERCICIO Antes de comenzar, es necesario conocer que un Script NASL, habitualmente se encuentra dividido en dos secciones. •
•
La primera hace referencia al “Script Description” , precisamente debido a que all í se define el código que será utilizado por el motor OpenVas. Aspectos tales como la identificaci ón del script, el nombre del plugin creado, dependencias y cualquier otra informaci ón respecto de la raz ón de ser del mismo, ser á referenciada en este sitio. La segunda es llamada “Script Body” y en ella se alberga la porción de código que se ejecutar á como parte del testeo de la vulnerabilidad propiamente dicho, es decir la acción concreta a ejecutar.
Para el ejemplo, hemos decidido escribir un peque ño script que tenga como única función conectar con un servicio FTP al puerto 21, y comprobar que el usuario de administrador no est á vac í o. Una vez puesto a funcionar, este plugin nos permitir á revisar nuestra red interna, a efectos de evaluar los FTPs internos instalados.
1.Crear el script En primer lugar, necesitaremos arrancar desde la consola el editor LeafPad y escribiremos nuestro script NASL de ejemplo, el cual guardaremos con el nombre “mytest.nasl” : En las X's si le damos al bot ón derecho vemos un men ú con varias opciones. Abrimos un éditor gráfico: Aplicaciones -> Accesorios -> LeafPad
y escribimos: if(description){ script_id(11160); script_version ("$Revision: 4312 $"); script_name("Windows Administrator NULL FTP password"); script_description("The remote server is incorrectly configured with a NULL password for the user 'Administrator' and has FTP enabled. Solution : Change the Administrator password on this host."); script_summary("Checks for a NULL Windows Administrator FTP password"); script_category(ACT_GATHER_INFO); script_family("FTP"); script_copyright("This script is Copyright (C) 2002 Keith Young"); script_dependencie("find_service.nes","DDI_FTP_Any_User_Login.nasl"); script_require_ports("Services/ftp", 21); exit(0); }
Curso Extensi ón Universitaria – Ferramentas de Seguridade en GNU/Linux Parte pr á ctica OpenVas
# # The script code starts here : # include('ftp_func.inc'); port = get_kb_item("Services/ftp"); if(!port)port = 21; if(get_port_state(port)){ if(get_kb_item("ftp/" + port + "/AnyUser"))exit(0); soc = open_sock_tcp(port); if(soc){ if(ftp_authenticate(socket:soc, user:"Administrator", pass:""))security_hole(port); } }
En nuestro ejemplo, se puede observar la divisi ón de secciones a la cual nos refer í amos anteriormente. Las primeras l í neas hacen uso de las sentencias de tipo “ script_xxxxx ” mediante las cuales especificamos toda aquella informaci ón que permitirá identificar a nuestro script entre los plugins de OpenVas. Mas adelante comienza la acci ón... Una vez escrito se guarda d ándole el nombre descrito anteriormente, y salimos del editor.
2.Funcionamiento del script Ahora que hemos escrito nuestro primer Plugin, vamos a probarlo contra la v í ctima. El próximo paso es agregar dicho chequeo al resto de los plugins existentes en OpenVas, para lo cual debemos copiar el script al repositorio de plugins de OpenVas por defecto: cp mytest.nasl /var/lib/openvas/plugins/
Una vez hecho esto, debemos recargar la lista de plugins y despu és reiniciar el servidor de OpenVas para que el plugin sea reconocido y se encuentre disponible a trav és de la interfaz cliente. Por tanto cerraremos el cliente y haremos: openvasd -q ps aux | grep openvas
localizar el id del proceso openvasd
kill -9 id
La nueva prueba de seguridad construida ya forma parte del grupo “FTP” (Tal como se definió mediante la sentencia script_family) y se encuentra apta para ser utilizada como cualquiera de los plugins est ándar incluidos en OpenVas.
Curso Extensi ón Universitaria – Ferramentas de Seguridade en GNU/Linux Parte pr á ctica OpenVas
EJERCICIO 4: DESCRIPCIÓN Este ejercicio consistir á en la instalaci ón de la herramienta Nessus y la creaci ón de un usuario. Hay que indicar que para su correcto funcionamiento, Nessus necesita el nmap para hacer el escaneo de puertos por lo que lo tendremos que tenerlo instalado as í como la librer í a GTK para la creación de interfaces gr áficas.
CONFIGURACIÓN DEL EJERCICIO El alumno debe situarse en su directorio de la m áquina llamada openvas. En él existe una carpeta llamada nessus. A partir de ella vamos a proceder a instalarlo. Para ello, es necesario seguir los siguientes pasos:
1.Instalar Nessus Lo primero que habr í a que hacer es descargarse el fichero Nessus-4.2.2debian5_i386.deb , y hacer: dpkg -i
Nessus-4.2.2-debian5_i386.deb
En nuestro caso los fichero .deb se encuentran en la carpeta ~/nessus/, por lo que no es necesario realizar este paso. Con esta instalación ya tendremos instalado el servidor de Nessus. En vez de instalar un cliente, nos conectaremos a un interfaz web para analizar y escanear.
2.Creación de un usuario para Nessus Una vez instalado Nessus, necesitaremos crear un usuario v álido para usar la herramienta. /opt/nessus/sbin/nessus-adduser
Vamos a usar la autenticaci ón a través de contrase ña. Se indicará un login contrase ña curso10 .
curso10
y una
Curso Extensi ón Universitaria – Ferramentas de Seguridade en GNU/Linux Parte pr á ctica OpenVas
3.Arrancar el servidor de Nessus en el local Antes de arrancar el servidor, es conveniente actualizar la base de datos de plugins de nuestra instalaci ón. Para ello es necesario registrar la herramienta para poder activar la descarga de plugins. En nuestro caso, la herramienta ya est á registrada, pero vamos a ver cuales son las formas de hacerlo.
3.1.Registrar Nessus ✗
✗
Para poder utilizar la herramienta, es necesario registrar previamente el escáner de Nessus en la p ágina http://www.nessus.org/plugins/index.php? view=registerinfo , concretamente la versi ón “ HomeFeed”.
A continuación aceptamos los t érminos.
Curso Extensi ón Universitaria – Ferramentas de Seguridade en GNU/Linux Parte pr á ctica OpenVas ✗
Insertamos nuestro correo electr ónico y lo comprobamos. Nos encontramos uno de Nessus Plugin Feed sobre el registro. Deber í a de ser algo as í : Your activation code
for the
Nessus HomeFeed is
Code> ✗
A partir de aqu í es necesario tener en cuenta dos factores para seguir: 1. Considerando que Nessus tiene acceso a internet:
☔ Con este código de activación se hace: Linux: /opt/nessus/bin/nessus-fetch –-register
☔ Una vez registrado, Nessus actualizar á los plugins cada 24 horas. Si se desea cambiar esos par ámetros, es necesario editar el fichero /opt/ nessus/etc/nessus/nessusd.conf y poner el par ámetro auto_update a “no”
2. Considerando que Nessus no tiene acceso a internet directamente:
☔ Ponemos en marcha nessus y escribimos el siguiente comando: Linux: /opt/nessus/bin/nessus-fetch –-challenge Esto producirá una cadena llamada “challenge” que se parecer á a: 569ccd9ac72ab3a62a3115a945ef8e710c0d73b8
☔ En otra máquina con acceso a internet, se accede a la p ágina: http://plugins.nessus.org/offline.php y se insertan tanto el c ódigo generado previamente como el c ódigo de activación.
✗
En este caso, como estamos trabajando con im ágenes y tenemos acceso al exterior, es decir a Internet, hacemos: /opt/nessus/bin/nessus-fetch –-register
Esto genera un fichero llamado nessus-fetch.rc en el directorio /opt/nessus/etc/nessus/.
3.2.Actualizar los plugins Simplemente es necesario realizar esta acci ón: /opt/nessus/sbin/nessus-update-plugins
Curso Extensi ón Universitaria – Ferramentas de Seguridade en GNU/Linux Parte pr á ctica OpenVas
El resultado es el siguiente:
3.3.Lanzar el servidor de Nessus Lo siguiente que debemos poner en marcha es el demonio nessusd , arrancándolo desde una de las consolas. /opt/nessus/sbin/nessus-service -D
Éste tarda un poco, ya que realiza la carga de los plugins.
4.Arrancar el cliente de Nessus Cuando se est é ejecutando el demonio nessusd (escucha peticiones en el puerto 8834 por defecto) podemos conectar a él mediante el cliente nessus. Como ya hemos dicho, éste es un interfaz web accesible desde la p ágina: https://localhost:8834/
Entramos entonces en un c ómodo interfaz gráfico, en el que tenemos que introducir el usuario y contrase ña creados previamente, es decir, curso10.
Curso Extensi ón Universitaria – Ferramentas de Seguridade en GNU/Linux Parte pr á ctica OpenVas
5.Indicar el equipo a analizar Una vez el usuario ha abierto el interfaz web, el mismo tiene que indicarle al servidor qu é ataques as í como las pol í ticas que debe llevar a cabo. as í como las pol í ticas de seguridad. Para ello, necesita conocer las direcciones IP de las m áquinas a analizar. Es decir, puede indicarle a Nessus si se desea escanear un conjunto de computadores que cumplan con una dirección de red y máscara de red determinadas, o bien se puede indicar la direcci ón IP exacta de la v í ctima. Lo mismo sucede con el tipo de ataque que quiere realizar. Por lo tanto comenzaremos estableciendo las pol í ticas de seguridad: ✗
Ir a “Policies”
✗
Pulsar “Next ”. Se seleccionan los plugins deseados y se deshabilitan los que no. Ahora ir a la pesta ña de “ Scans ”. Asignar un nombre al escaneo como por ejemplo “ScanPrueba”. Seleccionar la pol í tica que se va a usar e indicar los equipos que se quieren analizar.
✗ ✗
Pulsar “Add”. En “General” dar un nombre a la pol í tica, como por ejemplo Prueba .
Curso Extensi ón Universitaria – Ferramentas de Seguridade en GNU/Linux Parte pr á ctica OpenVas
6.Ver el informe ✗ ✗
Una vez acabado de escanear el equipo, accedemos a la pesta ña “Report”. Seleccionamos el informe que queremos ver y pulsamos sobre “ Donwload”. En ese momento seleccionamos en que formato queremos verlo. En nuestro caso optamos por HTML.
✗
Ahora ir a la pesta ña de “ Scans ”. Asignar un nombre al escaneo como por ejemplo “ScanPrueba”. Seleccionar la pol í tica que se va a usar e indicar los equipos que se quieren analizar.
Este es un ejemplo de uno de los bugs de seguridad explicado en detalle. Proporciona información acerca del problema, los posibles riesgos, as í como de la solución a adoptar.
Curso Extensi ón Universitaria – Ferramentas de Seguridade en GNU/Linux Parte pr á ctica OpenVas
EJERCICIO 5: DESCRIPCIÓN El quinto ejercicio consistir á en escribir nuestro propio script con NASL (Nessus Attack Scripting Language). Posee una sintaxis similar a la de C.
CONFIGURACIÓN DEL EJERCICIO Para el ejemplo, vamos a usar el mismo script que en el ejercicio 3, por lo que habr á que realizar el primer paso.
1.Crear el script En primer lugar, necesitaremos arrancar desde la consola el editor LeafPad y escribiremos nuestro script NASL de ejemplo, el cual guardaremos con el nombre “mytest.nasl” : En las X's si le damos al bot ón derecho vemos un men ú con varias opciones. Abrimos un éditor gráfico: Aplicaciones -> Accesorios -> LeafPad
y escribimos:
if(description){ script_id(11160); script_version ("$Revision: 4312 $"); script_name("Windows Administrator NULL FTP password"); script_description("The remote server is incorrectly configured with a NULL password for the user 'Administrator' and has FTP enabled. Solution : Change the Administrator password on this host."); script_summary("Checks for a NULL Windows Administrator FTP password"); script_category(ACT_GATHER_INFO); script_family("FTP"); script_copyright("This script is Copyright (C) 2002 Keith Young"); script_dependencie("find_service.nes","DDI_FTP_Any_User_Login.nasl"); script_require_ports("Services/ftp", 21); exit(0); } # The script code starts here : include('ftp_func.inc'); port = get_kb_item("Services/ftp"); if(!port)port = 21; if(get_port_state(port)){ if(get_kb_item("ftp/" + port + "/AnyUser"))exit(0); soc = open_sock_tcp(port); if(soc){ if(ftp_authenticate(socket:soc, user:"Administrator", pass:""))security_hole(port); } }
Curso Extensi ón Universitaria – Ferramentas de Seguridade en GNU/Linux Parte pr á ctica OpenVas
Una vez escrito se guarda d ándole el nombre descrito anteriormente, y salimos del editor.
2.Comprobar el funcionamiento del script Ahora que hemos escrito nuestro primer Plugin, vamos a probarlo contra la v í ctima. A tal efecto y puesto que Nessus nos provee como parte de su instalaci ón estándar, de un potente intérprete de l í nea de comandos, mediante la cual podemos ejecutar nuestro NASL de forma ágil y sencilla, lanzaremos el siguiente comando desde nuestra carpeta: /opt/nessus/bin/nasl -W -T /tmp/log.txt -t 192.168.100.11 mytest.nasl
Como verás, el plugin se ha comportado del modo esperado, haciendo exactamente aquello que estaba previsto, consultar si la cuenta de administrador de windows de FTP tiene la contraseña vac í a e informarnos del resultado. El próximo paso es agregar dicho chequeo al resto de los plugins existentes en Nessus, para lo cual debemos copiar el script al repositorio de plugins de Nessus por defecto: cp mytest.nasl /opt/nessus/lib/nessus/plugins/
Una vez hecho esto, debemos recargar la lista de plugins y despu és reiniciar el servidor de Nessus para que el plugin sea reconocido y se encuentre disponible a trav és de la interfaz web cliente. Por tanto cerraremos el cliente y haremos: /opt/nesssus/sbin/nessusd -R killall -HUP nessus-service
La nueva prueba de seguridad construida ya forma parte del grupo “ FTP” (Tal como se definió mediante la sentencia script_family) y se encuentra apta para ser utilizada como cualquiera de los plugins est ándar incluidos en Nessus.