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
Raccine — A Simple Ransomware Vaccine | Kitploit
Outils/GitHubGitHub/neo23x0/raccine
Defensive ToolsThreat IntelligenceIntrusion DetectionIncident ResponseAnomaly DetectionLog Analysis
GitHubneo23x0/raccine

Raccine

A Simple Ransomware Vaccine

Voir le dépôt
982126il y a 2 ansVé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

Inactively Maintained

Raccine

Raccine

Une protection simple contre les rançongiciels

Pourquoi

Nous voyons souvent des rançongiciels supprimer toutes les copies fantômes à l'aide de vssadmin. Et si nous pouvions simplement intercepter cette requête et tuer le processus à l'origine de l'appel ? Essayons de créer un simple vaccin.

Ransomware Process Tree

Comment ça fonctionne

Nous enregistrons un débogueur pour vssadmin.exe (et wmic.exe), qui est notre raccine.exe compilé. Raccine est un binaire qui collecte d'abord tous les PID des processus parents, puis tente de tuer tous les processus parents.

Avantages :

  • La méthode est plutôt générique
  • Nous n'avons pas à remplacer un fichier système (vssadmin.exe ou wmic.exe), ce qui pourrait entraîner des problèmes d'intégrité et casser notre raccination à chaque Patch Tuesday
  • Analyse flexible des paramètres de ligne de commande par règles YARA pour détecter les activités malveillantes
  • Les modifications sont faciles à annuler
  • Fonctionne sur Windows 7 / Windows 2008 R2 ou supérieur
  • Aucun exécutable en cours d'exécution ni service supplémentaire requis (sans agent)

Inconvénients / Angles morts :

  • L'utilisation légitime de vssadmin.exe delete shadows (ou de toute autre combinaison en liste noire) n'est plus possible
  • Cela tue également les processus qui ont tenté d'invoquer vssadmin.exe delete shadows, ce qui pourrait être un processus de sauvegarde
  • Cela ne détectera pas les méthodes dans lesquelles le processus malveillant n'est pas l'un des processus de l'arborescence qui a invoqué vssadmin.exe (par exemple via schtasks)

Le processus

  1. L'invocation de vssadmin.exe (et wmic.exe) est interceptée et transmise à raccine.exe en tant que débogueur (vssadmin.exe delete shadows devient raccine.exe vssadmin.exe delete shadows)
  2. Nous traitons ensuite les arguments de la ligne de commande et recherchons les combinaisons malveillantes à l'aide de règles YARA.
  3. Si aucune combinaison malveillante n'est trouvée, nous créons un nouveau processus avec les paramètres de ligne de commande d'origine.
  4. Si une combinaison malveillante est trouvée, nous collectons tous les PID des processus parents et commençons à les tuer (il devrait s'agir des processus du malware comme le montrent les captures d'écran ci-dessus). Raccine affiche une fenêtre de ligne de commande avec les PID tués pendant 5 secondes, consigne l'événement dans le journal d'événements Windows, puis se termine lui-même.

Combinaisons malveillantes :

  • delete et shadows (vssadmin, diskshadow)
  • resize et shadowstorage (vssadmin)
  • delete et shadowstorage (vssadmin)
  • delete et shadowcopy (wmic)
  • delete et catalog et -quiet (wbadmin)
  • win32_shadowcopy ou un élément d'une liste de commandes encodées (powershell)
  • recoveryenabled (bcedit)
  • ignoreallfailures (bcedit)

^ liste obsolète : consultez la règle YARA correspondante

Liste des commandes encodées Powershell : JAB, SQBFAF, SQBuAH, SUVYI, cwBhA, aWV4I, aQBlAHgA et bien d'autres

Exemple

Emotet sans Raccine - Lien

Emotet without Raccine

Emotet avec Raccine - Lien (ignorez l'activité des processus liée à l'installation de Raccine)

Emotet with Raccine

L'infection est tuée dans l'œuf.

