Pentagram Cerberus P6361 – rzut okiem na bezpieczeństwo

tl;dr Router starawy, bezpieczeństwo żadne, Pentagram to Tenda.

Razem z laptopem rodzice kupili parę lat temu router, właśnie tytułowy Pentagram Cerberus P6361. Byłem lekko zły, że nie konsultowali ze mną zakupu, ale kupili go za grosze, nie wiem czy nie w Biedronce. Obejrzałem go, stwierdziłem, że co prawda OpenWrt się nie da zainstalować, ale sensowne minimum jest (802.11n, możliwość włączenia WPA2 i wyłączenia WPS), więc został, pełniąc tak naprawdę rolę AP, za routerem na Raspberry Pi. Pobór prądu znikomy, sprzęt działał zaskakująco stabilnie, z racji tego, że był w sieci lokalnej, logowanie tylko po HTTP nie miało większego znaczenia.

Często się słyszy o słabych zabezpieczeniach w routerach, zwłaszcza producentów specjalizujących się w tańszym sprzęcie, więc przy stwierdziłem, że poszukam błędów w ramach zabawy. Uruchomiłem Burp, zalogowałem się do routera i postanowiłem zrobić najprostszą rzecz, czyli zresetować router. Request trochę mnie zaskoczył, bo po skopiowaniu jako komenda curl wyglądał następująco:

curl -i -s -k -X $'GET' \
-H $'Host: 192.168.1.1:8081' -H $'User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0' -H $'Accept: */*' -H $'Accept-Language: en-US,en;q=0.5' -H $'Accept-Encoding: gzip, deflate' -H $'Referer: http://192.168.1.1:8081/system_reboot.asp' -H $'If-Modified-Since: 0' -H $'Cookie: language=en; admin:language=en' -H $'Connection: close' \
-b $'language=en; admin:language=en' \
$'http://192.168.1.1:8081/goform/SysToolReboot'

Zgadza się, nie ma tam żadnych danych związanych z sesją. Uruchomienie polecenia w konsoli, poza przeglądarką i następujący po tym reboot potwierdzają – po prostu wysyłamy request a router bez żadnego uwierzytelniania wykonuje polecenie.

No dobrze, to tylko reboot, czy można zrobić coś ciekawszego? Stwierdziłem, że najważniejsze co można z routera uzyskać, to hasło administratora i hasło do WiFi. Cerberus P6361 posiada możliwość backupu konfiguracji. Efektem jej pobrania jest plik tekstowy, zawierający otwartym tekstem pełną konfigurację, włącznie z wszystkimi hasłami. Zaskoczenia nie było – również ją można pobrać bez uwierzytelniania:

curl -i -s -k -X $'GET'     -H $'Host: 192.168.1.1:8081' -H $'User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0' -H $'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8' -H $'Accept-Language: en-US,en;q=0.5' -H $'Accept-Encoding: gzip, deflate' -H $'Referer: http://192.168.1.1:8081/system_backup.asp' -H $'Cookie: language=en; admin:language=en' -H $'Connection: close' -H $'Upgrade-Insecure-Requests: 1'     -b $'language=en; admin:language=en'     $'http://192.168.1.1:8081/cgi-bin/DownloadCfg/RouterCfm.cfg' 

Game over. Przyznaję, że po tym, co zobaczyłem, odeszła mnie ochota na dalszą zabawę, przynajmniej z tą wersją firmware:

Current system version: V5.07.18_pl_PEN; Publishing date: Nov 7 2011
Software version V5.07.18_pl_PEN
Hardware version V1.0

