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
kratosminifilter — Kratos est un pilote Minifilter haute performance du système de fichiers Windows conçu pour détecter, bloquer et immuniser en permanence. | Kitploit
Outils/GitHubGitHub/mukendi/kratosminifilter
Outils DéfensifsAnalyse de MalwareRenseignement sur les MenacesRéponse aux IncidentsDétection d'Anomalies
GitHubmukendi/kratosminifilter

kratosminifilter

Kratos est un pilote Minifilter haute performance du système de fichiers Windows conçu pour détecter, bloquer et immuniser en permanence.

Voir le dépôt
412il y a 1 moisPas encore vérifié

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

🛡️ Kratos Minifilter — Pilote Anti-Ransomware Noyau Windows

Projet de Recherche en Sécurité Défensive — Pilote minifilter Windows développé en C++ pour la détection et la neutralisation en temps réel des ransomwares au niveau du noyau (Ring 0).


📋 Table des matières

  • Vue d’ensemble
  • Architecture
  • Mécanismes de détection
  • Liste noire par empreinte digitale
  • Installation
  • Configuration
  • Limitations
  • Avertissements légaux

Vue d’ensemble

Kratos (Kratos.sys) est un pilote minifilter Windows opérant à l’altitude 425342 (niveau Anti-Virus) via le Filter Manager (fltmgr.sys). Contrairement aux antivirus basés sur des signatures statiques, Kratos adopte une approche purement comportementale :

  • Aucune base de signatures — détecte les ransomwares inconnus
  • Mode noyau — interception atomique avant validation sur le disque
  • Multi-niveaux — comportemental + entropique + structurel
  • Persistant — liste noire par hachage pour bloquer les réexécutions
  • Objectifs

    | Objectif | Résultat |

    |----------|----------|

    | Fichiers affectés (première exécution) | < 5 |

    | Fichiers affectés (réexécutions) | 0 |

    | Taux de faux positifs | 0% (après réglage) |

    | Compatibilité | NTFS / ReFS |


    Architecture

    root@kitploit:~
    User-Mode
        │
        ▼
    Filter Manager (fltmgr.sys) ← Altitude 425342
        │
        ▼
    ┌─────────────────────────────────────────────────────┐
    │                  KRATOS.SYS                         │
    │                                                     │
    │  IRP_MJ_CREATE      → Initialisation des contextes  │
    │  IRP_MJ_WRITE       → Analyse entropique            │
    │  IRP_MJ_READ        → Comptage du ratio R/W        │
    │  IRP_MJ_SET_INFORMATION → Détection Suppression/Renommage│
    │                                                     │
    │  RTL_AVL_TABLE  → KS_PROCESS_CONTEXT par PID        │
    │  FLT_FILE_CONTEXT → Entropie + état par fichier     │
    └─────────────────────────────────────────────────────┘
        │
        ▼
    NTFS / ReFS
    

    Mécanismes de détection

    Niveau 1 — Comportemental

    Kratos distingue les suppressions de fichiers de valeur (.docx, .pdf, .jpg…) des suppressions de fichiers système/cache à l’aide de KS_IsValuableFile() :

    • ValuableDeleteCount — suppressions hors des répertoires système
    • RenameToSuspicious — renommage vers une extension inconnue
    • HighEntropyWrites — augmentation d’entropie détectée

    Niveau 2 — Entropie

    Calcul via une LUT pré-calculée (KratosEntropyLUT512) — évite l’utilisation de log2(), indisponible en mode noyau. Échantillon de 512 octets par opération d’écriture.

    • Delta : fichier existant à faible entropie → données chiffrées
    • Absolu : nouveau fichier .tmp avec entropie ≥ 7.5/8 bits

    Niveau 3 — Structurel (Liste blanche inverse)

    Innovation principale : au lieu d’une liste noire d’extensions malveillantes, Kratos utilise une liste blanche d’extensions légitimes.

    root@kitploit:~
    L’extension originale est de valeur ? OUI
    La nouvelle extension est reconnue ? NON
    → SUSPECT — quelle que soit l’extension choisie
    

    Cette approche permet de détecter LockBit 3.0 (.xmjzh8q), BlackCat/ALPHV (aléatoire) et tout futur ransomware utilisant une extension inconnue.

    Formule de score

    root@kitploit:~
    ValuableDeleteCount > 10 → +10 pts
    RenameToSuspicious > 2 → +40 pts
    HighEntropyWrites > 3 → +40 pts
    RansomNoteCreated → +60 pts
    ShadowCopyDeleted → +75 pts
    
    Score ≥ 60 → AVERTISSEMENT
    Score ≥ 80 → CRITIQUE + Kill + Liste noire
    

    Liste noire par empreinte digitale

    Une fois le ransomware détecté, Kratos calcule son hachage FNV-1a 64 bits sur les 4096 premiers octets de l’exécutable (en-tête PE + début du code) et le persiste dans le registre :

    root@kitploit:~
    \Registry\Machine\SOFTWARE\Kratos\Blacklist
      └── 1F81F13004B5B920 = "C:\Users\...\Hercule.exe"
    

    À chaque création de processus, ProcessNotifyCallback vérifie la liste noire avant toute exécution. Le processus est bloqué via CreationStatus = STATUS_ACCESS_DENIED.

    Résistance au renommage : le hachage FNV-1a est identique quel que soit le nom du fichier (Hercule-AES.exe, HERCUL~1.EXE, chrome.exe…).

    Protection contre l’usurpation : Les processus listés dans la liste blanche sont validés par Nom attendu + Chemin :

    root@kitploit:~
    chrome.exe + \Program Files\Google\Chrome\Application\ → Légitime
    chrome.exe + C:\Users\...\Desktop\                    → IMPOSTEUR
    

    Installation

    Prérequis

    • Windows 10/11 (x64)
    • Visual Studio 2022 avec WDK (Windows Driver Kit)
    • Machine virtuelle avec Secure Boot désactivé (ou test signing activé)

    Compilation

    root@kitploit:~
    # Ouvrir KratosMinifilter.sln dans Visual Studio
    # Configuration : Debug ou Release / x64
    # Build → Générer la solution
    

    Déploiement (VM de test)

    root@kitploit:~
    # Sur la VM cible — activer le mode test
    bcdedit /set testsigning on
    
    # Copier Kratos.sys et Kratos.inf
    # Installer via le Gestionnaire de périphériques ou sc.exe
    sc create Kratos type= kernel start= boot binPath= "C:\Kratos\Kratos.sys"
    sc start Kratos
    

    Configuration

    Extensions surveillées (Liste blanche inversée)

    Modifiez g_LegitExtensions[] dans KratosDetection.cpp pour ajuster les extensions considérées comme légitimes après un renommage.

    Processus autorisés

    Modifiez g_TrustedProcesses[] pour ajouter des processus légitimes avec leur chemin attendu :

    root@kitploit:~
    { "myapp.exe", L"\\Program Files\\MyApp\\" },
    

    Seuils de score

    Modifiez KS_EvaluateThreatScore() dans KratosDetection.cpp pour ajuster les seuils AVERTISSEMENT/CRITIQUE en fonction de votre environnement.


    Limitations

    • 1 à 3 fichiers peuvent être affectés lors de la première exécution
    • Pas de mécanisme de récupération automatique pour les fichiers chiffrés
    • FNV-1a n’est pas résistant à la collision intentionnelle (SHA-256 recommandé pour la production)

    Texte alternatif

    Avertissements légaux

    ⚠️ Ce pilote est développé dans le cadre d’une recherche en sécurité défensive.

    • L’utilisation est strictement réservée aux environnements de test isolés (VM sans accès réseau)
    • Tout déploiement sur un système de production se fait sous l’entière responsabilité de l’utilisateur
    • L’auteur décline toute responsabilité en cas de dommage résultant d’une utilisation inappropriée
    • Modifier ce pilote pour contourner des systèmes de sécurité sans autorisation est illégal

    Télécharger l’outil