Vous êtes sur la page 1sur 20

CursoExtensinUniversitariaFerramentasdeSeguridadeenGNU/LinuxParteprcticaOpenVas

EJERCICIO 1: DESCRIPCIN
El primer ejercicio consistir en la instalacin de la herramienta OpenVas y la creacin de un usuario. Hayqueindicarqueparasucorrectofuncionamiento,OpenVas necesitaelnmappara hacerelescaneodepuertosporloquelotendremosquetenerloinstaladoascomolalibreraGTK paralacreacindeinterfacesgrficas.

CONFIGURACIN DEL EJERCICIO


El alumno debe situarse en su directorio. En l se podrn ver los ficheros cuso2010.vdi, openvas.dvi,swap.dviyvictima.dvi quesernloqueseutilicenunavezlanzadoVirtualBox. Paraelloseguirlossiguientespasos:

1.Lanzar VirtualBox
LoprimeroquesedebedehacereslanzarelVirtualBoxmedianteelsiguientecomando: VirtualBox & Enelficheroejemplo-openvas.shseencuentrantodoslosparmetrosparapoderlanzar laherramienta.ParaejecutarestescriptescribirenelTerminalbash ejemplo-openvas.sh steposeelossiguientescomandos: VBoxManage openmedium disk d19f-4350-99ca-3788db000101 VBoxManage openmedium b0c7-f0e2ac000102 disk $PWD/openvas.vdi --uuid --uuid 84e6f518-

$PWD/victima.vdi

788cb654-1276-4573-

VBoxManage createvm --name openvas --register VBoxManage storagectl openvas --name str_openvas --add ide VBoxManage storageattach openvas --storagectl str_openvas --port 0 --device 0 --type hdd --medium $PWD/openvas.vdi VBoxManage storageattach openvas --storagectl str_openvas --port 0 --device 1 --type hdd --medium $PWD/swap.vdi VBoxManage modifyvm openvas --nic1 intnet --intnet1 vlan1 --macaddress1 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 str_victima --port 0 --device 0 --type hdd --medium $PWD/victima.vdi VBoxManage storageattach victima --storagectl str_victima --port 0 --device 1 --type hdd --medium $PWD/swap.vdi VBoxManage modifyvm victima --nic1 intnet --intnet1 vlan1 --macaddress1 080027222222

CursoExtensinUniversitariaFerramentasdeSeguridadeenGNU/LinuxParteprcticaOpenVas Una vez hecho esto, en la parte izquierda de nuestraventana aparece por un lado la imagendondetengamosinstaladonuestrosistemaOpenVasyporelotro,laimagenque poseelavctima,unequiposobreelquevamosarealizarunescaneo.

Acontinuacin,selanzacadaunadelasmquinas. openvas Iniciar victima Iniciar PorlotantonossituamosenelVirtualBoxdeOpenVasymetemoselloginycontrasea: root purple HacemoslamismaoperacinconelVirtualBoxdelavctima. LanzamoslasXconambas: startx

2.Instalar OpenVas
EnelequipodeOpenVas,yaestinstaladalaherramienta.Peroenelcasodequenolo estuviera,stosseranlospasosparahacerlo.Enelcasodenotenerlosdescargados,lo primeroquehabraquehaceres:
wget wget wget wget wget http://wald.intevation.org/frs/download.php/572/openvas-libraries-2.0.2.tar.gz http://wald.intevation.org/frs/download.php/561/openvas-libnasl-2.0.1.tar.gz http://wald.intevation.org/frs/download.php/562/openvas-server-2.0.1.tar.gz http://wald.intevation.org/frs/download.php/576/openvas-plugins-1.0.6.tar.gz http://wald.intevation.org/frs/download.php/575/openvas-client-2.0.3.tar.gz

Acontinuacin,sedescomprimencadaunadelascarpetasyseinstalanhaciendo, considerandoqueelusuarioeselroot:

CursoExtensinUniversitariaFerramentasdeSeguridadeenGNU/LinuxParteprcticaOpenVas cd openvas-libraries-2.0.2 sudo ./configure sudo make sudo make install cd .. Lomismoparalibnaslyserver. Atencin,esimportanteseguiresteorden.

