ArtigosOffensive

Metasploit Framework de cabo a rabo – Parte 4

Fala galera! No post de hoje, dando continuidade a série Metasploit, iremos falar um pouco sobre alguns comandos de manipulação dos módulos do msfconsole e explorar algumas vulnerabilidades utilizando diferentes módulos do Metasploit. Iremos explorar diferentes tipos de vulnerabilidades e sistemas.

Caso você ainda não tenha visto os outros posts da série Metasploit, recomendo fortemente a leitura antes de continuar aqui. Já falei um pouco sobre a história do Metasploit, terminologias, interfaces, arquitetura, utilitários, integração com banco de dados, scanner de rede, utilização de módulos para MSSQL e SNMP, scanners de vulnerabilidade, Metasploit Community e muito mais. Para checar acesse:

Msfconsole Commands

O Metasploit Framework contém centenas de módulos e é quase impossível lembrar de todos eles. Você pode executar o comando “show” a partir do msfconsole para exibir todos os módulos disponíveis no Framework, mas você também tem a opção de restringir sua pesquisa exibindo apenas tipos específicos de módulos.

msf> show exploits
No msfconsole, as explorações visam explorar as vulnerabilidades que você descobriu durante o pentest. No entando novos exploits sempre são desenvolvidos e a lista sempre irá crescer. O comando “show exploits” exibe todos os exploits disponíveis no Framework.

msf> show auxiliary
Módulos auxiliares no Metasploit podem ser usados para uma ampla gama de propósitos. Eles podem operar como scanners, módulos de DoS, fuzzers e muito mais. Este comando irá exibir e listar de todos os módulos auxiliares existentes no Framework.

msf> show payloads
Quando você executa o comando “show payloads” depois que um módulo é selecionado, o Metasploit exibirá apenas os payloads compatíveis com aquele módulo específico. Quando você executa o comando “show payloads” sem nenhum módulo carregado, o Metasploit irá exibir a lista de todos os payloads existentes no Framework.

msf> info
Quando a descrição resumida de um módulo fornecida pelos comandos “show” e “search” não for suficiente, use o comando “info” seguido do nome do módulo para exibir todas as informações, opções e destinos disponíveis para esse módulo.

msf> search
O msfconsole inclui uma extensa funcionalidade de pesquisa baseada em expressão regular. Se você tiver uma ideia geral do que está procurando, poderá pesquisá-la utilizando o comando “search”.

msf> use
Quando você souber qual módulo utilizar basta usar o comando “use” para selecioná-lo. O comando use altera o contexto para o módulo selecionado, permitindo com isso interagir com as opções disponíveis.

msf> back
Uma vez que você tenha terminado de usar um módulo em particular ou se você inadvertidamente selecionou o módulo errado, você pode usar o comando “back” para sair do contexto atual. Isso, no entanto, não é necessário. Você pode usar pesquisar e selecionar outros módulos sem precisar sair do módulo atual.

msf> show options
As opções dos módulos controlam várias configurações necessárias para a sua funcionalidade adequada. Quando você executa o comando “show options” depois que um módulo é selecionado, o Metasploit exibirá apenas as opções que se aplicam a esse módulo específico. Executar o comando “show options” quando nenhum módulo estiver selecionado irá resultar na exebição das opções globais disponíveis.

msf> show targets
Os módulos geralmente listam alvos vulneráveis em potencial. Por exemplo, o módulo “ms17_010_eternalblue” tem como alvo apenas os sistemas Windows 7 e Server 2008 R2, enquanto outros módulos, como o caso do “ms08_067_netapi”, tem uma lista de dezenas de sistemas e versões. O sucesso da exploração dependerá da versão do Windows que você está atacando. Às vezes, a detecção automática não funciona e pode até mesmo provocar a exploração inadequada, o que geralmente leva a uma falha de serviço/sistema.

msf> set / unset
Todas as opções para um determinado módulo do Metasploit devem ser definidas, especialmente se marcadas como necessárias na coluna required. O comando “set” serve definir uma opção, enquanto o comando “unset” serve para remover os dados informados para uma opção específica.

msf> check
Esse comando é bem interessante pois ele verifica se um alvo é vulnerável a um determinado exploit em vez de realmente explorá-lo. Assim você pode fazer um doble check com o relatório do scanner de vulnerabilidade por exemplo.

