iPhone: Sicurezza già compromessa?
Scritto da Nemesis   
Mercoledì 11 Luglio 2007 14:25

A neanche un mese dall'uscita in commercio della prima versione di iPhone, fioccano già in rete le informazioni relative a vari test di security, mostrando qualcosa di atteso, ma anche qualcosa di strano.


[1] Al momento dell'acquisto l'iPhone viene attivato utilizzando le seguenti informazioni:

- DeviceID
- IMEI (International Mobile Equipment Identity)
- ICCID (Integrated Circuit Card ID)

Sfortunatamente, le informazioni di attivazione sono crittografate.

Il seguente certificato ("Apple iPhone Activation", fornito dalla "Apple iPhone Certification Authority") è utilizzato per verificare i dati:

-----BEGIN CERTIFICATE-----
MIIDZzCCAk+gAwIBAgIBAjANBgkqhkiG9w0BAQUFADB5MQswCQYD
VQQGEwJVUzETMBEGA1UEChMKQXBwbGUgSW5jLjEmMCQGA1UECx
MdQXBwbGUgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxLTArBgNVBA
MTJEFwcGxlIGlQaG9uZSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAe
Fw0wNzA0MTYyMjU1MDJaFw0xNDA0MTYyMjU1MDJaMFsxCzAJBgNVB
AYTAlVTMRMwEQYDVQQKEwpBcHBsZSBJbmMuMRUwEwYDVQQLEwx
BcHBsZSBpUGhvbmUxIDAeBgNVBAMTF0FwcGxlIGlQaG9uZSBBY3Rp
dmF0aW9uMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDFAX
zRImArmoiHfbS2oPcqAfbEv0d1jk7GbnX7+4YUlyIfprzBVdlmz2JHYv1
+04IzJtL7cL97UI7fk0i0OMY0al8a+JPQa4Ug611TbqEt+njAmAkge3H
XWDBdAXD9MhkC7T/9o77zOQ1oli4cUdzlnYWfzmW0PduOxuveAeYY4
wIDAQABo4GbMIGYMA4GA1UdDwEB/wQEAwIHgDAMBgNVHRMBAf8E
AjAAMB0GA1UdDgQWBBShoNL+t7Rz/psUaq/NPXNPH+/WlDAfBgNVH
SMEGDAWgBTnNCouIt45YGu0lM53g2EvMaB8NTA4BgNVHR8EMTAvMC
2gK6AphidodHRwOi8vd3d3LmFwcGxlLmNvbS9hcHBsZWNhL2lwaG9u
ZS5jcmwwDQYJKoZIhvcNAQEFBQADggEBAF9qmrUNdA+FROYGP7p
WcYTAK+pLyOf9zOaE7aeVI885V8Y/BKHhlwAo+zEkiOU3FbEPCS9V
tS18ZBcwD/+d5ZQTMFknhcUJwdPqqjnm9LqTfH/x4pw8ONHRDzxH
dp96gOV3A4+8abkoASfcYqvIRypXnbur3bRRhTzAs4VILS6jTyFYymZe
SewtBubmmigo1kCQiZGc
76c5feDAyHb2bzEqtvx3WprljtS46QT5CR6
YelinZnio32jAzRYTxtS6r3JsvZDi
J07+EHcmfGdpxwgO+7btW1pFar0
ZjF9/jYKKnOYNyvCrwszhafbSYwzAG5EJoXFB4d+piWHUDcPxtcc=
-----END CERTIFICATE-----

Inoltre, per poter utilizzare l'iPhone è necessario utilizzare una SIM della AT&T, azienda americana con la quale Apple ha stipulato l'accordo per l'utilizzo dell'iPhone.
Tuttavia alcuni utenti interessati ad utilizzare l'iPhone non come dispositivo telefonico, ma esclusivamente come iPod e device wireless, hanno sviluppato un tool chiamato PAS (Phone Activation Server), disponibile all'indirizzo: http://nanocr.eu/wp-content/PhoneActSrv-v1.0.zip.

L'applicazione purtroppo è disponibile solo per Windows e richiede che il .NET Framework 2.0 sia installato; inoltre è richiesto che siano aggiornate le seguenti informazioni (per fare ciò suggerisco l'utilizzo di un editor quale UltraEdit-32):

Magic iTunes 7.3.0.54 numbers:
Offset 2048912: 33C0C3
Offset 257074: 28
Offset 257013: 33C9B1
Aggiungere “127.0.0.1 albert.apple.com” a c:\windows\system32\drivers\etc\hosts

A questo punto, dopo aver lanciato iTunes e quindi il PAS, collegare l'iPhone al computer, il quale verrà automaticamente attivato nel giro di un minuto.


[2] Interessante è anche il risultato ottenuto da un utente, effettuando una scansione sull'iPhone mediante Nmap:

Come si può notare si individua una singola porta TCP aperta (62078 - tcpwrapped) e un interessantissimo risultato per quanto concerne la rilevazione del sistema operativo (con una certezza dell'87%):

D-Link Dl-713P Wireless Gateway (2.57 build 3a)

Sono necessari maggiori test per capire questo risultato (probabilmente la risposta TCP ottenuta è legata all'architettura dell'iPhone, differente da quella di un Mac).


[3] Il root e un'altra password di account "mobile" dell'iPhone OS X 1.0, sono state ottenute da un file passwd, il cui hash di crittatura è risultato essere un vecchio 1979 DES:

root -> "alpine"
mobile -> "
dottie"


[4] In fine, quello che a mio parere risulta essere il più sorprendente hacking per iPhone, in quanto consente di ottenere una shell completamente iterattiva sull'iPhone.
Di seguito sono riportate la lista di informazioni relative a questo hacking:

a) La seriale dell'iPhone presenta i medesimi pinout (volgarmente in italiano, la medesima piedinatura), della seriale dell'iPod
b) Utilizzare una resistenza 6.8kish dal pin 21 fino alla "terra"
c) Collegare il pin 11-sergnd alla vera "terra"
d) Utilizzare la "iphoneinterface" per inviare i seguenti comandi in modalità recovery: [setenf debug-uarts 1 -> saveenv -> reboot]

I comandi possibili su questa console sono i seguenti:

help        	this list
script run script at specific address
go jump directly to address
bootx boot a kernel cache at specified address
diags boot into diagnostics (if present)
tsys boot into tsys (if present)
bdev block device commands
image flash image inspection
fs file system commands
fsboot try to boot kernel at /kernelcache
devicetree create a device tree from the specified address
ramdisk create a ramdisk from the specified address
tftp tftp via ethernet to/from device
eload tftp via ethernet from hardcoded install server
halt halt the system (good for JTAG)
reboot reboot the device
poweroff power off the device
md memory display - 32bit
mdh memory display - 16bit
mdb memory display - 8bit
mw memory write - 32bit
mwh memory write - 16bit
mwb memory write - 8bit
mws memory write - string
crc POSIX 1003.2 checksum of memory
task examine system tasks
printenv print one or all environment variables
setenv set an environment variable
clearenv clear all environment variables
saveenv save current environment to flash
run use contents of environment var as script
bgcolor set the display background color
setpicture set the image on the display
iic iic read/write
radio Manipulate the radio board.
setbusclock Set bus clock to the given frequency in Hz.
setcorevoltage Set core voltage to the given voltage in mV.
syscfg flash SysCfg inspection
charge Manage the charger chip.
powernvram Access Power NVRAM.
usb run a USB command
nand nand flash routines
chunk chunk a file7/6/2007

Ultimo aggiornamento Domenica 08 Novembre 2009 13:22