domenica 26 settembre 2010

Exploit PS3 + guida software Geohot Hack

Geohot è riuscito ad effettuare il Dump della memoria Nand il tutto sfruttando un exploit con una modifica per il 95% hardware e il 5% software.
Oggi vedremo passo per passo la parte software del Geohot hack della nostra PS3.
1) Scaricate l'exploit ufficiale (DOWNLOAD)
2) Scaricare Linux. precisamente la distro Ubuntu v8.10 (DOWNLOAD)
3) Per installare la distro sulla PS3 sarà necessario masterizzare l'immagine su un cd con un qualsiasi programma
4) Effettuate il backup di tutti i dati della vostra ps3 in un unità removibile (HDD o pendrive)
5) Formattiamo la consolle andando su Impostazioni>Impostazioni di sistema>Utilità di formattazione>Formatta Hard Disk e diamo la conferma, scegliendo l'opzione personalizza potremo selezionare la quantità di Gb da riservare al nostro S.O. (si consiglia 10 Gb per la distro Linux). Ora l'HDD verrà formattato e al suo termine la consolle si riavvierà.
6) Dopo aver installato Linux si dovrebbe accedere utilizzando il nome utente creato durante la sua installazione. Ora dovrete aprire il terminale e digitare "sudo password" per poter immettere la password al nostro account di root in modo che sia utilizzabile.
7) Sempre nel terminale digitare "su" e poi inserire nuovamente la password di root in modo da ottenere l'accesso come root e quindi creare una dir in cui mettere tutto (è consigliato crearla nella root del filesystem cosi da consentire un punto di accesso tramite Samba dal PC.
Per creare la Dir bisogna digitare "mkdir / ps3", in nome della directory sarà sicuramente libero.
8) Ora sarà necessario dare i permessi a tutti gli utenti di leggere o scrivere in questa directory, quindi aprire il terminale e digitare "chmod a + rw / ps3" e digitare "chown nomeutente:nomeutente / ps3" dove nomeutente è il nome scelto dall'utente.
9) Prendere una pendrive e copiare l'exploit scaricato inizialmente al suo interno e successivamente inserire la pendrive su Ps3, dovrebbe essere riconosciuta in automatico e dovrebbe comparire un icona, fare doppio click destro su di essa per aprire il broswer dei file. Effettuare click destro sul drive usb nel file broswer e scegliere "Open in New Window", successivamente selezionare "File System" e poi "ps3". Ora trascinare i file al disco USB nella directory "ps3".
10) Correggere gli header del kernel in modo che possano essere trovati dagli script di build, quindi digitare:  
"mv / usr/src/linux-ports-headers-2.6.25-2 / / usr / src /linux-headers -2.6.25-2 /
11) Ora occorrerà passare alla directory  con l'exploit di origine "cd / ps3/ps3_exploit/src" e quindi costruire digitando "make", seguiranno vari avvertimenti fino a creare il file "exploit.ko". 

mercoledì 27 gennaio 2010

GeoHot: Ps3 Exploit

Dopo 3 anni e mezzo di attesa finalmente si vede un hacker sfornare qual cosa di reale a disposizione di tutti in un piatto d'argento, ed ecco infatti che GeoHot rilascia il primo exploit per la Playstation3 in modo da essere trasparente e credibile nel suo operato.
Rilasciando questo exploit da la possibilità anche ad altri di fare nuove scoperte e far finalmente iniziare l'era underground della Playsation 3 anche perchè come dice lui non può stare giorno e notte dietro a questa consolle ma ha bisogno di svagarsi pure lui. Per tutti quelli che hanno fatto e in futuro faranno nuove scoperte dichiara di documentare tutto su ps2 dev wiki .
Inoltre dichiara:
  • "La potenza di questo exploit ha generato tonnellate di nuovi dati tutti da documentare. Vorrei vedere le chiamate mancanti dell'HV, la mappatura della memoria, la sequenza di boot documentata meglio, e i progressi sui driver della GPU. E ovviamente, la ricerca di un software exploit."

