Ce tuto est en cours de rédaction
Méthode la plus simple dé base (à détailler) :
https://www.sustaphones.com/ > https://openandroidinstaller.org/ > https://doc.e.foundation/devices > sans-nuage.fr (ou n'importe quel fournisseur nextcloud) > thunderbird > TbSync > Nextcloud Client
====Android, c'est quoi exactement ?====
**[[https://fr.wikipedia.org/wiki/Android|Android]]** est un **système d'exploitation mobile**, soit l'ensemble des outils en charge des ressources d'un appareil par des logiciels, adapté à nos smartphones.
Android est basé sur le **noyau [[https://fr.wikipedia.org/wiki/Linux|Linux]]**, un noyau de système d'exploitation libre et ouvert à la communauté et **développé par Google**.
La première mouture d'Android date de 2008 et a évolué depuis pour se retrouver dans la quasi-totalité des smartphones du marché. Google est donc présent dans **80% des smartphones de la planète** et c'est que nous cherchons à faire évoluer au travers de ce guide 😄
====AOSP et Google====
//Mais si Android est libre et open source, comment Google peut-il imposer ses applications, et pourquoi ne pouvons-pas simplement les enlever ?//\\
Il convient de faire une distinction entre **deux éléments** :
* **[[https://fr.wikipedia.org/wiki/Android|AOSP]]**, ou //Android Open Source Project//
* Les **[[https://en.wikipedia.org/wiki/Google_Play_Services|Google Play Services]]**
Android est open source et libre. Chacun peut se l'approprier, le modifier et l'adapter pour ses usages personnels. C'est justement ce que font les constructeurs de smartphones, en proposant des surcouches logicielles, adaptant Android à leurs charte graphiques et applications respectives.
Pour pouvoir offrir à l'utilisateur le magasin d'applications ainsi que les applications Google par défaut, les constructeurs doivent intégrer en plus les //Service Google Play// afin de permettre le bon fonctionnement de ses applications.
Le //service Google Play// est une **application d'arrière-plan**, comprenant un **ensemble de fonctions utiles aux développeurs** présentant leurs applications sur le //Play Store//, en le rendant, de facto, quasi-indispensable à tout utilisateur. En offrant à tous des fonctions clés en main, difficiles à mettre en œuvre seuls, Google a ainsi sécurisé une grosse part de marché et rendu indissociable son marché d'applications des smartphones.
Par exemple, les //Services Google Play// prennent en charge les fonctions de synchronisation à Google Drive des applications, permettent le bon fonctionnement des outils de géolocalisation, l'authentification sur de nombreux services et les publicités ciblées selon le contenu de navigation.
Par les //Services Google Play//, Google a donc **la main sur toutes les applications utilisées par l'usager d'un smartphone, mais aussi toutes les données qui transitent entre elles**.
**Android en soi n'est pas l'outil non respectueux de nos données, la surcouche ajoutée par Google l'est.**
====Et moi, qu'est ce que je peux faire alors ?====
Il existe plusieurs méthodes de complexité grandissante, permettant petit à petit de se passer des outils de Google. Nous allons voir ensemble les différentes étapes pour y parvenir 👌
**Comme tout bon tutoriel, je ne peux que vous inviter à lire toutes les étapes avant de faire quoi que ce soit afin de comprendre les tenants et aboutissants de toutes les opérations !**
====Niveau 1 : J'ai juste besoin de mon pouce 👍 ====
**__Galerie de captures d'écran__**
* Accéder aux **paramètres** de votre smartphone.
* Glisser jusqu'au paramètres "//**Applications**//", " //**Applis et notifications**//" ou un menu similaire.
* Afficher toutes les applications de votre smartphone en cliquant sur "//**Afficher toutes les applis**//" ou un **autre bouton similaire**.
* Glisser dans la **liste des applications** et commencez la **désinstallation des applications inutiles ou inutilisées**.
* Pour cela, cliquez dessus, puis "//**Désinstaller**//"
* Les **applications Google** seront sans doute plus récalcitrantes, puisqu'elles sont inscrites dans le système et impossible à désinstaller
* Vous pouvez toutefois cliquez dessus et **les mettre hors-fonctionnement de manière temporaire** en appuyant sur "//**Désactiver**//"
* Si vous avez de la chance, vous pouvez peut-être désactiver les **Services Google Play**, ce qui représente un bon test pour vérifier si vos applications usuelles peuvent fonctionner sans.
* En cas de problèmes, pensez à réactiver les applications nécessaires au bon fonctionnement de votre smartphone 😉
====Pour la suite, il faut mettre les mains dans cambouis 🔧====
Pour aller au-delà, il va falloir passer par une étape indispensable, l'installation et l'utilisation des outils de développement ou [[https://en.wikipedia.org/wiki/Android_Debug_Bridge|ADB]], pour Android Debug Bridge. \\
//Vous avez de la chance, en passant nous voir, un membre de l'association aura déjà tout les outils prêts pour vous aider// 😉
L'Android Debug Bridge est une boite à outils de développement, facilitant l'interaction entre un smartphone Android et un ordinateur. Il sera nécessaire pour la suite des opérations car il donne accès à des fonctions supplémentaires du téléphone.
**Sur Windows :**
- Téléchargez le [[https://dl.google.com/android/repository/platform-tools-latest-windows.zip|dernier fichier .zip]] depuis le site de Google.
- Créer un dossier nommé " //adb-fastboot// " dans " //C:\Users\(Nom de votre session windows)// ".
- Glissez le contenu du **fichier .zip** dans le dossier précédemment crée.
- Téléchargez les [[https://github.com/koush/adb.clockworkmod.com/releases/latest/download/UniversalAdbDriverSetup.msi|derniers pilotes ADB]] et installez-les.
- Redémarrez votre ordinateur.
**Sur Linux :**
- Téléchargez le [[https://dl.google.com/android/repository/platform-tools-latest-linux.zip|dernier fichier .zip]] depuis le site de Google.
- Créer un dossier nommé " //adb-fastboot// " à la racine du système de fichiers.
- Glissez le contenu du **fichier .zip** dans le dossier précédemment crée.
- Déconnectez votre session et reconnectez-vous.
Félicitations, vous avez tout les outils pour la suite ! 😄
====Niveau 2, les choses sérieuses ⚙️====
Avant de vous lancer sur votre téléphone courant, nous ne pouvons que vous conseiller d'essayer un téléphone déjà libéré, afin de vérifier que toutes les applications que vous utilisez au quotidien soient encore fonctionnelles et vous habituez aux quelques différences.
Vous risquez en effet de peut-être voir surgir le message " **Cette application nécessite les Services Google Play** " apparaitre. Parfois, le message est inoffensif, parfois l'application ne se lancera pas, ce qui peut être le cas avec les applications bancaires. Pas de panique, il existe des solutions détaillée plus bas.
Le processus pour passer à un système d'exploitation libre est générique mais présente des petites différences selon les fabricants. Nous allons ici voir ensemble les étapes générales et les moyens de trouver toutes les informations pour son smartphone 😀.
Cette procédure effacera tout le contenu de votre téléphone et le réinitialisera comme si vous l'allumiez pour la première fois. Vous perdrez toutes les données, applications, contacts, tout le contenu présent sera supprimé.
Voilà la **liste des étapes** que nous allons effectuer :
- **Sauvegarder ses données**
- **Passer en mode développeur avec ADB** : //Configurer son téléphone pour communiquer correctement avec son ordinateur//
- **Déverrouiller le Bootloader** : //Avoir accès aux fonctions avant le démarrage du système pour en installer un autre//
- **Installer un outil de récupération (recovery) alternatif** : //Cet outil indispensable offre les fonctions nécessaire pour installer un système alternatif//
- **Sauvegarder une image complète de son smartphone avec le nouveau recovery** : //Le nouveau recovery nous permettra d'effectuer une image du système fonctionnel, au cas où//
- **Installer un système d'exploitation libre** : //Ce qui nous intéresse, le choix et l'installation de son système libre favori !//
- **Découvrir les applications alternatives et nécessaires** : //Vous ne retrouverez pas toutes les applications de Google, mais on va vous expliquer comment les retrouver si nécessaire//
En **option** :
- Installer une alternative libre aux Services Google Play, [[https://github.com/microg/GmsCore/wiki|MicroG]]
- Installer les Services Google Play réduits à leur minimum
En **bonus**, pour les courageux et aventuriers 🤠 :
- Obtenir un accès root
- Les applications utiles pour optimiser son smartphone rooté
====Étape 01 : Sauvegarder ses données 💾 ====
Nous vous proposons ici une liste des éléments standards à ne pas oublier. Malheureusement, nous ne pouvons pas être dans votre tête et vous conseillons de faire une liste des éléments à sauvegarder en examinant vos applications avant de débuter.
* Sauvegarde des contacts :\\
Test
* Sauvegarde des fichiers :\\
Test
* Sauvegarde des messages :\\
Test
* Sauvegarde des applications :\\
//Il existe des moyens de sauvegarder les applications en l'état et de les restaurer sur le smartphone fraichement installé. Toutefois, dans l'objectif de passer sur des applications libre, nous ne détaillerons pas la démarche.
Par contre, nous vous invitons à noter le nom des applications que vous utilisez, ou effectuez une capture d'écran de votre menu d'applications que vous sauvegarderez pour plus tard// ;-)
====Étape 02 : Passer en mode développeur avec ADB 🧰 ====
====Étape 03 : Déverrouiller le Bootloader 🔓 ====
====Étape 04 : Installer un outil de récupération (recovery) alternatif 💽 ====
====Étape 05 : Sauvegarder une image complète de son smartphone 💾 ====
====Étape 06 : Installer un système d'exploitation libre 📱 ====
====Sources====
[[https://en.wikipedia.org/wiki/Android_(operating_system)|Android - Wikipedia]]\\
[[https://wiki.lineageos.org/adb_fastboot_guide.html|Using ADB and Fastboot - LineageOS]]\\
[[https://forum.xda-developers.com/t/oneplus-5t-unlock-bootloader-flash-twrp-root-nandroid-efs-backup-more.3704592/|XDA Forums - Unlock Bootloader | Flash TWRP | Root | Nandroid & EFS Backup]]\\
[[https://linuxfr.org/news/installer-lineageos-sur-son-appareil-android]]\\
Test
=========== roadmap de ce wiki partie boistordu ===========
j'ai rajouté la source linuxfr.org pour donner une meilleure approche à l'utilisateur lambda de ce qu'est lienage et pourquoi bouger
* Il faut pouvoir proposer à l'utilisateur de passer à graphene dans le cas d'un google pixel pusique la manip est elel plus simple en allant jsut esur la page web de graphene, il n'y a que des boutons à cliquer après connexion entre le tel et le pc grâce à adb
* sinon voir si la personne a un téléphone complètement testé pour divest qui corrige plusieurs CVE de lineage, ce qui me parait important
* et le choix par défaut devrait être lineage en effet si les ROM précédentes (meilleures au moins en terme de sécurité) ne sont pas possibles.
* il faut voir les applis que l'utilisateur utilise avant de faire la migration et voir sur le site http://plexus.techlore.tech/ si l'appli fonctionnera correctement sans les services googles
**Quelques sources**
* les fiches de https://crypto.bawet.org/
* degooglisons-internet.org
* privacytools.io
* prism-break.org
* thenewoil.org
* privacyguides.org
* EFF Surveillance Self-Defense
* Guide d’autodéfense numérique
* Guide de survie en protection numérique à l’usage des militant·es
* TuTORiel Tails
Liens .onion
* Android Privacy Guide
* The Hitchhiker’s Guide to Online Anonymity
==== Etape effectuée sur base d'un fairphone 3 ====
Le téléphone avait déjà été rooté en étant un android 10 grâce à la méthode systemless root qui avait permet de ne pas toucher à la partition system mais juste écraser la recovery par une TWRP et installer superSU dans le système. (si mes souvenirs sont bons)
- sur base de ça, installer sur un linux sudo apt install adb (ou android-tools sur fedora)
- installer mtp : sudo apt install mtp-tools
- faire en terminal un: sudo lsusb (pour effectuer une vérif que le téléphone est bien reconnu au niveau usb)
- si non, aller dans les settings, à propos du téléphone, débloquer les options dev en appuyant 7 fois sur la version du logiciel (ce qui avait déjà été fait) et désactiver et réactiver le "usb debugging"
- un popup devrait s'afficher pour autoriser la clé RSA de l'ordinateur à se connecter sur le téléphone, cocher que vous lui faites confiance
- à ce moment là que vous tapiez : sudo lsusb OU sudo adb devices -l une entrée concernant un téléphone Google ou autre devrait apparaitre
- ensuite tapez mtp-tools pour commencer à accéder au disque interne et externe de l'appareil et ainsi sauver les données
- Parcourez et sauvegarder toutes vos données personnels, eventuels backup de signal etc stocker dans votre dossier personnel ET sur le disque externe dans le cas d'une carte mémoire ET sur le disque interne de l'appareil, ça sera pas l'opération de transfert la plus rapide. Donc prenez votre mal en patience. Ne vous étonnez pas non plus si la connexion s'arrête et redémarre plusieurs fois aux cours des transferts, certains téléphones ne sont malheureusement pas des plus stables e terme d'accès mémoire via mtp.
=== étape optionnelle si jamais vous voulez vérifier que votre téléphone android a été piraté par pegasus ou autre chose ===
Que vous soyez un activiste, un journaliste, un membre de l'appareil judiciaire, éxécutif, parlemantaire, un scientifique, ou même un simple citoyen/employé qui est en contact régulier avec des "persons of interest" ou des points d'intérêts stratégiques que ce soit pour des états étrangers mais aussi simplement des groupes de hackers, vous pouvez être une cible. Que ce soit des sociétés comme clearview avec le projet pegasus ou d'autres. Qu'elles soient russes, chinoises, israéliennes ou autres. Fondamentalement ça ne fait aucune différence, leur but premier est de faire de l'argent et donc même si elles disent qu'elles ne revendent pas leurs outils à des puissances dictatoriales etc, vous pouvez presque avec certitude qu'elles le font quand même. Surtout dans le cas où elles n'auraient peut-être pas assez de clients à cause de morosité économique et autre.
Amnesty International a édité un rapport à cet effet :
https://www.amnesty.org/en/latest/research/2021/07/forensic-methodology-report-how-to-catch-nso-groups-pegasus/
Vous pouvez y voir que ce n'est qu'une recherche préliminaires et qu'en réalité si vous cherchez un peu, post-publication de ce rapport une tonne d'autres personnes ont été infectées https://duckduckgo.com/?q=amnesty+report+phones+infected+by+pegasus&t=newext&atb=v295-1&ia=web
Il peut donc être intéressant d'essayer de savoir si vous l'avez été.
- Pour cela, en plus des outils mentionnés dans la partie de migration vers une Custom ROM pour votre tel et avant évidemment de faire cette migration ,si vous avez utilisé votre téléphone pendant quelques temps.
$ sudo apt install python3 python3-pip libusb-1.0-0 sqlite3
- on va ajouter une variable d'environnement pour votre session comme ça on pourra utiliser les outils nécéssaires simpelment dans le terminal sans devoir chipoter.
$ export PATH=$PATH:~/.local/bin
- on installe l'outil qu'amnesty a donc développer en interne qui se trovue dans les répertoires python
$ pip3 install mvt
- on crée un répertoire dans ses documents pour les résultats de l'outil
$ mkdir ~/mvt-results
- Si vous avez au préalable fais des opérations de transfert de votre tel à votre pc il faut démonter le tèl dans son explorateur de fichier favori.
- effectuez cette commande pour tuer le serveur adb en cours qui servait en partie à ce transfert (oui il faut faire les deux étapes, et même peut-être débrancher et rebrancher son téléphone suivant les modèles)
$ sudo adb kill-server
- Vérifiez maintenant si vous avez toujours le téléphone sur vos périphériques
$ sudo adb devices -l
Une ligne devrait s'afficher avec une espèce de numéro d'identification. Si rien ne s'affiche débrancher et rebrancher le téléphone et refaites la commande.
- Ensuite à tout hasard on va quand même réinitialiser le système qui sert aux transport et à la détection du téléphone par le système
$ sudo adb kill-server
- C'est maintenant que la partie intéressante commence, on va commencer par check complet de l'appareil en surface
$ mvt-android check-adb --output mvt-results/
Ceci va faire tourner un script d'analyse qui va entre autre checker vos messages whatsapp, vos sms, vos applications présentes, les processus lancés dans l'appareil au moment de l'analyse et présents dans les répertoires des exécutables de l'appareils, l'historique d'appel en ce y compris les appels via google talk, etc . Toutes ces choses ont été prouvées comme comportant des brèches de sécurité importantes qui permettaient d'exécuter du code à distance si on envoyait le bon signal que ce soit via un sms, un message whatsapp, un appel, un appel googletalk. Tout ça sans que l'utilisateur ait besoin d'interagir avec le téléphone et donc in fine l'objectif était évidemment d'installer des programmes ou des scripts sur le téléphone pour en avoir le contrôle sans que rien n'apparaisse à l'écran et que l'on puisse consulter à distance toutes les informations de façon régulière ou en temps réel. Ainsi que d'écouter uen conversation télphonique en temps réel ou de lire un message au moment même qu'il arrive. Il n'y a pas de traces apparents de cela car ces scripts permettaient également de supprimer les appels ou les messages qui avaient permis d'infecté l'appareil et ce dans la seconde. Ces scripts ou ces applications ont une durée de vie également. Ce qui veut dire que quand les scripts n'arrivent plus à accéder au C&C c'est à dire au centre de contrôle que les scripts devaient contacter à chaque fois qu'ils se lançaient pour communiquer les informations sur le téléphone, ils s'autodétruisaient d'eux-mêmes. De même l'auteur de ces méfaits pouvaient évidemment enclencher une procédeur d'autodestruction de ces scripts. Donc il se peut que le téléphone ait été infecté pendant une durée de 6 mois puis plus rien et que si vous faites cette vérification après il n'y ait donc pas de traces.
Ce script va donc générer des résultats dans le dossier mvt-results que vous aurez crée auparavant, sous forme de fichier json et txt suivant les données analysées. Ces fichiers auront différentes procédures d'analyses à postériori, respectivement.
Ne vous en faites pas ce n'est qu'une première analyse qui stockent les résultats et que l'on pourra donc analyser de façon plus fine à posteriori. Pas beaucoup d'informations ne vont vous apparaitre dans le terminal à cette étape sauf peut-être quelques applications pouvant poser problème (hypothétiquement) et peut-être des liens de votre historique de navigateur ou des messages.
Cette manipulation va faire apparaitre des messages d'autorisation pour chaque étape que le script mvt effectue sur le téléphone sur votre appareil demandant si vous acceptez une nouvelle clé RSA d'accéder à l'appareil. Je vous conseille de rester sur l'écran paramètres à propos du téléphone pour cette partie. Cochez le fait de toujorus faire confiance et allow/autoriser. Donc restez bien attentif à cela.
- Nous allons ensuite télécharger toutes les applications de type APK de votre téléphone sur votre téléphone pour pouvoir les analyser avec virustotal ou autre chose dans un second temps. Vous pouvez le faire en même temps éventuellement et je pense que de façon intuitive vous saurez tous le faire en comparant les deux commandes et en les combinant même en ne connaissant rien à l'informatique.
$ mvt-android download-apks --output mvt-results/
Cette manipulation va faire apparaitre des messages d'autorisation sur votre téléphone demandant si vous acceptez une nouvelle clé RSA d'accéder à l'appareil. Je vous conseille de rester sur l'écran paramètres à propos du téléphone pour cette partie. Cochez le fait de toujorus faire confiance et allow/autoriser. Donc restez bien attentif à cela.
- voilà on y est. Vous avez tout ce que l'on peut extraire et tout ce dont on a besoin de votre téléphone pour analyse. Analyse que l'on développera dans un second temps.
=== sauvegarde app par app dans l'espoir d'une restauration à postériori ===
Pour cela à défaut de temps pour le moment, nous allons partir du pré-requis qui est que le téléphone Android que ovus avez en main est rooté. Si ce n'est pas fait il est faisable de le faire avec le lien que j'ai mis plus haut
https://www.howtogeek.com/249162/what-is-systemless-root-on-android-and-why-is-it-better/
- Nous allons installer d'abord le magasin d'application F-droid
https://f-droid.org/
- ensuite nous allons installer l'application OAndBackupX qui est uen solution opensource est fiable
https://f-droid.org/en/packages/com.machiav3lli.backup/
- L'application quand vous la lancerez va fiare apparaître un pop-up pour autoriser l'accès root au téléphone.
- Donnez toutes les autorisations demandées par l'application pour accéder enfin à la liste d'applications présentes sur le téléphone. Dans otus les cas le téléphone sera effacé plus tard donc ne vous en faites pas.
- La liste d'application suivant la quantité présente sur votre téléphone peut prendre du temps à s'actualiser.
- L'application ne pourra sauver des choses que sur votre mémoire interne de votre téléphone. Donc on devra retransférer le résultat de ces sauvegardes via mtp sur le pc après.
- Cette application a beaucoup plus de fonctions que simplement le backup. Il peutles déinstaller, tuer leur processus etc.
- Dans un premier temps je vous dirais de consulter cette lsite de long en large pour visualiser ce que vous pensez avoir des problèmes à reconfigurer ou qui pourraient contenir des informations dont vous auriez besoin à posteriori. On parle d'infos didentifications, de fichiers télécharges, de contacts, de messages/conversations, de favoris ou onglets ouverts de navigateurs, d'enregistrements non disponible en libre accès dans la mémoire du téléphone, de bases de données de mots de passes, d'abonnements à des chaînes ou des comptes spécifiques d'un réseau social qui ne seraient pas synchro avec la plateforme centralisée ...
petite exemple pratique à cela: Pour ceux qui étaient déjà versé dans le logiciel libre et qui donc avaient installé des applications de F-droid sans changer la ROM donc l'OS installé sur le téléphone, l'application Barinsta qui vous permet de vous connecter à instagram sans comtpe et d'aller vous affilier à des profils vu publiquement, les mettre en favoris etc. Si on ne sauvegarde pas cette apllication alors tout sera perdu et tout sera à recommencer, or je suis sûr que vous n'avez pas envie de vous réaffilier au milliers de comptes que vous suivez, tout ça sans avoir de compte instagram.
On peut imaginer d'autres exemples comme des applications de terminaux pour ceux qui se connectent en ssh sur leur serveur à partir de leur téléphone et qui auraient stocké leurs clés ssh et config sur leur téléphone.
- Ne pas oublier de mettre vos applications à jour avant un backup quelque soit le magasin duquel cette application provient.
- Vous verrez que c'est assez bien pensé puisque pour chaque backup il y a une îcone pour chaque type de données sauvées. C'est-à-dire une icône séparée par pour une backup incluant l'apk(donc l'appli en elle-même), les données, le cache, les médias externes etc. Donc quand vous avez un doute sur ce dont vous avez besoin dans votre backup parce que vous ne savez pas quel est le type de données est concerné par ce que vous avez dans votre appli, vous pouvez faire différents bakups l'un à la suite de l'autre et ainsi vous verrez bien lors de la restauration quel est le mieux. D'ailleurs le backup ne montrera que ce qu'il y a réussi à trouver comme données malgré ce que vous avez sélectionné avec les icônes sur le backup lui-même.
- quelques exemples de backup j'ai fait par ce biais, la plupart étant des aplications que j'avais déjà installé via F-droid: firefox, brave, dialer (pour le call log), contacts(même dev que dialer), whatsapp, telegram, canary mail, ...
- petite fonction utile de OAndBackupX, il comporte la fonction Exodus, application française développée pour garder une base de données des différents trackers dans les apps.
- Je vous conseille de refire un backup whatsapp et signal si vous avez eu de nouveaux messages durant la procédure. Egalement pour le fait que vous n'aurez probablement pas sauvé votre code généré pour les backups de signal si vous l'utilisiez déjà comme application sms par défaut comme moi. Pour cela dans signal effacez vos backup et refaites de nouveau.
- Pour monter manuellement un android, créer un dossier dans /media, mettez lui toutes les permissions. Lancer dans un terminal la commande aft-mtp-mount /media/nom_du_dossier
=== installer divest (optionel pour ceux qui veulent quelque chose de plus secure que lineage) ===