SlideShare a Scribd company logo
Mansih Chasta | CISSP, CHFI, ITIL
   Principal Consultant @ Indusface, India
   Over 6 years experience in Information and
    Application Security
   CISSP, CHFI, ITIL
What comes to any Indian’s mind when
they think of Russia?
Manish Chasta - Securing Android Applications
   Introduction to Android and Mobile Applications
   Working with Android SDK and Emulator
   Setting up GoatDroid Application
   Memory Analysis
   Intercepting Layer 7 traffic
   Reverse Engineering Android Applications
   SQLite Database Analysis
   Demo: ExploitMe application
   Gartner Says:
     8.2 Billion mobile applications have been
      downloaded in 2010
     17.7 Billion by 2011
     185 Billion application will have been downloaded
      by 2014
Manish Chasta - Securing Android Applications
   Most widely used mobile OS
   Developed by Google
   OS + Middleware + Applications
   Android Open Source Project (AOSP) is
    responsible for maintenance and further
    development
Manish Chasta - Securing Android Applications
   Linux kernel with system services:
     Security
     Memory and process management
     Network stack
   Provide driver to access hardware:
       Camera
       Display and audio
       Wifi
       …
   Core Libraries:
     Written in Java
     Provides the functionality of Java programming language
     Interpreted by Dalvik VM
   Dalvik VM:
     Java based VM, a lightweight substitute to JVM
     Unlike JVM, DVM is a register based Virtual Machine
     DVM is optimized to run on limited main memory and less
      CPU usage
     Java code (.class files) converted into .dex format to be
      able to run on Android platform
Manish Chasta - Securing Android Applications
   Thick and Thin Client
   Security Measures
   User Awareness
   Handset / Android Device
   Android SDK and Eclipse
   Emulator
   Wireless Connectivity
   And of course… Application file
   What we need:
       Android SDK
       Eclips
       GoatDroid (Android App from OWASP)
       MySQL
       .Net Framwork
       Proxy tool (Burp)
       Agnitio
       Android Device (Optional)
       SQLitebrowser
Manish Chasta - Securing Android Applications
   Development Environment for Android
    Application Development
   Components:
     SDK Manager
     AVD Manager
     Emulator
   Can be downloaded from :
    developer.android.com/sdk/
   Requires JDK to be installed
   Install Eclipse
   Install ADT Plugin for Eclipse
   Simple Next-next process
   Go to Help->Install new Software
   Click Add
   Give Name as ADT Plugin
   Provide the below address in Location: http://dl-
    ssl.google.com/android/eclipse/
   Press OK
   Check next to ‘Developer Tool’ and press next
   Click next and accept the ‘Terms and Conditions’
   Click Finish
   Now go to Window -> Preferences
   Click on Android in left panel
   Browse the Android SDK directory
   Press OK
Manish Chasta - Securing Android Applications
Manish Chasta - Securing Android Applications
   Click on Start
Manish Chasta - Securing Android Applications
Manish Chasta - Securing Android Applications
   Android Debug Bridge (adb) is a versatile command
    line tool that lets you communicate with an
    emulator instance or connected Android-powered
    device.
   You can find the adb tool in <sdk>/platform-tools/
   Install an application to emulator or device:
   Push data to emulator / device
     adb push <local> <remote>

   Pull data to emulator / device

     adb pull <remote> <local>
   Remote - > Emulator and Local -> Machine
   Getting Shell of Emulator or Device

     adb shell

   Reading Logs

     adb logcat
   Reading SQLite3 database

     adb shell

     Go to the path

     SQLite3 database_name.db

     .dump to see content of the db file and .schema to print the
      schema of the database on the screen
   Reading Logs

     adb logcat
Manish Chasta - Securing Android Applications
   What is Android Rooting?
Step 1: Download CF Rooted Kernel
        files and Odin3 Software
   Step 2: Keep handset on debugging mode
   Step 3: Run Odin3
   Step 4: Reboot the phone in download mode
   Step 5: Connect to the PC
   Step 6: Select required file i.e: PDA, Phone, CSC files
   Step 7: Click on Auto Reboot and F. Reset Time and hit Start button
   If your phone is Rooted... You will see PASS!! In Odin3
   Terminal Emulator
   Proxy tool (transproxy)
   Both Android Phone and laptop (machine to be used
    in auditing) needs to be in same wireless LAN.
   Provide Laptops IP address and port where proxy is
    listening in proxy tool (transproxy) installed in
    machine.
   Burp is a HTTP proxy tool
   Able to intercept layer 7 traffic and allows
    users to manipulate the HTTP Requests and
    Response
   DD Command:

     dd if=filename.xyz of=/sdcard/SDA.dd

   Application path on Android Device:

     /data/data/com.application_name