Questo exploit per adesso sfrutta l'otheros, una funzione che permette di installare linux purtroppo non presente sulle ps3 slim, è scritto in linguaggio C e occorre compilarlo e lanciarlo da linux con la versione 2.4.2 che utilizza lui, per le altre versioni è solo da provare. La sua utilità è quella di continuare li studi all'interno della ps3 in modo da poter sviluppare un software exploit ossia un vero e proprio hello world ma la meta forse è ancora un bel pò distante.
Ecco come sfruttarlo:
geohot: well actually it's pretty simple
geohot: i allocate a piece of memory
geohot: using map_htab and write_htab, you can figure out the real address of the memory
geohot: which is a big win, and something the hv shouldn't allow
geohot: i fill the htab with tons of entries pointing to that piece of memory
geohot: and since i allocated it, i can map it read/write
geohot: then, i deallocate the memory
geohot: all those entries are set to invalid
geohot: well while it's setting entries invalid, i glitch the memory control bus
geohot: the cache writeback misses the memory :)
geohot: and i have entries allowing r/w to a piece of memory the hypervisor thinks is deallocated
geohot: then i create a virtual segment with the htab overlapping that piece of memory i have
geohot: write an entry into the virtual segment htab allowing r/w to the main segment htab
geohot: switch to virtual segment
geohot: write to main segment htab a r/w mapping of itself
geohot: switch back
geohot: PWNED
geohot: and would work if memory were encrypted or had ECC
geohot: the way i actually glitch the memory bus is really funny
geohot: i have a button on my FPGA board
geohot: that pulses low for 40ns
geohot: i set up the htab with the tons of entries
geohot: and spam press the button
geohot: right after i send the deallocate call

giovedì 3 dicembre 2009

Geohot mapped the Kernel RAM

Geohot attuale hacker conosciuto nel mondo iphone per il primo Jailbreak, qualche mese fà si è messo a lavoro sulla Ps3 riuscendo già a mappare il kernel della ram della nostra amata consolle, ecco il risultato:
The kernel:
c00000000xxxxxxx -> 0000408f92c94xxxxxxx
c: 0 l: 1 n: 0 kp: 1 ks: 0
c000000000000000 - c000000000f00000

vmalloc regions:
d00000000xxxxxxx -> 0000f09b89af5xxxxxxx
c: 0 l: 0 n: 0 kp: 1 ks: 0
d000000000000000 - d000000000004000
d000000000008000 - d00000000000c000
d000000000038000 - d000000000044000
d000000000048000 - d000000000054000
d00000000005c000 - d000000000074000
d000000000078000 - d0000000000a8000
d0000000000ac000 - d0000000000c0000
d0000000000c4000 - d000000000130000
d000000000134000 - d000000000140000
d000000000144000 - d000000000150000
d000000000154000 - d000000000164000
d000000000168000 - d000000000178000
d00000000017c000 - d00000000019c000
d0000000001a0000 - d0000000001f4000
d0000000001f8000 - d000000000208000
d00000000020c000 - d000000000224000
d000000000228000 - d00000000023c000
d000000000240000 - d000000000254000
d00000000025c000 - d000000000270000
d00000000027c000 - d0000000002d8000
d0000000002dc000 - d00000000032c000
d000000000330000 - d00000000033c000
d000000000340000 - d000000000430000
d000000000434000 - d000000000520000
d000000000524000 - d000000000558000
d00000000055c000 - d000000000598000
d00000000059c000 - d0000000005e0000
d0000000005e4000 - d000000000618000
d00000000061c000 - d000000000638000
d00000000063c000 - d00000000064c000
d000000000650000 - d000000000664000
d000000000668000 - d000000000678000
d00000000067c000 - d00000000068c000
d000000000690000 - d0000000006e4000
d0000000006e8000 - d000000000728000
d00000000072c000 - d00000000075c000
d000000000768000 - d000000000794000
d000000000798000 - d0000000007ac000
d0000000007b0000 - d0000000007f0000
d0000000007f4000 - d0000000008c4000
d0000000008c8000 - d000000000960000
d000000000964000 - d0000000009d4000
d0000000009d8000 - d0000000009f8000
d000000000a00000 - d000000000a1c000
d000000000a20000 - d000000000a2c000
d000000000a44000 - d000000000a50000
d000000000a58000 - d000000000abc000
d000000000ac0000 - d000000000b20000
d000000000b24000 - d000000000b3c000
d000000000b40000 - d000000000b60000
d000000000b64000 - d000000000b78000
d000000000b7c000 - d000000000bc0000
d000000000bc8000 - d000000000c48000
d000000000c4c000 - d000000000d3c000
d000000000d40000 - d000000000d68000
d000000000d6c000 - d000000000d90000
d000000000d94000 - d000000000d9c000
d000000000da0000 - d000000000da8000
d000000000db0000 - d000000000dc4000
d000000000dc8000 - d000000000df0000
d000000000df4000 - d000000000e10000
d000000000e14000 - d000000000e2c000
d000000000e30000 - d000000000e44000
d000000000e48000 - d000000000e60000
d000000000e64000 - d000000001014000
d000000001018000 - d00000000105c000
d000000001060000 - d000000001068000
d00000000109c000 - d0000000010c8000
d0000000010cc000 - d0000000010ec000
d000000001174000 - d0000000011d8000
d0000000011dc000 - d000000001224000

