Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
ghost — Détecte l'injection de processus et la manipulation de mémoire utilisées par les malwares. Repère les régions RWX, les motifs de shellcode, les hooks API, le détournement de threads et le process hollowing. Développé en Rust pour la rapidité. Comprend des interfaces CLI et TUI. | Kitploit
Outils/GitHubGitHub/pandaadir05/ghost
Outils DéfensifsCriminalistique MémoireRétro-ingénierieAnalyse ForensiqueAnalyse de MalwareAnalyse de BinairesRenseignement sur les MenacesApprentissage AutomatiqueRéponse aux Incidents
GitHubpandaadir05/ghost

ghost

Détecte l'injection de processus et la manipulation de mémoire utilisées par les malwares. Repère les régions RWX, les motifs de shellcode, les hooks API, le détournement de threads et le process hollowing. Développé en Rust pour la rapidité. Comprend des interfaces CLI et TUI.

38248il y a 13 joursVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
Voir le dépôt

Ghost

CI License: MIT

Ghost est un outil de détection d'injection de processus écrit en Rust. Il surveille les processus en cours d'exécution et tente de détecter des éléments suspects comme l'injection de code, la manipulation de la mémoire et d'autres astuces utilisées par les malwares pour se cacher.

Ce qu'il fait

L'idée principale est simple : analyser les processus et rechercher des modèles mémoire étranges, des fonctions hookées, du shellcode et d'autres signes indiquant qu'un élément a été altéré. Il fonctionne sous Windows, Linux et macOS (bien que la prise en charge de Windows soit actuellement la plus complète).

Parmi les choses qu'il peut détecter :

  • Régions mémoire avec permissions lecture-écriture-exécution - Généralement un signal d'alarme
  • Séquences de shellcode - Séquences d'instructions courantes trouvées dans le code injecté
  • Process hollowing - Lorsqu'un processus légitime est vidé et remplacé par du code malveillant
  • Hooks API - Des fonctions qui ont été redirigées par des correctifs inline ou des modifications de l'IAT
  • Détournement de threads - Des threads qui sont redirigés pour exécuter du shellcode
  • Injection APC - Du code malveillant mis en file via des appels de procédure asynchrones
  • Signatures YARA - Correspondances avec des modèles et des charges utiles de malwares connus

Il associe également les comportements détectés au framework MITRE ATT&CK, ce qui est utile si vous documentez des menaces ou rédigez des rapports.

Captures d'écran

Tableau de bord de détection

Ghost TUI - Aperçu de la détection

Menaces actives

Malware détecté

Surveillance en direct

Journaux d'analyse des processus en temps réel

Compilation

Vous aurez besoin de Rust installé (version 1.70 ou plus récente). Ensuite :

root@kitploit:~
cargo build --release

Sous Windows, vous aurez également besoin des outils de compilation MSVC. Linux nécessite les outils de développement de base (gcc, etc.). macOS nécessite les outils de ligne de commande Xcode.

Exécution

Il existe deux interfaces : un outil en ligne de commande et une interface utilisateur de terminal interactive.

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 vous offre un tableau de bord avec des statistiques en direct, un historique de détection, et vous pouvez naviguer à l'aide de raccourcis clavier (Tab pour changer de vue, Q pour quitter).

Complétions Shell

Ghost prend en charge la complétion par tabulation pour Bash, Zsh, Fish, PowerShell et 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

Consultez completions/README.md pour des instructions d'installation détaillées.

Fonctionnalités optionnelles

Ghost prend en charge des fonctionnalités optionnelles qui peuvent être activées lors de la compilation :

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

Remarque : les fonctionnalités de ML nécessitent des modèles entraînés pour fonctionner. Consultez ghost_ml/README.md pour les instructions d'entraînement.

Configuration

Vous pouvez ajuster le comportement à l'aide d'un fichier de configuration TOML. Consultez examples/ghost.toml comme point de départ. Vous pouvez activer/désactiver des méthodes de détection spécifiques, définir des seuils de confiance, ignorer les processus système et contrôler la fréquence d'analyse.

Exemple d'extrait de configuration :

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

Contrôler la taille de la sortie

Par défaut, Ghost limite la sortie à 10 indicateurs par détection et déduplique les résultats similaires. Pour les analyses volumineuses, vous pouvez réduire davantage la sortie :

Options en ligne de commande :

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

Fichier de configuration :

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

Ceci est utile lorsque vous analysez de nombreux processus ou que vous exécutez une surveillance continue, et que les fichiers de sortie deviendraient autrement trop volumineux.

Mode surveillance

Le mode surveillance vous permet de surveiller votre système en continu sans avoir à lancer des analyses manuellement. Il est utile pour détecter les tentatives d'injection au moment où elles se produisent.

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

En mode surveillance, Ghost :

  • Affiche uniquement les détections nouvelles (celles qu'il n'a jamais vues)
  • Affiche des niveaux de menace avec code couleur (rouge pour malveillant, jaune pour suspect)
  • Affiche des horodatages à chaque cycle d'analyse
  • S'arrête proprement avec Ctrl+C

Exemple de sortie :

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)

Mode ligne de base

Le mode ligne de base capture un instantané de l'état actuel de votre système. Les analyses ultérieures peuvent comparer avec cette ligne de base pour détecter les changements - utile pour trouver de nouvelles menaces sans avoir à parcourir les problèmes connus.

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

Lors de la comparaison avec une ligne de base, Ghost signale :

  • Nouvelles menaces : les processus absents de la ligne de base
  • Menaces aggravées : les processus dont le niveau de menace a augmenté
  • Nouveaux indicateurs : les processus connus présentant de nouveaux comportements suspects