Antesdeseguirinstalando,tenemosquecomprobarquetengamosdentrodenuestroPATH lasiguienteruta: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games paraello,escribimos: echo ${PATH} Unavezconfirmesestoentoncesinstalaslospluginsdelamismamaneraquelosanteriores. Acontinuacin,tenemosquecargarlosenlacessimblicosquegeneraelmontaje. ldconfig BuenoconestoterminamoslapartedeinstalacindelServidor.Ahoranosquedainstalarla partedelCliente.Paraello,hacemos: cd openvas-client-2.0.3 sudo ./configure sudo make sudo make install cd ..

3.Configuracin del servidor de openVas


UnavezinstaladoOpenVas,necesitaremosconfigurarloycuadrarlelosparmetros,locual seiniciacreandouncertificadoSSLparanuestrasconexiones.Estosehacedeestemodo: openvas-mkcert Sedebencolocarvaloressinorealessiporlomenosexistentes,oseaunpasqueexistauna localizacinqueexista,comoseveacontinuacin:

CursoExtensinUniversitariaFerramentasdeSeguridadeenGNU/LinuxParteprcticaOpenVas

4.Creacin de un usuario para OpenVas


Una vez instalado OpenVas, necesitaremos crear un usuario vlido para usar la herramienta.Paraello,hacemos: openvas-adduser Vamosausarlaautenticacinatravsdecontrasea.Seindicarunlogincurso10yuna contrasea curso10.Adems, seindicartambinelmtododeautenticacinquese deseesylasreglassedejanenblanco.Parasalir,hacerCtrl-D

CursoExtensinUniversitariaFerramentasdeSeguridadeenGNU/LinuxParteprcticaOpenVas

EJERCICIO 2: DESCRIPCIN
Elsegundoejercicioconsistirenescanearlasvulnerabilidadesdedosequipos.Porunlado,el equipolocalolocalhost(OpenVas)yporelotrounequipoqueseencuentraennuestrared, es decirlavctima.

CONFIGURACIN DEL EJERCICIO


LoprimeroquehayquehaceresconfigurarlasIP'sdelasmquinas,tantoparaelequipoque consideramoslocal(OpenVas)yelqueconsideramosremoto(victima).Enelcasoquenosocupa, ambostienenyalasIP'sasignadas.ElprimerotienelaIP 192.168.100.11,yelsegundoposee 192.168.100.22. A continuacin se lanzar el cliente de OpenVas y su servidor, para posteriormenteescanearlosequipos.

1.Lanzar servicios en la vctima


Vamos a lanzar determinados servicios en la vctima de tal manera que cuando se escanee,detecteciertasvulnerabilidades.Paraello,escribirlossiguientescomandos: /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


AntesdearrancarelservidordeOpenVas,esnecesariorealizarunpasoprevio:sincronizar todoslospluginsyreglasdel sistema,detalmaneraqueelusuariolospuedausar.Estose hacedelasiguientemanera: openvas-nvt-sync Hecho esto, ya se puede arrancar el servidor. Este paso siempre tarda unos instantes, aunquelaprimeravezresultaserbastante,debidoaquerealizalacargadelosplugins queusualmentesonmasde15000.Porlotanto,loquetenemosquehaceres: openvasd -D

3.Arrancar el cliente de OpenVas en el local


YatenemosnuestroservidordeOpenVasejecutndose.Eldemonio openvasd yase est ejecutando (escucha peticiones en el puerto 9390 por defecto) por lo que podemos conectarnos a l mediante el cliente de OpenVas. Atencin, para ello no se necesita ejecutarlocomorootsinocomousuarionormal.Porlotanto,searrancadesdeotraconsola Bashhaciendo: OpenVAS-Client

CursoExtensinUniversitariaFerramentasdeSeguridadeenGNU/LinuxParteprcticaOpenVas Entramosentoncesenuncmodointerfazgrfico.

4.Indicar el equipo a analizar


Unavezelusuariohaabiertoelinterfazgrfico,elmismotienequeindicarlealservidorqu ataquesdebellevaracaboy conocerlasdireccionesIPdelas mquinasaanalizar. Es decir,puedeindicarleaOpenVassisedeseaescanearunconjuntodecomputadoresque cumplan con una direccin de red y mscara de red determinadas, o bien se puede indicarladireccinIPexactadelavctima.EstadireccinIPseindicarenlapestaa Porejemplo,vamosaanalizardosequipos:porunlado,nuestroequipolocalyporelotro, lavctima.Hayquerecordarque dichoequiporecibirlasdiferentespruebasdesdela mquinadondeseencuentrainstaladoelservidor,noelcliente.Porlotanto,elprimerpaso paraanalizarlosequiposesconectarseprimeroalservidor.

