Rechercher

Hackers en série : la saga Matrix

Impossible de parler hack sans mentionner Matrix. Saga cultissime – dont le premier épisode fête ses vingt ans cette année – son scénario met en scène une bande de hackers surdoués, experts en arts martiaux et en maniement des armes à feu.

Si les effets spéciaux sont bien ficelés et les bagarres restées célèbres, les scènes de hack sont-elles réalistes ?

L’intrigue

Novices et non-avertis, accrochez-vous, car l’intrigue de la saga Matrix peut être difficile à appréhender.

Le personnage principal s’appelle Thomas Anderson, joué par Keanu Reeves. Thomas est programmeur informatique le jour, et hacker la nuit, sous le pseudonyme de « Neo ». Le jeune homme est obnubilé par une question : qu’est-ce que la matrice ?

Il est rapidement contacté par Trinity et Morpheus, deux hackers de renommée internationale, qui disposent non seulement de la réponse à cette question, mais surtout d’une information fatidique : Neo serait « l’élu » dont la mission est de sauver l’humanité.

(Si vous n’avez pas vu Matrix et souhaitez découvrir la saga sans aucun spoiler, passez directement à l’intertitre suivant)

Sauver l’humanité ? Et oui, car la matrice est en fait une réalité virtuelle. Dans ce contexte futuriste, les machines, dopées à l’intelligence artificielle, ont peu à peu pris le pas sur les humains. Seule faille : elles fonctionnent essentiellement à l’énergie solaire. Pour contrer ces robots malveillants, les humains ont alors trouvé le moyen de faire disparaître le soleil en le masquant continuellement derrière d’épais nuages. C’était sans compter la motivation des machines, qui, pour produire l’énergie nécessaire à leur survie, ont décidé d’asservir les humains au rang de pile. Pour cela, les humains sont produits à la chaîne, enfermés dans des cocons, branchés en permanence à une réalité virtuelle – la fameuse matrice – et ce, pendant toute leur vie.

Comme tout système informatique, la matrice n’est pas infaillible. Un petit groupe de rebelles a réussi à se débrancher et tente de combattre ces robots esclavagistes. Ils comptent sur Neo, l’élu annoncé par une prophétie, pour délivrer l’humanité de cette emprise logicielle.

Un classique

Matrix est sorti en 1999. Grâce à un scénario basé sur une intrigue originale et complexe, des personnages pour le moins charismatiques mais surtout la qualité des effets spéciaux – dont certains, vingt ans après, n’ont pas pris une ride – la saga Matrix est devenue culte.

Et pour cause, Lana et Lilly Wachowski, les réalisatrices, ont mis le paquet. Pour le premier opus, elles demandent 80 millions de dollars à la Warner. Beaucoup trop selon le studio, qui leur offre tout de même 10 millions ; une somme qui sera utilisée en totalité pour réaliser les dix premières minutes du film. Un pari risqué, mais qui a payé : bluffés, les producteurs leur accordent les 70 millions restants.

Le secret du code défilant

La matrice, quand elle n’est pas matérialisée sous la forme d’un monde proche de celui que nous connaissons, est représentée par un code défilant à toute vitesse, écrit vert fluo et en japonais. Un détail de la réalisation devenu lui aussi célébrissime.

Simon Whiteley, le concepteur de cet effet numérique a révélé l’origine de son idée : « un livre de recettes japonaises de sa femme, qu’il a scanné et repris pour créer la séquence », comme l’explique Allocine[1].

Quid du code des scènes de hack ? Provient-il lui aussi d’un livre de cuisine ou est-il réaliste ? Analyse de l’équipe Ethical Hacking d’Orange Cyberdefense.

Hack, simili cuir et lunettes noires

Visionner l’extrait

L’extrait sélectionné est issu du second opus de Matrix, centré sur le sauvetage de la ville de Zion, seule enclave encore habitée par de « vrais » humains. Dans cette scène restée célèbre, Tritiny utilise des techniques de hacking très réalistes, dont certaines sont encore valides de nos jours, soit vingt ans après le tournage.

De vrais outils et une stratégie pertinente

Le but de Trinity dans cette scène ? Couper le courant d’une zone géographique.

Elle utilise nmap, un outil utilisé pour réaliser des scans réseau et déterminer, sur un ensemble d’IPs, quels sont les ports ouverts, et éventuellement découvrir le type de service derrière chaque port.

L’IP qu’elle cible est d’adressage privé, ce qui montre qu’elle est entrée dans le réseau interne de sa cible, ici une centrale électrique. Le service que Trinity découvre (puis cible) sur cette machine est un SSH – un protocole de communication sécurisé. Elle utilise un exploit sur la faille CR32 qui se nomme « sshnuke ».

La payload (c’est à dire la charge active qui va déclencher l’exploit) est un changement du mot de passe root – root étant l’administrateur sur Linux. Elle change le mot de passe en : “Z10N0101”

Trinity se connecte ainsi au SI avec son nouveau mot de passe, et désactive les différents systèmes permettant de gérer le courant au sein de la ville.

Des petites imperfections

Le changement du mot de passe root n’est pas très discret puisque les administrateurs du système ne pourront plus se connecter (s’ils utilisent l’accès via l’utilisateur root). Il aurait mieux valu rajouter une clef SSH[2], ou simplement déclencher un reverse-shell[3] le temps de l’opération.

Généralement la nomenclature *nix prévoit deux tirets de ce type “–” pour les  longs  arguments. Donc l’argument rootpw devrait normalement s’écrire “–rootpw” (ce n’est toutefois pas impossible que l’auteur de l’exploit n’ai pas tenu compte de la nomenclature).

Il est aussi très rare d’avoir des exploits sur SSH de nos jours mais pour l’époque ça ne paraît pas impossible.

Verdict : pas parfait, mais pas mal du tout. Les machines n’ont qu’à bien se tenir.

Notes :

[1]http://www.allocine.fr/film/fichefilm-19776/secrets-tournage/

[2]clef Secure Shell, permet une connexion sécurisée

[3]Tunnel inversé en français. Technique qui permet de diriger un ordinateur vers un autre, les faisant ainsi interagir.