Pamiętałem, że dawno temu pobrałem nowszą wersję firmware’u (V5.07.21), ale nie zaktualizowałem go z braku czasu. Postanowiłem sprawdzić na stronie producenta, czy są nowsze wersje, żeby zaktualizować i sprawdzić przed zgłoszeniem czy bug nadal występuje i… niespodzianka. Strona producenta zniknęła. Liczyłem, że znajdę jakieś linki do firmware w necie, poszperałem więc nieco i okazało się, że Pentagram to tak naprawdę Tenda (co łatwo można potwierdzić na podstawie MAC adresu), czyli producent, którego routery zawierają mnóstwo podatności tego typu[1]. W znacznie nowszym firmware, którego, nawiasem nie widzę do pobrania ze strony producenta – jest 5.07.46 z 2013. Przy czym opieram się na tym, że wersja i rozmiar fimware są podobne, pewności, że Pentagram Cerberus P6361 to Tenda W316R nie mam, routera zepsuć nie chcę, więc chwilowo nie wymieniam – pobawię się intensywniej jak znajdę zastępcę.

Część smutna. Domyślnie router udostępnia interfejs do zarządzania na wszystkich interfejsach (adres 0.0.0.0) i wygląda, że nie ma dostępnego załatanego firmware’u. Rzut oka na portale z używanym sprzętem pokazuje, że sporo ludzi sprzedaje te routery. Ceny od 20 zł w górę. Jak się ktoś bardzo postara, to i nowy w sklepie znajdzie. Polecam kupić coś innego. Jeśli ktoś musi używać ww. routera, polecam pokombinować z niewystawianiem panelu zarządzania czy to przez zmianę adresu na którym słucha, czy trickiem z przekierowaniem portu opisanym przy podobnej okazji[2]. Wygląda na bardzo podobny błąd.

Przy czym najlepiej tego typu podatny router wymienić (co przy najbliższej okazji uczynię, choć jest używany sporadycznie), ponieważ za sprawą CSRF atak można wykonać od strony sieci LAN, więc brak wystawionego na świat interfejsu nie do końca zabezpiecza przed wykonaniem zdalnego ataku.

Shodan zwrócił zaskakująco mało wyników, ZoomEye nieco więcej, ale przypuszczam, że te sprzęty po prostu mają się już ku schyłkowi (patrz [2]). Ew. złe zapytania zrobiłem – niestety w tej chwili nie mam już dostępu do routera. Zdecydowałem się opisać, bo zabawa i przednia, i prosta, exploit opublikowany był jeszcze w zeszłym roku, choć sprzęt starawy, a o dziurach w routerze zawsze warto przypomnieć – może ktoś załata/wymieni.

[1] Zmiana serwerów DNS jest kolejną ważną rzeczą. W sumie ważniejszą, niż hasło do WiFi, zwł. jeśli mowa o zdalnym sprzęcie.
[2] Aktualnie zapytanie zwraca poniżej 7 tys. wyników. W masową aktualizację nie wierzę, czyżby sprzęty nie przeżywały 6 lat? W sumie w tym przypadku dobrze…

Nowy router (TP-Link Archer C50)

Poprzedni router wytrzymał cztery lata. Jakiś czas temu zaczął się wieszać – 50% strat pakietów po WiFi, pomagał restart prądowy. Nie było to może bardzo częste, ale na tyle drażniło, że dopisałem nawet codzienny reboot w cronie. Co zmniejszyło problem, ale go nie rozwiązało. I w ogóle problem jakby się nasilał. Od strony systemu (OpenWrt) nic ciekawego w logach, przełożenie w chłodniejsze miejsce, tj. zdjęcie z modemu kablowe jakby trochę pomogło, więc podejrzewam albo przegrzewanie się, albo wysychający kondensator. Tylko nie pasuje mi do tej teorii reset rozwiązujący problem na losowy okres czasu.

Teoretycznie nic, z czym nie mógłbym powalczyć, ale… trochę szkoda czasu. No i są inne powody. Po pierwsze, poprzedni router już się zwrócił. Po drugie jest to wspaniały pretekst do wymiany sprzętu na coś z 5 GHz, bo na 2,4 GHz od dawna robi się tłoczno, a coraz więcej sprzętów obsługuje 5 GHz. Wreszcie zajrzałem na stronę OpenWrt i tam wszędzie warningi, że sprzęty z 4 MB flash lub 32 MB RAM przestają być wspierane. Swoją drogą, może właśnie to była przyczyna niestabilności? Szczególnie, że trochę przeładowany softem i ogólnie na krawędzi był, zdecydowanie wbrew zaleceniom, jak je teraz czytam.

