1

Temat: Czas timeout dla WPS w trybie PBC

Skonfigurowałem sobie działający WPS przez przyciskanie przycisków -- choć na dobrą sprawę żadne przyciski nie są naciskane, jedynie dwa polecenia. Na routerze:

hostapd_cli wps_pbc

i na kliencie:

wpa_cli wps_pbc

Z tego co zauważyłem, timeout ustawiony jest na 2min. Idzie go jakoś dostosować? Powiedzmy ustawić czas 30s.

Druga sprawa, czy dioda od WPS nie powinna się świecić podczas procesu parowania urządzeń?

2

Odp: Czas timeout dla WPS w trybie PBC

Tak trochę poza tematem, zdajesz sobie sprawę, że WPS to bardzo dziurawe i podatne na ataki rozwiązanie?

3

Odp: Czas timeout dla WPS w trybie PBC

A jakim cudem przyciśniesz przyciski na moim routerze? big_smile

4

Odp: Czas timeout dla WPS w trybie PBC

Chyba ten timeout nie jest znowu taki istotny, bo, z tego co widzę, to po sparowaniu urządzeń, WPS się automatycznie wyłącza i dwa urządzenia na jedno przyciśnięcie przycisku nie wlezą, a to które wlazło jest odnotowane w:

root@red_viper:~# hostapd_cli wps_get_status
Selected interface 'wlan0'
PBC Status: Disabled
Last WPS result: Success
Peer Address: e8:94:f6:1e:15:e9

5

Odp: Czas timeout dla WPS w trybie PBC

AP odmówi sparowania jeżeli ma w zasięgu więcej niż jedno urządzenie oczekujące na konfigurację.
Co się stanie, jeżeli ktoś za ścianą stawia urządzenie, które jest cały czas w gotowości na sparowanie z Twoim AP?

6

Odp: Czas timeout dla WPS w trybie PBC

Tzn, jeśli dwa klienty przycisną przyciski, to żaden z nich się nie podłączy?

7

Odp: Czas timeout dla WPS w trybie PBC

morfik napisał/a:

Tzn, jeśli dwa klienty przycisną przyciski, to żaden z nich się nie podłączy?

Jak AP wykryje w zasięgu więcej niż jedno urządzenie oczekujące na konfigurację, to nie sparuje żadnego.
Ja się od WPS trzymam od dawna z daleka. Ściany mają uszy...

8

Odp: Czas timeout dla WPS w trybie PBC

No to nawet jeśli coś nasłuchuje, to żadne urządzenie się i tak nie podłączy, już nie wspominając o fakcie, że widać ten atak. Poza tym, to jest tylko parowanie urządzeń -- nie jest wymagane do działania sieci. Na dobrą sprawę nikt nie ma zielonego pojęcia czy widząc w eterze poniższą sieć:

 wpa_cli scan_results
Selected interface 'wlan1'
bssid / frequency / signal level / flags / ssid
e8:94:f6:68:79:f0       2447    -31     [WPA2-PSK-CCMP][WPS][ESS]       Winter Is Coming

to czy ten WPS to jest na teraz, czy już został użyty, czy zostanie użyty, wkrótce, czy za 2 miesiące. Jeśli ktoś by próbował zasadzić się na ten WPS, to chyba prędzej mu się znudzi, zwłaszcza jak zobaczy rachunek za prąd. big_smile

A jeśli brać pod uwagę moc sygnału, to można zmniejszyć zasięg wifi, tak by dostosować go do naszych potrzeb używając, jednej z poniższych opcji:

config wifi-device 'radio0'
...
#       option distance '5'
#       option txpower '10'
...

Wtedy raczej jest wielce prawdopodobne, że temu komuś, kto czyha na nas, będzie rwało połączenie albo i w ogóle nie będzie widział naszej sieci.

Ja sobie jeszcze popatrzę i poszukam info na temat zagrożeń wynikających z PBC ale raczej wątpię by ktoś przeprowadzał ataki pod tym kątem.

9

Odp: Czas timeout dla WPS w trybie PBC

Łatwiej po prostu zrezygnować z WPS-a i nie kusić losu niż próbować udowodnić, że jest to bezpieczne i nie ma szans, żeby ktoś tego nie przełamał.