Avertissement !!!

UTILISEZ-LE À VOS PROPRES RISQUES !

Vous ne pourrez plus exécuter de commandes utilisant les commandes en liste noire sur une machine raccinée tant que vous n'aurez pas appliqué le correctif de désinstallation raccine-reg-patch-uninstall.reg. Cela pourrait casser diverses solutions de sauvegarde qui exécutent cette commande spécifique au cours de leur travail. Cela ne bloquera pas seulement la requête, mais tuera également tous les processus de l'arborescence, y compris la solution de sauvegarde et le processus qui l'a invoquée.

Si vous disposez d'une surveillance de sécurité solide qui journalise toutes les exécutions de processus, vous pouvez consulter vos journaux pour vérifier si vssadmin.exe delete shadows, vssadmin.exe resize shadowstorage ... ou les autres lignes de commande bloquées sont utilisées fréquemment ou sporadiquement à des fins légitimes ; dans ce cas, vous devriez vous abstenir d'utiliser Raccine.

Historique des versions

  • 0.1.0 - Version initiale qui interceptait et bloquait toutes les exécutions de vssadmin.exe
  • 0.2.0 - Version qui ne bloque que les exécutions de vssadmin.exe contenant delete et shadows dans leur ligne de commande et transmet sinon tous les paramètres à un nouveau processus qui invoque vssadmin avec ses paramètres d'origine
  • 0.2.1 - Suppression de explorer.exe de la liste blanche
  • 0.3.0 - Prend en charge la méthode wmic appelant delete shadowcopy, aucune sortie pour les démarrages de processus en liste blanche (évite les problèmes de traitement de la sortie wmic)
  • 0.4.0 - Prend en charge la journalisation dans le journal d'événements Windows pour chaque tentative bloquée, recherche d'autres combinaisons de paramètres malveillantes
  • 0.4.1 - Binaires liés statiquement
  • 0.4.2 - Corrections de bogues fournies par John Lambert
  • 0.5.0 - Suppression de la journalisation dans le journal d'événements (les informations de base étaient inutiles ; provoquaient une complexité accrue ; peuvent également être obtenues par la journalisation de la création de processus), prise en charge du filtrage wbadmin
  • 0.5.1 - Améliorations par @JohnLaTwC
  • 0.5.2 - Vérification supplémentaire pour delete shadowstorage par @JohnLaTwC, revue de code par @_hillu, icône d'application
  • 0.5.3 - Programme d'installation par lots (batch)
  • 0.6.0 - Vérifications supplémentaires pour bcdedit.exe /set {default} bootstatuspolicy ignoreallfailures et bcdedit.exe /set {default} recoveryenabled no

Installation

Prérequis

  • Runtime VC++ pour l'analyse YARA (le programme d'installation contient le package d'installation de https://aka.ms/vs/16/release/VC_redist.x64.exe)
  • .NET Framework 4.5
  • Accès Internet pour les mises à jour des règles YARA
  • Windows 7 / Windows 2008 R2 ou supérieur

Le package Visual C++ Redistributable et le .NET Framework seront automatiquement installés en exécutant install-raccine.bat.

Installation automatique

  1. Téléchargez Raccine.zip depuis la section Release
  2. Extrayez-le
  3. Exécutez raccine-installer.bat en tant qu'administrateur

Windows Batch Installer

Le programme d'installation par lots inclut une option « désinstallation ».

Désinstallation manuelle

En tant qu'administrateur :

  1. Exécutez raccine-reg-patch-uninstall.reg
  2. Supprimez les dossiers %ProgramFiles%\Raccine et %ProgramData%\Raccine
  3. Exécutez reg delete HKCU\Software\Raccine /F
  4. Exécutez taskkill /F /IM RaccineSettings.exe
  5. Exécutez reg delete "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /V "Raccine Tray" /F
  6. Exécutez schtasks /DELETE /TN "Raccine Rules Updater" /F

