Metadata-Version: 2.4
Name: forensic-cli
Version: 1.2.5
Summary: DevKit Forense - CLI para análise de navegadores e rede
Home-page: https://github.com/ErickG123/devkit_forense
Author: Erick Gabriel dos Santos Alves
Author-email: Erick Gabriel dos Santos Alves <erickgabrielalves0@gmail.com>
License: MIT
Project-URL: Documentation, https://erickg123.github.io/devkit_forense/docs
Project-URL: Changelog, https://erickg123.github.io/devkit_forense/changelog
Project-URL: Source, https://github.com/ErickG123/devkit_forense
Keywords: forensics,cli,network,browser
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
License-File: LICENSE-GPL
Requires-Dist: altgraph==0.17.4
Requires-Dist: annotated-types==0.7.0
Requires-Dist: anyio==4.10.0
Requires-Dist: attrs==25.3.0
Requires-Dist: certifi==2025.8.3
Requires-Dist: cffi==1.17.1
Requires-Dist: charset-normalizer==3.4.3
Requires-Dist: click==8.2.1
Requires-Dist: colorama==0.4.6
Requires-Dist: contourpy==1.3.3
Requires-Dist: cryptography==45.0.6
Requires-Dist: cycler==0.12.1
Requires-Dist: defusedxml==0.7.1
Requires-Dist: dnspython==2.7.0
Requires-Dist: docopt==0.6.2
Requires-Dist: docutils==0.22
Requires-Dist: fastapi==0.116.1
Requires-Dist: fonttools==4.59.1
Requires-Dist: greenlet==3.2.4
Requires-Dist: h11==0.16.0
Requires-Dist: id==1.5.0
Requires-Dist: idna==3.10
Requires-Dist: ipwhois==1.3.0
Requires-Dist: jaraco.classes==3.4.0
Requires-Dist: jaraco.context==6.0.1
Requires-Dist: jaraco.functools==4.3.0
Requires-Dist: keyring==25.6.0
Requires-Dist: kiwisolver==1.4.9
Requires-Dist: markdown-it-py==4.0.0
Requires-Dist: matplotlib==3.10.5
Requires-Dist: mdurl==0.1.2
Requires-Dist: more-itertools==10.7.0
Requires-Dist: nh3==0.3.0
Requires-Dist: numpy==2.3.2
Requires-Dist: outcome==1.3.0.post0
Requires-Dist: packaging==25.0
Requires-Dist: pandas==2.3.2
Requires-Dist: pefile==2023.2.7
Requires-Dist: pillow==11.3.0
Requires-Dist: pyasn1==0.6.1
Requires-Dist: pycparser==2.22
Requires-Dist: pycryptodome==3.23.0
Requires-Dist: pydantic==2.11.7
Requires-Dist: pydantic_core==2.33.2
Requires-Dist: pyinstaller==6.15.0
Requires-Dist: pyinstaller-hooks-contrib==2025.8
Requires-Dist: pyparsing==3.2.3
Requires-Dist: pysnmp==7.1.21
Requires-Dist: PySocks==1.7.1
Requires-Dist: pyspnego==0.11.2
Requires-Dist: python-dateutil==2.9.0.post0
Requires-Dist: pytz==2025.2
Requires-Dist: pywin32==311
Requires-Dist: pywin32-ctypes==0.2.3
Requires-Dist: requests==2.32.5
Requires-Dist: requests-toolbelt==1.0.0
Requires-Dist: rfc3986==2.0.0
Requires-Dist: rich==14.1.0
Requires-Dist: scapy==2.6.1
Requires-Dist: selenium==4.35.0
Requires-Dist: six==1.17.0
Requires-Dist: smbprotocol==1.15.0
Requires-Dist: sniffio==1.3.1
Requires-Dist: sortedcontainers==2.4.0
Requires-Dist: SQLAlchemy==2.0.43
Requires-Dist: starlette==0.47.2
Requires-Dist: trio==0.30.0
Requires-Dist: trio-websocket==0.12.2
Requires-Dist: typer==0.16.1
Requires-Dist: typing-inspection==0.4.1
Requires-Dist: typing_extensions==4.14.1
Requires-Dist: tzdata==2025.2
Requires-Dist: urllib3==2.5.0
Requires-Dist: uvicorn==0.35.0
Requires-Dist: websocket-client==1.8.0
Requires-Dist: wsproto==1.2.0
Requires-Dist: yarg==0.1.10
Dynamic: author
Dynamic: home-page
Dynamic: license-file
Dynamic: requires-python

