Los scripts de identificación de contraseñas WiFi genéricas de Acrylic consisten en código .NET (C#), ejecutado de forma dinámica desde Acrylic y permitiendo generar la lista de contraseñas predecibles para los puntos de acceso, dependiendo de varios factores:

  • Cifrado del punto de acceso (WPA,WPA2,WEP).
  • Dirección MAC del punto de acceso (BSSID)
  • Nombre de la red (SSID)

Acrylic es capaz de generar las claves WiFi de un gran número de dispositivos, tanto para claves de cifrado (wep, WPA y WPA2) como para las contraseñas WiFi genéricas de WPS.

Contraseñas WiFi con el editor de scripts de Acrylic
Acrylic Wifi scripts

Gracias al editor integrado, se facilita la creación y envío de scripts de contraseñas. Con la colaboración de la comunidad se portarán un gran número de debilidades conocidas en algoritmos de generación de claves de routers ADSL.

A la hora de crear un script desde cero se puede seleccionar en el editor la opción de nuevo script y rellenar los campos, dando como resultado una plantilla de script.

Estructura de un script de generación de contraseñas WiFi

Un script consta de funciones de uso meramente informativo:

  • Description: Donde se describe el funcionamiento del script o a que dispositivos afecta.
  • Version: Número de version del script.
  • Author: Información del autor que ha desarrollado el script.

Y las que definen sobre que puntos de acceso aplican:

  • Security: Enum con los tipos de seguridad sobre los que aplica, seran WEP,WPA y WPA2 (No necesaria para scripts de generación del PIN WPS)
  • ValidMacs: Lista de macs (solo los 3 primeros bytes que son los que identifican al vendor) sobre las cuales tiene sentido ejecutar el script.
  • SSID: Indica el nombre que debe tener la red para que se ejecute el script (puede estar vacio para aplicar a cualquier red o incluir carecteres comodin, mediante el uso del caracter “?“)
  • EstimatedKeys: Numero de contraseñas que se generan como resultado, normalmente este numero es conocido a priori por eso es aconsejable que sea lo mas aproximado posible.
  • Generate: Función principal que genera la lista de contraseñas para el dispositivo.

Soporta de parametros de entrada una lista de objetos, estos se puede referenciar haciendo uso del enum KeygenParams.
Ejemplo:

string ssid = ((string)keygenParams[(int)KeygenParams.Ssid]);

Los scripts se pueden probar desde el editor de modo que dado un ssid/mac se vea si se generan resultados.

[code language=”csharp”]
using System;
using System.Collections.Generic;

// +——————————————————————-+
// | SEND US YOUR SCRIPTS AND WILL BE INCLUDED IN NEXT Acrylic RELEASE |
// | |
// | (Use the Submit action from the right button menu) |
// + ——————————————————————+

public class WifiMediaR {

//——————————————————————————————————————————–
public string Description { get { return "WifiMediaR Galician cable provider"; } }
public double Version { get { return 0.2; } }
public string Author { get { return "Tarlogic – (Based on public algorithms)"; } }
//——————————————————————————————————————————–

//——————————————————————————————————————————–
public SecurityParams Security { get { return SecurityParams.Wpa | SecurityParams.Wpa2; } }
//——————————————————————————————————————————–

//——————————————————————————————————————————–
public List ValidSsids { get { return new List(); } }
//——————————————————————————————————————————–

//——————————————————————————————————————————–
public List ValidMacs { get { return new List() { "00:26:5B", "BC:14:01", "00:05:CA", "68:B6:FC" }; } }
//——————————————————————————————————————————–

//——————————————————————————————————————————–
public int EstimatedKeys { get { return 1; } }
//——————————————————————————————————————————–

//——————————————————————————————————————————–
public List Generate(List

List retVal = new List();

foreach (string validMac in ValidMacs) {
if (macString.Substring(0, 8) == validMac) {
ulong tmp = (macUlong & 0xFFFFFFFFFFF0);

string ms = ((tmp & 0xFF0000000000) >> 40).ToString("X2") +
((tmp & 0x00FF00000000) >> 32).ToString("X2") +
((tmp & 0x0000FF000000) >> 24).ToString("X2") +
((tmp & 0x000000FF0000) >> 16).ToString("X2") +
((tmp & 0x00000000FF00) >> 8).ToString("X2") +
(tmp & 0x000000000000FF).ToString("X2");

retVal.Add(ms);

}
}

return retVal;
}
catch (Exception) { return new List { "" }; }

}
//——————————————————————————————————————————–

}
[/code]

Puedes descargar Acrylic WiFi Free y comprueba si tu red dispone de contraseñas WiFi conocidas.