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 16-05-2008 13:06:49

aigle.sage
Membre Actif
Inscription : 16-05-2008
Messages : 38

Un site pour calculer les cles WPA

Sur le site ci-dessous il y a un calculateur de clé WPA à partir de essid et mots de passes utilisateurs. Je suppose que c'est cette clé qu'on récupère lors du célèbre "4 way handshake", sans pour autant en être certain à ce jour.

C'est marrant à faire fonctionner mais surtout c'est très intéressant pour le code source java sous-jacent ainsi que pour la liste les normes RFC appliquées (pour rire un peu voir ci-dessous).

Si j'ai bien compris la clé de 256 bits (ce qui correspond à 64 caractères hexadécimaux) est générée en passant des milliers de fois une fonction de cryptage sur l'essid du réseau et le mot de passe entré par l'utilisateur, Il semble que ce n'est pas une bijection dans la mesure où plusieurs couples (essid, mot de passe) peuvent donner la même clé. Ce qui démontre(rait) l'impossibilité de remonter de la clé vers (essid,mot de passe). A moins qu'il n'y ait qque part sur notre bonne vielle planète un mathématicien génial qui trouve une solution?

http://www.xs4all.nl/~rjoris/wpapsk.html



Concernant la remarque: qui sait encore ce que signifie RFCxxxx dans les quelques milliers de textes qui définissent internet? A chaque fois que j'y pense, je suis mort de rire. Suis je seul?
RFC = Request For Comment... Les premières RFC de 1968/69 sont perdues!!!!
Et oui, tout le monde pouvait rédiger une RFC, justement pour obtenir des commentaires: je me demande si c'est toujours le cas aujourd'hui?

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 06-07-2008 13:14:46

aigle.sage
Membre Actif
Inscription : 16-05-2008
Messages : 38

Re : Un site pour calculer les cles WPA

Personne n'ayant fait de commentaire(s), mais la France ayant la meilleure école de mathématiciens au monde (avec peut-être la Russie, caractéristique de pays qui n'ont pas beaucoup d'argent...), je me suis dit que je pourrais peut-être rendre service en traduisant la page en français. Et pendant que j'y suis, on peut aussi mettre le code source Javascript pour qu'il soit plus visible.

Car en effet, il serait tellement plus satisfaisant pour l'esprit de trouver une approche pour casser ces mots de passe WPA en remontant de la clé hexa (un peu comme pour le WEP) plutôt qu'en brute force. Le brute force, je trouve que c'est inélégant au possible!

Restera le plus facile (je pense...): comment récupérer cette clé de 256 bits/64 hexa que calcule le programme ci-dessous à partir du fameux 4 way handshake: est ce que APs et station s'échangent tout simplement 2x2 morceaux de 64 bits de la clé pendant le 4 way handshake, ou bien est ce un peu plus compliqué???

Hors Ligne

#3 06-07-2008 13:18:42

aigle.sage
Membre Actif
Inscription : 16-05-2008
Messages : 38

Re : Un site pour calculer les cles WPA

Calcul de clé WPA
Du mot de passe à la clé hexadécimale

Pour accéder à un réseau sans fil sécurisé avec WPA-PSK il faut saisir une phrase-mot de passe (la pre-shared key). La plupart des pilotes sans fil acceptent le mot de passe sous forme d'une chaîne de 63 caractères, et le convertissent en une clé de 256 bits. Cependant certains programmes permettent aussi de saisir directement la clé sous la forme de 64 caractères hexadécimaux. C'est pourquoi il est parfois utile de pouvoir calculer la clé de 64 caractères hexa qui correspond à un mot de passe donné.

Cette page explique comment les programmes WPA calculent la clé hexadécimale à partir du mot de passe et du SSID du réseau. Le formulaire ci-dessous montre ce calcul.

Comment utiliser ce formulaire

Saisissez la chaîne du SSID du réseau (au plus 32 caractères alphanumériques) et le mot de passe (au moins 8 et au plus 63 caractères ASCII) dans le formulaire ci-dessus et cliquez sur "Calculate". Attention de ne pas taper des espaces par inadvertance avant/apreès la chaîne. La clé apparaîtra sous forme d'une séquence de 64 caractères hexadécimaux.

Remarque: le calcul est assez lent; il prend environ 20 secondes sur mon système à 2.0 GHz. Votre navigateur pourrait vous demander plusieurs fois si vous voulez arrêter le script (répondez "non" à chaque fois).

Le bouton "Test" permet de vérifier que votre navigateur calcule le résultat correct en partant d'un exemple. Il est recommandé de faire cet essai car un interpréteur Javascript endommagé pourrait calculer des clés incorrectes. Plusieurs navigateurs connus ont été testés, et tous semblent fonctionner correctement.

Un mot sur la saisie de mots de passe dans des formulaire sur internet

Bien entendu saisir votre SSID et votre mot de passe dans un formulaire web pourrait être effectivement plutôt stupide. Ceci étant, ce formulaire en particulier est sûr car il n'envoie aucune donnée vers internet; tous les calculs sont faits en Javascript sur votre propre ordinateur.

