Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
ghost — Rileva l'iniezione di processi e la manipolazione della memoria utilizzate dal malware. Individua regioni RWX, pattern di shellcode, hook API, hijacking dei thread e process hollowing. Sviluppato in Rust per la velocità. Include interfacce CLI e TUI. | Kitploit
Strumenti/GitHubGitHub/pandaadir05/ghost
Strumenti DifensiviMemory ForensicsReverse EngineeringInformatica ForenseAnalisi MalwareAnalisi di BinariThreat IntelligenceMachine LearningRisposta agli Incidenti
GitHubpandaadir05/ghost

ghost

Rileva l'iniezione di processi e la manipolazione della memoria utilizzate dal malware. Individua regioni RWX, pattern di shellcode, hook API, hijacking dei thread e process hollowing. Sviluppato in Rust per la velocità. Include interfacce CLI e TUI.

3824813 giorni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
Vedi Repository

Ghost

CI License: MIT

Ghost è uno strumento di rilevamento dell'iniezione di processi scritto in Rust. Monitora i processi in esecuzione e cerca di individuare attività sospette come l'iniezione di codice, la manipolazione della memoria e altri trucchi usati dal malware per nascondersi.

Cosa fa

L'idea principale è semplice: analizzare i processi e cercare pattern di memoria anomali, funzioni hookate, shellcode e altri segni di manomissione. Funziona su Windows, Linux e macOS (anche se al momento il supporto Windows è il più completo).

Ecco alcune delle cose che può rilevare:

  • Regioni di memoria con permessi di lettura-scrittura-esecuzione - Di solito un campanello d'allarme
  • Pattern di shellcode - Sequenze di istruzioni comuni presenti nel codice iniettato
  • Process hollowing - Quando un processo legittimo viene svuotato e sostituito con codice malevolo
  • API hook - Funzioni reindirizzate tramite patch inline o modifiche all'IAT
  • Thread hijacking - Thread reindirizzati per eseguire shellcode
  • Iniezione APC - Codice malevolo accodato tramite chiamate a procedure asincrone (APC)
  • Firme YARA - Corrispondenze con pattern e payload di malware noti

Inoltre, mappa i comportamenti rilevati sul framework MITRE ATT&CK, utile se stai documentando minacce o scrivendo report.

Screenshot

Dashboard di rilevamento

Ghost TUI - Panoramica rilevamenti

Minacce attive

Malware rilevato

Monitoraggio in tempo reale

Log di analisi dei processi in tempo reale

Compilazione

Devi avere Rust installato (1.70 o successivo). Poi:

root@kitploit:~
cargo build --release

Su Windows ti servono anche gli strumenti di compilazione MSVC. Linux richiede gli strumenti di sviluppo di base (gcc, ecc.). macOS richiede gli strumenti da riga di comando di Xcode.

Esecuzione

Ci sono due interfacce: uno strumento a riga di comando e un'interfaccia utente interattiva da terminale.

CLI:

root@kitploit:~
# Scan all processes
cargo run --bin ghost-cli --release

# Target one process
cargo run --bin ghost-cli --release -- --pid 1234

# Output results as JSON
cargo run --bin ghost-cli --release -- --format json

# Use a config file
cargo run --bin ghost-cli --release -- --config ghost.toml

# Continuous monitoring mode
cargo run --bin ghost-cli --release -- --watch

# Watch with custom interval (10 seconds)
cargo run --bin ghost-cli --release -- --watch --interval 10

TUI:

root@kitploit:~
cargo run --bin ghost-tui --release

La TUI offre una dashboard con statistiche in tempo reale, cronologia dei rilevamenti e puoi navigare tramite scorciatoie da tastiera (Tab per cambiare vista, Q per uscire).

Completamenti per la shell

Ghost supporta il completamento tramite tab per Bash, Zsh, Fish, PowerShell ed Elvish.

root@kitploit:~
# Generate completions for your shell
ghost completions bash > /etc/bash_completion.d/ghost
ghost completions zsh > ~/.zfunc/_ghost
ghost completions fish > ~/.config/fish/completions/ghost.fish

# Or use the install script
./completions/install.sh

Consulta completions/README.md per istruzioni dettagliate sull'installazione.

Funzionalità opzionali

Ghost supporta funzionalità opzionali che possono essere attivate in fase di compilazione:

root@kitploit:~
# YARA rule scanning (requires libyara)
cargo build --features yara-scanning

# Neural ML integration (requires Python and trained models)
cargo build --features neural-ml

# eBPF detection (Linux only, currently stub implementation)
cargo build --features ebpf-detection

Nota: le funzionalità di ML richiedono modelli addestrati per funzionare. Consulta ghost_ml/README.md per le istruzioni di addestramento.

Configurazione

Puoi modificare il comportamento con un file di configurazione TOML. Dai un'occhiata a examples/ghost.toml come punto di partenza. Puoi abilitare/disabilitare metodi di rilevamento specifici, impostare soglie di confidenza, saltare i processi di sistema e controllare la frequenza delle scansioni.

