0% found this document useful (0 votes)
840 views28 pages

Mobile Android Hacking

This document provides an overview of mobile hacking on Android devices. It introduces key Android concepts like activities, services, content providers, and broadcast receivers. It explains how these components interact through intents and how they are declared in the Android manifest. It then discusses common vulnerabilities like exported activities, unsecured broadcast receivers, insecure content providers, and intent sniffing. It also mentions sensitive data stored in hardcoded strings or insecure local storage. The document recommends tools for static and dynamic analysis and decompiling apps to find issues. Finally, it provides examples of mobile hacking research from security conferences.

Uploaded by

KhairiBudayawan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
840 views28 pages

Mobile Android Hacking

This document provides an overview of mobile hacking on Android devices. It introduces key Android concepts like activities, services, content providers, and broadcast receivers. It explains how these components interact through intents and how they are declared in the Android manifest. It then discusses common vulnerabilities like exported activities, unsecured broadcast receivers, insecure content providers, and intent sniffing. It also mentions sensitive data stored in hardcoded strings or insecure local storage. The document recommends tools for static and dynamic analysis and decompiling apps to find issues. Finally, it provides examples of mobile hacking research from security conferences.

Uploaded by

KhairiBudayawan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
  • Einleitung
  • Schwachstellen
  • Tools

Mobile

Hacking
Android
Agenda

Einleitung
Ziele
Einfhrung Terminologie

Schwachstellen

Tools

Intern Marko Winkler / Mobile Hacking - Android 15.02.2017 2


Einfhrung - Terminologie

Activities

activity represents a single screen with a user interface


email app might have one activity that shows a list of new emails
another activity to compose an email,
and another activity for reading emails

each one is independent of the others


different app can start any one of these activities (if the email app allows it)
camera app can start the activity in the email app that composes new mail, in order for the user to
share a picture

Intern Marko Winkler / Mobile Hacking - Android 15.02.2017 4


Einfhrung - Terminologie

Services

service is a component that runs in the background to perform long-running operations or to perform
work for remote processes
does not provide a user interface
service might play music in the background while the user is in a different app
might fetch data over the network without blocking user interaction with an activity
another component, such as an activity, can start the service and let it run or bind to it in order to
interact with it

Intern Marko Winkler / Mobile Hacking - Android 15.02.2017 5


Einfhrung - Terminologie

Content providers

content provider manages a shared set of app data


store the data in the file system, an SQLite database, on the web, or any other persistent storage
location your app can access
through the content provider, other apps can query or even modify the data (if the content provider
allows it)
Android system provides a content provider that manages the user's contact information. As such,
any app with the proper permissions can query part of the content provider (such
as ContactsContract.Data) to read and write information about a particular person

Intern Marko Winkler / Mobile Hacking - Android 15.02.2017 6


Einfhrung - Terminologie

Broadcast receivers

broadcast receiver is a component that responds to system-wide broadcast announcements


broadcast announcing that the screen has turned off, the battery is low, or a picture was captured

let other apps know that some data has been downloaded to the device and is available for them to
use
although broadcast receivers don't display a user interface
More commonly, though, a broadcast receiver is just a "gateway" to other components and is
intended to do a very minimal amount of work
broadcast receiver is implemented as a subclass of BroadcastReceiver and each broadcast is
delivered as an Intent object

Intern Marko Winkler / Mobile Hacking - Android 15.02.2017 7


Einfhrung - Terminologie

Intents

activities, services, and broadcast receiversare activated by an asynchronous message called an


intent
Intents bind individual components to each other at runtime
An intent is created with an Intent object, which defines a message to activate either a specific
component or a specific type of componentan intent can be either explicit or implicit, respectively
For activities and services, an intent defines the action to perform
for example, to "view" or "send" something

may specify the URI of the data to act on


among other things that the component being started might need to know

Intern Marko Winkler / Mobile Hacking - Android 15.02.2017 8


Einfhrung - Terminologie

Zusammenfassung
Activity:
different app can start any one of these activities (if the email app allows it)

Service:
another component, such as an activity, can start the service and let it run or bind to it in order to
interact with it
Content providers:
through the content provider, other apps can query or even modify the data (if the content
provider allows it)
Broadcast receivers:
More commonly, though, a broadcast receiver is just a "gateway" to other components

Quelle: https://developer.android.com/guide/components/fundamentals.html

Intern Marko Winkler / Mobile Hacking - Android 15.02.2017 9


Einfhrung - Terminologie

Zusammenfassung
Activity:
different app can start any one of these activities (if the email app allows it)

Service:
another component, such as an activity, can start the service and let it run or bind to it in order to
interact with it
Content providers:
through the content provider, other apps can query or even modify the data (if the content
provider allows it)
Broadcast receivers:
More commonly, though, a broadcast receiver is just a "gateway" to other components

Quelle: https://developer.android.com/guide/components/fundamentals.html