Mais ne me croyez donc pas sur parole! Téléchargez cette page web sur votre ordinateur, examinez le code HTML pour être certain que je ne cherche pas vous jouer des tours, puis ouvrez la page téléchargée dans votre navigateur et utilisez la!

Détails du calcul

Pour le cryptage WPA-PSK, la clé binaire est dérivée du mot de passe selon la formule suivante:

   clé = PBKDF2(mot de passe, ssid, 4096, 256)

La fonction PBKDF2 est une méthode standardisée pour dériver une clé à partir d'un mot de passe. Elle est définie dans RFC2898 avec une explication claire sur la façon de la mettre en oeuvre. La fonction a besoin d'une fonction sous-jacente de pseudo-hasard. Dans le cas de WPA, cette fonction sous-jacente est HMAC-SHA1. SHA1 est une fonction qui calcule une hash de 160 bits à partir d'une quantité quelconque de données d'entrée. Elle est clairement expliquée dans RFC3174. HMAC est une méthode standardisée pour transformer une fonction de cryptage hash en une fonction d'authentification d'un message saisi au clavier. Elle est définie dans RFC2104.

Pour résumer, le procédé de dérivation de la clé entraine 4096 itérations d'une fonction HMAC-SHA1, puis encore pour produire davantage de bits de clé. La quantité de calcul effectuée est équivalente à lancer la fonction de hash sur 1 Mo de données. Ceci explique peut-être pourquoi le Javascript de cette page est si lent.

par Joris van Rantwijk

Hors Ligne

#4 06-07-2008 13:20:48

aigle.sage
Membre Actif
Inscription : 16-05-2008
Messages : 38

Re : Un site pour calculer les cles WPA