Mises à jour

Mise à niveau du programme

Nous recommandons une désinstallation puis une réinstallation pour mettre à niveau. Une désinstallation supprime toutes les clés de registre avec les configurations.

Mise à jour des signatures

Raccine dispose d'un outil intégré de mise à jour des signatures depuis la version 1.2. Ce programme nommé RaccineRulesSync.exe est configuré pour s'exécuter une fois par jour via une tâche planifiée. Vous pouvez lancer une mise à jour des signatures manuellement en utilisant l'option du menu de l'icône de la barre d'état système.

Correspondance YARA

Depuis la version 1.0, Raccine utilise également des règles YARA pour déterminer si la ligne de commande d'un processus ou son processus parent est malveillant ou non. Raccine utilise 2 ensembles de règles à deux fins différentes.

  1. ./yara - règles appliquées à la ligne de commande avec tous ses paramètres, par ex. WMIC.exe delete justatest
  2. ./yara/in-memory - règles appliquées à la mémoire du processus parent de notre processus intercepté, par ex. ransomware.exe exécutant notre processus intercepté vssadmin.exe

Variables externes YARA

Depuis la version 1.1, nous transmettons une liste de variables externes au processus de correspondance YARA afin de permettre des règles YARA beaucoup plus complexes et astucieuses qui prennent en compte les attributs du processus et de son parent.

Le processus de correspondance se présente comme suit sur la ligne de commande :

root@kitploit:~
"C:\Program Files\Raccine\yara64.exe" -d FromRaccine="true" -d Name="WMIC.exe" -d ExecutablePath="C:\Windows\System32\wbem\WMIC.exe" -d CommandLine="WMIC.exe delete justatest" -d  Priority=32 -d FromRaccine="true" -d ParentName="cmd.exe" -d ParentExecutablePath="C:\Windows\System32\cmd.exe" -d ParentCommandLine="'C:\WINDOWS\system32\cmd.exe' " -d ParentPriority=32 C:\ProgramData\Raccine\yarayara\mal_emotet.yar C:\ProgramData\Raccine\yara\Rac1C6A.tmp

Le listing suivant montre un exemple de règle YARA qui utilise les variables externes dans sa condition.

root@kitploit:~
rule env_vars_test {
    condition:
        Name contains "WMIC.exe"
        and CommandLine contains "delete justatest"
        and ParentPriority >= 8
        and (
            ParentCommandLine contains "cmd"
            or ParentCommandLine contains "powershell"
        )
}

Déployer la configuration via GPO

Le dossier GPO contient Raccine.ADMX et Raccine.ADML. Lors du déploiement, le fichier Raccine.ADMX se place dans C:\Windows\PolicyDefinitions. Le fichier Raccine.ADML correspondant se place dans C:\Windows\PolicyDefinitions\en-US.

Pour l'utiliser : ouvrez GPEDIT.MSC > Configuration de l'ordinateur > Modèles d'administration > Système > Raccine

Après avoir configuré les modifications, vous devrez peut-être actualiser la stratégie de groupe (GPO) en exécutant gpupdate.exe.

Fichier journal

Un fichier journal contenant toutes les interceptions et actions effectuées est écrit dans C:\ProgramData\Raccine\Raccine_log.txt

Log File

Journal d'événements Windows

Une entrée est générée pour chaque événement de blocage dans le journal d'événements Application.

Eventlog

Les ID générés par Raccine

  • EventId 1 - Activité d'installation
  • EventId 2 - Activité malveillante détectée
  • EventId 3 - Activité bénigne détectée

Mode simulation

Depuis la version 0.10.0, Raccine peut être installé en « mode simulation », qui active tous les déclencheurs, journalise toutes les actions mais ne tue rien. Ce mode doit être utilisé dans les environnements dans lesquels des solutions de sauvegarde ou d'autres logiciels légitimes tournent pendant une durée raisonnable, afin de vérifier si Raccine interférerait avec d'autres logiciels. L'idée est d'installer Raccine en mode simulation, de le laisser journaliser pendant une semaine ou un mois, puis de consulter les journaux pour voir s'il aurait bloqué des logiciels légitimes utilisés dans l'organisation.

