Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
Outils/GitHubGitHub/mvt-project/androidqf
Sécurité AndroidAnalyse ForensiqueCriminalistique MobileRécupération de DonnéesCriminalistique NumériqueRenseignement sur les MenacesRéponse aux Incidents
GitHubmvt-project/androidqf

androidqf

androidqf (Android Quick Forensics) aide à rassembler rapidement des preuves médico-légales à partir d'appareils Android, afin d'identifier des traces potentielles de compromission.

Voir le dépôt
23041il y a 16 joursVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
Site web

androidqf

Go Report Card

androidqf (Android Quick Forensics) est un outil portable conçu pour simplifier l'acquisition de données forensiques pertinentes depuis les appareils Android.

androidqf se veut un utilitaire simple et portable, multiplateforme, permettant d'acquérir rapidement des données à partir d'appareils Android. Ses fonctionnalités sont similaires à celles de mvt-android. Cependant, contrairement à MVT, androidqf est conçu pour être facilement utilisé même par des utilisateurs non techniques. Les données extraites par androidqf peuvent être analysées avec MVT.

Ce dépôt est un fork de androidqf maintenu par le Laboratoire de sécurité d'Amnesty International. L'outil androidqf a été initialement développé par Claudio Guarnieri.

Télécharger androidqf

Compilation

Les binaires exécutables pour Linux, Windows et Mac devraient être disponibles dans la dernière version. Si vous rencontrez des problèmes pour exécuter le binaire, vous pouvez le compiler vous-même.

Compilation avec GoReleaser (Recommandé)

Ce projet utilise GoReleaser pour les compilations et les publications automatisées. Pour compiler localement :

  1. Installez GoReleaser :

    root@kitploit:~
    go install github.com/goreleaser/goreleaser@latest
    
  2. Lancez une compilation snapshot (sans publication) :

    root@kitploit:~
    ./build_locally.sh
    

Cela créera des binaires pour toutes les plateformes dans le répertoire dist/, y compris un binaire universel pour macOS qui fonctionne à la fois sur Intel et Apple Silicon.

Compilation avec Make (Legacy)

Vous pouvez toujours utiliser l'approche traditionnelle avec Makefile. Vous aurez besoin de Go 1.23+ installé, ainsi que de make, git, unzip et wget. AndroidQF inclut un collector cross-compilé qui s'exécute sur l'appareil cible pour extraire de manière plus fiable les informations forensiques pertinentes.

Construisez d'abord le module collector :

root@kitploit:~
make collector

Ensuite, compilez AndroidQF pour la plateforme de votre choix :

root@kitploit:~
make linux
make darwin
make windows

Ces commandes généreront des binaires dans un dossier build/.

Compilation pour les paquets de distribution sans ressources incluses

Les paquets de distribution peuvent éviter d'intégrer les binaires ADB et collecteur regroupés en compilant avec la balise de compilation unbundle :

root@kitploit:~
go build -tags unbundle -o build/

Lorsque cette balise est activée, androidqf s'attend à ce que :

  • adb soit disponible dans le PATH du système.
  • les binaires du collecteur soient installés sous /usr/lib/androidqf/android-collector/ en utilisant les noms attendus par androidqf, tels que collector_arm et collector_arm64.

Les empaqueteurs peuvent supprimer les ressources binaires incluses de assets/ avant la compilation, mais le répertoire du paquet assets/ et ses fichiers source Go doivent rester présents. La compilation unbundle importe toujours le paquet assets, et la compilation échouera si tout le répertoire assets/ est supprimé.

Image conteneur

L'image conteneur de la version est publiée sur GitHub Container Registry :

root@kitploit:~
docker pull ghcr.io/mvt-project/androidqf:latest

Pour effectuer une acquisition à partir d'un appareil Android connecté par USB sous Linux, passez le bus USB et montez un répertoire de sortie :

root@kitploit:~
docker run --rm -it --privileged \
  -v /dev/bus/usb:/dev/bus/usb \
  -v "$(pwd)/output:/output" \
  ghcr.io/mvt-project/androidqf:latest -fast -output /output