# DevKit Forense – Ferramenta Educacional de Perícia Digital

![Python](https://img.shields.io/badge/Python-3.11-blue.svg) ![FastAPI](https://img.shields.io/badge/FastAPI-0.100-green.svg) ![Typer](https://img.shields.io/badge/Typer-0.7-orange.svg) ![SQLite](https://img.shields.io/badge/SQLite-3.41.2-lightgrey.svg)

## Sumário
1. [Introdução](#introdução)  
2. [Estrutura do Projeto](#estrutura-do-projeto)  
3. [Módulos Forenses](#módulos-forenses)  
   - [Network](#network)  
   - [Browser](#browser)  
   - [Email](#email)  
4. [Aplicações de Apoio](#aplicações-de-apoio)  
   - [Dashboard](#dashboard)  
   - [Visualizadores de Resultados](#visualizadores-de-resultados)  
   - [Assistente Interativo (Wizard)](#assistente-interativo-wizard)  
5. [Fluxo de Integração](#fluxo-de-integração)  
6. [Tecnologias Utilizadas](#tecnologias-utilizadas)  
7. [Planejamento e Futuras Extensões](#planejamento-e-futuras-extensões)  
8. [Instalação](#instalação)  
9. [Exemplos de Execução](#exemplos-de-execução)  
10. [Considerações Finais](#considerações-finais)

---

## 1. Introdução

**Objetivo:**  
O DevKit Forense é uma suíte de ferramentas educacionais para análise de evidências digitais, projetada para auxiliar no ensino de perícia digital. Combina **CLI**, **API** e **aplicações de apoio**, tornando o uso mais interativo, visual e didático.  

**Escopo:**  
- Execução de análises forenses em browsers, arquivos, emails e redes.  
- Visualização interativa de resultados.  
- Geração de relatórios automáticos.  
- Assistente interativo (Wizard) para guiar o usuário em tarefas complexas.  

**Público-alvo:**  
- Estudantes e professores de Segurança da Informação e Perícia Digital.  

---

## 2. Estrutura do Projeto

O DevKit está organizado em três camadas principais:

1. **CLI** – Executa os módulos forenses pelo terminal.  
2. **API** – Interface programática para execução de módulos e integração com dashboards.  
3. **Core** – Contém a lógica central, classes, funções e utilitários compartilhados pelos módulos.  

---

## 3. Módulos Forenses

### Network
| Módulo | Descrição |
|--------|-----------|
| `arp_scan` | Varre a rede para identificar dispositivos conectados via ARP. |
| `dns_recon` | Realiza levantamento de informações de DNS de domínios e hosts. |
| `fingerprinting` | Identifica sistemas, serviços e versões na rede. |
| `ip_info` | Consulta informações detalhadas sobre um endereço IP. |
| `network_map` | Gera mapa visual de hosts e conexões detectadas. |
| `ping_sweep` | Verifica quais hosts estão ativos em uma faixa de IP. |
| `port_scanner` | Identifica portas abertas e serviços ativos em hosts. |
| `snmp_scan` | Realiza varredura SNMP em dispositivos de rede. |
| `traceroute` | Traça o caminho percorrido por pacotes até um host alvo. |

### Browser
| Módulo | Descrição |
|--------|-----------|
| `browser_history` | Coleta histórico de navegação de diferentes browsers. |
| `common_words` | Identifica palavras mais comuns em histórico de navegação e downloads. |
| `downloads_history` | Lista arquivos baixados pelos usuários. |
| `fav_screen` | Captura e organiza screenshots de sites favoritos ou acessados. |
| `full_browser_history` | Consolida todo histórico de navegação em um único relatório. |
| `logins_chrome` | Extração de credenciais armazenadas no Chrome. |
| `logins_edge` | Extração de credenciais armazenadas no Edge. |
| `unusual_patterns` | Identifica padrões suspeitos em histórico de navegação ou downloads. |

### Email
| Módulo | Descrição |
|--------|-----------|
| `email_parser` | Extrai e organiza informações de emails. |
| `header_analysis` | Analisa cabeçalhos para identificar origem, roteamento e possíveis fraudes. |

---

## 4. Aplicações de Apoio

### Dashboard
**Objetivo:** Centralizar informações e permitir execução rápida de módulos.  

**Funcionalidades:**  
- Menu lateral com módulos do DevKit.  
- Cards com resumo de análises recentes.  
- Acesso direto a visualizadores e Wizard.  

**Tecnologias sugeridas:** Streamlit (web), PyQt (desktop).  

### Visualizadores de Resultados
**Objetivo:** Transformar saídas da CLI em gráficos e tabelas interativas.  

**Exemplos:**  
- Mapas de rede interativos.  
- Timeline de eventos e logs.  
- Gráficos de arquivos analisados, tipos e padrões suspeitos.  

**Integração:** Recebe dados da CLI em formato JSON ou CSV.  

### Assistente Interativo (Wizard)
**Objetivo:** Guiar o usuário passo a passo em tarefas complexas.  

**Exemplo de fluxo:**  
1. Seleção do tipo de análise (pendrive, rede, logs, etc.)  
2. Configuração de opções (scan de malware, intervalo de IP, dispositivo alvo)  
3. Execução automática dos módulos necessários  
4. Geração de relatórios e acesso aos visualizadores  

**Tecnologias sugeridas:**  
- Terminal interativo (`questionary`, `PyInquirer`)  
- Web/Desktop (mesmo framework do Dashboard)  

---

## 5. Fluxo de Integração

1. CLI executa módulos → gera resultados.  
2. API possibilita integração programática com dashboards e outras aplicações.  
3. Dashboard centraliza execução e resumo dos resultados.  
4. Visualizadores transformam dados em gráficos e tabelas interativas.  
5. Wizard guia o usuário em tarefas complexas.  

---

## 6. Tecnologias Utilizadas

- **Python** – Linguagem principal do projeto.  
- **FastAPI** – API para integração e execução de módulos.  
- **Typer** – CLI estruturada e interativa.  
- **SQLite** – Banco de dados local leve.  

---

## 7. Planejamento e Futuras Extensões

| Aplicação / Módulo | Objetivo | Possíveis Extensões |
|-------------------|----------|------------------|
| Dashboard | Painel central para visualização e execução de módulos | Filtros avançados, alertas em tempo real, integração direta com relatórios |
| Visualizadores | Transformar dados da CLI em gráficos, mapas e tabelas | Timeline interativa, heatmaps de rede, gráficos de comportamento de usuários |
| Wizard | Guiar o usuário passo a passo | Templates de análise rápida, integração automática com módulos de email e data, relatórios PDF/HTML |
| Novos módulos CLI | Expansão da análise forense | Logs de sistemas, recuperação de dispositivos móveis, análise de mídia, detecção de malware, integração com threat intelligence |
| Ferramentas auxiliares | Suporte a módulos existentes e novos | Exportação avançada de relatórios, dashboards customizáveis, notificações em tempo real |

---

## 8. Instalação

```bash
# Clonar o repositório
git clone https://github.com/ErickG123/devkit_forense.git
cd devkit-forense

# Criar ambiente virtual
python -m venv venv
source venv/bin/activate  # Linux/macOS
venv\Scripts\activate    # Windows

# Instalar dependências
pip install -r requirements.txt
```

---

## 9. Exemplos de Execução

**CLI:**
```bash
# Executar módulo de network scan
python cli.py network_map --target 192.168.0.0/24

# Coletar histórico do Chrome
python cli.py browser_history --browser chrome
```

**API:**
```bash
# Executar API
uvicorn api.main:app --reload
```

---

## 10. Considerações Finais

O DevKit Forense combina **educação e prática**, permitindo que usuários explorem análise forense digital de forma segura, didática e interativa.  
As aplicações de apoio aumentam a acessibilidade e engajamento, tornando o estudo da perícia digital mais visual e intuitivo.  
O planejamento de novos módulos e ferramentas garante evolução contínua da plataforma, mantendo-a atualizada e relevante para atividades acadêmicas e laboratoriais.