Manish Chasta - Securing Android Applications
Manish Chasta - Securing Android Applications
Manish Chasta - Securing Android Applications
   Install MySQL
   Install fourgoats database.
   Create a user with name as "goatboy", password as
    "goatdroid" and Limit Connectivity to Hosts
    Matching "localhost". Also "goatboy" needs to
    have insert, delete, update, select on fourgoats
    database.
   Run goatdroid-beta-v0.1.2.jar file
   Set the path for Android SDK Root directory
    and Virtual Devices:
     Click Configure -> edit and click on Android tab
     Set path for Android SDK, typically it should be
      ▪ C:Program FilesAndroidandroid-sdk
     Set path for Virtual Devices, typically it should be
      ▪ C:Documents and SettingsManishandroidavd
   Start web services
   Start emulator through GoatDroid jar file
   Push / Install the application to Device
   Run FourGoat application from emulator
   Click on Menu and then click on Destination Info
   Provide following information in required fields:
     Server: 10.0.2.2 and Port 8888
Demo / Hands On
   Assuming FourGoat is already installed
   Run goatdroid-beta-v0.1.2.jar file and start web services
   Start any HTTP Proxy (Burp) tool on port 7000
   Configure Burp to forward the incoming traffic to port
    8888
   Start emulator from command line by giving following
    command:
     emulator –avd test2 –http-proxy 127.0.0.1:7000
   Open the FourGoat application in emulator
   Click on Mene to set Destination Info
   Set Destination Info as below:
     Server: 10.0.2.2 and port as 7000

   Now see if you are able to intercept the trrafic
    in Burp 
Demo / Hands On
Demo / Hands On
Demo / Hands On
Demo / Hands On
•   Install the app in Android device
•   Set the destination info as below:
     • Server: IP address (WLAN) of your laptop
       and port as 8888 (incase no proxy is
       listening)
•   Memory Analysis through Terminal Emulator
    and DD command
Next Topic
Manish Chasta - Securing Android Applications
   Vulnerabilities can be found through Reverse
    Engineering :
     Vulnerabilities in Source Code

     Re-compile the application

     Commented Code

     Hard coded information
   Dex to jar (dex2jar)
     C:dex2jar-versiondex2jar.bat someApk.apk

   Open code files in any Java decompile
Demo / Hands On
   Mobile Application Coder Review tool
   Install: Next-Next process
   Can analyze Codebase as well as .apk file
Demo / Hands On
Manish Chasta - Securing Android Applications
   SQLite Database:
     SQLite is a widely used, lightweight database

     Used by most mobile OS i.e. iPhone, Android, Symbian,
      webOS
     SQLite is a free to use and open source database

     Zero-configuration - no setup or administration needed.

     A complete database is stored in a single cross-platform
      disk file.
   Pull the .db files out of the emulator / Device
    as explained eirler
   Tools
     SQLite browser
     Epilog
Demo / Hands On
Manish Chasta - Securing Android Applications
Demo / Hands On
Спасибо

       Manish Chasta
           Email: manish.chasta@owasp.org
         Twitter: twitter.com/manish_chasta
LinkedIn: http://www.linkedin.com/pub/dir/Manish/Chasta

More Related Content

PDF
Android Bluetooth Introduction
PPSX
ANDROID
PPTX
Connected World in android - Local data sharing and service discovery
PPTX
Zeelogic android-training-2013
PPTX
Android Overview
PPT
Asp dot net
PPTX
Permission in Android Security: Threats and solution
PPT
BPotter-L1-05
Android Bluetooth Introduction
ANDROID
Connected World in android - Local data sharing and service discovery
Zeelogic android-training-2013
Android Overview
Asp dot net
Permission in Android Security: Threats and solution
BPotter-L1-05

What's hot (20)

