Portál AbcLinuxu, 21. května 2025 00:29
Dnes jsem instaloval "samoinstalační ADSL balíček" od O2. Instalací ADSL už mám za sebou několik, ale pokaždé byl modem pouze v režimu bridge a všechno důležité se odehrávalo na linuxu za ním. Tentokrát bylo potřeba modem nainstalovat v "plně okřídleném" režimu, aby stačilo zapíchnout ethernet do počítače s DHCP klientem a fungovat.
Modem byl nějaký Zyxel s rozhraním jak na ethernet tak na wifi. Nejdříve jsem zapojil modem jen do zásuvky a do notebooku, tj. ne do internetu, abych ho nastavil. Hned první věc, kterou jsem nepochopil, byla alokace IP adres. Defaultně je modem na adrese 10.0.0.138/24 a DHCP pool je 10.0.0.1 - 10.0.0.32. Nechápu proč prostě nedají modem na .1 nebo .254 a zbytek nealokují pro pool? No ale budiž. Další věc: DNS. V kolonce "DHCP options, DNS server" totiž musíte zadat "0.0.0.0", aby to přes DHCP poslalo adresu 10.0.0.1 (nebo jakou zrovna ten modem má). Pokud tam dáte 10.0.0.1, tak to napíše internal error :)
To jsem ještě zapomněl popsat, jak jsem se na modem přihlásil. Šel jsem klasicky na http://adresamodemu, kde to po mně chtělo heslo. Ale nějaké heslo tam už bylo předvyplněné. Tak jsem jen klikl na přihlásit, a byl jsem tam. Ale ouha: nikde nebylo žádné klikátko na nastavení. Řekl jsem si, že jsem tedy asi jen v nějakém neadmin režimu, a začal prohledávat dokumenty k samoinstalačnímu balíčku, ale tam nic nebylo (resp. nic z toho nefungovalo). Tak jsem zkusil pár triviálních kombinací, jako "zyxel" a "123", ale nic nefungovalo. Tak jsem začal studovat zdrojový kód toho přihlašovacího formuláře, a z defaultně vyplněného "user" jsem odvodil, že plné heslo je "admin". To nejlepší ale nakonec: přihlašovací formulář nejprve v javascriptu spočte z hesla MD5 a web serveru pošle ten hash... wtf? Nějaký trapný pokus o bezpečnost?
Při nastavování jsem si dále všiml, že se modem umí spojit na několik PPPoE najednou. První je "Internet" a druhé je "IPTV". To bych chápal, pokud někdo IPTV nemá, tak se prostě nespojí a nazdar. Co mě ale poměrně šokovalo, bylo, že podobně je nastavené i wifi: první ESSID si nastavíte vy a defaulně je navoleno WPA, ale druhé přednastavené ESSID se jmenuje "VoIP" a je na něm nastaven WEP! Tudíž pokud necháte defaultně nastavený modem a pouze zapnete wifi, budete do světa nabízet poměrně slabě zabezpečené připojení. Když jsem se pak podíval na okolní sítě, tak jsem skutečně jedno takové VoIP s WEPem zahlédl... úžasné.
Posledním, ale nejtěžším oříškem byl firewall, respektive zabezpečení přístupu zvenčí. To se nastavuje na několika místech najednou. Jedním místem je ten firewall, druhým místem je povolení služeb. Mile mě překvapilo, že telnet ani web neposlouchaly na veřejné adrese. Nevím ale jak by se to chovalo, kdyby tam dorazil paket s vnitřní adresou z vnějšku - na to tam taky bylo nějaké rádoby chytání mimozemšťanů. Na firewallu pak šlo říci jedním kliknutím, že má zahazovat vše co přijde zvenčí a kupodivu to pochopil správně, tj. pouze pro nová spojení. Jaké bylo ale mé překvapení, když při jsem zběžném portscanu zvenku zahlédl do světa otevřený port 8080, o kterém nebyla v nastavení nikde ani řeč! Když se člověk na něj připojil tak se sice tvářil jako mrtvej brouk, ale věřte tomu. Takže jsem se jal nastavit ručně všechna pravidla natvrdo: vše zvenku zahodit. Nic, port je pořád otevřený. Až když jsem zavedl další pravidlo, a to, vše zvenku na 8080 zahodit, tak to zabralo. Zajímavé, nepochopitelné.
Poučení na závěr: modem instalujte vždy nejprve lokálně, a až když prověříte všechna nastavení, tak jej připojte na net. A nezapomeňte aplaudovat O2, nebo Zyxelu, nebo kdo ten krám nastavil. Není to sice tak zlé, že by modem smrděl s otevřeným webovým rozhraním a heslem admin, ale i tak to má ještě co dohánět.
Tiskni
Sdílej:
Něco podobného jsem viděl na jednom komerčním docházkovém systému. Před odesláním se heslo nahradí hashem (a to ještě něčím nestandardním, navíc se z hesla udělá uppercase). Jediný "přínos" k bezpečnosti je ten, že se heslo nedá uložit do Firefoxu, uložil by se ten hash. Útočník by tak musel strávit několik desítek sekund uložením první stránky na lokál, zakomentováním jednoho řádku a nastavením 'action' formuláře. A ta firma za to asi chtěla peníze.
S jedním modemem od O2 (zyxel) jsem taky válčil - nešlo se na něj připojit z více než jednoho počítače (přes wifi) - nakonec to nějak začlo fungovat, ale jestli to funguje doteď to netuším.
pokud se do tohohle modemu vleze do adminu z jedné IP, nelze už do něj vléz z jiné IP, alespoň dokud se modem neresetuje či nevypneAha, tak na to jsem narazil taky, ale už jsem raději o tom ani nepsal. Opravdu úžasné, hlavně když se do toho zapojí DHCP pool, který teoreticky rozdává adresy podle kuchyňského smradu.
Není nad OpenWrt a SSH
Zas tak růžové to také není. Momentálně jsem u:
(gdb) bt #0 0x2ab9b3f4 in ?? () warning: GDB can't find the start of the function at 0x2ab9b3f4. GDB is unable to find the start of the function at 0x2ab9b3f4 and thus can't determine the size of that function's stack frame. This means that GDB may be unable to access that stack frame, or the frames below it. This problem is most likely caused by an invalid program counter or stack pointer. However, if you think GDB should simply search farther back from 0x2ab9b3f4 for code which looks like the beginning of a function, you can increase the range of the search using the `set heuristic-fence-post' command. #1 0x2ab9b3f4 in ?? () warning: GDB can't find the start of the function at 0x2ab9b3f3. Backtrace stopped: previous frame identical to this frame (corrupt stack?)
Myslím, že je ten Python zbytečnej...
To asi jo, ale znáš jiný způsob jak zjistit který proces nadměrně zapisuje na médium(root mám totiž na flashce)?
/proc/sys/vm/block_dump
, tak jádro začne chrlit údaje o každém přístupu nas disk. Půvoně je to určené prio odhalování viníků roztáčejících uspané disky, ale je možné to použít na zjištování přístupu na disk obecně.
Drsné prostředí, drsné metody. Určitě děkuju za tip, ale stejně je to zase jen obcházení nefungujícího a to prostě není ten UNIXoý styl. Python 2.6.2 mi na zařízení už plně funguje včetně všech potřebných modulů pro iotop. Jen dynamický modul stop.so padá se SIGSEGV. Nejsme na Widlích, takže bug budu muset tak jako tak nahlásit.
Ne. On totiž ani ten htop ti na jádře 2.4 nepojede... Nejlepší řešení je izolačka na tu LEDku
Já mam zkompilované kamikaze_8.09(vlastně kecám, momentálně už mám blending edge z SVN) s jádrem 2.6 a htop mi tam jede.
Sakra, chtěl jsem napsat iotop, htop na 2.4 jede.. Ale na 2.6 ti to může být jedno...
nevim jestli to co mam je zyxel, nechce se mi ted bezet dolu, ale balicek od O2 jsem dostal taky, ADSL se pripoji, funguje, nemusite nic nastavovat, kdyz ale nastavovat chcete, dostane se na jedno prekvapeni, absence tlacitka na zmenu hesla pro admina, takze predpokladam ze vetsina lidi v republice ma na modemu porad heslo admin. Heslo jsem totiz musel zmenit z prikazove radky, kdyz jsem se na modem pripojil telnetem. To druhe wifi jsem vypnul, a jde to dal, tak snad ok.
Ještě, že mám nějaký starý Zyxel, který se dal v tom jednoduchém web. interface přepnout do režimu bridge na 2 kliknutí...
Máme ještě dlinka 584, nějak se kouše, tak šilham po něčem novym, asi po Linksysu WAG160N. Snad bude s iptv chodit.
To jsem ještě zapomněl popsat, jak jsem se na modem přihlásil. Šel jsem klasicky na http://adresamodemu, kde to po mně chtělo heslo. Ale nějaké heslo tam už bylo předvyplněné. Tak jsem jen klikl na přihlásit, a byl jsem tam. Ale ouha: nikde nebylo žádné klikátko na nastavení. Řekl jsem si, že jsem tedy asi jen v nějakém neadmin režimu, a začal prohledávat dokumenty k samoinstalačnímu balíčku, ale tam nic nebylo (resp. nic z toho nefungovalo). Tak jsem zkusil pár triviálních kombinací, jako "zyxel" a "123", ale nic nefungovalo. Tak jsem začal studovat zdrojový kód toho přihlašovacího formuláře, a z defaultně vyplněného "user" jsem odvodil, že plné heslo je "admin". To nejlepší ale nakonec: přihlašovací formulář nejprve v javascriptu spočte z hesla MD5 a web serveru pošle ten hash... wtf? Nějaký trapný pokus o bezpečnost?
Proto bych uzákonil pod hrozbou veřejného bičování RS-232 pro každou SOHO krabičku(a nebo kdyby už někdo chtěl konečně vymyslet ten console port).
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.