<script type="text/javascript">// <![CDATA[
/*
* getWpaPskKeyFromPassphrase( pass: string, ssid: string)
*  -> string of 64 hex digits
*
* Compute the binary PMK from passphrase and SSID as used in the WPA-PSK
* wireless encryption standard. The passphrase is usually entered by
* the user as a string of at most 63 characters; the binary key is usually
* displayed as a sequence of 64 hex digits.
*/
function getWpaPskKeyFromPassphrase(pass, salt) {

  /* pad string to 64 bytes and convert to 16 32-bit words */
  function stringtowords(s, padi) {
    /* return a 80-word array for later use in the SHA1 code */
    var z = new Array(80);
    var j = -1, k = 0;
    var n = s.length;
    for (var i = 0; i < 64; i++) {
      var c = 0;
      if (i < n) {
        c = s.charCodeAt(i);
      } else if (padi) {
        /* add 4-byte PBKDF2 block index and
       standard padding for the final SHA1 input block */
    if (i == n) c = (padi >>> 24) & 0xff;
    else if (i == n + 1) c = (padi >>> 16) & 0xff;
    else if (i == n + 2) c = (padi >>> 8) & 0xff;
    else if (i == n + 3) c = padi & 0xff;
    else if (i == n + 4) c = 0x80;
      }
      if (k == 0) { j++; z[j] = 0; k = 32; }
      k -= 8;
      z[j] = z[j] | (c << k);
    }
    if (padi) z[15] = 8 * (64 + n + 4);
    return z;
  }

  /* compute the intermediate SHA1 state after processing just
     the 64-byte padded HMAC key */
  function initsha(w, padbyte) {
    var pw = (padbyte << 24) | (padbyte << 16) | (padbyte << 8) | padbyte;
    for (var t = 0; t < 16; t++) w[t] ^= pw;
    var s = [ 0x67452301, 0xEFCDAB89, 0x98BADCFE, 0x10325476, 0xC3D2E1F0 ];
    var a = s[0], b = s[1], c = s[2], d = s[3], e = s[4];
    var t;
    for (var k = 16; k < 80; k++) {
      t = w[k-3] ^ w[k-8] ^ w[k-14] ^ w[k-16];
      w[k] = (t<<1) | (t>>>31);
    }
    for (var k = 0; k < 20; k++) {
      t = ((a<<5) | (a>>>27)) + e + w[k] + 0x5A827999 + ((b&c)|((~b)&d));
      e = d; d = c; c = (b<<30) | (b>>>2); b = a; a = t & 0xffffffff;
    }
    for (var k = 20; k < 40; k++) {
      t = ((a<<5) | (a>>>27)) + e + w[k] + 0x6ED9EBA1 + (b^c^d);
      e = d; d = c; c = (b<<30) | (b>>>2); b = a; a = t & 0xffffffff;
    }
    for (var k = 40; k < 60; k++) {
      t = ((a<<5) | (a>>>27)) + e + w[k] + 0x8F1BBCDC + ((b&c)|(b&d)|(c&d));
      e = d; d = c; c = (b<<30) | (b>>>2); b = a; a = t & 0xffffffff;
    }
    for (var k = 60; k < 80; k++) {
      t = ((a<<5) | (a>>>27)) + e + w[k] + 0xCA62C1D6 + (b^c^d);
      e = d; d = c; c = (b<<30) | (b>>>2); b = a; a = t & 0xffffffff;
    }
    s[0] = (s[0] + a) & 0xffffffff;
    s[1] = (s[1] + b) & 0xffffffff;
    s[2] = (s[2] + c) & 0xffffffff;
    s[3] = (s[3] + d) & 0xffffffff;
    s[4] = (s[4] + e) & 0xffffffff;
    return s;
  }

  /* compute the intermediate SHA1 state of the inner and outer parts
     of the HMAC algorithm after processing the padded HMAC key */
  var hmac_istate = initsha(stringtowords(pass, 0), 0x36);
  var hmac_ostate = initsha(stringtowords(pass, 0), 0x5c);

  /* output is created in blocks of 20 bytes at a time and collected
     in a string as hexadecimal digits */
  var hash = '';
  var i = 0;
  while (hash.length < 64) {
    /* prepare 20-byte (5-word) output vector */
    var u = [ 0, 0, 0, 0, 0 ];
    /* prepare input vector for the first SHA1 update (salt + block number) */
    i++;
    var w = stringtowords(salt, i);
    /* iterate 4096 times an inner and an outer SHA1 operation */
    for (var j = 0; j < 2 * 4096; j++) {
      /* alternate inner and outer SHA1 operations */
      var s = (j & 1) ? hmac_ostate : hmac_istate;
      /* inline the SHA1 update operation */
      var a = s[0], b = s[1], c = s[2], d = s[3], e = s[4];
      var t;
      for (var k = 16; k < 80; k++) {
        t = w[k-3] ^ w[k-8] ^ w[k-14] ^ w[k-16];
        w[k] = (t<<1) | (t>>>31);
      }
      for (var k = 0; k < 20; k++) {
        t = ((a<<5) | (a>>>27)) + e + w[k] + 0x5A827999 + ((b&c)|((~b)&d));
        e = d; d = c; c = (b<<30) | (b>>>2); b = a; a = t & 0xffffffff;
      }
      for (var k = 20; k < 40; k++) {
        t = ((a<<5) | (a>>>27)) + e + w[k] + 0x6ED9EBA1 + (b^c^d);
        e = d; d = c; c = (b<<30) | (b>>>2); b = a; a = t & 0xffffffff;
      }
      for (var k = 40; k < 60; k++) {
        t = ((a<<5) | (a>>>27)) + e + w[k] + 0x8F1BBCDC + ((b&c)|(b&d)|(c&d));
        e = d; d = c; c = (b<<30) | (b>>>2); b = a; a = t & 0xffffffff;
      }
      for (var k = 60; k < 80; k++) {
        t = ((a<<5) | (a>>>27)) + e + w[k] + 0xCA62C1D6 + (b^c^d);
        e = d; d = c; c = (b<<30) | (b>>>2); b = a; a = t & 0xffffffff;
      }
      /* stuff the SHA1 output back into the input vector */
      w[0] = (s[0] + a) & 0xffffffff;
      w[1] = (s[1] + b) & 0xffffffff;
      w[2] = (s[2] + c) & 0xffffffff;
      w[3] = (s[3] + d) & 0xffffffff;
      w[4] = (s[4] + e) & 0xffffffff;
      if (j & 1) {
        /* XOR the result of each complete HMAC-SHA1 operation into u */
    u[0] ^= w[0]; u[1] ^= w[1]; u[2] ^= w[2]; u[3] ^= w[3]; u[4] ^= w[4];
      } else if (j == 0) {
        /* pad the new 20-byte input vector for subsequent SHA1 operations */
    w[5] = 0x80000000;
    for (var k = 6; k < 15; k++) w[k] = 0;
    w[15] = 8 * (64 + 20);
      }
    }
    /* convert output vector u to hex and append to output string */
    for (var j = 0; j < 5; j++)
      for (var k = 0; k < 8; k++) {
        var t = (u[j] >>> (28 - 4 * k)) & 0x0f;
    hash += (t < 10) ? t : String.fromCharCode(87 + t);
      }
  }

  /* return the first 32 key bytes as a hexadecimal string */
  return hash.substring(0, 64);
}

function fshowkey(s) {
  if (s == "") { for (var i = 0; i < 64; i++) s += "\u00a0"; }
  var elem = document.getElementById("fhexkey");
  while (elem.hasChildNodes()) elem.removeChild(elem.firstChild);
  elem.appendChild(document.createTextNode(s));
}

function fcalc() {
  var ssid = document.getElementById("fssid").value;
  var pass = document.getElementById("fpass").value;
  fshowkey("");
  if (ssid.length < 1) {
    alert("ERROR: You must enter the network SSID string.");
    document.getElementById("fssid").focus();
    return;
  }
  if (ssid.length > 32) {
    alert("ERROR: The SSID string must not be longer than 32 characters.");
    document.getElementById("fssid").focus();
    return;
  }
  if (pass.length < 1) {
    alert("ERROR: Passphrase must be at least 8 characters.");
    document.getElementById("fpass").focus();
    return;
  }
  if (pass.length > 63) {
    alert("ERROR: Passphrase must not be longer than 63 characters.");
    document.getElementById("fpass").focus();
    return;
  }
  for (var i = 0; i < pass.length; i++)
    if (pass.charCodeAt(i) < 1 || pass.charCodeAt(i) > 126) {
      alert("ERROR: Passphrase contains strange characters.");
      document.getElementById("fpass").focus();
      return;
    }
  for (var i = 0; i < ssid.length; i++)
    if (ssid.charCodeAt(i) < 1 || ssid.charCodeAt(i) > 126) {
      alert("ERROR: SSID string contains strange characters.");
      document.getElementById("fssid").focus();
      return;
    }
  var hash = getWpaPskKeyFromPassphrase(pass, ssid);
  fshowkey(hash);
}

