Transformer son Android en plateforme de test d’intrusion
Signature : , | Mis en ligne le : 19/02/2013
Catégorie(s) :
  • Misc
  • 2 commentaire(s)
    Article publié dans :
    Page 1/3
    Page suivante »

    Selon Gartner, Android représente, en 2011, plus de 30% des nouvelles ventes de smartphones dans le monde. Ce système s’étant démocratisé et possédant une communauté active, il est possible d’utiliser son Android pour effectuer quasiment n’importe quelle tâche. Cet article vous montrera qu’il y a aussi une application pour le test d’intrusion !

    1. Introduction

    1.1. Utilité d'un terminal mobile

    En général, pour effectuer un test d'intrusion, un bon pentester dispose de son ordinateur portable et de sa panoplie d'outils et de machines virtuelles afin d'être prêt pour chaque situation.

    Néanmoins, l'utilisation d'un ordinateur portable peut être fastidieuse lors d'un test d'intrusion, si l'on doit se déplacer souvent ou si l'on souhaite montrer facilement une attaque au client. De plus, l'aspect psychologique est également à prendre en compte. En effet, voir un consultant mettre à jour les failles de son système informatique à l'aide d'un " simple " smartphone peut être plus parlant qu'un long compte-rendu.

    Étant donné que le système d'exploitation mobile Android est basé sur un noyau Linux, nous nous sommes penchés sur la possibilité de s'en servir comme d'une plateforme de test d'intrusion en mettant en place à cette fin une distribution Linux " chrootée " sur le système Android.

    1.2. Conditions nécessaires à l'installation

    Avant de pouvoir utiliser notre Android comme plateforme de test d'intrusion, il est nécessaire de remplir certains prérequis.

    Tout d'abord, de manière à pouvoir interagir de manière plus aisée avec le terminal, le SDK de Google fournit un outil de communication : l'Android Debug Bridge (adb), dont nous allons avoir besoin. L'installation du SDK est très bien documentée pour Windows, Linux et Mac OS [SDK]http://developer.android.com/sdk/installing.html
    et est donc laissée au lecteur comme exercice. L'installation d'un émulateur de terminal est optionnelle puisque toutes les modifications peuvent être effectuées via le shell d'adb.

    Concernant le matériel, c'est-à-dire le téléphone ou la tablette Android, il est  recommandé de disposer d'un clavier physique sur l'appareil ou d'un port USB host (si c'est une tablette) afin d'y brancher un clavier. En effet, réaliser l'installation des outils de pentest en ligne de commandes avec un clavier virtuel tactile s'avère assez pénible...

    1.2.1. Need to be root

    La plupart des manipulations effectuées au cours de l'installation d'une arborescence Linux au cœur du système Android nécessitent un accès root sur le terminal. Nous partons donc du principe que l'appareil est déjà débloqué et que l'installation du binaire su et de l'application SuperUser a déjà été réalisée.

    À titre informatif, il existe des applications sur le Market Android qui " root " la plupart des appareils en un clic (de manière temporaire ou permanente) [ROOT]http://forum.xda-developers.com/showthread.php?t=833953
    .

    1.2.2. Installation de la busybox Android

    La plupart du temps installée durant la procédure de déblocage du téléphone, la busybox [BUSY]http://www.busybox.net/
    fournit une panoplie de binaires d'usage très courant dans les environnements de type UNIX qui ne sont pas présents dans le système Android de base (awk, grep, ln, tar, vi,etc.).

    Le programme busybox doit être préalablement compilé pour la plate-forme ARM ; il est relativement facile de le trouver sur Internet [BUAN]http://benno.id.au/blog/2007/11/14/android-busybox
    . L'installation manuelle est triviale et nous fait bénéficier des outils nécessaires à l'installation de notre distribution de pentest :

    C'est le programme busybox qui contient l'implémentation des différents programmes, il crée simplement les liens symboliques nécessaires au cours de l'installation.

    1.2.3. Connectbot et AndroidVNC

    La manière la plus simple de disposer d'un système dédié au pentest sur notre Android est d'installer une distribution " chrootée ".

    Afin d'y accéder par la suite, nous pourrons mettre en place un serveur SSH en écoute sur localhost. Dans le cas d'applications fournissant un affichage sur le serveur X, la même technique de connexion locale sera effectuée via un serveur VNC.

    Le plus simple est d'installer Connectbot [COBO]http://code.google.com/p/connectbot/
    directement à partir du Market pour accéder au SSH et AndroidVNC [AVNC]http://code.google.com/p/android-vnc-viewer/
    pour accéder au service VNC. Ces deux applications sont gratuites et fournissent les fonctionnalités nécessaires à la manipulation de notre environnement de pentest.

    Il existe des alternatives à ces applications, souvent payantes, offrant plus de fonctionnalités (Better Terminal Emulator Pro, Remote VNC Pro, etc.).

    2. Installation d'une distribution Debian

    Nous avons choisi pour cet exercice d'utiliser une distribution Debian car elle est facile à configurer, dispose d'un gestionnaire de paquets bien fourni, et surtout, d'un support complet de la plateforme ARM [DEB]http://www.debian.org/ports/arm/ utilisée par les terminaux Android.

    Bien qu'il existe des portages pour démarrer des distributions Linux sur du matériel initialement prévu pour Android, ils nécessitent l'intégration de drivers souvent propriétaires (écran tactile, carte Wi-Fi/bluetooth, etc.). L'avantage avec la solution chroot, c'est qu'Android se charge de ça pour nous ; de plus, nous préservons ainsi l'intégrité de notre système principal (possibilité de téléphoner, d'utiliser des applications Android, etc.).

    2.1. Préparation

    2.1.1. Carte SD

    Le système mis en chroot sera sur une nouvelle partition de la carte SD insérée dans le terminal, il faudra veiller à choisir une carte de bonne qualité si l'on veut éviter les ralentissements dus aux accès disque. Une carte de classe 6 ou plus fera très bien l'affaire.

    Il faut prévoir une partition d'1 Go au format ext2 sur la carte SD pour y loger notre distribution. Elle peut très bien coexister avec la partition FAT qui est utilisée par le système Android pour y stocker les médias (photos, musique, etc.), voire même une partition de swap (parfois utilisée par les ROM personnalisées).

    De nombreux outils sont disponibles pour réaliser ce genre de tâches (gparted, par exemple).

    2.1.2. Image Debian ARM

    La distribution Linux Debian dispose d'un outil permettant de créer un système Debian complet à partir d'une source existante : debootstrap.

    Dans un premier temps, à l'aide d'un PC, nous montons la partition ext2 de la carte SD (dans notre cas /dev/sdb2) sur/mnt/chroot.

    L'étape suivante est la création du système sur notre partition en récupérant la distribution directement du site FTP de Debian :

    Donnez votre avis - 2 commentaire(s)
  • jean.michel dit :

    pourquoi faire un chroot alors que des liens sous le / android sont aussi eficaces voir http://jeanmichel.gens.free.fr/etc/install_recovery.sh

  • Vous souhaitez commenter cet article ?
    Brèves Flux RSS
    Édito : GNU/Linux Magazine Hors-Série N°72
    Édito : Linux Pratique N°84
    Édito : MISC N°74
    Édito : GNU/Linux Magazine N°173
    Édito : MISC Hors-Série N°9
    Communication RSS Com. RSS Presse
    HACKITO ERGO SUM
    GNU/Linux Magazine, partenaire du SymfonyLive Paris
    Opensilicium, partenaire de RTS EMBEDDED
    Linux Pratique et Linux Essentiel, Partenaire de l’Open World Forum
    Gnu/Linux Magazine, Partenaire des JDEV 2013
    Rechercher un article dans notre base documentaire :
    En kiosque Flux RSS

    Le tout nouveau GNU/Linux Magazine HS est disponible dès maintenant chez votre marchand de journaux et sur notre site marchand.

    Découvrez le sommaire de ce numéro et un aperçu de ce magazine...

    Lire la suite...

    Le tout nouveau Linux Pratique est disponible dès maintenant chez votre marchand de journaux et sur notre site marchand.

    Découvrez le sommaire de ce numéro et un aperçu de ce magazine...

    Lire la suite...

    Le tout nouveau Misc est disponible dès maintenant chez votre marchand de journaux et sur notre site marchand.

    Découvrez le sommaire de ce numéro et un aperçu de ce magazine...

    Lire la suite...

    Le tout nouveau GNU/Linux Magazine est disponible dès maintenant chez votre marchand de journaux et sur notre site marchand.

    Découvrez le sommaire de ce numéro et un aperçu de ce magazine...

    Lire la suite...

    Le tout nouveau Misc HS est disponible dès maintenant chez votre marchand de journaux et sur notre site marchand.

    Découvrez le sommaire de ce numéro et un aperçu de ce magazine...

    Lire la suite...

    Le tout nouveau Open Silicium est disponible dès maintenant chez votre marchand de journaux et sur notre site marchand.

    Découvrez le sommaire de ce numéro et un aperçu de ce magazine...

    Lire la suite...