Installer DSPloit comme un nul(l)

Depuis quelques semaines, vous pouvez avoir vu dans vos flux d’informations qu’un nouvel outil d’intrusion, gratuit et open source, avait fait son apparition sous Android : DSPloit.

Cet outil est vraiment puissant, et vu que je n’ai pas encore parlé du piratage à partir de téléphones portables, nous verrons comment installer cette application sur votre téléphone Android !

De quoi a-t-on besoin ?

Vu que nous sommes un peu nul(l), nous ne nous contenterons pas de récupérer un « apk » (l’extension des applications Android), mais nous le compilerons nous même nous même, on pourra ainsi modifier l’application ou corriger des erreurs si nécessaire.

Il nous faudra un environnement de développement Android, nous le fonderons sous Eclipse.

De plus, il est écrit, sur la page officielle de l’application, qu’une version complète de busybox est nécessaire. Encore une fois, comme tout bon nul(l), nous ne faisons pas confiance aux autres et nous compilerons notre propre version de busybox afin d’y incorporer les outils que nous voulons.

Nous aurons besoin d’un compilateur multi-processeurs (disons buildroot) sous Linux.

Enfin, et ce n’est pas le sujet de cet article, votre téléphone portable devra être « rooté ». Personnellement, pour mon Galaxy Nexus, j’ai utilisé le Nexus Root Toolkit qui permet de faire beaucoup d’autres choses !

Compiler DSPloit

Avant de commencer, je vous conseille de lancer l’installation de buildroot (voyez plus bas) avant de continuer. Cette étape est effectivement très longue…

Installer l’environnement

Nous commencerons par installer Eclipse classic ainsi que le SDK Android. (Il vous faudra le JDK 1.6 pour compiler, le 1.7 n’étant pas compatible à l’heure actuelle pour ce que nous ferons au cours de cet article)

Il faut ensuite lancer Eclipse et installer le plugin « Android Developer Tools« . (La page est en anglais, mais très bien documentée)

Lors du redémarrage d’Eclipse, un message d’erreur apparaît :

SDK plateform Tools component is missing!
Please use the SDK Manager to install it.

Nous suivrons bêtement ce qui est indiqué en se rendant sur le « SDK Manager » qui a dû s’ouvrir à la fin de l’installation du « SDK Android ». Pour information, SDK  veut dire Software Development Kit soit « Kit de développement de logiciel » en français.

Pour compiler DSPloit, nous aurons besoin des dépendances suivantes, il faut les cocher :

  • Tools > Android SDK Plateform-tools
  • Android  4.0 (API14)

Une fois ces dépendances installées, il faut redémarrer Eclipse.

Compiler DSPloit

Commençons par télécharger et décompresser DSPloit.

Ensuite, importons le projet dans Eclipse, en cliquant sur File > Import… > Android > Existing Android Code Into Workspace > Next.

Puis, dans Root Directory, nous renseignons le dossier où nous l’avons décompressé DSPloit, puis nous cliquons sur Finish.

Vu le nombre d’erreurs, nous nous rendons bien vite compte qu’il manque quelque chose. Il s’agit de la librairie Actionbar Sherlock que nous téléchargeons, décompressons et importons dans Eclipse, tout comme nous l’avons fait pour DSPloit.

Il faut noter que seul le sous-projet « library » est utilisé par DSPloit, nous pouvons n’importer que celui-ci.

Configurons ensuite DSPloit pour qu’il utilise le projet « library » que nous venons d’importer. Faisons un clic droit sur le projet DSploit > Properties > Android

Nous remarquons ici l’erreur sur le chemin vers le projet « library ». Corrigeons cette propriété pour faire référence au projet que nous venons d’importer :

Sélectionner la ligne « ..\ActionBarSherlock\library » puis cliquer sur Remove.
Cliquer sur Add…, sélectionner « library » et cliquer sur OK.
Valider en cliquant sur OK.

Nous avons maintenant une nouvelle erreur :

Found 2 versions of android-support-v4.jar in the dependency list,

Pour corriger ça, rien de plus simple ! Remplacez la librarie android-support-v4.jar du dossier libs du projet library par celle du projet DSPloit.

Vous ne devriez plus avoir d’erreur. Si c’était toujours le cas, vous devrez vous retrousser les manches et les corriger vous même (Il semblerait par exemple que les derniers contributeurs aient utilisé le style « Theme.Sherlock.ForceOverflow » qui n’est pas encore inclus dans la dernière version stable d’Action Bar Sherlock… Supprimer le « .ForceOverflow » corrige le problème.)

Nous pouvons dès à présent compiler DSPloit par un clic droit sur le projet > Export… > Android > Export Android Application > Next > Next > Create a new keystore (entrez n’importe quelle information, ce n’est pas important) > Destination APK file > Finish.

Il ne nous reste plus qu’à copier l’application sur notre téléphone, autoriser les applications provenant d’une source inconnue, puis l’installer. Vous ne pourrez néanmoins pas encore l’utiliser, il vous faut busybox.

Compiler et installer busybox

Installer l’environnement de compilation

Busybox est un outil Linux, lancez votre Linux préféré, téléchargez buildroot et décompressez-le.

