ZoomEye: expandindo o TheTHE com mais plugins

Carlos Ávila    11 noviembre, 2020
ZoomEye: expandindo o TheTHE com mais plugins

Quem acompanha os desenvolvimentos feitos pela equipe de Inovação e Laboratório conhece nossa plataforma THE, especializada em Threat Hunting, análise IoC e muito útil especificamente para equipes e SOCs. Embora essa ferramenta possa não atender a todas as necessidades, novos plugins sempre podem ser desenvolvidos. Você se atreve?

Na ElevenPaths, desenvolvemos cerca de 30 plugins que você pode usar agora e que estão incluídos na versão mais recente da plataforma em nosso repositório GitHubTambém temos uma versão privada mais avançada para SOCs. Em qualquer caso, criar um plugin é muito simples, vamos ver com um exemplo prático. Neste caso trabalharemos em um plugin simple que permite consultar a API do serviço de busca ZoomEye através de um endereço IP que estamos investigando.

A estrutura do projeto e os arquivos que você deve criar estão de acordo com a seguinte:

  1. A primeira coisa é clonar o repositório de código do ElevenPaths GitHub: git clone https://github.com/ElevenPaths/thethe
  2. Em relação à estrutura do projeto, deve-se levar em consideração que a ferramenta é «dockerizada» e desenvolvida principalmente em Python3 como backend . VueJS é usado para exibir os dados na web (frontend) e os dados são armazenados em um banco de dados MongoDB. Desta forma, temos:
  • Backend (the-the/thethe_server/server/plugins/): este diretório é onde os plugins desenvolvidos em Python para a plataforma sãoarmazenados. No mesmo diretório você tem um arquivo ‘TEMPLATE.py’ com toda a documentação respectiva para tomar como base para o desenvolvimento de um novo plugin.
  • Frontend (the-the/thethe_frontend/src/components/templates/): neste diretório você deve criar uma pasta com o nome do plugin e dentro dela gerar um arquivo index.vue onde desenvolveremos a parte onde os dados serão exibidos por meio de VueJS na web.

Desenvolvimento do backend

Geramos um arquivo zoomeye.py com toda a programação adequada para o consumo da API da plataforma com base na documentação do serviço da API ZoomEye. Para a interação com a referida API, utilizamos o SDK oficial do ZoomEye:

Ao final, os dados da consulta realizada são armazenados no banco de dados Mongo do projeto. Então, basicamente, o backend gera um objeto do tipo JSON Python a ser exibido no frontend.

Desenvolvimento do frontend

É criada uma pasta com o nome do plugin, no caso zoomeye, e dentro dela deve ser gerado um arquivo index.vue, onde será desenvolvida a parte em que os dados serão exibidos através do VueJS na web. Os dados mostrados vêm do arquivo desenvolvido no backend.

Nós testamos o plugin

Esperamos que este mini-guia ajude muito mais pessoas a serem incentivadas a criar plugins que contribuam para o projeto e a comunidade. Na verdade, não apenas APIs de terceiros podem ser usados, mas também criar seus próprios scripts que consomem nossos próprios serviços como temos feito com nossas plataformas como o DIARIO e Tacyt. Continuaremos desenvolvendo a ferramenta e, da mesma forma, esperamos que as diversas experiências da comunidade e seus comentários ajudem a enriquecê-la.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.