2 votes

Que sont ces codes hexagonaux et comment les décoder/encoder ?

J'ai envie d'en savoir un peu plus sur un exploit qui a été publié et qui crée un utilisateur root sur une machine linux ; cependant, avant d'exécuter le code, je veux m'assurer que je comprends tout et je n'arrive pas à trouver d'informations sur les codes hexagonaux utilisés.

Voici le lien vers le code source de l'exploit : exploitdb.com/exploits/17439

C'est un programme C de base, mais la valeur d'un des pointeurs utilise un code comme celui-ci :

           "\x6a\x26\x5a\x25\x04\xe3\xb3\x64"
           "\x04\xc7\x03\x65\x48\xe6\x02\xc3"

Comment puis-je le décoder en ASCII et comment puis-je le ré-encoder ?

Je pense que je pourrais être totalement à côté de la plaque ici et que ce code devrait vraiment être décodé en assembleur, mais je ne sais pas vraiment. Dans tous les cas, que puis-je faire avec ce code pour m'assurer que je n'exécute pas de commandes arbitraires ?

Je suis complètement novice en C, mais je connais suffisamment VB.net/C#/PHP pour être dangereux.

P.S. Pour ceux d'entre vous qui s'inquiètent, je vais exécuter cette opération dans une VM.

5voto

JdeBP Points 25711

El l'entrée même de la base de données que vous avez indiqué donne à la fois le programme original en langage assembleur, et ses équivalents en langage C, immédiatement au-dessus le code machine brut codé en hexadécimal. C'est SuperH le langage assembleur.

1voto

Ignacio Vazquez-Abrams Points 107432

Le REPL de Python est bon en cas de besoin pour ce genre de choses.

>>> "\x6a\x26\x5a\x25\x04\xe3\xb3\x64"
'j&Z%\x04\xe3\xb3d'
>>> "\x04\xc7\x03\x65\x48\xe6\x02\xc3"
'\x04\xc7\x03eH\xe6\x02\xc3'

Donc ouais, à peu près tout est assemblé. Vous aurez besoin d'un désassembleur (ou d'un livre de données de CPU et de beaucoup de patience) pour le lire.

0voto

Dave Sherohman Points 5293

Le décodage en ASCII serait inutile, car il ne s'agit pas d'une chaîne de texte - l'adresse de l'utilisateur est la suivante \x0... correspondent aux caractères de contrôle du jeu de caractères ASCII, et non aux caractères imprimables.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X