msf > exploit
O comando “exploit” ou “run” serve para executar um módulo em particular depois que o mesmo foi devidademente selecionado e configurado.

msf> sessions
O comando “sessions” permite listar, interagir e encerrar sessões geradas. As sessões podem ser shells, sessões Meterpreter, VNC, etc. Para listar qualquer sessão ativa basta utilizar a opção “-l”. Para interagir com uma determinada sessão basta usar a opção “-i” seguida do número de identificação da sessão.

Explorando alguns alvos

Bem, agora que já aprendemos bastante coisa sobre o Metasploit (terminologias, interfaces, arquitetura, utilitários, trabalhar com banco de dados, scanners de rede e vulnerabilidade, versões do Framework e até já utilizamos alguns módulos para exemplificar explorações) iremos fazer algumas explorações. Eu vou tomar como ponto de partida aqui tudo o que nos já fizemos até agora, especialmente o relatório do scanner de vulnerabilidade que importamos, nele já existe uma série de vulnerabibilidades que podemos explorar.

A primeira delas é a vulnerabilidade MS15-034, uma vulnerabilidade que permite a execução de código remotamente e causa um DoD no sistema alvo, para saber mais sobre essa vulnerabilidade acesse o boletim de segurança da Microsoft. Como eu mostrei no post anterior, através da interface web do Metasploit Community nos já temos os módulos exatos que podemos usar, por isso não vou precisar ficar pesquisando o módulo.

Como podemos ver o host alvo é vulnerável, agora basta executar o comando “exploit” para causar um DoS no nosso alvo, a execução desse módulo irá fazer que o nosso alvo crash e reinicie. Então tenha cuidado ao explorar esse tipo de vulnerabilidade em um pentest, esse tipo de exploração sempre tem que estar previsto no escopo do contrato para não causar prejuízo para o cliente.

A próxima vulnerabilidade que iremos explorar é uma backdoor existente na versão 3.2.8.1 de um serviço IRC, para saber mais sobre a vulnerabilidade acesse a página do CVE correspondente. O módulo que iremos utilizar para explorar essa vulnerabilidade é o “unix/irc/unreal_ircd_3281_backdoor”.

Agora iremos explorar uma vulnerabilidade de execução de código remoto na versão 3.0.20 do Samba, para saber mais sobre a vulnerabilidade acesse a página do CVE correspondente. O módulo que iremos utilizar para explorar essa vulnerabilidade é o “exploit/multi/samba/usermap_script”.

Por último iremos explorar uma instância MSSQL, o módulo que iremos utilizar é o “windows/mssql/mssql_payload”, ele executa um payload arbitrário no MSSQL Server usando o procedimento “xp_cmdshell”. A senha da foi descoberta no processo de footprinting, caso você não se lembre veja ou outros posts da série.

Bem pessoal é isso ai, espero que tenham curtido. No próximo post da série iremos aprender mais sobre o meterpreter, seus principais  comandos de manipulação, além de técnicas de pivot e utilização do módulo mimikatz. Não preciso dizer que esse post tem fins educacionais apenas, não utilize esse conhecimento para fins maliciosos. Não esqueçam de curtir nossas páginas nas redes sociais, FacebookG+ e seguir o Guia do Ti no Twitter. Compartilhem e comentem esse artigo, isso é muito importante para divulgação do nosso trabalho.

Referências
Book: Metasploit - The Penetration Tester's Guide
https://metasploit.help.rapid7.com/docs
https://www.offensive-security.com/metasploit-unleashed/
https://en.wikipedia.org/wiki/Type-length-value
https://docs.microsoft.com/en-us/security-updates/securitybulletins/2015/ms15-034
https://www.cvedetails.com/cve/CVE-2010-2075/
https://www.cvedetails.com/cve/CVE-2007-2447/
Ricardo Galossi
Siga me
Últimos posts por Ricardo Galossi (exibir todos)

Ricardo Galossi

É um apaixonado por segurança da informação, atua profissionalmente há mais de 7 anos na área de tecnologia da informação, onde é focado em análise de vulnerabilidades e testes de invasão. Criou o blog Guia do TI para compartilhar conhecimento, ajudar os mais novos, incentivar debates e manter a comunidade atualizada com as principais notícias da área de TI.

Deixe seu comentário