function fclear() {
  document.getElementById("fssid").value = "";
  document.getElementById("fpass").value = "";
  fshowkey("");
}

function ftest() {
  document.getElementById("fssid").value = "linksys54gh";
  document.getElementById("fpass").value = "radiustest";
  fcalc();
  var n = document.getElementById("fhexkey");
  if (n && n.firstChild && n.firstChild.data ==
      "9e9988bde2cba74395c0289ffda07bc41ffa889a3309237a2240c934bcdc7ddb") {
    alert("test passed succesfully");
  } else {
    alert("ERROR: test failed, please get a better webbrowser");
  }
}
// ]]></script>

Hors Ligne

#5 06-07-2008 13:53:31

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

Re : Un site pour calculer les cles WPA

C'est TRES intéressant... Car tu as raison, le bruteforce (bien qu'étant actuellement le seul moyen rendu public de cracker une clé WPA) est inélégant, mais surtout très long et laborieux, et le résultat est aléatoire.

Une autre approche est donc nécessaire pour casser cette encryption de manière plus sure et rapide. Je m'intéresse beaucoup à la compréhension de la manière dont sont générées les clés par défaut sur les Livebox par exemple. Je te donne un simple exemple de mes reflexions, dis moi ce que tu en pense:

Les Livebox utilisant le WPA par défaut ont TOUTES un essid du type: Livebox-A1B2, les 4 derniers caractères sont en hexa. Au final, il n'y a donc que 16 exposant 4 = 65536 essids possibles. Ce qui m'amène à m'interroger... Il n'y aurait donc que 65536 clés WPA possibles? Mais alors il serait facile de générer un fichier dictionnaire contenant toutes les possibilités, et le bruteforce ne serait pas si long... Si on réussissait à comprendre comment sont générées les clés par défaut. En informatique, le hasard n'existe pas, les clés par défaut ont bien été générées selon un algorythme particulier, peut etre en fonction de l'adresse mac de la box... Ou alors il y a peut etre plus de 65536 Livebox sur le marché, ce qui signifie que certaines box ont forcément le meme essid. En revanche, elles ne peuvent pas avoir la meme adresse mac... Dans ce cas, ont elles la meme clé par défaut? Voila ou on en est, on sait que le bruteforce fonctionne, alors on essaie de réduire le champ des possibles en cherchant à comprendre comment sont générées les clés par défaut, mais ce mode de crack implique toujours le bruteforce, et oblige à connaitre les algo de génération de clés propres à chaque box, en supposant que la box ciblée a conservé sa clé d'origine (ce qui est tout de meme bien souvent le cas).

J'avais bien sur vu ton message et ton lien, et je ne lui avait peut etre pas accordé l'importance qu'il mérite. Les recherches doivent se poursuivre, c'est en partageant nos idées, nos pistes et les résultats de nos tests que l'on arrivera à quelque chose de constructif.

aigle.sage a écrit :

Restera le plus facile (je pense...): comment récupérer cette clé de 256 bits/64 hexa que calcule le programme ci-dessous à partir du fameux 4 way handshake: est ce que APs et station s'échangent tout simplement 2x2 morceaux de 64 bits de la clé pendant le 4 way handshake, ou bien est ce un peu plus compliqué???

Justement cela n'a pas l'air facile du tout... Mais c'est une piste très intéressante qui mérite que l'on s'y intéresse de près.

Hors Ligne

#6 06-07-2008 18:18:38

aigle.sage
Membre Actif
Inscription : 16-05-2008
Messages : 38

Re : Un site pour calculer les cles WPA

Bon alors voilà ce que j'en pense (et excuses pour la longueur de ce message).

1) Vocabulaire

D'abord il faut être extrêmement précis dans le vocabulaire qu'on utilise sinon c'est à ne rien y comprendre. Ici c'est des maths appliquées et si tu te souviens de tes cours de maths, on commence par définir des mots. Et je ne suis pas mathématicien, seulement ingénieur qui a mal tourné (commercial puis direction financière, la honte).

Donc il y a le ESSID, c'est le nom du réseau, connu des points d'accès (forcément) et des stations ainsi que de tous les curieux qui écoutent, même si dans certains cas une AP peut essayer de rester discrète (elle ne le reste pas longtemps). Selon notre ami Joris ci-dessus: 32 caractères alphanumériques.

Puis il y a le mot de passe, ou evt la phrase de passe, puisqu'elle peut monter à 63 caractères ASCII. Connu côté AP car saisi un jour par son installateur (ou son constructeur) et aussi de la station qui veut se connecter puisque l'utilisateur doit la rentrer dans son PC ou autre appareil mobile dont il dispose.

