
Outil portable d'acquisition forensique pour appareils Android qui collecte les données pertinentes via le débogage USB pour identifier les traces potentielles de logiciels espions ou de compromission, avec un chiffrement age facultatif pour un transport sécurisé.
NOTE : ce projet n'est actuellement pas maintenu. Un fork indépendant peut être trouvé sous le projet MVT.
androidqf (Android Quick Forensics) est un outil portable pour simplifier l'acquisition de données forensiques pertinentes depuis des appareils Android.

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.
Pour compiler androidqf, vous aurez besoin de Go 1.18+ installé. Vous devrez également installer make. Une fois prêt, vous pouvez cloner le dépôt et exécuter l'une des commandes suivantes, selon votre plateforme :
make linux
make darwin
make windows
Ces commandes généreront des binaires dans un dossier build/.
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 sur la façon de le faire, mais gardez à l'esprit que les téléphones Android de différents fabricants peuvent nécessiter des étapes de navigation différentes de celles 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, pour que la demande ne réapparaisse pas.
Maintenant, androidqf devrait s'exécuter et créer un dossier d'acquisition au même emplacement où vous avez placé votre binaire androidqf. À un certain moment de l'exécution, androidqf vous proposera quelques choix : ces invites suspendront l'acquisition jusqu'à ce que vous fassiez une sélection, alors soyez attentif.
Une fois l'acquisition terminée, assurez-vous de désactiver le débogage USB et les options de développement, ou dans tous les cas, restaurez l'appareil à sa configuration d'origine.
Transporter les acquisitions d'androidqf sur un disque non chiffré peut vous exposer, vous et plus encore 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 contiendront probablement aussi 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 pourriez également envisager de placer androidqf dans un conteneur VeraCrypt et d'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. De cette manière, l'utilisateur final ne serait pas en mesure de déchiffrer les données acquises, même sous la contrainte.
Si vous placez un fichier appelé key.txt dans le même dossier que l'exécutable androidqf, androidqf tentera automatiquement de compresser et chiffrer chaque acquisition et supprimera les copies originales non chiffrées.
Une fois que vous avez récupéré un fichier d'acquisition chiffré, vous pouvez le déchiffrer avec age comme ceci :
$ 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 forensiques avancées - même si nous travaillons à atténuer cela.
Le but d'androidqf est de faciliter l'analyse forensique consensuelle des appareils de personnes qui pourraient être cibles 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 MVT License 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 plus vaste » qui en découle) exclusivement avec le consentement explicite de la personne ou des personnes dont les données sont extraites et/ou analysées (« Propriétaire des données »).