Entre todas as etapas de um teste de invasão, a fase de reconhecimento (reconnaissance) é a base para todas as posteriores, pois é onde realizamos a coleta de informações e estimamos a quantidade de trabalho a ser feito.
Do ponto de vista do planejamento, quanto mais informação obtivermos de nosso alvo, maior a chance de encontrarmos pontos vulneráveis. Por isso, ela é essencial para se ter uma exploração bem-sucedida.
Para isso, utilizamos ferramentas de reconhecimento que nos auxiliam a descobrir rapidamente a superfície de ataque de uma organização, informações públicas sobre o alvo, procurar vulnerabilidades e encontrar os alvos mais promissores.
Neste artigo, conheceremos a ferramenta OSINT Operative Framework. Porém, antes é essencial entender o que é o Open Source Intelligence (OSINT) e como ele nos auxilia durante a fase de reconhecimento.
O que é OSINT?
O Open Source Intelligence (OSINT) refere-se a uma coleção de fontes de dados públicos que podem ser usados em um contexto de inteligência, e que esse tipo de informação é muitas vezes ignorada pelas ferramentas de pesquisa de rastreamento de links, como o Google.
Operative Framework
O Operative Framework possui duas versões: simples e a HD. Pela facilidade dos requerimentos, ao longo deste post, utilizaremos a versão simples. Esta ferramenta de inteligência de código aberto (OSINT) baseada em Python, é utilizada para coletar informações públicas sobre sites, empresas e pessoas. Ela é capaz de realizar buscas por funcionários de uma organização, perfis do Linkedin, e-mails, subdomínios, informações do Whois, dentre outras.
1º Passo – Instalação
Um das vantagens desta ferramenta é que ela é baseada em python, isso permite que ela seja executada em vários ambientes, como MacOS, Windows ou Linux, bastando ter o python instalado no sistema.
Obs: antes de executar o passo a seguir, verifique que o seu ambiente possui o python e pip instalados. O sistema operacional usado ao longo deste post é o Kali Linux 2019.1 e a versão 2.7 do python.
Caso você não possua python instalado em seu ambiente, acesse este link para realizar o download do instalador. Para instalar o pip, acesse este outro link.
Para obter o Operative Framework, você deve seguir a sequência de comandos abaixo. Ela fará com que, clone o diretório Git no diretório corrente do seu ambiente. Após isso, você irá mudar para o diretório do framework e instalar os requerimentos necessários para que ele funcione. Por fim, irá executá-lo.
#git clone https://github.com/graniet/operative-framework.git
#cd operative-framework
#pip install --upgrade pip
#pip install -r requirements.txt
2º Passo – Menu de navegação
Para iniciar o Operative, utilizando o seguinte comando no terminal python operative.py .
#python operative.py
Após a ferramenta ter sido iniciada, podemos verificar que sua navegação é muito parecida com o Metasploit. Para acessar as opções do menu inicial, basta inserir o comando a seguir:
$operative > help
A fim de visualizar todos os módulos disponíveis, vamos usar o comando modules.
$operative > modules
3º Passo – Realizando buscas
Nesta etapa, utilizaremos o módulo whois_domain para realizarmos uma busca de informação sobre domínio. Para isto, devemos selecionar o módulo whois_domain, por meio do seguinte comando:
$operative > use whois_domain
OBS: em alguns casos, a ferramenta pode retornar uma mensagem de erro ao usar esse módulo, para fim de evitar este erro, recomendamos a instalação deste pacote em python: python-whois
Antes de executarmos o módulo selecionado, devemos preencher os parâmetros requeridos para o seu funcionamento.
$operative > show options
Através do comando set, iremos passar o desejado site para o parâmetro website.
$operative > set website=clavis.com.br
Após isso, podemos executar o módulo por meio do comando run.
$operative > run
Agora que obtemos o proprietário do domínio, podemos executar uma busca pelos colaboradores em redes sociais, como o LinkedIn. Para isso, primeiro utilizaremos o comando Ctrl+C para sair do módulo atual, depois utilizaremos o módulo linkedin_search.
Antes de executarmos o módulo selecionado, devemos preencher os parâmetros requeridos para o seu funcionamento.
$operative > show options
Novamente, através do comando set, iremos passar o desejado para o parâmetro limit_search (número de resultados) e enterprise.
$operative > set limit_search=3
$operative > set enterprise=Clavis Seguranca da Informacao
Depois disso, podemos executar o módulo por meio do comando run.
$operative > run
Podemos ver que é uma ferramenta poderosa e útil para ajudá-lo a reunir pistas para preencher partes de uma investigação.
Ao longo desse post, abordamos vários recursos do Operative Framework que nos permite coletar localizações, e-mails de colaboradores, redes sociais e outras as informações públicas de um alvo durante um teste de invasão.