17
www.fem.tu- ilmenau.de Exploiting Pocket PC

Www.fem.tu- ilmenau.de Exploiting Pocket PC. ilmenau.de Exploiting Pocket PC PocketPC existiert seit über 5 Jahren (Windows CE seit ca. 10)

Embed Size (px)

Citation preview

Page 1: Www.fem.tu- ilmenau.de Exploiting Pocket PC.  ilmenau.de Exploiting Pocket PC PocketPC existiert seit über 5 Jahren (Windows CE seit ca. 10)

www.fem.tu-ilmenau.de

Exploiting Pocket PC

Page 2: Www.fem.tu- ilmenau.de Exploiting Pocket PC.  ilmenau.de Exploiting Pocket PC PocketPC existiert seit über 5 Jahren (Windows CE seit ca. 10)

www.fem.tu-ilmenau.de

Exploiting Pocket PC• PocketPC existiert seit über 5 Jahren

(Windows CE seit ca. 10)

Page 3: Www.fem.tu- ilmenau.de Exploiting Pocket PC.  ilmenau.de Exploiting Pocket PC PocketPC existiert seit über 5 Jahren (Windows CE seit ca. 10)

www.fem.tu-ilmenau.de

Exploiting Pocket PC• Windows CE:

– Embedded Betriebssystem von Microsoft– Echtzeitfähig; für „integrierte Anwendungen“

• PDA‘s, cell/smart phones VoIP, Abspielgeräte, Navigationssysteme, ATMs…

– Lauffähig auf x86, MIPS, SH3/4, ARM, StrongARM,…

• PocketPC:– Pocket PC 2000, 2002, 2003, 2003 SE, 2003 phone

edition– Pocket PC Smartphone– umbenannt in Windows Mobile: aktuell 5.0

• Alle PocketPC Betriebssysteme basieren auf Windows CE

Page 4: Www.fem.tu- ilmenau.de Exploiting Pocket PC.  ilmenau.de Exploiting Pocket PC PocketPC existiert seit über 5 Jahren (Windows CE seit ca. 10)

www.fem.tu-ilmenau.de

Exploiting Pocket PC• Unterschied PocketPC / WindowsCE /

Windows Mobile…• Es gibt nur wenige Exploits / keine

Viren/Würmer• Wozu überhaupt Exploits? Was für

Exploits?– Keyboard Logger, gepatcht und versteckt,

hardreset…

Page 5: Www.fem.tu- ilmenau.de Exploiting Pocket PC.  ilmenau.de Exploiting Pocket PC PocketPC existiert seit über 5 Jahren (Windows CE seit ca. 10)

www.fem.tu-ilmenau.de

Exploiting Pocket PC• Windows CE Architektur:

– max. 256 MB interner Speicher (32 MB max. eine Datei)

– 4 GB virtueller Adressraum• aufgeteilt in „slots“ (jeder slot = 32 MB)• 33 slots für Prozesse und 1 für DLLs, alle anderen für kern• Bei WM5.0: keine Aufteilungsbegrenzung• Alle Prozesse teilen sich den Adressraum

– Es gibt aber Speicherschutz

• Auf 32 Prozesse limitiert (slot 0 ist reserviert) (bei WM5.0 aufgehoben)

– Allerdings kein Thread Limit

Page 6: Www.fem.tu- ilmenau.de Exploiting Pocket PC.  ilmenau.de Exploiting Pocket PC PocketPC existiert seit über 5 Jahren (Windows CE seit ca. 10)

www.fem.tu-ilmenau.de

Exploiting Pocket PC• Speicheraufteilung:

Page 7: Www.fem.tu- ilmenau.de Exploiting Pocket PC.  ilmenau.de Exploiting Pocket PC PocketPC existiert seit über 5 Jahren (Windows CE seit ca. 10)

www.fem.tu-ilmenau.de

Exploiting Pocket PC• Windows CE DLLs:

– XIP (eXecute In Place)• DLLs werden im ROM/RAM gehalten und lediglich in

den Adressraum gemappt (nicht in den RAM kopiert)

• um Speicher zu sparen• man kann keinen break in einer System-DLL

machen…(Sicherheit)

– eine DLL wird immer an die selbe Adresse gemappt• verschiedene Adressen auf verschiedenen Geräten

Page 8: Www.fem.tu- ilmenau.de Exploiting Pocket PC.  ilmenau.de Exploiting Pocket PC PocketPC existiert seit über 5 Jahren (Windows CE seit ca. 10)

www.fem.tu-ilmenau.de

Exploiting Pocket PC• ARM Prozessor:

– am häufigsten in PocketPCs eingesetzt– RISC CPU

• wenig Energieverbrauch• relativ schnell

– ARM CPUs gibt es von verschiedenen Herstellern:• Intel XScale, TI OMAP, …

