ios exploitation · 2015. 2. 17. · codi binari assembly. exploits & payloads • què son?...

Post on 10-Oct-2020

2 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

iOS Exploitation

Iñaki MirXavi Álvarez

2015CONFERÈNCIA

SOBRE SOFTWAREA L’ESCOLA PIA MATARÓ

Índex• Introducció

• De què tracta? • Per què iOS?• Objectius

• Com ho aconseguim?• Mesures de seguretat• Creant Remak3

• Descripció• Estructura• Funcionament

• Conclusions

De què tracta ?

• Anàlisi i vulneració de la seguretat dels iDevices

• Creació de software

• Modificació del sistema operatiu

Per què iOS ?

0M

200M

400M

600M

800M

Set ‘1

0Oct

‘11Mar

‘12Se

t ‘12

Gen ‘

13Jun

‘13

Oct ‘13

Jun ‘1

4

• 800+ milions de iDevicesactivats

• 130 milions el darrer any

• 98% a Fortune 500

Per què iOS ?• Innovador • Segur

• Possibilitats limitades

Objectius

• Trencar la seguretat d’iOS

• Aconseguir permisos

• Executar aplicacions de tercers

Crear un programa que permeti el JAILBREAK

Jailbreak• Tethered • Semi-Tethered

• Untethered

Jailbreak• Cydia

Com ho aconseguim?

Enginyeria Inversa

Exploits (Scripts amb Payloads)

Enginyeria Inversa

IDA

Dissasembler Debugger

Codi binari

Assembly

Exploits & Payloads

• Què son?

• Com es diferencien?

• On intervenen?

Vulnerabilitat

Exploit

Payload

dóna lloc

executa

Mesures de seguretat

Procès 1

Procès II

DFUo

RecoveryMode

si no fallasi falla

signa

Comença al iniciar l’iDevice.Cada procès verifica el següent.

Si un procès falla, permet la restauració del SO.

Secure Bootchain

• BootROM BootROM

LLB

signaVe implicita amb el hardware.

No es pot reescriure.Verifica signatura d’LLB.

Si es troba una vulnerabilitat NO ES REPARABLE. DFU

si falla

Secure Bootchain

• Low Level Bootloader BootROM

LLBsigna

Verifica la integritat del firmware.Verifica la signatura d’iBoot.

DFU

si falla

iBoot

Secure Bootchain

• iBootBootROM

LLB

signa

Inicialitza el hardware.Verifica la signatura del Kernel.

Recovery

si fallaiBoot

Kernel

Secure Bootchain

• KernelBootROM

LLBEs el nucli del sistema operatiu.

Porta implementats els drivers i les extensions per l’interacció software-

hardware (IOKit).

Recovery si falla

iBoot

Kernel

Secure Bootchain

Restringeix l’accés de les aplicacions a recursos del sistema i dades de l’usuari.

Sandboxing

Sandbox extensió Kernel

Encriptació• Apple utilitza criptografia asimètrica per signar el programari

dels seus dispositius

• RSA• AES Desencriptem el kernel, extraiem la KBAG i cridant a la funció aes_decrypt amb aquesta d’argument ens retorna les claus del firmware.

Creant Remak3

Descripció• Jailbreak Semi-Tethered

• Compatibilitat

• iPhone 4• Mac OS X

Llenguatges

• C

• Java

• AppleScript

• Bash

• PHP

Exploits

Limera1n

• Payloads: dirhelper, fstab, ramdisk

iOS 4.1

0x210x210x210x21... !reinicia i torna a escriure desde

0x0

Exploits

• Limera1n exploit

Software emprat• xpwntool - Bootchain modificat per ometre mesures de

seguretat.

• ramdisk ssh_rd - Permet la connexió de l’iPhone ambl’ordinador via SSH.

• Llibreries libimobiledevice / libusbllibreries opensn0w syringelibxpwn

•XCode

Funcionament

iOS Lliure

SSH

Reinici

Jailbreak

Boot

FuncionamentBootROM iBSS iBEC DFU escriu iBoot

exploit

iBoot(modificat) executa payload

(800 bytes)

Fals Recovery

puja payload

inicia ramdisk + protocol SSH (mitjançant connexió SSH copiem cydia + payloads)

BootROM DFU

esborra signatures

escriu zeros a les adresses base on començen les signatures del bootchain

i aplica patch al kernel

exploit

Conclusions

Jailbreak Semi-Tethered

Objectius assolits parcialment

Gràcies per la vostra atenció

Q&A

top related