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
Byepervisor — Un exploit dell'hypervisor di PS5 per i firmware 1.xx-2xx. | Kitploit
Strumenti/GitHubGitHub/ps5dev/byepervisor
Sicurezza Sistemi EmbeddedEscalation di PrivilegiAnalisi delle VulnerabilitàExploitReverse EngineeringVirtualizzazione per la SicurezzaBinary Exploitation
GitHubps5dev/byepervisor

Byepervisor

Un exploit dell'hypervisor di PS5 per i firmware 1.xx-2xx.

Vedi Repository
3552361 anno 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

Byepervisor


Riepilogo

Exploit dell'hypervisor per PS5 per firmware <= 2.xx. Nel repository sono contenute due vulnerabilità e relative catene di exploit, indipendenti tra loro; è possibile usarne una qualsiasi. Un exploit è fornito principalmente per preservazione (/_old_jump_table_exploit), serve solo la catena di exploit primaria (exploit dei flag QA).

Questa ricerca è stata presentata a hardwear.io NL 2024, le slide sono disponibili qui. Il talk sarà pubblicato a breve.

Exploit della Jump Table

Il primo exploit sfrutta una vulnerabilità in cui le jump table del codice dell'hypervisor sono condivise con il kernel guest, ed è contenuto in /_old_jump_table_exploit/. Dirottando la voce della jump table per l'hypercall VMMCALL_HV_SET_CPUID_PS4, si può ottenere esecuzione di codice nell'hypervisor. Eseguiamo una catena ROP che disabilita la Nested Paging (NPT) e il Guest Mode Execute Trap (GMET), consentendoci di disabilitare la eXecute Only Memory (XOM) aka xotext nelle Page Table Entries (PTE) del kernel per eseguirne il dump, oltre ad abilitare la scrittura nelle PTE per agganciare/patchare il kernel.

Questo metodo richiede un bel numero di gadget e offset, ed è il motivo principale per cui questo exploit non è quello primario. Inoltre, attualmente rompe l'hypervisor solo sul core su cui viene eseguita la catena ROP; l'hypervisor è ancora attivo sugli altri core e dovrebbe essere disabilitato.

Exploit dei flag QA

L'exploit primario e consigliato sfrutta il fatto che i flag di Quality Assurance (QA) di sistema sono condivisi tra l'hypervisor e il kernel guest. Quando l'hypervisor si inizializza, il codice di inizializzazione per la costruzione delle nested page table controlla i flag QA per il flag di debug System Level (SL). Se questo flag è impostato, le Nested Page Table Entries (PTE) non avranno il bit xotext impostato per le pagine .text del kernel e, inoltre, le pagine .text del kernel avranno anche il bit di scrittura impostato.

Questi flag non vengono reinizializzati dal secure loader al risveglio dalla modalità di riposo, mentre l'hypervisor viene reinizializzato. Impostando il flag SL, mettendo il sistema in sospensione e riprendendo, possiamo modificare le pagetable del kernel guest per rendere leggibili/scrivibili le pagine .text del kernel, consentendo il dump del kernel e hook/patch.

Note importanti

  • Al momento è supportato solo il firmware 2.50 per l'Homebrew Enabler (HEN); il supporto per altre versioni del firmware verrà aggiunto in seguito.
  • Il payload dell'exploit (byepervisor.elf) dovrà essere inviato due volte: una prima di sospendere il sistema e una dopo il ripristino.
  • Dovrai mettere il sistema in modalità di riposo manualmente
  • Il dump del kernel dall'exploit dei flag QA non conterrà al momento la regione .data dell'hypervisor; se questo è importante per te, esegui il dump usando l'exploit della jump table dopo il porting oppure disabilita prima la nested paging (questo è un TODO)

Attualmente incluso

  • Codice per il dump del kernel (commentato; eseguire questo codice farà andare in panico il sistema, poiché proverà a fare il dump di quanto più possibile prima di raggiungere memoria non mappata)
  • Codice per decrittare i SELF delle librerie di sistema via TCP
  • Homebrew enabler (HEN) per il firmware 2.50 (fself+fpkg)

Note di compilazione

Questo payload dell'exploit è compilato usando l'SDK PS5-Payload-Dev. Nota anche che la build per hen/ è leggermente speciale, poiché viene compilata in un binario flat copiato in una code cave del kernel. Tutto il codice in hen/ viene eseguito in modalità supervisor/kernel.

Come si usa

  1. Esegui la catena di exploit UMTX in webkit o BD-J ed esegui un loader ELF
  2. Invia byepervisor.elf
  3. Metti il sistema in modalità di riposo
  4. Riaccendi il sistema
  5. Invia di nuovo byepervisor.elf (se usi il loader ELF di John Tornblom, il loader ELF dovrebbe continuare ad accettare payload dopo il ripristino; in caso contrario, l'exploit UMTX dovrà essere eseguito di nuovo)

Lavori futuri

  • Supportare più firmware (offset)
  • Fare in modo che byepervisor.elf debba essere inviato una sola volta
  • Sospendere automaticamente il sistema?
  • Patchare i vmcbs con l'exploit dei flag QA per fare il dump dei dati dell'hypervisor

Crediti / Ringraziamenti

  • ChendoChap
  • flatz
  • fail0verflow
  • Znullptr
  • kiwidog
  • sleirsgoevy

Discord

Gli interessati a contribuire alla ricerca/sviluppo per PS5 possono unirsi a un discord che ho configurato qui.

Scarica lo strumento