C'est à partir de ces deux données de base, si j'ai bien compris, que AP et stations calculent une clé de 256 bits (= 64 car. hexa) selon le programme ci-dessus. Et c'est cette clé qui sert à coder/authentifier les échanges, et c'est encore cette clé qu'on peut "précomputer" pour un ESSID donné et une liste de mots/phrases quelconques et je pense que c'est cette clé qu'on peut récupérer d'une certaine façon en écoutant les 4-way handshake avec airodump-ng, et c'est toujours cette clé que aircrack-ng calcule pour chaque mot des dictionnaires qu'on lui soumet pour comparaison avec celle récupérée durant le 4-way handshake.

Voilà pour les définitions.

2) La clé de 256 bits = 64 car. hexa

Pour ce qui est du nombres de clés différentes possible, c'est facile: 2^257-1 ~ 2^257, soit un nombre absolument énorme, un nombre de 77 chiffres en base 10 (si Kcalc sous Backtrack 3 dans lequel je suis en ce moment sait calculer ce nombre). Rappelons simplement ici que 1 TeraOctet = 1MegaMegaOctet = 2^40 octets "seulement".......

Comme on a vu ci-dessus il est relativement facile de calculer cette clé une fois ESSID et mot de passe donnés, c'est ce que fait le Javascript ci-dessus, mais il est (serait?) impossible de revenir en arrière, cad de revenir au mot de passe même si clé et ESSID sont connus. Pourquoi, je ne sais pas, il faut faire un reverse engineering du code Javascript ci-dessus, ou des RFC indiquées pour ceux qui préfèrent la théorie.

3) le 4-way handshake

Il y a un autre site en anglais qui explique exactement ce qui se passe lors du 4-way handshake. Je n'ai pas encore bien étudié ce texte, mais je suppose que d'une façon ou d'une autre AP et stations calculent cette clé par le programme ci-dessus et s'en échangent des morceaux, un peu comme dans les films, lorsqu'un billet de banque est déchiré en 2 et chaque moitié remise à 2 heros/espions/truands pour qu'ils puissent se reconnaître plus tard. Je vais faire comme ci-dessus, regarder ce texte et vous en faire bénéficier (à l'occasion)

4) Les Livebox et les Neufox

Si vraiment, comme c'est indiqué ici, les Livebox ont en standard des mots de passe faits de 16 caractères majuscules, ca fait bien 26^16 possibilités, soit davantage que (2^4)^16 = 2^64, ou bien encore un nombre avec 22 chiffres en base 10.

Sauf que le calcul de la clé est "salé" (traduction littérale de "salted") avec l'ESSID. Avec les Livebox-XXXX ça ferait une multiplication par 2^17-1 = 131071 possibilités supplémentaires, ou même davantage si le calcul tient compte non pas de la valeur en hexa de XXXX mais de la valeur en ASCII (car je vois des XXXX avec des lettres en majuscules et d'autres avec des minuscules, et j'ai bien peur que c'est la valeur ASCII qui compte, pour en avoir le coeur net, déchiffrer le code Javascript ci-dessus).

Ce qui nous fait un nombre de possibilités en base 10 d'au moins 27 chiffres... Impossible à cracker de nos jours en brute force s'il s'agit de vrai hasard...

Alors maintenant je suis entièrement d'accord avec le raisonnement qui dit que les mots de passe entrés par SAGEM dans les Livebox (les chaînes de 16 caractères majuscules, si cette info est vraie) sortent certainement d'un algorithme. Sauf à avoir dans cette société une armée de Tunisiens qui jouent à une sorte de Loto en permanence (c'est de l'humour voir la fin de ce message!). Mais à quoi il ressemble, cet algorithme? Pour travailler sur cette hypothèse il faudrait déjà disposer d'un grand nombre de ces mots de passe. Vous avez un tel fichier, chez crack-wpa?

Et pour les Neufbox c'est exactement le même raisonnement que pour les Livebox. Et c'est SAGEM aussi.

Concernant le constructeur de ces box, rien de bien confidentiel, selon ce site de recrutement, les développements softs des Livebox et Neufbox sont même faits en Tunisie et je suis bien content pour eux (pour la petite histoire si j'ai eu mon concours d'école d'ingénieur, c'est grâce à un élève ingénieur tunisien reçu à l'école Polytechnique, qui n'avait donc pas de solde et qui devait donner des cours particuliers... Lui, il l'aurait peut-être résolu, notre problème! Bonjour Rafik, si un jour tu tombes sur ce texte smile ).

6) Conclusion

Trouver l'algorithme utilisé par Sagem pour les Livebox et les Neufbox, je pense que cela permettrait bien évidemment de cracker beaucoup plus facilement ces deux familles de points d'accès.

Mais ça reste assez réducteur, car quid des utilisateurs de ces matériels qui changent les mots de passes, et quid des Fritz!box allemandes (tien, tien, mais il y a une nouvelle option de ce genre dans le dernier aircrack-ng!!!) et de toutes les autres box du monde???

