Netiaspot 5.4.8.2.95 ciekawe doświadczenie Jak to już bywa, routery stały się naszymi cyberdzwiami do domu. Poświęcając jeden dzień na skonfigurowanie routera, nasuwają się dość smutne wnioski, jakiego rodzaju drzwi posiadamy. Czy antywłamaniowe czy tak zwane 'jednokopy'? Nie trzeba być ekspertem aby zauważyć, że zamieszanie z routerami rośnie. Dobrym przykładem może być ostatnio opublikowany backdoor w Linksysach, Netgarach i innych routerach http://cxsecurity.com/blad/WLB-2014010023 O ile w większości routerów można zablokować zdalny dostęp do routera, to w netiaspot nie. Zadzwoniłem na infolinie z problemem, iż mam otwarte porty 443 i 4567. Pan miło odpowiedział, że nic mi nie grozi, a port jest otwarty gdyż daje 'SUPERDOSTEP’ (czytaj ‚backdoor’?) z firmowej sieci Netii. OK jednak nie zmienia to faktu, że port 443 jest dalej otwarty. Jedynym sensownym rozwiązaniem, jest rezygnacja z routera netii i zamontowanie swojego sprzętu. Radykalnie i trochę bezpieczniej. Netia spot cierpi na kilka podstawowych słabości i nie trzeba przeprowadzać pentestów aby to stwierdzić. Znajomość jakiegoś słownika jak CWE czy OWASP TOP10 i dobre oko, wyłapie nieprawidłowości. 1. Open Redirect CWE-601 Nie da się nie zauważyć podatności jaką jest Open Redirect. Dość niepozorna podatność często bywa ignorowana z uwagi na dość duży koszt jej naprawy. Typ błędu w metryce CVSS jest z reguły oceniana wyżej niż jeden z najpopularniejszych rodzajów XSS CWE-79. Warto wyjaśnić dla czego: O to powody: 1 Phising 2 Może służyć do wykonania kodu HTML czyli ala-XSS (np w Firefox, nie w Chrome) 3 Może posłużyć do ominięcia mechanizmów ochronnych i w połączeniu z CSRF, nieźle namieszać. XSS pod Firefoxa http://netiaspot.home/index.cgi?intercept_id=300&troubleshoot_seq=0&org_url=data:text/html;base64,PHNjcmlwdD5hbGVydCgnWFNTJyk7PC9zY3JpcHQ%2B &no_dns=1&host_mac=22%3a13%3a11%3a12%3ac1%3a12&page=page_close_browser&req_mode=0&strip_page_top=0&strip_page_tabs=0&strip_page_logo=0&scroll_top=0&page_session_id=&button_value= Tego rodzaju błędy zalicza się do błędów popełnionych w trakcie projektowania oprogramowania a koszt naprawienia, często bywa bardzo wysoki. Skoro porty 443 jest otwarty, każdy router neti umożliwia na open redirecta. Plusem dla neti jest fakt, iż user na kilka sekund zatrzymuje się na stronie routera z informacją, iż połączył się z internetem co połowicznie rozwiązuje sprawę. 2. Session Fixation CWE-384 Netiaspot cierpi na session hijacking. Wystarczy ukraść ciastko z id sessji. Co ciekawe i słabe, ten sam id sessji leci w zapytaniach GET. Oprogramowanie w routerach to nie GMAIL i powinno być obarczone jakimiś standardami bezpieczeństwa. Na screenie widać fragment URL: http://cert.cx/0x41424344/hijacking1.png A na screenie poniżej, widać ten sam fragment w ciastku http://cert.cx/0x41424344/hijacking2.png Obala się też mit, że dostęp do routera jest tylko z sieci zewnętrznej netii. Mając ciastko, można korzystać z panelu do woli. Nie można jedynie się zalogować z poza sieci netii. 3. Zdalny Reset Niestety można by wystawić kilka CWE-DesignError Netii za ich sprzęt. Najgorszy jest fakt, że nasz router wystawiony jest na zewnątrz. Każdy może zobaczyć stronę logowania do routera. A co za tym idzie, zdalnie zresetować każdy router netii. Jak? Metoda jest bardzo prosta. Skoro netia wpuszcza nas na port 443 więc klikamy na http://[IP_ROUTERA]/index.cgi?intercept_id=60&troubleshoot_seq=0&org_url=http%3a%2f%2fcvemap%2eorg&host_mac=22%3a13%3a11%3a12%3ac1%3a12&page=page_ppp_no_server&req_mode=0&strip_page_top=0&strip_page_tabs=0&strip_page_logo=0&scroll_top=0&page_session_id=&button_value= I pojawia się magiczny guziczek, z opcją resetu routera. Klikamy i zdalnie zrywamy połączenie. http://cert.cx/0x41424344/remotereset.png Niby nic groźnego, router przecież wstanie i dostanie nowe IP (o ile nie ma statycznego). Ale.. ciekawostką jest też druga sieć wifi FON_NETIA_FREE_INTERNET nadawana z naszego netiaspotu. Bez trudu można się z nią połączyć. Chcąc wejść na jakąś stronę, okazuje się, że trzeba zapłacić. Nie ma nic za darmo jednak gratis jest.. DNS. Będąc podłączonym do sieci, wystarczy spingowac host netiaspot.home aby uzyskać IP routera. unix:paros cebula$ ping netiaspot.home PING netiaspot.home (77.254.180.121): 56 data bytes Request timeout for icmp_seq 0 I tak o to mamy IP routera bez jakiegokolwiek wysiłku. Czytając wikipedie http://pl.wikipedia.org/wiki/Netia_Spot Procesor: ARX168 o taktowaniu 333MHz Pamięć RAM: 32MB To nie dużo. Mój telefon ma więcej. Netia musi mieć dobrego firewalla na webserver :) Mamy prawo do bezpieczeństwa. Jednak szkoda czasu na tak słabe urządzenie. Jeden dzień a już można pisać spis treści do raportu bezpieczeństwa. Zadzwoniłem w tej sprawie na infolinie z prośbą o kontakt do oficera bezpieczeństwa. Kazali napisać email to też poczyniłem podając mój numer telefonu. W ciągu 24h miał się ktoś zgłosić. Niestety zero odzewu. Dzwonie zdenerwowany ignorancją, jednak miałem szczęście trafiając na kompetentną i miłą osobę (co nie zawsze się zdarza/respect). Jednak jej możliwości były dość ograniczone ;/ Na koniec ciekawy punkt bezpiecznego użytkowania Netia Spota — 11. Nie wolno dokonywać samodzielnych napraw lub modyfi kacji sprzętu. Wszelkie usterki urządzenia powinny być zgłoszone na infonetię — O istnieniu usterek poinformowałem telefonicznie i emailowo. Prosiłem o kontakt z jakimś bezpiecznikiem i możliwością bezpiecznego przekazania informacji. Bezskutecznie. Skoro tak traktują informacje o lukach, jest mi bardzo przykro, że coś nie działa w tej firmie jak powinno. Szanuje swój czas i zostawiam te urządzenie w spokoju. Niech inni martwią się otwartymi portami w routerze i kto ma do tego dostęp. Myślicie nad zakupem innego routera? Ciekawe jaki jeszcze nie jest zbackdorowany...