Ukrywanie haseł w pliku wpa_supplicant.conf za pomocą WPA-EAP i MSCHAP-v2


23

Mój wpa_supplicant.confwygląda tak:

network={
  ssid="Some name"
  scan_ssid=1
  key_mgmt=WPA-EAP
  eap=PEAP
  identity="my-user-id"
  password="(clear text password here)"
  ca_cert="/usr/share/ca-certificates/mozilla/GeoTrust_Global_CA.crt"
  phase2="auth=MSCHAPV2"
}

Czy w przypadku tej konkretnej kombinacji WPA-EAP i MSCHAP-v2 istnieje możliwość, aby moje hasło nie było wyraźnie wymienione w tym pliku konfiguracyjnym?

Dziennik zmian wydaje się twierdzić, że jest to wykonalne (od 2005 roku!):

* added support for storing EAP user password as NtPasswordHash instead
  of plaintext password when using MSCHAP or MSCHAPv2 for
  authentication (hash:<16-octet hex value>); added nt_password_hash
  tool for hashing password to generate NtPasswordHash

Niektóre uwagi:

1 Ten anser twierdzi, że użycie hashowanego hasła oznacza, że ​​hash staje się hasłem. Jest to technicznie prawdą, ale przynajmniej skrót to hasło tylko do Wi-Fi , co stanowi znaczący postęp w stosunku do wycieku hasła wspólnego, umożliwiającego dostęp do wielu usług.

Odpowiedzi:


20

Możesz wygenerować NtPasswordHash(skrótu hasła NTLM) samodzielnie w następujący sposób:

echo -n plaintext_password_here | iconv -t utf16le | openssl md4

Przedrostek „hash:” w pliku wpa_supplicant.conf, tj

password=hash:6602f435f01b9173889a8d3b9bdcfd0b

W systemie macOS kod iconv to UTF-16LE

echo -n plaintext_password_here | iconv -t UTF-16LE | openssl md4

Pamiętaj, że nie zyskujesz większego bezpieczeństwa. Jeśli osoba atakująca znajdzie plik z skrótem, może w trywialny sposób dołączyć do sieci (w taki sam sposób, jak komputer), więc zaszyfrowanie hasła wcale nie pomaga. Jeśli hasło jest używane gdzie indziej, atakujący musiałby użyć brutalnej siły, aby znaleźć oryginalne hasło (tj. Wypróbować najbardziej prawdopodobne hasła i obliczyć swój skrót, dopóki nie znajdzie pasującego hasła). Ponieważ na zwykłym komputerze można obliczyć około 1 miliarda skrótów na sekundę, nie jest to dużą przeszkodą, a atakujący mogą z łatwością korzystać ze wstępnie obliczonych tabel, ponieważ skrót jest niesolony. NT jest naprawdę okropny jako algorytm mieszania hasła.


Dzięki! To wygląda obiecująco, ale nie działa dla mnie; patrząc w -dślad wpa_supplicant, otrzymuję różne EAP-PEAP: Derived Session-Id, EAP-PEAP: Decrypted Phase 2 EAP, MSCHAPV2: auth_challenge - hexdump(len=16):i MSCHAPV2: password hash - hexdump(len=...)wyjść, a wreszcie dwa komunikaty mówią EAP-TLV: TLV Result - FailureiEAPOL authentication completed - result=FAILURE
Clément

Żeby wyjaśnić: dostaję MSCHAPV2: password hash - hexdumplinię w nieudanym śledzeniu debugowania, co jest zachęcające ( MSCHAPV2: password - hexdump_asciizamiast tego nieszyfrowana ma linię), ale połączenie nie działa
Clément

1
@ Clément Aby się upewnić, że generowany jest odpowiedni skrót: powyższe polecenie wykonane w systemie oblicza taki sam skrót jak ten kalkulator online , prawda?
Guido

1
To nie działa, jeśli hasło ma więcej niż 14 znaków.
tjohnson

1
@Alden Bardzo tanie. Nie ma możliwości powrotu bezpośrednio z skrótu do danych wejściowych, ale możesz wypróbować wiele możliwych haseł i obliczyć ich skróty, dopóki nie znajdziesz pasującego. MD4 jest bardzo szybki, 1 miliard w 2 sekundy dzięki 6-letniej karcie graficznej .
Gilles „SO- przestań być zły”

16

Otwórz terminal i wpisz:

wpa_passphrase YOUR_SSID YOUR_PASSWORD

Przykładowe dane wyjściowe:

network={
    ssid="YOUR_SSID"
    #psk="YOUR_PASSWORD"
    psk=6a24edf1592aec4465271b7dcd204601b6e78df3186ce1a62a31f40ae9630702
}

Otwórz wpa_supplicant.confplik i dodaj następujący wiersz:

psk=6a24edf1592aec4465271b7dcd204601b6e78df3186ce1a62a31f40ae9630702

2
WPA PSK (będący skrótem kombinacji SSID i hasła) nie jest tym samym co skrót NTLM / NtPasswordHash (który jest tylko 16-bitowym skrótem MD4 hasła).
Guido,

5
OP zapytał o WPA-EAP, a nie WPA-PSK.
Guido,

2
Przepraszam, jeśli post nie wyjaśnił: to jest dokładnie rozwiązanie w pierwszym nie duplikacie, który wymieniłem. W konfiguracji, o którą pytam, nie ma klucza wstępnego.
Clément

1
może to nie być konkretne pytanie, ale pomogło mi rozwiązać mój problem. Dziękuję Ci.
typelogiczny
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.