abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
včera 20:55 | Zajímavý projekt

Článek na LinuxGizmos.com představuje v NASA vyvinutého autonomního robota ve tvaru krychle pojmenovaného Astrobee neboli Hvězdní včela. Uvnitř včely běží Ubuntu/ROS a Android (GitHub). Na Mezinárodní vesmírné stanici bzučí tři tyto včely. Jejich jména jsou Honey, Queen a Bumble.

Ladislav Hagara | Komentářů: 0
24.5. 20:11 | Zajímavý projekt

Na Humble Bundle lze zdarma a bez DRM získat počítačovou hru Jalopy (YouTube). Hra je určena pro Windows, lze ji ale hrát také v Linuxu (ProtonDB, WineHQ). Speciální akce končí v sobotu v 19:00.

Ladislav Hagara | Komentářů: 0
24.5. 00:55 | Nová verze

ZFS on Linux, tj. implementace OpenZFS (Wikipedie) na Linuxu, byl vydán ve verzi 0.8.0. Přehled novinek v diskusním listu zfs-announce nebo na GitHubu. Nejnovější ZFS on Linux je kompatibilní s Linuxem 2.6.32 až 5.1.*.

Ladislav Hagara | Komentářů: 9
24.5. 00:33 | Nová verze

Byla vydána verze 1.35.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.

Ladislav Hagara | Komentářů: 0
23.5. 14:22 | Zajímavý projekt

GitHub v příspěvku na svém blogu představil GitHub Sponsors. Jedná se o další z možností, jak finančně podpořit vývojáře open source softwaru. Podrobnosti v často kladených dotazech (FAQ).

Ladislav Hagara | Komentářů: 9
23.5. 13:44 | Zajímavý software

Společnost Feral Interactive zabývající se vydáváním počítačových her pro operační systémy macOS a Linux vydala počítačovou hru Total War: Three Kingdoms (Wikipedie) pro Linux. Koupit ji lze za 59,99 €. Tentokrát byla verze pro Linux vydána ve stejný den jako verze pro Microsoft Windows.

Ladislav Hagara | Komentářů: 0
23.5. 10:00 | Nová verze

Po téměř 11 měsících vývoje od vydání verze 5.28 byla vydána nová stabilní verze 5.30 programovacího jazyka Perl. Do vývoje se zapojilo 58 vývojářů. Změněno bylo přibližně 620 tisíc řádků v 1 300 souborech. Přehled novinek a změn v podrobném seznamu.

Ladislav Hagara | Komentářů: 2
22.5. 16:44 | Nová verze

Bylo vydáno openSUSE Leap 15.1. Přehled novinek v nejnovější verzi této linuxové distribuce v oznámení o vydání a v poznámkách k vydání.

Ladislav Hagara | Komentářů: 0
22.5. 11:55 | Nová verze

Byla vydána verze 3.14 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Přehled změn v příslušném seznamu. Tor Browser byl aktualizován na verzi 8.5. Řešeno je také několik bezpečnostních chyb. Především bezpečnostní chyby v procesorech Intel.

Ladislav Hagara | Komentářů: 1
22.5. 11:33 | Nová verze

Byla vydána nová verze 2019.2 průběžně aktualizované linuxové distribuce navržené pro digitální forenzní analýzu a penetrační testování Kali Linux (Wikipedie). Přehled novinek v seznamu změn. Současně byl ve verzi 2019.2 vydán také Kali Linux NetHunter (Wikipedie), tj. obrazy s nástroji z Kali Linuxu pro chytré telefony a tablety.

Ladislav Hagara | Komentářů: 0
GPU kterého výrobce aktuálně preferujete pro provoz Linuxu?
 (49%)
 (25%)
 (24%)
 (2%)
Celkem 365 hlasů
 Komentářů: 29, poslední 24.5. 14:49
Rozcestník

Jak jsem si bricknul Yealink VP-2009D a pak zase hacknul

2.6.2017 21:46 | Přečteno: 949× | Linux