Bolted regions
f00000000xxxxxxx -> 0000dc19498bexxxxxxx
c: 1 l: 0 n: 0 kp: 1 ks: 1
f000000007aa8000 - f000000007aac000
f000000007ac4000 - f000000007acc000
f000000007b48000 - f000000007b4c000
f000000007ba4000 - f000000007bb0000
f000000007ecc000 - f000000007ed0000
f000000007f2c000 - f000000007f84000
f000000007f88000 - f000000007fac000
f000000007fb0000 - f000000007fd8000
f000000007fdc000 - f000000007fe4000
f000000007fec000 - f000000007ffc000

The HTAB
d00008008xxxxxxx -> 0000d3df8b595xxxxxxx
c: 1 l: 0 n: 0 kp: 1 ks: 1

Mappings in user area:
000000000xxxxxxx -> 0000dc19498bexxxxxxx
c: 1 l: 0 n: 0 kp: 1 ks: 1
0000000007aa8000 - 0000000007aac000
0000000007ac4000 - 0000000007acc000
0000000007b48000 - 0000000007b4c000
0000000007ba4000 - 0000000007bb0000
0000000007ecc000 - 0000000007ed0000
0000000007f2c000 - 0000000007f84000
0000000007f88000 - 0000000007fac000
0000000007fb0000 - 0000000007fd8000
0000000007fdc000 - 0000000007fe4000
0000000007fec000 - 0000000007ffc000
00000000fxxxxxxx -> 0000d3df8b595xxxxxxx
c: 1 l: 0 n: 0 kp: 1 ks: 1
000000004xxxxxxx -> 0000d1a140344xxxxxxx
c: 1 l: 0 n: 0 kp: 1 ks: 1
0000000040000000 - 000000004001c000
0000000040028000 - 0000000040034000
0000000040074000 - 00000000400a4000

lunedì 30 novembre 2009

UPDATE: Different Ps3 Motherboard

Come da titolo ecco la lista delle differenti schede madre montate sulle nostre Playstation 3:
  • VERSIONE AMERICANA 40 GB [MODEL: CECHH ]
