
PS5 Exploit Web Server su un Raspberry Pi alimentato dalla porta USB della PS5
Usa Raspberry Pi OS Lite 64-bit, Bookworm o successivo con NetworkManager. Una scheda SD da 64 GB ha spazio in abbondanza. Questo esegue l'host Python esistente; non flashare il binario ESP32 sul Pi o sulla sua scheda SD.
Il Pi crea una rete Wi-Fi per la PS5. Il suo server DHCP assegna alla console
un indirizzo IP e le dice di usare il Pi per il DNS. Il DNS risolve
manuals.playstation.net su 192.168.4.1, dove i server Python servono questo
progetto via HTTP e HTTPS. Aprendo la Guida Utente della PS5 si carica la pagina locale.
L'installer copia il sito in /home/ps5, installa le sue dipendenze,
genera un certificato TLS self-signed locale e crea i servizi systemd.
Avvia l'host al termine dell'installazione e lo abilita ad ogni avvio;
non è necessario lasciare aperto un terminale o una sessione SSH.
Serve un Raspberry Pi con Wi-Fi compatibile con hotspot, una scheda SD con Raspberry Pi OS, un alimentatore adeguato e accesso a Internet durante l'installazione. Usa Ethernet per la configurazione perché il Wi-Fi integrato del Pi diventa l'hotspot. Imposta il paese Wi-Fi su US se usi il Pi negli Stati Uniti.
Clona questo repository sul Pi, poi esegui l'installer via SSH su Ethernet o da una console locale:
sudo apt-get update
sudo apt-get install -y git
git clone https://github.com/flex36ty/ps5-pihost.git ~/ps5-selfhost
cd ~/ps5-selfhost
sudo bash setup-pi5.sh
Nonostante il nome del file, l'installer verifica le capacità Wi-Fi invece di richiedere un Pi 5. Altri modelli non sono stati verificati su hardware. Questo repository contiene solo l'installazione tramite script.
Le istruzioni per l'archivio riportate di seguito si applicano se hai ricevuto il pacchetto tar.gz separatamente. In alternativa, scarica lo ZIP del repository, estrailo e carica il suo contenuto sul Pi.
Usa Raspberry Pi Imager per installare Raspberry Pi OS. Configura un nome utente,
una password e SSH, e imposta il tuo paese Wi-Fi effettivo (oppure usa sudo raspi-config
dopo l'avvio). Collega Ethernet per l'installazione e l'accesso remoto se possibile.
Abilita SSH in Imager, oppure esegui questo da un terminale sul Pi:
sudo systemctl enable --now ssh
hostname -I
Da Windows PowerShell, connettiti usando il tuo nome utente e l'indirizzo IP Ethernet
del Pi, ad esempio ssh [email protected].
Usa le stesse credenziali per SFTP sulla porta 22; il login root non è richiesto.
Carica ps5-pi5-selfhost.tar.gz dalla cartella releases del progetto nella
cartella home del tuo utente sul Pi usando SFTP. Estrailo e installalo:
mkdir -p ~/ps5-selfhost
tar -xzf ~/ps5-pi5-selfhost.tar.gz -C ~/ps5-selfhost --strip-components=1
cd ~/ps5-selfhost
sudo bash setup-pi5.sh
L'archivio contiene una cartella di primo livello, quindi --strip-components=1 colloca
l'installer direttamente in ~/ps5-selfhost. Se carichi l'intero progetto
invece, esegui l'installer dalla cartella che contiene setup-pi5.sh.
Facoltativamente scegli un nome/password diversi:
sudo bash setup-pi5.sh --ssid PS5-Host --password 'YourChosenPassword'
La configurazione avvia tutti i servizi immediatamente e li abilita ad ogni avvio. Esegui la configurazione via SSH su Ethernet o da tastiera/schermo locale: l'attivazione converte il Wi-Fi integrato in un hotspot e disconnette una sessione SSH che usa quel Wi-Fi. Internet è necessario per l'installazione dei pacchetti, non per l'hosting normale. L'attivazione all'avvio riprova mentre l'adattatore Wi-Fi si inizializza. La configurazione verifica tutti i servizi e stampa la diagnostica se l'avvio fallisce.
Per un'installazione esistente, fermala prima di rieseguire la configurazione:
sudo systemctl stop ps5-host.target
cd ~/ps5-selfhost
sudo bash setup-pi5.sh
ps5-host.target raggruppa quattro servizi. È un target systemd, non una sessione
terminale. La configurazione lo abilita sotto multi-user.target e lo avvia immediatamente.
| Unit | Scopo |
|---|---|
ps5-hotspot.service | Attiva l'access point Wi-Fi di NetworkManager; riprova mentre l'adattatore si inizializza |
ps5-dns.service | Fornisce DNS sulla porta 53 e DHCP sulla porta UDP 67 |
ps5-http.service | Esegue /home/ps5/serve.py sulla porta TCP 80 |
ps5-https.service | Esegue /home/ps5/serve_https.py sulla porta TCP 443 |
Entrambi i server Python vengono eseguiti contemporaneamente. Il DNS attende l'avvio dell'hotspot. I processi web e DNS si riavviano in caso di errore. Fermare il target ferma tutti e quattro i servizi; riavviarlo li riavvia insieme.
Verifica l'abilitazione all'avvio e lo stato dei servizi:
systemctl is-enabled ps5-host.target
systemctl status ps5-host.target ps5-hotspot ps5-dns ps5-http ps5-https --no-pager
Il target dovrebbe essere enabled, l'hotspot active (exited), e i servizi DNS e
web active (running). L'hotspot usa un comando di attivazione one-shot,
quindi active (exited) è normale. Riavvia e ripeti questi controlli per confermare
l'avvio automatico sul tuo Pi.
| Impostazione | Valore |
|---|---|
| Rete Wi-Fi | PS5-Host |
| Password | ps5offline (a meno che non sia stata cambiata durante la configurazione) |
| Indirizzo IP | Automatico |
| DNS | Automatico |
| Hostname DHCP | Non specificare |
| MTU / Proxy | Automatico / Non usare |
| IP hotspot Pi | 192.168.4.1 |
| Pool DHCP | 192.168.4.100–192.168.4.150, lease di 12 ore |
Apri la Guida Utente e procedi oltre il prompt del certificato locale se viene offerto. Il DNS indirizza manuals.playstation.net al Pi; HTTPS gestisce la richiesta della guida. R2 invia nanoDNS, ShadowMount Plus, poi kstuff. L'hotspot non ha una condivisione Internet configurata, quindi il test di connessione Internet/PSN può fallire mentre la pagina locale funziona. Ethernet rimane disponibile per amministrare il Pi.
Dopo che l'exploit raggiunge l'ELF loader, R2 invia questi file in ordine:
payloads/nanodns.elfpayloads/shadowmountplus.elfpayloads/kstuff.elfMantieni esattamente questi nomi file e la capitalizzazione. L'ordine è definito in
src/kexp.js; aggiungere un altro file ELF alla cartella non lo aggiunge automaticamente
alla sequenza R2. etaHEN.elf non fa parte di questa sequenza.
sudo systemctl start ps5-host.target
sudo systemctl stop ps5-host.target
sudo systemctl restart ps5-host.target
sudo systemctl status ps5-hotspot ps5-dns ps5-http ps5-https
sudo journalctl -u ps5-hotspot -u ps5-dns -u ps5-https -f
Da un computer connesso all'hotspot:
nslookup manuals.playstation.net 192.168.4.1
curl -k https://192.168.4.1/
Usa /home/ps5 per i file web e i payload. Riavvia i servizi web dopo aver modificato
i file Python; chiudi/riapri la guida della PS5 dopo aver modificato il JavaScript. Per reinstallare,
ferma il target e riesegui questo installer. Non eseguire lo script generico per container
setup-ps5.sh su questa installazione hotspot: configura un servizio DNS diverso.
L'installer crea un profilo NetworkManager dedicato e un servizio
ps5-dns dedicato. Non modifica i profili Ethernet, non installa NetworkManager
su un altro stack di rete, non sostituisce i servizi DNS esistenti, né aggiunge regole
NAT/firewall. Se un altro servizio DNS/DHCP occupa le porte richieste, risolvi prima quel
conflitto. Quando un firewall è abilitato, consenti UDP 67, TCP/UDP 53 e TCP
80/443 solo sull'interfaccia dell'hotspot. Mantieni l'host sulla tua rete locale.
Raccogli questi log prima di avviare manualmente l'host, così il fallimento all'avvio è visibile: