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
Outils/GitHubGitHub/iss4cf0ng/openpetya
Outils de Chiffrement/DéchiffrementRétro-ingénierieAnalyse ForensiqueAnalyse de MalwareCryptographieApprentissage et ÉducationExploitation de Binaires
GitHubiss4cf0ng/openpetya

OpenPetya

Un bootkit de preuve de concept et une application de démarrage UEFI inspirés du rançongiciel Petya, écrits en Assembly, C et C++.

Voir le dépôt
260435il y a 9h 57mVé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
Site web

OpenPetya

Un bootkit Proof-of-Concept et une application de démarrage UEFI inspirés du rançongiciel Petya, écrits en Assembly, C et C++

Si vous trouvez ce projet utile ou instructif, je vous serais vraiment reconnaissant de laisser une ⭐ sur le dépôt. Votre soutien serait une grande motivation pour moi afin de continuer à améliorer cet outil.

Aperçu

OpenPetya est un projet éducatif conçu pour étudier le fonctionnement interne des bootkits et des rançongiciels de bas niveau.

Le projet se concentre sur :

  • le chargement personnalisé du MBR
  • le processus de démarrage en plusieurs étapes
  • la transition vers le mode protégé
  • le chiffrement de la Master File Table (MFT) NTFS
  • la cryptographie basée sur Salsa20
  • la validation du mot de passe et le processus de restauration
  • la programmation UEFI

OpenPetya n'est PAS destiné à être une réimplémentation exacte de Petya ou de NotPetya. Il s'agit plutôt d'un Proof-of-Concept simplifié conçu à des fins d'apprentissage et de recherche.

Il convient de mentionner qu'OpenPetya n'inclut pas de fonctionnalité de Command-and-Control (C2). De plus, OpenPetya stocke les données de sauvegarde MFT en clair dans des secteurs cachés après le chiffrement. Ce comportement est intentionnellement conçu à des fins éducatives, car ces fonctionnalités sont relativement triviales par rapport aux mécanismes de bootloader et de cryptographie de base implémentés dans ce projet. Cependant, vous pouvez toujours modifier ou supprimer ces fonctionnalités si nécessaire.

Remarque : Dans la version 2.0.0, j'ai choisi de ne pas l'implémenter pour UEFI par crainte qu'il ne soit utilisé à mauvais escient pour endommager les systèmes d'exploitation Windows modernes.


Motivation du projet

v1.0.0

Au cours des derniers mois, j'ai étudié :

  • l'analyse de logiciels malveillants
  • les bootloaders
  • les rootkits et bootkits
  • les mécanismes internes de Windows
  • les fondamentaux des systèmes d'exploitation
  • la programmation Assembly de bas niveau

En recherchant Petya et NotPetya, j'ai réalisé que de nombreuses ressources en ligne n'expliquent que brièvement le flux de travail global sans démontrer comment le processus de démarrage sous-jacent fonctionne réellement.

De plus, de nombreux projets existants liés à Petya s'appuient sur des binaires de bootloader extraits ou des composants d'origine modifiés plutôt que d'implémenter la logique à partir de zéro.

Par conséquent, j'ai décidé de développer OpenPetya comme un projet pratique pour comprendre :

  • comment fonctionnent les bootkits MBR personnalisés
  • comment fonctionnent les bootloaders de deuxième étape
  • comment fonctionnent les flux de travail de chiffrement de disque
  • comment sont implémentés les mécanismes de validation du mot de passe et de restauration

Le projet fait également partie de mes recherches en cours sur les bootkits, les logiciels malveillants de bas niveau et les mécanismes internes des systèmes d'exploitation.

Articles connexes :

  • Analyzing Petya
  • Analyzing NotPetya
  • Simple MBR And Bootloader
  • OpenBootloader
  • Rootkits and Bootkits Notes
  • PC Assembly Language Notes
  • Serious Cryptography Notes

v2.0.0

Dans la version 2.0.0, j'ai été curieux de savoir comment fonctionnent les bootkits modernes (comme couvert dans les derniers chapitres de « Rootkits and Bootkits » d'Alex Matrosov, Eugene Rodionov et Sergey Bratus). J'ai donc décidé d'étudier la programmation d'applications EFI à partir de zéro. J'ai ensuite découvert que c'était beaucoup plus difficile que prévu (en termes de débogage).

Quoi qu'il en soit, après avoir écrit quelques applications EFI simples, j'ai publié OpenPetya v2.0.0 !


Fonctionnalités

v1.0.0

  • MBR personnalisé

    OpenPetya utilise un Master Boot Record (MBR) personnalisé pour charger la charge utile de deuxième étape.

  • Bootloader personnalisé de deuxième étape

    Le bootloader de deuxième étape contient les fonctionnalités principales du projet, notamment :

    • le chiffrement/déchiffrement Salsa20
    • la validation du mot de passe
    • la logique de restauration
    • l'interface utilisateur
  • Transition vers le mode protégé

    Le bootloader passe du mode réel 16 bits au mode protégé 32 bits avant d'exécuter la logique de plus haut niveau.

  • Chiffrement MFT

    Comme le Petya d'origine, OpenPetya chiffre les parties critiques de la Master File Table (MFT) NTFS à l'aide de Salsa20.

  • Validation du mot de passe

    OpenPetya valide le mot de passe saisi avant le déchiffrement afin d'éviter une corruption irréversible causée par des clés invalides.

  • Restauration automatique

    Une fois le mot de passe correct saisi :

    • les données chiffrées sont restaurées
    • la chaîne de démarrage d'origine est récupérée
    • OpenPetya se supprime automatiquement