(NON POSSIEDE L'HARDWARE PS2)
  • VERSIONE EUROPEA 60 GB - AMERICANA 80 GB [MODEL:CECHC ]
(POSSIEDE LA GPU PS2)
  • VERSIONE NORD AMERICANA 20/60 GB [MODEL: CECHA]
(POSSIEDE CPU E GPU PS2)
  • VERSIONE AMERICANA PS3 SLIM 120 - 250 GB
(NON POSSIEDE L'HARDWARE PS2)

Infine, ecco l'elenco dei codici di produzione di ogni scheda madre Playstation 3:
• CECHA: COK-001 1-871-868-22
• CECHA: COK-001 1-871-868-32
• CECHB: COK-001 1-871-868-22
• CECHC: COK-002 1-873-513-21
• CECHC: COK-002 1-873-513-31
• CECHG: SEM-001 1-875-384-21
• CECHH: DIA-001 1-875-938-11
• CECHH: DIA-001 1-875-938-31
• CECHK: ??? -002 1-876-912-32
• CECHL: VER-001 1-878-196-21
• CECHL: VER-001 1-878-196-31
• CECH-20xx: DYN-001 1-880-055-31

domenica 29 novembre 2009

Ps3 Debug startup sequence explained

Un video dimostrativo di una Playstation 3 Debug che legge i backup dei giochi:


Al momento è possibile trovare in vendita solo pochissime unità della Playstation 3 debug, ecco alcuni link:
LINK1
LINK2

mercoledì 25 novembre 2009

PlayStation 3 System File Editor

PlayStation 3 System File Editor è un programmino sviluppato da Hellcat che permette di modificare alcuni parametri della nostra Playstation 3, come:
  1. L'ID;
  2. La Versione;
  3. Il livello di controllo parentale;
  4. Il Titolo;
  5. La risoluzione video;
  6. Il formato audio;
  7. Attivare o disattivare la riproduzione remota per PSP.

sabato 5 luglio 2008

Emulatori per Playstation3: Snes e Dgen

Gli hacker del sito Ps3-hacks.nl sono riusciti a far girare all'interno della console Sony degli emulatori di vecchie console come il Super Nintendo e il Sega Genesis tramite lo Swap Magic.
Ecco il video dimostrativo:

SNES(Super Nintendo)



Pgen
(Sega Genesis)



Ecco la guida all'installazione dell'emulatore:
1. Scaricare l'Elf loader
2. Prendere una penna USB (o PSP) e collegarlo al PC
3. Nella root principale fare una cartella chiamata SWAPMAGIC
4. Copia e incolla il file chiamato ''SMBOOT0.ELF''nella cartella SWAPMAGIC
5. Copia e incolla la cartella PSXLOADER nella root principale della penna USB (o PSP)
6. Scaricare uno o due dei ELF emulator
7. Mettere l'ELF nella cartella PSXLOADER
8. Non siamo in grado di darvi questi file: file LIBSD, XMCMAN e XMCSERV. Devi cercare in giro per loro.
9. Mettere il file appena scaricato LIBSD, XMCMAN e XMCSERV nella cartella Moduli whichs che dovrebbe essere all'interno PSXLOADER
10. Scaricare l'Ulaunch Elf
11. Mettere la cartella BEDATA-system in SWAPMAGIC nella root della penna USB
12 Avviare la PS3 con la Pen Drive collegati e iniziare Swap Magic
13. Premere R1 e freccia-su sul D-pad.
14. Si presenta un menu.....andare nelle impostazioni
15. Aprire la cartella "host"(non so come tradurla) e premi sul filebrowser
16. Mettere un DVD originale PS2 e andare in opzioni CDFS. Cercare il file usbd.IRX e premere R1 per la copia. Torna alla cartella principale MS0: / e premere R1 per fare una nuova directory di nome: BEDATA-SYSTEM e mettere il usbd.irx in questa cartella
17. Chiudere il gioco e iniziare di nuovo Swap Magic. Ora tenendo premuto L1 e freccia-up
18. Nel menu di ricerca scegliere l'ELF che si desidera avviare (emulatore)
Scarica lo Swap Magic: DOWNLOAD (necessaria la registrazione)
Fonte: ps3ita

sabato 28 giugno 2008

Foto del Debug Firmware in funzione

Ecco alcune foto scattate al debug Firmware in funzione su una Playstation 3 retail(normale).
Ecco le foto:
NP DEBUG
FORMAT SYSTEM CACHE
NP ENVIRONMENT

Video Playstation 3 Debug

Come da titolo, ecco il video di una Playstation 3 Test Debug [Debugging Edition]:

Download Debug Firmware



Se vuoi installare il Firmware Debug sulla tua console retail clicca qui

Playstation 3 Debug Unboxing

Ecco le foto di una Playstation 3 Debug o meglio dire di una Debugging Station:
Fonte: Kotaku.com

venerdì 27 giugno 2008

PS3 NAND Flow Rebuilder v2.30

Pochi giorni fa NDT ha reso pubblico un nuovo tool chiamato PS3 NAND Flow Rebuilder v2.30.



Esso interpola i dump delle flash in modo intelligente in quanto ordina i blocchi in modo sequenziale permettendo così a chi vuole operarci di fare paragoni tra dumps differenti altrimenti ordinati in modo random.



In questo modo potrete controllare i file all'interno delle NANDs in un modo migliore perché i blocchi sono quelli che usa la console per il boot. Quindi se si dumpano 2 volte è più facile confrontare perché i file all'interno di essi seguono lo stesso ordine.



DEINTERPOLATE le nuove Flash: Questo strumento può essere utilizzato su una modifica di dump, è possibile modificare alcuni byte di swap o anche alcuni file interi, lo strumento ricostruire la flash0 e la flash1 utilizzando il flusso di ordine originale (solo in questo modo funziona) e compila un file di log della scrittura della pagina in cui il CEC deve essere ricalcolato.

Nota: Questo richiede il .NET Framework installato per essere avviato.

Download: PS3 NAND Flow Rebuilder v2.30

Fonte: Ps3news

giovedì 19 giugno 2008

Schema a blocchi avvio giochi Ps3

Ecco per esempio come viene avviato FLOW:
Inoltre, la PARAM.SFO ha anche importanza... Nell'inserimento, la Ps3 legge il titolo ID del disco nel PARAM.SFO e lo inserisce nel DB. Una volta che il gioco viene eseguito e decifrato, il titolo ID è verificato ancora una volta per assicurarsi che sono uguali. Se non lo fa (penso a un swap disk), la PS3 andrà in silenzio di errore, e tornerà all' XMB.

In una nota finale, il nostro PS3 Devs ha scovato numerosi documenti e brevetti, ed è giunto alla conclusione che la PS3 utilizza AIX (Advanced Interactive Executive) come base.
Fonte: Ps3Tribe

mercoledì 18 giugno 2008

PS3 NAND Dump Interleaver v1.40

Quando vengono fatti i dump dell PS3 si ottengono due files, Flash0 e Flash1.
Quello che fa PS3 quando si accende è leggere le due flash, questo lo fa interpolandole, ovvero leggendole un pezzo da una ed un pezzo dall'altra, a pettine.
PS3 NAND Dump Interleaver v1.40 scrive un file in output che è il risultato dell'operazione che fa la PS3 quando l'accendiamo.


In questo modo è possibile comprendere ciò che c'è scritto e fare studi più approfonditi.
Supponiamo che nel firmware di PS3 ci sia scritto: "AB 0E FA DE CA FE AA FF"
nelle due flashes troveremo:

Flash1: 0E AB FE CA
Flash0: DE FA FF AA

Nell 'esempio di sopra l'interlacciamento è di 2 byte, la PS3 interlaccia a 512 bytes.
I bytes sono inoltre swappati, l'applicativo li "raddrizza".
DOWNLOAD

PS3 PUP Extractor v1.00 by NDT

NDT ha rilasciato il PS3 PUP Extractor v1.00 che consente di estrarre il file PUP del firmware nella cartella chiamata pupname.EXT e crea all'interno un file di log con delle informazioni utili per lo studio dei firmware della Playstation 3.DOWNLOAD

Official PS3 Firmwares

(Firmware 2.40 NON CONSIGLIATO)
Se vuoi scaricare i Debug Firmware clicca qui

martedì 17 giugno 2008

Playstation3 NAND: SAMSUNG K9F1G08Q0A

Sopra potete vedere lo screenshot di una delle 2 NANDS della Samsung da 128mb x 8bit presenti in tutte le nostre Playstation 3, il modello della Nand è:
SAMSUNG 640 - K9F1G08Q0A (128mb x 8bit)
Per potere effettuare degli studi piu' approfonditi sulle NANDS della Playstaion 3 vi rilascio il DATASHEET della Samsung in lingua inglese.
DOWNLOAD
Fonte: Infectus.biz

Playstation3 40% RETAIL e 60% DEBUG

La Playstation 3 RETAIL (normale) quando viene Flashata con un Debug Firmware, esso si installa nella Flash (anche chiamata NAND, la ps3 ha 2 NAND della Samsung ciascuna da 132mb), questo firmware non risulta funzionante al 100% perchè le chiavi di registro della console RETAIL sono differenti da quelle della console DEBUG, e di conseguenza avremo una console al 40% RETAIL e al 60% DEBUG.
Quindi le ISO dei giochi e molte delle funzioni DEBUG di questo Firmware non possono essere avviate proprio a causa delle differenti chiavi di registro che non sono presenti nel firmware della console RETAIL

Questa mancanza delle chiavi di registro e fondamentale per far partire le iso dei giochi, infatti, questo problema si potrebbe risolvere eseguendo un DUMP della NAND di una console DEBUG, estraendo le chiavi di registro neccessarie e copiarle nella NAND della RETAIL.

Inoltre non è possibile eseguire file con estensione .pkg perchè la parte del registro che contiene le chiavi di apertura di essi è inesistente sulle console RETAIL, e quindi anche questo problema si potrebbe risolvere effettuando un DUMP della NAND della console DEBUG, ma qui i problemi si fanno seri poichè queste chiavi sono criptate con chiave AES, 256 bit e per decriptare anche solo una di queste chiavi ci vorrebbero anni e anni, e sarebbe anche inutile perchè ogni cosole ha le chiavi criptate in modo diverso.

I problemi si aggiungono perchè effettuando delle modifiche alle NAND della console si invaliderà l' ECC che sarebbe l'algoritmo di controllo di errore presente nelle nostre Ps3, esso è in grado di riparare fino ad un massimo di 6bytes su una pagina di 2048 Byte.
Se si effetuano delle modifiche alla NAND e e dopo non si ricalcola l'ECC è come se le modifiche non abbiamo effetto e sarebbe lavoro sprecato, inoltre se vengono superati 6 bytes di modifica la console brickerà.
Se vuoi installare il Firmware Debug sulla tua console retail clicca qui

PS3 Infectus Double NAND Programmer V1.41 [by NDT]

NDT ha studiato approfonditamente il Dump ed è riuscito a capire come la PS3 gestisce i bad blocks delle NAND, con il suo nuovo tool ossia il PS3 Infectus Double NAND Programmer i bad blocks vengono riconosciuti e skippati (evitando danni alla console) mentre il vecchio programmer infectus quando arrivava ad un bad block, brickava la console e diventava inutilizzabile.

Il programma permette di Flashare la NAND senza nessun problema, e permette anche il downgrade del firmware della Playstation 3 (anche se al momento risulta inutile).
L'utilità principale del programma è di dumpare il/i Firmware della console per poterli studiare accuratamente.

Ecco lo screenshot del programma:Scarica: Infectus double nand programmer v1.41

domenica 15 giugno 2008

PS3 DOUBLE "BIOS NAND FLASHER"

PS3 DOUBLE "BIOS NAND FLASHER" diagramma rev.1.0 18/05/07
Nell'immagine potete notare a sinistra il circuito elettrico della playstation 3 e a destra il piccolo modchip infectus con le relative indicazione per effettuare le saldature e collegarlo correttamente alla console.

Questo nuovo modchip targato infectus permette di programmare la FLASH del BIOS della nostra Playstation3, in modo da avere la possibilità di gestire la riprogrammazione del firmware della Playstation 3 e di conseguenza Downgradare e Upgradare istantaneamente e senza nessun problema.
Inoltre questo nuovo modchip permette di patchare il tempo reale il firmware della playstation 3 in modo da poterlo aggiornare o modificare in qualsiasi momento senza creare nessun danno alla console (questa funzione è in fase di sviluppo).

Ecco lo screenshot del modchip Infectus:
Image and video hosting by TinyPic
Fonte: Infectus.biz