Nawet w krótkim opisie WPS w hostapd można znaleźć kilka słów, po których przeczytaniu od razu powinna się każdemu zapalić lampeczka ostrzegawcza:

"While WPS can enable more home networks to use encryption in the wireless network, it should be noted that the use of the PIN and especially PBC mechanisms for authenticating the initial key setup is not very secure. As such, use of WPS may not be suitable for environments that require secure network access without chance for allowing outsiders to gain access during the setup phase." Źródełko: http://w1.fi/cgit/hostap/plain/hostapd/README-WPS

10

Odp: Czas timeout dla WPS w trybie PBC

No tak, tak jak tam pisze: "the initial key setup...", a nie, że w ogóle to jest niezbyt bezpieczne tylko, że te domyślne ustawienia ssą. Poza tym, ciekawe kwiatki wychodzą. Odpaliłem sobie reavera i ze zdumieniem stwierdziłem, że mi hacknął sieć. big_smile Jak? Przez pin 12345670. Pytanie za 100punktów, jakim cudem w openwrt jest ustawiony pin przy sprecyzowaniu PBC i czemu jest ustawiony na taki, który reaver bierze jako pierwszy przy sprawdzaniu? Przecie tu się nigdzie pinu nie wstawia, poza tym jest push button, WTF? big_smile

Z tego co widzę, to ten hostap w konfiguracji ma wklepany ten pin:

root@red_viper:~# cat /var/run/hostapd-phy0.conf

wps_state=2
...
config_methods=push_button
...
ap_pin=12345670

Ten kto to ustawił, powinien dostać w pysk. big_smile

Teraz pytanie jak -- jak skasować ten domyślny pin?

11

Odp: Czas timeout dla WPS w trybie PBC

Znalazłem dziada. big_smile

W pliku /lib/netifd/hostapd.sh -- trzeba usunąć opcje dotyczące wps_pin , jest parę linijek, które trzeba zmienić:

...
config_add_string wps_device_type wps_device_name wps_manufacturer wps_pin
...
wps_device_type wps_device_name wps_manufacturer wps_pin \
...
set_default wps_pin "12345670"
...
append bss_conf "ap_pin=$wps_pin" "$N"
...

Z pierwszych dwóch wywaliłem wps_pin , a dwie ostatnie usunąłem całkowicie.

Po resecie wifi, przy sprawdzaniu configu -- plik /var/run/hostapd-phy0.conf -- nie ma już linijki od pinu. Przetestowałem parowanie -- działa. Pin usunięty, także WPS zabezpieczony. Przynajmniej mam taką nadzieję. big_smile Jeszcze posprawdzam co nieco.

12 (edytowany przez Cezary 2014-09-23 05:41:50)

Odp: Czas timeout dla WPS w trybie PBC

Ten pin został usunięty ponad tydzień temu ze źródeł w openwrt. Więc lekko nieświeżej wersji używasz...

EDIT: widzę nawet że to zgłosiłeś nie patrząc wcześniej w źródła smile

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

13 (edytowany przez morfik 2014-09-23 05:49:42)

Odp: Czas timeout dla WPS w trybie PBC

No ja co dwa tygodnie aktualizuje, zwykle. W sumie jak szukałem info, to nic ciekawego nie znalazłem, dlatego też zgłosiłem, a tu duplikat. smile

A odnośnie jeszcze tej diody -- to ona nie powinna się świecić podczas tej operacji?

14

Odp: Czas timeout dla WPS w trybie PBC

Jak sobie oprogramujesz żeby się świeciła to będzie.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

15

Odp: Czas timeout dla WPS w trybie PBC

A domyślnie tego nie ma? Myślałem, że być powinno.

16

Odp: Czas timeout dla WPS w trybie PBC

No nie ma. Akurat to nie jest w konfigach nigdzie ustawianie, po prostu uruchamiana jest akcja.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

17

Odp: Czas timeout dla WPS w trybie PBC

Przerobiłem trochę ten standardowy skrypt /etc/rc.button/reset i teraz wygląda on tak:

#!/bin/sh

[ "${ACTION}" = "released" ] || exit 0

. /lib/functions.sh

logger "$BUTTON pressed for $SEEN seconds"

