Preface |
|
1 | (6) |
Chapter 1 Introduction to Mobile Forensics |
|
7 | (20) |
|
|
8 | (3) |
|
Mobile forensic challenges |
|
|
9 | (2) |
|
Mobile phone evidence extraction process |
|
|
11 | (5) |
|
The evidence intake phase |
|
|
12 | (1) |
|
|
12 | (2) |
|
|
13 | (1) |
|
The goals of the examination |
|
|
13 | (1) |
|
The make, model, and identifying information for the device |
|
|
13 | (1) |
|
Removable and external data storage |
|
|
13 | (1) |
|
Other sources of potential evidence |
|
|
13 | (1) |
|
|
14 | (1) |
|
|
14 | (1) |
|
|
14 | (1) |
|
|
14 | (1) |
|
Comparing extracted data to the handset data |
|
|
15 | (1) |
|
Using multiple tools and comparing the results |
|
|
15 | (1) |
|
|
15 | (1) |
|
The document and reporting phase |
|
|
15 | (1) |
|
|
16 | (1) |
|
|
16 | (1) |
|
Practical mobile forensic approaches |
|
|
16 | (6) |
|
Mobile operating systems overview |
|
|
17 | (1) |
|
|
17 | (1) |
|
|
18 | (1) |
|
|
18 | (1) |
|
|
18 | (1) |
|
Mobile forensic tool leveling system |
|
|
18 | (3) |
|
|
19 | (1) |
|
|
20 | (1) |
|
|
20 | (1) |
|
|
20 | (1) |
|
|
21 | (1) |
|
|
21 | (2) |
|
|
21 | (1) |
|
|
21 | (1) |
|
|
22 | (1) |
|
Potential evidence stored on mobile phones |
|
|
22 | (1) |
|
|
23 | (1) |
|
|
23 | (1) |
|
|
23 | (1) |
|
|
24 | (1) |
|
|
24 | (1) |
|
|
24 | (1) |
|
|
24 | (1) |
|
|
24 | (1) |
|
|
25 | (1) |
|
|
25 | (1) |
|
|
25 | (1) |
|
|
25 | (2) |
Chapter 2 Understanding the Internals of iOS Devices |
|
27 | (26) |
|
|
28 | (7) |
|
|
35 | (1) |
|
|
36 | (3) |
|
|
39 | (1) |
|
|
40 | (1) |
|
|
40 | (2) |
|
|
41 | (1) |
|
|
42 | (1) |
|
|
43 | (9) |
|
|
44 | (3) |
|
|
44 | (1) |
|
|
44 | (1) |
|
|
45 | (1) |
|
4.x — Game Center and multitasking |
|
|
45 | (1) |
|
|
45 | (1) |
|
|
45 | (1) |
|
7.x — the iPhone 5S and beyond |
|
|
46 | (1) |
|
|
47 | (1) |
|
|
47 | (1) |
|
|
47 | (1) |
|
|
47 | (1) |
|
|
48 | (1) |
|
|
48 | (3) |
|
|
49 | (1) |
|
|
49 | (1) |
|
|
49 | (1) |
|
|
49 | (1) |
|
|
49 | (1) |
|
Address Space Layout Randomization |
|
|
50 | (1) |
|
|
50 | (1) |
|
Stack smashing protection |
|
|
50 | (1) |
|
Data execution prevention |
|
|
50 | (1) |
|
|
50 | (1) |
|
|
50 | (1) |
|
|
51 | (1) |
|
|
51 | (1) |
|
|
52 | (1) |
Chapter 3 Data Acquisition from iOS Devices |
|
53 | (32) |
|
Operating modes of iOS devices |
|
|
53 | (6) |
|
|
54 | (1) |
|
|
55 | (2) |
|
|
57 | (2) |
|
|
59 | (1) |
|
Acquisition via a custom ramdisk |
|
|
59 | (22) |
|
The forensic environment setup |
|
|
61 | (6) |
|
Downloading and installing the Idid tool |
|
|
61 | (1) |
|
Verifying the codesign_allocate tool path |
|
|
62 | (1) |
|
|
62 | (1) |
|
Installing Python modules |
|
|
63 | (2) |
|
Downloading iPhone Data Protection Tools |
|
|
65 | (1) |
|
|
66 | (1) |
|
|
66 | (1) |
|
Creating and loading the forensic toolkit |
|
|
67 | (4) |
|
Downloading the iOS firmware file |
|
|
67 | (1) |
|
|
68 | (1) |
|
Building a custom ramdisk |
|
|
68 | (2) |
|
Booting the custom ramdisk |
|
|
70 | (1) |
|
Establishing communication with the device |
|
|
71 | (1) |
|
|
71 | (3) |
|
Imaging the data partition |
|
|
74 | (2) |
|
Decrypting the data partition |
|
|
76 | (2) |
|
Recovering the deleted data |
|
|
78 | (3) |
|
Acquisition via jailbreaking |
|
|
81 | (3) |
|
|
84 | (1) |
Chapter 4 Data Acquisition from iOS Backups |
|
85 | (28) |
|
|
86 | (21) |
|
|
89 | (1) |
|
Understanding the backup structure |
|
|
90 | (6) |
|
|
92 | (1) |
|
|
92 | (1) |
|
|
93 | (1) |
|
|
93 | (3) |
|
|
96 | (6) |
|
Extracting unencrypted backups |
|
|
97 | (4) |
|
|
101 | (1) |
|
|
102 | (5) |
|
Extracting encrypted backups |
|
|
103 | (2) |
|
|
105 | (2) |
|
|
107 | (4) |
|
Extracting iCloud backups |
|
|
109 | (2) |
|
|
111 | (2) |
Chapter 5 iOS Data Analysis and Recovery |
|
113 | (26) |
|
|
113 | (1) |
|
|
113 | (1) |
|
|
114 | (1) |
|
|
114 | (14) |
|
|
115 | (1) |
|
|
115 | (2) |
|
|
117 | (1) |
|
|
117 | (11) |
|
|
117 | (2) |
|
|
119 | (1) |
|
|
120 | (1) |
|
|
121 | (1) |
|
|
122 | (1) |
|
|
123 | (1) |
|
|
124 | (1) |
|
|
124 | (1) |
|
|
125 | (1) |
|
|
125 | (1) |
|
The web application cache |
|
|
126 | (1) |
|
|
126 | (1) |
|
|
126 | (1) |
|
|
127 | (1) |
|
|
128 | (1) |
|
|
128 | (4) |
|
|
130 | (2) |
|
The HomeDomain plist files |
|
|
130 | (1) |
|
The RootDomain plist files |
|
|
131 | (1) |
|
The WirelessDomain plist files |
|
|
132 | (1) |
|
The SystemPreferencesDomain plist files |
|
|
132 | (1) |
|
|
132 | (4) |
|
|
133 | (1) |
|
|
133 | (1) |
|
|
134 | (1) |
|
|
135 | (1) |
|
|
135 | (1) |
|
|
135 | (1) |
|
|
135 | (1) |
|
Recovering deleted SQLite records |
|
|
136 | (1) |
|
|
137 | (2) |
Chapter 6 iOS Forensic Tools |
|
139 | (20) |
|
Elcomsoft iOS Forensic Toolkit |
|
|
139 | (6) |
|
|
139 | (1) |
|
|
140 | (4) |
|
|
140 | (3) |
|
|
143 | (1) |
|
|
144 | (1) |
|
|
144 | (1) |
|
Oxygen Forensic Suite 2014 |
|
|
145 | (6) |
|
Features of Oxygen Forensic Suite |
|
|
146 | (1) |
|
Usage of Oxygen Forensic Suite |
|
|
146 | (5) |
|
Oxygen Forensic Suite 2014 supported devices |
|
|
151 | (1) |
|
Cellebrite UFED Physical Analyzer |
|
|
151 | (3) |
|
Features of Cellebrite UFED Physical Analyzer |
|
|
151 | (1) |
|
Usage of Cellebrite UFED Physical Analyzer |
|
|
152 | (2) |
|
|
154 | (1) |
|
|
154 | (2) |
|
Features of Paraben iRecovery Stick |
|
|
154 | (1) |
|
Usage of Paraben iRecovery Stick |
|
|
155 | (1) |
|
Devices supported by Paraben iRecovery Stick |
|
|
156 | (1) |
|
Open source or free methods |
|
|
156 | (1) |
|
|
157 | (2) |
Chapter 7 Understanding Android |
|
159 | (18) |
|
|
160 | (4) |
|
|
162 | (1) |
|
|
162 | (1) |
|
|
163 | (1) |
|
The application framework layer |
|
|
164 | (1) |
|
|
164 | (1) |
|
|
164 | (3) |
|
|
165 | (1) |
|
|
165 | (1) |
|
|
166 | (1) |
|
Secure interprocess communication |
|
|
167 | (1) |
|
|
167 | (1) |
|
|
167 | (3) |
|
|
170 | (6) |
|
Viewing file systems on an Android device |
|
|
170 | (4) |
|
Extended File System — EXT |
|
|
174 | (2) |
|
|
176 | (1) |
Chapter 8 Android Forensic Setup and Pre Data Extraction Techniques |
|
177 | (24) |
|
A forensic environment setup |
|
|
177 | (14) |
|
Android Software Development Kit |
|
|
178 | (1) |
|
|
178 | (3) |
|
|
181 | (3) |
|
Connecting an Android device to a workstation |
|
|
184 | (1) |
|
Identifying the device cable |
|
|
184 | (1) |
|
Installing the device drivers |
|
|
185 | (1) |
|
Accessing the connected device |
|
|
185 | (1) |
|
|
186 | (1) |
|
Accessing the device using adb |
|
|
187 | (2) |
|
Detecting connected devices |
|
|
188 | (1) |
|
Killing the local adb server |
|
|
188 | (1) |
|
|
188 | (1) |
|
Handling an Android device |
|
|
189 | (2) |
|
Screen lock bypassing techniques |
|
|
191 | (5) |
|
Using adb to bypass the screen lock |
|
|
191 | (1) |
|
Deleting the gesture.key file |
|
|
192 | (1) |
|
Updating the settings.db file |
|
|
192 | (1) |
|
Checking for the modified recovery mode and adb connection |
|
|
193 | (1) |
|
Flashing a new recovery partition |
|
|
193 | (1) |
|
|
194 | (1) |
|
Using the primary Gmail account |
|
|
194 | (1) |
|
|
195 | (1) |
|
|
196 | (4) |
|
|
196 | (1) |
|
Rooting an Android device |
|
|
197 | (2) |
|
|
199 | (1) |
|
|
200 | (1) |
Chapter 9 Android Data Extraction Techniques |
|
201 | (22) |
|
|
201 | (2) |
|
Data extraction techniques |
|
|
203 | (19) |
|
|
203 | (1) |
|
Using root access to acquire an Android device |
|
|
204 | (2) |
|
|
206 | (11) |
|
Using the adb pull command |
|
|
207 | (1) |
|
Extracting the /data directory on a rooted device |
|
|
208 | (1) |
|
|
209 | (1) |
|
Extracting device information |
|
|
210 | (1) |
|
|
211 | (1) |
|
|
212 | (1) |
|
Extracting browser history |
|
|
213 | (1) |
|
Analysis of social networking/IM chats |
|
|
214 | (1) |
|
|
214 | (3) |
|
|
217 | (4) |
|
|
218 | (1) |
|
|
219 | (2) |
|
Imaging a memory (SD) card |
|
|
221 | (1) |
|
|
222 | (1) |
Chapter 10 Android Data Recovery Techniques |
|
223 | (14) |
|
|
223 | (12) |
|
Recovering the deleted files |
|
|
224 | (14) |
|
Recovering deleted data from an SD card |
|
|
225 | (3) |
|
Recovering data deleted from internal memory |
|
|
228 | (1) |
|
Recovering deleted files by parsing SQLite files |
|
|
229 | (2) |
|
Recovering files using file-carving techniques |
|
|
231 | (4) |
|
|
235 | (2) |
Chapter 11 Android App Analysis and Overview of Forensic Tools |
|
237 | (18) |
|
|
237 | (1) |
|
Reverse engineering Android apps |
|
|
238 | (4) |
|
Extracting an APK file from an Android device |
|
|
239 | (1) |
|
Steps to reverse engineer Android apps |
|
|
240 | (2) |
|
|
242 | (4) |
|
|
243 | (1) |
|
AFLogical Open Source Edition |
|
|
243 | (1) |
|
AFLogical Law Enforcement (LE) |
|
|
244 | (2) |
|
|
246 | (2) |
|
|
246 | (2) |
|
|
248 | (2) |
|
|
250 | (3) |
|
Analyzing an Android in Autopsy |
|
|
251 | (2) |
|
|
253 | (2) |
Chapter 12 Windows Phone Forensics |
|
255 | (16) |
|
|
255 | (4) |
|
|
257 | (1) |
|
|
257 | (1) |
|
|
257 | (2) |
|
Windows Phone file system |
|
|
259 | (1) |
|
|
260 | (10) |
|
Sideloading using ChevronWP7 |
|
|
260 | (2) |
|
|
262 | (9) |
|
|
264 | (1) |
|
|
265 | (3) |
|
Extracting application data |
|
|
268 | (2) |
|
|
270 | (1) |
Chapter 13 BlackBerry Forensics |
|
271 | (24) |
|
|
271 | (4) |
|
|
273 | (2) |
|
|
275 | (6) |
|
Standard acquisition methods |
|
|
275 | (3) |
|
Creating a BlackBerry backup |
|
|
278 | (3) |
|
|
281 | (12) |
|
BlackBerry backup analysis |
|
|
281 | (2) |
|
BlackBerry forensic image analysis |
|
|
283 | (2) |
|
Encrypted BlackBerry backup files |
|
|
285 | (3) |
|
Forensic tools for BlackBerry analysis |
|
|
288 | (5) |
|
|
293 | (2) |
Index |
|
295 | |