Comme vous le savez, orange à modifié la manière dont l'authentification DHCP est réalisé.
Ancienne échange hexa DHCP (option 90)
00:00:00:00:00:00:00:00:00:00:00:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx
Nouvel échange hexa DHCP (option 90)
00:00:00:00:00:00:00:00:00:00:00:
1a:09:00:00:05:58:01:03:41:01:0d:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:
3c:12:sa:lt:sa:lt:sa:lt:sa:lt:sa:lt:sa:lt:sa:lt:sa:lt:03:13:zz:ha:sh:ha:sh:ha:sh:ha:sh:ha:sh:ha:sh:ha:sh:ha:shJe vous propose donc de mettre en commun nos cerveaux et de chercher quelle pourrait être la manière de génération des deux parties qui sont ajouté avant et après l'identifiant.
Edit:
Le pattern qui semble fonctionner
00:00:00:00:00:00:00:00:00:00:00:1a:09:00:00:05:58:01:03:41:01:0d:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xxInfo disponibleSalut les loulous.
Il se trouve que j'avais reversé la partie concernée du firmware Livebox 3 qui génère cette option DHCP, je vais donc vous faire part de mes notes.
- Les 11 premiers octets sont mis à 0 : il s'agit d'un emplacement de la taille de l'en-tête de l'option 90 DHCP standard, telle que définie dans la RFC 3118. Ces paramètres n'étant pas utilisés, ils sont mis à 0.
- Ensuite, il s'agit d'une séquence de champs TLV (type-length-value). Autrement dit, il s'agit d'une séquence de paramètres propriétaires définis par Orange qui suivent ce motif : 1 octet de type, 1 octet de taille (comprenant les octets de type, de taille et de valeur), suivi d'un certain nombre d'octets de valeur en fonction de la taille.
- D'abord, il y a cette séquence d'octets définie en dur dans le binaire, je ne sais pas à quoi elle correspond : 1a0900000558010341 (1a est donc le type et 09 la taille)
- Ensuite, un autre champ fixe dont la valeur est "A", peut-être une version de format... : 010341 (01 est le type, 03 est la taille, 41 est la valeur "A" en ASCII)
- Ensuite, un champ dont le type est étrangement aussi 01, et la valeur est l'identifiant PPP Orange (appelons-le USERNAME), je ne vous fais pas de dessin : 010dXXXXXXXXXXXXXXXXXXXXXX
- Ensuite, un champ dont le type est 3c, qui contient 16 octets aléatoires (appelons-les RANDSTRING) est généré par le client DHCP si je me souviens bien : 3c12XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- Enfin, un champ dont le type est 03, et qui contient 17 octets de valeur :
- 1 octet aléatoire, appelons-le RANDCHAR, immédiatement suivi de
- 16 octets qui sont un hash MD5 généré avec la formule suivante : MD5(RANDCHAR + PASSWORD + RANDSTRING), où PASSWORD est le mot de passe PPP
Voilà pour mes notes les kidz ! Amusez-vous bien
Le xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx correspond à la chaine fti/xxxxx orange