Pubblicato un nuovo aggiornamento per pOOBs4-buildroot, il piccolo ambiente Linux funge da server DHCP mentre la connessione wireless viene utilizzata come entrypoint.
Il server HTTP raccoglie il noto DNS Sony della Guida per l’utente opportunamente rimappato sulla pagina web dell’exploit. Gli script CGI permettono inoltre di montare al volo l’immagine exfathax.img
in entrata sulla porta USB OTG.
La repository contiene un albero esterno alla buildroot per diverse board come Raspberry Pi Model B, Banana Pi M2 Zero, Orange Pi e tanti altri.
Guida
Clonare la repository e la buildroot dalla repository personale (verrà aggiunto a buildroot 2022.02 quando verrà rilasciato):
git clone --recurse-submodules https://github.com/Shivelight/pOOBs4-buildroot
git clone -b pOOBs4 --depth 1 https://github.com/Shivelight/buildroot
git clone --depth 1 --recurse-submodules --shallow-submodules https://github.com/Shivelight/pOOBs4-buildroot.git git clone -b pOOBs4 --depth 1 https://github.com/Shivelight/buildroot
Configurare la buildroot per utilizzare l’albero BR2_EXTERNAL
e iniziare a crearlo. Sostituire <your_board_defconfig>
con la board defconfig
disponibile nella directory configs/ o dalla sezione Supported Board:
cd buildroot
make BR2_EXTERNAL=../pOOBs4-buildroot/ <your_board_defconfig>
make
L’immagine finale viene salvata qui output/images/sdcard.img
.
Schede supportate
Di seguito vengono riportate le schede attualmente supportate con defconfig pronte all’uso.
- Banana Pi M2 Zero [
bananapi_m2_zero_poobs4_defconfig
] - Orange Pi Zero / Orange Pi Zero LTS [
orangepi_zero_poobs4_defconfig
] - Orange Pi Zero Plus2 [
orangepi_zero_plus2_poobs4_defconfig
] - Raspberry Pi 4 Model B [
raspberrypi4_poobs4_defconfig
] - Raspberry Pi Zero W [
raspberrypi0w_poobs4_defconfig
] - Raspberry Pi Zero 2 W [
raspberrypizero2w_poobs4_defconfig
] - Altre schede?
[stextbox id=’info’]Nota: La scheda deve presentare una porta USB OTG per l’emulazione exfathax. Tutte le schede elencate dovrebbero avere una porta USB OTG integrata se non diversamente indicato.[/stextbox]
Installazione
Scaricare l’immagine per la propria scheda dalla pagina di rilascio o costruiscila tu stesso. Quindi scrivere l’immagine sulla scheda SD utilizzando dd
:
sudo dd if=output/images/sdcard.img of=/dev/sdX bs=4M
In alternativa è possibile utilizzare:
- USBImager su Windows/Mac/Linux.
- balenaEtcher su Windows/Mac/Linux.
- Rufus su Windows.
In aggiornamento
Questa sezione è qui per avvisarti di eseguire il backup di qualsiasi personalizzazione effettuata o, meglio ancora, di eseguire il fork di questa repository e di eseguire la personalizzazione lì. La scrittura dell’immagine sulla scheda SD distrugge il suo contenuto esistente.
Per aggiornare, vedere Installazione.
In esecuzione
Inserire la scheda SD e collegare la scheda alla PS4 utilizzando la porta USB OTG. Non è necessario un altro cavo di alimentazione; la scheda trarrà energia dalla PS4. Potrebbero essere necessari 30 secondi per il primo avvio. Successivamente, dovrebbero essere necessari solo 5 secondi circa.
[stextbox id=’info’]Nota: SuperSpeed USB (USB 3.1 Gen 1), utilizzato dalla PS4, ha una potenza massima in uscita di 5 V/0,9 A. Considera questo.[/stextbox]
Collegamento della PS4 alla scheda
Seguire questi passaggi per collegare la console PS4 alla scheda:
- Sulla console PS4 andare su
Impostazioni
->Rete
->Configura connessione Internet
->Usa Wi-Fi
->Personalizzato
. - Selezionare pOOBs4 dall’elenco.
- Quando viene richiesta la password, inserire: 12345678
- Ora, per ogni passaggio, selezionare:
- Impostazioni indirizzo IP: Automatico.
- Nome host DHCP: non specificare.
- Impostazioni DNS: Automatico.
- Impostazioni MTU: Automatico.
- Proxy Server: Non utilizzare.
- Sei a posto.
Esecuzione dell’exploit
Puoi eseguire l’effettivo exploit pOOBs4 visitando l’indirizzo http://10.0.0.1/
dal browser PS4 o da Impostazioni
-> Guida per l'utente/Informazioni utili
-> Guida per l'utente
. L’host è basato su Leeful 9v4 (con GoldHEN v2.0b2), leggermente modificato per utilizzare l’emulazione USB.
Payload
Utilizzare Payload Guest.
Accesso alla scheda
È possibile eseguire SSH/SFTP sulla scheda utilizzando l’utente root
; l’IP della scheda è impostato su 10.0.0.1
(wlan) per impostazione predefinita.
ssh root@10.0.0.1
L’utente root
non ha una password, è possibile impostare una nuova password se si desidera utilizzare passwd
.
Porta il tuo host dell’exploit
Se l’host predefinito non è di tuo gradimento, sei libero di utilizzare il tuo host preferito. Tutto quello che devi fare è includere questo snippet e chiamare lo script giusto al momento giusto, di solito prima di alert();
e dopo che l’exploit è terminato.
function CallCgi(script) { var xmlHttpRequest = new XMLHttpRequest(); // GET request is not working on PS4? xmlHttpRequest.open("POST", "/cgi-bin/" + script, true); xmlHttpRequest.send(); }
Esempio:
... chain.run(); // Load exfathax emulation CallCgi("load_mass_storage"); alert("\n\n⚠⚠⚠ Emulating exfathax USB ⚠⚠⚠\nClick OK when you see the 'USB unsupported' popup notification."); { for (var i = 1; i < NUM_KQUEUES; i += 2) { chain.fcall(window.syscalls[6], kqueues[i]); } } chain.run(); // Unload exfathax emulation CallCgi("unload_mass_storage"); if (chain.syscall(23, 0).low == 0) { return; } alert("Exploit Failed! You can try again but it is advisable to reboot instead."); p.write8(0, 0); return; ...
Installazione del proprio host
Eliminare tutto all’interno della directory root httpd
(impostazione predefinita: /var/www/html
) ma conserva:
cgi-bin
directoryexfathax.img
/exfathax_pico.img
404.html
redirect.manifest
Basta dunque copiare il proprio host personalizzato. Questo è tutto.
In alternativa, è possibile mantenere intatto l’host predefinito modificando la directory root httpd
in /etc/httpd.conf
. Copiare i file e la directory sopra elencati nella nuova root httpd
. Potrebbe essere necessario aggiornare gli script affinché funzionino sulla nuova directory principale.
Script disponibile
load_mass_storage
unload_mass_storage
Puoi aggiungerne uno tuo, gli script si trovano in /var/www/html/cgi-bin
Versione
Ispirato da semver major.minor.patch
, ho deciso di usare core.board.patch
.
core
: Funzionalità di base, aumenta quando viene introdotta una nuova funzione.board
: Scheda totale supportata, non si azzera quando il core viene incrementato.patch
: Incrementata quando viene introdotta la funzione principale o la correzione di bug specifici della scheda.
Changelog v0.6.1
- Corretto il problema con l’avvio completo di Banana Pi M2 Zero a causa della configurazione e dell’overlay mancanti.
Changelog v0.6.0
Nuova scheda supportata dalla versione precedente
- Banana Pi M2 Zero
- Orange Pi Zero Plus2
- Raspberry Pi 4 Model B
- Raspberry Pi Zero W
- Raspberry Pi Zero 2 W
Download: pOOBs4-buildroot v0.6.1
Download: Source code pOOBs4-buildroot v0.6.1
Fonte: github.com