Esempio di frammento di configurazione:

root@kitploit:~
shellcode_detection = true
hollowing_detection = true
hook_detection = true
confidence_threshold = 0.3
skip_system_processes = true
scan_interval_ms = 2000

Controllo delle dimensioni dell'output

Di default, Ghost limita l'output a 10 indicatori per rilevamento e deduplica risultati simili. Per scansioni estese, puoi ridurre ulteriormente l'output:

Opzioni da riga di comando:

root@kitploit:~
# Summary mode - outputs statistics instead of full details
ghost-cli --summary

# Limit indicators per detection
ghost-cli --max-indicators 5

# Only report malicious detections
ghost-cli --min-threat-level malicious

# Combine for minimal output
ghost-cli --summary --quiet

File di configurazione:

root@kitploit:~
[output]
verbosity = "minimal"          # minimal, normal, or verbose
max_indicators_per_detection = 5
min_threat_level = "suspicious"
deduplicate_indicators = true
summary_mode = true

Ciò è utile quando si esegue la scansione di molti processi o quando si utilizza il monitoraggio continuo, dove altrimenti i file di output diventerebbero troppo grandi.

Modalità watch

La modalità watch ti consente di monitorare il sistema in modo continuo senza dover eseguire scansioni manualmente. È utile per cogliere i tentativi di iniezione mentre si verificano.

root@kitploit:~
# Start watching (default: 5 second interval)
ghost-cli --watch

# Custom interval
ghost-cli --watch --interval 10

# Watch specific process
ghost-cli --watch --pid 1234

# Quiet mode - only alerts on new detections
ghost-cli --watch --quiet

Quando è in esecuzione in modalità watch, Ghost:

  • Mostra solo i rilevamenti nuovi (quelli che non ha mai visto prima)
  • Visualizza livelli di minaccia con codifica a colori (rosso per malizioso, giallo per sospetto)
  • Stampa i timestamp a ogni ciclo di scansione
  • Si arresta correttamente con Ctrl+C

Esempio di output:

root@kitploit:~
[14:32:15] Scan #1: clean (142 processes, 89ms)
[14:32:20] Scan #2: 2 NEW detections! (2 total, 142 processes, 91ms)
  [MALICIOUS] suspicious.exe (PID: 4521) - 87% confidence
  [SUSPICIOUS] helper.dll (PID: 2201) - 54% confidence
[14:32:25] Scan #3: 2 known threats (142 processes, 88ms)

Modalità baseline

La modalità baseline cattura un'istantanea dello stato attuale del sistema. Le scansioni successive possono confrontarsi con questa baseline per rilevare i cambiamenti: utile per individuare nuove minacce senza dover passare in rassegna problemi noti.

root@kitploit:~
# Save current state as baseline
ghost-cli --save-baseline baseline.json

# Later: compare against baseline
ghost-cli --baseline baseline.json

# Combine with watch mode
ghost-cli --watch --baseline baseline.json

Quando confronta con una baseline, Ghost segnala:

  • Nuove minacce: Processi non presenti nella baseline
  • Minacce escalate: Processi il cui livello di minaccia è aumentato
  • Nuovi indicatori: Processi noti con nuovi comportamenti sospetti

Esempio di output:

root@kitploit:~
3 changes from baseline:

  New threats (1):
    injector.exe (PID: 8821) - Malicious

  Escalated threats (1):
    helper.dll (PID: 2201): Suspicious -> Malicious

  New indicators (1):
    svchost.exe (PID: 1024):
      - RWX memory region detected
      - Shellcode pattern match

Il codice di uscita è 1 se vengono rilevate modifiche, 0 se è tutto pulito.

Avvisi webhook

Ghost può inviare avvisi in tempo reale a Slack, Discord o qualsiasi endpoint HTTP quando vengono rilevate minacce. Perfetto per l'integrazione con un SOC o per ricevere notifiche sul telefono.

root@kitploit:~
# Slack webhook
ghost-cli --watch --webhook "https://hooks.slack.com/services/XXX/YYY/ZZZ"

# Discord webhook
ghost-cli --watch --webhook "https://discord.com/api/webhooks/123/abc"

# Generic HTTP POST (JSON payload)
ghost-cli --watch --webhook "https://your-siem.example.com/api/alerts"

# Override auto-detected type
ghost-cli --webhook "https://custom.url" --webhook-type slack

Ghost rileva automaticamente il tipo di webhook dall'URL:

  • hooks.slack.com → formato Slack con allegati
  • discord.com/api/webhooks → formato Discord con embed
  • Tutto il resto → payload JSON generico

Gli avvisi Slack includono allegati con codifica a colori, livello di minaccia, punteggio di confidenza e indicatori principali:

root@kitploit:~
🚨 Ghost detected suspicious activity on *prod-server-01*
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🚨 suspicious.exe (PID: 4521)
• RWX memory region detected at 0x7ff...
• Shellcode pattern: NOP sled
Threat Level: Malicious | Confidence: 87%

Gli avvisi Discord utilizzano rich embed con le stesse informazioni in un formato pulito.

I webhook generici inviano un payload JSON:

root@kitploit:~
{
  "event": "ghost.detection",
  "timestamp": "2024-12-06T14:32:15Z",
  "hostname": "prod-server-01",
  "process_name": "suspicious.exe",
  "pid": 4521,
  "threat_level": "Malicious",
  "confidence": 0.87,
  "indicators": ["RWX memory region detected", "..."]
}

Cosa significano i risultati

Quando Ghost trova qualcosa di sospetto, assegna un livello di minaccia: Clean, Low, Medium, High o Critical. Questo si basa su quanti indicatori ha trovato e su quanto siano gravi.

Un'elevata confidenza non significa sempre malware: anche alcuni software legittimi fanno cose strane con la memoria. Usa il tuo giudizio e approfondisci se necessario.

Differenze tra piattaforme

Windows: completamente funzionante. Enumerazione dei processi, lettura della memoria, rilevamento degli hook, rilevamento del process hollowing, validazione PE e analisi dei thread: tutto funziona.

Linux: funzionalità principali operative. Funzionano l'enumerazione dei processi tramite procfs (/proc), la lettura della memoria, il rilevamento di LD_PRELOAD e il rilevamento di iniezioni basato su ptrace. Il supporto eBPF richiede il flag di funzionalità ebpf-detection ed è attualmente un'implementazione stub.

macOS: supporto parziale. Funzionano l'enumerazione dei processi, l'enumerazione delle regioni di memoria, la lettura della memoria e l'enumerazione dei thread tramite le API mach VM. Il rilevamento degli hook include il rilevamento di DYLD_INSERT_LIBRARIES e un framework per il rilevamento di hook inline.

Prestazioni

È progettato per essere abbastanza veloce da supportare il monitoraggio continuo. Una scansione completa del sistema (200 processi) richiede in genere meno di 5 secondi. L'enumerazione della memoria per processo richiede circa 50-100 ms. Il motore di rilevamento aggiunge circa 5-10 ms per analisi.

Regole YARA

Lo strumento include l'integrazione delle regole YARA. Le regole sono archiviate nella directory rules/ e coprono famiglie di malware comuni come Metasploit, Cobalt Strike, pattern generici di shellcode e tecniche di evasione. Puoi aggiungere le tue regole: basta inserire i file .yar in quella cartella.

Codici di uscita

  • 0 = Tutto sembra pulito
  • 1 = Trovati processi sospetti
  • 2 = Qualcosa è andato storto (errore durante la scansione)

Limitazioni

Questo è uno strumento in spazio utente con le seguenti limitazioni:

  • Minacce a livello di kernel: non può rilevare rootkit del kernel o iniezioni in modalità kernel senza supporto a livello di kernel (ad es. eBPF su Linux, attualmente un'implementazione stub)
  • Funzionalità di machine learning: l'analisi tramite reti neurali e le previsioni ML comportamentali sono simulate e richiedono modelli addestrati per essere funzionali
  • Threat intelligence: il framework di threat intelligence esiste ma non dispone di connessioni feed attive né di un database IOC
  • Falsi positivi: software legittimi come gli anti-cheat dei giochi, i debugger, le sandbox e i browser con compilatori JIT possono attivare rilevamenti a causa delle loro tecniche di manipolazione della memoria
  • macOS: rilevamento degli hook completamente implementato con DYLD_INSERT_LIBRARIES e rilevamento di hook inline tramite risoluzione degli indirizzi delle funzioni basata su nm
  • Rivendicazioni sulle prestazioni: le metriche di prestazione documentate sono obiettivi e non sono state validate tramite benchmark completi

Documentazione

Maggiori dettagli nella cartella docs/:

  • DETECTION_METHODS.md - Spiega come funziona ogni tecnica di rilevamento
  • MITRE_ATTACK_COVERAGE.md - Elenca le tecniche ATT&CK coperte
  • PERFORMANCE_GUIDE.md - Suggerimenti per ottimizzare le prestazioni

Dai un'occhiata anche a CONTRIBUTING.md se vuoi contribuire e a SECURITY.md per la policy di sicurezza.

Licenza

MIT. Consulta il file LICENSE.

Nota sull'utilizzo

Questo strumento è pensato per la ricerca sulla sicurezza, per testare i tuoi sistemi e per individuare minacce reali. Non usarlo su sistemi che non possiedi o su cui non hai il permesso di effettuare test. Sii responsabile.

Inoltre, se stai indagando su un incidente reale, ricorda che il malware può rilevare di essere analizzato e potrebbe comportarsi in modo diverso o spegnersi. Ghost cerca di essere furtivo, ma non c'è alcuna garanzia che un malware avanzato non se ne accorga.

Scarica lo strumento