Learning Pentesting for Android Devices A practical guide to learning penetration testing for Android devices and applications Aditya Gupta BIRMINGHAM - MUMBAI Learning Pentesting for Android Devices Copyright © 2014 Packt Publishing All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews. Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author, nor Packt Publishing, and its dealers and distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book. Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information. First published: March 2014 Production Reference: 1190314 Published by Packt Publishing Ltd. Livery Place 35 Livery Street Birmingham B3 2PB, UK. ISBN 978-1-78328-898-4 www.packtpub.com Cover Image by Michal Jasej ([email protected]) Credits Author Project Coordinator Aditya Gupta Jomin Varghese Reviewers Proofreaders Seyton Bradford Maria Gould Rui Gonçalo Ameesha Green Glauco Márdano Paul Hindle Elad Shapira Indexer Hemangini Bari Acquisition Editors Nikhil Chinnari Kartikey Pandey Graphics Sheetal Aute Yuvraj Mannari Content Development Editor Priya Singh Production Coordinator Kyle Albuquerque Technical Editors Manan Badani Shashank Desai Cover Work Kyle Albuquerque Akashdeep Kundu Copy Editors Sayanee Mukherjee Karuna Narayanan Alfida Paiva Laxmi Subramanian Foreword Mobile phones are a necessity in our lives and the majority of us have become completely dependent on them in our daily lives. The majority of mobile phones today are running on the Android OS. The main reason for this is the ever growing community of developers and massive number of applications released for the Android OS. However, one mustn't make the mistake of thinking that Android is only used in mobile devices. The Android operating system is commonly used in cars, cameras, refrigerators, televisions, game consoles, smart watches, smart glass, and many other gadgets too. This massive usage is not risk free and the main concern is security. One cannot tell whether the applications that are based on the Android operating system are secure. How can a common user tell if the application they are using is not malicious? Are those applications developed in a way that can be exploited by attackers? This is an important question that must be addressed. We can describe the general picture and challenge in information security by saying that 99.9 percent secure is 100 percent vulnerable. Knowledge is power, and we as security researchers and developers must be in a state of constant learning and researching in order to be up to date with recent attack vectors and trends in matter to stay in the arena and in order to try and predict, as much as possible, the future in that field. This is a never-ending process that relies on valuable resources and materials to make it more efficient. I first met Aditya at the ClubHack conference back in 2011, where both of us gave presentations about mobile security. Immediately after that, I realized that he is an asset when it comes to dealing with mobile security and practically, when dealing with the assessment of mobile applications. The book is an easy read and contains valuable information that, in my opinion, every security researcher and developer who chooses to enter the mobile security field must learn and be aware of. For example, the basics of Android, its security model, architecture, permission model, and how the OS operates. The tools mentioned in the book are the ones that are used by mobile security researchers in the industry and by the mobile security community. On a personal note, my favorite chapters were the ones that discuss Android forensics, which are described as follows: • Chapter 5, Android Forensics, as it goes deeper into the Android filesystem and the reader learns how to extract data from the filesystem • Lesser-known Android attack vectors from Chapter 7, Lesser-known Android Attacks, as the chapter discusses infection vectors, and in particular the WebView component • Chapter 8, ARM Exploitation that focuses on ARM-based exploitation for the Android platform Enjoy researching and the educational learning process! Elad Shapira Mobile Security Researcher About the Author Aditya Gupta is the founder and trainer of Attify, a mobile security firm, and leading mobile security expert and evangelist. Apart from being the lead developer and co-creator of Android framework for exploitation, he has done a lot of in-depth research on the security of mobile devices, including Android, iOS, and Blackberry, as well as BYOD Enterprise Security. He has also discovered serious web application security flaws in websites such as Google, Facebook, PayPal, Apple, Microsoft, Adobe, Skype, and many more. In his previous work at Rediff.com, his main responsibilities were to look after web application security and lead security automation. He also developed several internal security tools for the organization to handle the security issues. In his work with XYSEC, he was committed to perform VAPT and mobile security analysis. He has also worked with various organizations and private clients in India, as well as providing them with training and services on mobile security and exploitation, Exploit Development, and advanced web application hacking. He is also a member of Null—an open security community in India, and an active member and contributor to the regular meetups and Humla sessions at the Bangalore and Mumbai Chapter. He also gives talks and trainings at various security conferences from time to time, such as BlackHat, Syscan, Toorcon, PhDays, OWASP AppSec, ClubHack, Nullcon, and ISACA. Right now he provides application auditing services and training. He can be contacted at [email protected] or @adi1391 on Twitter. Acknowledgments This book wouldn't be in your hands without the contribution of some of the people who worked day and night to make this a success. First of all, a great thanks to the entire team at Packt Publishing especially Ankita, Nikhil, and Priya, for keeping up with me all the time and helping me with the book in every way possible. I would also like to thank my family members for motivating me from time to time, and also for taking care of my poor health due to all work and no sleep for months. Thanks Dad, Mom, and Upasana Di. A special thanks to some of my special friends Harpreet Jolly, Mandal, Baman, Cim Stordal, Rani Rituja, Dev Kar, Palak, Balu Thomas, Silky, and my Rediff Team: Amol, Ramesh, Sumit, Venkata, Shantanu, and Mudit. I would like to thank Subho Halder and Gaurav Rajora, who were with me from the starting days of my career and helped me during the entire learning phase starting from my college days till today. Huge thanks to the team at Null Community—a group of extremely talented and hardworking people when it comes to security including Aseem Jakhar, Anant Srivastava, Ajith (r3dsm0k3), Rahul Sasi, Nishant Das Pattnaik, Riyaz Ahmed, Amol Naik, Manu Zacharia, and Rohit Srivastava. You guys are the best! And finally the people who deserve all the respect for making Android security what it is today with their contributions, and helping me learn more and more each and every day: Joshua Drake (@jduck), Justin Case (@TeamAndIRC), Zuk (@ihackbanme), Saurik (@saurik), Pau Olivia (@pof), Thomas Cannon (@thomas_cannon), Andrew Hoog, Josh (@p0sixninja), and Blake, Georgia (@georgiaweidman). Also, thanks to all the readers and online supporters. About the Reviewers Seyton Bradford is a mobile phone security expert and developer with expertise in iOS and Android. He has a long history of reversing engineering phones, OSes, apps, and filesystems to pen test, recover data, expose vulnerabilities, and break the encryptions. He has developed mobile phone security tools and new techniques, presenting this research across the globe. He has also reviewed Android Security Cookbook, Packt Publishing and many other academic journals. I would like to thank my wife and my family for their continued support in my career, and my children for being a serious amount of fun. I'd also like to thank Thomas Cannon, Pau Oliva, and Scott Alexander-Bown for teaching me most of the Android tricks I know. Rui Gonçalo is finishing his Masters' thesis at the University of Minho, Braga, Portugal, in the field of Android security. He is developing a new feature that aims to provide users with fine-grained control over Internet connections. His passion for mobile security arose from attending lectures on both cryptography and information systems security at the same university, and from several events held by the most important companies of the same field in Portugal. He was also a technical reviewer of the recently launched book Android Security Cookbook, Packt Publishing. I would like to thank my family and friends for their support and best wishes.
Description: