Remoting Android Applications For Fun and Profit
Remoting Android Applications For Fun and Profit
Fino architecture
Exploring and reversing
DTMF Fuzzing
Fun & profit
Conclusion
Hack In Paris
June 20, 2013
Damien Cauquil, Pierre Jaury Remoting Android applications for fun & profit 1 / 30
Android remoting 101
Fino architecture
Exploring and reversing
DTMF Fuzzing
Fun & profit
Conclusion
Introduction
Damien Cauquil
Company Sysdream (head of research)
Twitter @virtualabs
Blog http://virtualabs.fr
Pierre Jaury
Company Sysdream
Twitter @kaiyou
Blog http://kaiyou.fr
Sysdream, IT security services
Location Paris, France
Website http://sysdream.com
Damien Cauquil, Pierre Jaury Remoting Android applications for fun & profit 2 / 30
Table Of Contents
2 Fino architecture
4 DTMF Fuzzing
2 Fino architecture
4 DTMF Fuzzing
Damien Cauquil, Pierre Jaury Remoting Android applications for fun & profit 5 / 30
Android remoting 101
Fino architecture
To debug or not to debug
Exploring and reversing
Remoting vs. Debugging
DTMF Fuzzing
Root?
Fun & profit
Conclusion
Damien Cauquil, Pierre Jaury Remoting Android applications for fun & profit 6 / 30
Android remoting 101
Fino architecture
To debug or not to debug
Exploring and reversing
Remoting vs. Debugging
DTMF Fuzzing
Root?
Fun & profit
Conclusion
How?
Through the injection of a service running inside the
application context
Compatible with Android > 2.0
Remotely controlled over the service API
Limitations:
Cannot send your private information to the NSA
Can only interact with known and launched activities or
services
Cannot interact with native applications
Damien Cauquil, Pierre Jaury Remoting Android applications for fun & profit 7 / 30
Android remoting 101
Fino architecture
To debug or not to debug
Exploring and reversing
Remoting vs. Debugging
DTMF Fuzzing
Root?
Fun & profit
Conclusion
Root?
Where we go, we dont need root.
Damien Cauquil, Pierre Jaury Remoting Android applications for fun & profit 8 / 30
Fino architecture
2 Fino architecture
Application components
General overview
4 DTMF Fuzzing
Application components
Components. . . so many components
Damien Cauquil, Pierre Jaury Remoting Android applications for fun & profit 10 / 30
Android remoting 101
Fino architecture
Exploring and reversing Application components
DTMF Fuzzing General overview
Fun & profit
Conclusion
General overview
Damien Cauquil, Pierre Jaury Remoting Android applications for fun & profit 11 / 30
Exploring and reversing
2 Fino architecture
4 DTMF Fuzzing
Damien Cauquil, Pierre Jaury Remoting Android applications for fun & profit 13 / 30
Android remoting 101
Fino architecture
Getting the original APK
Exploring and reversing
Injecting
DTMF Fuzzing
Installing
Fun & profit
Conclusion
Injecting
Damien Cauquil, Pierre Jaury Remoting Android applications for fun & profit 14 / 30
Android remoting 101
Fino architecture
Getting the original APK
Exploring and reversing
Injecting
DTMF Fuzzing
Installing
Fun & profit
Conclusion
Installing
Then have fun!
Damien Cauquil, Pierre Jaury Remoting Android applications for fun & profit 15 / 30
DTMF Fuzzing
2 Fino architecture
4 DTMF Fuzzing
IVR testing
Android as an IVR testing platform
Creating the system application
Dial, send DTMF and record conversation
Sign and install
Lets fuzz !
IVR testing
What is DTMF fuzzing about?
Damien Cauquil, Pierre Jaury Remoting Android applications for fun & profit 17 / 30
Android remoting 101 IVR testing
Fino architecture Android as an IVR testing platform
Exploring and reversing Creating the system application
DTMF Fuzzing Dial, send DTMF and record conversation
Fun & profit Sign and install
Conclusion Lets fuzz !
Damien Cauquil, Pierre Jaury Remoting Android applications for fun & profit 18 / 30
Android remoting 101 IVR testing
Fino architecture Android as an IVR testing platform
Exploring and reversing Creating the system application
DTMF Fuzzing Dial, send DTMF and record conversation
Fun & profit Sign and install
Conclusion Lets fuzz !
Damien Cauquil, Pierre Jaury Remoting Android applications for fun & profit 19 / 30
Android remoting 101 IVR testing
Fino architecture Android as an IVR testing platform
Exploring and reversing Creating the system application
DTMF Fuzzing Dial, send DTMF and record conversation
Fun & profit Sign and install
Conclusion Lets fuzz !
1
http://virtualabs.fr/msi/android-core-hacking.pdf
Damien Cauquil, Pierre Jaury Remoting Android applications for fun & profit 20 / 30
Android remoting 101 IVR testing
Fino architecture Android as an IVR testing platform
Exploring and reversing Creating the system application
DTMF Fuzzing Dial, send DTMF and record conversation
Fun & profit Sign and install
Conclusion Lets fuzz !
import com.android.internal.telephony.*;
Get a Phone instance with a line of Java
<activity android:process=com.android.phone/>
Damien Cauquil, Pierre Jaury Remoting Android applications for fun & profit 21 / 30
Android remoting 101 IVR testing
Fino architecture Android as an IVR testing platform
Exploring and reversing Creating the system application
DTMF Fuzzing Dial, send DTMF and record conversation
Fun & profit Sign and install
Conclusion Lets fuzz !
Damien Cauquil, Pierre Jaury Remoting Android applications for fun & profit 22 / 30
Android remoting 101 IVR testing
Fino architecture Android as an IVR testing platform
Exploring and reversing Creating the system application
DTMF Fuzzing Dial, send DTMF and record conversation
Fun & profit Sign and install
Conclusion Lets fuzz !
Damien Cauquil, Pierre Jaury Remoting Android applications for fun & profit 23 / 30
Android remoting 101 IVR testing
Fino architecture Android as an IVR testing platform
Exploring and reversing Creating the system application
DTMF Fuzzing Dial, send DTMF and record conversation
Fun & profit Sign and install
Conclusion Lets fuzz !
# adb remount
# adb push DTMFuzz.apk /system/app/
Damien Cauquil, Pierre Jaury Remoting Android applications for fun & profit 24 / 30
Android remoting 101 IVR testing
Fino architecture Android as an IVR testing platform
Exploring and reversing Creating the system application
DTMF Fuzzing Dial, send DTMF and record conversation
Fun & profit Sign and install
Conclusion Lets fuzz !
Lets fuzz !
1*#098675#**0875#*747654765
Damien Cauquil, Pierre Jaury Remoting Android applications for fun & profit 25 / 30
Fun & profit
2 Fino architecture
4 DTMF Fuzzing
Uploading macros
Compiled to dex, packed as apk
Shipped over the network
Class loaded or replaced dynamically
Damien Cauquil, Pierre Jaury Remoting Android applications for fun & profit 27 / 30
Android remoting 101
Fino architecture
Exploring and reversing Uploading macros
DTMF Fuzzing Lets cheat!
Fun & profit
Conclusion
Lets cheat!
Sounds like good old times
Damien Cauquil, Pierre Jaury Remoting Android applications for fun & profit 28 / 30
Android remoting 101
Fino architecture
Exploring and reversing
DTMF Fuzzing
Fun & profit
Conclusion
Conclusion
Fino github.com/sysdream/fino
Gadget github.com/sysdream/gadget
Client github.com/sysdream/gadget-client
Damien Cauquil, Pierre Jaury Remoting Android applications for fun & profit 29 / 30
Android remoting 101
Fino architecture
Exploring and reversing
DTMF Fuzzing
Fun & profit
Conclusion
Conclusion
Damien Cauquil, Pierre Jaury Remoting Android applications for fun & profit 30 / 30