Kill Run

Capture d'écran

Exécutez raccine.exe et regardez l'arborescence des processus parents mourir (capture d'écran de la v0.1)

Kill Run

Interface graphique

Disponible et requise depuis la version 1.

GUI

GUI

GUI

Pivot

Si le rançongiciel que vous traitez actuellement utilise un nom de processus particulier, par exemple taskdl.exe, vous pouvez simplement modifier le correctif .reg pour intercepter les appels vers ce nom et laisser Raccine tuer tous les processus parents de l'arborescence du processus à l'origine de l'appel.

Aide recherchée

J'aimerais étendre Raccine mais je manque de compétences en codage C++, en particulier sur la plateforme Windows.

Aide - Mon système est cassé

Si quelque chose arrive à votre installation, par exemple des messages d'erreur soudains, des services cassés ou des programmes qui ne démarrent plus, exécutez le fichier raccine-reg-patch-uninstall.reg dans le sous-dossier reg-patches. Cela devrait tout ramener à la normale.

Après cela, vous devriez également pouvoir effectuer une désinstallation complète en utilisant install-raccine.bat.

Autres informations

La prononciation correcte est « Rax-Een ».

Crédits

  • Florian Roth @cyb3rops
  • John Lambert @JohnLaTwC
  • Eran Yom-Tov @eran_yom_tov
  • Ollie Whitehouse @ollieatnccgroup
  • Branislav Đalić @LordOfThePies4
  • Hilko Bengen @hillu
Télécharger l’outil
  • 0.7.0 - Vérifications supplémentaires pour powershell.exe et win32_shadowcopy ou une liste de commandes encodées
  • 0.7.1 - Améliorations par @JohnLaTwC
  • 0.7.2 - Utilisation de chemins absolus dans les correctifs de registre
  • 0.8.0 - Crée un fichier journal avec toutes les requêtes interceptées et les actions effectuées C:\ProgramData\Raccine_log.txt
  • 0.9.0 - Journalise dans le journal d'événements Windows par @JohnLaTwC
  • 0.10.0 - Mode simulation uniquement
  • 0.10.1 - Correctif pour le mode simulation
  • 0.10.2 - Inclut la commande diskshadow.exe delete shadows
  • 0.10.3-5 - Corrections et ajouts mineurs
  • 1.0 BETA - Éléments d'interface graphique et analyse des paramètres de ligne de commande par règles YARA
  • 1.1 BETA - Correspondance des règles YARA avec variables externes, fonctions de dépannage
  • 1.2 BETA - Mise à jour des signatures
  • 1.3 BETA - Analyse YARA en mémoire du processus parent à l'origine de l'appel
  • 1.4 BETA - Prise en charge complète de x86, déplacement des chaînes statiques vers les règles YARA pour éviter les détections antivirus, journal des exécutions acceptées, configuration .NET Framework dans le programme d'installation
  • 1.4.2 BETA - Correctif du code de sortie (transmission du code de sortie renvoyé par le programme intercepté), interception de taskkill.exe
  • VariableDescriptionExemple de valeur
    FromRaccinetrue
    NameNom du fichier imageWMIC.exe
    ExecutablePathChemin complet du binaireC:\Windows\System32\wbem\WMIC.exe
    CommandLineLigne de commande complète avec paramètresWMIC.exe delete justatest
    PriorityPriorité du processus32
    ParentNameNom du fichier image parentcmd.exe
    ParentExecutablePathChemin complet de l'exécutable parentC:\Windows\System32\cmd.exe
    ParentCommandLineLigne de commande complète du parent avec paramètresC:\WINDOWS\system32\cmd.exe
    ParentPriorityPriorité du processus parent32