
Console di triage DFIR per host Windows che concatena raccolta di artefatti, timeline correlate con Sigma, scansioni YARA, ispezione di socket e account, arricchimento degli indicatori e un punteggio di rischio calibrato.
Punta Kage verso un host Windows sospetto e questo esegue l'intera triage in un'unica catena: CyLR raccoglie gli artefatti, Hayabusa correla i log degli eventi con Sigma, THOR Lite esegue la scansione alla ricerca di corrispondenze YARA, VirusTotal e AbuseIPDB qualificano gli indicatori, e il provider AI che scegli redige il report. Ogni fase viene trasmessa in tempo reale, sigilla ciò che ha prodotto e può essere rieseguita singolarmente.```bash pip install -r requirements.txt python -m dfirconsole # → http://127.0.0.1:8787
<p align="center">
<img src="https://assets.kitploit.com/production/public/readmes/55114/7d59d87cd6f41f9d8dc66e4da743e6c6728a7156a06f9de9bdc18cdfd1fbb5cd/de22d9f23b6327fc806bbd1febb370cdca42f33eff3718eca9a0864eeb7d87e2-display-v1.webp" alt="Kage overview" width="100%">
<br><sub>La panoramica: undici passaggi sigillati a sinistra, il registro di esecuzione
in streaming e il punteggio suddiviso nei suoi quattro componenti.</sub>
</p>
---
## 📑 Indice
- [Installazione](#-installation)
- [Eseguire la prima scansione](#-running-your-first-scan)
- [Aggiungere THOR Lite manualmente](#-adding-thor-lite-manually)
- [La catena](#-the-chain)
- [Punteggio di rischio](#-risk-score)
- [Avvisi](#-alerts)
- [Contesto di sistema](#-system-context)
- [Logging e audit](#-logging--audit)
- [YARA](#-yara)
- [Sigilli](#-seals)
- [Viste](#-views)
- [Configurazione](#-configuration)
- [Riferimento CLI](#-cli-reference)
- [Risoluzione dei problemi](#-troubleshooting)
- [Versione Linux](#-linux-version--in-progress)
- [Crediti](#-credits)
---
## 📦 Installazione
### Requisiti
| | |
|---|---|
| OS | Windows 10 / 11 o Windows Server |
| Python | 3.10+ da [python.org](https://www.python.org/downloads/), **installato per tutti gli utenti** |
| Diritti | **Amministratore** |
| Disco | qualche GB libero per la raccolta |
### Installazione```powershell
# 1. Extract Kage anywhere — Desktop, C:\Kage, a USB stick, it does not matter
cd C:\Kage
# 2. Install the dependencies
pip install -r requirements.txt
# 3. Check the environment before touching a host
python preflight.py
preflight.py segnala ciò che è pronto e ciò che manca.```
Workspace : C:\Kage
System : Windows 11
Python : 3.12.3
Dependencies [ok] module fastapi [ok] module uvicorn [ok] module httpx
Rights and disk space [ok] console running as administrator [ok] free space: 84.2 GB
Tooling [!] CyLR in C:\Kage\tools\cylr → the "Locate the tooling" step downloads it [!] THOR Lite → optional step — it will simply be skipped
### Avvio — come Amministratore```powershell
python -m dfirconsole
Oppure fai clic con il tasto destro su launch.bat → Esegui come amministratore, che gestisce il
virtualenv, l'installazione e apre il browser per te.```
Kage DFIR Toolkit 1.5.0
code C:\Kage\dfirconsole
workspace C:\Kage
open http://127.0.0.1:8787
> **La workspace è il punto da cui hai avviato.** Nulla da configurare. Strumenti,
> evidenze e output finiscono tutti accanto alla console.
### Provalo prima senza rischi```powershell
python -m dfirconsole --demo
La modalità dimostrativa costruisce un'intrusione sintetica — allegato malevolo, PowerShell codificato, Defender disabilitato, furto di credenziali, persistenza, C2, copie shadow eliminate — ed esegue l'intera catena su di essa. Nulla sulla tua macchina viene toccato. Il modo migliore per imparare l'interfaccia prima di un incidente reale.
Avvia come amministratore, apri http://127.0.0.1:8787 e verifica che la barra di stato mostri live run · Windows e non demonstration mode.
Clicca su Settings:
| Campo | Esempio | Perché è importante |
|---|---|---|
| Riferimento del caso | INC-2026-0042 | assegna un nome al report, al log e all'archivio |
| Analista | N. Delaunay | compare nell'intestazione del report |
Lascia Workspace folder vuoto: tiene traccia autonomamente della cartella di avvio. Clicca su Save.
La colonna di sinistra è la catena di custodia. Ogni passo ha una casella di controllo; tutte sono selezionate per impostazione predefinita tranne la scansione YARA.
Per una prima esecuzione, deseleziona tutto tranne:``` ☑ Prepare the workspace ☑ Exclude the folder from Defender ☑ Locate the tooling ☑ Update the Sigma rules
Clicca **Esegui 4 passaggi**. Circa un minuto. Questo scarica CyLR e Hayabusa e
conferma che la tua elevazione funziona davvero *prima* che inizi qualcosa di lungo.
### Passaggio 4 — Raccogliere e analizzare
Una volta che quei quattro sono sigillati, seleziona il resto:```
☑ Collect the artefacts CyLR — a few minutes, several GB
☑ Capture the system context accounts, sockets, disk root, log coverage
☑ Build the timeline Hayabusa correlates against Sigma
☑ Analyse the timeline score, alert families, indicators
Clicca Esegui e osserva lo streaming del registro di esecuzione. Ogni passo completato riceve un sigillo — un SHA-256 che puoi verificare in seguito.
| Dove | Cosa ottieni |
|---|---|
| Panoramica | punteggio di rischio con le sue quattro componenti, avvisi per famiglia |
| Avvisi | ogni avviso, filtrabile per gravità e famiglia |
| Sistema | account, socket associati ai processi, cartelle anomale, copertura dei log |
| Indicatori | hash, IP e domini estratti dalla timeline |
Clicca su qualsiasi riga della tabella per aprire il pannello di lettura: ogni campo, la riga di comando
completa, tutti i dati grezzi. ← → per spostarti tra gli elementi, Esc per chiudere.
Con le chiavi API configurate:``` ☑ Enrich the indicators VirusTotal + AbuseIPDB reputation ☑ Write the summary the AI drafts the report
Senza chiavi, entrambi vengono contrassegnati come *saltati* e viene prodotto invece un **write-up locale** — stessa struttura, nessuna chiamata di rete.
### Passo 7 — Esportazione
In alto a destra nella dashboard:
- **Report** — HTML stampabile, tredici sezioni numerate, pronto per il PDF
- **JSON** — lo stato completo, sigilli inclusi
- **Log** — tutto ciò che la console ha prodotto
> 💡 **Riproduci un singolo passo:** fai doppio clic sul suo tag nella colonna di sinistra. Utile
> quando Hayabusa fallisce ma la raccolta è a posto — non serve raccogliere due volte.
---
## 🔦 Aggiungere THOR Lite manualmente
La scansione YARA è l'unico passo che Kage **non** può configurare per te. Nextron richiede
la registrazione, quindi il binario non può essere scaricato da uno script. CyLR e Hayabusa
si scaricano da soli; THOR no.
### 1. Ottieni l'archivio
Registrati e scarica da
[nextron-systems.com/thor-lite](https://www.nextron-systems.com/thor-lite/).
Riceverai lo scanner **e un file di licenza** (`.lic`) — di solito via email.
### 2. Inseriscilo in `tools\thor\`
Kage ha già creato quella cartella per te al primo avvio. Copia il contenuto
dell'archivio al suo interno, **mantenendo tutto insieme**:```
C:\Kage\
└── tools\
└── thor\ ← everything goes here
├── thor64-lite.exe the scanner
├── yourname.lic the licence — THOR will not start without it
├── config\ from the archive
├── signatures\ from the archive — the YARA rules themselves
└── custom-signatures\ from the archive
Perché tenerli insieme? THOR viene eseguito dalla directory che contiene il suo eseguibile e risolve le sue firme relativamente a quella directory. Copiare il solo binario ti dà uno scanner senza nulla da scansionare.
Gli altri due strumenti si trovano accanto ad esso, ciascuno nella propria cartella:```
tools
├── cylr\ CyLR.exe ← downloaded automatically
├── hayabusa\ hayabusa-.exe ← downloaded automatically
└── thor\ thor64-lite.exe + .lic ← you place this one
### 3. Verifica```powershell
python preflight.py
# Clona il repository
git clone https://github.com/yourusername/kitploit-tool.git
cd kitploit-tool
# Esegui lo script di installazione
chmod +x install.sh
./install.sh
Lo script di installazione eseguirà automaticamente le seguenti operazioni:
Se preferisci un'installazione manuale, segui questi passaggi:
# Debian/Ubuntu
sudo apt-get update
sudo apt-get install python3 python3-pip git
# RHEL/CentOS
sudo yum install python3 python3-pip git
# macOS
brew install python3 git
git clone https://github.com/yourusername/kitploit-tool.git
cd kitploit-tool
python3 -m venv venv
source venv/bin/activate # Su Windows: venv\Scripts\activate
pip install -r requirements.txt
cp config.example.yaml config.yaml
# Modifica config.yaml con le tue impostazioni
Per iniziare rapidamente, esegui:
python3 main.py --target example.com
| Opzione | Descrizione | Predefinito |
|---|---|---|
-t, --target | Target da scansionare | Nessuno |
-o, --output | File di output | results.json |
-v, --verbose | Output dettagliato | false |
-c, --config | File di configurazione | config.yaml |
--threads | Numero di thread | 10 |
--timeout | Timeout in secondi | 30 |
Scansione di base:
python3 main.py -t example.com
Scansione con output dettagliato:
python3 main.py -t example.com -v
Scansione con configurazione personalizzata:
python3 main.py -t example.com -c myconfig.yaml
Scansione di più target:
python3 main.py -t example.com,test.com,demo.com
Scansione con output personalizzato:
python3 main.py -t example.com -o /path/to/results.json
Il file config.yaml controlla il comportamento del tool. Ecco un esempio di configurazione:
# Impostazioni generali
general:
verbose: false
threads: 10
timeout: 30
# Impostazioni di scansione
scan:
ports: [80, 443, 8080, 8443]
protocols: [http, https]
follow_redirects: true
# Impostazioni di output
output:
format: json
directory: ./results
save_raw: true
# Impostazioni di logging
logging:
level: INFO
file: ./logs/tool.log
generalverbose: Abilita l'output dettagliato (true/false)threads: Numero di thread concorrentitimeout: Timeout della richiesta in secondiscanports: Elenco delle porte da scansionareprotocols: Protocolli da utilizzarefollow_redirects: Segui i reindirizzamenti HTTPoutputformat: Formato di output (json, csv, xml)directory: Directory per i file di outputsave_raw: Salva i dati grezzi della rispostalogginglevel: Livello di logging (DEBUG, INFO, WARNING, ERROR)file: Percorso del file di log```
Tooling
[ok] CyLR in C:\Kage\tools\cylr
[ok] Hayabusa in C:\Kage\tools\hayabusa
[ok] THOR Lite: C:\Kage\tools\thor\thor64-lite.exe
[ok] THOR licence file (*.lic)Se la riga della licenza mostra `[!]`, THOR si avvierà e si fermerà immediatamente.
### 4. Scegli l'ambito — questo decide tutto
**Impostazioni → Cartella di scansione YARA:**
| Valore | Scansiona | Tempo |
|---|---|---|
| *(vuoto)* | gli artefatti appena raccolti da CyLR | minuti |
| `C:\Users\target` | un profilo utente | minuti |
| `C:\` | l'intero volume di sistema | **ore** |
Seleziona **Scansione YARA** nella catena ed eseguila. I verdetti appaiono in tempo reale man mano che i file vengono esaminati — avvisi, allerte, notifiche *e* file puliti, ciascuno con il suo hash.
**Nessun limite di tempo per impostazione predefinita.** Una scansione di tre ore è una decisione, non un'anomalia. Impostane uno in minuti se vuoi un tetto massimo.
> Senza THOR, il passo si segnala come *saltato* e la catena prosegue.
> Perdi l'asse YARA del punteggio — nient'altro.
---
## 🔗 La catena
Undici passi. Seleziona ciò che ti serve, fai doppio clic su un tag per rieseguirne uno da solo.
| # | Passo | Cosa viene effettivamente eseguito |
|---|---|---|
| 01 | Prepara l'area di lavoro | struttura di cartelle, verifica dei privilegi e dello spazio libero |
| 02 | Escludi da Defender | `Add-MpPreference -ExclusionPath <workspace>` |
| 03 | Individua gli strumenti | risolve e scarica CyLR + Hayabusa dalle release di GitHub |
| 04 | Raccogli gli artefatti | `CyLR.exe -od evidence\ -of <case>.zip -v` |
| 05 | Cattura il contesto di sistema | `systeminfo` · `Get-LocalUser` · `netstat -ano` · `tasklist` · `auditpol` |
| 06 | Aggiorna le regole Sigma | `hayabusa update-rules` |
| 07 | Costruisci la timeline | `hayabusa <csv\|dfir>-timeline -d <Logs> -o hayabusa-output.csv -r <rules>` |
| 08 | Analizza la timeline | punteggio, famiglie di allerte, estrazione degli indicatori |
| 09 | Scansione YARA *(opzionale)* | `thor64-lite.exe --nocsv -p <chosen folder>` |
| 10 | Arricchisci gli indicatori | VirusTotal v3 · AbuseIPDB v2 |
| 11 | Scrivi il riepilogo | il tuo provider AI, oppure una relazione locale |
Il sottocomando di Hayabusa viene letto dal suo stesso output di help, quindi sia v3
(`csv-timeline`) che v4 (`dfir-timeline`) funzionano, e i flag non supportati vengono
scartati anziché far fallire il comando.
---
## 🎯 Punteggio di rischio
Una **priorità di triage, non una prova** — e mai pubblicata senza la sua scomposizione.```
80 / 100 Compromise confirmed by multiple sources
CONFIDENCE HIGH · 441 events analysed
SEVERITY 45 / 45 8 critical, 10 high, 3 medium
KILL CHAIN 25 / 25 10 ATT&CK tactics, 7 decisive
REPUTATION 0 / 20 no indicator confirmed externally
CORROBORATION 10 / 10 3 YARA detections · 3 active connections to public hosts
Quattro assi indipendenti, ciascuno con un limite massimo. È questo che impedisce a una singola regola rumorosa che scatta trecento volte di raggiungere lo stesso verdetto di una vera intrusione multi-stadio.
La confidenza è separata dalla severità. Conta quante fonti indipendenti concordano e se la copertura di logging era sufficiente — quindi un punteggio alto basato solo su Sigma si legge come un forte indizio, mai una conferma:
| Punteggio | Confidenza alta | Confidenza bassa |
|---|---|---|
| ≥ 70 | Compromissione confermata da più fonti | Compromissione altamente probabile — corroborazione ancora limitata |
| ≥ 45 | Compromissione probabile — contenimento raccomandato | Forti indicazioni da una singola fonte |
| ≥ 25 | Attività sospetta che richiede qualificazione | |
| ≥ 10 | Segnali deboli, nessuna compromissione accertata | |
| < 10 | Nulla di conclusivo |
Ricalcolato ogni volta che arriva una nuova fonte — dopo la timeline, dopo YARA, dopo l'arricchimento.