v2.0.0

OpenPetya v2.0.0 n'inclut PAS le chiffrement MFT dans l'application EFI personnalisée (petya.efi). Il propose un simple panneau de connexion et effectue un chainloading une fois le mot de passe correct.

J'ai choisi de ne pas implémenter le chiffrement MFT dans l'application EFI car il pourrait être utilisé à mauvais escient pour endommager les systèmes d'exploitation Windows modernes, alors que je l'ai implémenté dans la v1.0.0 puisque les acteurs malveillants l'avaient déjà démontré en 2016.


Composants

OpenPetya.exe

Application de contrôle et d'installation en mode utilisateur.

Fonctions :

  • sélection du disque
  • installation
  • déclenchement du redémarrage
  • interface utilitaire

mbr.bin

Code du Master Boot Record (MBR) personnalisé responsable de :

  • le chargement de la deuxième étape
  • l'exécution au début du démarrage

stage2.bin

La charge utile principale d'OpenPetya.

Responsabilités :

  • transition vers le mode protégé
  • opérations cryptographiques Salsa20
  • chiffrement/déchiffrement MFT
  • validation du mot de passe
  • restauration
  • interface au moment du démarrage

petya.efi

La charge utile principale d'OpenPetya.

Fonctions :

  • validation du mot de passe
  • chainloading

Flux de travail

BIOS

Le flux de travail d'OpenPetya (MBR + Bootloader) est résumé ci-dessous.

  1. Les utilisateurs installent OpenPetya à l'aide d'OpenPetya.exe et choisissent un mot de passe.
  2. La machine est redémarrée manuellement ou via le mécanisme BSOD (via NtRaiseHardError) fourni par l'installateur.
  3. Pendant le démarrage, le MBR personnalisé charge la charge utile de deuxième étape.
  4. La charge utile de deuxième étape fait passer le CPU en mode protégé.
  5. OpenPetya chiffre les parties sélectionnées de la Master File Table (MFT) NTFS.
  6. Après le chiffrement, la machine redémarre à nouveau.
  7. Une interface au moment du démarrage demande le mot de passe à l'utilisateur.
  8. Si le mot de passe est correct :
    • les données chiffrées sont déchiffrées
    • la chaîne de démarrage d'origine est restaurée
    • OpenPetya se supprime automatiquement
  9. Windows démarre normalement à nouveau.

Contrairement au rançongiciel Petya d'origine, OpenPetya ne tente pas de tromper les utilisateurs avec de faux écrans CHKDSK ou des comportements d'ingénierie sociale. Le projet est conçu purement à des fins éducatives et de recherche.

UEFI

Le flux de travail d'OpenPetya (UEFI) est résumé ci-dessous :

  1. Une interface au moment du démarrage demande le mot de passe à l'utilisateur.
  2. Si le mot de passe est correct :
    • le système effectue un chainloading
  3. Les utilisateurs suppriment manuellement le programme EFI personnalisé

Compilation

Vous pouvez compiler le projet à l'aide des commandes ci-dessous.

root@kitploit:~
make            # Compile mbr.bin et stage2.bin
./build.sh     # Compile OpenPetya.exe

Utilisation

Avertissement : Veuillez l'exécuter dans votre machine virtuelle !

Les commandes ci-dessous montrent comment installer le MBR personnalisé et le bootloader de deuxième étape (des privilèges d'administrateur sont requis) :

BIOS hérité :

root@kitploit:~
OpenPetya.exe --list
OpenPetya.exe --drive 0 --install mbr.bin stage2.bin

UEFI :

root@kitploit:~
OpenPetya.exe --is-admin
OpenPetya.exe --firmware
OpenPetya.exe --uefi-secure
OpenPetya.exe --drive 0 --uefi-install petya.efi
OpenPetya.exe --drive 0 --uefi-restore

Notes techniques

Des explications détaillées sur :

  • le processus de démarrage MBR
  • le mode réel et le mode protégé
  • l'implémentation de Salsa20
  • le flux de travail de chiffrement MFT
  • la conception des bootkits
  • d'autres discussions sur Petya et NotPetya
  • comment utiliser des API non documentées (telles que NtRaiseHardError)

Sont documentées dans cet article.

Avertissement

Ce projet a été développé purement à des fins éducatives et de recherche.

L'objectif d'OpenPetya est d'étudier :

  • les bootkits
  • les mécanismes internes des systèmes d'exploitation
  • les techniques de logiciels malveillants de bas niveau
  • l'architecture des bootloaders

N'utilisez PAS ce projet pour des activités illégales ou contre des systèmes que vous ne possédez pas ou pour lesquels vous n'avez pas explicitement l'autorisation de tester.

L'auteur n'est PAS responsable de toute utilisation abusive de ce logiciel.

Démonstration (Windows 7)

Captures d'écran

Démo d'exécution

Projets futurs

  • Flux de récupération amélioré
  • Meilleure analyse NTFS
  • Simulation plus précise du comportement de Petya
  • Recherche supplémentaire sur les bootkits
  • Mode graphique plein écran
  • Prise en charge de Linux

Remerciements

Merci d'avoir consulté ce projet. Les retours et suggestions sont les bienvenus.

Télécharger l’outil