Placez vous ensuite dans le dossier de buildroot que nous configurons :

make menuconfig

Un menu bleu s’affiche alors, nous renseignons le processeur de notre téléphone. Pour connaître le type de processeur qu’utilise votre téléphone, installez l’application Android System Info sur le Google Play Store.

Pour mon Galaxy Nexus, j’ai utilisé la configuration suivante :

  • Target Architecture > ARM (little endian)

Et c’est tout ! J’aurais aussi pu configurer les paquets qu’il téléchargera, mais vu que j’ai le temps, j’avais un peu la flemme de faire le tri…

Si vous n’avez rien installé d’autre à votre Linux, vous ne pourrez pas aller plus loin avant d’installer texinfo :

sudo apt-get install texinfo

Lançon maintenant la préparation de notre environnement de compilation :

make

Ce processus peut prendre longtemps, prévoyez quelque chose d’autre à faire 🙂

Le processus est long… très long…

Une fois buildroot installé, il faut configurer uclibc pour supporter les fichiers de plus de 2Go ainsi que toutes les fonctionnalités réseau :

make uclibc-menuconfig

Un autre menu bleu apparaît alors. Nous nous assurons que les propriétés suivantes sont sélectionnées :

Target Architecture > arm
General Library Settings > Large File Support
Networking Support > IP version 6 support
Networking Support > Remote procedure call (RPC) support
Networking support > Full RPC support
Networking support > Reetrant RPC support
Networking support > Support res_close() (bsd-compat)

On compile à nouveau uclibc :

make uclibc

Compiler busybox

Tout comme pour l’environnement de compilation, il faut commencer par configurer la compilation de busybox :

make busybox-menuconfig

Il faut tout d’abord s’assurer de quelques propriétés de compilation :

Busybox Settings > Build Options > Build busybox as a static library (no shared libs)
Busybox Settings > Build Options > Build with large file Support (for accessing files > 2GB)

Nous cocherons ensuite toutes les applets sauf les suivantes qui ne sont pas supportées par buildroot ou ne vous seront d’aucune utilité sous Android :

Archival Utilities > dpkg
Archival Utilities > dpkg_deb
Archival Utilities > rpm
Init Utilities > Support dumping core for child processes (debugging only)
Login/Password Management Utilities > login

Compilons, mes bons !

make busybox

Installer busybox sur votre téléphone

Il vous reste maintenant à copier votre application depuis output/build/busybox-1.20.2/busybox vers votre téléphone (disons le dossier « Download »)

Ouvrez ensuite une ligne de commandes sur votre téléphone, en utilisant par exemple Terminal Emulator disponible gratuitement dans la boutique Google, puis entrez les lignes suivantes, pour copier, autoriser l’exécution puis installer busybox au bon endroit :

cd /sdcard/Download
su
cp busybox /system/xbin
chmod /system/xbin/busybox 755
busybox --install /system/xbin

Et voilà, vous pouvez dès à présent utiliser DSPloit ! (ouf)

Conclusion

La tâche la plus longue a sans doute été l’installation de l’environnement BuildrootCertains me dirons d’ailleurs que c’était inutile car on peut trouver busybox en téléchargement sur le Google Play Store ! Ce à quoi je répondrai que j’ai essayé d’installer une de ces fameuses versions du la boutique Google… Le résultat a été une perte des fonctionnalités WIFI de mon téléphone avec impossibilité de revenir en arrière sans flasher mon téléphone… Ce qui tombait bien remarquez car Android 4.1.2 venait tout juste de sortir 😀

En tout cas, une fois BuildRoot installé et configuré, cette étape n’aura plus à être recommencée si vous voulez uniquement mettre à jour votre busybox. Effectivement, une fois l’environnement de développement, qu’il soit BuildRoot ou Eclipse, est installé et stable, on peut le réutiliser à volonté !

Si vous avez suivi cet article, vous avez installé une application que vous avez compilé vous même, et que vous pourrez aisément modifier pour correspondre à vos besoins (contournement d’antivirus ou de systèmes de détections d’intrusion par exemple).

De plus, je trouve que posséder une application qui fonctionne et que l’on a soi-même compilé a quelque chose de bon pour le moral.

Ce qu’il faut retenir

On peut apprendre beaucoup de choses par l’open-source, mais récupérer et compiler un projet peut s’avérer être une tâche fastidieuse sans tutoriel ou documentation. Il faut savoir mettre les mains dans le cambouis et utiliser Google pour espérer pouvoir se débrouiller seul et apprendre.

Parce qu’il y en a beaucoup : les sources

Publicités
À propos

Un informaticien, qui tente de faire comprendre au public que l'informatique n'est pas si compliquée, malgré des acronymes et autres termes obscurs pour faire croire que c'est difficile (et que c'est de votre faute si "ça ne marche pas")

Tagged with: , , , , , , , , , , , , ,
Publié dans Android, Développement, Informatique, Installations, Sans fil

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

MystCaster
octobre 2012
L M M J V S D
« Sep   Nov »
1234567
891011121314
15161718192021
22232425262728
293031  
Catégories
Archives
%d blogueurs aiment cette page :