forensic-cli 1.2.6__tar.gz → 1.2.8__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {forensic_cli-1.2.6/src/forensic_cli.egg-info → forensic_cli-1.2.8}/PKG-INFO +29 -101
- forensic_cli-1.2.8/README.md +123 -0
- {forensic_cli-1.2.6 → forensic_cli-1.2.8}/pyproject.toml +2 -4
- {forensic_cli-1.2.6 → forensic_cli-1.2.8}/setup.py +1 -1
- {forensic_cli-1.2.6 → forensic_cli-1.2.8}/src/cli/commands/network.py +1 -1
- forensic_cli-1.2.8/src/core/network/arp_scan.py +38 -0
- {forensic_cli-1.2.6 → forensic_cli-1.2.8/src/forensic_cli.egg-info}/PKG-INFO +29 -101
- {forensic_cli-1.2.6 → forensic_cli-1.2.8}/src/forensic_cli.egg-info/requires.txt +0 -3
- forensic_cli-1.2.6/README.md +0 -193
- forensic_cli-1.2.6/src/core/network/arp_scan.py +0 -16
- {forensic_cli-1.2.6 → forensic_cli-1.2.8}/LICENSE +0 -0
- {forensic_cli-1.2.6 → forensic_cli-1.2.8}/LICENSE-GPL +0 -0
- {forensic_cli-1.2.6 → forensic_cli-1.2.8}/setup.cfg +0 -0
- {forensic_cli-1.2.6 → forensic_cli-1.2.8}/src/cli/__init__.py +0 -0
- {forensic_cli-1.2.6 → forensic_cli-1.2.8}/src/cli/commands/__init__.py +0 -0
- {forensic_cli-1.2.6 → forensic_cli-1.2.8}/src/cli/commands/browser.py +0 -0
- {forensic_cli-1.2.6 → forensic_cli-1.2.8}/src/cli/commands/describe.py +0 -0
- {forensic_cli-1.2.6 → forensic_cli-1.2.8}/src/cli/commands/email.py +0 -0
- {forensic_cli-1.2.6 → forensic_cli-1.2.8}/src/cli/commands/utils.py +0 -0
- {forensic_cli-1.2.6 → forensic_cli-1.2.8}/src/cli/main.py +0 -0
- {forensic_cli-1.2.6 → forensic_cli-1.2.8}/src/core/__init__.py +0 -0
- {forensic_cli-1.2.6 → forensic_cli-1.2.8}/src/core/browser/browser_history.py +0 -0
- {forensic_cli-1.2.6 → forensic_cli-1.2.8}/src/core/browser/common_words.py +0 -0
- {forensic_cli-1.2.6 → forensic_cli-1.2.8}/src/core/browser/downloads_history.py +0 -0
- {forensic_cli-1.2.6 → forensic_cli-1.2.8}/src/core/browser/fav_screen.py +0 -0
- {forensic_cli-1.2.6 → forensic_cli-1.2.8}/src/core/browser/logins.py +0 -0
- {forensic_cli-1.2.6 → forensic_cli-1.2.8}/src/core/browser/unusual_patterns.py +0 -0
- {forensic_cli-1.2.6 → forensic_cli-1.2.8}/src/core/data/__init__.py +0 -0
- {forensic_cli-1.2.6 → forensic_cli-1.2.8}/src/core/data/data_recovery.py +0 -0
- {forensic_cli-1.2.6 → forensic_cli-1.2.8}/src/core/db/db.py +0 -0
- {forensic_cli-1.2.6 → forensic_cli-1.2.8}/src/core/email/email_parser.py +0 -0
- {forensic_cli-1.2.6 → forensic_cli-1.2.8}/src/core/email/header_analysis.py +0 -0
- {forensic_cli-1.2.6 → forensic_cli-1.2.8}/src/core/models/orm.py +0 -0
- {forensic_cli-1.2.6 → forensic_cli-1.2.8}/src/core/models/schemas.py +0 -0
- {forensic_cli-1.2.6 → forensic_cli-1.2.8}/src/core/network/__init__.py +0 -0
- {forensic_cli-1.2.6 → forensic_cli-1.2.8}/src/core/network/dns_recon.py +0 -0
- {forensic_cli-1.2.6 → forensic_cli-1.2.8}/src/core/network/fingerprinting.py +0 -0
- {forensic_cli-1.2.6 → forensic_cli-1.2.8}/src/core/network/ip_info.py +0 -0
- {forensic_cli-1.2.6 → forensic_cli-1.2.8}/src/core/network/network_map.py +0 -0
- {forensic_cli-1.2.6 → forensic_cli-1.2.8}/src/core/network/ping_sweep.py +0 -0
- {forensic_cli-1.2.6 → forensic_cli-1.2.8}/src/core/network/port_scanner.py +0 -0
- {forensic_cli-1.2.6 → forensic_cli-1.2.8}/src/core/network/smb_scan.py +0 -0
- {forensic_cli-1.2.6 → forensic_cli-1.2.8}/src/core/network/snmp_scan.py +0 -0
- {forensic_cli-1.2.6 → forensic_cli-1.2.8}/src/core/network/traceroute.py +0 -0
- {forensic_cli-1.2.6 → forensic_cli-1.2.8}/src/core/network/utils.py +0 -0
- {forensic_cli-1.2.6 → forensic_cli-1.2.8}/src/core/registry.py +0 -0
- {forensic_cli-1.2.6 → forensic_cli-1.2.8}/src/core/utils/__init__.py +0 -0
- {forensic_cli-1.2.6 → forensic_cli-1.2.8}/src/core/utils/gerar_amostras.py +0 -0
- {forensic_cli-1.2.6 → forensic_cli-1.2.8}/src/forensic_cli.egg-info/SOURCES.txt +0 -0
- {forensic_cli-1.2.6 → forensic_cli-1.2.8}/src/forensic_cli.egg-info/dependency_links.txt +0 -0
- {forensic_cli-1.2.6 → forensic_cli-1.2.8}/src/forensic_cli.egg-info/entry_points.txt +0 -0
- {forensic_cli-1.2.6 → forensic_cli-1.2.8}/src/forensic_cli.egg-info/top_level.txt +0 -0
- {forensic_cli-1.2.6 → forensic_cli-1.2.8}/tests/test_file_inspector.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: forensic-cli
|
|
3
|
-
Version: 1.2.
|
|
3
|
+
Version: 1.2.8
|
|
4
4
|
Summary: DevKit Forense - CLI para análise de navegadores e rede
|
|
5
5
|
Home-page: https://github.com/ErickG123/devkit_forense
|
|
6
6
|
Author: Erick Gabriel dos Santos Alves
|
|
@@ -8,6 +8,7 @@ Author-email: Erick Gabriel dos Santos Alves <erickgabrielalves0@gmail.com>
|
|
|
8
8
|
License: MIT
|
|
9
9
|
Project-URL: Changelog, https://erickg123.github.io/devkit_forense/
|
|
10
10
|
Project-URL: Source, https://github.com/ErickG123/devkit_forense
|
|
11
|
+
Project-URL: Issues, https://github.com/ErickG123/devkit_forense/issues
|
|
11
12
|
Keywords: forensics,cli,network,browser
|
|
12
13
|
Requires-Python: >=3.11
|
|
13
14
|
Description-Content-Type: text/markdown
|
|
@@ -29,7 +30,6 @@ Requires-Dist: defusedxml==0.7.1
|
|
|
29
30
|
Requires-Dist: dnspython==2.7.0
|
|
30
31
|
Requires-Dist: docopt==0.6.2
|
|
31
32
|
Requires-Dist: docutils==0.22
|
|
32
|
-
Requires-Dist: fastapi==0.116.1
|
|
33
33
|
Requires-Dist: fonttools==4.59.1
|
|
34
34
|
Requires-Dist: greenlet==3.2.4
|
|
35
35
|
Requires-Dist: h11==0.16.0
|
|
@@ -77,7 +77,6 @@ Requires-Dist: six==1.17.0
|
|
|
77
77
|
Requires-Dist: smbprotocol==1.15.0
|
|
78
78
|
Requires-Dist: sniffio==1.3.1
|
|
79
79
|
Requires-Dist: sortedcontainers==2.4.0
|
|
80
|
-
Requires-Dist: SQLAlchemy==2.0.43
|
|
81
80
|
Requires-Dist: starlette==0.47.2
|
|
82
81
|
Requires-Dist: trio==0.30.0
|
|
83
82
|
Requires-Dist: trio-websocket==0.12.2
|
|
@@ -86,7 +85,6 @@ Requires-Dist: typing-inspection==0.4.1
|
|
|
86
85
|
Requires-Dist: typing_extensions==4.14.1
|
|
87
86
|
Requires-Dist: tzdata==2025.2
|
|
88
87
|
Requires-Dist: urllib3==2.5.0
|
|
89
|
-
Requires-Dist: uvicorn==0.35.0
|
|
90
88
|
Requires-Dist: websocket-client==1.8.0
|
|
91
89
|
Requires-Dist: wsproto==1.2.0
|
|
92
90
|
Requires-Dist: yarg==0.1.10
|
|
@@ -106,16 +104,10 @@ Dynamic: requires-python
|
|
|
106
104
|
- [Network](#network)
|
|
107
105
|
- [Browser](#browser)
|
|
108
106
|
- [Email](#email)
|
|
109
|
-
4. [
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
5. [Fluxo de Integração](#fluxo-de-integração)
|
|
114
|
-
6. [Tecnologias Utilizadas](#tecnologias-utilizadas)
|
|
115
|
-
7. [Planejamento e Futuras Extensões](#planejamento-e-futuras-extensões)
|
|
116
|
-
8. [Instalação](#instalação)
|
|
117
|
-
9. [Exemplos de Execução](#exemplos-de-execução)
|
|
118
|
-
10. [Considerações Finais](#considerações-finais)
|
|
107
|
+
4. [Tecnologias Utilizadas](#tecnologias-utilizadas)
|
|
108
|
+
5. [Planejamento e Futuras Extensões](#planejamento-e-futuras-extensões)
|
|
109
|
+
6. [Instalação](#instalação)
|
|
110
|
+
7. [Exemplos de Execução](#exemplos-de-execução)
|
|
119
111
|
|
|
120
112
|
---
|
|
121
113
|
|
|
@@ -148,84 +140,38 @@ O DevKit está organizado em três camadas principais:
|
|
|
148
140
|
## 3. Módulos Forenses
|
|
149
141
|
|
|
150
142
|
### Network
|
|
151
|
-
|
|
|
143
|
+
| Função | Descrição |
|
|
152
144
|
|--------|-----------|
|
|
153
|
-
| `
|
|
154
|
-
| `
|
|
155
|
-
| `
|
|
156
|
-
| `
|
|
157
|
-
| `
|
|
145
|
+
| `ipinfo` | Consulta informações detalhadas sobre um endereço IP. |
|
|
146
|
+
| `arpscan` | Varre a rede para identificar dispositivos conectados via ARP. |
|
|
147
|
+
| `dnscan` | Realiza levantamento de informações de DNS de domínios e hosts. |
|
|
148
|
+
| `snmpscan` | Realiza varredura SNMP em dispositivos de rede. |
|
|
149
|
+
| `smbscan` | Verifica serviços SMB ativos em um host . |
|
|
150
|
+
| `sweep` | Verifica quais hosts estão ativos em uma faixa de IP. |
|
|
158
151
|
| `traceroute` | Traça o caminho percorrido por pacotes até um host alvo. |
|
|
159
|
-
| `
|
|
160
|
-
| `
|
|
152
|
+
| `map` | Gera mapa visual de hosts e conexões detectadas. |
|
|
153
|
+
| `scan` | Identifica portas abertas e serviços ativos em hosts. |
|
|
161
154
|
| `fingerprinting` | Identifica sistemas, serviços e versões na rede. |
|
|
162
155
|
|
|
163
156
|
### Browser
|
|
164
|
-
|
|
|
157
|
+
| Função | Descrição |
|
|
165
158
|
|--------|-----------|
|
|
166
159
|
| `logins` | Extração de credenciais armazenadas no Chrome e Edge. |
|
|
167
|
-
| `
|
|
168
|
-
| `
|
|
169
|
-
| `
|
|
170
|
-
| `
|
|
171
|
-
| `
|
|
160
|
+
| `favscreen` | Captura e organiza screenshots de sites favoritos ou acessados. |
|
|
161
|
+
| `words` | Identifica palavras mais comuns em histórico de navegação e downloads. |
|
|
162
|
+
| `history` | Coleta histórico de navegação de diferentes browsers. |
|
|
163
|
+
| `patterns` | Identifica padrões suspeitos em histórico de navegação ou downloads. |
|
|
164
|
+
| `downloads` | Lista arquivos baixados pelos usuários. |
|
|
172
165
|
|
|
173
166
|
### Email
|
|
174
|
-
|
|
|
167
|
+
| Função | Descrição |
|
|
175
168
|
|--------|-----------|
|
|
176
169
|
| `email_parser` | Extrai e organiza informações de emails. |
|
|
177
170
|
| `header_analysis` | Analisa cabeçalhos para identificar origem, roteamento e possíveis fraudes. |
|
|
178
171
|
|
|
179
172
|
---
|
|
180
173
|
|
|
181
|
-
## 4.
|
|
182
|
-
|
|
183
|
-
### Dashboard
|
|
184
|
-
**Objetivo:** Centralizar informações e permitir execução rápida de módulos.
|
|
185
|
-
|
|
186
|
-
**Funcionalidades:**
|
|
187
|
-
- Menu lateral com módulos do DevKit.
|
|
188
|
-
- Cards com resumo de análises recentes.
|
|
189
|
-
- Acesso direto a visualizadores e Wizard.
|
|
190
|
-
|
|
191
|
-
**Tecnologias sugeridas:** Streamlit (web), PyQt (desktop).
|
|
192
|
-
|
|
193
|
-
### Visualizadores de Resultados
|
|
194
|
-
**Objetivo:** Transformar saídas da CLI em gráficos e tabelas interativas.
|
|
195
|
-
|
|
196
|
-
**Exemplos:**
|
|
197
|
-
- Mapas de rede interativos.
|
|
198
|
-
- Timeline de eventos e logs.
|
|
199
|
-
- Gráficos de arquivos analisados, tipos e padrões suspeitos.
|
|
200
|
-
|
|
201
|
-
**Integração:** Recebe dados da CLI em formato JSON ou CSV.
|
|
202
|
-
|
|
203
|
-
### Assistente Interativo (Wizard)
|
|
204
|
-
**Objetivo:** Guiar o usuário passo a passo em tarefas complexas.
|
|
205
|
-
|
|
206
|
-
**Exemplo de fluxo:**
|
|
207
|
-
1. Seleção do tipo de análise (pendrive, rede, logs, etc.)
|
|
208
|
-
2. Configuração de opções (scan de malware, intervalo de IP, dispositivo alvo)
|
|
209
|
-
3. Execução automática dos módulos necessários
|
|
210
|
-
4. Geração de relatórios e acesso aos visualizadores
|
|
211
|
-
|
|
212
|
-
**Tecnologias sugeridas:**
|
|
213
|
-
- Terminal interativo (`questionary`, `PyInquirer`)
|
|
214
|
-
- Web/Desktop (mesmo framework do Dashboard)
|
|
215
|
-
|
|
216
|
-
---
|
|
217
|
-
|
|
218
|
-
## 5. Fluxo de Integração
|
|
219
|
-
|
|
220
|
-
1. CLI executa módulos → gera resultados.
|
|
221
|
-
2. API possibilita integração programática com dashboards e outras aplicações.
|
|
222
|
-
3. Dashboard centraliza execução e resumo dos resultados.
|
|
223
|
-
4. Visualizadores transformam dados em gráficos e tabelas interativas.
|
|
224
|
-
5. Wizard guia o usuário em tarefas complexas.
|
|
225
|
-
|
|
226
|
-
---
|
|
227
|
-
|
|
228
|
-
## 6. Tecnologias Utilizadas
|
|
174
|
+
## 4. Tecnologias Utilizadas
|
|
229
175
|
|
|
230
176
|
- **Python** – Linguagem principal do projeto.
|
|
231
177
|
- **FastAPI** – API para integração e execução de módulos.
|
|
@@ -234,7 +180,7 @@ O DevKit está organizado em três camadas principais:
|
|
|
234
180
|
|
|
235
181
|
---
|
|
236
182
|
|
|
237
|
-
##
|
|
183
|
+
## 5. Planejamento e Futuras Extensões
|
|
238
184
|
|
|
239
185
|
| Aplicação / Módulo | Objetivo | Possíveis Extensões |
|
|
240
186
|
|-------------------|----------|------------------|
|
|
@@ -246,33 +192,23 @@ O DevKit está organizado em três camadas principais:
|
|
|
246
192
|
|
|
247
193
|
---
|
|
248
194
|
|
|
249
|
-
##
|
|
195
|
+
## 6. Instalação
|
|
250
196
|
|
|
251
197
|
```bash
|
|
252
|
-
|
|
253
|
-
git clone https://github.com/ErickG123/devkit_forense.git
|
|
254
|
-
cd devkit-forense
|
|
255
|
-
|
|
256
|
-
# Criar ambiente virtual
|
|
257
|
-
python -m venv venv
|
|
258
|
-
source venv/bin/activate # Linux/macOS
|
|
259
|
-
venv\Scripts\activate # Windows
|
|
260
|
-
|
|
261
|
-
# Instalar dependências
|
|
262
|
-
pip install -r requirements.txt
|
|
198
|
+
pip install forensic-cli
|
|
263
199
|
```
|
|
264
200
|
|
|
265
201
|
---
|
|
266
202
|
|
|
267
|
-
##
|
|
203
|
+
## 7. Exemplos de Execução
|
|
268
204
|
|
|
269
205
|
**CLI:**
|
|
270
206
|
```bash
|
|
271
207
|
# Executar módulo de network scan
|
|
272
|
-
|
|
208
|
+
forensic-cli network map --network 192.168.0.0/24
|
|
273
209
|
|
|
274
210
|
# Coletar histórico do Chrome
|
|
275
|
-
|
|
211
|
+
forensic-cli browser history --chrome
|
|
276
212
|
```
|
|
277
213
|
|
|
278
214
|
**API:**
|
|
@@ -280,11 +216,3 @@ python cli.py browser_history --browser chrome
|
|
|
280
216
|
# Executar API
|
|
281
217
|
uvicorn api.main:app --reload
|
|
282
218
|
```
|
|
283
|
-
|
|
284
|
-
---
|
|
285
|
-
|
|
286
|
-
## 10. Considerações Finais
|
|
287
|
-
|
|
288
|
-
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.
|
|
289
|
-
As aplicações de apoio aumentam a acessibilidade e engajamento, tornando o estudo da perícia digital mais visual e intuitivo.
|
|
290
|
-
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.
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
# DevKit Forense – Ferramenta Educacional de Perícia Digital
|
|
2
|
+
|
|
3
|
+
   
|
|
4
|
+
|
|
5
|
+
## Sumário
|
|
6
|
+
1. [Introdução](#introdução)
|
|
7
|
+
2. [Estrutura do Projeto](#estrutura-do-projeto)
|
|
8
|
+
3. [Módulos Forenses](#módulos-forenses)
|
|
9
|
+
- [Network](#network)
|
|
10
|
+
- [Browser](#browser)
|
|
11
|
+
- [Email](#email)
|
|
12
|
+
4. [Tecnologias Utilizadas](#tecnologias-utilizadas)
|
|
13
|
+
5. [Planejamento e Futuras Extensões](#planejamento-e-futuras-extensões)
|
|
14
|
+
6. [Instalação](#instalação)
|
|
15
|
+
7. [Exemplos de Execução](#exemplos-de-execução)
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## 1. Introdução
|
|
20
|
+
|
|
21
|
+
**Objetivo:**
|
|
22
|
+
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.
|
|
23
|
+
|
|
24
|
+
**Escopo:**
|
|
25
|
+
- Execução de análises forenses em browsers, arquivos, emails e redes.
|
|
26
|
+
- Visualização interativa de resultados.
|
|
27
|
+
- Geração de relatórios automáticos.
|
|
28
|
+
- Assistente interativo (Wizard) para guiar o usuário em tarefas complexas.
|
|
29
|
+
|
|
30
|
+
**Público-alvo:**
|
|
31
|
+
- Estudantes e professores de Segurança da Informação e Perícia Digital.
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## 2. Estrutura do Projeto
|
|
36
|
+
|
|
37
|
+
O DevKit está organizado em três camadas principais:
|
|
38
|
+
|
|
39
|
+
1. **CLI** – Executa os módulos forenses pelo terminal.
|
|
40
|
+
2. **API** – Interface programática para execução de módulos e integração com dashboards.
|
|
41
|
+
3. **Core** – Contém a lógica central, classes, funções e utilitários compartilhados pelos módulos.
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## 3. Módulos Forenses
|
|
46
|
+
|
|
47
|
+
### Network
|
|
48
|
+
| Função | Descrição |
|
|
49
|
+
|--------|-----------|
|
|
50
|
+
| `ipinfo` | Consulta informações detalhadas sobre um endereço IP. |
|
|
51
|
+
| `arpscan` | Varre a rede para identificar dispositivos conectados via ARP. |
|
|
52
|
+
| `dnscan` | Realiza levantamento de informações de DNS de domínios e hosts. |
|
|
53
|
+
| `snmpscan` | Realiza varredura SNMP em dispositivos de rede. |
|
|
54
|
+
| `smbscan` | Verifica serviços SMB ativos em um host . |
|
|
55
|
+
| `sweep` | Verifica quais hosts estão ativos em uma faixa de IP. |
|
|
56
|
+
| `traceroute` | Traça o caminho percorrido por pacotes até um host alvo. |
|
|
57
|
+
| `map` | Gera mapa visual de hosts e conexões detectadas. |
|
|
58
|
+
| `scan` | Identifica portas abertas e serviços ativos em hosts. |
|
|
59
|
+
| `fingerprinting` | Identifica sistemas, serviços e versões na rede. |
|
|
60
|
+
|
|
61
|
+
### Browser
|
|
62
|
+
| Função | Descrição |
|
|
63
|
+
|--------|-----------|
|
|
64
|
+
| `logins` | Extração de credenciais armazenadas no Chrome e Edge. |
|
|
65
|
+
| `favscreen` | Captura e organiza screenshots de sites favoritos ou acessados. |
|
|
66
|
+
| `words` | Identifica palavras mais comuns em histórico de navegação e downloads. |
|
|
67
|
+
| `history` | Coleta histórico de navegação de diferentes browsers. |
|
|
68
|
+
| `patterns` | Identifica padrões suspeitos em histórico de navegação ou downloads. |
|
|
69
|
+
| `downloads` | Lista arquivos baixados pelos usuários. |
|
|
70
|
+
|
|
71
|
+
### Email
|
|
72
|
+
| Função | Descrição |
|
|
73
|
+
|--------|-----------|
|
|
74
|
+
| `email_parser` | Extrai e organiza informações de emails. |
|
|
75
|
+
| `header_analysis` | Analisa cabeçalhos para identificar origem, roteamento e possíveis fraudes. |
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
## 4. Tecnologias Utilizadas
|
|
80
|
+
|
|
81
|
+
- **Python** – Linguagem principal do projeto.
|
|
82
|
+
- **FastAPI** – API para integração e execução de módulos.
|
|
83
|
+
- **Typer** – CLI estruturada e interativa.
|
|
84
|
+
- **SQLite** – Banco de dados local leve.
|
|
85
|
+
|
|
86
|
+
---
|
|
87
|
+
|
|
88
|
+
## 5. Planejamento e Futuras Extensões
|
|
89
|
+
|
|
90
|
+
| Aplicação / Módulo | Objetivo | Possíveis Extensões |
|
|
91
|
+
|-------------------|----------|------------------|
|
|
92
|
+
| 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 |
|
|
93
|
+
| Visualizadores | Transformar dados da CLI em gráficos, mapas e tabelas | Timeline interativa, heatmaps de rede, gráficos de comportamento de usuários |
|
|
94
|
+
| 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 |
|
|
95
|
+
| 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 |
|
|
96
|
+
| Ferramentas auxiliares | Suporte a módulos existentes e novos | Exportação avançada de relatórios, dashboards customizáveis, notificações em tempo real |
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
## 6. Instalação
|
|
101
|
+
|
|
102
|
+
```bash
|
|
103
|
+
pip install forensic-cli
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
## 7. Exemplos de Execução
|
|
109
|
+
|
|
110
|
+
**CLI:**
|
|
111
|
+
```bash
|
|
112
|
+
# Executar módulo de network scan
|
|
113
|
+
forensic-cli network map --network 192.168.0.0/24
|
|
114
|
+
|
|
115
|
+
# Coletar histórico do Chrome
|
|
116
|
+
forensic-cli browser history --chrome
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
**API:**
|
|
120
|
+
```bash
|
|
121
|
+
# Executar API
|
|
122
|
+
uvicorn api.main:app --reload
|
|
123
|
+
```
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "forensic-cli"
|
|
7
|
-
version = "1.2.
|
|
7
|
+
version = "1.2.8"
|
|
8
8
|
description = "DevKit Forense - CLI para análise de navegadores e rede"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
license = {text = "MIT"}
|
|
@@ -31,7 +31,6 @@ dependencies = [
|
|
|
31
31
|
"dnspython==2.7.0",
|
|
32
32
|
"docopt==0.6.2",
|
|
33
33
|
"docutils==0.22",
|
|
34
|
-
"fastapi==0.116.1",
|
|
35
34
|
"fonttools==4.59.1",
|
|
36
35
|
"greenlet==3.2.4",
|
|
37
36
|
"h11==0.16.0",
|
|
@@ -79,7 +78,6 @@ dependencies = [
|
|
|
79
78
|
"smbprotocol==1.15.0",
|
|
80
79
|
"sniffio==1.3.1",
|
|
81
80
|
"sortedcontainers==2.4.0",
|
|
82
|
-
"SQLAlchemy==2.0.43",
|
|
83
81
|
"starlette==0.47.2",
|
|
84
82
|
"trio==0.30.0",
|
|
85
83
|
"trio-websocket==0.12.2",
|
|
@@ -88,7 +86,6 @@ dependencies = [
|
|
|
88
86
|
"typing_extensions==4.14.1",
|
|
89
87
|
"tzdata==2025.2",
|
|
90
88
|
"urllib3==2.5.0",
|
|
91
|
-
"uvicorn==0.35.0",
|
|
92
89
|
"websocket-client==1.8.0",
|
|
93
90
|
"wsproto==1.2.0",
|
|
94
91
|
"yarg==0.1.10"
|
|
@@ -104,3 +101,4 @@ forensic-cli = "cli.main:app"
|
|
|
104
101
|
[project.urls]
|
|
105
102
|
Changelog = "https://erickg123.github.io/devkit_forense/"
|
|
106
103
|
Source = "https://github.com/ErickG123/devkit_forense"
|
|
104
|
+
Issues = "https://github.com/ErickG123/devkit_forense/issues"
|
|
@@ -2,7 +2,7 @@ from setuptools import setup, find_packages
|
|
|
2
2
|
|
|
3
3
|
setup(
|
|
4
4
|
name="forensic_cli",
|
|
5
|
-
version="1.2.
|
|
5
|
+
version="1.2.8",
|
|
6
6
|
author="Erick Gabriel dos Santos Alves",
|
|
7
7
|
author_email="erickgabrielalves0@gmail.com",
|
|
8
8
|
description="Toolkit modular para análise de evidências digitais",
|
|
@@ -18,7 +18,7 @@ network_app = typer.Typer(help="Conjunto de ferramentas para análise e explora
|
|
|
18
18
|
@network_app.command("map", help="Mapeia dispositivos ativos na rede e salva os resultados em JSON/CSV")
|
|
19
19
|
def map(
|
|
20
20
|
network: str = typer.Option(..., help="Range de IPs da rede. Exemplo: 192.168.1.1-254"),
|
|
21
|
-
output_dir: str = typer.Option("
|
|
21
|
+
output_dir: str = typer.Option("./output", help="Diretório para salvar os resultados"),
|
|
22
22
|
):
|
|
23
23
|
result = run_network_map(network, output_dir)
|
|
24
24
|
typer.echo(f"Resultados salvos em: {result['json_file']} e {result['csv_file']}")
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import typer
|
|
2
|
+
import ipaddress
|
|
3
|
+
from scapy.all import ARP, Ether, srp, sr1, IP, ICMP
|
|
4
|
+
|
|
5
|
+
def is_valid_ip(addr: str) -> bool:
|
|
6
|
+
try:
|
|
7
|
+
ipaddress.ip_address(addr)
|
|
8
|
+
return True
|
|
9
|
+
except ValueError:
|
|
10
|
+
return False
|
|
11
|
+
|
|
12
|
+
def arp_scan(network_ips):
|
|
13
|
+
active_hosts = []
|
|
14
|
+
|
|
15
|
+
ips = [ip for ip in network_ips if is_valid_ip(ip)]
|
|
16
|
+
|
|
17
|
+
typer.echo(f"[+] Iniciando ARP scan ({len(ips)} IPs)...")
|
|
18
|
+
|
|
19
|
+
with typer.progressbar(ips, label="ARP Scan") as progress:
|
|
20
|
+
for ip in ips:
|
|
21
|
+
try:
|
|
22
|
+
pkt = Ether(dst="ff:ff:ff:ff:ff:ff") / ARP(pdst=ip)
|
|
23
|
+
ans, _ = srp(pkt, timeout=1, verbose=0)
|
|
24
|
+
if ans:
|
|
25
|
+
active_hosts.append(ip)
|
|
26
|
+
|
|
27
|
+
except Exception:
|
|
28
|
+
try:
|
|
29
|
+
pkt = IP(dst=ip) / ICMP()
|
|
30
|
+
resp = sr1(pkt, timeout=1, verbose=0)
|
|
31
|
+
if resp:
|
|
32
|
+
active_hosts.append(ip)
|
|
33
|
+
except Exception:
|
|
34
|
+
pass
|
|
35
|
+
|
|
36
|
+
progress.update(1)
|
|
37
|
+
|
|
38
|
+
return active_hosts
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: forensic-cli
|
|
3
|
-
Version: 1.2.
|
|
3
|
+
Version: 1.2.8
|
|
4
4
|
Summary: DevKit Forense - CLI para análise de navegadores e rede
|
|
5
5
|
Home-page: https://github.com/ErickG123/devkit_forense
|
|
6
6
|
Author: Erick Gabriel dos Santos Alves
|
|
@@ -8,6 +8,7 @@ Author-email: Erick Gabriel dos Santos Alves <erickgabrielalves0@gmail.com>
|
|
|
8
8
|
License: MIT
|
|
9
9
|
Project-URL: Changelog, https://erickg123.github.io/devkit_forense/
|
|
10
10
|
Project-URL: Source, https://github.com/ErickG123/devkit_forense
|
|
11
|
+
Project-URL: Issues, https://github.com/ErickG123/devkit_forense/issues
|
|
11
12
|
Keywords: forensics,cli,network,browser
|
|
12
13
|
Requires-Python: >=3.11
|
|
13
14
|
Description-Content-Type: text/markdown
|
|
@@ -29,7 +30,6 @@ Requires-Dist: defusedxml==0.7.1
|
|
|
29
30
|
Requires-Dist: dnspython==2.7.0
|
|
30
31
|
Requires-Dist: docopt==0.6.2
|
|
31
32
|
Requires-Dist: docutils==0.22
|
|
32
|
-
Requires-Dist: fastapi==0.116.1
|
|
33
33
|
Requires-Dist: fonttools==4.59.1
|
|
34
34
|
Requires-Dist: greenlet==3.2.4
|
|
35
35
|
Requires-Dist: h11==0.16.0
|
|
@@ -77,7 +77,6 @@ Requires-Dist: six==1.17.0
|
|
|
77
77
|
Requires-Dist: smbprotocol==1.15.0
|
|
78
78
|
Requires-Dist: sniffio==1.3.1
|
|
79
79
|
Requires-Dist: sortedcontainers==2.4.0
|
|
80
|
-
Requires-Dist: SQLAlchemy==2.0.43
|
|
81
80
|
Requires-Dist: starlette==0.47.2
|
|
82
81
|
Requires-Dist: trio==0.30.0
|
|
83
82
|
Requires-Dist: trio-websocket==0.12.2
|
|
@@ -86,7 +85,6 @@ Requires-Dist: typing-inspection==0.4.1
|
|
|
86
85
|
Requires-Dist: typing_extensions==4.14.1
|
|
87
86
|
Requires-Dist: tzdata==2025.2
|
|
88
87
|
Requires-Dist: urllib3==2.5.0
|
|
89
|
-
Requires-Dist: uvicorn==0.35.0
|
|
90
88
|
Requires-Dist: websocket-client==1.8.0
|
|
91
89
|
Requires-Dist: wsproto==1.2.0
|
|
92
90
|
Requires-Dist: yarg==0.1.10
|
|
@@ -106,16 +104,10 @@ Dynamic: requires-python
|
|
|
106
104
|
- [Network](#network)
|
|
107
105
|
- [Browser](#browser)
|
|
108
106
|
- [Email](#email)
|
|
109
|
-
4. [
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
5. [Fluxo de Integração](#fluxo-de-integração)
|
|
114
|
-
6. [Tecnologias Utilizadas](#tecnologias-utilizadas)
|
|
115
|
-
7. [Planejamento e Futuras Extensões](#planejamento-e-futuras-extensões)
|
|
116
|
-
8. [Instalação](#instalação)
|
|
117
|
-
9. [Exemplos de Execução](#exemplos-de-execução)
|
|
118
|
-
10. [Considerações Finais](#considerações-finais)
|
|
107
|
+
4. [Tecnologias Utilizadas](#tecnologias-utilizadas)
|
|
108
|
+
5. [Planejamento e Futuras Extensões](#planejamento-e-futuras-extensões)
|
|
109
|
+
6. [Instalação](#instalação)
|
|
110
|
+
7. [Exemplos de Execução](#exemplos-de-execução)
|
|
119
111
|
|
|
120
112
|
---
|
|
121
113
|
|
|
@@ -148,84 +140,38 @@ O DevKit está organizado em três camadas principais:
|
|
|
148
140
|
## 3. Módulos Forenses
|
|
149
141
|
|
|
150
142
|
### Network
|
|
151
|
-
|
|
|
143
|
+
| Função | Descrição |
|
|
152
144
|
|--------|-----------|
|
|
153
|
-
| `
|
|
154
|
-
| `
|
|
155
|
-
| `
|
|
156
|
-
| `
|
|
157
|
-
| `
|
|
145
|
+
| `ipinfo` | Consulta informações detalhadas sobre um endereço IP. |
|
|
146
|
+
| `arpscan` | Varre a rede para identificar dispositivos conectados via ARP. |
|
|
147
|
+
| `dnscan` | Realiza levantamento de informações de DNS de domínios e hosts. |
|
|
148
|
+
| `snmpscan` | Realiza varredura SNMP em dispositivos de rede. |
|
|
149
|
+
| `smbscan` | Verifica serviços SMB ativos em um host . |
|
|
150
|
+
| `sweep` | Verifica quais hosts estão ativos em uma faixa de IP. |
|
|
158
151
|
| `traceroute` | Traça o caminho percorrido por pacotes até um host alvo. |
|
|
159
|
-
| `
|
|
160
|
-
| `
|
|
152
|
+
| `map` | Gera mapa visual de hosts e conexões detectadas. |
|
|
153
|
+
| `scan` | Identifica portas abertas e serviços ativos em hosts. |
|
|
161
154
|
| `fingerprinting` | Identifica sistemas, serviços e versões na rede. |
|
|
162
155
|
|
|
163
156
|
### Browser
|
|
164
|
-
|
|
|
157
|
+
| Função | Descrição |
|
|
165
158
|
|--------|-----------|
|
|
166
159
|
| `logins` | Extração de credenciais armazenadas no Chrome e Edge. |
|
|
167
|
-
| `
|
|
168
|
-
| `
|
|
169
|
-
| `
|
|
170
|
-
| `
|
|
171
|
-
| `
|
|
160
|
+
| `favscreen` | Captura e organiza screenshots de sites favoritos ou acessados. |
|
|
161
|
+
| `words` | Identifica palavras mais comuns em histórico de navegação e downloads. |
|
|
162
|
+
| `history` | Coleta histórico de navegação de diferentes browsers. |
|
|
163
|
+
| `patterns` | Identifica padrões suspeitos em histórico de navegação ou downloads. |
|
|
164
|
+
| `downloads` | Lista arquivos baixados pelos usuários. |
|
|
172
165
|
|
|
173
166
|
### Email
|
|
174
|
-
|
|
|
167
|
+
| Função | Descrição |
|
|
175
168
|
|--------|-----------|
|
|
176
169
|
| `email_parser` | Extrai e organiza informações de emails. |
|
|
177
170
|
| `header_analysis` | Analisa cabeçalhos para identificar origem, roteamento e possíveis fraudes. |
|
|
178
171
|
|
|
179
172
|
---
|
|
180
173
|
|
|
181
|
-
## 4.
|
|
182
|
-
|
|
183
|
-
### Dashboard
|
|
184
|
-
**Objetivo:** Centralizar informações e permitir execução rápida de módulos.
|
|
185
|
-
|
|
186
|
-
**Funcionalidades:**
|
|
187
|
-
- Menu lateral com módulos do DevKit.
|
|
188
|
-
- Cards com resumo de análises recentes.
|
|
189
|
-
- Acesso direto a visualizadores e Wizard.
|
|
190
|
-
|
|
191
|
-
**Tecnologias sugeridas:** Streamlit (web), PyQt (desktop).
|
|
192
|
-
|
|
193
|
-
### Visualizadores de Resultados
|
|
194
|
-
**Objetivo:** Transformar saídas da CLI em gráficos e tabelas interativas.
|
|
195
|
-
|
|
196
|
-
**Exemplos:**
|
|
197
|
-
- Mapas de rede interativos.
|
|
198
|
-
- Timeline de eventos e logs.
|
|
199
|
-
- Gráficos de arquivos analisados, tipos e padrões suspeitos.
|
|
200
|
-
|
|
201
|
-
**Integração:** Recebe dados da CLI em formato JSON ou CSV.
|
|
202
|
-
|
|
203
|
-
### Assistente Interativo (Wizard)
|
|
204
|
-
**Objetivo:** Guiar o usuário passo a passo em tarefas complexas.
|
|
205
|
-
|
|
206
|
-
**Exemplo de fluxo:**
|
|
207
|
-
1. Seleção do tipo de análise (pendrive, rede, logs, etc.)
|
|
208
|
-
2. Configuração de opções (scan de malware, intervalo de IP, dispositivo alvo)
|
|
209
|
-
3. Execução automática dos módulos necessários
|
|
210
|
-
4. Geração de relatórios e acesso aos visualizadores
|
|
211
|
-
|
|
212
|
-
**Tecnologias sugeridas:**
|
|
213
|
-
- Terminal interativo (`questionary`, `PyInquirer`)
|
|
214
|
-
- Web/Desktop (mesmo framework do Dashboard)
|
|
215
|
-
|
|
216
|
-
---
|
|
217
|
-
|
|
218
|
-
## 5. Fluxo de Integração
|
|
219
|
-
|
|
220
|
-
1. CLI executa módulos → gera resultados.
|
|
221
|
-
2. API possibilita integração programática com dashboards e outras aplicações.
|
|
222
|
-
3. Dashboard centraliza execução e resumo dos resultados.
|
|
223
|
-
4. Visualizadores transformam dados em gráficos e tabelas interativas.
|
|
224
|
-
5. Wizard guia o usuário em tarefas complexas.
|
|
225
|
-
|
|
226
|
-
---
|
|
227
|
-
|
|
228
|
-
## 6. Tecnologias Utilizadas
|
|
174
|
+
## 4. Tecnologias Utilizadas
|
|
229
175
|
|
|
230
176
|
- **Python** – Linguagem principal do projeto.
|
|
231
177
|
- **FastAPI** – API para integração e execução de módulos.
|
|
@@ -234,7 +180,7 @@ O DevKit está organizado em três camadas principais:
|
|
|
234
180
|
|
|
235
181
|
---
|
|
236
182
|
|
|
237
|
-
##
|
|
183
|
+
## 5. Planejamento e Futuras Extensões
|
|
238
184
|
|
|
239
185
|
| Aplicação / Módulo | Objetivo | Possíveis Extensões |
|
|
240
186
|
|-------------------|----------|------------------|
|
|
@@ -246,33 +192,23 @@ O DevKit está organizado em três camadas principais:
|
|
|
246
192
|
|
|
247
193
|
---
|
|
248
194
|
|
|
249
|
-
##
|
|
195
|
+
## 6. Instalação
|
|
250
196
|
|
|
251
197
|
```bash
|
|
252
|
-
|
|
253
|
-
git clone https://github.com/ErickG123/devkit_forense.git
|
|
254
|
-
cd devkit-forense
|
|
255
|
-
|
|
256
|
-
# Criar ambiente virtual
|
|
257
|
-
python -m venv venv
|
|
258
|
-
source venv/bin/activate # Linux/macOS
|
|
259
|
-
venv\Scripts\activate # Windows
|
|
260
|
-
|
|
261
|
-
# Instalar dependências
|
|
262
|
-
pip install -r requirements.txt
|
|
198
|
+
pip install forensic-cli
|
|
263
199
|
```
|
|
264
200
|
|
|
265
201
|
---
|
|
266
202
|
|
|
267
|
-
##
|
|
203
|
+
## 7. Exemplos de Execução
|
|
268
204
|
|
|
269
205
|
**CLI:**
|
|
270
206
|
```bash
|
|
271
207
|
# Executar módulo de network scan
|
|
272
|
-
|
|
208
|
+
forensic-cli network map --network 192.168.0.0/24
|
|
273
209
|
|
|
274
210
|
# Coletar histórico do Chrome
|
|
275
|
-
|
|
211
|
+
forensic-cli browser history --chrome
|
|
276
212
|
```
|
|
277
213
|
|
|
278
214
|
**API:**
|
|
@@ -280,11 +216,3 @@ python cli.py browser_history --browser chrome
|
|
|
280
216
|
# Executar API
|
|
281
217
|
uvicorn api.main:app --reload
|
|
282
218
|
```
|
|
283
|
-
|
|
284
|
-
---
|
|
285
|
-
|
|
286
|
-
## 10. Considerações Finais
|
|
287
|
-
|
|
288
|
-
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.
|
|
289
|
-
As aplicações de apoio aumentam a acessibilidade e engajamento, tornando o estudo da perícia digital mais visual e intuitivo.
|
|
290
|
-
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.
|
|
@@ -14,7 +14,6 @@ defusedxml==0.7.1
|
|
|
14
14
|
dnspython==2.7.0
|
|
15
15
|
docopt==0.6.2
|
|
16
16
|
docutils==0.22
|
|
17
|
-
fastapi==0.116.1
|
|
18
17
|
fonttools==4.59.1
|
|
19
18
|
greenlet==3.2.4
|
|
20
19
|
h11==0.16.0
|
|
@@ -62,7 +61,6 @@ six==1.17.0
|
|
|
62
61
|
smbprotocol==1.15.0
|
|
63
62
|
sniffio==1.3.1
|
|
64
63
|
sortedcontainers==2.4.0
|
|
65
|
-
SQLAlchemy==2.0.43
|
|
66
64
|
starlette==0.47.2
|
|
67
65
|
trio==0.30.0
|
|
68
66
|
trio-websocket==0.12.2
|
|
@@ -71,7 +69,6 @@ typing-inspection==0.4.1
|
|
|
71
69
|
typing_extensions==4.14.1
|
|
72
70
|
tzdata==2025.2
|
|
73
71
|
urllib3==2.5.0
|
|
74
|
-
uvicorn==0.35.0
|
|
75
72
|
websocket-client==1.8.0
|
|
76
73
|
wsproto==1.2.0
|
|
77
74
|
yarg==0.1.10
|
forensic_cli-1.2.6/README.md
DELETED
|
@@ -1,193 +0,0 @@
|
|
|
1
|
-
# DevKit Forense – Ferramenta Educacional de Perícia Digital
|
|
2
|
-
|
|
3
|
-
   
|
|
4
|
-
|
|
5
|
-
## Sumário
|
|
6
|
-
1. [Introdução](#introdução)
|
|
7
|
-
2. [Estrutura do Projeto](#estrutura-do-projeto)
|
|
8
|
-
3. [Módulos Forenses](#módulos-forenses)
|
|
9
|
-
- [Network](#network)
|
|
10
|
-
- [Browser](#browser)
|
|
11
|
-
- [Email](#email)
|
|
12
|
-
4. [Aplicações de Apoio](#aplicações-de-apoio)
|
|
13
|
-
- [Dashboard](#dashboard)
|
|
14
|
-
- [Visualizadores de Resultados](#visualizadores-de-resultados)
|
|
15
|
-
- [Assistente Interativo (Wizard)](#assistente-interativo-wizard)
|
|
16
|
-
5. [Fluxo de Integração](#fluxo-de-integração)
|
|
17
|
-
6. [Tecnologias Utilizadas](#tecnologias-utilizadas)
|
|
18
|
-
7. [Planejamento e Futuras Extensões](#planejamento-e-futuras-extensões)
|
|
19
|
-
8. [Instalação](#instalação)
|
|
20
|
-
9. [Exemplos de Execução](#exemplos-de-execução)
|
|
21
|
-
10. [Considerações Finais](#considerações-finais)
|
|
22
|
-
|
|
23
|
-
---
|
|
24
|
-
|
|
25
|
-
## 1. Introdução
|
|
26
|
-
|
|
27
|
-
**Objetivo:**
|
|
28
|
-
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.
|
|
29
|
-
|
|
30
|
-
**Escopo:**
|
|
31
|
-
- Execução de análises forenses em browsers, arquivos, emails e redes.
|
|
32
|
-
- Visualização interativa de resultados.
|
|
33
|
-
- Geração de relatórios automáticos.
|
|
34
|
-
- Assistente interativo (Wizard) para guiar o usuário em tarefas complexas.
|
|
35
|
-
|
|
36
|
-
**Público-alvo:**
|
|
37
|
-
- Estudantes e professores de Segurança da Informação e Perícia Digital.
|
|
38
|
-
|
|
39
|
-
---
|
|
40
|
-
|
|
41
|
-
## 2. Estrutura do Projeto
|
|
42
|
-
|
|
43
|
-
O DevKit está organizado em três camadas principais:
|
|
44
|
-
|
|
45
|
-
1. **CLI** – Executa os módulos forenses pelo terminal.
|
|
46
|
-
2. **API** – Interface programática para execução de módulos e integração com dashboards.
|
|
47
|
-
3. **Core** – Contém a lógica central, classes, funções e utilitários compartilhados pelos módulos.
|
|
48
|
-
|
|
49
|
-
---
|
|
50
|
-
|
|
51
|
-
## 3. Módulos Forenses
|
|
52
|
-
|
|
53
|
-
### Network
|
|
54
|
-
| Módulo | Descrição |
|
|
55
|
-
|--------|-----------|
|
|
56
|
-
| `ip_info` | Consulta informações detalhadas sobre um endereço IP. |
|
|
57
|
-
| `arp_scan` | Varre a rede para identificar dispositivos conectados via ARP. |
|
|
58
|
-
| `dns_recon` | Realiza levantamento de informações de DNS de domínios e hosts. |
|
|
59
|
-
| `snmp_scan` | Realiza varredura SNMP em dispositivos de rede. |
|
|
60
|
-
| `ping_sweep` | Verifica quais hosts estão ativos em uma faixa de IP. |
|
|
61
|
-
| `traceroute` | Traça o caminho percorrido por pacotes até um host alvo. |
|
|
62
|
-
| `network_map` | Gera mapa visual de hosts e conexões detectadas. |
|
|
63
|
-
| `port_scanner` | Identifica portas abertas e serviços ativos em hosts. |
|
|
64
|
-
| `fingerprinting` | Identifica sistemas, serviços e versões na rede. |
|
|
65
|
-
|
|
66
|
-
### Browser
|
|
67
|
-
| Módulo | Descrição |
|
|
68
|
-
|--------|-----------|
|
|
69
|
-
| `logins` | Extração de credenciais armazenadas no Chrome e Edge. |
|
|
70
|
-
| `fav_screen` | Captura e organiza screenshots de sites favoritos ou acessados. |
|
|
71
|
-
| `common_words` | Identifica palavras mais comuns em histórico de navegação e downloads. |
|
|
72
|
-
| `browser_history` | Coleta histórico de navegação de diferentes browsers. |
|
|
73
|
-
| `unusual_patterns` | Identifica padrões suspeitos em histórico de navegação ou downloads. |
|
|
74
|
-
| `downloads_history` | Lista arquivos baixados pelos usuários. |
|
|
75
|
-
|
|
76
|
-
### Email
|
|
77
|
-
| Módulo | Descrição |
|
|
78
|
-
|--------|-----------|
|
|
79
|
-
| `email_parser` | Extrai e organiza informações de emails. |
|
|
80
|
-
| `header_analysis` | Analisa cabeçalhos para identificar origem, roteamento e possíveis fraudes. |
|
|
81
|
-
|
|
82
|
-
---
|
|
83
|
-
|
|
84
|
-
## 4. Aplicações de Apoio
|
|
85
|
-
|
|
86
|
-
### Dashboard
|
|
87
|
-
**Objetivo:** Centralizar informações e permitir execução rápida de módulos.
|
|
88
|
-
|
|
89
|
-
**Funcionalidades:**
|
|
90
|
-
- Menu lateral com módulos do DevKit.
|
|
91
|
-
- Cards com resumo de análises recentes.
|
|
92
|
-
- Acesso direto a visualizadores e Wizard.
|
|
93
|
-
|
|
94
|
-
**Tecnologias sugeridas:** Streamlit (web), PyQt (desktop).
|
|
95
|
-
|
|
96
|
-
### Visualizadores de Resultados
|
|
97
|
-
**Objetivo:** Transformar saídas da CLI em gráficos e tabelas interativas.
|
|
98
|
-
|
|
99
|
-
**Exemplos:**
|
|
100
|
-
- Mapas de rede interativos.
|
|
101
|
-
- Timeline de eventos e logs.
|
|
102
|
-
- Gráficos de arquivos analisados, tipos e padrões suspeitos.
|
|
103
|
-
|
|
104
|
-
**Integração:** Recebe dados da CLI em formato JSON ou CSV.
|
|
105
|
-
|
|
106
|
-
### Assistente Interativo (Wizard)
|
|
107
|
-
**Objetivo:** Guiar o usuário passo a passo em tarefas complexas.
|
|
108
|
-
|
|
109
|
-
**Exemplo de fluxo:**
|
|
110
|
-
1. Seleção do tipo de análise (pendrive, rede, logs, etc.)
|
|
111
|
-
2. Configuração de opções (scan de malware, intervalo de IP, dispositivo alvo)
|
|
112
|
-
3. Execução automática dos módulos necessários
|
|
113
|
-
4. Geração de relatórios e acesso aos visualizadores
|
|
114
|
-
|
|
115
|
-
**Tecnologias sugeridas:**
|
|
116
|
-
- Terminal interativo (`questionary`, `PyInquirer`)
|
|
117
|
-
- Web/Desktop (mesmo framework do Dashboard)
|
|
118
|
-
|
|
119
|
-
---
|
|
120
|
-
|
|
121
|
-
## 5. Fluxo de Integração
|
|
122
|
-
|
|
123
|
-
1. CLI executa módulos → gera resultados.
|
|
124
|
-
2. API possibilita integração programática com dashboards e outras aplicações.
|
|
125
|
-
3. Dashboard centraliza execução e resumo dos resultados.
|
|
126
|
-
4. Visualizadores transformam dados em gráficos e tabelas interativas.
|
|
127
|
-
5. Wizard guia o usuário em tarefas complexas.
|
|
128
|
-
|
|
129
|
-
---
|
|
130
|
-
|
|
131
|
-
## 6. Tecnologias Utilizadas
|
|
132
|
-
|
|
133
|
-
- **Python** – Linguagem principal do projeto.
|
|
134
|
-
- **FastAPI** – API para integração e execução de módulos.
|
|
135
|
-
- **Typer** – CLI estruturada e interativa.
|
|
136
|
-
- **SQLite** – Banco de dados local leve.
|
|
137
|
-
|
|
138
|
-
---
|
|
139
|
-
|
|
140
|
-
## 7. Planejamento e Futuras Extensões
|
|
141
|
-
|
|
142
|
-
| Aplicação / Módulo | Objetivo | Possíveis Extensões |
|
|
143
|
-
|-------------------|----------|------------------|
|
|
144
|
-
| 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 |
|
|
145
|
-
| Visualizadores | Transformar dados da CLI em gráficos, mapas e tabelas | Timeline interativa, heatmaps de rede, gráficos de comportamento de usuários |
|
|
146
|
-
| 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 |
|
|
147
|
-
| 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 |
|
|
148
|
-
| Ferramentas auxiliares | Suporte a módulos existentes e novos | Exportação avançada de relatórios, dashboards customizáveis, notificações em tempo real |
|
|
149
|
-
|
|
150
|
-
---
|
|
151
|
-
|
|
152
|
-
## 8. Instalação
|
|
153
|
-
|
|
154
|
-
```bash
|
|
155
|
-
# Clonar o repositório
|
|
156
|
-
git clone https://github.com/ErickG123/devkit_forense.git
|
|
157
|
-
cd devkit-forense
|
|
158
|
-
|
|
159
|
-
# Criar ambiente virtual
|
|
160
|
-
python -m venv venv
|
|
161
|
-
source venv/bin/activate # Linux/macOS
|
|
162
|
-
venv\Scripts\activate # Windows
|
|
163
|
-
|
|
164
|
-
# Instalar dependências
|
|
165
|
-
pip install -r requirements.txt
|
|
166
|
-
```
|
|
167
|
-
|
|
168
|
-
---
|
|
169
|
-
|
|
170
|
-
## 9. Exemplos de Execução
|
|
171
|
-
|
|
172
|
-
**CLI:**
|
|
173
|
-
```bash
|
|
174
|
-
# Executar módulo de network scan
|
|
175
|
-
python cli.py network_map --target 192.168.0.0/24
|
|
176
|
-
|
|
177
|
-
# Coletar histórico do Chrome
|
|
178
|
-
python cli.py browser_history --browser chrome
|
|
179
|
-
```
|
|
180
|
-
|
|
181
|
-
**API:**
|
|
182
|
-
```bash
|
|
183
|
-
# Executar API
|
|
184
|
-
uvicorn api.main:app --reload
|
|
185
|
-
```
|
|
186
|
-
|
|
187
|
-
---
|
|
188
|
-
|
|
189
|
-
## 10. Considerações Finais
|
|
190
|
-
|
|
191
|
-
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.
|
|
192
|
-
As aplicações de apoio aumentam a acessibilidade e engajamento, tornando o estudo da perícia digital mais visual e intuitivo.
|
|
193
|
-
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.
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
from scapy.all import ARP, Ether, srp
|
|
2
|
-
import typer
|
|
3
|
-
|
|
4
|
-
def arp_scan(network_ips):
|
|
5
|
-
active_hosts = []
|
|
6
|
-
|
|
7
|
-
typer.echo(f"[+] Iniciando ARP scan ({len(network_ips)} IPs)...")
|
|
8
|
-
with typer.progressbar(network_ips, label="ARP Scan") as progress:
|
|
9
|
-
for ip in network_ips:
|
|
10
|
-
pkt = Ether(dst="ff:ff:ff:ff:ff:ff") / ARP(pdst=ip)
|
|
11
|
-
ans, _ = srp(pkt, timeout=1, verbose=0)
|
|
12
|
-
if ans:
|
|
13
|
-
active_hosts.append(ip)
|
|
14
|
-
progress.update(1)
|
|
15
|
-
|
|
16
|
-
return active_hosts
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|