OSINT: Coletando dados pessoais com o Datasploit
OSINT: Coletando dados pessoais com o Datasploit
- 14 de outubro de 2017
- O Analista
- 1
Nunca foi tão fácil encontrar dados pessoais na Internet como nos dias de hoje. Talvez isso se deva ao fato de as pessoas disponibilizarem abertamente suas informações em várias redes sociais e outros serviços online, facilitando a vida de quem está em busca de algo sobre alguém.
1 – OSINT
É aí que entra o uso do OSINT, que quer dizer Open Source Intelligente ou Inteligência de Fontes Abertas. Fazendo uso das mais variadas ferramentas e serviços, com o OSINT é possível obter informações de usuários e empresas à partir do Google, bem como de outros serviços online.
Pode parecer uma coisa óbvia (e realmente é), mas por exemplo, utilizando as ferramentas corretas, é possível explorar o poder do motor de busca do Google e ir mais fundo na toca do coelho, encontrando muito mais do que o simples digitar de uma palavra naquele campo de busca.
Quando digo fontes públicas ou abertas, significa que as informações estão disponíveis nestes serviços de forma pública porque seus proprietários assim permitiram (ou não…). Estes proprietários podem ser os donos de determinado serviço, mas também podem ser os usuários, que teoricamente são donos de suas informações pessoais que estão ali armazenadas. Mas aí entraríamos em uma outra discussão sobre sigilo, etc, etc.
Por exemplo, muitos usuários (a maioria até) que possuem uma conta no LinkedIn não sabem que, utilizando determinada ferramenta, é possível obter informações sobre outros usuários que estão cadastrados no serviço. Informações estas que incluem nome completo, e-mail, empresa atual, cargo, etc. Só para exemplificar.
2 – DATASPLOIT
Escrito em Python, o Datasploit é composto por várias ferramentas que possuem a função de correlacionar dados brutos de várias fontes, reunindo em um só lugar informações relevantes sobre um domínio, e-mail, número de telefone, nome de uma pessoa e muito mais.
Modos de acesso
As ferramentas podem ser utilizadas via prompt de comando, que é quando você digita manualmente os comandos, ou via navegador, informando somente o que quer buscar. A tecnologia por trás do acesso via navegador é provida por um framework desenvolvido em Django.
2.1 – Configuração utilizada nos testes
Foi criado um cenário típico cliente x servidor. No lado do cliente, que inclusive é a distribuição Linux base que utilizo no meu note, foi utilizado o Linux Mint 18.2 (Sonya). Já no lado do servidor, como máquina virtual no VirtualBox, utilizei o CentOS Linux release 7.2.1511 (Core), sem interface gráfica.
2.2 – Características
- Através de técnicas de OSINT, realiza uma pesquisa sobre domínios, e-mails, nomes de usuário, telefone e outras informações a partir de diferentes fontes;
- Correlaciona os resultados, mostrando-os de forma consolidada;
- Utiliza chaves de api (API Keys) fornecida por diversos serviços para realizar as buscas;
- Realiza scans (varreduras) nos dados coletados;
- Gera relatórios nos formatos quando acessado via:
- Prompt de comando: HTML e JSON;
- Interface web (navegador): CSV, XLS, XLSX, TSV, ODS, JSON, YAML e HTML.
Indo para o lado negro da força, quando um ataque está na fase de planejamento, uma das primeiras coisas a serem feitas nesta etapa é a coleta de informações. Com esta ferramenta, você terá aquele gás na hora procurar por informações sobre uma pessoa ou empresa.
2.3 – Requisitos
Python 2.7
Esta versão do Python é necessária, pois as dependências do Datasploit não são suportadas pelo Python 3.0. Será necessário instalar também o gerenciador de pacotes pip.
Para instalar no Ubuntu, Debian, Mint e similares, digite os comandos abaixo:
1
2
3
4
|
$ sudo apt-get install python2.7
$ sudo apt-get install python-pip
|
Par instalar no Fedora, CentOS e outras distros que utilizam pacotes rpm, digite:
1
2
3
4
|
$ sudo yum install python27
$ sudo yum install python-pip
|
Bibliotecas do Python
1
2
3
|
$ pip install -r requirements.txt
|
Obs: Por enquanto não execute este comando, ele será melhor explicado mais adiante, pois existem alguns comandos que precisam ser digitados antes dele, pois são da fase de instalação do Datasploit.
2.4 – Download
Agora iremos realizar o download do Datasploit, ou no termo mais correto, clonar os arquivos do repositório do Datasploit. Digite o comando abaixo em seu terminal:
1
2
3
|
$ git clone https://github.com/anandtiwarics/datasploit
|
2.5 – Preparando o ambiente
Acesse o diretório recém-criado no passo anterior com o comando:
1
2
3
|
cd datasploit
|
Estando dentro dele, digite o comando abaixo para instalar as dependências:
1
2
3
4
|
$ pip install -r requirements.txt
|
Digite também os comandos que são relacionados às operações do banco de dados interno do framework Django:
1
2
3
4
5
|
$ python manage.py collectstatic
$ python manage.py makemigrations
$ python manage.py migrate
|
Crie um super usuário para o framework, que será solicitado no momento em que quiser exportar os resultados de uma busca para alguns dos formatos citados anteriormente, quando acessado via navegador:
1
2
3
|
python manage.py createsuperuser
|
Gerar Chaves de API (API Keys)
O arquivo config.py é a espinha dorsal do Datasploit, pois ele possui todas as chaves de API utilizadas para autenticação nos serviços que fornecerão as informações consultadas. O seu conteúdo é similar ao mostrado abaixo:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
#Store all your config's here.
#added to gitignore so will not be syned
#Backup in ~/Desktop/config.py_backup
shodan_api=""
bing_api=""
github_access_token=""
builtwith_api=""
censysio_id=""
censysio_secret=""
facebook_access_token = ""
flickr_api=""
google_api=""
google_cse_key=""
google_cse_cx = ""
hashes_api=""
ipinfodb_api=""
jigsaw_api=""
jigsaw_password=""
jigsaw_username=""
linkedin_api=""
linkedin_secret=""
pwnedlist_api=""
pwnedlist_iv=""
pwnedlist_secret=""
spyonweb_access_token = ""
twitter_consumer_key=""
twitter_consumer_secret=""
twitter_access_token = ""
twiter_access_token_secret = ""
zoomeyeuser = ""
zoomeyepass = ""
clearbit_apikey = ""
emailhunter=""
jsonwhois=""
instagram_token = ""
instagram_client_id = ""
instagram_client_secret = ""
fullcontact_api = ""
mailboxlayer_api = ""
virustotal_public_api =""
|
Não focaremos em procedimentos de como gerar estas chaves, pois o post ficaria muito extenso. No link abaixo você poderá conferir o passo a passo de como gerar a chave de API em cada serviço:
Priorizando a utilização das chaves
Caso não queira utiizar as chaves de determinado serviço e também para evitar possíveis erros relacionados à ausência delas, acesse o arquivo .py do serviço que desejar cancelar (ele pode estar em um dos três diretórios: domain, emails ou IP).
Digamos que eu queira que o Datasploit não utilize as credenciais da ferramenta ZoomEye em sua próxima varredura, para isso faríamos:
1
2
3
4
|
$ cd datasploit/domains
$ sudo vim /home/oanalista/datasploit/domain_zoomeye.py
|
Em seguida alteraríamos o parâmetro de True para False:
1
2
3
|
ENABLED = True
|
Para
1
2
3
|
ENABLED = False
|
Lembre-se de alterar o caminho acima para o local onde clonou o repositório.
2.6 – Utilizando o Datasploit pela linha de comando
Como foi dito anteriormente, o Datasploit é composto por várias ferramentas. Uma delas é o script DomainOsint.py, que reúne várias ferramentas que possuem a função de obter as mais variadas informações sobre domínios.
Por exemplo, caso queira obter maiores informações sobre o dominio da nsa.gov (Agência de Segurança Nacional dos EUA), acesse o terminal de seu Linux e digite o comando:
1
2
3
|
$ python domainOsint.py nsa.gov
|
Veja no vídeo um exemplo mostrando a execução deste comando:
2.7 – Acessando o Datasploit pelo navegador
Para que o acesso via navegador seja realizado com sucesso, alguns passos são necessários:
Hosts autorizados
Caso queira que outras pessoas acessem o Datasploit em seu computador (ou em uma máquina virtual) pelo navegador à partir de seus computadores, será necessário incluir no arquivo de configuração settings.py, campo ALLOWED_HOSTS, o endereço IP do computador/VM onde o Datasploit está em funcionamento. É por meio dele que o usuário acessará o Datasploit.
1
2
3
|
ALLOWED_HOSTS = ['ENDEREÇO_IP']
|
Caso a instalação do Datasploit tenha ocorrido na sua própria máquina, sem que outros outros usuários tenham acesso à ferramenta, então deixe o campo abaixo como está:
1
2
3
|
ALLOWED_HOSTS = ['']
|
Executando o Dataspoit
No caso de outros usuários terem acesso, execute da seguinte maneira, conforme o seu cenário:
1
2
3
|
$ python manage.py runserver IP:8000
|
Ou caso somente você tenha acesso:
1
2
3
|
$ sudo python manage.py runserver localhost:8000
|
Aparecerá uma mensagem parecida com esta:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
Performing system checks...
System check identified some issues:
WARNINGS:
?: (1_8.W001) The standalone TEMPLATE_* settings were deprecated in Django 1.8 and the TEMPLATES
dictionary takes precedence. You must put the values of the following settings into your default
TEMPLATES dict: TEMPLATE_CONTEXT_PROCESSORS.
?: (urls.W005) URL namespace 'datasploitapp' isn't unique. You may not be able to reverse all URLs
in this namespace
System check identified 2 issues (0 silenced).
October 14, 2017 - 05:18:48
Django version 1.11.1, using settings 'datasploit.settings'
Starting development server at http://lnxserver:8000/
Quit the server with CONTROL-C.
|
Obs: Caso queira subir o servidor web pelo hostname em vez do endereço IP, altere o arquivo /etc/hosts, adicionando o endereço IP correspondente ao hostname do servidor onde foi realizada a instalação:
1
2
3
|
10.0.0.201 HOSTNAME
|
Acessando o Datasploit
E por fim, o acesso via navegador. Basta digitar o endereço IP onde a instalação foi realizada, conforme mostrado abaixo (para o acesso local o procedimento é o mesmo, basta trocar o endereço IP pelo de loopback: 127.0.0.1):
1
2
3
|
http://endereco_ip:8000
|
Deverá aparecer a seguinte tela:
Demonstração
Exportando os resultados obtidos
No caso da busca por domínios, os resultados são divididos por categorias, como por exemplo: Whois Data, DNS Records, Pagelinks, Punkspider, Shodan Data, Subdomains, Wappalyzer, Wikileaks Data, Zoomeye Data e Censys Data.
Dentro de cada categoria existe um botão para download. Clique sob ele. Aparecendo a janela abaixo, forneça o usuário e senha que foi criado anteriormente.
Após realizar o login, escolha o formato desejado do arquivo a ser exportado, no campo Format. Em seguida, clique no botão SUBMIT e salve o arquivo no local desejado. O interessante do modo de utilização via web é que temos a disposição vários formatos de exportação, quanto que no modo via linha de comando temos somente dois.
3 – Conclusão
Espero que tenha gostado do post. Deu um certo trabalho em fazê-lo, por isso peço que aponte qualquer erro que encontrar, faça a sua crítica, pois sou todo ouvidos. Use esta ferramenta com cautela! Já viu né? rsrs.
Hack the Planet sempre!
Fonte:
Comentários
Postar um comentário