PPT
PPTX
Android Presentation
PDF
International Journal of Engineering Research and Development
PPT
Android presentation
DOC
RalphRes_12_29
PPT
Introduction to Mobile Application Development
PPT
PDF
Building Custom Android Malware BruCON 2013
PPT
Multi-Configuration support in MTJ
PPT
Sandboxing (Distributed computing)
PDF
56_Implementation
PDF
Android
PDF
Android and its feature
PDF
Wifi Direct Based Chat And File Transfer Android Application
PDF
Reverse engineering and modifying windows 8 apps
PDF
Android NDK: Entrando no Mundo Nativo
PPT
Mobile Java
PPT
SynapseIndia mobile apps deployment framework architecture
PPTX
Windows Phone Application Penetration Testing
Android Presentation
International Journal of Engineering Research and Development
Android presentation
RalphRes_12_29
Introduction to Mobile Application Development
Building Custom Android Malware BruCON 2013
Multi-Configuration support in MTJ
Sandboxing (Distributed computing)
56_Implementation
Android
Android and its feature
Wifi Direct Based Chat And File Transfer Android Application
Reverse engineering and modifying windows 8 apps
Android NDK: Entrando no Mundo Nativo
Mobile Java
SynapseIndia mobile apps deployment framework architecture
Windows Phone Application Penetration Testing
Ad

Similar to Manish Chasta - Securing Android Applications (20)

PPTX
Mobile application security
PPTX
Mobile Application Security
PDF
Securing Android Applications
PDF
Android Hacking
PPTX
Hacker Halted 2014 - Reverse Engineering the Android OS
PPTX
Mobile security part 1(Android Apps Pentesting)- Romansh yadav
PPTX
Android Development Workshop
PDF
Introduction to Android Development and Security
PPTX
Android village @nullcon 2012
PPTX
Make Mobile Apps Quickly
PDF
Day1 before getting_started
PPTX
Make Cross-platform Mobile Apps Quickly - SIGGRAPH 2014
PPTX
Android and android phones
PPT
Android-Tutorial.ppt
PPT
Android tutorial
PPT
Android overview part2
PDF
Introduction of android
PDF
[CCDD2013w] Coming to grips with deving for android by 蔡亦恒
PDF
Android App Development 01 : Getting Start
Mobile application security
Mobile Application Security
Securing Android Applications
Android Hacking
Hacker Halted 2014 - Reverse Engineering the Android OS
Mobile security part 1(Android Apps Pentesting)- Romansh yadav
Android Development Workshop
Introduction to Android Development and Security
Android village @nullcon 2012
Make Mobile Apps Quickly
Day1 before getting_started
Make Cross-platform Mobile Apps Quickly - SIGGRAPH 2014
Android and android phones
Android-Tutorial.ppt
Android tutorial
Android overview part2
Introduction of android
[CCDD2013w] Coming to grips with deving for android by 蔡亦恒
Android App Development 01 : Getting Start
Ad

More from Positive Hack Days (20)

PPTX
Инструмент ChangelogBuilder для автоматической подготовки Release Notes
PPTX
Как мы собираем проекты в выделенном окружении в Windows Docker
PPTX
Типовая сборка и деплой продуктов в Positive Technologies
PPTX
Аналитика в проектах: TFS + Qlik
PPTX
Использование анализатора кода SonarQube
PPTX
Развитие сообщества Open DevOps Community
PPTX
Методика определения неиспользуемых ресурсов виртуальных машин и автоматизаци...
PPTX
Автоматизация построения правил для Approof
PDF
Мастер-класс «Трущобы Application Security»
PDF
Формальные методы защиты приложений
PDF
Эвристические методы защиты приложений
PDF
Теоретические основы Application Security
PPTX
От экспериментального программирования к промышленному: путь длиной в 10 лет
PDF
Уязвимое Android-приложение: N проверенных способов наступить на грабли
PPTX
Требования по безопасности в архитектуре ПО
PDF
Формальная верификация кода на языке Си
PPTX
Механизмы предотвращения атак в ASP.NET Core
PDF
SOC для КИИ: израильский опыт
PDF
Honeywell Industrial Cyber Security Lab & Services Center
PDF
Credential stuffing и брутфорс-атаки
Инструмент ChangelogBuilder для автоматической подготовки Release Notes
Как мы собираем проекты в выделенном окружении в Windows Docker
Типовая сборка и деплой продуктов в Positive Technologies
Аналитика в проектах: TFS + Qlik
Использование анализатора кода SonarQube
Развитие сообщества Open DevOps Community
Методика определения неиспользуемых ресурсов виртуальных машин и автоматизаци...
Автоматизация построения правил для Approof
Мастер-класс «Трущобы Application Security»
Формальные методы защиты приложений
Эвристические методы защиты приложений
Теоретические основы Application Security
От экспериментального программирования к промышленному: путь длиной в 10 лет
Уязвимое Android-приложение: N проверенных способов наступить на грабли
Требования по безопасности в архитектуре ПО
Формальная верификация кода на языке Си
Механизмы предотвращения атак в ASP.NET Core
SOC для КИИ: израильский опыт
Honeywell Industrial Cyber Security Lab & Services Center
Credential stuffing и брутфорс-атаки