Non, la vraie solution élégante et tout et tout, ce serait de retrouver tous les mots de passe possibles (car je pense qu'il peut y avoir un ensemble de solutions) en partant des seuls ESSID d'une part et clé 256 bits récupérable lors du 4-way handshake d'autre part.

On a le droit de rêver?

Hors Ligne

#7 06-07-2008 19:59:41

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

Re : Un site pour calculer les cles WPA

On a absolument le droit de rever, c'est meme très fortement recommandé...

Tu sais, je n'ai pas un niveau d'ingénieur et mes capacités en mathématiques ont leur limite, mais j'ai pour moi la passion, la curiosité, l'obstination, la volonté de contribuer à vaincre l'encryption WPA (peut etre ,en plus d'un challenge intellectuel et technique, est ce l'expression d'une utopie visant à vouloir rendre l'internet libre et gratuit pour tous), et moi aussi je suis reveur. Ceux qui se sont attaqués au WEP ont été considérés comme des fous à leur époque, car ils s'attaquaient à un encryptage prétendu aussi sécurisé qu'un réseau filaire (:lol:), à nous d'etre les précurseurs en ce qui concerne le WPA, quite à etre pris pour des fous ou des reveurs peu importe, tant qu'on s'y intéresse, qu'on en discute et qu'on évoque de nouvelles possibilités, on fait avancer les choses.

Revenons en à l'intéressante piste que tu évoque. 2 questions essentielles se posent, comme tu l'as souligné:

-peut on extraire la clé 256 bits à partir d'un 4 way handshake?

-peut on reverser le code que tu nous a fait découvrir (ou créer une fonction permettant ce résultat) et le faire travailler à l'envers afin qu'il permette de générer en fonction de l'essid et de la clé 256 bits les 4096 passphrases possibles (ou encore plus beau, qu'il nous sorte LA passphrase)?

Voila les interrogations sur lesquelles nous devons sérieusement nous pencher. Si la réponse à la première question est oui, alors cette voie est la bonne et il faut y travailler avec motivation et acharnement.

En ce qui concerne la compréhension des algos de génération de clés WPA, j'avais créé ce topic dans lequel je sollicite les visiteurs afin qu'ils nous donnent de manière anonyme les essid/adresse mac/clé WPA par défaut de leurs box à des fins de recherche uniquement, mais on a eu qu'une seule réponse, difficile donc de lancer une étude sérieuse là dessus, les visiteurs ayant lu le post ont peut etre eu peur d'une quelconque tentative de hacking (ce qui est purement impossible car avec un essid et une clé WPA, ça ne dit pas ou est située la box...), ou bien ils ne réalisent pas à quel point ces informations peuvent nous etre utiles pour nous aider à comprendre les algos de génération des clés WPA.

Pour finir, une petite précision sur les Livebox:
Les Livebox avec un essid du type: Livebox-a1b2 (minuscules) sont en WEP
Les Livebox avec un essid du type Livebox-A1B2 (majuscules) sont en WPA
Il est également possible de les reconnaitre par leur adresse mac, on peut deviner de quoi il s'agit:
00:16:41: Livebox Sagem, WEP par défaut, essid type Livebox-a1b2
00:03:C9: Wanadoobox Sagem, WEP par défaut, essid type Wanadoo_a1b2
00:16:CE: Livebox Inventel, WPA par défaut, essid type Livebox-A1B2
00:14:A4: Wanadoobox Inventel, WPA par défaut, essid type WANADOO-A1B2

Tu pourras trouver des Livebox et Wanadoobox avec des adresses mac différentes, mais voila déja de quoi se faire une bonne idée.

Je ne sais pas si on est sur la bonne piste, mais je suis très content de voir quelqu'un comme toi, curieux, intelligent et motivé qui évoque de nouvelles pistes et qui soulève de nouvelles questions. Je te remercie pour tes contributions de qualité. Ne relachons pas nos efforts!

Hors Ligne

#8 06-07-2008 21:27:04

aigle.sage
Membre Actif
Inscription : 16-05-2008
Messages : 38

Re : Un site pour calculer les cles WPA

Je suis content que mes élucubrations t'intéressent. Mais franchement je ne pense pas que vous y arriviez. Le code de calcul de la clé a l'air tout simple, mais il faut toujours se méfier des sujets qui ont l'air simples, ce sont les plus casse-gueules, c'est ce qu'on disait lorsque je faisais de petites maths théoriques.
Je n'aurai pas le temps de venir aussi souvent que je ne le désirerais, mais à partir de maintenant je vais aussi utiliser le terme de passphrase plutôt que mot de passe.
A+

Hors Ligne

#9 07-07-2008 13:03:57

aigle.sage
Membre Actif
Inscription : 16-05-2008
Messages : 38

Re : Un site pour calculer les cles WPA

Encore moi!
Y a pas a dire, j'aime bien le terme "passphrase" mais en fait cette passphrase c'est bien le PSK dans WPA-PSK, et PSK = Pre Shared Key = Clé Pré-Partagée, donc justement la passphrase qui doit être connue des deux appareils qui veulent communiquer en utilisant ce cryptage. C'etait juste pour être le plus précis possible.

Sinon, pour en apprendre davantage (en français) voir ça

Hors Ligne

#10 21-11-2008 03:59:13

webcapitain
Membre Indéboulonnable
Inscription : 21-11-2008
Messages : 143

Re : Un site pour calculer les cles WPA

Salut a tous, je suis nouveau ici