Exemple de sortie :

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

Le code de sortie est 1 si des changements sont détectés, 0 si tout est propre.

Alertes Webhook

Ghost peut envoyer des alertes en temps réel à Slack, Discord ou tout point de terminaison HTTP lorsqu'une menace est détectée. Parfait pour l'intégration SOC ou pour être notifié sur votre téléphone.

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 détecte automatiquement le type de webhook à partir de l'URL :

  • hooks.slack.com → format Slack avec pièces jointes
  • discord.com/api/webhooks → format Discord avec embeds
  • Tout le reste → charge utile JSON générique

Les alertes Slack incluent des pièces jointes avec code couleur indiquant le niveau de menace, le score de confiance et les principaux indicateurs :

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%

Les alertes Discord utilisent des embeds riches avec les mêmes informations dans un format épuré.

Les webhooks génériques envoient une charge utile 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", "..."]
}

Interprétation des résultats

Lorsque Ghost trouve quelque chose de suspect, il attribue un niveau de menace : Clean, Low, Medium, High ou Critical. Cela dépend du nombre d'indicateurs trouvés et de leur gravité.

Une grande confiance ne signifie pas toujours un malware - certains logiciels légitimes font aussi des choses étranges avec la mémoire. Faites preuve de jugement et approfondissez l'investigation si nécessaire.

Différences entre plateformes

Windows : pleinement fonctionnel. L'énumération des processus, la lecture de la mémoire, la détection de hooks, la détection de process hollowing, la validation PE et l'analyse des threads fonctionnent tous.

Linux : fonctionnalités de base opérationnelles. L'énumération des processus via procfs (/proc), la lecture de la mémoire, la détection de LD_PRELOAD et la détection d'injection basée sur ptrace fonctionnent. La prise en charge d'eBPF nécessite l'indicateur de fonctionnalité ebpf-detection et n'est actuellement qu'une implémentation factice (stub).

macOS : prise en charge partielle. L'énumération des processus, l'énumération des régions mémoire, la lecture de la mémoire et l'énumération des threads fonctionnent à l'aide des API mach VM. La détection de hooks inclut la détection de DYLD_INSERT_LIBRARIES et un framework de détection de hooks inline.

Performances

Il est conçu pour être suffisamment rapide pour une surveillance continue. Une analyse complète du système (200 processus) prend généralement moins de 5 secondes. L'énumération de la mémoire par processus prend environ 50 à 100 ms. Le moteur de détection ajoute quant à lui environ 5 à 10 ms par analyse.

Règles YARA

L'outil inclut une intégration de règles YARA. Les règles sont stockées dans le répertoire rules/ et couvrent des familles de malwares courantes comme Metasploit, Cobalt Strike, des modèles de shellcode génériques et des techniques d'évasion. Vous pouvez ajouter vos propres règles - il suffit de déposer des fichiers .yar dans ce dossier.

Codes de sortie

  • 0 = Tout semble propre
  • 1 = Processus suspects trouvés
  • 2 = Une erreur s'est produite (erreur pendant l'analyse)

Limitations

Cet outil est un outil d'espace utilisateur avec les limitations suivantes :

  • Menaces au niveau du noyau : ne peut pas détecter les rootkits du noyau ni l'injection en mode noyau sans prise en charge au niveau du noyau (par exemple, eBPF sous Linux, qui n'est actuellement qu'une implémentation factice)
  • Fonctionnalités d'apprentissage automatique : l'analyse par réseau de neurones et les prédictions ML comportementales sont simulées et nécessitent des modèles entraînés pour être fonctionnelles
  • Renseignements sur les menaces : le framework de renseignement sur les menaces existe, mais ne dispose d'aucune connexion de flux active ni de base de données d'IOC
  • Faux positifs : des logiciels légitimes comme les anti-triche de jeux, les débogueurs, les sandbox et les navigateurs avec compilateurs JIT peuvent déclencher des détections en raison de leurs techniques de manipulation de la mémoire
  • macOS : détection de hooks entièrement implémentée avec DYLD_INSERT_LIBRARIES et détection de hooks inline utilisant la résolution d'adresses de fonctions basée sur nm
  • Affirmations de performance : les métriques de performance documentées sont des objectifs et n'ont pas été validées par des benchmarks complets

Documentation

Plus de détails sont disponibles dans le dossier docs/ :

  • DETECTION_METHODS.md - Explique comment fonctionne chaque technique de détection
  • MITRE_ATTACK_COVERAGE.md - Liste les techniques ATT&CK couvertes
  • PERFORMANCE_GUIDE.md - Conseils pour optimiser les performances

Consultez également CONTRIBUTING.md si vous souhaitez contribuer, et SECURITY.md pour la politique de sécurité.

Licence

MIT. Voir le fichier LICENSE.

Note sur l'utilisation

Cet outil est destiné à la recherche en sécurité, aux tests de vos propres systèmes et à la détection de menaces réelles. Ne l'utilisez pas sur des systèmes que vous ne possédez pas ou pour lesquels vous n'avez pas la permission d'effectuer des tests. Soyez responsable.

De plus, si vous enquêtez sur un incident réel, rappelez-vous que les malwares peuvent détecter qu'ils sont analysés et peuvent se comporter différemment ou s'arrêter. Ghost essaie d'être furtif, mais rien ne garantit qu'un malware avancé ne le remarquera pas.

Télécharger l’outil