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
Strumenti/GitHubGitHub/iss4cf0ng/openpetya
Strumenti di Crittografia/DecrittografiaReverse EngineeringInformatica ForenseAnalisi MalwareCrittografiaApprendimento e FormazioneBinary Exploitation
GitHubiss4cf0ng/openpetya

OpenPetya

Un bootkit Proof-of-Concept e applicazione di avvio UEFI ispirata al ransomware Petya, scritto in Assembly, C e C++.

Vedi RepositorySito web
2604359h 55m 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

OpenPetya

Un bootkit Proof-of-Concept e un'applicazione di avvio UEFI ispirati al ransomware Petya, scritti in Assembly, C e C++

Se trovi questo progetto utile o informativo, apprezzerei davvero una ⭐ sul repository. Il tuo supporto sarebbe una grande motivazione per me per continuare a migliorare questo strumento.

Panoramica

OpenPetya è un progetto educativo progettato per studiare come funzionano internamente i bootkit e i ransomware di basso livello.

Il progetto si concentra su:

  • caricamento MBR personalizzato
  • processo di avvio multi-fase
  • transizione alla Protected Mode
  • crittografia della Master File Table (MFT) NTFS
  • crittografia basata su Salsa20
  • validazione della password e flusso di ripristino
  • programmazione UEFI

OpenPetya NON è pensato per essere una reimplementazione esatta di Petya o NotPetya. Invece, è un Proof-of-Concept semplificato progettato per scopi di apprendimento e ricerca.

Vale la pena menzionare che OpenPetya non include funzionalità di Command-and-Control (C2). Inoltre, OpenPetya memorizza i dati di backup MFT in chiaro all'interno di settori nascosti dopo la crittografia. Questo comportamento è progettato intenzionalmente per scopi educativi perché quelle funzionalità sono relativamente banali rispetto al bootloader principale e ai meccanismi crittografici implementati in questo progetto. Tuttavia, puoi comunque modificare o rimuovere queste funzionalità se necessario.

Nota: Nella versione 2.0.0, ho scelto di non implementarlo per UEFI per timore che potesse essere abusato per danneggiare i moderni sistemi operativi Windows.


Motivazione del Progetto

v1.0.0

Negli ultimi mesi, ho studiato:

  • analisi malware
  • bootloader
  • rootkit e bootkit
  • internals di Windows
  • fondamenti dei sistemi operativi
  • programmazione Assembly di basso livello

Durante la ricerca su Petya e NotPetya, ho realizzato che molte risorse online spiegano solo brevemente il flusso di lavoro complessivo senza dimostrare come funziona effettivamente il processo di avvio sottostante.

Inoltre, molti progetti esistenti legati a Petya si affidano a binari di bootloader estratti o a componenti originali modificati piuttosto che implementare la logica da zero.

Pertanto, ho deciso di sviluppare OpenPetya come progetto pratico per comprendere:

  • come funzionano i bootkit MBR personalizzati
  • come operano i bootloader di stage-2
  • come funzionano i flussi di lavoro di crittografia del disco
  • come sono implementati i meccanismi di validazione della password e di ripristino

Il progetto fa anche parte della mia ricerca in corso su bootkit, malware di basso livello e internals dei sistemi operativi.

Articoli correlati:

  • Analisi di Petya
  • Analisi di NotPetya
  • MBR e Bootloader Semplici
  • OpenBootloader
  • Note su Rootkit e Bootkit
  • Note sul Linguaggio Assembly per PC
  • Note sulla Crittografia Seria

v2.0.0

Nella versione 2.0.0, sono diventato curioso su come funzionano i bootkit moderni (come trattato negli ultimi capitoli di "Rootkits and Bootkits" di Alex Matrosov, Eugene Rodionov e Sergey Bratus). Pertanto, ho deciso di studiare la programmazione di applicazioni EFI da zero. Ho poi scoperto che era molto più difficile di quanto mi aspettassi (dal punto di vista del debug).

Comunque, dopo aver scritto alcune semplici applicazioni EFI, ho pubblicato OpenPetya v2.0.0!


Funzionalità

v1.0.0

  • MBR Personalizzato

    OpenPetya utilizza un Master Boot Record (MBR) personalizzato per caricare il payload di stage-2.

  • Bootloader Stage-2 Personalizzato

    Il bootloader di stage-2 contiene le funzionalità principali del progetto, tra cui:

    • crittografia/decrittografia Salsa20
    • validazione della password
    • logica di ripristino
    • interfaccia utente
  • Transizione alla Protected Mode

    Il bootloader passa dalla Real Mode a 16 bit alla Protected Mode a 32 bit prima di eseguire la logica di livello superiore.

  • Crittografia MFT

    Similmente al Petya originale, OpenPetya crittografa parti critiche della Master File Table (MFT) NTFS utilizzando Salsa20.

  • Validazione della Password

    OpenPetya valida la password inserita prima della decrittografia per prevenire corruzioni irreversibili causate da chiavi non valide.

  • Ripristino Automatico

    Una volta inserita la password corretta:

    • i dati crittografati vengono ripristinati
    • la catena di avvio originale viene recuperata
    • OpenPetya si rimuove automaticamente

v2.0.0

OpenPetya v2.0.0 NON include la crittografia MFT nell'applicazione EFI personalizzata (petya.efi). Offre un semplice pannello di accesso ed esegue il chainloading una volta che la password è corretta.

Ho scelto di non implementare la crittografia MFT nell'applicazione EFI perché potrebbe essere abusata per danneggiare i moderni sistemi operativi Windows, mentre l'ho implementata nella v1.0.0 poiché gli attori delle minacce l'avevano già dimostrata nel 2016.


Componenti

OpenPetya.exe

Applicazione di controllo e installazione in modalità utente.

Funzioni:

  • selezione del drive
  • installazione
  • attivazione del riavvio
  • interfaccia utilità

mbr.bin

Codice del Master Boot Record (MBR) personalizzato responsabile di:

  • caricamento dello stage-2
  • esecuzione dell'avvio iniziale

stage2.bin

Il payload principale di OpenPetya.

Responsabilità:

  • transizione alla Protected Mode
  • operazioni crittografiche Salsa20
  • crittografia/decrittografia MFT
  • validazione della password
  • ripristino
  • interfaccia al momento dell'avvio

petya.efi

Il payload principale di OpenPetya.

Funzioni:

  • validazione della password
  • chainloading

Flusso di Lavoro

BIOS

Il flusso di lavoro di OpenPetya (MBR + Bootloader) è riassunto di seguito.

  1. Gli utenti installano OpenPetya utilizzando OpenPetya.exe e scelgono una password.
  2. La macchina viene riavviata manualmente o tramite il meccanismo BSOD (via NtRaiseHardError) fornito dall'installer.
  3. Durante l'avvio, l'MBR personalizzato carica il payload di stage-2.
  4. Il payload di stage-2 porta la CPU in Protected Mode.
  5. OpenPetya crittografa parti selezionate della Master File Table (MFT) NTFS.
  6. Dopo la crittografia, la macchina si riavvia nuovamente.
  7. Un'interfaccia al momento dell'avvio richiede la password all'utente.
  8. Se la password è corretta:
    • i dati crittografati vengono decrittografati
    • la catena di avvio originale viene ripristinata
    • OpenPetya si rimuove automaticamente
  9. Windows si avvia nuovamente normalmente.

A differenza del ransomware Petya originale, OpenPetya non tenta di ingannare gli utenti con schermate CHKDSK finte o comportamenti di ingegneria sociale. Il progetto è progettato puramente per scopi educativi e di ricerca.

UEFI

Il flusso di lavoro di OpenPetya (UEFI) è riassunto di seguito:

  1. Un'interfaccia al momento dell'avvio richiede la password all'utente.
  2. Se la password è corretta:
    • il sistema esegue il chainloading
  3. Gli utenti rimuovono manualmente il programma EFI personalizzato

Build

Puoi compilare il progetto utilizzando i comandi seguenti.

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

Utilizzo

Avviso: Eseguilo nella tua macchina virtuale!

I comandi seguenti mostrano come installare l'MBR personalizzato e il bootloader di stage-2 (è richiesto il privilegio di amministratore):

BIOS legacy:

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

Note Tecniche

Spiegazioni dettagliate su:

  • processo di avvio MBR
  • Real Mode e Protected Mode
  • implementazione di Salsa20
  • flusso di lavoro della crittografia MFT
  • progettazione dei bootkit
  • ulteriori discussioni su Petya e NotPetya
  • come utilizzare API non documentate (come NtRaiseHardError)

Sono documentate in questo articolo.

Dichiarazione di Esclusione di Responsabilità

Questo progetto è stato sviluppato puramente per scopi educativi e di ricerca.

L'obiettivo di OpenPetya è studiare:

  • bootkit
  • internals dei sistemi operativi
  • tecniche malware di basso livello
  • architettura dei bootloader

NON utilizzare questo progetto per attività illegali o contro sistemi che non possiedi o per i quali non hai esplicitamente il permesso di testare.

L'autore NON è responsabile per qualsiasi uso improprio di questo software.

Dimostrazione (Windows 7)

Screenshot

Demo di Esecuzione

Piani Futuri

  • Flusso di ripristino migliorato
  • Migliore parsing NTFS
  • Simulazione più accurata del comportamento di Petya
  • Ulteriori ricerche sui bootkit
  • Modalità grafica a schermo intero
  • Supporto per Linux

Ringraziamenti

Grazie per aver dato un'occhiata a questo progetto. Feedback e suggerimenti sono benvenuti.

Scarica lo strumento