All Projects → mzfr → Slicer

mzfr / Slicer

Licence: gpl-3.0
A tool to automate the boring process of APK recon

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to Slicer

apk-decompiler
Small Rust utility to decompile Android apks
Stars: ✭ 48 (-75.88%)
Mutual labels:  apk, apktool
Diggy
Extract endpoints from apk files.
Stars: ✭ 654 (+228.64%)
Mutual labels:  apk, apktool
Apkshellext
Show app icons in windows explorer
Stars: ✭ 316 (+58.79%)
Mutual labels:  apk, apktool
Apkmod
Apkmod can decompile, recompile, sign APK, and bind the payload with any legit APP
Stars: ✭ 235 (+18.09%)
Mutual labels:  apk, apktool
Hackapk
An Advanced Tool For Complete Apk-Modding In Termux ...
Stars: ✭ 180 (-9.55%)
Mutual labels:  apk, apktool
ApkDecompiler
【Linux系统】上apk反编译助手,已打包为ApkDecompiler.deb,支持debian系linux,如debian、ubuntu、mint、deepin等等
Stars: ✭ 34 (-82.91%)
Mutual labels:  apk, apktool
Decompile Apk
🔥 Decompile APK(反编译APK)
Stars: ✭ 464 (+133.17%)
Mutual labels:  apk, apktool
apkizer
apkizer is a mass downloader for android applications for all available versions.
Stars: ✭ 40 (-79.9%)
Mutual labels:  apk, bugbounty
Apk Changer
Command line program for modifying apk files
Stars: ✭ 122 (-38.69%)
Mutual labels:  apk, apktool
Apk Mitm
🤖 A CLI application that automatically prepares Android APK files for HTTPS inspection
Stars: ✭ 893 (+348.74%)
Mutual labels:  apk, apktool
Android Crack Tool
🐞Android crack tool For Mac
Stars: ✭ 2,666 (+1239.7%)
Mutual labels:  apk, apktool
Apkleaks
Scanning APK file for URIs, endpoints & secrets.
Stars: ✭ 2,707 (+1260.3%)
Mutual labels:  apk, bugbounty
Obfuscapk
An automatic obfuscation tool for Android apps that works in a black-box fashion, supports advanced obfuscation features and has a modular architecture easily extensible with new techniques
Stars: ✭ 456 (+129.15%)
Mutual labels:  apk, apktool
Fakerandroid
A tool translate a apk file to stantard android project include so hook api and il2cpp c++ scaffolding when apk is a unity il2cpp game. Write code on a apk file elegantly.
Stars: ✭ 695 (+249.25%)
Mutual labels:  apk, apktool
Backdoor Apk
backdoor-apk is a shell script that simplifies the process of adding a backdoor to any Android APK file. Users of this shell script should have working knowledge of Linux, Bash, Metasploit, Apktool, the Android SDK, smali, etc. This shell script is provided as-is without warranty of any kind and is intended for educational purposes only.
Stars: ✭ 1,766 (+787.44%)
Mutual labels:  apk, apktool
Apktool
A tool for reverse engineering Android apk files
Stars: ✭ 12,978 (+6421.61%)
Mutual labels:  apk, apktool
Jwt Hack
🔩 jwt-hack is tool for hacking / security testing to JWT. Supported for En/decoding JWT, Generate payload for JWT attack and very fast cracking(dict/brutefoce)
Stars: ✭ 172 (-13.57%)
Mutual labels:  bugbounty
3klcon
Automation Recon tool which works with Large & Medium scopes. It performs more than 20 tasks and gets back all the results in separated files.
Stars: ✭ 189 (-5.03%)
Mutual labels:  bugbounty
Taie Bugbounty Killer
挖掘国内外漏洞平台必备的自动化捡钱赏金技巧,看了并去做了捡钱如喝水。
Stars: ✭ 175 (-12.06%)
Mutual labels:  bugbounty
Tuktuk
Tool for catching and logging different types of requests.
Stars: ✭ 174 (-12.56%)
Mutual labels:  bugbounty