4.1. Ejecutar el escaneo


Pararealizarelescaneodeseadosepuedeutilizarlaayudapulsandodelbotnde laimagen.Estovaagenerarelsiguienteprocedimiento:

Elprimerpasodelprocedimientoconsisteenasignarleunnombrealatareaa realizar.Puedesercualquieraperoquesearepresentativo,comoporejemplo tareasAHacer.

CursoExtensinUniversitariaFerramentasdeSeguridadeenGNU/LinuxParteprcticaOpenVas

El segundo paso consiste en colocar un nombre a la rutina, puede ser cualquieraperoquesearepresentativo,comoporejemplo, red completa o equipo de casa.Enestecaso,lohemosllamadoAlcance.

Eltercerpasotieneporobjetivoindicarelequipoquesedeseaatacar.stepuede serunaIP,unnombredehostounconjuntodeordenadoresquecumplenconuna direccinymscaradered. Porlotanto,siqueremosanalizarelequipolocalsepondrlocalhost.Encambio, sidecidimosatacarelequipovctimasernecesarioindicarlaIP 192.168.100.22. En el caso de querer atacar ambos equipos al mismo tiempo, se indicarn separadospor,. Porejemplo,vamosacomenzaranalizandonuestroequipolocal.Hayquerecordar que dicho equipo recibir las diferentes pruebas desde la mquina donde se encuentrainstaladoelservidor,noelcliente.Porlotanto:

CursoExtensinUniversitariaFerramentasdeSeguridadeenGNU/LinuxParteprcticaOpenVas

Elltimopasoconsisteenejecutarlosataquessobrelamquinaencuestin.

4.2.Conexin al equipo servidor


Antesderealizarlosataques,esnecesarioconectarsealequiposervidorenelque corre el demonio de OpenVas. Para ello se va a tener que crear una conexin dnde se indicarn los datos del equipo enel que se encuentre elservidor (en nuestro caso, localhost), as como el login y la contrasea indicados en el momentodelainstalacin.ParaellosepulsalapestaaConectaryaparecer lasiguienteventana:

CursoExtensinUniversitariaFerramentasdeSeguridadeenGNU/LinuxParteprcticaOpenVas

UnavezpulsadoelOK,elsistemainicialaconexindescargandolasactualizaciones detodoslosplugins.

4.3.Escaneo
Elsistemaabreotraventanadondemuestrasuavance.Enlsepuedever,porun lado, el anlisis de los puertos, y por el otro, el avance que realiza a nivel de ataques.

CursoExtensinUniversitariaFerramentasdeSeguridadeenGNU/LinuxParteprcticaOpenVas Cuandofinaliza,secierralaventana,dejandovisibleenlaparteinferiorelinforme queseobtuvodespusdelaejecucin.

Siquisiramosguardar elresultadodelescaneoendiversosformatos,esnecesario hacer: Informe Exportar

Todoslosdatosobtenidos,juntoconalgunasestadsticassepuedenalmacenaren discoenlossiguientesformatos NBEInformeenformatoOpenVas HTMLFormatovisualizableporunnavegadorWeb HTML con tartas y grficos (Genera un HTML, pero aade diversos grficos sobrelasituacindelared,anlisisdelhostmsvulnerable,etc.) VamosaguardarloconformatoHTMLconelnombreprueba_informe.htmlen eldirectorio/root. Acontinuacin,cogemosabrimosunaconsolayabrimosunnavegadorWebpara podervisualizardichoinforme. firefox prueba_informe.html/ & Elnavegadorseabrirysevisualizaruninformedeesteestilo:

CursoExtensinUniversitariaFerramentasdeSeguridadeenGNU/LinuxParteprcticaOpenVas

EJERCICIO 3: DESCRIPCIN
El tercer ejercicio consistir en escribir nuestro propio script con NASL (Nessus Attack Scripting Language).PoseeunasintaxissimilaraladeC.

