
Footprinting de OSINT opinativo e centrado na organização, inspirado no recon-ng e no Maltego.
Aviso
Este projeto está apenas parcialmente completo e ainda não implementei muitas das funcionalidades descritas no seguinte artigo do blog que fiz: https://penafieljlm.com/2017/07/14/inquisitor/.
O Inquisitor é uma ferramenta simples para coletar informações sobre empresas e organizações através do uso de fontes de Inteligência de Fontes Abertas (OSINT). É fortemente inspirado na forma como Maltego e recon-ng operam, e a ferramenta basicamente reimplementa algumas das funcionalidades dessas ferramentas, mas adiciona uma camada adicional de semântica baseada em opinião sobre os tipos de ativos para criar um fluxo de trabalho fácil de usar.
As principais funcionalidades do Inquisitor incluem:
Todo o conceito do Inquisitor gira em torno da ideia de extrair informações de fontes abertas com base no que já se sabe sobre uma organização alvo. No contexto do Inquisitor, isso é chamado de "transforms". Informações relacionadas também podem ser imediatamente recuperadas de um ativo conhecido com base em metadados também recuperáveis de fontes abertas, como whois e registros de internet.
Os conceitos são discutidos em mais detalhes neste artigo do blog: https://penafieljlm.com/2017/07/14/inquisitor/
Para instalar o Inquisitor, basta clonar o repositório, entrar nele e executar o script de instalação.``` pip install Cython click git clone [email protected]:penafieljlm/inquisitor.git cd inquisitor python setup.py install
## Uso
O Inquisitor tem cinco comandos básicos que incluem `scan`, `status`, `classify`, `dump` e `visualize`.```
usage: inq [-h] {scan,status,classify,dump,visualize} ...
optional arguments:
-h, --help show this help message and exit
command:
{scan,status,classify,dump,visualize}
The action to perform.
scan Search OSINT sources for intelligence based on known
assets belonging to the target.
status Prints out the current status of the specified
intelligence database.
classify Classifies an existing asset as either belonging or
not belonging to the target. Adds a new asset with the
specified classification if none is present.
dump Dumps the contents of the database into a JSON file
visualize Create a D3.js visualization based on the contents of
the specified intelligence database.
No modo de scan, a ferramenta executa todas as transformações disponíveis para todos os ativos que você possui no seu Banco de Dados de Inteligência. Certifique-se de criar Chaves de API para as várias fontes OSINT indicadas abaixo e fornecê-las ao script para que as transformações que usam essas fontes não sejam ignoradas. Além disso, certifique-se de semear seu Banco de Dados de Inteligência com alguns ativos de destino conhecidos e próprios usando o comando classify primeiro, porque se o banco de dados não contiver nenhum ativo próprio, não haverá nada a ser transformado.```
usage: inq scan [-h] [--google-dev-key GOOGLE_DEV_KEY]
[--google-cse-id GOOGLE_CSE_ID]
[--google-limit GOOGLE_LIMIT]
[--shodan-api-key SHODAN_API_KEY]
[--shodan-limit SHODAN_LIMIT]
DATABASE
positional arguments: DATABASE The path to the intelligence database to use. If specified file does not exist, a new one will be created.
optional arguments: -h, --help show this help message and exit --google-dev-key GOOGLE_DEV_KEY Specifies the developer key to use to query Google Custom Search. Visit the Google APIs Console (http://code.google.com/apis/console) to get an API key. If notspecified, the script will simply skip asset transforms that involve Google Search. --google-cse-id GOOGLE_CSE_ID Specifies the custom search engine to query. Visit the Google Custom Search Console (https://cse.google.com/cse/all) to create your own Google Custom Search Engine. If not specified, the script will simply skip asset transforms that involve Google Search. --google-limit GOOGLE_LIMIT The number of pages to limit Google Search to. This is to avoid exhausting your daily quota. --shodan-api-key SHODAN_API_KEY Specifies the API key to use to query Shodan. Log into your Shodan account (https://www.shodan.io/) and look at the top right corner of the page in order to view your API key. If not specified, the script will simply skip asset transforms that involve Shodan. --shodan-limit SHODAN_LIMIT The number of pages to limit Shodan Search to. This is to avoid exhausting your daily quota.
### Status
No modo de status, a ferramenta simplesmente imprime um resumo rápido do status do seu banco de dados de varredura.```
usage: inq status [-h] [-s] DATABASE
positional arguments:
DATABASE The path to the intelligence database to use. If specified
file does not exist, a new one will be created.
optional arguments:
-h, --help show this help message and exit
-s, --strong Indicates if the status will be based on the strong ownership
classification.
No modo Classify, você poderá adicionar manualmente ativos e reclassificar ativos já existentes no Banco de Dados de Inteligência. Você deve usar este comando para semear seu Banco de Dados de Inteligência com ativos alvo conhecidos e de sua propriedade.``` usage: inq classify [-h] [-ar REGISTRANT [REGISTRANT ...]] [-ur REGISTRANT [REGISTRANT ...]] [-rr REGISTRANT [REGISTRANT ...]] [-ab BLOCK [BLOCK ...]] [-ub BLOCK [BLOCK ...]] [-rb BLOCK [BLOCK ...]] [-ah HOST [HOST ...]] [-uh HOST [HOST ...]] [-rh HOST [HOST ...]] [-ae EMAIL [EMAIL ...]] [-ue EMAIL [EMAIL ...]] [-re EMAIL [EMAIL ...]] [-al LINKEDIN [LINKEDIN ...]] [-ul LINKEDIN [LINKEDIN ...]] [-rl LINKEDIN [LINKEDIN ...]] DATABASE
positional arguments: DATABASE The path to the intelligence database to use. If specified file does not exist, a new one will be created.