Intern Marko Winkler / Mobile Hacking - Android 15.02.2017 10


Einfhrung - Terminologie

Android Manifest

system must know that the component exists by reading the app's AndroidManifest.xml
Identify any user permissions the app requires, such as Internet access or read-access to the user's
contacts.
Declare the minimum API Level required by the app, based on which APIs the app uses.
Declare hardware and software features used or required by the app, such as a camera, bluetooth
services, or a multitouch screen.
API libraries the app needs to be linked against (other than the Android framework APIs), such as
the Google Maps library.
And more

Intern Marko Winkler / Mobile Hacking - Android 15.02.2017 11


DAS SETUP / Schrfe deine Tools

Intern Marko Winkler / Mobile Hacking - Android 15.02.2017 12


DAS SETUP / Schrfe deine Tools

Intern Marko Winkler / Mobile Hacking - Android 15.02.2017 13


Schwachstellen

Intern Marko Winkler / Mobile Hacking - Android 15.02.2017 14


Activity Exported

Activity

Intern Marko Winkler / Mobile Hacking - Android 15.02.2017 15


Activity Exported

Activity

Intern Marko Winkler / Mobile Hacking - Android 15.02.2017 16


Activity Exported

Activity

Intern Marko Winkler / Mobile Hacking - Android 15.02.2017 17


Broadcast Receiver

Broadcast

Intern Marko Winkler / Mobile Hacking - Android 15.02.2017 18


Broadcast Receiver

Broadcast

Intern Marko Winkler / Mobile Hacking - Android 15.02.2017 19


Broadcast Receiver

Broadcast

Intern Marko Winkler / Mobile Hacking - Android 15.02.2017 20


Content Providers

Intern Marko Winkler / Mobile Hacking - Android 15.02.2017 21


Content Providers

Intern Marko Winkler / Mobile Hacking - Android 15.02.2017 22


Intents

Intent Sniffing

Intern Marko Winkler / Mobile Hacking - Android 15.02.2017 23


Intents

Intent Sniffing

Intern Marko Winkler / Mobile Hacking - Android 15.02.2017 24


Sensitive Data
http://resources.infosecinstitute.com/andr
oid-hacking-security-part-9-insecure-local-
Hardcoded Strings storage-shared-preferences/

Intern Marko Winkler / Mobile Hacking - Android 15.02.2017 25


Tools

Analyse
https://ibotpeaches.github.io/Apktool/
reverse engineering Android apk files

https://github.com/skylot/jadx
Dex to Java Decompiler

https://bitbucket.org/pxb1988/dex2jar/downloads
Read/write the Dalvik Executable (.dex) file
Convert .dex file to .class files
disassemble dex to smali files and assemble dex from smali files

SCA
https://github.com/linkedin/qark
QARK is an easy to use tool capable of finding common security vulnerabilities in Android
applications
Intern Marko Winkler / Mobile Hacking - Android 15.02.2017 26
Flashback

32C3
https://media.ccc.de/v/32c3-7360-un_sicherheit_von_app-basierten_tan-
verfahren_im_onlinebanking#video&t=79
DefCon
Vortrag backdooring the frontdoor
Q: Wie hast du die iPhone App geknackt?
A: Ich habe die Android App decompiliert

Intern Marko Winkler / Mobile Hacking - Android 15.02.2017 29


Quelle

https://github.com/dineshshetty/Android-InsecureBankv2
https://developer.android.com/guide/components/fundamentals.html

Intern Marko Winkler / Mobile Hacking - Android 15.02.2017 30


F
R
A
G
E
N

Mobile 
Hacking 
 
Android
Agenda 
– Intern –                         Marko Winkler / Mobile Hacking - Android 
2 
15.02.2017 
 
 
Einleitung 

Ziele
Einführung - Terminologie 
– Intern –                         Marko Winkler / Mobile Hacking - Android 
4 
15.02.2017 
Activi
Einführung - Terminologie 
– Intern –                         Marko Winkler / Mobile Hacking - Android 
5 
15.02.2017 
Servic
Einführung - Terminologie 
– Intern –                         Marko Winkler / Mobile Hacking - Android 
6 
15.02.2017 
Conten
Einführung - Terminologie 
– Intern –                         Marko Winkler / Mobile Hacking - Android 
7 
15.02.2017 
Broadc
Einführung - Terminologie 
– Intern –                         Marko Winkler / Mobile Hacking - Android 
8 
15.02.2017 
Intent
Einführung - Terminologie 
– Intern –                         Marko Winkler / Mobile Hacking - Android 
9 
15.02.2017 
Zusamm
Einführung - Terminologie 
– Intern –                         Marko Winkler / Mobile Hacking - Android 
10 
15.02.2017 
Zusam
Einführung - Terminologie 
– Intern –                         Marko Winkler / Mobile Hacking - Android 
11 
15.02.2017 
Andro

You might also like