# BRIntelcollector
Pesquisa por indicadores de ameaças nacionais, através de diferentes fontes. Através da ferramenta é possível criar um banco de dados com ameaças nacionais e assim facilitar as pesquisas, identificação de organizações buscar por possíveis ameaças.
Atualmente estamos trabalhando duas fontes de dados: OTX da Alienvault e XFE da IBM
## Instalação e uso
> **Pré requisitos:** para instalar é necessário ter o python na versão 3+ e o pip correspondente. E possuir as chaves de API do [Open Threat Exchange](https://support.rocketcyber.com/hc/en-us/articles/360017914637-Setup-Alienvault-OTX-Threat-Intel-API-Key) e do [IBM X-Force Exchange](https://api.xforce.ibmcloud.com/doc/#/)(Lembre-se da especificidade da chave que [deve ser](https://github.com/Jul10l1r4/X-force#use): `$chave:$senha` em base64)
```pypi
pip3 install BRIntel
```
Configure dessa forma seu `.env`. Claro: Substitua `<sua chave e senha>` pelo seu código da API e senha respectivamente.
```bash
echo "OTX_KEY = '<sua chave>'" > .env
echo "IBM_KEY = '<sua chave + senha em base64>'" >> .env
```
Para usar, basta importar os módulos que serão exemplificados:
```python
from BRIntel import allSources, default
# Retornará uma list contendo a busca padrão
# das duas fontes, todos os valores em dict
allSources("Termo de busca")
# Da mesma forma da outra função também retornará
# lista de valores em dict, mas na estrutura padrão:
default("Termo de busca")
```
A primeira função retorna de forma absoluta os valores das buscas, já a segunda reduz alguns dados para o trabalho na manipulação.
Retorno da busca padrão (`BRIntel.defaul`):
- ["title"]: Título do pulse/relatório
- ["description"]: Descrição mais detalhada explicando o pulse/relatório
- ["author"]: Nome do autor do pulse/relatório
- ["created"]: Data de criação do pulse/relatório
- ["Modified"]: Data de modificação do pulse/relatório
- ["tlp"]: Traffic Light Protocol ([TLP](https://www.gov.br/cisc/pt-br/tlp)) de pulse/relatório
- ["url"]: Url de pulse/relatório
É possível fazer a busca em fontes específicas, exemplo:
```python
from BRIntel import xfe, otx
# O RETORNO SERÁ UMA LIST
# stix 2.1
xfe.search("Termo de busca")
# Formato aberto de pulse OTX
otx.search("Termo de busca")
```
Além de busca em fonte específica, também é possível fazer isso de forma que siga o padrão citado à cima
```python
from BRIntel import xfe, otx
# Ambas as funções recebem o dict que corresponde a um valor
# de pulse/relatorio
xfe.show(xfe_search[x])
otx.show(otx_search[x])
```
Além da busca com o retorno em padrão de exibição, é possível buscar os detalhes de um pulse/relatório específico. Dessa forma:
```python
from BRIntel import xfe, otx
# Ambas as funções recebem o ID, uma como string e outra como int, respectivamente
xfe.details(xfe_search[x]["id"])
otx.details(otx_search[x]["id"])
```
Raw data
{
"_id": null,
"home_page": "https://github.com/VaultSEC/BRIntelcollector",
"name": "BRIntel",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "threat intelligence security ibm xforce x-force blueteam search query api exchange otx cti oct OTX otx open threat CTI brazil brasil br",
"author": "VaultSec, Julio Lira, Matheus Oliveira",
"author_email": "contato@vaultsec.com.br, jul10l1r4@disroot.org, matheusoliveiratux4me@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/df/dc/0a4dd11c06cedb2c91d080e11ba906bb21b3507b04b989119dac84babab9/BRIntel-0.1.tar.gz",
"platform": null,
"description": "# BRIntelcollector\n\nPesquisa por indicadores de amea\u00e7as nacionais, atrav\u00e9s de diferentes fontes. Atrav\u00e9s da ferramenta \u00e9 poss\u00edvel criar um banco de dados com amea\u00e7as nacionais e assim facilitar as pesquisas, identifica\u00e7\u00e3o de organiza\u00e7\u00f5es buscar por poss\u00edveis amea\u00e7as.\n\nAtualmente estamos trabalhando duas fontes de dados: OTX da Alienvault e XFE da IBM\n\n## Instala\u00e7\u00e3o e uso\n\n> **Pr\u00e9 requisitos:** para instalar \u00e9 necess\u00e1rio ter o python na vers\u00e3o 3+ e o pip correspondente. E possuir as chaves de API do [Open Threat Exchange](https://support.rocketcyber.com/hc/en-us/articles/360017914637-Setup-Alienvault-OTX-Threat-Intel-API-Key) e do [IBM X-Force Exchange](https://api.xforce.ibmcloud.com/doc/#/)(Lembre-se da especificidade da chave que [deve ser](https://github.com/Jul10l1r4/X-force#use): `$chave:$senha` em base64)\n\n```pypi\npip3 install BRIntel\n```\nConfigure dessa forma seu `.env`. Claro: Substitua `<sua chave e senha>` pelo seu c\u00f3digo da API e senha respectivamente.\n\n```bash\necho \"OTX_KEY = '<sua chave>'\" > .env\necho \"IBM_KEY = '<sua chave + senha em base64>'\" >> .env\n```\nPara usar, basta importar os m\u00f3dulos que ser\u00e3o exemplificados:\n```python\nfrom BRIntel import allSources, default\n\n# Retornar\u00e1 uma list contendo a busca padr\u00e3o \n# das duas fontes, todos os valores em dict\nallSources(\"Termo de busca\")\n\n# Da mesma forma da outra fun\u00e7\u00e3o tamb\u00e9m retornar\u00e1\n# lista de valores em dict, mas na estrutura padr\u00e3o:\ndefault(\"Termo de busca\")\n```\nA primeira fun\u00e7\u00e3o retorna de forma absoluta os valores das buscas, j\u00e1 a segunda reduz alguns dados para o trabalho na manipula\u00e7\u00e3o.\nRetorno da busca padr\u00e3o (`BRIntel.defaul`):\n- [\"title\"]: T\u00edtulo do pulse/relat\u00f3rio\n- [\"description\"]: Descri\u00e7\u00e3o mais detalhada explicando o pulse/relat\u00f3rio\n- [\"author\"]: Nome do autor do pulse/relat\u00f3rio\n- [\"created\"]: Data de cria\u00e7\u00e3o do pulse/relat\u00f3rio\n- [\"Modified\"]: Data de modifica\u00e7\u00e3o do pulse/relat\u00f3rio\n- [\"tlp\"]: Traffic Light Protocol ([TLP](https://www.gov.br/cisc/pt-br/tlp)) de pulse/relat\u00f3rio\n- [\"url\"]: Url de pulse/relat\u00f3rio\n\n\u00c9 poss\u00edvel fazer a busca em fontes espec\u00edficas, exemplo:\n```python\nfrom BRIntel import xfe, otx\n\n# O RETORNO SER\u00c1 UMA LIST\n# stix 2.1\nxfe.search(\"Termo de busca\")\n# Formato aberto de pulse OTX\notx.search(\"Termo de busca\")\n```\nAl\u00e9m de busca em fonte espec\u00edfica, tamb\u00e9m \u00e9 poss\u00edvel fazer isso de forma que siga o padr\u00e3o citado \u00e0 cima\n```python\nfrom BRIntel import xfe, otx\n\n# Ambas as fun\u00e7\u00f5es recebem o dict que corresponde a um valor\n# de pulse/relatorio\nxfe.show(xfe_search[x])\notx.show(otx_search[x])\n```\nAl\u00e9m da busca com o retorno em padr\u00e3o de exibi\u00e7\u00e3o, \u00e9 poss\u00edvel buscar os detalhes de um pulse/relat\u00f3rio espec\u00edfico. Dessa forma:\n```python\nfrom BRIntel import xfe, otx\n\n# Ambas as fun\u00e7\u00f5es recebem o ID, uma como string e outra como int, respectivamente\nxfe.details(xfe_search[x][\"id\"])\notx.details(otx_search[x][\"id\"])\n```\n",
"bugtrack_url": null,
"license": "GPLv3",
"summary": "Cyber Threat Intelligence (CTI) usando fontes e indicadores de amea\u00e7as nacionais, ou at\u00e9 globais, mas com evidencias ou indicadores nacionais do Brasil",
"version": "0.1",
"split_keywords": [
"threat",
"intelligence",
"security",
"ibm",
"xforce",
"x-force",
"blueteam",
"search",
"query",
"api",
"exchange",
"otx",
"cti",
"oct",
"otx",
"otx",
"open",
"threat",
"cti",
"brazil",
"brasil",
"br"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "e17387b35d1be027077b4c8fa0965f36031247682984116add33c696e92196e7",
"md5": "84db03071126b3bf6921fb261973a5d4",
"sha256": "8e58084d42f4982bb302fedc363e804fb06acd3a8632c738ebecf0532f239dbe"
},
"downloads": -1,
"filename": "BRIntel-0.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "84db03071126b3bf6921fb261973a5d4",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 4623,
"upload_time": "2023-01-30T21:08:03",
"upload_time_iso_8601": "2023-01-30T21:08:03.310845Z",
"url": "https://files.pythonhosted.org/packages/e1/73/87b35d1be027077b4c8fa0965f36031247682984116add33c696e92196e7/BRIntel-0.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "dfdc0a4dd11c06cedb2c91d080e11ba906bb21b3507b04b989119dac84babab9",
"md5": "cd1a28ce533c15580a33204fe8758c36",
"sha256": "3aef78ff3afd21e002f8ad7ce873f33bf8abf317f1f49a75cc72340d7ef85946"
},
"downloads": -1,
"filename": "BRIntel-0.1.tar.gz",
"has_sig": false,
"md5_digest": "cd1a28ce533c15580a33204fe8758c36",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 4259,
"upload_time": "2023-01-30T21:08:05",
"upload_time_iso_8601": "2023-01-30T21:08:05.543681Z",
"url": "https://files.pythonhosted.org/packages/df/dc/0a4dd11c06cedb2c91d080e11ba906bb21b3507b04b989119dac84babab9/BRIntel-0.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-01-30 21:08:05",
"github": true,
"gitlab": false,
"bitbucket": false,
"github_user": "VaultSEC",
"github_project": "BRIntelcollector",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [],
"lcname": "brintel"
}