Auteur Sujet: Reverse Engineering : Nouveau système de génération de l'option 90 DHCP  (Lu 216041 fois)

0 Membres et 1 Invité sur ce sujet

Flo_77

  • Abonné Free fibre
  • *
  • Messages: 273
  • MEA77
Reverse Engineering : Nouveau système de génération de l'option 90 DHCP
« Réponse #528 le: 16 mai 2019 à 00:02:59 »
Le soucis de ne pas m'être penché là-dessus plus tôt :-\ C'est de l'anti-rejeu mais es-ce que la chaîne complète doit changer à chaque renew? Des gens ici la laissent encore statique? Merci d'avance ;)

jeremyp3

  • Abonné Orange Fibre
  • *
  • Messages: 715
  • Pau (64)
Reverse Engineering : Nouveau système de génération de l'option 90 DHCP
« Réponse #529 le: 16 mai 2019 à 05:11:33 »
bonjour,

j'utilise la chaîne courte sans mon mdp et j'ai obtenu une ip (v4 et v6) ce matin en rebootant ma machine.

pour l'ipv4:
renew 4 2019/05/16 22:49:24;
  rebind 6 2019/05/18 12:07:14;
  expire 0 2019/05/19 02:30:34;

on va garder un oeil là-dessus.

zoc

  • Abonné Orange Fibre
  • *
  • Messages: 4 256
  • Antibes (06) / Mercury (73)
Reverse Engineering : Nouveau système de génération de l'option 90 DHCP
« Réponse #530 le: 16 mai 2019 à 06:25:30 »
Il n’y a pas d’anti rejeu, j’ai la même chaîne longue (avec hash du mdp) depuis novembre.

Flo_77

  • Abonné Free fibre
  • *
  • Messages: 273
  • MEA77
Reverse Engineering : Nouveau système de génération de l'option 90 DHCP
« Réponse #531 le: 16 mai 2019 à 21:10:06 »
Merci de vos réponses, je laisse expirer mon bail et je verrai bien si je récupère de nouveau ma v4 ou non. Je vous tiens informés ;)

Edit : dans les logs j'ai obtenu un nouveau bail depuis mon post d'hier. Il semble à priori qu'il n'y a pas (encore?) besoin de mettre la chaîne complète.

domoticity

  • Abonné Orange Fibre
  • *
  • Messages: 12
  • Nice 06
Reverse Engineering : Nouveau système de génération de l'option 90 DHCP
« Réponse #532 le: 07 juin 2019 à 00:06:48 »
Hello à toutes et à tous.
en suivant vos indications et en allant chercher un peu ailleurs,
j'ai réussi à faire fonctionner ma Tinkerboard sous Debian à la place de ma LiveBox.

Cependant pour l'identifiant dhcp 90,
quand j'utilise le lien fourni dans ce topic https://jsfiddle.net/kgersen/3mnsc6wy/embedded/result/ => ça fonctionne.

Par contre quand j'essaie d'utiliser le script fourni également dans ce topic
#!/bin/bash

login='fti/abcdefg'
pass='hijklmn'

tohex() {
  for h in $(echo $1 | sed "s/\(.\)/\1 /g"); do printf %02x \'$h; done
}

addsep() {
  echo $(echo $1 | sed "s/\(.\)\(.\)/:\1\2/g")
}

r=$(dd if=/dev/urandom bs=1k count=1 2>&1 | md5sum | cut -c1-16)
id=${r:0:1}
h=3C12$(tohex ${r})0313$(tohex ${id})$(echo -n ${id}${pass}${r} | md5sum | cut -c1-32)

echo 00:00:00:00:00:00:00:00:00:00:00:1A:09:00:00:05:58:01:03:41:01:0D$(addsep $(tohex ${login})${h})
=> Ca ne fonctionne pas.

Quelqu'un aurait un script fonctionnel, ou bien est ce moi qui suis mauvais :p ?

