Usuario: Contraseña:
Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

Autor Tema: PIN WPS conceptos básicos  (Leído 3148 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado maripuri

  • WWAuditor-PRO developer
  • Moderador Global
  • Trade Count: (0)
  • ****
  • Mensajes: 4813
  • Colaboraciones +235/-4
  • Sexo: Femenino
  • Scripting Girl
    • WirelessWindows
PIN WPS conceptos básicos
« en: 07 de Septiembre de 2014, 01:07:48 am »
  • Publish








  • Abrimos este tema para debatir y tratar de despejar todas las dudas acerca de que es un PIN (WPS) y todo lo referente a el.

    Para comenzar debemos saber que WPS (Wi-Fi Protected Setup) no es un mecanismo de seguridad en si, es un estándar creado en 2007 y promovido por la Wi-Fi Alliance con el objeto de simplificar la configuración y/o conexión a una red segura minimizando la intervención del usuario en entornos domésticos y de pequeñas oficinas (ver vídeo y ref). El PIN (de las siglas en inglés Personal Identification Number) es un número de identificación personal, un tipo de contraseña que en el caso que nos ocupa (WPS) tiene una longitud de 8 caracteres numéricos.

    A grandes rasgos el PIN en si consta de dos partes (que a su vez se pueden sub-dividir cada una de ellas en otras cuatro)


    PIN WPS:




    La comunicación entre el AP y el cliente se establece de la forma siguiente:





    Según establece la norma de Wi-Fi Alliance un PIN (WPS) consta de 8 dígitos numéricos de los cuales el último de ellos (checksum) se calcula a partir de una regla establecida, es decir a partir de los 7 primeros dígitos del PIN (lo que conocemos por regla checksum). Ahora bien, en algún determinado AP (pocos) podemos encontrarnos como PIN un nº de 8 dígitos cuya cadena numérica no cumple con la norma o regla checksum.. son pocos casos pero tenemos constancia de ello y es algo que además no debería ser así. En otras palabras, estos AP "se saltan a la torera" la norma establecida por la Wi-Fi Alliance.

    Herramientas para Windows como JumpStart for Wireless o TP-Link QSS Utility cumplen con dicha norma y por tanto no admiten como PIN válido una cadena de 8 dígitos numéricos que no cumpla la regla comentadada anteriormente, de ahí que cuando se introduce como PIN una cadena de este tipo cuyo último dígito no se corresponde como checksum de los siete primeros devuelven un mensaje de error o PIN inválido.. 

    Para linux hasta hace poco no existiía constancia de herramientas específicas (gestores de conexión) con las que establecer una conexión via WPS por lo que Coeman76 desarrolló hace poco WPS Connect herramienta que incluso contempla que el PIN no cumpla con la regla checksum a la hora de establecer la conexión.

    También y para "entendernos" podemos decir que existen dos clases o tipos de PIN WPS a los que denominamos de manera coloquial PIN genérico y PIN NO genérico y así diferenciarlos entre si.

    PIN genérico:  Digamos que es aquel que no es exclusivo para un router en concreto, es decir.. podemos constatar que existen PIN que son usados por igual en distintos routers como por ejemplo puede ser el consabido PIN 12345670 el cual está presente en varias marcas y modelos de routers como todos sabemos ya. En otras palabras: puede existir y existen distintos puntos de acceso cuyo PIN por defecto es 12345670 y se puede establecer la conexión en todos ellos usando este PIN (de ahí el nombre de genérico) ya que todos ellos lo utilizan por igual de forma predeterminada (lo cual no deja de ser un gravísimo fallo de seguridad).

    PIN NO genérico: Este tipo de PIN en cambio se genera a partir de un algoritmo como los conocidos (u otros desconocidos) para "tal" router en concreto. Por tanto este PIN XXXXXXXX serviría para conectarse a AWirelessAP y solo a el, al menos en un principio.. puesto que las posibilidades que resultan a partir de una cadena de 7 dígitos que cumpla con la regla checksum son limitadas.

    Para realizar los cálculos del checksum la fórmula (en realidad dos, una para calcular y otra para validar) es la siguiente:

    The formula of calculating checksum:

    Código: [Seleccionar]
    int ComputeChecksum(unsigned long int PIN)
    Código: [Seleccionar]
    {
    unsigned long int accum = 0;
    PIN *= 10;
    accum += 3 * ((PIN / 10000000) % 10);
    accum += 1 * ((PIN / 1000000) % 10);
    accum += 3 * ((PIN / 100000) % 10);
    accum += 1 * ((PIN / 10000) % 10);
    accum += 3 * ((PIN / 1000) % 10);
    accum += 1 * ((PIN / 100) % 10);
    accum += 3 * ((PIN / 10) % 10);
    int digit = (accum % 10);
    return (10 - digit) % 10;
    }


    The formula of validating the checksum:

    Código: [Seleccionar]
    bool ValidateChecksum(unsigned long int PIN)
    Código: [Seleccionar]
    {
    unsigned long int accum = 0;
    accum += 3 * ((PIN / 10000000) % 10);
    accum += 1 * ((PIN / 1000000) % 10);
    accum += 3 * ((PIN / 100000) % 10);
    accum += 1 * ((PIN / 10000) % 10);
    accum += 3 * ((PIN / 1000) % 10);
    accum += 1 * ((PIN / 100) % 10);
    accum += 3 * ((PIN / 10) % 10);
    accum += 1 * ((PIN / 1) % 10);
    return (0 == (accum % 10));
    }

    ref. Realtek 8186 Wi-Fi Protected Setup User Guide V1.0

    Posiblemente estas fórmulas a muchos "les suene a chino" pero pueden ser explicadas o comentadas de una manera senciilla y ya de paso publicar una herramienta (compatible 100% con Wine / linux) que nos simplifica en momento dado la tarea a la hora de realizar las operaciones "a mano".


    Calc_Checkusm 'GUI





    Para realizar los cálculos (que son muy sencillos como veréis) podemos utilizar papel & lapiz o una calculadora siguiendo la siguiente plantilla:

    PLANTILLA

    3x  =
    1x  =
    3x  =
    1x  =
    3x  =
    1x  =
    3x  =
               +
    --------------

    resultado: X  (Si resultado es de dos o tres cifras nos quedamos con la cifra de la unidades)

    ejemplo: resultado 103 nos quedamos con el 3, resultado 87 con el 7

    10 - resultado = checksum (Si resultado es de dos cifras nos quedamos con la cifra de la unidades)

    ejemplo: resultado 89 nos quedamos con el 9

    PIN = cadena 7 + checksum

    Bien, vamos pues a pasar a ejemplos prácticos (sin usar la GUI eh!)

    El 1º de ellos será con el PIN 12345670 (donde 0 es el 8º dígito o dígito checksum el cual 'desconocemos' y vamos a tratar de obtener) así que precisaremos de la cadena inicial de 7 dígitos del PIN y ordenaremos estos en la plantilla como se muestra mas adelante y después realizaremos las operaciones hasta obtener el total.

    cadena inicial 1234567

    PLANTILLA

    3x 1 =
    1x 2 =
    3x 3 =
    1x 4 =
    3x 5 =
    1x 6 =
    3x 7 =
               +
    --------------
    total:

    realizamos las operaciones..

    3x 1 =  3
    1x 2 =  2
    3x 3 =  9
    1x 4 =  4
    3x 5 = 15
    1x 6 =  6
    3x 7 = 21
               +
    --------------
    total:   60

    Citar
    (Si resultado es de dos o tres cifras nos quedamos con las unidades) - ejemplo: resultado 103 nos quedamos con el 3, resultado 87 con el 7

    Como el resutado es 60  nos quedamos con el 0

    10 - 0 = 10

    Citar
    (Si resultado es de dos cifras nos quedamos con la cifra de la unidades) - ejemplo: resultado 89 nos quedamos con el 9

    Como el resultado es 10 nos quedamos con el 0

    0 es el 8º dígito o checksum para la cadena 1234567 por lo tanto el PIN es 12345670

    Otro ejemplo "rapiidíllo": PIN 11866428

    3x 1 =  3
    1x 1 =  1
    3x 8 = 24
    1x 6 =  6
    3x 6 = 18
    1x 4 =  4
    3x 2 =  6
               +
    --------------
              62

    10 - 2 = 8

    8 es el checksum por tanto PIN 11866428


    Como ya habéis realizado las operaciones "a mano" aquí os dejo el enlace de descarga de Calc_Checkusm 'GUI pero no olvidéis que la herramienta es para simplificar la tarea en un momento dato--  lo importante es apender y tener claro que es el dígito checksum de un PIN WPS y como se obtiene entre otras cosas.

    * post original by maripuri en lampiweb.com  / sustitución de enlaces y detalles.
    WWAuditor-PRO developer
    No preguntes sobre temas del foro por privado, participa en el

    Desconectado HISPALIS

    • Cantaor
    • Trade Count: (0)
    • Usuario H
    • *****
    • Mensajes: 831
    • Colaboraciones +22/-80
    • Sexo: Masculino
    • La duda es el principio de la sabiduría
    Re:PIN WPS conceptos básicos
    « Respuesta #1 en: 07 de Septiembre de 2014, 04:07:41 am »
  • Publish
  • Interesante me gustado la explicación pero no entiendo una cosa el checksum ya sabemos que es el ultimo numero pero todo los pines tiene 8 dígitos y si todo los router con Wps admite los 8 dígitos del pin que yo sepa creo que te refieres a si es pin genérico o no hay es cuando cambia la regla del checksum y no entra el pin correcto para conectar al Router si no lo entendido mal  :-\

    Desconectado USUARIONUEVO

    • WSlaxdesigners
    • Trade Count: (0)
    • *****
    • Mensajes: 2196
    • Colaboraciones +103/-0
    • WifiSlax Developer
    Re:PIN WPS conceptos básicos
    « Respuesta #2 en: 07 de Septiembre de 2014, 06:37:56 am »
  • Publish
  • esta explicado clarisimamente , muy buen aporte.

    un melonaso.

    Desconectado maripuri

    • WWAuditor-PRO developer
    • Moderador Global
    • Trade Count: (0)
    • ****
    • Mensajes: 4813
    • Colaboraciones +235/-4
    • Sexo: Femenino
    • Scripting Girl
      • WirelessWindows
    Re:PIN WPS conceptos básicos
    « Respuesta #3 en: 07 de Septiembre de 2014, 07:36:36 pm »
  • Publish

  • La idea del tema sugió porque aún vemos con bastante frecuencia usuarios que no tienen algunos conceptos básicos sobre PIN (WPS) claros (como el tema de referirse a genéricos / NO genéricos en coloquial) así que vimos una buena oportunidad de crear un tema de debate para ello.

    La idea es ampliarlo mas adelante profundizando mas por ejemplo en la comunicación AP / STA con los M1 al M8 si se ve interés por parte de los usuarios.

    No, HISPALIS...  en el tema tienes explicado bien claro que es un PIN genérico y que es un PIN no genérico (nombres atribuidos de forma coloquial para hacer distinición entre ellos).

    Algunos router's pueden llevar una cadena de 8 dígitos como PIN pero el último nº no es un checksum por eso en las herramientas de que disponemos en Windows (las que se conocen) si usas un PIN de este tipo no lo admite.

    WWAuditor-PRO developer
    No preguntes sobre temas del foro por privado, participa en el

    Desconectado alexbart

    • Moderador Global
    • Trade Count: (0)
    • *****
    • Mensajes: 2272
    • Colaboraciones +100/-0
    • Sexo: Masculino
    • no compres adopta
    Re:PIN WPS conceptos básicos
    « Respuesta #4 en: 08 de Septiembre de 2014, 05:41:04 pm »
  • Publish
  • gracias mari lo subo a facebook

    Desconectado maripuri

    • WWAuditor-PRO developer
    • Moderador Global
    • Trade Count: (0)
    • ****
    • Mensajes: 4813
    • Colaboraciones +235/-4
    • Sexo: Femenino
    • Scripting Girl
      • WirelessWindows
    Re:PIN WPS conceptos básicos
    « Respuesta #5 en: 08 de Septiembre de 2014, 07:15:34 pm »
  • Publish

  • merci alex..   
    WWAuditor-PRO developer
    No preguntes sobre temas del foro por privado, participa en el

     

    Dumpper All V.x.x

    DUMPPER WPS PENTESTING

    Facebook Comments