Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
Ferramentas/GitHubGitHub/biggiesmallsag/nighthawkresponse
Forensia de DiscoGerenciamento de Indicadores de Comprometimento (IOC)ReconhecimentoForensia de MemóriaAnálise ForenseColeta de InformaçõesForensia DigitalInteligência de AmeaçasResposta a IncidentesAnálise de Logs
GitHubbiggiesmallsag/nighthawkresponse
6071237há 6 anosRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →

nightHawkResponse

Framework Forense de Resposta a Incidentes

Ver Repositório
Compartilhar

nightHawk Response

Aplicação personalizada para apresentação assíncrona de dados forenses em um backend Elasticsearch.
Esta aplicação foi projetada para ingerir um arquivo de "coleções" do Mandiant Redline e oferecer flexibilidade em pesquisa/empilhamento e marcação.

A aplicação nasceu da incapacidade de controlar múltiplas investigações (ou centenas de endpoints) em um único painel.

Para ingerir auditorias do Redline, criamos o nightHawkResponse, uma aplicação GOpher completa projetada para acompanhar este framework. O código fonte da aplicação está disponível neste repositório, um binário foi compilado e está em execução dentro da ISO, pronto para ingerir desde o primeiro boot.

Versão 2.0 - Previsão Março de 2020

Estamos atualmente desenvolvendo uma nova versão principal e a lançaremos até março de 2020. A nova versão tem como objetivo realizar o seguinte.

  • Instalação baseada em Docker (com guias/configurações de implantação em Kubernetes/Nuvem/Local) (WIP)
  • Nova UI reescrita em React. Reduzida ao essencial e nada mais. (WIP)
  • Upload de triagem progressivo e retomável (CONCLUÍDO)
  • Plugin nightHawkResponse para Kibana (WIP)
  • Base de código simplificada com testes unitários (WIP)
  • Ambiente de desenvolvimento CI/CD simplificado (WIP)

Percebemos que havia muitas partes móveis para operar efetivamente todo o repositório, gerenciar facilmente entidades e manter tudo atualizado. Acreditamos também que os dados principais que residem no Elastic devem ser usados de forma mais eficaz pelo Kibana e, por isso, decidimos tornar isso realidade desenvolvendo um plugin que faz isso junto com o incrível fluxo de trabalho do Kibana.

Versão 1.0.4

Instalação

  • A versão 1.0.4 funciona em qualquer sistema Ubuntu x64 (testamos no Ubuntu 16.04LTS)
  • Atualize o Ubuntu para o patch mais recente
  • Baixe o release nhr-1.0.4.tar.gz
  • Descompacte nhr-1.0.4.tar.gz
  • Mude para o diretório nhr-1.0.4
  • Torne o nhr-setup.sh executável (chmod +x nhr-setup.sh)
  • Instale as dependências e os pacotes do nightHawk Response (sudo ./nhr-setup.sh install)
    Nota: É necessário acesso à internet durante a instalação.
  • A instalação inicial pode falhar ao criar o índice do Elasticsearch. Se isso acontecer, execute novamente (sudo ./nhr-setup.sh install)
  • Verifique se todos os componentes estão em execução
    ---- sudo systemctl status elasticsearch
    ---- sudo systemctl status kibana
    ---- sudo systemctl status rabbitmq-server
    ---- sudo systemctl status nginx
    ---- sudo systemctl status nighthawk-api
    ---- sudo systemctl status nighthawk-worker
  • Você pode acessar navegando até https://ipaddress
  • O nome de usuário e senha padrão são ambos admin/admin

Documentação da API a seguir na Wiki

01/09/2016: Versão 1.0.3

  • Contexto de usuário e contas de usuário adicionadas (login com nighthawk/nighthawk), veja artigo na wiki
  • Estatísticas da plataforma e informações de upload em websockets adicionadas
  • Exclusão de casos, exclusão de endpoints, exclusão de endpoints de casos adicionada
  • Seção de fluxo de trabalho de tarefas em websocket adicionada, veja guia na wiki
  • Comentários/Marcações agora são objetos expansíveis com destaque habilitado
  • Comentários agora são alertas em websocket, veja notas na wiki
  • Erro em CaseName = nome do endpoint corrigido
  • Auditorias zipadas de Mac/Windows/Linux corrigidas
  • Recursos de design responsivo atualizados
  • w32system adicionado como tipo de auditoria

Funcionalidades:

