Description
Androwarn est un outil dont le but premier est de détecter et alerter l'utilisateur d'un risque potentiel de code hostile dans une application Android.
La détection est réalisée par analyse statique du bytecode Dalvik de l'application, représenté comme Smali, avec la librairie androguard.
L'analyse abouti à la création d'un rapport, contenant un niveau de détail prédéfini par l'utilisateur.
Fonctionnalités
-
La structure et l'analyse du flux du bytecode vise plusieurs techniques malicieuses différentes.
- Exfiltration des données de téléphonie: IMEI, IMSI, MCC, MNC, LAC, CID, nom de l'opérateur...
- Exfiltration de la configuration du téléphone: version logicielle, statistiques d'utilisation, configuration système, logs...
- Fuite des données de géolocalisation: géolocalisation GPS/WiFi ...
- Exfiltration des informations des connexions des interfaces: mot de passe WiFi, adresse MAC Bluetooth...
- Abus du service de téléphonie: envoi de SMS surtaxés, composition de numéro de téléphone...
- Interception des flux audio et de téléphonie: enregistrement des appels, capture vidéo...
- Etablissement de connexions distantes: ouverture de socket, jumelage Bluetooth, modification des paramètres APN...
- Fuite des données PIM: contacts, calendrier, SMS, mails, contenu du presse papier...
- Opérations sur la mémoire externe: accès aux fichiers sur la carte SD...
- Modification des données PIM: ajout/suppression de contacts, d'évènement de calendrier...
- Exécution de code arbitraire: code natif utilisant JNI, commande UNIX, escalade ded privilèges...
- Denis de Service: désactivation des notifications d'évènements, suppression de fichiers, tuer un processus, désactivation du clavier virtuel, extinction/reboot du terminal...
-
Génération du rapport en fonction des différents niveaux de détails
- Essentiel (
-v 1) pour les nuls
- Avancé (
-v 2)
- Expert (
-v 3)
-
Génération du rapport en fonction des différents formats
- Texte
txt
- Formaté
html provenant d'un modèle Bootstrap
- JSON
Utilisation
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
Utilisation commune
$ python androwarn.py -i my_application_to_be_analyzed.apk -r html -v 3
Par défaut, le rapport est généré dans le répertoire courant.
Un rapport HTML est maintenant fourni en une seul fichier, les ressources CSS/JS sont inclus.
Application d'exemple
Une application d'exemple est fournie, contenant plusieurs comportements malicieux.
L'APK est disponible dans le répertoire _SampleApplication/bin/ et le rapport HTML est disponible dans le répertoire _SampleReports.
Dépendances et installation
- Python 2.7 + androguard + jinja2 + play_scraper + argparse
- Le plus simple pour tout installer:
pip install androwarn et utiliser directement $ androwarn
- Ou git clone le dépôt et
pip install -r requirements.txt
Changelog
- version 1.5 - 2019/01/05: quelques correctifs
- version 1.4 - 2019/01/04: nettoyage du code et utilisation de la dernière version d'androguard
- version 1.3 - 2018/12/30: quelques correctifs
- version 1.2 - 2018/12/30: quelques correctifs
- version 1.1 - 2018/12/29: correction de quelques bugs, suppression des dépendances Chilkat et packagind de pip
- version 1.0 - de 2012 à 2013
Contributions
Vous êtes le bienvenu, toute aide est appréciée :)
Contact
- Thomas Debize < tdebize at mail d0t com >
- Rejoignez le canal #androwarn sur Freenode
Copyright et licence
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/.
Remerciements
Téléchargement
Tags
RÉTRO-INGENIERIE
MALWARE
ANDROID
OUTIL D'ADMINISTRATION
Inscription à notre lettre d'information
Inscrivez-vous à notre
lettre d'information pour vous tenir au courant de nos actualités et de nos dernières trouvailles.