Scanner CVE-2023-38831
Visão Geral
O Scanner CVE-2023-38831 é uma ferramenta avançada de cibersegurança projetada para detectar e analisar a presença da vulnerabilidade CVE-2023-38831 em instalações do WinRAR. Este projeto implementa uma abordagem multicamadas para detecção de vulnerabilidades, incorporando verificações de integridade de arquivos, varredura de memória de processos, análise de tráfego de rede e execução em sandbox.
Funcionalidades
- Detecção de Vulnerabilidades: Examina instalações do WinRAR em busca da vulnerabilidade CVE-2023-38831.
- Verificação de Integridade de Arquivos: Verifica a integridade dos arquivos executáveis do WinRAR.
- Varredura de Memória de Processos: Analisa a memória de processos do WinRAR em execução em busca de padrões suspeitos.
- Análise de Tráfego de Rede: Monitora o tráfego de rede em busca de tentativas potenciais de exploração.
- Execução em Sandbox: Executa e analisa o WinRAR com segurança em um ambiente controlado.
- Interface Web: Fornece uma interface web amigável para iniciar varreduras e visualizar resultados.
- Integração com Banco de Dados: Armazena e recupera resultados de varredura para análise histórica.
- Visualização: Apresenta resultados de varredura por meio de gráficos e tabelas interativos.
Arquitetura Técnica
Componentes Principais
- Módulo Scanner (
src/scanner.py): Orquestra o processo de varredura, integrando todos os métodos de detecção.
- Verificador de Integridade (
src/integrity.py): Implementa a verificação de hash de arquivos para executáveis do WinRAR.
- Scanner de Memória (
src/memory_scanner.py): Utiliza psutil para análise de memória de processos.
- Analisador de Rede (
src/network_analyzer.py): Aproveita o scapy para inspeção de pacotes de rede.
- Ambiente Sandbox (
src/sandbox.py): Cria um ambiente isolado para execução e análise seguras.
- Manipulador de Banco de Dados (
src/database.py): Gerencia operações de banco de dados SQLite para armazenamento e recuperação de resultados.
- Interface Web (
src/web_interface.py): Implementa um servidor web baseado em Flask para interação com o usuário.
Principais Tecnologias
- Python 3.8+: Linguagem de programação principal
- SQLite: Banco de dados leve para armazenamento de resultados de varredura
- Flask: Framework web para a interface do usuário
- Scapy: Manipulação e análise de pacotes de rede
- psutil: Monitoramento de processos e sistema multiplataforma
- Chart.js: Biblioteca JavaScript para visualização de resultados
Instalação
- Clone o repositório:
git clone https://github.com/yezzfusl/cve_2023_38831_scanner.git
cd cve_2023_38831_scanner
- Crie e ative um ambiente virtual:
python -m venv venv
source venv/bin/activate # No Windows, use venv\Scripts\activate
- Instale as dependências:
pip install -r requirements.txt
- Configure o banco de dados:
python -c "from src.database import Database; Database().create_table()"
Uso
Interface de Linha de Comando
- Execute o scanner a partir da linha de comando:
Interface Web
- Inicie o servidor web:
python -m src.web_interface
Acesse a interface web em http://localhost:5000.
Configuração
- Configurações do banco de dados: Modifique
src/database.py para alterar a localização do arquivo de banco de dados ou mudar para um sistema de banco de dados diferente.
- Parâmetros de varredura: Ajuste os valores de limite e padrões de detecção nos arquivos de módulo respectivos (ex.:
src/memory_scanner.py, src/network_analyzer.py).
Testes
- Execute o conjunto de testes:
Considerações de Segurança
- Esta ferramenta deve ser usada apenas em sistemas que você possui ou para os quais tem permissão explícita para testar.
- O ambiente sandbox fornece uma camada adicional de segurança, mas ainda deve-se ter cautela ao escanear arquivos potencialmente maliciosos.
- A análise de tráfego de rede pode capturar dados sensíveis. Garanta conformidade com as leis e regulamentos de privacidade relevantes.
Otimização de Desempenho
- O scanner de memória utiliza técnicas eficientes de mapeamento de memória para minimizar o uso de recursos.
- As consultas ao banco de dados são otimizadas para desempenho, com indexação adequada nas colunas frequentemente acessadas.
- A interface web implementa varredura assíncrona para evitar o bloqueio da interface do usuário durante varreduras longas.
Expandindo o Projeto
- Verificações Adicionais de Vulnerabilidades: Implemente novos métodos de detecção em módulos separados e integre-os ao módulo
scanner.py.
- Desenvolvimento de API: Estenda a interface web para fornecer uma API RESTful para integração com outras ferramentas de segurança.
- Integração de Aprendizado de Máquina: Incorpore modelos de ML para detecção de anomalias no comportamento de processos ou padrões de tráfego de rede.
Contribuindo
- Faça um fork do repositório.
- Crie um novo branch para sua funcionalidade:
git checkout -b feature-name
- Faça commit das suas alterações:
git commit -am 'Add some feature'
- Envie para o branch:
git push origin feature-name
- Envie um pull request.
Licença
Este projeto está licenciado sob a Licença MIT - consulte o arquivo LICENSE para obter detalhes.
Agradecimentos
Aviso Legal
Esta ferramenta é apenas para uso educacional e profissional. Os autores não são responsáveis por qualquer uso indevido ou danos causados por este programa. Sempre certifique-se de ter permissão antes de escanear sistemas ou redes que você não possui.