Demonstração em vídeo: Plataforma nightHawk Response

  1. Forense de endpoint em visão única (múltiplos tipos de auditoria).
  2. Pesquisa global.
  3. Linha do tempo.
  4. Empilhamento.
  5. Marcação.
  6. Visualização interativa da árvore de processos.
  7. Upload de múltiplos arquivos e investigações nomeadas.

ISO do nightHawk

Para facilitar para os usuários do nightHawk, construímos uma ISO com tudo configurado e pronto para uso. Isso significa que você obtém o seguinte;

  1. Última fonte do nightHawk.
  2. CentOS 7 Mínimo com as bibliotecas principais necessárias para operar o nightHawk.
  3. Nginx e UWSGI configurados em proxy reverso (soquete e otimizados), SSL ativado.
  4. Último Elasticsearch/Kibana (o Kibana está exposto e utilizável, se desejado).
  5. Sysctrl para todos os serviços principais.
  6. Logging (rotativo) para todos os serviços principais.
  7. Configurações de sistema configuráveis, uma lista delas pode ser encontrada no arquivo /opt/nighthawk/etc/nightHawk.json.

Iniciando o sistema:

Antes de construir sua VM com a ISO fornecida, considere o seguinte;

  1. CPU/RAM.

Pendente: Configurar o serviço Elastic como nós duplos com 1/4 da memória do sistema alocada por nó. Isso significa que se você der 2GB de RAM, cada nó ES terá 512MB e o sistema permanecerá com 1GB para operar.

Se você quiser configurar de forma diferente, faça SSH na máquina e configure da maneira desejada.

  1. HDD.

Um mínimo de 20GB deve ser considerado. Um arquivo de auditoria pode ser grande, portanto, é aconselhável alocar muito armazenamento para lidar com a ingestão de muitas coleções.

Pendente: Configuração de armazenamento baseada em usuário para instâncias de grande escala. Se desejar configurar partições extras, você pode fazer isso; algumas alterações podem ser feitas para apontar o armazenamento de dados do ES para sua nova partição.

Instalação:

Baixar ISO: nightHawk v1.0.3

Configure o hardware, monte a ISO na VM, inicie o script de instalação.

Uma vez concluído, no seu navegador (Chrome/FireFox), acesse; https://192.168.42.173.

Faça login no sistema com 'nighthawk/nighthawk' - clique em "goto site" para entrar na aplicação

Se precisar acessar o Kibana, acesse; https://192.168.42.173:8443.

Se precisar fazer SSH na máquina, os detalhes de login são; admin/nightHawk.

Se quiser alterar o endereço IP (refletido em toda a aplicação); /opt/nighthawk/bin/nighthawkctl set-ip <novo_endereco_ip>

O Script de Coleta de Auditoria Redline pode ser encontrado na raiz deste repositório. Use-o ao usar o coletor autônomo Redline, pois ele retornará os documentos necessários para preencher o nightHawk corretamente.

Upload:

IMPORTANTE: Criando arquivo zip de auditoria para upload (Coletor autônomo Redline):
passo_1: Navegue até Sessions\AnalysisSessionX\Audits<ComputerName> onde X é o número da análise, que é 1 na maioria dos casos.
passo_2: Crie um zip da pasta contendo os arquivos de auditoria, ex: 20160708085733
passo_3: Faça upload de 20160708085733.zip

IMPORTANTE: Use o arquivo de auditoria HX existente (Coletor HX): As auditorias do FireEye HX são uma extensão que termina em .mans. A auditoria do HX difere do coletor Redline porque o .mans que ele retorna é na verdade um arquivo zip. Isso significa que pode ser enviado diretamente, ao contrário da auditoria Redline, para a qual você precisa seguir as instruções acima.

Navegue até o ícone "Upload" na barra de navegação, selecione um .zip de auditoria (ou vários), um nome de caso (caso contrário, o sistema fornecerá um) e envie. Se você usou nosso script de auditoria Redline para construir sua coleção, siga as instruções do "Coletor Redline" acima.

Uma vez processado, o endpoint aparecerá no nó da árvore "Investigações Atuais". Abaixo do endpoint, você verá todos os tipos de auditoria disponíveis para aquele endpoint. O recurso de upload desta aplicação web cria subprocessos pOpen que chamam a aplicação GO para analisar a auditoria Redline e enviar dados para o Elasticsearch. Existem 2 opções para upload, uma é sequencial, a outra é simultânea.

Por favor, observe: Uploads simultâneos são limitados a 5 por vez e podem consumir muitos recursos; se você tiver uma máquina com pouca potência, restrinja o uso deste recurso a 2-3.

