Serveur WPS sur Android

8

Serait-il possible d'émuler un protocole Wi-Fi Protected Setup Server sur un appareil Android?

De cette façon, lorsque j'utilise l'appareil comme point d'accès portable, je peux utiliser un mot de passe fort et permettre aux clients de se connecter à l'aide de la fonction de bouton-poussoir WPS.

enrico.bacis
la source
N'utilisez pas WPS car il présente une vulnérabilité de sécurité.
QkiZ
4
@QkiZ: c'est pourquoi je veux l'utiliser, je suis un chercheur en sécurité: D
enrico.bacis

Réponses:

0

Doit ajouter la chaîne ( wps_state, eap_server) dans les fichiers suivants

système / netd / serveur / SoftapController.cpp

int SoftapController::setSoftap(int argc, char *argv[])
{
int hidden = 0;
int channel = AP_CHANNEL_DEFAULT;

int wps_state = 2;

if (argc < 5) {
ALOGE("Softap set is missing arguments. Please use:");
ALOGE("softap <wlan iface> <SSID> <hidden/broadcast> <channel> <wpa2?-psk|open> <passphrase>");
return ResponseCode::CommandSyntaxError;
}

if (!strcasecmp(argv[4], "hidden"))
hidden = 1;

if (argc >= 5) {
channel = atoi(argv[5]);
if (channel <= 0)
channel = AP_CHANNEL_DEFAULT;
}

std::string wbuf(StringPrintf("interface=%s\n"
"driver=nl80211\n"
"ctrl_interface=/data/misc/wifi/hostapd\n"
"ssid=%s\n"
"channel=%d\n"
"ieee80211n=1\n"
"hw_mode=%c\n"
"ignore_broadcast_ssid=%d, **eap_server = 1, wps_state = %d**\n",
argv[2], argv[3], channel, (channel <= 14) ? 'g' : 'a', hidden,**wps_state**));

std::string fbuf;
if (argc > 7) {
char psk_str[2*SHA256_DIGEST_LENGTH+1];
if (!strcmp(argv[6], "wpa-psk")) {
if (!generatePsk(argv[3], argv[7], psk_str)) {
return ResponseCode::OperationFailed;
}
fbuf = StringPrintf("%swpa=3\nwpa_pairwise=TKIP CCMP\nwpa_psk=%s\n", wbuf.c_str(), psk_str);
} else if (!strcmp(argv[6], "wpa2-psk")) {
if (!generatePsk(argv[3], argv[7], psk_str)) {
return ResponseCode::OperationFailed;
}
fbuf = StringPrintf("%swpa=2\nrsn_pairwise=CCMP\nwpa_psk=%s\n", wbuf.c_str(), psk_str);
} else if (!strcmp(argv[6], "open")) {

fbuf = wbuf;
}
} else if (argc > 6) {
if (!strcmp(argv[6], "open")) {
fbuf = wbuf;
}
} else {
fbuf = wbuf;
}

if (!WriteStringToFile(fbuf, HOSTAPD_CONF_FILE, 0660, AID_SYSTEM, AID_WIFI)) {
ALOGE("Cannot write to \"%s\": %s", HOSTAPD_CONF_FILE, strerror(errno));
return ResponseCode::OperationFailed;
}
return ResponseCode::SoftapStatusResult;
}

Essai

hostapd_cli  wps_pbc
user296173
la source