Wielu operatorów sieci od kilkunastu lat publicznie przez interfejs WWW udostępnia podstawową diagnostykę połączeń swoich najważniejszych ruterów, odpowiadających za kierowanie ruchem w internecie. Czasem jednak udostępnia za dużo.
Są w sieci miejsca gdzie czas się zatrzymał. Usługa Looking Glass, popularna wśród administratorów sieci, umożliwia szybsze ustalenie przyczyn awarii poprzez wykonanie podstawowych operacji diagnostycznych z poziomu rutera sąsiedniej sieci. Pozwala to często na zdiagnozowanie problemu, który dotyczy tylko wybranych sieci i byłby niemożliwy do ustalenia bez łatwego dostępu do bezpośrednich informacji widocznych jedynie od drugiej strony połączenia. Gdy kilkanaście lat temu budowano interfejsy WWW służące do realizacji tego zadania najwyraźniej ich bezpieczeństwo nie było priorytetem. Niektóre ze skryptów nie były aktualizowane przez ich autorów od kilkunastu lat i zawierają istotne błędy, umożliwiające poznanie loginów i haseł dostępu do ruterów BGP, a czasem także zdalne wykonywanie na nich poleceń.
Usługa rodem z archiwum
Looking Glass to najczęściej prosty skrypt w PHP lub Perlu, którego zadaniem jest wykonać predefniowane polecenie na konkretnym ruterze i pokazać jego odpowiedź. Skrypt łączy się bezpośrednio z jednym z ruterów szkieletowych poprzez telnet lub SSH, zatem musi znać odpowiednie dane uwierzytelniające. Wielu operatorów sieci korzysta z jednego z darmowych rozwiązań, które powstały wiele lat temu i od tamtej pory nie są rozwijane przez swoich twórców. Popularne rozwiązania to:
- Cougar – ostatnia aktualizacja 2004-11-25
- Cistron – ostatnia aktualizacja 1997-10-21
- MRLG – ostatnia aktualizacja 2007-08-30
- MRLG4PHP – ostatnia aktualizacja 2007-10-11
- Telephone – ostatnia aktualizacja 2012-10-01
Już sam wygląd interfejsu sugeruje, że ma on swoje lata i to mimo wysiłków projektantów grafiki dookoła panelu zapytania. Widać to dobrze na przykładzie największych polskich operatorów takich jak TPNET, ATMAN, PLIX, TK Telekom czy Netia.
Badacze z francuskiej szkoły Eurecom przyjrzeli się bezpieczeństwu powyższych skryptów oraz przechowywanych przez nie danych i natrafili na co najmniej kilkadziesiąt przypadków, gdzie błędy programistyczne lub konfiguracyjne mogły prowadzić do nieautoryzowanego dostępu do ruterów szkieletowych na całym świecie. Według wyników ich testów cztery z podatnych sieci znajdowały się w Polsce.
Publicznie dostępne pliki konfiguracyjne z hasłami
Aby wykonać polecenie diagnostyczne usługa musi zalogować się do rutera. W tym celu musi dysponować danymi, umożliwiającymi uwierzytelnienie. Niestety w czasie, gdy tworzono używane do dzisiaj skrypty, najpopularniejszym sposobem przechowywania loginów i haseł było zapisywanie ich otwartym tekstem w pliku konfiguracyjnym, przechowywanym na serwerze WWW pod stałą nazwą. Badacze znaleźli co najmniej 28 plików konfiguracyjnych, zawierających adresy IP, loginy i hasła ruterów szkieletowych.
W celu odnalezienia publicznie dostępnych konfiguracji nie trzeba było nawet skanować wszystkich interfejsów usługi Looking Glass – w niektórych przypadkach pliki te były zindeksowane przez Google. Wystarczyło zapytać Google o
"login" "telnet" inurl:lg.conf "login" "pass" inurl:lg.cfg
Obecnie zapytania te wskazują już tylko na niedobitki, ponieważ badacze ostrzegli wcześniej administratorów sieci, które znaleźli w wynikach tych zapytań.
Czasem zamiast loginów i haseł skrypty używają bezpieczniejszych kluczy SSH. Bezpieczniejszych, pod warunkiem, że klucz prywatny nie jest dostępny na serwerze WWW. Niestety w przypadku skryptu Cougar nieuważny administrator mógł pozostawić klucze na serwerze, w przewidywalnej ścieżce
/var/www/.ssh/private_key
Badacze natrafili na co najmniej 3 takie przypadki.
Wstrzykiwanie poleceń
Gorszym przypadkiem jest bez wątpienia błąd, odkryty w skrypcie MRLG4PHP (CVE -2014-3927), umożliwiający wykonywanie poleceń na ruterze poprzez dodanie w polu jednego z parametrów zapytania znaków nowego wiersza (%0A) a po nich odpowiednich poleceń. Inne odkryte przez badaczy błędy umożliwiają na przykład zdalne nadpisywanie pamięci (CVE-2014-3931) przez jeden z modułów skryptu MRLG. Autor modułu odmówił naprawienia błędu sugerując, że jego kod i tak jest rzadko używany. W sumie naukowcy znaleźli co najmniej 12 przypadków ruterów, które umozliwiały zdalne wstrzykiwanie poleceń przez błędy w interfejsie Looking Glass.
Jak zatem pokazuje przykład badania naukowców, dość niszowa, lecz ciągle aktywna usługa może stać się źródłem poważnych problemów dla operatorów sieci. Ciekawe, ile jeszcze podobnych perełek drzemie w internecie.
Komentarze
Stare bugi to jest problem – ale ktoś je czasem znajdzie, ogłosi i administratorzy mogą coś zaradzić.
O wiele większym problemem są tylne furtki w firmware internetowych urządzeń sieciowych. Mam na myśli zarówno te urządzenia na szkielecie sieci, jak i małe switche, routery lub modemo-routery w naszych domach.
Że nie wspomnę o procederze ordynarnego przechwytywania przesyłek i przerabiania przez 3-literowe agencje urządzeń sieciowych, które potem niczego nieświadomy admin wpina w szkielet sieci. Celuje w tym amerykańska NSA i brytyjskie GCHQ.
To się pisze ROUTER, przez O w środku, a nie ruter.
Na serio?
http://sjp.pwn.pl/slownik/2574463/router
Mylisz wymowę z pisownią. Nawet jeżeli gimbaza używa swojej nowomowy w sieci, to na stronie „z branży” wygląda to bardzo nieprofesjonalnie.
Trollujesz czy nie doczytaleś w powyższym linku że ruter to nie tylko wymowa ale także alternatywna pisownia?
Doczytałem. I nadal uważam używanie tego zwrotu za nieprofesjonalne. Zobacz u Wujka Duże G w wynikach jakie strony używają w swoich artykułach danej wersji. To poważna strona z branży IT czy blog gimnazjalisty? EOT.
Jednak gość troluje. Ortotroluje.
Pamiętam ze studiów pewnego wykładowcę od sieci komputerowych, który uparcie mówił „rałter”. ;)
Najlepiej byłoby po prostu napisać po polsku przełącznik. :)
Czyli wg artykułu ataki na masową skalę np. MIM były i są jak najbardziej możliwe dzięki niefrasobliwości właścicieli sieci szkieletowych. I znów najpewniej wszystko przez optymalizację kosztów…
Sebastianie: ale przełącznik, a router to dwa inne urządzenia :-)
Może „trasowanik”? ;)
Eh, oczywiście literówka. Miało być „Może trasownik? :P”
Komentarza wyżej nie mogę edytować, bo piszę z konta gościa (chyba, że administrator mógłby do odrzucić a zaakceptować ten”
Obowiązujące w starych podręcznikach akademiskich polskie tłumaczenie słowa „router” to „komutator”
Eeeee…. Błąd. Patrz – pl . wikipedia . org/wiki/Prze%C5%82%C4%85cznik_sieciowy
Warstwy Ci się pomyliły kolego ;)
Switch = (Przełącznik | Komutator)
Router = (Trasownik)
Kto sie tym przejmuje w tych czasach kompletmego zidiocenia i chamstwa, czy poprawiasz chamow z USA za to, ze sa ignorantami? Ze mysla iz Europa to jest im bliska ale my ich nienawidzimy bo popieraja zydow ktorzy zabijaja dzieci a Pani Clinton mowi ze, … to jest fog on the war… !!! Olej jezyk mysl o dzieciach ktore nie maja dziecinstwa bo zydzi ich zamordowali przy przyzwoleniu USA!!!
W konflikcie bliskowschodnim nie ma dobrych i złych, są tylko źli, zarówno Izrael jak i
inne państwa arabskie. To by się zgadzało… Zgadzam się że niewinni cywile bez względu na nację, w tym dzieci, są najbardziej pokrzywdzoną częścią ich społeczności.
Natomiast twój komentarz nie wynika z troski o dzieci, tylko jest zwyczajnym podłym antyjudaistycznym bełkotem. Twój post powinień być wymoderowany.
W artykule jest zawarta informacja ze pewna część sieci szkieletowej jest podatna na trywialne ataki ….. a polowa komentarzy dotyczy mozliwocyh opcji rozwiazania problemu pisowni slowa „router”.
Rece opadaja.
Ja od siebie do autora napisze tylko:
„dzieki, fajny art, nie wiedziałem o tym”.
Popieram. Tylko chyba u nas ludzie lubią się czepiać.
Looking Glass na routerze… szkieletowym?
Poważni operatorzy raczej chyba stosują do looking glassa dedykowany router skonfigurowany w ten sposób, że nawet włamując się na niego to szkód w sieci szkieletowej za dużo się nie wyrządzi ;)