Před pár lety jsem na „íbeji“ za levný peníz trhnul jeden Yealink VP-2009D telefon. Vzhledem k tomu, že se snažím protřídit přebytečné věci, zapojil jsem telefon do testovací sítě a koukal, zda-li vše funguje. Nefungovalo, protože sice to má pěkný hardware, ale firmware je naprosto tristní. Tak jsem v telefonu downgradoval firmware z 22.21.0.108 na 22.21.0.99 a najednou to začalo volat (tedy: alespoň echotest co mám na svém asterisku pro tyto účely). Jenže pak mě napadla naprosto idiotská myšlenka: změnit heslo z defaulního 'admin' na něco méně uhodnutelného.

To jsem však neměl dělat! Poté, co jsem si vygeroval heslo s cca 35 znaky a toto heslo zkopíroval do webového rozhraní, se najednou nemoho připojit. Zkouším nové heslo, zkouším admin - nic. Zkouším z hesla postupně uhlodávat jednotlivé znaky (zezadu) - po 1/4 hodině skončím na 10 znacích a taky nic. Přihlásim se sice jako uživatel 'user', ale to mi na moc věcí není. Na internetu najdu, že se u telefonů této značky dá heslo zresetovat dlouhým podržením tlačítka 'ok'. Jenže ani to nefunguje - buď mám blbou verzi firmware, nebo to s tímto konkrétním modelem nefunguje vůbec. A upgradovat firmware normální cestou nelze, protože k tomu potřebuji administrátorské heslo. Uááá!