Vous pouvez également construire l'image localement pour une version publiée :

root@kitploit:~
docker build --build-arg VERSION=1.8.3 -t androidqf .

Comment utiliser

[!TIP] Consultez Archives d'acquisition pour le format d'archive, les hachages d'intégrité, le chiffrement et la gestion des fichiers volumineux. Pour un dictionnaire des fichiers collectés, voir le dictionnaire de fichiers de sortie AndroidQF de SocialTIC (tiers).

Avant de lancer androidqf, vous devez avoir l'appareil Android cible connecté à votre ordinateur via USB, et vous devez avoir activé le débogage USB. Veuillez vous référer à la documentation officielle pour savoir comment procéder, mais sachez que les téléphones Android de différents fabricants peuvent nécessiter des étapes de navigation différentes des valeurs par défaut.

Une fois le débogage USB activé, vous pouvez lancer androidqf. Il tentera d'abord de se connecter à l'appareil via le pont USB, ce qui devrait amener le téléphone Android à vous demander d'autoriser manuellement les clés de l'hôte. Assurez-vous de les autoriser, idéalement de manière permanente afin que l'invite ne réapparaisse pas.

Maintenant, androidqf devrait s'exécuter et créer une archive zip d'acquisition dans votre répertoire de travail actuel, ou dans le répertoire fourni avec -output. À un moment donné de l'exécution, androidqf vous proposera des choix : ces invites suspendront l'acquisition jusqu'à ce que vous fassiez une sélection, alors soyez attentif.

Les données suivantes peuvent être extraites :

Chaque acquisition contient également acquisition.json, command.log lorsque des logs ont été produits, et hashes.csv. La liste de hachages enregistre le digest SHA-256 de chaque entrée d'archive en texte clair précédente et ne s'inclut pas elle-même. Les extractions échouées de l'appareil ne sont pas enregistrées comme entrées d'archive. Voir Archives d'acquisition pour plus de détails.

À propos de la collecte de données optionnelles

Sauvegarde

Les options suivantes sont présentées lors de l'exécution d'une collecte androidqf :

root@kitploit:~
Would you like to take a backup of the device?
...
? Backup:
  ▸ Only SMS
    Everything
    No backup

Ces options font référence aux données collectées à partir de l'appareil en exécutant la commande adb backup en arrière-plan. Si No backup est sélectionné, la commande adb backup n'est pas exécutée.

OptionExplication

Téléchargement de copies des applications

root@kitploit:~
Would you like to download copies of all apps or only non-system ones?

? Download:
  ▸ All
    Only non-system packages
    Do not download any
OptionExplication
AllTous les paquets installés seront récupérés depuis le téléphone
Only non-system packagesNe téléchargez aucun paquet listé dans adb pm list packages -s
Do not download anyNe téléchargez aucun paquet

Journaux d'intrusion

root@kitploit:~
Would you like to take the Intrusion Logs of the device?

? Intrusion Logs:
  ▸ Yes
    No
OptionExplication
YesLes journaux d'intrusion seront récupérés depuis le téléphone.
NoL'acquisition des journaux d'intrusion est ignorée.

Chiffrement et menaces potentielles

Transporter les acquisitions d'androidqf sur un lecteur non chiffré peut vous exposer, et encore plus ceux dont vous avez acquis les données, à un risque important. Par exemple, vous pourriez être arrêté à une frontière problématique et votre disque androidqf pourrait être saisi. Les données brutes pourraient non seulement révéler le but de votre voyage, mais aussi contenir des données très sensibles (par exemple la liste des applications installées, ou même des messages SMS).

Idéalement, vous devriez avoir le disque entièrement chiffré, mais cela n'est pas toujours possible. Vous pouvez également envisager de placer androidqf dans un conteneur VeraCrypt et emporter avec vous une copie de VeraCrypt pour le monter. Cependant, les conteneurs VeraCrypt sont généralement protégés uniquement par un mot de passe, que vous pourriez être contraint de fournir.