Tak czy inaczej, kupiłem sprzęt. Wybór był nieco skomplikowany, choć wymagania miałem proste: 8 MB flash, 64 MB RAM, wsparcie dla 5 GHz i 802.11ac i oczywiście wsparcie przez OpenWrt. Szybko ustaliłem, że jednym z tańszych urządzeń dostępnych w Polsce spełniających kryteria jest TP-Link Archer C50. Jednak żeby nie było zbyt prosto, okazało się, że wsparcie jest zależne od wersji hardware. Ogólnie nie rozumiem tej mody wśród producentów, żeby robić wiele różnych urządzeń z tą samą nazwą. Wersja hardware spokojnie mogła by być ujęta w nazwie, przynajmniej klient od razu wiedziałby, co kupuje.

Wyszło mi, że potrzebuję albo v3, albo v4. Przy czym sprzęt jest w zasadzie ten sam, a główny problem jest z formatem obrazu – prawdopodobnie v4 nie dorobi się „klikalnej” wersji obrazu na stronie i trzeba będzie się bawić w samodzielne składanie obrazu. Nie jest to jednak coś, co spędza mi sen z powiek.

Na Allegro nie jest łatwo ustalić wersję hardware. Mało który sprzedawca chwali się wprost. Zadałem pytanie o wersję chyba czterem albo pięciu, odpisał jeden. I kupiłbym tam, gdyby nie fakt, że zdążył zakończyć sprzedaż. Chociaż w sklepie na stronie nadal były dostępne. Ostatecznie kupiłem u innego sprzedawcy kota w worku. Kot okazał się być v4.

Tradycyjnie nie przechodziłem na OpenWrt od razu, tylko dałem szansę firmware’owi producenta. Okazało się, że wgrany jest najnowszy dostępny. Tradycyjnie dostępnych wiele opcji konfiguracyjnych. Można nawet wybrać z GUI cykliczny reboot, czego nie było w poprzednich wersjach. Można zdefiniować tryb nocny, kiedy diody mają być wyłączone i ustalić – niezależnie – moc każdej z kart sieciowych (low-medium-high). Wygląda to naprawdę przyzwoicie. Dwa zakresy oznaczają de facto dwa niezależne interfejsy sieciowe i prawdopodobnie dwie oddzielne karty z dwiema antenami każda. Obie sieci ustawiłem na średnią moc.

Ogólnie po trzech tygodniach korzystania jestem zadowolony. Na razie zostaje firmware producenta. Jak na sprzęt za 110 zł działa bardzo fajnie i stabilnie. Tam gdzie to możliwe korzystam z 5 GHz. Pokazuje niby słabszy sygnał, niż na 2,4 GHz ale działa bardzo dobrze i speedtest na luzie, powtarzalnie, pokazuje zarówno maksymalny upload, jak i download w stosunku do tego co oferuje ISP.

Testy szybkości sieci wewnętrznej i pomiary poboru prądu – jak mi się przypomni.

Yerba z sokiem pomarańczowym

Lato zmierza ku końcowi, więc ostatnia szansa na spróbowanie genialnego orzeźwiającego napoju, o którym przypominam sobie co roku o wiele za późno, dopiero podczas największych upałów. Chodzi o yerba mate z sokiem pomarańczowym.