CONFIGURACIN DEL EJERCICIO


Antes de comenzar, es necesario conocer que un Script NASL, habitualmente se encuentra divididoendossecciones.

LaprimerahacereferenciaalScriptDescription,precisamentedebidoaqueallsedefine elcdigoqueserutilizadoporelmotorOpenVas.Aspectostalescomolaidentificacin del script, el nombre del plugin creado, dependencias y cualquier otra informacin respectodelarazndeserdelmismo,serreferenciadaenestesitio. Lasegundaesllamada ScriptBody yenellasealbergalaporcindecdigoquese ejecutar como parte del testeo de la vulnerabilidad propiamente dicho, es decir la accinconcretaaejecutar.

Para el ejemplo, hemos decidido escribir un pequeo script que tenga como nica funcin conectarconunservicioFTPalpuerto21,ycomprobarqueelusuariodeadministradornoest vaco.Unavezpuestoafuncionar,estepluginnospermitirrevisarnuestraredinterna,aefectos deevaluarlosFTPsinternosinstalados.

1.Crear el script
Enprimerlugar,necesitaremosarrancardesdelaconsolaeleditorLeafPadyescribiremos nuestroscriptNASLdeejemplo,elcualguardaremosconelnombremytest.nasl: EnlasX'ssiledamosalbotnderechovemosunmenconvariasopciones.Abrimosun ditorgrfico: Aplicaciones -> Accesorios -> LeafPad yescribimos: 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); }

CursoExtensinUniversitariaFerramentasdeSeguridadeenGNU/LinuxParteprcticaOpenVas

# # 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); } } Ennuestroejemplo,sepuedeobservarladivisindeseccionesalacualnos referamos anteriormente.Lasprimeras lneashacenusodelassentenciasde tiposcript_xxxxx mediante las cuales especificamos todaaquella informacin que permitir identificar a nuestroscriptentrelospluginsdeOpenVas.Masadelantecomienzalaaccin... Unavezescritoseguardadndoleelnombredescritoanteriormente,ysalimosdeleditor.

2.Funcionamiento del script


Ahora que hemos escrito nuestro primer Plugin, vamos a probarlo contra la vctima. El prximopasoesagregardichochequeoalrestodelospluginsexistentesenOpenVas,para locualdebemoscopiarelscriptalrepositoriodepluginsdeOpenVaspordefecto: cp mytest.nasl /var/lib/openvas/plugins/ Unavezhechoesto,debemosrecargarlalistadepluginsydespusreiniciarelservidorde OpenVas para que el plugin sea reconocido y se encuentre disponible a travs de la interfazcliente.Portantocerraremoselclienteyharemos: openvasd -q ps aux | grep openvas kill -9 id Lanuevapruebadeseguridadconstruidayaformapartedelgrupo FTP(Talcomose definimediantelasentenciascript_family)yseencuentraaptaparaserutilizadacomo cualquieradelospluginsestndarincluidosenOpenVas. localizareliddelprocesoopenvasd

CursoExtensinUniversitariaFerramentasdeSeguridadeenGNU/LinuxParteprcticaOpenVas

EJERCICIO 4: DESCRIPCIN
EsteejercicioconsistirenlainstalacindelaherramientaNessusylacreacindeunusuario.Hay queindicarqueparasucorrectofuncionamiento,Nessusnecesitaelnmapparahacerelescaneo depuertosporloquelotendremosquetenerloinstaladoascomolalibreraGTKparalacreacin deinterfacesgrficas.

CONFIGURACIN DEL EJERCICIO


Elalumnodebesituarseensudirectoriodelamquinallamadaopenvas.Enlexisteunacarpeta llamadanessus.Apartirdeellavamosaprocederainstalarlo.Paraello,esnecesarioseguirlos siguientespasos:

1.Instalar Nessus
LoprimeroquehabraquehaceresdescargarseelficheroNessus-4.2.2debian5_i386.deb,y hacer: dpkg -i Nessus-4.2.2-debian5_i386.deb

Ennuestrocasolosfichero.debseencuentranenlacarpeta~/nessus/,porloquenoes necesariorealizarestepaso. ConestainstalacinyatendremosinstaladoelservidordeNessus.Envezdeinstalarun cliente,nosconectaremosauninterfazwebparaanalizaryescanear.

