iPhoneSoft : forum iPhone, iPad, Apple Watch, Apple TV et Mac

application iSoft pour le forum iPhoneSoft (iPhone, iPod, iPad, Apple Watch, Apple TV, Mac et services Apple

Forum iPhone, iPod et iPad, Apple TV, Apple Watch et Mac en français par iPhoneSoft pour les systèmes iOS, macOS, tvOS et watchOS

Vous n'êtes pas identifié(e).



#1 03-07-2012 19:55:57

Toshy
Membre

[TUTORIEL] SSH: Reprenez le contrôle sur votre idevice

Bonjour à tous,
Dans ce tutoriel, je vous présenterais le SSH. Le SSH(Secure Shell) est un protocole de chiffrement qui peut exécuter des programmes sur un appareil(serveur) depuis un autre(le client). C’est un protocole comme le HTTP qui est utilisé pour le web ou le FTP sauf que le SSH permet beaucoup plus de chose et permet un contrôle totale sur le serveur depuis l’extérieur ce qui est dangereux, c’est pour cela que l’accès SSH est protégé par un mot de passe et que le protocole est crypté par une clé RSA afin d’éviter le vol d’information en cas d’interception des communications.

Pour suivre ce tutoriel, il est indispensable de posséder un certain nombre de choses dont voilà une liste :
-    Un idevice jailbreaker
-    Une Mac ou un PC sous linux ou à défaut seul un idevice suffit.
-    Deux main et un cerveau
Et enfin il faut que l’idevice soit sur le même wifi que l’ordinateur(il est possible de faire autrement mais il peut y avoir des problèmes de pare-feu et de redirection de port).

PS : Je ne parlerai pas des ordinateurs sous Windows car je ne possède plus d’ordinateur sous ce système mais je vous conseille de faire des recherche sur Putty ou Cygwin.

1.    Préparation du matériel
La préparation du matériel est une étape obligatoire qui n’est souvent pas la plus amusante.
Pour l’idevice : Télécharger et installé OpenSSH de Saurik sur la Source Cydia/Telesphoreo.

Sous mac : Il suffit d’ouvrir Terminal.app présent dans Applications >Utilitaires > Terminal
Sous linux : Il vous faut un accès en ligne de commande(tty ou émulateur de terminal comme gnome-terminal) avec le paquet openssh installé. Pour le vérifier il vous suffit de taper la commande ssh, si la commande existe alors le paquet est installé.

Il existe une autre solution qui est l’application MobileTerminal de Cydia mais vous risquer très vide d’être dégouté du terminal.

2.    Première connexion
Nous allons effectuer notre première connexion en SSH sur notre idevice pour cela, il faut vérifier que SSH est activé via SBSetting par exemple ainsi que récupérer l’adresse IP de notre idevice dans le wifi afin de pouvoir s’y connecter depuis notre ordinateur.


La photo m’indique que le SSH est activé et que mon adresse IP wifi est 192.168.0.21. Celle ci se trouve à coté de Wi-Fi iP Address. L’adresse IP de notre device dans le wifi commence toujours par 192.168.*.* .
Nous allons donc pouvoir nous connecter à notre device en tapant la ligne suivante dans notre terminal :

ssh root@192.168.*.*

En remplaçant les étoiles par votre adresse ainsi moi je taperais

ssh root@192.168.0.21

Appuyer sur la touche ENTER afin d’exécuter la commande. Il se peut qu’un message vous demandant si vous voulez ajouter la clé RSA de votre idevice comme la liste des clés sûr apparaisse. Si c’est le cas répondait oui et valider.
Essayons de comprendre cette ligne qui peut paraître complexe au premier abord mais qui est en faite assez simple une fois expliquer. Nous demandons de lancer la commande ssh qui permet tout simplement de se connecter en SSH au serveur qui lui est donnée. La syntaxe est la suivante :

ssh utilisateur@adresse

Nous demandons donc une connexion à l’utilisateur root de notre idevice. L’utilisateur root parfois aussi appelé super-utilisateur est celui qui a tout les droits, il peut tout supprimer, tout modifier etc…
A la suite de cette commande, l’idevice va vous demander le mot de passe :

ssh root@192.168.0.21
root@192.168.0.21's password:

Vous devez alors renseigner votre mot de passe. Si vous ne savez pas quelle mot de passe vous avez choisi c’est que c’est certainement le mot de passe par défaut « alpine », sinon taper le mot de passe que vous avez choisi.
Une fois rentrer vous devez voire la ligne suivante apparaître dans votre terminal :

iPhone:~ root#

Décryptons un peu ce charabia :
iPhone : Le terminal nous annonce que nous sommes connecter à notre iphone.
~ : Cette petite vague à la suite des deux points nous renseigne sur notre emplacement dans la liste des fichiers de notre téléphone. Cette petite vague qui peut vous paraître incompréhensible pour vous est d’une aide précieuse pour un administrateur système qui sait alors qu’il se trouve dans le dossier personnel de l’utilisateur (ici pour root c’est /var/root)
root : C’est l’utilisateur avec lequel on est connecter.
# : Ce dièse nous informe que nous avons affaire à un compte super-utilisateur, si il s’agissait d’un compte normal nous aurions eu droit à un dollars ($).

Nous allons commencer avant tout par changer le mot de passe de l’utilisateur root car en utilisant le mot de passe par défaut vous risquer fort de vous faire pirater votre téléphone et il sera alors facile pour un pirate de récupérer vos SMS, appels, mails mais aussi installer un petit logiciel qui appel tout seule des numéros surtaxés(super la petite surprise à la fin du mois ? ). Pour éviter cela nous allons changer tout de suite le mot de passe en tapant la commande suivante :

passwd

Le téléphone répond par :

New password:

Il vous suffit de taper votre nouveau mot de passe

Retype new password:

Retaper le même mot de passe pour éviter d’avoir fait une faute de frappe la première fois.
PS : Quand vous taper votre mot de passe rien n’apparaît, c’est normal afin d’éviter qu’un œil aviser puisse voire le nombre de lettre dont se compose votre mot de passe si des petites étoiles s’afficher.
Et voilà avant de passer à la suite je vais vous expliquer tout simplement comment sortir du SSH. Pour cela, il suffit de taper

exit

Et voilà, la connexion avec votre idevice est fini.

Bon maintenant, il faut que je vous explique quelque chose. iOS se base sur le même code source que le système d’exploitation des Macs. Il utilise le même noyau : Darwin et les mêmes utilitaires dérivés d’Unix. En faite Mac OS récupère le code de FreeBSD et y ajoute ses propres surcouches notamment Darwin et Aqua(l’interface graphique). iOS utilise le noyau Darwin, les utilitaires de FreeBSD et ajoute sa propre surcouche pour iOS(le springboard, les API, les drivers etc…). Les commandes détaillés dans cette article sont les mêmes que sous BSD, Mac OS et Linux(en gros tout les dérivés d’UNIX).  Vous pouvez trouver leur documentation en tapant « man non_de_la_commande » dans un moteur de recherche.
Nous allons nous reconnecter en SSH à notre idevice et nous allons nous positionner à la racine(la base du système de fichier). Pour cela :

cd /

Nous nous trouvons alors à la racine de notre idevice. La commande cd(Change Directory) permet de se déplacer dans notre idevice en utilisant les chemins absolue(/var/media par exemple) ou des chemins relatif. Chemin relatif qui dépendent du répertoire ou nous voulons allez. Si nous nous trouvons dans /var, il suffira de taper :

cd media

Nous nous retrouverons alors dans le dossier /var/media.

Nous allons maintenant nous intéresser au schéma de partitionnement de la mémoire Flash de notre idevice. Pour cela taper la commande :

df –h

Filesystem          Size     Used              Avail               Use%         Mounted on
/dev/disk0s1s1     1.4G    940M          390M             71%         /
devfs                    26K     26K               0                    100%         /dev
/dev/disk0s1s2       29G     15G              14G                  53%         /private/var
Vous devriez obtenir sensiblement la même chose que moi. Nous avons donc trois point de montage :
-    /dev/disk0s1s1 monter à la racine
-    /dev/disk0s1s2 monter dans /private/var
-    Et un système de fichier devfs monter dans dev
Devfs est en faite un système de fichier en mémoire qui contient la liste des périphériques connecter au device.
On voit donc deux partitions sur le même disque :
-    L’une à la racine contient le noyau Darwin et les utilitaires UNIX
-    L’autre contient la surcouche iOS, les vidéos, photo, applications…
Le fichier de configuration se trouve dans /etc/fstab. C’est à partir de ce fichier que iOS sait où monter les partitions au démarrage. Ne le modifier pas à moins d’être absolument certain de ce que vous faite.


Le tutoriel n’est pas fini et doit continuer. J’espère vous emmener jusque au fin fond de l’exploration de votre idevice.

Dernière modification par Toshy (04-07-2012 17:41:37)



iPhone 4S 32Go iOS 5.1.1 Jailbreak avec Absinthe
iPod Touch 32Go iOS 5.1.1 Jailbreak avec Absinthe
Macbook Pro 13" fin 2011 sous OS X 10.6

Et aussi:
Netbook sous Fedora
Serveur Dell sous Debian

Hors ligne

#2 03-07-2012 20:59:14

Toshy
Membre

Re : [TUTORIEL] SSH: Reprenez le contrôle sur votre idevice

J'ajouterai demain une partie sur sshfs et je commencerai vraiment l'exploration des possibilités de SSH avec l'étude du schema de partition des idevices, la configuration, la gestion du démarrage etc...


iPhone 4S 32Go iOS 5.1.1 Jailbreak avec Absinthe
iPod Touch 32Go iOS 5.1.1 Jailbreak avec Absinthe
Macbook Pro 13" fin 2011 sous OS X 10.6

Et aussi:
Netbook sous Fedora
Serveur Dell sous Debian

Hors ligne

#3 04-07-2012 17:42:17

Toshy
Membre

Re : [TUTORIEL] SSH: Reprenez le contrôle sur votre idevice

Je viens d'ajouter un petit passage sur la commande cd ainsi que sur la table de partition de l'iphone.


iPhone 4S 32Go iOS 5.1.1 Jailbreak avec Absinthe
iPod Touch 32Go iOS 5.1.1 Jailbreak avec Absinthe
Macbook Pro 13" fin 2011 sous OS X 10.6

Et aussi:
Netbook sous Fedora
Serveur Dell sous Debian

Hors ligne

Pied de page des forums