Android Application Penetration testing Part 2

[jpshare]With my last article(Android Application Penetration testing Part 1) we had look on basic architecture of the android device. Now Let’s collect some android application Pen-test tools and build a setup for hacking:

There are many tools for an android application penetration test, But which tools are used for which purpose and which details we can extract from it is the most important thing.

We can also use set of all tools built in some framework. They all are available as open source

Appuse, Appie, Santoku, Pentestbox, MobSF etc.

Let’s start with Appuse

AppUse is a VM (Virtual Machine) developed by AppSec Labs. It is a unique platform for mobile application security testing in the Android environment and includes exclusive custom-made tools created by AppSec Labs. Free version is sufficient

https://appsec-labs.com/appuse-pro/ Appuse dashboard-

Emulator

It is built in Appuse framework or else external rooted mobile device can be attached and tested. Launching emulator will give you virtual device.

Android Application Penetration testing Part 2

Root Device: It will root emulator device and give sudo access by using superuser.apk

Open ADB shell: It will open ADB shell

Mobile device can be connected to App use if you don’t want to use emulator

Step1: On mobile device enable USB debugging and connect to the machine

Step2: adb devices will show you attached devices

Android Application Penetration testing Part 2

Tools:

Some basic tools for pentesting which will be useful in many test cases are already there for you. You just have to click on the tool

Android Application Penetration testing Part 2

  • Burp Suite  Burp Suite is the leading software for web security testing. It is a proxy tool which will help to intercept request between client and server.
  • Wireshark It is network traffic capture tool which will give a clear picture on packets on the network.
  • IDA – IDA is a Windows, Linux or Mac OS X hosted multi-processor disassembler and debugger
  • Eclipse – Eclipse provides IDEs and platforms for nearly every language and architecture
  • NetBeans – It is free source use to develop desktop, mobile and web applications With Java, JavaScript, HTML5, PHP, C/C++ etc.
  • Firefox browser– because its hackers browser 😉
  • SQLite browser – It uses to see database files
  • Nmap – network scanner we can install it as it is an open source

Reversing of .apk file

For reverse engineering and many Pentest tools are already built in App use.

Tools:

Click on load APK if you want to load .apk file which is already installed in device/emulator. Else you can select .apk file from Local i.e. from the base machine. Google play option is also available.

  • Mainly we will be decoding an APK file for that we need to run apktool d filename.apk. After running that, it will create a folder in the same directory with decompiled files in it. Or another way, in app, use it all linked up with the dashboard which we can use directly.

Concept

Apk file is a zip file. Zip file consists of XML and other android application resources. Apktools decodes the resource files and converts the android bytecode into assembly level small files. Dex2jar converts the dex files into java bytecode file archived inside the jar file. JD GUI and Luyten decompiles java byte code to java source code file.

  • After installing or selecting .apk file, we can View android manifest file by clicking view Manifest.

Dalvik Virtual Machine does not use java bytecode. Instead, it uses its own file format called dex (Dalvik Executable Format). It holds the definition of multiple classes and relative data.

  • Smali /Baksmali is reassembler / disassembler for dex file format respectively.
  • Save java sources – The dex2jar tool is used to decode the .dex file to a .jar file
  • JD-GUI is a standalone graphical utility that displays Java source codes of “.class” files.

Drozer

It is not in built-in app use you can install with guidance of below link

https://labs.mwrinfosecurity.com/assets/BlogFiles/mwri-drozer-user-guide-2015-03-23.pdf

Drozer allows you to assume the role of an Android app and interact with other apps. It can do anything that an installed application can do, such as make use of Android’s Inter-Process Communication (IPC) mechanism and interact with the underlying operating system.

Reference
https://appsec-labs.com/
https://labs.mwrinfosecurity.com/tools/drozer/

                Please Stay tuned for upcoming parts

Also Read

Must Read