Académique Documents
Professionnel Documents
Culture Documents
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.
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 ..
CursoExtensinUniversitariaFerramentasdeSeguridadeenGNU/LinuxParteprcticaOpenVas
CursoExtensinUniversitariaFerramentasdeSeguridadeenGNU/LinuxParteprcticaOpenVas
EJERCICIO 2: DESCRIPCIN
Elsegundoejercicioconsistirenescanearlasvulnerabilidadesdedosequipos.Porunlado,el equipolocalolocalhost(OpenVas)yporelotrounequipoqueseencuentraennuestrared, es decirlavctima.
CursoExtensinUniversitariaFerramentasdeSeguridadeenGNU/LinuxParteprcticaOpenVas Entramosentoncesenuncmodointerfazgrfico.
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.
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.
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.
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.
CursoExtensinUniversitariaFerramentasdeSeguridadeenGNU/LinuxParteprcticaOpenVas
EJERCICIO 4: DESCRIPCIN
EsteejercicioconsistirenlainstalacindelaherramientaNessusylacreacindeunusuario.Hay queindicarqueparasucorrectofuncionamiento,Nessusnecesitaelnmapparahacerelescaneo depuertosporloquelotendremosquetenerloinstaladoascomolalibreraGTKparalacreacin deinterfacesgrficas.
1.Instalar Nessus
LoprimeroquehabraquehaceresdescargarseelficheroNessus-4.2.2debian5_i386.deb,y hacer: dpkg -i Nessus-4.2.2-debian5_i386.deb
CursoExtensinUniversitariaFerramentasdeSeguridadeenGNU/LinuxParteprcticaOpenVas
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:
2.ConsiderandoqueNessusnotieneaccesoainternetdirectamente:
CursoExtensinUniversitariaFerramentasdeSeguridadeenGNU/LinuxParteprcticaOpenVas
Elresultadoeselsiguiente:
stetardaunpoco,yaquerealizalacargadelosplugins.
CursoExtensinUniversitariaFerramentasdeSeguridadeenGNU/LinuxParteprcticaOpenVas
IraPolicies
PulsarAdd.EnGeneraldarunnombrealapoltica,comoporejemploPrueba.
CursoExtensinUniversitariaFerramentasdeSeguridadeenGNU/LinuxParteprcticaOpenVas
6.Ver el informe
Unavezacabadodeescanearelequipo,accedemosalapestaaReport. Seleccionamos el informe que queremos ver y pulsamos sobre Donwload. En ese momentoseleccionamosenqueformatoqueremosverlo.Ennuestrocasooptamospor HTML.
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.
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.