forensic-cli 1.3.0__tar.gz → 1.4.1__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.3.0/src/forensic_cli.egg-info → forensic_cli-1.4.1}/PKG-INFO +232 -14
- forensic_cli-1.4.1/README.md +341 -0
- {forensic_cli-1.3.0 → forensic_cli-1.4.1}/pyproject.toml +1 -1
- {forensic_cli-1.3.0 → forensic_cli-1.4.1}/setup.py +1 -1
- {forensic_cli-1.3.0 → forensic_cli-1.4.1}/src/cli/commands/network.py +70 -9
- {forensic_cli-1.3.0 → forensic_cli-1.4.1}/src/core/browser/common_words.py +0 -1
- forensic_cli-1.4.1/src/core/network/network_map.py +126 -0
- forensic_cli-1.4.1/src/core/network/port_scanner.py +138 -0
- {forensic_cli-1.3.0 → forensic_cli-1.4.1/src/forensic_cli.egg-info}/PKG-INFO +232 -14
- forensic_cli-1.3.0/README.md +0 -123
- forensic_cli-1.3.0/src/core/network/network_map.py +0 -120
- forensic_cli-1.3.0/src/core/network/port_scanner.py +0 -93
- {forensic_cli-1.3.0 → forensic_cli-1.4.1}/LICENSE +0 -0
- {forensic_cli-1.3.0 → forensic_cli-1.4.1}/LICENSE-GPL +0 -0
- {forensic_cli-1.3.0 → forensic_cli-1.4.1}/setup.cfg +0 -0
- {forensic_cli-1.3.0 → forensic_cli-1.4.1}/src/cli/__init__.py +0 -0
- {forensic_cli-1.3.0 → forensic_cli-1.4.1}/src/cli/commands/__init__.py +0 -0
- {forensic_cli-1.3.0 → forensic_cli-1.4.1}/src/cli/commands/browser.py +0 -0
- {forensic_cli-1.3.0 → forensic_cli-1.4.1}/src/cli/commands/describe.py +0 -0
- {forensic_cli-1.3.0 → forensic_cli-1.4.1}/src/cli/commands/email.py +0 -0
- {forensic_cli-1.3.0 → forensic_cli-1.4.1}/src/cli/commands/utils.py +0 -0
- {forensic_cli-1.3.0 → forensic_cli-1.4.1}/src/cli/main.py +0 -0
- {forensic_cli-1.3.0 → forensic_cli-1.4.1}/src/core/__init__.py +0 -0
- {forensic_cli-1.3.0 → forensic_cli-1.4.1}/src/core/browser/browser_history.py +0 -0
- {forensic_cli-1.3.0 → forensic_cli-1.4.1}/src/core/browser/downloads_history.py +0 -0
- {forensic_cli-1.3.0 → forensic_cli-1.4.1}/src/core/browser/fav_screen.py +0 -0
- {forensic_cli-1.3.0 → forensic_cli-1.4.1}/src/core/browser/logins.py +0 -0
- {forensic_cli-1.3.0 → forensic_cli-1.4.1}/src/core/browser/unusual_patterns.py +0 -0
- {forensic_cli-1.3.0 → forensic_cli-1.4.1}/src/core/data/__init__.py +0 -0
- {forensic_cli-1.3.0 → forensic_cli-1.4.1}/src/core/data/data_recovery.py +0 -0
- {forensic_cli-1.3.0 → forensic_cli-1.4.1}/src/core/db/db.py +0 -0
- {forensic_cli-1.3.0 → forensic_cli-1.4.1}/src/core/email/email_parser.py +0 -0
- {forensic_cli-1.3.0 → forensic_cli-1.4.1}/src/core/email/header_analysis.py +0 -0
- {forensic_cli-1.3.0 → forensic_cli-1.4.1}/src/core/models/orm.py +0 -0
- {forensic_cli-1.3.0 → forensic_cli-1.4.1}/src/core/models/schemas.py +0 -0
- {forensic_cli-1.3.0 → forensic_cli-1.4.1}/src/core/network/__init__.py +0 -0
- {forensic_cli-1.3.0 → forensic_cli-1.4.1}/src/core/network/arp_scan.py +0 -0
- {forensic_cli-1.3.0 → forensic_cli-1.4.1}/src/core/network/dns_recon.py +0 -0
- {forensic_cli-1.3.0 → forensic_cli-1.4.1}/src/core/network/fingerprinting.py +0 -0
- {forensic_cli-1.3.0 → forensic_cli-1.4.1}/src/core/network/ip_info.py +0 -0
- {forensic_cli-1.3.0 → forensic_cli-1.4.1}/src/core/network/ping_sweep.py +0 -0
- {forensic_cli-1.3.0 → forensic_cli-1.4.1}/src/core/network/smb_scan.py +0 -0
- {forensic_cli-1.3.0 → forensic_cli-1.4.1}/src/core/network/snmp_scan.py +0 -0
- {forensic_cli-1.3.0 → forensic_cli-1.4.1}/src/core/network/traceroute.py +0 -0
- {forensic_cli-1.3.0 → forensic_cli-1.4.1}/src/core/network/utils.py +0 -0
- {forensic_cli-1.3.0 → forensic_cli-1.4.1}/src/core/registry.py +0 -0
- {forensic_cli-1.3.0 → forensic_cli-1.4.1}/src/core/utils/__init__.py +0 -0
- {forensic_cli-1.3.0 → forensic_cli-1.4.1}/src/core/utils/gerar_amostras.py +0 -0
- {forensic_cli-1.3.0 → forensic_cli-1.4.1}/src/forensic_cli.egg-info/SOURCES.txt +0 -0
- {forensic_cli-1.3.0 → forensic_cli-1.4.1}/src/forensic_cli.egg-info/dependency_links.txt +0 -0
- {forensic_cli-1.3.0 → forensic_cli-1.4.1}/src/forensic_cli.egg-info/entry_points.txt +0 -0
- {forensic_cli-1.3.0 → forensic_cli-1.4.1}/src/forensic_cli.egg-info/requires.txt +0 -0
- {forensic_cli-1.3.0 → forensic_cli-1.4.1}/src/forensic_cli.egg-info/top_level.txt +0 -0
- {forensic_cli-1.3.0 → forensic_cli-1.4.1}/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.
|
|
3
|
+
Version: 1.4.1
|
|
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
|
|
@@ -101,9 +101,9 @@ Dynamic: requires-python
|
|
|
101
101
|
1. [Introdução](#introdução)
|
|
102
102
|
2. [Estrutura do Projeto](#estrutura-do-projeto)
|
|
103
103
|
3. [Módulos Forenses](#módulos-forenses)
|
|
104
|
-
- [Network](#network)
|
|
105
|
-
- [Browser](#browser)
|
|
106
|
-
- [Email](#email)
|
|
104
|
+
- [Network](#network)
|
|
105
|
+
- [Browser](#browser)
|
|
106
|
+
- [Email](#email)
|
|
107
107
|
4. [Tecnologias Utilizadas](#tecnologias-utilizadas)
|
|
108
108
|
5. [Planejamento e Futuras Extensões](#planejamento-e-futuras-extensões)
|
|
109
109
|
6. [Instalação](#instalação)
|
|
@@ -193,26 +193,244 @@ O DevKit está organizado em três camadas principais:
|
|
|
193
193
|
---
|
|
194
194
|
|
|
195
195
|
## 6. Instalação
|
|
196
|
+
A forma mais simples de instalar a CLI é utilizando o **PyPI**.
|
|
197
|
+
Execute o seguinte comando no terminal:
|
|
196
198
|
|
|
197
199
|
```bash
|
|
198
200
|
pip install forensic-cli
|
|
199
201
|
```
|
|
200
202
|
|
|
201
|
-
|
|
203
|
+
## 7. Exemplos de Execução da CLI
|
|
204
|
+
|
|
205
|
+
### Comandos de Rede (`network`)
|
|
206
|
+
|
|
207
|
+
Utilitários para escanear, mapear e analisar redes e dispositivos.
|
|
208
|
+
|
|
209
|
+
### `map`
|
|
210
|
+
Mapeia dispositivos ativos na rede e salva os resultados em arquivos JSON e CSV.
|
|
211
|
+
|
|
212
|
+
**Sintaxe:**
|
|
213
|
+
```bash
|
|
214
|
+
forensic-cli network map --network <RANGE_IP> [OPÇÕES]
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
**Opções:**
|
|
218
|
+
| Opção | Atalho | Descrição | Padrão |
|
|
219
|
+
| :--- | :---: | :--- | :--- |
|
|
220
|
+
| --network | -n | Range de IPs da rede. Ex: 192.168.1.1-254 | Obrigatório |
|
|
221
|
+
| --ports | -p | Portas para escanear em cada host. | 21,22,80,443,445,8080 |
|
|
222
|
+
| --output | -o | Diretório para salvar os resultados. | ./output |
|
|
223
|
+
|
|
224
|
+
### `scan`
|
|
225
|
+
Realiza um scan de portas em um host específico e exibe os resultados em uma tabela.
|
|
226
|
+
|
|
227
|
+
**Sintaxe:**
|
|
228
|
+
```bash
|
|
229
|
+
forensic-cli network scan --target <ALVO> [OPÇÕES]
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
Opções:
|
|
233
|
+
| Opção | Atalho | Descrição | Padrão |
|
|
234
|
+
| :--- | :---: | :--- | :--- |
|
|
235
|
+
| --target | -t | Alvo do scan (IP ou hostname). | Obrigatório |
|
|
236
|
+
| --ports | -p | Portas para escanear. Ex: '22,80,100-200'. | 21,22,53,80,443,445,3306,8080 |
|
|
237
|
+
|
|
238
|
+
### `sweep`
|
|
239
|
+
Verifica hosts ativos em um range de IPs via ping.
|
|
240
|
+
|
|
241
|
+
**Sintaxe:**
|
|
242
|
+
```bash
|
|
243
|
+
forensic-cli network sweep --network <RANGE_IP>
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
**Opções:**
|
|
247
|
+
| Opção | Atalho | Descrição | Padrão |
|
|
248
|
+
| :--- | :---: | :--- | :--- |
|
|
249
|
+
| --network | N/A | Range de IPs da rede. Ex: 192.168.1.1-254 | Obrigatório |
|
|
250
|
+
|
|
251
|
+
### `fingerprinting`
|
|
252
|
+
Detecta o sistema operacional, serviços e portas abertas em um host.
|
|
253
|
+
|
|
254
|
+
**Sintaxe:**
|
|
255
|
+
```bash
|
|
256
|
+
forensic-cli network fingerprinting --ip <IP_HOST>
|
|
257
|
+
```
|
|
258
|
+
|
|
259
|
+
**Opções:**
|
|
260
|
+
| Opção | Atalho | Descrição | Padrão |
|
|
261
|
+
| :--- | :---: | :--- | :--- |
|
|
262
|
+
| --ip | N/A | Endereço IP do host. Ex: 192.168.0.10 | Obrigatório |
|
|
263
|
+
|
|
264
|
+
### `traceroute`
|
|
265
|
+
Exibe o caminho (hops) e a latência (RTT) até um domínio ou host.
|
|
266
|
+
|
|
267
|
+
**Sintaxe:**
|
|
268
|
+
```bash
|
|
269
|
+
forensic-cli network traceroute --domain <DOMINIO>
|
|
270
|
+
```
|
|
271
|
+
|
|
272
|
+
**Opções:**
|
|
273
|
+
| Opção | Atalho | Descrição | Padrão |
|
|
274
|
+
| :--- | :---: | :--- | :--- |
|
|
275
|
+
| --domain | N/A | Informe um domínio ou hostname. Ex: google.com | Obrigatório |
|
|
276
|
+
|
|
277
|
+
### `arpscan`
|
|
278
|
+
Realiza uma varredura ARP para identificar dispositivos na rede local.
|
|
279
|
+
|
|
280
|
+
**Sintaxe:**
|
|
281
|
+
```bash
|
|
282
|
+
forensic-cli network arpscan --network <RANGE_IP>
|
|
283
|
+
```
|
|
284
|
+
|
|
285
|
+
**Opções:**
|
|
286
|
+
| Opção | Atalho | Descrição | Padrão |
|
|
287
|
+
| :--- | :---: | :--- | :--- |
|
|
288
|
+
| --network | N/A | Range de IPs da rede. Ex: 192.168.1.1-254 | Obrigatório |
|
|
289
|
+
|
|
290
|
+
### `dnscan`
|
|
291
|
+
Realiza reconhecimento DNS em um domínio ou IP, com opção de buscar subdomínios.
|
|
292
|
+
|
|
293
|
+
**Sintaxe:**
|
|
294
|
+
```bash
|
|
295
|
+
forensic-cli network dnscan --target <ALVO> [OPÇÕES]
|
|
296
|
+
```
|
|
297
|
+
|
|
298
|
+
**Opções:**
|
|
299
|
+
| Opção | Atalho | Descrição | Padrão |
|
|
300
|
+
| :--- | :---: | :--- | :--- |
|
|
301
|
+
| --target | N/A | Domínio ou IP alvo. Ex: exemplo.com | Obrigatório |
|
|
302
|
+
| --output-dir | N/A | Diretório para salvar os resultados (JSON e CSV). | Nenhum |
|
|
303
|
+
| --with-subdomains | N/A | Tenta descobrir subdomínios comuns. | False |
|
|
202
304
|
|
|
203
|
-
|
|
305
|
+
### `ipinfo`
|
|
306
|
+
Obtém informações detalhadas (geolocalização, ASN) sobre um IP ou hostname.
|
|
204
307
|
|
|
205
|
-
**
|
|
308
|
+
**Sintaxe:**
|
|
206
309
|
```bash
|
|
207
|
-
|
|
208
|
-
|
|
310
|
+
forensic-cli network ipinfo --ip <IP_HOST>
|
|
311
|
+
```
|
|
312
|
+
|
|
313
|
+
**Opções:**
|
|
314
|
+
| Opção | Atalho | Descrição | Padrão |
|
|
315
|
+
| :--- | :---: | :--- | :--- |
|
|
316
|
+
| --ip | N/A | IP ou hostname do destino. Ex: 8.8.8.8 | Obrigatório |
|
|
317
|
+
|
|
318
|
+
### `smbscan`
|
|
319
|
+
Verifica serviços SMB (Server Message Block) ativos em um host.
|
|
320
|
+
|
|
321
|
+
**Sintaxe:**
|
|
322
|
+
```bash
|
|
323
|
+
forensic-cli network smbscan --ip <IP_HOST>
|
|
324
|
+
```
|
|
325
|
+
|
|
326
|
+
**Opções:**
|
|
327
|
+
| Opção | Atalho | Descrição | Padrão |
|
|
328
|
+
| :--- | :---: | :--- | :--- |
|
|
329
|
+
| --ip | N/A | IP ou hostname do destino. Ex: 192.168.0.10 | Obrigatório |
|
|
330
|
+
|
|
331
|
+
### `snmpscan`
|
|
332
|
+
Executa uma varredura SNMP (Simple Network Management Protocol) para obter informações de um dispositivo.
|
|
333
|
+
|
|
334
|
+
**Sintaxe:**
|
|
335
|
+
```bash
|
|
336
|
+
forensic-cli network snmpscan --ip <IP_HOST>
|
|
337
|
+
```
|
|
338
|
+
|
|
339
|
+
**Opções:**
|
|
340
|
+
| Opção | Atalho | Descrição | Padrão |
|
|
341
|
+
| :--- | :---: | :--- | :--- |
|
|
342
|
+
| --ip | N/A | IP ou hostname do destino. Ex: 192.168.0.10 | Obrigatório |
|
|
343
|
+
|
|
344
|
+
### Comandos de Navegador (`browser`)
|
|
345
|
+
Ferramentas para extrair e analisar artefatos de navegadores web como Chrome, Edge e Firefox.
|
|
346
|
+
|
|
347
|
+
### `history`
|
|
348
|
+
Extrai o histórico de navegação dos navegadores instalados.
|
|
349
|
+
|
|
350
|
+
**Sintaxe:**
|
|
351
|
+
```bash
|
|
352
|
+
forensic-cli browser history [OPÇÕES]
|
|
353
|
+
```
|
|
354
|
+
|
|
355
|
+
**Opções:**
|
|
356
|
+
| Opção | Atalho | Descrição | Padrão |
|
|
357
|
+
| :--- | :---: | :--- | :--- |
|
|
358
|
+
| --chrome | N/A | Extrair histórico do Google Chrome. | False |
|
|
359
|
+
| --edge | N/A | Extrair histórico do Microsoft Edge. | False |
|
|
360
|
+
| --firefox | N/A | Extrair histórico do Mozilla Firefox. | False |
|
|
361
|
+
| --all | N/A | Extrair de todos os navegadores suportados. | False |
|
|
362
|
+
|
|
363
|
+
### `downloads`
|
|
364
|
+
Extrai o histórico de downloads dos navegadores.
|
|
209
365
|
|
|
210
|
-
|
|
211
|
-
|
|
366
|
+
**Sintaxe:**
|
|
367
|
+
```bash
|
|
368
|
+
forensic-cli browser downloads [OPÇÕES]
|
|
369
|
+
```
|
|
370
|
+
|
|
371
|
+
**Opções:**
|
|
372
|
+
| Opção | Atalho | Descrição | Padrão |
|
|
373
|
+
| :--- | :---: | :--- | :--- |
|
|
374
|
+
| --output-dir | -o | Diretório para salvar os artefatos. | artefatos/downloads |
|
|
375
|
+
| --chrome | N/A | Extrair downloads do Chrome. | False |
|
|
376
|
+
| --edge | N/A | Extrair downloads do Edge. | False |
|
|
377
|
+
| --firefox | N/A | Extrair downloads do Firefox. | False |
|
|
378
|
+
| --all | N/A | Extrair de todos os navegadores. | False |
|
|
379
|
+
|
|
380
|
+
### `favscreen`
|
|
381
|
+
Processa arquivos de histórico (.json), captura favicons e screenshots das URLs encontradas.
|
|
382
|
+
|
|
383
|
+
**Sintaxe:**
|
|
384
|
+
```bash
|
|
385
|
+
forensic-cli browser favscreen [OPÇÕES]
|
|
212
386
|
```
|
|
213
387
|
|
|
214
|
-
**
|
|
388
|
+
**Opções:**
|
|
389
|
+
| Opção | Atalho | Descrição | Padrão |
|
|
390
|
+
| :--- | :---: | :--- | :--- |
|
|
391
|
+
| --input-dir | -i | Diretório contendo os JSONs de histórico. | artefatos/historico |
|
|
392
|
+
| --output-dir | -o | Diretório para salvar favicons e prints. | artefatos/favscreen |
|
|
393
|
+
|
|
394
|
+
### `logins`
|
|
395
|
+
Extrai senhas e logins salvos no Chrome e Edge.
|
|
396
|
+
|
|
397
|
+
**Sintaxe:**
|
|
215
398
|
```bash
|
|
216
|
-
|
|
217
|
-
uvicorn api.main:app --reload
|
|
399
|
+
forensic-cli browser logins [OPÇÕES]
|
|
218
400
|
```
|
|
401
|
+
|
|
402
|
+
**Opções:**
|
|
403
|
+
| Opção | Atalho | Descrição | Padrão |
|
|
404
|
+
| :--- | :---: | :--- | :--- |
|
|
405
|
+
| --output-dir | -o | Diretório para salvar os logins em JSON. | artefatos/logins |
|
|
406
|
+
| --chrome | N/A | Extrair logins do Chrome. | False |
|
|
407
|
+
| --edge | N/A | Extrair logins do Edge. | False |
|
|
408
|
+
| --all | N/A | Extrair de todos os navegadores. | False |
|
|
409
|
+
|
|
410
|
+
### `patterns`
|
|
411
|
+
Analisa arquivos de histórico (.json) para encontrar padrões de navegação e gera gráficos.
|
|
412
|
+
|
|
413
|
+
**Sintaxe:**
|
|
414
|
+
```bash
|
|
415
|
+
forensic-cli browser patterns [OPÇÕES]
|
|
416
|
+
```
|
|
417
|
+
|
|
418
|
+
**Opções:**
|
|
419
|
+
| Opção | Atalho | Descrição | Padrão |
|
|
420
|
+
| :--- | :---: | :--- | :--- |
|
|
421
|
+
| --input-dir | -i | Diretório com os JSONs de histórico. | artefatos/historico |
|
|
422
|
+
| --output-dir | -o | Diretório para salvar gráficos e relatórios. | artefatos/patterns_output |
|
|
423
|
+
|
|
424
|
+
### `words`
|
|
425
|
+
Extrai as palavras mais pesquisadas do histórico do navegador.
|
|
426
|
+
|
|
427
|
+
**Sintaxe:**
|
|
428
|
+
```bash
|
|
429
|
+
forensic-cli browser words [OPÇÕES]
|
|
430
|
+
```
|
|
431
|
+
|
|
432
|
+
**Opções:**
|
|
433
|
+
| Opção | Atalho | Descrição | Padrão |
|
|
434
|
+
| :--- | :---: | :--- | :--- |
|
|
435
|
+
| --output-dir | -o | Diretório para salvar o JSON com as palavras. | artefatos/words_output |
|
|
436
|
+
| --chrome | N/A | Extrair palavras do Chrome. | True |
|
|
@@ -0,0 +1,341 @@
|
|
|
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
|
+
A forma mais simples de instalar a CLI é utilizando o **PyPI**.
|
|
102
|
+
Execute o seguinte comando no terminal:
|
|
103
|
+
|
|
104
|
+
```bash
|
|
105
|
+
pip install forensic-cli
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
## 7. Exemplos de Execução da CLI
|
|
109
|
+
|
|
110
|
+
### Comandos de Rede (`network`)
|
|
111
|
+
|
|
112
|
+
Utilitários para escanear, mapear e analisar redes e dispositivos.
|
|
113
|
+
|
|
114
|
+
### `map`
|
|
115
|
+
Mapeia dispositivos ativos na rede e salva os resultados em arquivos JSON e CSV.
|
|
116
|
+
|
|
117
|
+
**Sintaxe:**
|
|
118
|
+
```bash
|
|
119
|
+
forensic-cli network map --network <RANGE_IP> [OPÇÕES]
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
**Opções:**
|
|
123
|
+
| Opção | Atalho | Descrição | Padrão |
|
|
124
|
+
| :--- | :---: | :--- | :--- |
|
|
125
|
+
| --network | -n | Range de IPs da rede. Ex: 192.168.1.1-254 | Obrigatório |
|
|
126
|
+
| --ports | -p | Portas para escanear em cada host. | 21,22,80,443,445,8080 |
|
|
127
|
+
| --output | -o | Diretório para salvar os resultados. | ./output |
|
|
128
|
+
|
|
129
|
+
### `scan`
|
|
130
|
+
Realiza um scan de portas em um host específico e exibe os resultados em uma tabela.
|
|
131
|
+
|
|
132
|
+
**Sintaxe:**
|
|
133
|
+
```bash
|
|
134
|
+
forensic-cli network scan --target <ALVO> [OPÇÕES]
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
Opções:
|
|
138
|
+
| Opção | Atalho | Descrição | Padrão |
|
|
139
|
+
| :--- | :---: | :--- | :--- |
|
|
140
|
+
| --target | -t | Alvo do scan (IP ou hostname). | Obrigatório |
|
|
141
|
+
| --ports | -p | Portas para escanear. Ex: '22,80,100-200'. | 21,22,53,80,443,445,3306,8080 |
|
|
142
|
+
|
|
143
|
+
### `sweep`
|
|
144
|
+
Verifica hosts ativos em um range de IPs via ping.
|
|
145
|
+
|
|
146
|
+
**Sintaxe:**
|
|
147
|
+
```bash
|
|
148
|
+
forensic-cli network sweep --network <RANGE_IP>
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
**Opções:**
|
|
152
|
+
| Opção | Atalho | Descrição | Padrão |
|
|
153
|
+
| :--- | :---: | :--- | :--- |
|
|
154
|
+
| --network | N/A | Range de IPs da rede. Ex: 192.168.1.1-254 | Obrigatório |
|
|
155
|
+
|
|
156
|
+
### `fingerprinting`
|
|
157
|
+
Detecta o sistema operacional, serviços e portas abertas em um host.
|
|
158
|
+
|
|
159
|
+
**Sintaxe:**
|
|
160
|
+
```bash
|
|
161
|
+
forensic-cli network fingerprinting --ip <IP_HOST>
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
**Opções:**
|
|
165
|
+
| Opção | Atalho | Descrição | Padrão |
|
|
166
|
+
| :--- | :---: | :--- | :--- |
|
|
167
|
+
| --ip | N/A | Endereço IP do host. Ex: 192.168.0.10 | Obrigatório |
|
|
168
|
+
|
|
169
|
+
### `traceroute`
|
|
170
|
+
Exibe o caminho (hops) e a latência (RTT) até um domínio ou host.
|
|
171
|
+
|
|
172
|
+
**Sintaxe:**
|
|
173
|
+
```bash
|
|
174
|
+
forensic-cli network traceroute --domain <DOMINIO>
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
**Opções:**
|
|
178
|
+
| Opção | Atalho | Descrição | Padrão |
|
|
179
|
+
| :--- | :---: | :--- | :--- |
|
|
180
|
+
| --domain | N/A | Informe um domínio ou hostname. Ex: google.com | Obrigatório |
|
|
181
|
+
|
|
182
|
+
### `arpscan`
|
|
183
|
+
Realiza uma varredura ARP para identificar dispositivos na rede local.
|
|
184
|
+
|
|
185
|
+
**Sintaxe:**
|
|
186
|
+
```bash
|
|
187
|
+
forensic-cli network arpscan --network <RANGE_IP>
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
**Opções:**
|
|
191
|
+
| Opção | Atalho | Descrição | Padrão |
|
|
192
|
+
| :--- | :---: | :--- | :--- |
|
|
193
|
+
| --network | N/A | Range de IPs da rede. Ex: 192.168.1.1-254 | Obrigatório |
|
|
194
|
+
|
|
195
|
+
### `dnscan`
|
|
196
|
+
Realiza reconhecimento DNS em um domínio ou IP, com opção de buscar subdomínios.
|
|
197
|
+
|
|
198
|
+
**Sintaxe:**
|
|
199
|
+
```bash
|
|
200
|
+
forensic-cli network dnscan --target <ALVO> [OPÇÕES]
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
**Opções:**
|
|
204
|
+
| Opção | Atalho | Descrição | Padrão |
|
|
205
|
+
| :--- | :---: | :--- | :--- |
|
|
206
|
+
| --target | N/A | Domínio ou IP alvo. Ex: exemplo.com | Obrigatório |
|
|
207
|
+
| --output-dir | N/A | Diretório para salvar os resultados (JSON e CSV). | Nenhum |
|
|
208
|
+
| --with-subdomains | N/A | Tenta descobrir subdomínios comuns. | False |
|
|
209
|
+
|
|
210
|
+
### `ipinfo`
|
|
211
|
+
Obtém informações detalhadas (geolocalização, ASN) sobre um IP ou hostname.
|
|
212
|
+
|
|
213
|
+
**Sintaxe:**
|
|
214
|
+
```bash
|
|
215
|
+
forensic-cli network ipinfo --ip <IP_HOST>
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
**Opções:**
|
|
219
|
+
| Opção | Atalho | Descrição | Padrão |
|
|
220
|
+
| :--- | :---: | :--- | :--- |
|
|
221
|
+
| --ip | N/A | IP ou hostname do destino. Ex: 8.8.8.8 | Obrigatório |
|
|
222
|
+
|
|
223
|
+
### `smbscan`
|
|
224
|
+
Verifica serviços SMB (Server Message Block) ativos em um host.
|
|
225
|
+
|
|
226
|
+
**Sintaxe:**
|
|
227
|
+
```bash
|
|
228
|
+
forensic-cli network smbscan --ip <IP_HOST>
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
**Opções:**
|
|
232
|
+
| Opção | Atalho | Descrição | Padrão |
|
|
233
|
+
| :--- | :---: | :--- | :--- |
|
|
234
|
+
| --ip | N/A | IP ou hostname do destino. Ex: 192.168.0.10 | Obrigatório |
|
|
235
|
+
|
|
236
|
+
### `snmpscan`
|
|
237
|
+
Executa uma varredura SNMP (Simple Network Management Protocol) para obter informações de um dispositivo.
|
|
238
|
+
|
|
239
|
+
**Sintaxe:**
|
|
240
|
+
```bash
|
|
241
|
+
forensic-cli network snmpscan --ip <IP_HOST>
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
**Opções:**
|
|
245
|
+
| Opção | Atalho | Descrição | Padrão |
|
|
246
|
+
| :--- | :---: | :--- | :--- |
|
|
247
|
+
| --ip | N/A | IP ou hostname do destino. Ex: 192.168.0.10 | Obrigatório |
|
|
248
|
+
|
|
249
|
+
### Comandos de Navegador (`browser`)
|
|
250
|
+
Ferramentas para extrair e analisar artefatos de navegadores web como Chrome, Edge e Firefox.
|
|
251
|
+
|
|
252
|
+
### `history`
|
|
253
|
+
Extrai o histórico de navegação dos navegadores instalados.
|
|
254
|
+
|
|
255
|
+
**Sintaxe:**
|
|
256
|
+
```bash
|
|
257
|
+
forensic-cli browser history [OPÇÕES]
|
|
258
|
+
```
|
|
259
|
+
|
|
260
|
+
**Opções:**
|
|
261
|
+
| Opção | Atalho | Descrição | Padrão |
|
|
262
|
+
| :--- | :---: | :--- | :--- |
|
|
263
|
+
| --chrome | N/A | Extrair histórico do Google Chrome. | False |
|
|
264
|
+
| --edge | N/A | Extrair histórico do Microsoft Edge. | False |
|
|
265
|
+
| --firefox | N/A | Extrair histórico do Mozilla Firefox. | False |
|
|
266
|
+
| --all | N/A | Extrair de todos os navegadores suportados. | False |
|
|
267
|
+
|
|
268
|
+
### `downloads`
|
|
269
|
+
Extrai o histórico de downloads dos navegadores.
|
|
270
|
+
|
|
271
|
+
**Sintaxe:**
|
|
272
|
+
```bash
|
|
273
|
+
forensic-cli browser downloads [OPÇÕES]
|
|
274
|
+
```
|
|
275
|
+
|
|
276
|
+
**Opções:**
|
|
277
|
+
| Opção | Atalho | Descrição | Padrão |
|
|
278
|
+
| :--- | :---: | :--- | :--- |
|
|
279
|
+
| --output-dir | -o | Diretório para salvar os artefatos. | artefatos/downloads |
|
|
280
|
+
| --chrome | N/A | Extrair downloads do Chrome. | False |
|
|
281
|
+
| --edge | N/A | Extrair downloads do Edge. | False |
|
|
282
|
+
| --firefox | N/A | Extrair downloads do Firefox. | False |
|
|
283
|
+
| --all | N/A | Extrair de todos os navegadores. | False |
|
|
284
|
+
|
|
285
|
+
### `favscreen`
|
|
286
|
+
Processa arquivos de histórico (.json), captura favicons e screenshots das URLs encontradas.
|
|
287
|
+
|
|
288
|
+
**Sintaxe:**
|
|
289
|
+
```bash
|
|
290
|
+
forensic-cli browser favscreen [OPÇÕES]
|
|
291
|
+
```
|
|
292
|
+
|
|
293
|
+
**Opções:**
|
|
294
|
+
| Opção | Atalho | Descrição | Padrão |
|
|
295
|
+
| :--- | :---: | :--- | :--- |
|
|
296
|
+
| --input-dir | -i | Diretório contendo os JSONs de histórico. | artefatos/historico |
|
|
297
|
+
| --output-dir | -o | Diretório para salvar favicons e prints. | artefatos/favscreen |
|
|
298
|
+
|
|
299
|
+
### `logins`
|
|
300
|
+
Extrai senhas e logins salvos no Chrome e Edge.
|
|
301
|
+
|
|
302
|
+
**Sintaxe:**
|
|
303
|
+
```bash
|
|
304
|
+
forensic-cli browser logins [OPÇÕES]
|
|
305
|
+
```
|
|
306
|
+
|
|
307
|
+
**Opções:**
|
|
308
|
+
| Opção | Atalho | Descrição | Padrão |
|
|
309
|
+
| :--- | :---: | :--- | :--- |
|
|
310
|
+
| --output-dir | -o | Diretório para salvar os logins em JSON. | artefatos/logins |
|
|
311
|
+
| --chrome | N/A | Extrair logins do Chrome. | False |
|
|
312
|
+
| --edge | N/A | Extrair logins do Edge. | False |
|
|
313
|
+
| --all | N/A | Extrair de todos os navegadores. | False |
|
|
314
|
+
|
|
315
|
+
### `patterns`
|
|
316
|
+
Analisa arquivos de histórico (.json) para encontrar padrões de navegação e gera gráficos.
|
|
317
|
+
|
|
318
|
+
**Sintaxe:**
|
|
319
|
+
```bash
|
|
320
|
+
forensic-cli browser patterns [OPÇÕES]
|
|
321
|
+
```
|
|
322
|
+
|
|
323
|
+
**Opções:**
|
|
324
|
+
| Opção | Atalho | Descrição | Padrão |
|
|
325
|
+
| :--- | :---: | :--- | :--- |
|
|
326
|
+
| --input-dir | -i | Diretório com os JSONs de histórico. | artefatos/historico |
|
|
327
|
+
| --output-dir | -o | Diretório para salvar gráficos e relatórios. | artefatos/patterns_output |
|
|
328
|
+
|
|
329
|
+
### `words`
|
|
330
|
+
Extrai as palavras mais pesquisadas do histórico do navegador.
|
|
331
|
+
|
|
332
|
+
**Sintaxe:**
|
|
333
|
+
```bash
|
|
334
|
+
forensic-cli browser words [OPÇÕES]
|
|
335
|
+
```
|
|
336
|
+
|
|
337
|
+
**Opções:**
|
|
338
|
+
| Opção | Atalho | Descrição | Padrão |
|
|
339
|
+
| :--- | :---: | :--- | :--- |
|
|
340
|
+
| --output-dir | -o | Diretório para salvar o JSON com as palavras. | artefatos/words_output |
|
|
341
|
+
| --chrome | N/A | Extrair palavras do Chrome. | True |
|
|
@@ -2,7 +2,7 @@ from setuptools import setup, find_packages
|
|
|
2
2
|
|
|
3
3
|
setup(
|
|
4
4
|
name="forensic_cli",
|
|
5
|
-
version="1.
|
|
5
|
+
version="1.4.1",
|
|
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",
|