Przygotowanie odbywa się bez gotowania – bierzemy porcję yerba mate (2-3 czubate łyżki stołowe), wsypujemy do butelki 1,5-2 litra, zalewamy wodą, zakręcamy i wstawiamy do lodówki na 2-3 doby. Przechowujemy w lodówce. Po tym czasie używamy do zrobienia napoju – nalewamy do szklanek jedną trzecią do połowy uzyskanej esencji i dopełniamy sokiem pomarańczowym. Pić przez bombillę, ew. można próbować nalewać przez gęste sitko.

Napój ma fajny „złamany” smak – nie jest tak słodki jak sam sok, nawet rozcieńczony wodą. W przypadku, gdy i sok, i esencja są przechowywane w lodówce, nie ma potrzeby dodawania lodu. Można próbować postąpić analogicznie z herbatą lub zieloną herbatą zamiast yerba mate – na oko powinno działać, ale nie testowałem.

Ile prądu zużywają żarówki LED?

W poprzednim wpisie pisałem o kalkulatorze zwrotu inwestycji w urządzenia energooszczędne. W tym wpisie będzie o tym, że kalkulować trzeba ostrożnie i nie takie LEDy fajne, jak je piszą.

Zaczęło się niewinnie – kupiłem okazyjnie (jakieś 4 zł/szt.) na Allegro żarówki Ledlumen, które na papierze prezentowały się całkiem obiecująco, szczególnie zważywszy na to, że używane dotychczas z IKEA mają już swoje lata. Coś mnie podkusiło, żeby sprawdzić przy pomocy watomierza, ile faktycznie pobierają prądu. Porównałem też jak jasno świecą przy pomocy aplikacji na telefonie, ale tego nie opisuję, bo mało dokładny czy powtarzalny pomiar (dochodzi światło otoczenia, ułożenie lampki i telefonu). W każdym nowe Ledlumen razie świecą jaśniej od tych używanych z IKEA, co zresztą widać gołym okiem. Natomiast wyniki pomiaru prądu okazały się na tyle ciekawe, że przetrzepałem różne rodzaje żarówek, które miałem w domu.

Pomiar za każdym razem przeprowadzałem tak samo – wkręcenie zimnej żarówki do lampki, odczyt kilka sekund po włączeniu, kolejny po minucie. Główni bohaterowie to:

  • żarówki z IKEA, używane, nazwy nie pamiętam, kupowane w różnym okresie. Zwykle paroletnie. Moc znamionowa 6,3 W.
  • żarówki Ledlumen, zakupione na Allegro, ok. 4 zł/szt. Nowe. Moc znamionowa 6 W
  • żarówki Ryet z IKEA, kupione w promocji za 4 zł/szt. Nowe. Moc znamionowa 5 W
  • żarówki Anslut z Jula. Nowe. Moc znamionowa 5,8 W

Poniżej dane z pomiarów w formie

  • opis żarówki, moc znamionowa, pobór po włączeniu, pobór po minucie od włączenia
  • IKEA 6,3 7,4 6,5
  • IKEA 6,3 6,5 6,6
  • IKEA 6,3 6,5 6,6
  • IKEA 6,3 7,4 6,5
  • IKEA 6,3 6,5 6,6
  • IKEA 6,3 6,7 6,8
  • Ledlumen 6,0 7,0 7,1
  • Ledlumen 6,0 7,1 7,2
  • Ledlumen 6,0 7,2 7,3
  • Ryet IKEA 5,0 4,5 4,5
  • Ryet IKEA 5,0 5,4 4,5
  • Anslut Jula 5,8 5,5 5,5
  • Anslut Jula 5,8 6,4 6,4
  • whitenergy 5,0 4,3 4,3
  • noname 3,0 1,8 1,8

Z powyższego daje się wyciągnąć kilka wniosków. Po pierwsze, niby takie same, nowe żarówki potrafią znacznie różnić się poborem prądu między sobą, co widać na Ryet i Anslut. Po drugie, pobór prądu nieco się zmienia po rozgrzaniu się żarówki. Po trzecie i najważniejsze, wartości deklarowane to… wartości deklarowane, a różnice sięgają nawet 10%. I rzadko są to różnice na korzyść użytkownika, przynajmniej jeśli chodzi o zużycie energii.