License: GPL v3 verion: 1.14 platform

Slicer

A tool to automate the recon process on an APK file.

Slicer accepts a path to an extracted APK file and then returns all the activities, receivers, and services which are exported and have null permissions and can be externally provoked.

Note: The APK has to be extracted via jadx or apktool.

Table of Content

Summary

Why?

I started bug bounty like 3 weeks ago(in June 2020) and I have been trying my best on android apps. But I noticed one thing that in all the apps there were certain things which I have to do before diving in deep. So I just thought it would be nice to automate that process with a simple tool.

Why not drozer?

Well, drozer is a different beast. Even though it does finds out all the accessible components but I was tired of running those commands again and again.

Why not automate using drozer?

I actually wrote a bash script for running certain drozer commands so I won't have to run them manually but there was still some boring stuff that had to be done. Like Checking the strings.xml for various API keys, testing if firebase DB was publically accessible or if those google API keys have setup any cap or anything on their usage and lot of other stuff.

Why not search all the files?

I think that a tool like grep or ripgrep would be much faster to search through all the files. So if there is something specific that you want to search it would be better to use those tools. But if you think that there is something which should be checked in all the android files then feel free to open an issue.

Features

  • Check if the APK has set the android:allowbackup to true

  • Check if the APK has set the android:debuggable to true.

  • Return all the activities, services and broadcast receivers which are exported and have null permission set. This is decided on the basis of two things:

    • android:exporte=true is present in any of the component and have no permission set.
    • If exported is not mention then slicer check if any Intent-filters are defined for that component, if yes that means that component is exported by default(This is the rule given in android documentation.)
  • Check the Firebase URL of the APK by testing it for .json trick.

    • If the firebase URL is myapp.firebaseio.com then it will check if https://myapp.firebaseio.com/.json returns something or gives permission denied.
    • If this thing is open then that can be reported as high severity.
  • Check if the google API keys are publically accessible or not.

    • This can be reported on some bounty programs but have a low severity.
    • But most of the time reporting this kind of thing will bring out the pain of Duplicate.
    • Also sometimes the company can just close it as not applicable and will claim that the KEY has a usage cap - r/suspiciouslyspecific 😉
  • Return other API keys that are present in strings.xml and in AndroidManifest.xml

  • List all the file names present in /res/raw and res/xml directory.

  • Extracts all the URLs and paths.

    • These can be used with tool like dirsearch or ffuf.

Installation

You can download the binary from the release page. Also if you want you can clone this repository and build the binary yourself.

If you have go compiler installed then you can use go get github.com/mzfr/slicer.

NOTE: Slicer uses config.yml file. So either have a file named config.yml in your current working directory or make a directory named .slicer in your $HOME and then place the config.yml file there.

Arch Linux

slicer can be installed from available AUR packages using an AUR helper. For example,

yay -S slicer

If you prefer, you can clone the AUR packages and then compile them with makepkg. For example,

git clone https://aur.archlinux.org/slicer.git && cd slicer && makepkg -si

Usage

It's very simple to use. Following options are available:

Extract information from Manifest and strings of an APK

Usage:
        slicer [OPTION] [Extracted APK directory]

Options:

  -d, --dir             path to jadx output directory
  -o, --output          Name of the output file(not implemented)
 -nb, --no-banner       Don't Show Banner

I have not implemented the output flag yet because I think if you can redirect slicer output to a yaml file it will a proper format.

Usage Example

  • Extract information from the APK and display it on the screen.
slicer -d path/to/extact/apk
  • Extract information and store in a yaml file:
slicer -d path/to/extracted/apk -nb=false > name.yaml

If you plan to use if for Bug bounty or anything similar it's better to store in some file

Acknowledgements and Credits

The extractor module used to extract URLs and paths is taken from apkurlgrep by @ndelphit

Contribution

All the features implemented in this are things that I've learned in past few weeks, so if you think that there are various other things which should be checked in an APK then please open an issue for that feature and I'd be happy to implement that :)

Support

If you'd like you can buy me some coffee:

Buy Me A Coffee

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].