NetiaSpot bez barier
26.05.2013 13:11, aktual.: 26.05.2013 19:01
Maj to doskonały miesiąc na pisanie Bloga – dużo pracy na uczelni motywuje do robienia czegoś bardziej praktycznego i przydatnego. Tym razem w ramach pożytecznych rzeczy postanowiłem zająć się routerem – tym razem NetiaSpot – em.
Krótko o urządzeniu
Nie jest to najwyższych lotów sprzęt – Procesor 333MHz ARX168, 32MB RAMu, Flash 166MB. WiFi w standardzie B/G/N, Ethernet 100Mb oraz dwa porty USB. Całość działa pod kontrolą systemu OpenRG. Netia, wytwarzając urządzenie stwierdziła, że ich klienci nie potrzebują wszystkich opcji konfiguracyjnych. Dlatego standardowy użytkownik, dla którego Netia oficjalnie podaje hasło ma dostęp tylko do garstki ustawień. Trochę lepiej z konfiguracją jest gdy uda nam się zalogować do konta administracyjnego – ale wciąż nie pozwala to na konfiguracje wszystkich możliwych opcji. Jedynym rozwiązaniem, dzięki któremu mamy możliwość konfiguracji naszego urządzenia jest zalogowanie na koncie z uprawnieniami superadmina o nazwie Netia. Netia strasznie ogranicza możliwości konfiguracyjne i chyba próbuje nam wmówić, że sama najlepiej skonfigurowała router zachowując sobie możliwość zdalnej aktualizacji i wprowadzania zmian w urządzeniu.
Zrób to sam
A co jeśli ustawienia QoS mi nie odpowiadają? (albo po prostu chcę je włączyć bo Netia wyłączyła tę usługę?). Co gdy chcemy logować się z użyciem SSH a nie przez www? Lub gdy po prostu chcemy przekonfigurować coś po swojemu, a nie jak nam narzucili pomysłodawcy projektu? Wystarczy zalogować się na konto Netii. Hasło do tego konta dla każdego modelu jest jednak inne i należy je z urządzenia w brutalny sposób wyciągnąć. ?
Do roboty
Na początek uwaga. Modyfikację łatwo wykonać, jednak ja za cel postawiłem sobie nie ingerować w urządzenie lutownicą. Z dwóch powodów – router jest własnością Netii i nie zamierzam im płacić za niego ani złotówki więcej. Drugi powód – w weekend nie używam lutownicy – w związku z ilością rzeczy jakie udało mi się nią zepsuć w poprzednich latach w weekendy postanowiłem używać ją tylko w tygodniu. Po dokładnym obejrzeniu urządzenia nie zauważyłem na nim żadnych plomb. Śrubokręt w rękę i po chwili moim oczom ukazało się wnętrze Netia Spotu.
Śrubki znajdują się pod nóżkami od spodu urządzenia - zaznaczone czerwonym kolorem:
Po ich odkręceniu urządzenie zaprezentuje nam się na golasa ;)
Bez problemu namierzamy złącze MAX232 (czyli RS232 o obniżonych napięciach).
[join][img=img8]
W tym miejscu należy przylutować piny, do których podłączyć należy układ kabel z układem MAX232. Co to za układ, sprawdzić możecie w jednym z moich poprzednich wpisów. Tym razem jednak zaopatrzyłem się w coś bardziej profesjonalnego – USB‑>MAX232. Dla osób nie posiadających lutownicy, mających podobne postanowienia do moich lub po prostu osób, które nie chcą ingerować w urządzenie mam rewelacyjne rozwiązanie. Potrzebna jest nam jedynie taśma (najlepiej izolacyjna, ale jeśli nie macie to użyjcie tak jak ja przezroczystej).* I przyklejcie to tak jak ja :)
Po podłączeniu złącza MAX232 uruchamiamy Putty i konfigurujemy połączenie przez port COM, pod którym znajduje się nasz kabelek wpisując najczęściej wykorzystywane z routerami dane, tj.
Prędkość: 115200 Bity danych: 8 Bit stopu: 1 Parzystość: brak Kontrola przepływu: brak
Otwieramy połączenie i uruchamiamy router.
Co dalej?
Dalej już brak grzebania w sprzęcie (no później trzeba będzie router jeszcze skręcić). Po uruchomieniu routera w terminalu powinny zacząć pojawiać się napisy. Należy uważnie je obserwować i gdy na ekranie pojawi się napis:
Press ESC to enter BOOT MENU mode
Należy nacisnąć ESC. Jeśli mimo to router nie wszedł w do menu bootowania powtórzymy procedurę uruchamiania, jednak zamiast wciskać ESC wciśnijmy kombinację klawiszy Ctrl+C. Jeśli jesteśmy już w trybie BOOT MENU powinniśmy ujrzeć linię
NETIASPOT boot>
Po znaku zachęty wpisujemy polecenie „conf”. Przechodzi ono do trybu konfiguracji routera, aby ją odczytać w kolejnej linii wpisujemy „print /” dzięki czemu przejrzymy plik konfiguracji (który netia tak skrzętnie przed nami chowa). Poszukujemy linii posiadającej tylko wpis
„(cwmp”
Pod nią poszukujemy wpisu
[code=shellusername [/code]
oraz
password
kopiujemy wszystko co jest w nawiasie rozpoczynającym się zaraz za password (czyli wszystko z pomiędzy znaków „&” i „;” i wklejamy w decrypter haseł openrg (np.: http://www.zibri.org/2009/11/obfuscation-will-never-work.html) Sprawdzamy czy możemy zalogować się do panelu Netii z użyciem loginu: Netia I hasła odczytanego przez decrypter. Jeśli nie to szukamy kolejnego wpisu username, oraz password i sprawdzamy kolejne hasło. Tak do skutku. Po zalogowaniu się do Netiaspotu z użyciem powyższych danych mamy możliwość większej konfiguracji. Przede wszystkim możemy pobrać plik konfiguracyjny na nasz dysk i edytować go (System->Diagnostyka->Plik konfiguracyjny). Możemy również stworzyć nowego użytkownika z prawami superadmina.
Jednak to nie wszystko
W jednej z aktualizacji softu (a na pewno teraz posiadacie taki gdyż netia zaktualiowała już wszystkie netiaspoty) również temu kontu ucięto część uprawnień. W celu ich przywrócenia, pobieramy plik konfiguracyjny na nasz dysk i uruchamiamy go do edycji (może być zwykły notatnik, jednak dużo lepiej korzysta się z Notepada++. W pobranym pliku szukamy naszych kont (u mnie zaczynają się w linii 1319) i przechodzimy do fragmentu odpowiedzialnego za konto, któremu chcemy podnieść uprawnienia. Fragment ten może mieć postać:
(enabled(1)) (username(admin)) (password(tujesthasloktoreusunalem)) (full_name(Administrator)) (email()) (notify_level (0(none)) (1(none)) ) (directory(1)) (role(admin)) (permission(0000c0000000000000000000000000000000000300000000))
Dla nas istotna jest ostatnia linijka. Zależnie od tego jaki typ konta edytujecie w nawiasie możecie mieć różne wartości. Zastępujemy podaną linijkę wpisem: [code=shell](permission(fffcfffffffffffffffffffffffffffffffffffffffc))[/code]
Wgrywamy przygotowany plik konfiguracyjny do routera i po restarcie urządzenia logujemy się do naszego konta. W ten sposób uzyskujemy konto z pełnymi możliwościami administracyjnymi.
Dzięki bardzo szybkiej modyfikacji, praktycznie bezinwazyjnej (na routerze nie ma plomb, nic nie lutowaliśmy a po odklejeniu taśmy nie widać śladu ingerencji w urządzenie) mamy pełną możliwość konfiguracji urządzenia. Dzięki temu na pewno nie przyspieszymy naszego łącza, ale możemy zarządzać pakietami dzięki usłudze QoS czy korzystać z SSH. Poniżej jest lista wszystkich znajdujących się w urządzeniu usług. Nic nie stoi na przeszkodzie by teraz je konfigurować: NetFilter Linux Firewall, Ethernet over ATM (RFC2684), PVC Scan, PPP Over ATM, PPP Over Ethernet, PPP Over Serial, ICMP ALG, Port trigger (TFTP) ALG, FTP/FTPS ALG, QuickTime/RealAudio/RealPlayer (RTSP) PROXY, H323 ALG (Netmeeting, CuSeeMe ...), SIP ALG, MGCP ALG, PPTP Client (multiuser) ALG, Microsoft Network Messenger/Windows Messenger ALG, IPSec (multiuser) ALG, L2TP ALG, AOL Instant Messenger ALG, DNS ALG, DHCP ALG, Switch, Bridge, VLAN 802.1Q bridge, VLAN 802.1Q interfaces management, UPnP Media Server, IGMP Proxy, IGMP Snooping, Jungo Firewall, Remote Upgrade from LAN, NAT, Secure HTTP (SSL), Permanent Storage, Reverse NAT, Universal Plug & Play, Remote Upgrade from WAN, DNS, Dynamic DNS, Email Notification, Generic Proxy, RADIUS Client - External Authentication, DHCP Server, DHCP Client, Static HTML Management, Web Based Management, Reduce Support Calls, TimeZone support, HTTP Server, Telnet Server, SysLog, Command Line Interface, TOD Client, SNTP Server, File Server, SSH, OAM F4/F5 Loopback, Print Server, Internet Printing, Remote Update Management, Remote Management Server, Event Logging, QOS support, 802.1p to DSCP translate, Routing over multiple WAN devices support, Routing by DSCP value, Load Balancing, Fail-over of multiple WAN interfaces
Nie jest to może najpiękniejsze rozwiązanie, ale jest najbezpieczniejsze, szczególnie dla osób, które z lutownicy korzystać nie chcą, nie potrafią lub jej po prostu nie mają. Cała operacja zajmuje maksymalnie 15 minut. Naprawdę warto. Miłej zabawy.
PS. Jeśli chcecie korzystać z konsoli znanej z unixów po zalogowaniu do routera po ssh wpiszcie system, a następnie shell.
PS2. Jeśli chcecie zmienić kolor diody przy włączonym urzadzeniu (lub ją wyłączyć całkowicie) po zalogowaniu po ssh wpiszcie leds. Następnie po uruchomieniu help leds -s powinniście już wiedzieć jak to zrobić.