Recently uploaded (20)

PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Encapsulation theory and applications.pdf
PDF
Electronic commerce courselecture one. Pdf
PDF
NewMind AI Weekly Chronicles - August'25 Week I
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PPTX
Cloud computing and distributed systems.
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
Modernizing your data center with Dell and AMD
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPTX
Big Data Technologies - Introduction.pptx
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Review of recent advances in non-invasive hemoglobin estimation
Chapter 3 Spatial Domain Image Processing.pdf
Network Security Unit 5.pdf for BCA BBA.
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Encapsulation theory and applications.pdf
Electronic commerce courselecture one. Pdf
NewMind AI Weekly Chronicles - August'25 Week I
The AUB Centre for AI in Media Proposal.docx
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Cloud computing and distributed systems.
Agricultural_Statistics_at_a_Glance_2022_0.pdf
NewMind AI Monthly Chronicles - July 2025
Modernizing your data center with Dell and AMD
Dropbox Q2 2025 Financial Results & Investor Presentation
Encapsulation_ Review paper, used for researhc scholars
Diabetes mellitus diagnosis method based random forest with bat algorithm
Big Data Technologies - Introduction.pptx

Manish Chasta - Securing Android Applications

  • 1. Mansih Chasta | CISSP, CHFI, ITIL
  • 2. Principal Consultant @ Indusface, India  Over 6 years experience in Information and Application Security  CISSP, CHFI, ITIL
  • 3. What comes to any Indian’s mind when they think of Russia?
  • 5. Introduction to Android and Mobile Applications  Working with Android SDK and Emulator  Setting up GoatDroid Application  Memory Analysis  Intercepting Layer 7 traffic  Reverse Engineering Android Applications  SQLite Database Analysis  Demo: ExploitMe application
  • 6. Gartner Says:  8.2 Billion mobile applications have been downloaded in 2010  17.7 Billion by 2011  185 Billion application will have been downloaded by 2014
  • 8. Most widely used mobile OS  Developed by Google  OS + Middleware + Applications  Android Open Source Project (AOSP) is responsible for maintenance and further development
  • 10. Linux kernel with system services:  Security  Memory and process management  Network stack  Provide driver to access hardware:  Camera  Display and audio  Wifi  …
  • 11. Core Libraries:  Written in Java  Provides the functionality of Java programming language  Interpreted by Dalvik VM  Dalvik VM:  Java based VM, a lightweight substitute to JVM  Unlike JVM, DVM is a register based Virtual Machine  DVM is optimized to run on limited main memory and less CPU usage  Java code (.class files) converted into .dex format to be able to run on Android platform
  • 13. Thick and Thin Client  Security Measures  User Awareness
  • 14. Handset / Android Device  Android SDK and Eclipse  Emulator  Wireless Connectivity  And of course… Application file
  • 15. What we need:  Android SDK  Eclips  GoatDroid (Android App from OWASP)  MySQL  .Net Framwork  Proxy tool (Burp)  Agnitio  Android Device (Optional)  SQLitebrowser
  • 17. Development Environment for Android Application Development  Components:  SDK Manager  AVD Manager  Emulator
  • 18. Can be downloaded from : developer.android.com/sdk/  Requires JDK to be installed  Install Eclipse  Install ADT Plugin for Eclipse
  • 19. Simple Next-next process
  • 20. Go to Help->Install new Software  Click Add  Give Name as ADT Plugin  Provide the below address in Location: http://dl- ssl.google.com/android/eclipse/  Press OK  Check next to ‘Developer Tool’ and press next  Click next and accept the ‘Terms and Conditions’  Click Finish
  • 21. Now go to Window -> Preferences  Click on Android in left panel  Browse the Android SDK directory  Press OK
  • 24. Click on Start
  • 27. Android Debug Bridge (adb) is a versatile command line tool that lets you communicate with an emulator instance or connected Android-powered device.  You can find the adb tool in <sdk>/platform-tools/
  • 28. Install an application to emulator or device:
  • 29. Push data to emulator / device  adb push <local> <remote>  Pull data to emulator / device  adb pull <remote> <local>  Remote - > Emulator and Local -> Machine
  • 30. Getting Shell of Emulator or Device  adb shell  Reading Logs  adb logcat
  • 31. Reading SQLite3 database  adb shell  Go to the path  SQLite3 database_name.db  .dump to see content of the db file and .schema to print the schema of the database on the screen  Reading Logs  adb logcat
  • 33. What is Android Rooting?
  • 34. Step 1: Download CF Rooted Kernel files and Odin3 Software
  • 35. Step 2: Keep handset on debugging mode
  • 36. Step 3: Run Odin3
  • 37. Step 4: Reboot the phone in download mode  Step 5: Connect to the PC
  • 38. Step 6: Select required file i.e: PDA, Phone, CSC files  Step 7: Click on Auto Reboot and F. Reset Time and hit Start button
  • 39. If your phone is Rooted... You will see PASS!! In Odin3
  • 40. Terminal Emulator  Proxy tool (transproxy)
  • 41. Both Android Phone and laptop (machine to be used in auditing) needs to be in same wireless LAN.  Provide Laptops IP address and port where proxy is listening in proxy tool (transproxy) installed in machine.
  • 42. Burp is a HTTP proxy tool  Able to intercept layer 7 traffic and allows users to manipulate the HTTP Requests and Response
  • 43. DD Command:  dd if=filename.xyz of=/sdcard/SDA.dd  Application path on Android Device:  /data/data/com.application_name
  • 47. Install MySQL  Install fourgoats database.  Create a user with name as "goatboy", password as "goatdroid" and Limit Connectivity to Hosts Matching "localhost". Also "goatboy" needs to have insert, delete, update, select on fourgoats database.
  • 48. Run goatdroid-beta-v0.1.2.jar file  Set the path for Android SDK Root directory and Virtual Devices:  Click Configure -> edit and click on Android tab  Set path for Android SDK, typically it should be ▪ C:Program FilesAndroidandroid-sdk  Set path for Virtual Devices, typically it should be ▪ C:Documents and SettingsManishandroidavd
  • 49. Start web services  Start emulator through GoatDroid jar file  Push / Install the application to Device  Run FourGoat application from emulator  Click on Menu and then click on Destination Info  Provide following information in required fields:  Server: 10.0.2.2 and Port 8888
  • 51. Assuming FourGoat is already installed  Run goatdroid-beta-v0.1.2.jar file and start web services  Start any HTTP Proxy (Burp) tool on port 7000  Configure Burp to forward the incoming traffic to port 8888  Start emulator from command line by giving following command:  emulator –avd test2 –http-proxy 127.0.0.1:7000
  • 52. Open the FourGoat application in emulator  Click on Mene to set Destination Info  Set Destination Info as below:  Server: 10.0.2.2 and port as 7000  Now see if you are able to intercept the trrafic in Burp 
  • 57. Install the app in Android device • Set the destination info as below: • Server: IP address (WLAN) of your laptop and port as 8888 (incase no proxy is listening) • Memory Analysis through Terminal Emulator and DD command
  • 60. Vulnerabilities can be found through Reverse Engineering :  Vulnerabilities in Source Code  Re-compile the application  Commented Code  Hard coded information
  • 61. Dex to jar (dex2jar)  C:dex2jar-versiondex2jar.bat someApk.apk  Open code files in any Java decompile
  • 63. Mobile Application Coder Review tool  Install: Next-Next process  Can analyze Codebase as well as .apk file
  • 66. SQLite Database:  SQLite is a widely used, lightweight database  Used by most mobile OS i.e. iPhone, Android, Symbian, webOS  SQLite is a free to use and open source database  Zero-configuration - no setup or administration needed.  A complete database is stored in a single cross-platform disk file.
  • 67. Pull the .db files out of the emulator / Device as explained eirler  Tools  SQLite browser  Epilog
  • 71. Спасибо Manish Chasta Email: manish.chasta@owasp.org Twitter: twitter.com/manish_chasta LinkedIn: http://www.linkedin.com/pub/dir/Manish/Chasta

Editor's Notes

  • #7: The figure have reached 17.7 Billion which is 117% increase compared to applications downloaded in 2010