========== Set of tools for performing large-scale automated detection of SSL/TLS man-in-the-middle vulnerabilities in Android apps.
==========
- Ubuntu v12.04+
- Apktool v1
- Python v2.7
- Java SDK v1.4+
- Android tools (adb, emulator, android)
==========
-
Decompile apk file using Apktool with folder name equal to the apk file name.
$ cd ~/SMVHunter/apktool $ ./apktool d /location/of/apk/folder/example.apk /location/of/decoded/folder/example.apk
-
Run static analysis to generate list of entry points to vulnerable apk. Output in "output.db" file.
$ cd ~/SMVHunter/static $ python mfg_generator.py /location/of/decoded/folder/example.apk $ cat output.db
-
Generate smart inputs. Output in "smartInput.db" file.
$ cd ~/SMVHunter/smart_input_generation $ python get_field_type.py /location/of/apk/folder/example.apk $ cat smartInput.db
-
Start emulator(s)
$ cd ~/SMVHunter/dynamic $ ./startgoogle.sh <emulator_name>
-
Setup MITM proxy as per Section V.C of paper.
-
Run dynamic analysis.
- Set items "adb.props" file.
$ cd ~/SMVHunter/dynamic $ vi adb.props
- Execute dynamic analysis
$ cd ~/SMVHunter/dynamic $ java -jar smvhunter_dymanic.jar
-
Perform correlative analysis using data in "correlative_analysis" folder as per "adb.props".