Merci par avance


iznogoud

  • Abonné Orange Fibre
  • *
  • Messages: 40
  • Essonne
Reverse Engineering : Nouveau système de génération de l'option 90 DHCP
« Réponse #533 le: 07 juin 2019 à 13:46:03 »
Par contre quand j'essaie d'utiliser le script fourni également dans ce topic => Ca ne fonctionne pas.

Bonjour, En effet, les deux ne renvoient pas les mêmes chaînes de caractères. Le javascript de la page https://jsfiddle.net/kgersen/3mnsc6wy/embedded/result/ renvoie toujours la même chaîne :
00:00:00:00:00:00:00:00:00:00:00:1a:09:00:00:05:58:01:03:41:01:0D:66:74:69:2F:61:62:63:64:65:66:67:3c:12:31:32:33:34:35:36:37:38:39:30:31:32:33:34:35:36:03:13:41:86:08:90:50:a8:17:74:07:38:45:97:55:4a:5d:ee:34
Le bash renvoie la chaîne :
00:00:00:00:00:00:00:00:00:00:00:1A:09:00:00:05:58:01:03:41:01:0D:66:74:69:2f:61:62:63:64:65:66:67:3C:12:65:66:64:66:30:63:31:33:65:61:33:30:32:30:36:39:03:13:65:9c:83:54:7a:47:2d:e7:de:9a:cb:22:5c:cc:1f:8c:d3

Les 12 premiers caractères sont les mêmes que ceux générés par le javascript et constants puis, à chaque exécution du programme bash les 35 derniers caractères sont manifestement générés aléatoirement pour le login fti/abcdefg et le mot de passe hijklmn.

Pour répondre à ta question le programme bash fonctionne mais ne renvoie pas la même chaîne pour l'option 90. Ceci est dû à l'explication donnée dans cette page https://lafibre.info/remplacer-livebox/cacking-nouveau-systeme-de-generation-de-loption-90-dhcp/. À moins que depuis l'année dernière Orange ait changé sa procédure d'authentification.

Il faudrait que tu analyses la trame renvoyée par la Livebox au moment du démarrage, avec wireshark ou la commande tcpdump pour voir quelle chaîne de caractère Orange génère et identifier les caractères aléatoires à chaque redémarrage.

Electrocut

  • Abonné Orange Fibre
  • *
  • Messages: 512
  • Pont-Péan (35)
Reverse Engineering : Nouveau système de génération de l'option 90 DHCP
« Réponse #534 le: 07 juin 2019 à 14:07:28 »
En pratique, ça fonctionne encore aujourd'hui sans la partie aléatoire dérivée du mot de passe, non ?

Mon routeur sous OpenWRT s'authentifie avec succès avec la chaîne de l'option 90 en dur, sous cette forme :

        option sendopts '77:2b46535644534c5f6c697665626f782e496e7465726e65742e736f66746174686f6d652e4c697665626f7834 90:00000000000000000000001a0900000558010341010d6674692f71707138383838[/color]'

zoc

  • Abonné Orange Fibre
  • *
  • Messages: 4 256
  • Antibes (06) / Mercury (73)
Reverse Engineering : Nouveau système de génération de l'option 90 DHCP
« Réponse #535 le: 07 juin 2019 à 15:53:56 »
à chaque exécution du programme bash les 35 derniers caractères sont manifestement générés aléatoirement pour le login fti/abcdefg et le mot de passe hijklmn.
Oui, c'est pour obtenir un comportement le plus proche possible de ce que fait la box. D'ailleurs, seule une partie est aléatoire et sert de sel pour le hachage du login+mot de passe (protocole CHAP similaire à ce qui existe sur PPP). Cette seconde partie dépend donc du sel et n'est donc pas aléatoire (sel identique = hash identique).