Page 9: Www.fem.tu- ilmenau.de Exploiting Pocket PC.  ilmenau.de Exploiting Pocket PC PocketPC existiert seit über 5 Jahren (Windows CE seit ca. 10)

www.fem.tu-ilmenau.de

Exploiting Pocket PC• Load/Store Architektur

– jede Datenoperation wird in den Registern erledigt

• 37 32 Bit register– R0-R13 zur allgemeinen Verwendung– R15 Zähler (PC)– R14 link Register (LR) für die Rücksprung adresse– R13 normalerweise Stack Pointer

• Status Flag (NZCO)• 32 Bit opcodes in ARM und 16 Bit in Thumb

Modus

Page 10: Www.fem.tu- ilmenau.de Exploiting Pocket PC.  ilmenau.de Exploiting Pocket PC PocketPC existiert seit über 5 Jahren (Windows CE seit ca. 10)

www.fem.tu-ilmenau.de

Exploiting Pocket PC• PC und SP sind register die man modifizieren

kann– Code kann sich leicht selbst im Speicher finden:

• SUB R1,PC,#4– R1 enthält die Adresse der nächsten Instruktion

– Die meisten Instruktionen können bedingt ausgeführt werden

• SUBNE R0,R0,#4– SUB wenn nicht gleich…

– Es existiert kein NOP• Virtuelles NOP: MOV R1,R1

Page 11: Www.fem.tu- ilmenau.de Exploiting Pocket PC.  ilmenau.de Exploiting Pocket PC PocketPC existiert seit über 5 Jahren (Windows CE seit ca. 10)

www.fem.tu-ilmenau.de

Exploiting Pocket PC• Probleme mit ARM

– separater Cache für Daten und Instruktionen• deshalb kein wirkllicher selbstverändernder Code möglich

– Ältere ARM Prozessoren haben kein XOR Befehl

Page 12: Www.fem.tu- ilmenau.de Exploiting Pocket PC.  ilmenau.de Exploiting Pocket PC PocketPC existiert seit über 5 Jahren (Windows CE seit ca. 10)

www.fem.tu-ilmenau.de

Exploiting Pocket PC• Tools:

– PocketPC/WinCE SDK• Microsoft eMbedded Visual C/C++ (eVC)

– Kostenlose Entwicklungsumgebung– Compiler, Debugger, Assembler,…– Spezielle Plattform Tools: Remote Process Viewer…)– Kein Support für ARM inline assembly

• Verschieden Pocket PC SDKs (aktuell Windows Mobile 5.0 SDK)

• Emulatoren für Pocket PC; neu: Emulator der die echte Hardware emuliert)

– ActiveSync:• Synchronisierungssoftware / Dateitransfer / Netzwerkzugriff

Page 13: Www.fem.tu- ilmenau.de Exploiting Pocket PC.  ilmenau.de Exploiting Pocket PC PocketPC existiert seit über 5 Jahren (Windows CE seit ca. 10)

www.fem.tu-ilmenau.de

Exploiting Pocket PC• Dissassembler:

– IDA PRO

• Hex Editor• Optional:

– Gcc/gas ARM cross Compiler und Assembler

Page 14: Www.fem.tu- ilmenau.de Exploiting Pocket PC.  ilmenau.de Exploiting Pocket PC PocketPC existiert seit über 5 Jahren (Windows CE seit ca. 10)

www.fem.tu-ilmenau.de

Exploiting Pocket PC• Single User Betriebssystem

– Kein Login nur optionaler Geräte-Lock– Jede Applikation kann auf alles zugreifen (nur

unmanaged Applikationen)– keine besondere Sicherheit für nicht-.NET

Programme– Sicherheitsstruktur in .NET umgesetzt

Page 15: Www.fem.tu- ilmenau.de Exploiting Pocket PC.  ilmenau.de Exploiting Pocket PC PocketPC existiert seit über 5 Jahren (Windows CE seit ca. 10)

www.fem.tu-ilmenau.de

Exploiting Pocket PC• Mögliche Attacken:

– Netzwerk:• WLAN, GPRS, Bluetooth, USB (WM5)

– Bluetooth• Einige bekannte Bugs (jedoch in aktuellen Versionen

gefixt)– OBEX push Bug (zu lange Dateinamen)

– Infrarot• OBEX; okay sehr unwahrscienlich

– GSM• SMS/MMS parser

Page 16: Www.fem.tu- ilmenau.de Exploiting Pocket PC.  ilmenau.de Exploiting Pocket PC PocketPC existiert seit über 5 Jahren (Windows CE seit ca. 10)

www.fem.tu-ilmenau.de

Exploiting Pocket PC• Shellcode

Page 17: Www.fem.tu- ilmenau.de Exploiting Pocket PC.  ilmenau.de Exploiting Pocket PC PocketPC existiert seit über 5 Jahren (Windows CE seit ca. 10)

www.fem.tu-ilmenau.de

Exploiting Pocket PC• Shellcode