• Stars
    star
    473
  • Rank 92,832 (Top 2 %)
  • Language
    HTML
  • License
    GNU Lesser Genera...
  • Created over 12 years ago
  • Updated almost 5 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Yet another static code analyzer for malicious Android applications

Androwarn

Yet another static code analyzer for malicious Android applications

Description

Androwarn is a tool whose main aim is to detect and warn the user about potential malicious behaviours developped by an Android application.

The detection is performed with the static analysis of the application's Dalvik bytecode, represented as Smali, with the androguard library.

This analysis leads to the generation of a report, according to a technical detail level chosen from the user.

Features

  • Structural and data flow analysis of the bytecode targeting different malicious behaviours categories

    • Telephony identifiers exfiltration: IMEI, IMSI, MCC, MNC, LAC, CID, operator's name...
    • Device settings exfiltration: software version, usage statistics, system settings, logs...
    • Geolocation information leakage: GPS/WiFi geolocation...
    • Connection interfaces information exfiltration: WiFi credentials, Bluetooth MAC adress...
    • Telephony services abuse: premium SMS sending, phone call composition...
    • Audio/video flow interception: call recording, video capture...
    • Remote connection establishment: socket open call, Bluetooth pairing, APN settings edit...
    • PIM data leakage: contacts, calendar, SMS, mails, clipboard...
    • External memory operations: file access on SD card...
    • PIM data modification: add/delete contacts, calendar events...
    • Arbitrary code execution: native code using JNI, UNIX command, privilege escalation...
    • Denial of Service: event notification deactivation, file deletion, process killing, virtual keyboard disable, terminal shutdown/reboot...
  • Report generation according to several detail levels

    • Essential (-v 1) for newbies
    • Advanced (-v 2)
    • Expert (-v 3)
  • Report generation according to several formats

    • Plaintext txt
    • Formatted html from a Bootstrap template
    • JSON

Usage

Options

usage: androwarn [-h] -i INPUT [-o OUTPUT] [-v {1,2,3}] [-r {txt,html,json}]
                 [-d]
                 [-L {debug,info,warn,error,critical,DEBUG,INFO,WARN,ERROR,CRITICAL}]
                 [-w]

version: 1.4

optional arguments:
  -h, --help            show this help message and exit
  -i INPUT, --input INPUT
                        APK file to analyze
  -o OUTPUT, --output OUTPUT
                        Output report file (default
                        "./<apk_package_name>_<timestamp>.<report_type>")
  -v {1,2,3}, --verbose {1,2,3}
                        Verbosity level (ESSENTIAL 1, ADVANCED 2, EXPERT 3)
                        (default 1)
  -r {txt,html,json}, --report {txt,html,json}
                        Report type (default "html")
  -d, --display-report  Display analysis results to stdout
  -L {debug,info,warn,error,critical,DEBUG,INFO,WARN,ERROR,CRITICAL}, --log-level {debug,info,warn,error,critical,DEBUG,INFO,WARN,ERROR,CRITICAL}
                        Log level (default "ERROR")
  -w, --with-playstore-lookup
                        Enable online lookups on Google Play

Common usage

$ python androwarn.py -i my_application_to_be_analyzed.apk -r html -v 3

By default, the report is generated in the current folder.
An HTML report is now contained in a standalone file, CSS/JS resources are inlined.

Sample application

A sample application has been built, concentrating several malicious behaviours.

The APK is available in the _SampleApplication/bin/ folder and the HTML report is available in the _SampleReports folder.

Dependencies and installation

  • Python 3 or Python 2.7 + androguard + jinja2 + play_scraper + argparse
  • The easiest way to setup everything: pip install androwarn and then directly use $ androwarn
  • Or git clone that repository and pip install -r requirements.txt