2.Creacin de un usuario para Nessus


UnavezinstaladoNessus,necesitaremoscrearunusuariovlidoparausarlaherramienta. /opt/nessus/sbin/nessus-adduser Vamosausarlaautenticacinatravsdecontrasea.Seindicarunlogincurso10yuna contraseacurso10.

CursoExtensinUniversitariaFerramentasdeSeguridadeenGNU/LinuxParteprcticaOpenVas

3.Arrancar el servidor de Nessus en el local


Antesdearrancarelservidor,esconvenienteactualizarlabasededatosdepluginsde nuestrainstalacin.Paraello esnecesario registrarlaherramientaparapoderactivarla descargadeplugins.Ennuestrocaso,laherramientayaestregistrada,perovamosaver cualessonlasformasdehacerlo.

3.1.Registrar Nessus

Para poder utilizar la herramienta, es necesario registrar previamente el escner de Nessus en la pgina http://www.nessus.org/plugins/index.php? view=registerinfo,concretamentelaversinHomeFeed.

Acontinuacinaceptamoslostrminos.

CursoExtensinUniversitariaFerramentasdeSeguridadeenGNU/LinuxParteprcticaOpenVas

Insertamosnuestrocorreoelectrnicoylocomprobamos.Nosencontramos unodeNessus Plugin Feed sobreelregistro.Deberadeseralgoas: Your activation code for the Nessus HomeFeed is <Activation Code>

Apartirdeaquesnecesariotenerencuentadosfactoresparaseguir: 1.ConsiderandoqueNessustieneaccesoainternet:

Conestecdigodeactivacinsehace: Linux:/opt/nessus/bin/nessus-fetch -register <Activation Code>

Unavezregistrado,Nessusactualizarlospluginscada24horas.Sise deseacambiaresosparmetros,esnecesarioeditarelfichero/opt/ nessus/etc/nessus/nessusd.confyponerelparmetro auto_updateano Ponemosenmarchanessusyescribimoselsiguientecomando: Linux:/opt/nessus/bin/nessus-fetch -challenge Estoproducirunacadenallamadachallengequeseparecer a:569ccd9ac72ab3a62a3115a945ef8e710c0d73b8

2.ConsiderandoqueNessusnotieneaccesoainternetdirectamente:

Enotramquinaconaccesoainternet,seaccedealapgina: http://plugins.nessus.org/offline.phpyseinsertantantoelcdigo generadopreviamentecomoelcdigodeactivacin.

Enestecaso,comoestamostrabajandoconimgenesytenemosaccesoal exterior,esdeciraInternet,hacemos: /opt/nessus/bin/nessus-fetch -register <Activation Code> Estogeneraunficherollamadonessus-fetch.rceneldirectorio /opt/nessus/etc/nessus/.

3.2.Actualizar los plugins


Simplementeesnecesariorealizarestaaccin: /opt/nessus/sbin/nessus-update-plugins

CursoExtensinUniversitariaFerramentasdeSeguridadeenGNU/LinuxParteprcticaOpenVas

Elresultadoeselsiguiente:

3.3.Lanzar el servidor de Nessus


Losiguientequedebemosponerenmarchaeseldemonionessusd,arrancndolo desdeunadelasconsolas. /opt/nessus/sbin/nessus-service -D

stetardaunpoco,yaquerealizalacargadelosplugins.

4.Arrancar el cliente de Nessus


Cuandoseestejecutandoeldemonionessusd(escuchapeticionesenelpuerto8834 pordefecto)podemosconectaralmedianteelclientenessus.Comoyahemosdicho, steesuninterfazwebaccesibledesdelapgina:https://localhost:8834/

Entramos entonces enuncmodointerfaz grfico, enelquetenemos queintroducirel usuarioycontraseacreadospreviamente,esdecir,curso10.

CursoExtensinUniversitariaFerramentasdeSeguridadeenGNU/LinuxParteprcticaOpenVas

5.Indicar el equipo a analizar


