PcapXray é uma Ferramenta Forense de Rede Para visualizar uma Captura de Pacotes offline como um Diagrama de Rede, incluindo a identificação do dispositivo, destaque a comunicação importante e a extração de arquivos.

Objetivo da Especificação do Projeto PcapXray :
Dado um Arquivo Pcap, plote um diagrama de rede exibindo hosts na rede, tráfego de rede, destaque tráfego importante e tráfego Tor, bem como tráfego malicioso potencial incluindo dados envolvidos na comunicação. 

Problema:

  •  A investigação de um arquivo Pcap leva muito tempo, dada a falha inicial para iniciar a investigação
  •  Confrontado por todos os investigadores forenses e por qualquer um que esteja analisando a rede
  •  Localização: https://github.com/Srinivas11789/PcapXray

Solução: acelere o processo de investigação

  • Faça um diagrama de rede com os seguintes recursos de um arquivo Pcap. Destaques da ferramenta:
  • Diagrama de Rede – Resumo Diagrama de Rede da rede completa
  • Em formação:
    • Tráfego da Web com Detalhes do Servidor
    • Tor Traffic
    • Tráfego malicioso possível
    • Dados Obtidos do Pacote no Relatório – Dispositivo / Tráfego / Payloads
    • Detalhes do dispositivo

Imagem da Ferramenta:

Componentes:

  • Diagrama de rede
  • Detalhes e análise de dispositivos / tráfego
  • Identificação de Trânsito Maliciosa
  • Tor Traffic
  • GUI – um gui com opções para carregar o arquivo pcap e exibir o diagrama de rede

Bibliotecas Python usadas: – Todas essas bibliotecas são necessárias para funcionalidade

  • Tkinter e TTK – Instalar do pip ou apt-get – Garanta que o Tkinter e o graphviz estejam instalados (a maioria do Linux contém por padrão)
    • apt instalar python-tk
    • apt instalar graphviz
    • apt instalar python3-tk (para suporte python3)
    • Às vezes, os erros do ImageTk são lançados em python3 env -> usam o apt install python3-pil python3-pil.imagetk
  • Todos estes estão incluídos no arquivo requirements.txt
    • Scapy – rdpcap para ler os pacotes do arquivo pcap
    • Ipwhois – para obter informações whois do ip
    • Netaddr – para verificar o tipo de informação ip
    • Travesseiro – biblioteca de processamento de imagem
    • Biblioteca de busca de dados consensuais do tronco
    • pyGraphviz – gráfico de plotagem
    • Networkx – gráfico de plotagem
    • Matplotlib – gráfico de plotagem (não usado a partir de agora)

Demonstração

Começando:

  • Clone o repositório
  • instalação pip -r requirements.txt
  • fonte python / main.py

Informação adicional:

  • Testado no Linux
  • Opções para o tráfego incluem – Web (HTTP e HTTPS), Tor, Malicioso, ICMP, DNS

Desafios:

  • Instabilidade do TK GUI:
    • Decisão na GUI entre Django e TK, resolvida em tk para uma interface local simples, mas a instabilidade do tk gui causou uma série de problemas
  • Plotagem de gráfico:
    • Plotar um grafo de rede adequado que seja legível a partir dos dados obtidos foi um grande esforço, utilizou diferentes bibliotecas para chegar a um.
  • Desempenho e Timing:
    • desempenho e o tempo do aplicativo total foi um grande desafio com a coleta de dados e geração de saída diferentes

Bugs Conhecidos:

  •  Memória Hogging
    • Às vezes, o hogging de memória ocorre quando uma RAM menor está presente no sistema, pois os dados armazenados na memória do arquivo pcap são enormes
    • Deve ser Corrigido movendo dados para um banco de dados do que a própria memória
  •  Condição corrida
    • Devido ao mainloop do TK GUI, outros segmentos podem sofrer uma condição de corrida
    • Deve ser corrigido, passando para uma implementação de TK melhor estruturada ou GUI da Web
  •  Tk GUI Unstability:
    • Mesma razão que acima
  •  Código:
    • fluxo de código desajeitado e não estruturado
  •  Correção atual em raras ocasiões: Se qualquer um dos problemas acima ocorrer, a barra de progresso continuará em execução e nenhuma saída será gerada, uma reinicialização do aplicativo será necessária.

Recipientes Docker de PcapXray

  • Dockerfile presente na pasta raiz foi usado para criar imagens
  • Imagens docker já construídas são encontradas no dockerhub
    • srinivas11789 / pcapxray-1.0
    • srinivas11789 / pcapxray-2.2
  • Executar as etapas no run.sharquivo manualmente funcionaria para iniciar a ferramenta via docker (posso ajudar com erros)
  • Executar run.shscripts é uma tentativa de automatizar (não funcionaria 100%)
    • testado em mac e linux – será melhor em breve! …

PcapXray 2.0

  • Inclui recurso de zoom
  • Melhora a usabilidade com um recurso de arquivos de navegação
  • Correções de diretório de relatórios para imagens gráficas
  • Inclui algumas correções de bugs

Tarefas Futuras Imediatas: (Meta: 3.0)

  • Limpar código (embelezar a base de código de ser um protótipo)
  • Geração de relatórios em pastas exclusivas para todos os ativos de uma captura de pacotes
  • Detecção de atividade suspeita
  • Suporta mais motor de leitura pcap
  • Suporte de tráfego: ICMP, DNS
  • Detecção de tipo de arquivo conhecido e Extrair
  • Python2 e Python3

Futuro:

  • Fluxo de código estruturado e limpo
  • Alterar o banco de dados de JSON para sqlite ou banco de dados proeminente, devido a memória hogging
  • Mudar o fronend para a web, como o Django
  • Tornar a aplicação mais estável
  • Mais suporte ao protocolo
  • Código de limpeza

Apenas por diversão de segurança!

Download PcapXray