Ovšem pak jsem si vzpomněl, že se telefony od Yealinku daly hacknout. Sám jsem to nikdy nezkoušel, protože u jiných kousků jsem měl příliš nový firmware, kde už díry byly zalepeny (zřejmě asi zdaleka ne všechny, ale nikdy jsem neměl dost trpělivosti hledat, jak na to. Ovšem tento telefon byla dosti stará verze s pouhými 128MB RAM, takže na ni nejde dát firmware V40 a vyšší. Je tedy dosti šance, že díry jsou ještě otevřené. Přinejmenším má telefon otevřený telnet:

$ telnet yealink
Trying 192.168.*.*...
Connected to yealink.doma.
Escape character is '^]'.

Welcome to Linux 2.6.10 on VP-2008
login:

To sice vypadá zajimavě (v pozdějších verzích firmware je telnet už zakázán úplně, anebo se ale musí určitým hackem povolit), ale pokud člověk nezná rootovské heslo, tak je i tak dosti namydlen. Ovšem děr je v telefonu více než dost (viz: 1, 2, 3), takže jednak je možné velmi jednoduše stahovat z telefonu rozličné soubory:

http://{IP}/cgi-bin/cgiServer.exx?download=/etc/passwd

Je ovšem i velmi jednoduše možné spouštět příkazy, viz např.:

 http://{IP}/cgi-bin/cgiServer.exx?command=system%28%22dmesg%20>%20/tmp/dmesg%22%29
# některé prohlížeče vzládnou i přímo:
# http://{IP}/cgi-bin/cgiServer.exx?command=system("dmesg > /tmp/dmesg")

Takže není problém zrušit heslo u roota:

http://{IP}/cgi-bin/cgiServer.exx?command=system("passwd -d root")

Pak už se bez problému připojíme na telnet:

$ telnet yealink
Trying 192.168.*.*...
Connected to yealink.doma.
Escape character is '^]'.

Welcome to Linux 2.6.10 on VP-2008
login: root
# 

V tuto chvíli pak trvá jen krátce, než zjistíme, že hesla pro webové rozhraní se nacházejí v klasickém htpasswd souboru v /rundata/data/htpasswd. Takže není nic jednoduššího než si bokem vytvořit jiný htpasswd soubor klasickým způsobem (bacha, umí to myslím jen crypt a asi MD5!) a heslo z něj zkopírovat na VP2009D. Vi tam samozřejmě nechybí, takže alespoň maličký "komfort". Nicméně teď kecám, protože existuje ještě daleko jednodušší cesta a sice zkopírovat "tovární" verzi tohoto souboru, která se nachází v /phone/factory/data/htpasswd, takže by mělo fungovat přinejmenším něco jako:

cat /phone/factory/data/htpasswd > /rundata/data/htpasswd

Každopádně telefon se mi podařilo znovu rozběhnout a následně zjistit, že heslo pro webové rozhraní nesmí být delší než 16 znaků. Lahůdka! Vedlejším efektem je, že teď mám přístup k rootovi přes telnet. Samozřejmě jsem si hned nastavil pro roota heslo jiné ;-). Nicméně trošku si zahrávám s myšlenkou (na jejíž realizaci bohužel vůbec není čas), vytvořit opravdu otevřený a opensource firmware pro hardwarové telefony. Největší potíž asi bude s ovladačemi pro jádro, a hlavně asi pro ten jeji DSP... :-(. No, ale sen je to pěkný, ne? Nebýt závislý na libovůli výrobců a OEM, na jejich chybách a svévolném ukončení podpory...

Mimochodem, původní hash z /etc/passwd pro roota je $1$RTR39Lv9$2dDkMT2ZP4nRmqFC8hKP4/. Nechcete ho někdo cracknout?

       

Hodnocení: 100 %

        špatnédobré        

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Vložit další komentář

2.6.2017 23:55 pc2005 | skóre: 37 | blog: GardenOfEdenConfiguration | liberec
Rozbalit Rozbalit vše Re: Jak jsem si bricknul Yealink VP-2009D a pak zase hacknul
s pouhými 128MB RAM, takže na ni nejde dát firmware V40 a vyšší
WTF můj mobil s Windows Mobile/mou distribucí linuxu s Xkama má jen 64MB RAM :-D.
$1$RTR39Lv9$2dDkMT2ZP4nRmqFC8hKP4/
Pole typu hashe "$1$" by mělo být MD5, na ten jsou rainbow tabulky. Druhé pole by měl být salt a třetí pole bude zakódovanej md5. Akorát nevím utilitu která z toho "2dDkMT2ZP4nRmqFC8hKP4" zase získá zpátky ten hash v hexakódu. Se saltem asi bude u rainbow tabulek menší problém, ale pokud víš jaké původní heslo jsi tam zadával tak to může být nějaká obskurní ořezávaná kombinace toho saltu a tvýho hesla (klidně to nemuselo uříznout poslední znaky, ale naopak ty první) apod.
Největší potíž asi bude s ovladačemi pro jádro, a hlavně asi pro ten jeji DSP.
Pokud použiješ stejnou verzi jádra nebo uděláš wrapper, tak bys mohl použít jejich kernel driver bloby. Na zbytek je buildroot/openwrt/ddwrt apod. Nehledě na to že pokud ty jejich kernel bloby používaj jakoukoliv funkci, která je exportovaná jako GPL, tak jsou povinni dodat zdroják (podle GPL).
2.6.2017 23:57 pc2005 | skóre: 37 | blog: GardenOfEdenConfiguration | liberec
Rozbalit Rozbalit vše Re: Jak jsem si bricknul Yealink VP-2009D a pak zase hacknul
P.S. víš vůbec co v tom je za SoC? Bez dokumentace toho moc nenapíšeš (maximálně userspace ale i na ten potřebuješ mít minimálně cross kompiler).
Petr Tomášek avatar 3.6.2017 00:13 Petr Tomášek | skóre: 38 | blog: Vejšplechty
Rozbalit Rozbalit vše Re: Jak jsem si bricknul Yealink VP-2009D a pak zase hacknul
# cat /proc/cpuinfo 
Processor       : ARM926EJ-Sid(wb) rev 5 (v5l)
BogoMIPS        : 147.45
Features        : swp half thumb fastmult edsp java 
CPU implementer : 0x41
CPU architecture: 5TEJ
CPU variant     : 0x0
CPU part        : 0x926
CPU revision    : 5
Cache type      : write-back
Cache clean     : cp15 c7 ops
Cache lockdown  : format C
Cache format    : Harvard
I size          : 16384
I assoc         : 4
I line length   : 32
I sets          : 128
D size          : 8192
D assoc         : 4
D line length   : 32
D sets          : 64

Hardware        : VP2009TD_HV01_SV01
Revision        : 0000
Serial          : 0000000000000000

Pak to tam má v sobě nějaký DSP, který o sobě tvrdí, že se jmenuje DaVinci...

multicult.fm | monokultura je zlo | welcome refugees!
3.6.2017 06:21 pc2005 | skóre: 37 | blog: GardenOfEdenConfiguration | liberec
Rozbalit Rozbalit vše Re: Jak jsem si bricknul Yealink VP-2009D a pak zase hacknul
To bude tohle. Texas instruments maj jeden z nejlepších dokumentací na tom C64x DSP bys teoreticky mohl napsat ty akcelerační věci sám.
Petr Tomášek avatar 3.6.2017 09:14 Petr Tomášek | skóre: 38 | blog: Vejšplechty
Rozbalit Rozbalit vše Re: Jak jsem si bricknul Yealink VP-2009D a pak zase hacknul
Asi jo. Ještě jsem našel:
# cat /sys/vendor/mvista/lspinfo/summary
Board Name              : TI DaVinci - DM644x Processor (little endian)
Lsp Name                : ti-davinci_evm
LSP Revision            : 0600990.1
MVL Architecture        : arm_v5t_le
Patch Level             : 785
Což znamená buď DM6446 nebo DM6441. Asi to budu muset otevřít a podívat se, co stojí na švábu...
multicult.fm | monokultura je zlo | welcome refugees!
3.6.2017 22:26 pc2005 | skóre: 37 | blog: GardenOfEdenConfiguration | liberec
Rozbalit Rozbalit vše Re: Jak jsem si bricknul Yealink VP-2009D a pak zase hacknul
Hmm to bude distribuce montavista linux. Bych dumpnul filesystém z toho se daj zjistit další věci.
Petr Tomášek avatar 4.6.2017 00:32 Petr Tomášek | skóre: 38 | blog: Vejšplechty
Rozbalit Rozbalit vše Re: Jak jsem si bricknul Yealink VP-2009D a pak zase hacknul
Neboj, zazálohoval jsem, co se dalo. Dokonce i zcela prázdnou mtd partišnu a partišnu zřejmě s logem pro boot :-)
multicult.fm | monokultura je zlo | welcome refugees!
Petr Tomášek avatar 3.6.2017 00:15 Petr Tomášek | skóre: 38 | blog: Vejšplechty
Rozbalit Rozbalit vše Re: Jak jsem si bricknul Yealink VP-2009D a pak zase hacknul
ale pokud víš jaké původní heslo jsi tam zadával tak to může být nějaká obskurní ořezávaná kombinace toho saltu a tvýho hesla

žádné heslo jsem nezadával. jedná se o rootovský heslo, který tam zadal (natvrdo???) výrobce a který považuje za obchodní tajemství...

multicult.fm | monokultura je zlo | welcome refugees!
3.6.2017 06:21 pc2005 | skóre: 37 | blog: GardenOfEdenConfiguration | liberec
Rozbalit Rozbalit vše Re: Jak jsem si bricknul Yealink VP-2009D a pak zase hacknul
Aha tak to půjde blbě (já myslel že to je to samý kterým jsi to rozbil). Tím že se hledaj jenom kolize, tak se nejspíš nenajde původní řetězec, ale jen ten pro ten daný typ zařízení, který pasuje k danému saltu. Už i jiná verze firmware by mohla mít jinej salt a to heslo vygenerované kolizí by tam nefungovalo.

Samozřejmě pokud použili věci jako jméno zařízení, 1234, nbusr123. Tak to nejspíš najde správně (než kdyby jako heslo použili třeba string z vlastního interního md5 hashe) :-D.

Založit nové vláknoNahoru

ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.