Unavezelusuariohaabiertoelinterfazweb,elmismotienequeindicarlealservidorqu ataquesascomolaspolticasquedebellevaracabo.ascomolaspolticasdeseguridad. Paraello,necesita conocerlasdireccionesIPdelas mquinasaanalizar. Esdecir,puede indicarleaNessussisedeseaescanearunconjuntodecomputadoresquecumplancon unadireccinderedymscaradereddeterminadas,obiensepuedeindicarladireccin IPexactadelavctima.Lomismosucedeconeltipodeataquequequiererealizar. Porlotantocomenzaremosestableciendolaspolticasdeseguridad:

IraPolicies

PulsarAdd.EnGeneraldarunnombrealapoltica,comoporejemploPrueba.

PulsarNext.Seseleccionanlospluginsdeseadosysedeshabilitanlosqueno. AhorairalapestaadeScans.Asignarunnombrealescaneocomoporejemplo ScanPrueba.Seleccionarlapolticaquesevaausareindicarlosequiposquese quierenanalizar.

CursoExtensinUniversitariaFerramentasdeSeguridadeenGNU/LinuxParteprcticaOpenVas

6.Ver el informe

Unavezacabadodeescanearelequipo,accedemosalapestaaReport. Seleccionamos el informe que queremos ver y pulsamos sobre Donwload. En ese momentoseleccionamosenqueformatoqueremosverlo.Ennuestrocasooptamospor HTML.

AhorairalapestaadeScans.Asignarunnombrealescaneocomoporejemplo ScanPrueba.Seleccionarlapolticaquesevaausareindicarlosequiposquese quierenanalizar.

Esteesunejemplodeunodelosbugsdeseguridadexplicadoendetalle.Proporciona informacin acerca del problema, los posibles riesgos, as como de la solucin a adoptar.

CursoExtensinUniversitariaFerramentasdeSeguridadeenGNU/LinuxParteprcticaOpenVas

EJERCICIO 5: DESCRIPCIN
El quinto ejercicio consistir en escribir nuestro propio script con NASL (Nessus Attack Scripting Language).PoseeunasintaxissimilaraladeC.

CONFIGURACIN DEL EJERCICIO


Paraelejemplo,vamosausarelmismoscriptqueenelejercicio3,porloquehabrquerealizarel primerpaso.

1.Crear el script
Enprimerlugar,necesitaremosarrancardesdelaconsolaeleditorLeafPadyescribiremos nuestroscriptNASLdeejemplo,elcualguardaremosconelnombremytest.nasl: EnlasX'ssiledamosalbotnderechovemosunmenconvariasopciones.Abrimosun ditorgrfico: Aplicaciones -> Accesorios -> LeafPad yescribimos: 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); } }

CursoExtensinUniversitariaFerramentasdeSeguridadeenGNU/LinuxParteprcticaOpenVas

Unavezescritoseguardadndoleelnombredescritoanteriormente,ysalimosdeleditor.

2.Comprobar el funcionamiento del script


AhoraquehemosescritonuestroprimerPlugin,vamosaprobarlocontralavctima.Atal efecto y puesto que Nessus nos provee como parte de su instalacin estndar, de un potente intrprete de lnea de comandos, mediante la cual podemos ejecutar nuestro NASLdeformagilysencilla,lanzaremoselsiguientecomandodesdenuestracarpeta: /opt/nessus/bin/nasl -W -T /tmp/log.txt -t 192.168.100.11 mytest.nasl Como vers,elpluginsehacomportado delmodoesperado,haciendo exactamente aquelloqueestabaprevisto,consultarsilacuentadeadministradordewindowsdeFTP tienelacontraseavacaeinformarnosdelresultado. ElprximopasoesagregardichochequeoalrestodelospluginsexistentesenNessus,para locualdebemoscopiarelscriptalrepositoriodepluginsdeNessuspordefecto: cp mytest.nasl /opt/nessus/lib/nessus/plugins/ Unavezhechoesto,debemosrecargarlalistadepluginsydespusreiniciarelservidorde Nessusparaqueelpluginseareconocidoyseencuentredisponibleatravsdelainterfaz webcliente.Portantocerraremoselclienteyharemos: /opt/nesssus/sbin/nessusd -R killall -HUP nessus-service Lanuevapruebadeseguridadconstruidayaformapartedelgrupo FTP(Talcomose definimediantelasentenciascript_family)yseencuentraaptaparaserutilizadacomo cualquieradelospluginsestndarincluidosenNessus.

Vous aimerez peut-être aussi