if [ "$SEEN" -lt 1 ]
then
        wps_state=`hostapd_cli get_config | grep wps_state | cut -d= -f2`
        if [ "$wps_state" = "disabled" ]
        then
                logger "WPS is disabbled, please enable it in /etc/config/wireless ."
                exit 1
        elif [ "$wps_state" = "configured" ]
        then
                for dir in /var/run/hostapd*; do
                [ -d "$dir" ] || continue
                        hostapd_cli -p "$dir" wps_pbc
                done
                echo "255" > /sys/class/leds/tp-link\:green\:wps/brightness
        else
                exit 1
        fi
elif [ "$SEEN" -gt 2 -a "$SEEN" -lt 5 ]
then
        echo "REBOOT" > /dev/console
        sync
        reboot
elif [ "$SEEN" -gt 10 ]
then
        echo "FACTORY RESET" > /dev/console
        jffs2reset -y && reboot &
fi

Po wciśnięciu przycisku zapala się lampka i włącza się WPS, tylko teraz jak ją wyłączyć po zakończeniu operacji? Niby mam pomysł jak to powinno wyglądać, tylko, że gorzej z realizacją. big_smile

Nie wiem czy są inne sposoby ale status WPS można monitorować przez:

# hostapd_cli wps_get_status
Selected interface 'wlan0'
PBC Status: Timed-out
Last WPS result: None

I ten PBC Status może przyjąć dwie wartości. W przypadku niewpisania  pinu przez 2min, pojawi się tam Timed-out . Natomiast po sparowaniu urządzeń będzie tam widniał Disabled. Jak teraz zaprogramować ten przycisk by max po 2min lampka zgasła oraz by w przypadku sparowania urządzeń również przestała się świecić?

18 (edytowany przez morfik 2014-09-23 16:45:49)

Odp: Czas timeout dla WPS w trybie PBC

Udało mi się to zrobić i co ciekawe, udało mi się przy tym zmienić czas timeouta. big_smile

Poniżej jest blok dotyczący wps:

if [ "$SEEN" -lt 1 ]
then
        wps_state=`hostapd_cli get_config | grep wps_state | cut -d= -f2`

        if [ "$wps_state" = "disabled" ]
        then
                logger "WPS is disabled, please enable it in /etc/config/wireless ."
                exit 1
        elif [ "$wps_state" = "configured" ]
        then
                for dir in /var/run/hostapd*; do
                [ -d "$dir" ] || continue
                        hostapd_cli -p "$dir" wps_pbc
                done
                echo "255" > /sys/class/leds/tp-link\:green\:wps/brightness

                for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
                do
                        is_wps_active=`hostapd_cli wps_get_status | grep "PBC Status" | cut -d " " -f 3`

                        if [ "$is_wps_active" != "Active" ]
                        then
                                echo "0" > /sys/class/leds/tp-link\:green\:wps/brightness
                        else
                                sleep 1
                        fi
                done
                hostapd_cli wps_cancel
                echo "0" > /sys/class/leds/tp-link\:green\:wps/brightness
        else
                exit 1
        fi
fi

Działa to tak:
- sprawdzane jest czy opcja WPS jest włączona w konfiguracji sieci, jeśli nie jest, to nic się nie zainicjuje i zostanie wyrzucony odpowiedni komunikat
- jeśli WPS jest ustawiony w konfiguracji, jest aktywowany i zapalana jest dioda
- potem przez 15s w odstępach co 1s  jest sprawdzana aktywność WPS. Można sobie dostosować zarówno interwał jak i długość okresu ale nie więcej niż 120s.
- po tym jak został aktywowany WPS, mogą wystąpić dwa zdarzenia, albo WPS przejdzie w stan spoczynku z powodu Timeouta, albo urządzenie się zdąży sprawować w czasie 15s, przynajmniej w tym wypadku.
- w obu przypadkach nie jest już dłużej potrzebna aktywność WPS i co z tym się wiąże, gaszona jest dioda.

No to chyba tyle.

Machnąłem jeszcze sobie artykuł w obronie biednego WPS, do poczytania tutaj: https://dug.net.pl/tekst/298/bezpieczny_wps -- jakby ktoś się nie zgadzał z czymś, to piszcie co pochrzaniłem. big_smile