Alternativement, androidqf permet de chiffrer chaque acquisition avec une clé publique age fournie. De préférence, cette clé publique appartient à une paire de clés dont l'utilisateur final ne possède pas, ou du moins ne transporte pas, la clé privée. Ainsi, l'utilisateur final ne serait pas en mesure de déchiffrer les données acquises, même sous la contrainte.

androidqf diffuse chaque acquisition dans une archive zip. Si vous placez un fichier nommé key.txt dans le répertoire de travail actuel, androidqf chiffrera le flux zip avec age et écrira <UUID>.zip.age ; sinon, il écrit un <UUID>.zip non chiffré. androidqf vérifie également la présence de key.txt dans le même dossier que l'exécutable ; si les deux fichiers existent, le répertoire de travail actuel a priorité.

Les acquisitions chiffrées ne créent pas d'archive d'acquisition en texte clair. Les fichiers de l'appareil qui doivent être validés avant d'être ajoutés à une archive chiffrée sont temporairement mis en scène avec un chiffrement authentifié ChaCha20-Poly1305. Voir Archives d'acquisition pour le flux de données complet et le comportement avec les grosses APK.

Une fois que vous avez récupéré un fichier d'acquisition chiffré, vous pouvez le déchiffrer avec age comme ceci :

root@kitploit:~
$ age --decrypt -i ~/path/to/privatekey.txt -o <UUID>.zip <UUID>.zip.age

Gardez à l'esprit qu'il est toujours possible qu'au moins une partie des données non chiffrées puisse être récupérée grâce à des techniques avancées de forensique - même si nous travaillons à atténuer cela.

Licence

Le but d'androidqf est de faciliter l'analyse forensique consensuelle des appareils de ceux qui pourraient être la cible d'attaques sophistiquées de logiciels espions mobiles, en particulier les membres de la société civile et des communautés marginalisées. Nous ne voulons pas qu'androidqf permette des violations de la vie privée d'individus non consentants. Par conséquent, l'objectif de cette licence est d'interdire l'utilisation d'androidqf (et de tout autre logiciel sous la même licence) à des fins de forensique adversarial.

Pour y parvenir, androidqf est publié sous la Licence MVT 1.1, une adaptation de la Mozilla Public License v2.0. Cette licence modifiée inclut une nouvelle clause 3.0, « Restriction d'utilisation consensuelle » qui permet l'utilisation du logiciel sous licence (et de toute "Œuvre dérivée" qui en découle) exclusivement avec le consentement explicite de la/des personne(s) dont les données sont extraites et/ou analysées ("Propriétaire des données").

Télécharger l’outil
DonnéeOptionnelle ?Chemin(s) de sortie
Une sauvegarde complète ou une sauvegarde des messages SMS et MMS.✅backup.ab
La sortie de la commande shell getprop, fournissant des informations de construction et des paramètres de configuration.getprop.txt
Tous les paramètres systèmesettings_*.txt
La sortie de la commande shell ps, fournissant une liste de tous les processus en cours.processes.txt
La liste des services du système.services.txt
Une copie de tous les logs du système.logs/, logcat.txt
La sortie de la commande shell dumpsys, fournissant des informations de diagnostic sur l'appareil.dumpsys.txt
Une liste de tous les paquets installés et des fichiers de distribution associés.packages.json
Copie de toutes les APK installées ou de seulement celles non marquées comme applications système.✅apks/*
Logs de journalisation d'intrusion. Contient des données privées telles que l'historique de navigation.✅intrusion_logs/*
Une liste des fichiers sur le système.files.json
Une copie des fichiers disponibles dans les dossiers temporaires.tmp/*
Un rapport de bogue contenant des logs système et spécifiques aux applications, sans données privées incluses.bugreport.zip
SMS uniquement
adb backup com.android.providers.telephony est exécutée. Seules les données de com.android.providers.telephony sont collectées. Cela inclut la base de données SMS.
Toutadb backup -all est exécutée. Cela demande des sauvegardes uniquement pour les applications qui ont explicitement autorisé les sauvegardes de leurs données via cette méthode. Depuis Android 12+, cette méthode n'extrait rien pour presque toutes les applications.
Pas de sauvegardeadb backup n'est pas exécutée