Volatility MCP Server

Um servidor MCP para perícia de memória usando o framework Volatility 3.

Documentação

Volatility MCP Server

Um servidor Model Context Protocol (MCP) que integra o framework de forense de memória Volatility 3 com Claude e outros LLMs compatíveis com MCP.

Por que isso é importante

Na Índia, os investigadores de forense digital enfrentam um enorme acúmulo de casos devido à grande população do país e ao aumento das taxas de cibercrime. Esta ferramenta ajuda a enfrentar esse desafio ao:

  • Permitir que investigadores analisem dumps de memória usando linguagem natural simples em vez de comandos complexos
  • Reduzir a expertise técnica necessária para realizar forense de memória
  • Acelerar o processo de análise por meio da automação
  • Ajudar a eliminar o acúmulo de casos e entregar resultados mais rápidos ao sistema judiciário

Ao tornar a forense de memória mais acessível, esta ferramenta pode reduzir significativamente a carga sobre os especialistas forenses e melhorar a resposta de segurança cibernética em toda a Índia.

Visão geral

Este projeto conecta as poderosas capacidades de forense de memória do Volatility 3 Framework com Modelos de Linguagem de Grande Porte (LLMs) por meio do Model Context Protocol (MCP). Ele permite realizar análises de forense de memória usando linguagem natural, expondo os plugins do Volatility como ferramentas MCP que podem ser invocadas diretamente pelo Claude ou outros LLMs compatíveis com MCP.

Recursos

  • Forense de memória em linguagem natural: Peça ao Claude para analisar dumps de memória usando linguagem natural
  • Análise de processos: Examine processos em execução, relações pai-filho e processos ocultos
  • Forense de rede: Identifique conexões de rede em dumps de memória
  • Detecção de malware: Encontre possíveis injeções de código e outros artefatos maliciosos
  • Análise de DLLs: Examine DLLs e módulos carregados
  • Objetos de arquivo: Verifique objetos de arquivo na memória
  • Plugins personalizados: Execute qualquer plugin do Volatility com argumentos personalizados
  • Descoberta de dumps de memória: Encontre automaticamente dumps de memória em um diretório

Requisitos

  • Python 3.10 ou superior
  • Volatility 3 Framework
  • Claude Desktop ou outro cliente compatível com MCP
  • MCP Python SDK (pacote mcp)

Instalação

  1. Clone este repositório:

    git clone https://github.com/yourusername/volatility-mcp-server.git
    
  2. Instale os pacotes Python necessários:

    pip install mcp httpx
    
  3. Configure o caminho do Volatility no script:

    • Abra volatility_mcp_server.py e atualize a variável VOLATILITY_DIR para apontar para o caminho da sua instalação do Volatility 3.
  4. Configure o Claude Desktop:

    • Abra o arquivo de configuração do Claude Desktop localizado em:
      • Windows: %APPDATA%\Claude\claude_desktop_config.json
      • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Adicione a configuração do servidor:
    {
      "mcpServers": {
        "volatility": {
          "command": "python",
          "args": [
            "/path/to/volatility_mcp_server.py"
          ],
          "env": {
            "PYTHONPATH": "/path/to/volatility3"
          }
        }
      }
    }
    
    • Substitua /path/to/ pelo caminho real dos seus arquivos.
  5. Reinicie o Claude Desktop para aplicar as alterações.

Uso

Após a configuração, você pode simplesmente fazer perguntas em linguagem natural ao Claude sobre seus dumps de memória:

  • "Liste todos os processos no dump de memória em C:\path\to\dump.vmem"
  • "Mostre-me as conexões de rede em C:\path\to\dump.vmem"
  • "Execute malfind para verificar injeção de código no dump de memória"
  • "Quais DLLs estão carregadas no processo ID 4328?"
  • "Verifique se há processos ocultos em C:\path\to\dump.vmem"

Ferramentas disponíveis

O servidor expõe os seguintes plugins do Volatility como ferramentas MCP:

  1. list_available_plugins - Mostra todos os plugins do Volatility que você pode usar
  2. get_image_info - Fornece informações sobre um arquivo de dump de memória
  3. run_pstree - Mostra a hierarquia de processos
  4. run_pslist - Lista processos da lista de processos
  5. run_psscan - Verifica processos, incluindo aqueles que podem estar ocultos
  6. run_netscan - Mostra conexões de rede no dump de memória
  7. run_malfind - Detecta possíveis injeções de código
  8. run_cmdline - Mostra argumentos de linha de comando para processos
  9. run_dlllist - Lista DLLs carregadas para processos
  10. run_handles - Mostra handles de arquivo e outros handles do sistema
  11. run_filescan - Verifica objetos de arquivo na memória
  12. run_memmap - Mostra o mapa de memória de um processo específico
  13. run_custom_plugin - Executa qualquer plugin do Volatility com argumentos personalizados
  14. list_memory_dumps - Encontra dumps de memória em um diretório

Fluxo de trabalho de forense de memória

Este servidor MCP permite um fluxo de trabalho simplificado de forense de memória:

  1. Triagem inicial:

    • "Mostre-me a árvore de processos em memory.vmem"
    • "Liste todas as conexões de rede em memory.vmem"
  2. Investigação de processos suspeitos:

    • "Qual linha de comando foi usada para iniciar o processo 1234?"
    • "Mostre-me todas as DLLs carregadas pelo processo 1234"
    • "Quais handles de arquivo estão abertos no processo 1234?"
  3. Caça a malware:

    • "Execute malfind em memory.vmem para verificar injeção de código"
    • "Mostre-me processos com relações pai-filho incomuns"
    • "Encontre processos ocultos em memory.vmem"

Solução de problemas

Se você encontrar problemas:

  1. Problemas de caminho:

    • Certifique-se de que todos os caminhos sejam absolutos e usem barras duplas invertidas em caminhos do Windows
    • Verifique se o arquivo de dump de memória existe e é legível
  2. Problemas de permissão:

    • Execute o Claude Desktop como Administrador
    • Verifique se o Python e o diretório do Volatility têm permissões adequadas
  3. Erros do Volatility:

    • Certifique-se de que o Volatility 3 funcione corretamente por conta própria
    • Tente executar o mesmo comando diretamente na sua linha de comando
  4. Erros do MCP:

    • Verifique os logs do Claude Desktop para erros do MCP
    • Certifique-se de que o pacote Python do MCP esteja instalado corretamente

Extensão

Este servidor pode ser estendido:

  1. Adicionando mais plugins do Volatility
  2. Criando fluxos de trabalho de análise personalizados
  3. Integrando com outras ferramentas forenses
  4. Adicionando capacidades de geração de relatórios

Licença

Licença MIT