UPDATE Pojawił się świetny wpis traktujący o zużywaniu się i zmianach w żarówkach LED (ang.) – warto przeczytać.

Kalkulator okresu zwrotu wymiany urządzeń elektrycznych

Jakoś rok czy dwa temu wdałem się w dość bezsensowną dyskusję, czy warto przechodzić z żarówek zwykłych na LED, albo – szerzej – czy pobór prądu przez urządzenie (np. router) może być przesłanką do jego wymiany. Oczywiście stałem na stanowisku, że może, bo zdarzyło mi się to już policzyć i choćby router między innymi z tego powodu wymienić. Argumenty drugiej strony były, że ludzi nie stać na żarówki LED, że to inwestycja i że zwraca się długo. Tu nie ma co dyskutować i gdybać, to można zwyczajnie zmierzyć i policzyć.

Wpadłem wtedy na pomysł, że warto zrobić kalkulator ułatwiający tego typu szacunki[1], bo to pięć minut roboty, a będzie można łatwo porównać i żarówki, i router, i dowolne inne urządzenie. A także łatwo sprawdzić przed zakupem, czy bardziej opłaca się w określonym horyzoncie czasowym kupić tańszy sprzęt AGD klasy A czy droższy A++, co również zdarzało mi się liczyć, zgrubnie[2].

Okazało się, że roboty jest znacznie więcej, niż pięć minut, jeśli się nie zna JavaScriptu. Całość działała, ale wyglądała bardzo koślawo i… zapomniałem o tym mini projekcie. Dziś, korzystając z zapowiedzianych podwyżek cen energii, które nie spowodują wzrostu wydatków na energię (haha) uznałem, że kalkulator opłacalności wymiany urządzeń elektrycznych warto odświeżyć, czyli doprowadzić do stanu pozwalającego na jego publikację. Nadal nie jest to zgrabne, ale da się używać bez bólu oczu. Pewnie będą drobne aktualizacje.

Jednocześnie chciałem, żeby wpis o kalkulatorze oszczędności energii i zaletach LED pojawił się chronologicznie wcześniej, niż nadchodzący wielkimi krokami wpis o różnicach między deklarowanymi wartościami poboru prądu żarówek LED, a zużyciem rzeczywistym.

Użycie jest proste – podajemy ile średnio godzin dziennie używane jest urządzenie, podajemy aktualną cenę 1 kWh (wraz z przesyłem), cenę zakupu urządzeń (jeśli już posiadamy, podajemy zero). W odpowiedzi otrzymujemy miesięczny koszt użytkowania urządzeń oraz okres zwrotu. W przypadku wartości ułamkowych należy użyć kropki jako separatora dziesiętnego.

W przykładzie, po otwarciu strony jest żarówka zwykła 60W za 1 zł oraz 6W LED za 10 zł. Przy użyciu 2h dziennie i cenie 55gr/kWh (jakoś tak teraz jest) zwraca się w 5 m-cy. Ogólnie jeśli ktoś chce oszczędzać pieniądze, to warto wymienić wszystkie istniejące żarówki starego typu, zupełnie nie przejmując się częstotliwością zapalania i gaszenia…

Korzystając z okazji przypomnę adres mojego nieco zapuszczonego bloga dotyczącego realnego poboru prądu przez różne urządzenia.

[1] Oczywiście działający po stronie przeglądarki, napisany w JavaScript – nie pobieram żadnych danych na serwer. Mocno poza strefą komfortu, jeśli chodzi o język. Totalnie zmarnowane szanse na produktyzację. Ale uważam, że tak się powinno robić tego typu kalkulatory.

[2] Wtedy wyszło mi, że w perspektywie pięciu lat, bo na tyle szacowałem żywotność sprzętu, nie ma sensu dopłacać kilkuset zł za urządzenie bardziej energooszczędne.