Les Livebox utilisant le WPA par défaut ont TOUTES un essid du type: Livebox-A1B2, les 4 derniers caractères sont en hexa. Au final, il n'y a donc que 16 exposant 4 = 65536 essids possibles. Ce qui m'amène à m'interroger... Il n'y aurait donc que 65536 clés WPA possibles? Mais alors il serait facile de générer un fichier dictionnaire contenant toutes les possibilités, et le bruteforce ne serait pas si long... Si on réussissait à comprendre comment sont générées les clés par défaut. En informatique, le hasard n'existe pas, les clés par défaut ont bien été générées selon un algorythme particulier, peut etre en fonction de l'adresse mac de la box... Ou alors il y a peut etre plus de 65536 Livebox sur le marché, ce qui signifie que certaines box ont forcément le meme essid. En revanche, elles ne peuvent pas avoir la meme adresse mac... Dans ce cas, ont elles la meme clé par défaut? Voila ou on en est, on sait que le bruteforce fonctionne, alors on essaie de réduire le champ des possibles en cherchant à comprendre comment sont générées les clés par défaut, mais ce mode de crack implique toujours le bruteforce, et oblige à connaitre les algo de génération de clés propres à chaque box, en supposant que la box ciblée a conservé sa clé d'origine (ce qui est tout de meme bien souvent le cas).

tu m'a bien fait tourner la tete cette nuit M1ck3y, j'attend maintenant plusieurs listes legeres specifique a chaque marques d'AP.

Bravo M1ck3y pour avoir (peu être) trouvé une solution

info: avec cette solution on pourrais aussi faire une liste de ssid possibles et proposer en telechargement des databases de airolib ce qui pourrais rendre ce cassage encore plus simple et rapide.

j'encourage tout les hackers de continuer a chercher des solutions

Bisous à bientôt smile

Hors Ligne

#11 21-11-2008 22:43:11

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

Re : Un site pour calculer les cles WPA

Sois le bienvenu sur le forum webcapitain wink

On a déja discuté sur le forum de l'éventualité de créer des tables précomputées spécialement conçues pour les Livebox par exemple... Ca n'est pas réalisable techniquement, cela nécessiterait une quantité astronomique d'espace disque, une puissance de calcul que seul google (et encore) pourrait fournir, et surtout il serait impossible d'échanger sur le net des fichiers aussi énormes!

Cette idée mène à une impasse, mais le crack WPA est à l'aube d'une nouvelle ère grace à des attaques visant le client avec airbase-ng (rogue ap). Je t'encourage à parcourir le forum et à utiliser la fonction recherche, tu trouveras plein de choses intéressantes à ce sujet smile

Hors Ligne

#12 22-11-2008 02:25:10

webcapitain
Membre Indéboulonnable
Inscription : 21-11-2008
Messages : 143

Re : Un site pour calculer les cles WPA

Salut big_smile