Accessoirement, vu que c'est moi qui ait écrit le script bash, je tiens à préciser (et je crois que je l'avais déjà fait) que je ne l'ai utilisé chez moi (j'ai récupéré ma chaine d'identification avec tcpdump directement sur le port WAN de ma LB). Par contre au moins une personne a confirmé que la chaine générée fonctionnait chez lui.

domoticity

  • Abonné Orange Fibre
  • *
  • Messages: 12
  • Nice 06
Reverse Engineering : Nouveau système de génération de l'option 90 DHCP
« Réponse #536 le: 08 juin 2019 à 09:47:40 »
Hello.
Merci pour vos réponses.
En tout cas ton script est super balèze.
J'aimerais savoir en faire.
Je l'etudierai ce weekend pour essayer de le comprendre.
Pour ma chaîne générée.je vais retenter le coups et faire ce que tu m'as propose.
Merci encore

Flo_77

  • Abonné Free fibre
  • *
  • Messages: 273
  • MEA77
Reverse Engineering : Nouveau système de génération de l'option 90 DHCP
« Réponse #537 le: 08 juin 2019 à 11:51:53 »
Hello.
Merci pour vos réponses.
En tout cas ton script est super balèze.
J'aimerais savoir en faire.
Je l'etudierai ce weekend pour essayer de le comprendre.
Pour ma chaîne générée.je vais retenter le coups et faire ce que tu m'as propose.
Merci encore
Hello, pour vulgariser un peu le code, dans ses grandes lignes :

Citer
r=$(dd if=/dev/urandom bs=1k count=1 2>&1 | md5sum | cut -c1-16)
récupération d'un pseudo-aléatoire généré par le système, hashage en md5 de la valeur.
Citer
id=${r:0:1}
Création d'un salt (pas compris la structure)
Citer
h=3C12$(tohex ${r})0313$(tohex ${id})$(echo -n ${id}${pass}${r} | md5sum | cut -c1-32)
Création de la partie dynamique de l'option DHCP 90 d'Orange, avec des parties "fixes", mélangées au random précédent, et du salt accompagnant le mot de passe de l'abonnement Orange.
Citer
echo 00:00:00:00:00:00:00:00:00:00:00:1A:09:00:00:05:58:01:03:41:01:0D$(addsep $(tohex ${login})${h})
Affichage de la chaîne finale, avec les octets communs au début, et la partie mobile (variable h) de la chaîne générée juste avant.

enfin le niveau technique pour faire un script comme celui-ci, est impressionnant. Bravo!

domoticity

  • Abonné Orange Fibre
  • *
  • Messages: 12
  • Nice 06
Reverse Engineering : Nouveau système de génération de l'option 90 DHCP
« Réponse #538 le: 08 juin 2019 à 19:37:14 »
Merci pour les explications.
😀😀

domoticity

  • Abonné Orange Fibre
  • *
  • Messages: 12
  • Nice 06
Reverse Engineering : Nouveau système de génération de l'option 90 DHCP
« Réponse #539 le: 08 juin 2019 à 22:56:58 »
Hello, pour vulgariser un peu le code, dans ses grandes lignes :
récupération d'un pseudo-aléatoire généré par le système, hashage en md5 de la valeur.Création d'un salt (pas compris la structure)Création de la partie dynamique de l'option DHCP 90 d'Orange, avec des parties "fixes", mélangées au random précédent, et du salt accompagnant le mot de passe de l'abonnement Orange.Affichage de la chaîne finale, avec les octets communs au début, et la partie mobile (variable h) de la chaîne générée juste avant.

enfin le niveau technique pour faire un script comme celui-ci, est impressionnant. Bravo!

Je te remercie encore pour tes explications.

Par rapport à ce générateur  :https://jsfiddle.net/kgersen/3mnsc6wy/embedded/result/ :

La partie id=${r:0:1} serait l'équivalent du Salt du générateur graphique.

Mais dans le générateur du lien que j'ai mis en haut : La partie Byte sert à quoi et elle est représentée où dans le script.

Merci encore