Marcação:

Você pode clicar em qualquer linha de qualquer tabela (na visualização de resposta) para marcar esses dados. Uma vez marcados, você pode visualizar os comentários na visualização de comentários.

Elasticsearch:

Existem mapeamentos personalizados (fornecidos na raiz do git) e comentários consultivos sobre o seguinte;

  1. Relacionamentos Pai/Filho:

Os documentos são indexados via aplicação GO como relação pai/filho. Isso foi escolhido porque é capaz de fornecer um caminho relativamente lógico para visualizar documentos, ou seja, o pai é o nome do endpoint e os filhos são os tipos de auditoria. Realizar agregações em um documento relacional pai/filho em escala também parece fazer sentido. A estrutura de empilhamento depende da construção de pais em um array para então obter todas as agregações de documentos filhos para certos tipos de auditoria.

  1. Fragmentação (Sharding):

As configurações do Elasticsearch exigem ajustes e reconhecimento de design adequado. A fragmentação é importante de entender por causa da forma como estamos vinculando documentos pai/filho. O filho é SEMPRE roteado para o pai, não pode existir sozinho. Isso significa que deve-se considerar quantos fragmentos residem no índice. Pelo que entendemos, pode ser sábio escolher uma configuração que incorpore muitos nós com fragmentos únicos. Para ganhar desempenho com esse tipo de configuração, estamos trabalhando em pesquisas roteadas por fragmentos.

Atualmente, estamos trabalhando no design da melhor configuração possível para pesquisa rápida.

  1. Escalabilidade:

Esta aplicação é projetada para escalar imensamente. Desde o conceito inicial de design, fomos capazes de executá-la suavemente em uma VM Ubuntu de CPU única e 2GB com 3 nós ES (Macbook Pro), com cerca de 4 milhões+ de documentos (ou 50 endpoints ingeridos). Se for para produção, executando uma configuração com 64/128GB de RAM e armazenamento SAS, você seria capaz de manter um tempo de resposta extremamente rápido na recuperação de documentos, enquanto muitos analistas trabalham na aplicação ao mesmo tempo.

Considerações:

  1. Processamento misto de DataTables:

    Existem vários tipos de auditoria ingeridos que são grandes demais para retornar todos os documentos à tabela. Por exemplo, histórico de URL e Registro podem retornar 15k documentos ao DOM, renderizar isso colocaria pressão no navegador do cliente. Para combater isso, estamos usando processamento no lado do servidor para paginar os resultados de certos tipos de auditoria. Isso significa que você também pode pesquisar documentos no tipo de auditoria usando o Elasticsearch no backend.

  2. Marcação:

    Atualmente, podemos marcar documentos e visualizar esses comentários. Podemos atualizá-los ou alterá-los. O analista pode fornecer contexto como Data/Nome do Analista/Comentário ao documento.

Dependências (todas pré-instaladas):

elasticsearch-dsl.py django 1.8 python requests

A fazer:

Manipuladores de Processo (em andamento).
Controles deslizantes de seleção de tempo para geradores baseados em tempo (em andamento).
Menu de contexto para Investigações Atuais/Anteriores.
Contexto de marcação. O sistema de marcação será integrado em um loop de websocket para comentários ao vivo entre painéis de analistas (em andamento).
Contexto da aplicação.
Capacidade de mover endpoints entre qualquer contexto.
Potencialmente redesenhar a árvore de nós para ser orientada por data de investigação.
Empilhamento seletivo; atualmente, o seletor de nó raiz está ativado.
Pesquisas roteadas por fragmentos.
Modelo de script de auditoria Redline.
Integração mais extensa com AngularJS (em andamento).
Design responsivo. (em andamento).
Página de controle administrativo para configuração de configurações principais (em andamento).

Autores e Notas:

Estamos sempre procurando pessoas com interesses semelhantes que queiram contribuir com este projeto; de forma alguma somos gurus de design web; se você acha que podemos fazer algo melhor, por favor, solicite um pull e, se gostarmos, faremos o merge.

Daniel Eden & Roshan Maskey

Créditos:

Mandiant Redline devs, AngularJS, Django devs, Angular-DataTables/DataTables, D3 (Bostock), Elasticsearch/ES-dsl.py, jsTree, qTip, GOlang, Python, Fahad Abdulaal (Logo/Video).

Capturas de tela:

alt tag alt tag alt tag alt tag alt tag alt tag

Baixar ferramenta