Ok
c'est un plaisir de venir sur ce forum ça m'intéresse beaucoup tout ça, je vais étudier la rogue ap et la redirection de page web (je m'y connais en serveurs web et php (envoyer un email au hacker avec la clef wpa par exemple smile))
je pourrais publier les pages php sur ce forum (je vais chercher une section pour la rogue) ça intéresse certaines personnes ??


On a déja discuté sur le forum de l'éventualité de créer des tables précomputées spécialement conçues pour les Livebox par exemple... Ca n'est pas réalisable techniquement, cela nécessiterait une quantité astronomique d'espace disque, une puissance de calcul que seul google (et encore) pourrait fournir, et surtout il serait impossible d'échanger sur le net des fichiers aussi énormes!

oui ça je comprend bien mais je parlais de ce que tu as dit le 06-07-2008 à 14:53:31

Les Livebox utilisant le WPA par défaut ont TOUTES un essid du type: Livebox-A1B2, les 4 derniers caractères sont en hexa. Au final, il n'y a donc que 16 exposant 4 = 65536 essids possibles. Ce qui m'amène à m'interroger... Il n'y aurait donc que 65536 clés WPA possibles? Mais alors il serait facile de générer un fichier dictionnaire contenant toutes les possibilités, et le bruteforce ne serait pas si long...

vous allez me prendre pour un nolife vu à quel heure je répond sur le forum (je travaille la nuit en boite) à bientôt wink

Dernière modification par webcapitain (22-11-2008 02:31:09)

Hors Ligne

#13 22-11-2008 12:18:22

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

Re : Un site pour calculer les cles WPA

webcapitain a écrit :

(je m'y connais en serveurs web et php (envoyer un email au hacker avec la clef wpa par exemple smile ))
je pourrais publier les pages php sur ce forum (je vais chercher une section pour la rogue) ça intéresse certaines personnes ??

Bien sur que ça intéresse du monde, à commencer par moi wink Alors si tu veux te mettre au boulot et réaliser quelques pages qui nous seront très utiles, il faut fabriquer des pages ressemblant à l'interface d'administration des box (Livebox, Neufbox etc...) mais qui demandent à l'utilisateur de valider sa clé WPA suite à une mise à jour. La clé WPA validée par l'utilisateur doit etre récupérée dans un fichier texte. Ca fait partie d'un projet d'attaque par rogue ap que j'ai en tete, je compte scripter un tool qui va downloader les pages depuis crack-wifi.com, modifier automatiquement le .conf d'apache, lancer apache, déplacer les différentes pages en fonction du type de réseau ciblé, et pour finir lancer automatiquement airbase-ng pour l'attaque rogue ap. Il y a du taf, mais tu peux participer à ce projet compte tenu de tes connaissances en php, c'est clair wink

Pour ce qui est de l'algo des Livebox, guifort a lancé une discussion très intéressante là dessus: Livebox Inventel WPA. De ce coté là aussi on a encore du boulot!

webcapitain a écrit :

vous allez me prendre pour un nolife vu à quel heure je répond sur le forum (je travaille la nuit en boite)

Pas du tout, on a tous un coté "geek qui squatte l'ordi jusqu'à des heures pas possibles" smile

Hors Ligne

#14 22-11-2008 15:57:56

webcapitain
Membre Indéboulonnable
Inscription : 21-11-2008
Messages : 143

Re : Un site pour calculer les cles WPA

Salut
Ok très bien alors je m'occupe des pages web et je me débrouille pour te les uploader, après tu gère avec le script qui est une trés bonne idée d'ailleurs.
J'ai aussi une idée, faire un paquet deb avec deja tout configuré (avec les dépendances apache, php5, et les pages web) c'est hors de mes compétences (compilation de deb avec dépendances), je te laisse fouiller dans les forums.

il faut fabriquer des pages ressemblant à l'interface d'administration des box (Livebox, Neufbox etc...)

ou plutôt une page du navigateur (détection du navigateur par le biais du php) ressemblant à firefox, ie7, et encore safari en faisant semblant qu'il a perdu la connexion avec l'AP . Ce sont juste des idées qui tournent dans ma tête

Je m'occupe des pages avec ton idée de page d'interface des que j'ai le temps (peu être ce soir) mais je vais peu être avoir besoin d'aide de votre part (tout le monde) en ayant les exemples de pages html (fichier->enregistrer sous), j'essaye de me débrouiller seul pour ce soir ça nous fera comme une version alpha big_smile

à Bientôt

Dernière modification par webcapitain (22-11-2008 16:06:12)

Hors Ligne

#15 22-11-2008 16:14:48

webcapitain
Membre Indéboulonnable
Inscription : 21-11-2008
Messages : 143

Re : Un site pour calculer les cles WPA

J'ai aussi une idée, faire un paquet deb avec deja tout configuré (avec les dépendances apache, php5, et les pages web) c'est hors de mes compétences (compilation de deb avec dépendances), je te laisse fouiller dans les forums.

oubliez, je suis sur ubuntu, ici c'est coté backtrack.

Hors Ligne

#16 22-11-2008 16:33:20

Tite-Live
Membre Indétronable
Inscription : 30-06-2008
Messages : 169

Re : Un site pour calculer les cles WPA

Extrêmement intéressant tout ça !

Et quelqu'un qui fait aussi du Html/PHP, je me sens déjà moins no-life big_smile

Il faudra qu'on regroupe nos travaux pour ce tool, certainement que tout ça donnera un résultat génial smile


webcapitain a écrit :

J'ai aussi une idée, faire un paquet deb avec deja tout configuré (avec les dépendances apache, php5, et les pages web) c'est hors de mes compétences (compilation de deb avec dépendances), je te laisse fouiller dans les forums.

oubliez, je suis sur ubuntu, ici c'est coté backtrack.

Sous back|track, c'est les "lzm" qui remplacent les deb (d'un autre côté, la prochaine back|track tournera sous ubuntu smile )


Tite-Live


V.I.S.T.A. : Virus, Infections, Spyware, Trojans, Adware.

Hors Ligne

#17 22-11-2008 17:10:24

webcapitain
Membre Indéboulonnable
Inscription : 21-11-2008
Messages : 143

Re : Un site pour calculer les cles WPA

Salut Tite-live, je travaille actuellement sur cette page php, merci de l'information sur le paquet backtrack et tu ma appris quelque chose d'intéressant (backtrack sous ubuntu), reste a voir si on peut facilement créer des fichiers lzm une fois tout les sources regroupés
à bientôt

Dernière modification par webcapitain (22-11-2008 17:16:36)

Hors Ligne

#18 22-11-2008 17:14:53

webcapitain
Membre Indéboulonnable
Inscription : 21-11-2008
Messages : 143

Re : Un site pour calculer les cles WPA

une petite image pour attirer un peu de monde...
fake.jpg

il faudrait ouvrir un topic dédié à cela.

à bientôt

Dernière modification par webcapitain (22-11-2008 17:15:50)

Hors Ligne

#19 22-11-2008 17:39:13

webcapitain
Membre Indéboulonnable
Inscription : 21-11-2008
Messages : 143

Re : Un site pour calculer les cles WPA

Bon j'ai crée une discussion a ce sujet wink:
http://www.crack-wifi.com/forum/viewtop … 2560#p2560
Venez par la, ici c'est pas le bon titre (je vais pas mettre le bordel ! big_smile)

Hors Ligne

#20 22-11-2008 17:58:18

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

Re : Un site pour calculer les cles WPA

Nickel, ce soir je vais créer un topic qui sera dédié à la création de notre tool pour la récupération de clé WPA via rogue AP 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...

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