Changelog

  • version 1.6 - 2019/05/30: Python 3 support and few fixes
  • version 1.5 - 2019/01/05: few fixes
  • version 1.4 - 2019/01/04: code cleanup and use of the latest androguard version
  • version 1.3 - 2018/12/30: few fixes
  • version 1.2 - 2018/12/30: few fixes
  • version 1.1 - 2018/12/29: fixing few bugs, removing Chilkat dependencies and pip packaging
  • version 1.0 - from 2012 to 2013

Contributing

You're welcome, any help is appreciated :)

Contact

  • Thomas Debize < tdebize at mail d0t com >
  • Join #androwarn on Freenode

Copyright and license

Androwarn is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

Androwarn is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with Androwarn.
If not, see http://www.gnu.org/licenses/.

Greetings

More Repositories

1

thc-hydra-windows

The great THC-HYDRA tool compiled for Windows
Shell
922
star
2

impacket-examples-windows

The great impacket example scripts compiled for Windows
898
star
3

webscreenshot

A simple script to screenshot a list of websites
Python
653
star
4

nmaptocsv

A simple python script to convert Nmap output to CSV
Python
381
star
5

CrackMapExecWin

The great CrackMapExec tool compiled for Windows
PowerShell
247
star
6

fgpoliciestocsv

A simple script to extract policies from a FortiGate configuration file to CSV
Python
137
star
7

sqldeveloperpassworddecryptor

A simple script to decrypt stored passwords from the Oracle SQL Developer IDE
Python
104
star
8

jnianalyzer

A simple tool to help finding JNI calls in a x86/ARM disassembly listing
Python
80
star
9

weblogicpassworddecryptor

A simple script to decrypt stored passwords from Oracle WebLogic Server configuration files
30
star
10

mimicertz

A minimal safe version of mimikatz to only allow the export of non-exportable Windows certificates
C
25
star
11

patator-windows

The great patator tool compiled for Windows
24
star
12

tgcd-windows

The great TCP Gender Changer (tgcd) tool compiled for Windows
14
star
13

rclonedeobscure

A simple script to decrypt obscured/encrypted passwords from rclone
Python
14
star
14

openocd-windows-buspirate

The great opencd tool compiled for Windows with Bus Pirate support
13
star
15

tibcopasswordrevealer

A simple script to decrypt mangled and obfuscated passwords from Tibco EMS
Python
12
star
16

dnsdumps

Various DNS dumps (daily new domains, FQDNs, etc.)
Python
11
star
17

proxy-selector-firefox-addon

The latest Proxy Selector addon file for Firefox
9
star
18

thc-amap-windows

The great THC-AMAP tool compiled for Windows
9
star
19

GhostPack-compiled

The great GhostPack tools compiled
6
star
20

ikat-on-kali-v2

A simple tutorial to enable iKAT Desktop on Kali v2
6
star
21

third-parties-version-history

A collection of version history for common third-party tools
Python
5
star
22

misc_hookons_avec_javasnoop

Java
5
star
23

jdwp-shellifier-windows

The great jdwp-shellifier tool compiled for Windows
5
star
24

adecadeofinfosectools

Code, details and output datasets of the study
5
star
25

GPartedPlusPlus

GParted++ (GPartedPlusPlus) is the original GParted Live image with several additions
4
star
26

red.flag.domains-publications

https://red.flag.domains publications enriched
Python
4
star
27

dotfiles

My personal dotfiles and scripts
Vim Script
4
star
28

mobilenetworkip

IP addresses of various mobile networks
Shell
3
star
29

some_termux_packages_history

Archive of old versions of some Termux packages
3
star
30

webtorrent-checker-scraper

A simple script to scrape results of WebTorrent Checker (https://checker.openwebtorrent.com)
Python
1
star
31

zmapproject_binaries

All the great tools from the ZMap Project in compiled versions
Roff
1
star
32

geoipbulk

A simple python script to retrieve some useful information such as location and occurence number for a provided IP list
1
star
33

kalicustom

Some customized Kali builds (VMDK, ISO)
Shell
1
star