La severità indica quanto è urgente. Le famiglie indicano di che tipo.``` FAMILIES AUTHENTICATION 4 INFECTION 1 EXECUTION 6 NETWORK 5 EVASION 5 OTHER 0
TIMESTAMP LEVEL FAMILY RULE ID 09/09 10:26 CRITICAL EVASION Windows Defender Disabled 5001 09/09 11:09 CRITICAL EVASION Volume Shadow Copies Deleted 4688 09/09 11:15 CRITICAL EVASION Security Event Log Cleared 1102 09/09 10:32 CRITICAL AUTH LSASS Memory Access 10
Classificato prima per ID evento, poi per formulazione. **Quando i due sono in disaccordo, vince il testo**: un `4688` è una creazione di processo, ma `vssadmin delete shadows` appartiene a Evasion, perché è lì che un analista lo cercherà.
**I conteggi delle famiglie corrispondono sempre alla tabella.** Calcolati sugli avvisi che raggiungono effettivamente la lista — un badge che promette righe che non riesci a trovare è un bug, non un dettaglio.
**L'istogramma segue la selezione.** Con una famiglia attiva, la finestra osservata viene ridisegnata nel colore di quella famiglia e un tick ne segna il momento di massima attività.
**Il triage non segnala se stesso.** THOR scrive nel registro eventi di Windows mentre è in esecuzione, e scansionare una cartella di binari offensivi fa sì che Hayabusa segnali il nostro stesso scanner. Quegli eventi sono esclusi, conteggiati a parte, e il totale viene riportato.
---
## 🖥️ Contesto di sistema

Ciò che nessun registro eventi ti dice, catturato in sola lettura:```
NETWORK — 7 listening, 4 established, 8 flagged
RISK PROTO LOCAL REMOTE PROCESS
HIGH TCP 10.20.4.11:52233 45.155.205.233:8443 powershell.exe
→ active connection to the Internet · powershell.exe should not
open a socket · remote port 8443 associated with offensive tooling
HIGH TCP 0.0.0.0:3389 — TermService.exe
→ exposed listener on RDP
ROOT C:\ — 3 flagged entries
HIGH C:\Tools folder created 0 day(s) ago
→ non-standard entry at the disk root · name suggests tooling
HIGH C:\Temp folder → frequently abused location
Ogni socket è associato al processo che lo possiede tramite PID — questo
riferimento incrociato è ciò che rende immediatamente leggibile il fatto che
powershell.exe mantenga una connessione verso un host pubblico.
Gli account locali vengono verificati per l'appartenenza al gruppo Administrators, lo stato abilitato-ma-inattivo e l'ultimo accesso. Gli indirizzi pubblici delle connessioni established entrano automaticamente nella lista degli indicatori: un indirizzo con cui si sta comunicando durante il triage vale almeno quanto uno letto da una voce di log di tre giorni prima.
Un triage vale solo quanto la macchina ha accettato di registrare.``` LOGGING & AUDIT — coverage 51/100 · partial coverage
Blind spots: Sysmon · PowerShell (script blocks) · Process creation · Credential validation
STATE CHANNEL IMPORTANCE EVENTS ACTIVE Security critical 84 213 MISSING Sysmon critical — EMPTY PowerShell (script blocks) critical — ACTIVE System important 12 045 DISABLED WinRM important —
Sedici canali classificati **attivo / vuoto / disabilitato / mancante** — la
distinzione è importante: un canale vuoto è a un comando di distanza dall'essere
sistemato, uno mancante richiede un deployment. Tredici sottocategorie `auditpol` lette in parallelo.
Il punteggio di copertura si trova accanto al punteggio di rischio. *Rischio 80, copertura 51* significa che il
verdetto si basa su metà delle informazioni disponibili — e il report lo dichiara.
---
## 🔬 YARA
```
8 verdicts
VERDICT DETECTION FILE HASH SCORE
ALERT YARA rule HKTL_Rubeus C:\AD\Tools\Rubeus.exe 9c4133ee… 100
ALERT YARA rule HKTL_AmsiTrigger C:\AD\Tools\AmsiTrigger.exe af7af55c… 95
ALERT YARA rule PS_Reverse_Shell C:\AD\Tools\PowerShellTcp… ab1e98e8… 80
WARNING Suspicious filename C:\AD\Tools\svchost32.exe 6b6f1901… —
NOTICE File checked - signed C:\AD\Tools\chrome.exe c5a10bff… —
CLEAN Clean C:\AD\Tools\notepad.exe 20eded6a… —
La pagina si riempie durante la scansione, non solo quando viene trovato qualcosa. È questo che distingue non ha trovato nulla da non ha guardato nulla.
La scansione inizia dal primo risultato reale. THOR apre ogni esecuzione con una dozzina di righe di banner — versione, build, hostname, directory di lavoro, elenco degli argomenti, uptime — e si chiude con un riepilogo. Nulla di tutto ciò descrive l'host in esame, quindi nulla di tutto ciò raggiunge la vista. Gli hash dagli avvisi vengono inseriti nella lista degli indicatori, pronti per VirusTotal.
Ogni passo completato viene sigillato con uno SHA-256, e il sigillo dichiara cosa copre:``` ✔ Analyse the timeline SEALED 0.1s seal 31d1991a65598de8 — content of hayabusa-output.csv
✔ Exclude the folder from Defender SEALED 6.2s seal 8f2c04b71ae93d55 — execution record (no file produced)
Quando un passo ha prodotto file, il seal è l'hash **del loro contenuto** — rieseguilo più tardi e hai la prova che l'artefatto non è stato alterato. Quando non ne ha prodotto nessuno, il seal copre solo il record di esecuzione, e lo dichiara invece di implicare altro.
---
## 🧭 Views
Ogni view ha il proprio URL, non ricarica nulla e non perde nulla — l'analisi vive lato server e un refresh completo la ripristina.
| Indirizzo | Contenuto |
|---|---|
| `/` | pipeline, log di esecuzione, ripartizione per famiglia |
| `/alerts` | alert per severità e famiglia |
| `/indicators` | indicatori con reputazione VirusTotal / AbuseIPDB |
| `/system` | macchina, account, rete, radice del disco, copertura |
| `/yara` | verdetti THOR, live durante la scansione |
| `/attack` | tattiche ATT&CK inferite |
| `/summary` | report scritto |
| `/log` | log completo, scaricabile |
### Esecuzione live

Ogni comando viene trasmesso in streaming mentre viene eseguito. I passi si sigillano uno per uno; il cronometro si ferma quando la catena termina.
### Indicatori

Hash, IP e domini estratti dalla timeline, dai socket attivi e dagli hit YARA — ciascuno con la propria reputazione una volta eseguito l'arricchimento.
### Tattiche ATT&CK

### Pannello di lettura

Qualsiasi riga, ovunque, si apre in modo completo: ogni campo, la command line completa, i dati THOR grezzi. `←` `→` per spostarsi tra gli elementi, `Esc` per chiudere, **Copy** per il JSON.
### Riepilogo scritto

Fatti osservati separati da quelli valutati, linguaggio calibrato e una sezione esplicita sulle lacune probatorie che indica ciò che il logging non avrebbe potuto mostrare.
### Impostazioni

### Log di esecuzione

---
## 📄 Il report
`/api/report.html` — autonomo, scuro, tredici sezioni numerate, pronto per la stampa in PDF. Nessuna risorsa esterna: resta leggibile tra dieci anni su una macchina offline.
### Verdetto e punteggio

Il punteggio non appare mai senza le sue quattro componenti, così un lettore può contestare un singolo asse invece di un numero opaco.
### Riscontri e contenimento

### Lacune probatorie e catena di custodia

Ogni passo con il suo seal e **ciò che quel seal copre** — il contenuto di un file specifico, o il solo record di esecuzione.
> Quando si stampa in PDF, seleziona *Background graphics* nelle opzioni del browser, altrimenti lo sfondo scuro viene rimosso.
---
## ⚙️ Configurazione
### Struttura degli strumenti
Ogni strumento possiede una cartella, e ciascuno include un README che spiega cosa va inserito al suo interno.```
<workspace>/
├── tools/
│ ├── cylr/ CyLR.exe ← downloaded automatically
│ ├── hayabusa/ hayabusa-<version>.exe ← downloaded automatically
│ └── thor/ thor64-lite.exe + .lic ← manual, registration required
├── evidence/ collection archive, unpacked
└── output/ timeline, logs, enrichment cache
CyLR e Hayabusa si installano da soli. Il passo Individua gli strumenti interroga l'API delle release di GitHub, seleziona l'asset corrente per Windows x64 e lo estrae nella cartella corretta. Fissare una versione significa che il download si rompe il giorno in cui l'upstream avanza; risolverla significa che la console continua a funzionare senza supervisione. Un URL fissato subentra se l'API non è raggiungibile.
Tutto funziona senza una singola chiave. I passi non configurati sono contrassegnati come skipped, mai come failed.
Dove vanno le credenziali. Il repository include apikeys.env.example, un modello
con valori vuoti. Copialo, mantieni la copia in locale:```powershell
copy apikeys.env.example apikeys.env
notepad apikeys.env
## Utilizzo
python3 CVE-2025-55182.py -u -c
### Esempio
python3 CVE-2025-55182.py -u http://localhost:3000 -c "id"
## Rilevamento
python3 CVE-2025-55182.py -u http://localhost:3000 --check
## Reverse Shell
python3 CVE-2025-55182.py -u http://localhost:3000 --lhost --lport
## Note
- Il target deve eseguire un'applicazione Next.js vulnerabile con Server Actions abilitate.
- L'endpoint predefinito è `/`; usa `--endpoint` per specificarne uno diverso.
- Usa `--header` per aggiungere header personalizzati (es. cookie di autenticazione).
- Usa `--proxy` per instradare il traffico attraverso un proxy (es. Burp Suite).
## Riferimenti
- [Next.js Security Advisory](https://github.com/vercel/next.js/security/advisories)
- [React Server Components](https://react.dev/reference/rsc/server-components)
- [CVE-2025-55182](https://nvd.nist.gov/vuln/detail/CVE-2025-55182)
## Licenza
Questo progetto è fornito solo a scopo di ricerca sulla sicurezza e test etico. Gli autori non sono responsabili per qualsiasi uso improprio o danno causato da questo strumento.
## Declinazione di responsabilità
Questo strumento è destinato esclusivamente a test di sicurezza autorizzati e ricerca educativa. L'uso non autorizzato di questo strumento contro sistemi di cui non si possiede l'autorizzazione è illegale e può comportare conseguenze legali. Usalo in modo responsabile e solo su sistemi di tua proprietà o per cui hai ricevuto un'autorizzazione esplicita.```ini
# apikeys.env — sits next to launch.bat
VT_API_KEY=your_virustotal_key
ABUSEIPDB_API_KEY=your_abuseipdb_key
AI_PROVIDER=groq
AI_API_KEY=your_provider_key
AI_MODEL=
Dove ottenerle
| Chiave | Piano gratuito | Registrazione |
|---|---|---|
VT_API_KEY | 4 richieste/minuto, 500/giorno | virustotal.com |
ABUSEIPDB_API_KEY | 1 000 controlli/giorno | abuseipdb.com |
AI_API_KEY | variabile — Groq e Ollama sono gratuiti | vedi la tabella dei provider qui sotto |
Puoi anche impostarle come variabili d'ambiente invece che in un file, che è di solito ciò che vuoi in un container o su una workstation condivisa per il responder:```powershell $env:VT_API_KEY = "..." python -m dfirconsole
### Provider di riepilogo
Ognuno ha il proprio endpoint, collegato esplicitamente, quindi scegliere Groq non invia mai la tua
chiave a OpenAI.
| Provider | Endpoint | Modello predefinito |
|---|---|---|
| Anthropic | `api.anthropic.com` | `claude-sonnet-4-6` |
| OpenAI | `api.openai.com/v1` | `gpt-4o` |
| Groq | `api.groq.com/openai/v1` | `llama-3.3-70b-versatile` |
| Mistral | `api.mistral.ai/v1` | `mistral-large-latest` |
| OpenRouter | `openrouter.ai/api/v1` | `anthropic/claude-sonnet-4` |
| Ollama | `localhost:11434/v1` | `llama3.1` — nessuna chiave |
| None | — | write-up locale |
I piccoli tier gratuiti sono gestiti: Groq consente 12 000 token al minuto, quindi il
payload viene misurato rispetto a quel limite e, in caso di rifiuto per dimensione, riprodotto con
meno alert e dettagli più brevi. Il verdetto sopravvive; solo le prove di supporto si assottigliano.
Il modello è tenuto a uno standard — osservato separato da valutato, linguaggio
calibrato, affermazioni quantificate, lacune probatorie esplicite e la spiegazione
benigna considerata.
---
## 📟 Riferimento CLI```
python -m dfirconsole console on 127.0.0.1:8787
python -m dfirconsole --port 9000 custom port
python -m dfirconsole --demo synthetic data, no collection
python preflight.py environment check
python preflight.py D:\CASE42 check another workspace
python -m pytest tests/ -q 115 tests
python tests/ui_check.py browser: full chain, reading pane
python tests/ui_nav.py browser: navigation, counts, histogram
python tests/ui_flood.py browser: 6000 log lines at once
Le esecuzioni nel browser richiedono pip install playwright && playwright install chromium.
"Sono richiesti privilegi di amministratore" / esclusione di Defender rifiutata
Kage non è elevato. Chiudilo, fai clic con il tasto destro su launch.bat → Esegui come
amministratore, oppure apri prima PowerShell come amministratore.
did not find executable … python.exe
Il tuo Python proviene dal Microsoft Store, che esegue l'installazione per utente e scompare
in una sessione di amministratore. Reinstallalo da python.org, per tutti gli utenti.
CyLR non ha prodotto alcun archivio / la raccolta è vuota
Aggiungi --force-native in Impostazioni → Argomenti CyLR. Abbandona la lettura raw NTFS
in favore dell'API di Windows, che funziona quando il rilevamento della partizione fallisce su un disco.
THOR si avvia poi diventa silenzioso
La sua licenza è mancante o scaduta, oppure signatures\ non è stato copiato accanto al
binario. Esegui preflight.py per confermare.
Una catena di triage Linux è in fase di sviluppo sulla stessa console, con le stesse viste, lo stesso modello di punteggio. I parser sono già indipendenti dalla piattaforma; ciò che cambia è il livello di evidenza:
| Windows | Linux (in corso) |
|---|---|
| Raccolta CyLR | Raccolta UAC / CyLR Linux |
| EVTX + Hayabusa Sigma | journald / auth.log / syslog + Sigma |
Get-LocalUser · auditpol | /etc/passwd · /etc/shadow · regole auditd |
netstat -ano + tasklist | ss -tunap |
| Anomalie radice del disco | /tmp · /dev/shm · /var/tmp · cron · unità systemd |
| THOR Lite | THOR Lite per Linux |
Metti una stella o segui il repository per non perderti il rilascio.
Kage è una console, non un collector né uno scanner. Il lavoro pesante spetta a questi progetti, che meritano la stella molto più di questo repository:
| Strumento | Repository | Ruolo nella catena |
|---|---|---|
| CyLR | orlikoski/CyLR | raccolta di artefatti live su raw NTFS |
| Hayabusa | Yamato-Security/hayabusa | correlazione Sigma, generazione della timeline |
| Sigma | SigmaHQ/sigma | le regole di rilevamento dietro ogni avviso |
| THOR Lite | NextronSystems/thor-lite | scansione YARA e IOC |
| VirusTotal | virustotal.com | reputazione di hash, IP e domini |
| AbuseIPDB | abuseipdb.com | punteggio di abuso degli IP |
| MITRE ATT&CK | attack.mitre.org | il framework di tattiche dietro l'asse della kill-chain |
Rispetta la licenza e i termini d'uso di ciascun progetto — THOR Lite in particolare richiede la registrazione con Nextron e non è ridistribuibile.
| Strumento | Dominio | |
|---|---|---|
| ☁️ | Kumo 蜘蛛 | OSINT e ricognizione di domini |
| 🌑 | Kage 影 | triage DFIR dell'host |
⚠️ Solo per risposta agli incidenti autorizzata. Esegui Kage solo su host di tua proprietà o per i quali hai esplicito permesso scritto di esaminarli.
Costruito per coloro che arrivano dopo. 影