Remote root sebezhetőség a DD-WRT-ben

 ( pinyo_villany | 2009. július 21., kedd - 7:26 )

A híres és széles körben használt DD-WRT v24sp1-ben egy távolról kihasználható biztonsági rést fedeztek fel. A sebezhetőség leírása itt található, a dd-wrt weboldalán még semmilyen információ vagy fix sincs. A következő videó bemutatja a problémát:

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

(cikk videóval kiegészítve - a szerk.)

Néhány dolog amit érdemes megjegyezni:

0) elég tré ez így elsőre (mármint ordas hibának)
1) a httpd alapértelmezetten nem figyel az 'outbound' interfészen
2) ettől még sebezhető lehet mondjuk CSRF támadással (pl. valaki egy speciálisan összeállított [img] linket küld be egy fórumra és a sebezhető dd-wrt router tulajdonosa meglátogatja ezt a fórumot, akkor pwnd)

--
trey @ gépház

3. a httpd nem figyel alapértelmezetten a wifin sem... a hiba kihaszálásához vagy kábelen kell lennie az illetőnek, vagy a tulajnak engednie kellett a managelést wifin keresztül is (ez is ki van kapcsolva by default)

DD-WRT v24-sp2 (01/29/09) mini
(SVN revision 11514)

Kezdjek aggódni?

Kezdj el tesztelni (egy perc alatt kiderül).

--
trey @ gépház

Kiderült, törhető. Átváltottam mobil internetre.
Arra van mondás, hogy hogyan tudom megnézni hogy feltörték-e már korábban, vagy még szűz?

Le lehet integritás-ellenőrizni egy eredeti rendszert, ami még gyári álapotban van, majd a tiédet, és a nem egyező fájlokat átnézni. Tripwire vagy akármi ilyesmi segítet.

http://sourceforge.net/projects/tripwire/

Kérdés megéri-e a fáradságot.

--
trey @ gépház

Inkább válts firmware-t...

Javaslat?

Szerintem ha csak a web interfészen keresztül sebezhető, akkor elég letiltani a webes menedzselhetőséget, ha ki akarsz zárni minden kockázatot (mondjuk jelentősen csökkenti a sikeres támadás lehetőségét az a tény, hogy alapértelmezetten a httpd nem figyel a publikus interfészen). Nem ismerem a dd-wrt-t, de feltételezem ez megtehető, illetve konfigurálható ssh-n keresztül is, ha annyira fontos lenne a javítás megérkezéséig. Mondjuk egy beállított router-t nem nagyon kell óránként piszkálni, így akár ki is lehet húzni a fix megérkezéséig.

--
trey @ gépház

igen, lehet ssh-n is
___
info

Én anno, amikor az egyik vpn-es buildben a forráskódba bedrótozott(!) iptables-ruleokat találtam, OpenWrt-re, pontosabban xwrt-re váltottam. (Itt is volt róla szó.)

Nem vagyok egy nagy bithacker, de hol tudom kideríteni, hogy miért írta ki, hogy firmware upgrade failed? a dd-wrt-n web admin felületén akartam frissíteni az xwrt-set...

Brickszagot érzek. routered verziója? alján van egy matricán.
____________________________
Darwin Kernel Version 9.7.0: Tue Mar 31 22:52:17 PDT 2009; root:xnu-1228.12.14~1/RELEASE_I386

Működni (még) működik. 1.1-es.

>Nem vagyok egy nagy bithacker,

akkor mi a szer cserelted le a gyarit?

Volt néhány feature amit nem tudott. Most nem emlékszem pontosan, de talán mac-címhez/hostnévhez statikus IP rendelés DHCP-nél vagy valami ilyesmi. És azért ahhez nem kell bithackernek lenni, hogy az admin felületen valaki bekattintsa, hogy firmware update, select image, click, update, done....

hat, elegge fapoad egy routered lehet akkor. meg nem lattam routert amiben nincs ez a feature.
---
/* No comment */
Ketchup elementál megidézése a sajt síkra

WRT54GL gyári firmware-rel (nem tudta, de a dd-wrt igen). Teljesen fapad, cserébe olcsó.

nem tudom h belehete allitani vagy nem
de a kliensen is lehet statikusra allitani az IPt

Sokmindent lehet. Például csöndben maradni. Jah, hogy nem azt akarod csinálni, hanem inkább mást? Akkor mi a kérdés?

>hogy firmware update, select image, click, update, done....

latom a dokumentaciot else olvastad

Te most mire akarsz kilyukadni?

arra hogy mielott csinalsz valamit mint a bornyu jo lenne utanna olvasni

Megjegyezném a következőket, ami már az eddigiekből ki kell hogy derüljön számodra: már sikeresen raktam fel firmware-t erre a routerre (ez a bizonyos dd-wrt). Elárulom, hogy raktam már firmware-t mindenféle kütyüre, DVD-lejátszótól telefonon át, kapaszkodj meg: más típusú routerre is. Attól még hogy egyszerűnek tartom a műveletet (és hozzáteszem: egyszerű, ha apukám, távolról, telefonos asszisztálással is meg tudta csinálni), attól még tudhatom, hogy mit csinálok. Köszönöm a figyelmet.

aha.. de latom megis elbaltaztad

Mielőtt megtalálnátok egymás nyakát..

Ugyan nem ismerem a dd-wrt-t, de ha nem kell ilyen-olyan ultra feature, akkor mindenképp megér egy próbát a Tomato:

http://www.polarcloud.com/tomato

Ajax-os GUI, a home-usernek bőven elég funkcióval. Nálam karácsony óta atomstabilan megy 2.2-es mezei meg 1.1-es GL WRT54-en, 2 perc alatt készrekonfigoltam.

Azoknak, akik esetleg hasonló cipőben jártak mint én, a fentieknél egy kicsit bővebb segítséget tudok adni:

A DD-WRT nem kezeli pl. a tomato féle firmware header-t (ami megegyezik az eredeti gyári header-formátummal is), így a firmware update dob egy hátast és nem történik semmi, nem túl beszédes hibaüzenet a konzolon. Megoldás:
- letölt tomate firmware (link feljebb)
- binárisan szerkeszt, első néhány byte kitöröl HDR0-val kezdődjön a fájl
- (lehet hogy megy weben is, itt már nem kockáztattam, meg látni akartam a hibaüzenetet is ha van)
- belép telnettel a routerre, scp távoli gépről file ide, majd:
- write bármi.bin linux
- várakozás után reboot, majd factory reset)

Kérlek mutass rá arra a módszerre, hogy az általad linkelt oldalról a fentieket hogyan tudhattam volna meg, hadd tanuljak.

ezt pont igy nem. de mutatom megeccer

innen azert mar elelhet indulni valamerre

Pedig kizárólag a bináris szerkesztésen múlik a dolog. Akárhányszor is belinkelheted azt az oldalt, nem említi, elindulni meg a google és a hup fórum segítségével is el lehet. Bár ha rajtad múlik, akkor egyikkel sem :)

"Nem vagyok egy nagy bithacker"

:)
___
info

"Bíró Úr! Engem erre kényszerítettek!" :)

kérdés: megvagy elégedve a tomato-val, esetleg nincs hiányérzeted ddwrt után, vagy pont ellenkezőleg, jobban bejön gui és feature szempontból?

--
"Nyugi! Minden a legnagyobb rendben csúszik ki a kezeim közül..." - Douglas Adams
"I can't win, but I can fight! And I make your life miserable."

Meg kell szokni a gui-t, de az a kevés feature, ami nekem kell, megvan benne. Mivel félévente egyszer ha rá kell néznem az admin felületre, nem hiszem hogy számítana, hogy itt máshogyan van a gui.

Idézet:
Mondjuk egy beállított router-t nem nagyon kell óránként piszkálni, így akár ki is lehet húzni a fix megérkezéséig.

omgloop

fixme, most openwrt-rol volt szo :P
___
info

ember
hogy ertsd: miert kellet neki most hirtelen szopni a tftpvel meg lofasz Edittel ha ugyse hasznalja csak felevente?!?!

kikapcsolja a webet es kesz. ha esetleg kell bekapcsolja ennyi

nyugi, csak kötözködni akar, biztos nincs jobb dolga...

Idézd a többi anti-dd-wrt-s hozzászólást is. Engem mindenesetre rábeszéltek arra, hogy dd-wrt-ről váltsak, fix ide vagy oda.

Értem, és köszönöm:)

--
"Nyugi! Minden a legnagyobb rendben csúszik ki a kezeim közül..." - Douglas Adams
"I can't win, but I can fight! And I make your life miserable."

raktal mar openwrt-t? ;)
___
info

nem, epp azert mert szar.:P

??

Miert lenne szar?
Tenyleg erdekel a velemenyed.
Hasznalok openwrt-t es dd-wrt-t is, van ami hasonlit, van amiben a ketto eg es fold, es addig ott tartok, hogy a dd-wrt repul, helyettem meg openwrt lesz, mivel sokkal jobban konfigelheto, mint a dd, es tobb minden van hozza.

___
info

1szoval: dokumentacio
amikor ott voltam h kellet keressek valami dokumentaciot dd-wrt-t talaltam a legdokumentaltabbnak

de pl wikipedian is ~0 info van openwrt rol:

a feature lista is lebilincselo wikipedian :)

* JFFS2 - Writeable log-based filesystem
* Mesh Network - Adhoc networks

+ amit ironiq elmondott

"dokumentacio"

OpenWRT wikiben mindent meg szoktam találni, ha mégse, akkor a fórumon.

"amit ironiq elmondott"

Szóval a felület? Azzal neked mi a problémád?

Egy kérdés:

tervezem Asus wl500gp routerem firmware cseréjét.
Egyfelől csak úgy, érdekesség miatt, másfelől meg azért, mert szeretném a következő 2 (3) dolgot:
-saját magam által szerkesztett iptables szabályok, és traffic shaping
-openvpn (wifin lógó gép és router között)

Ezeket a gyári firmware nem tudja (és egyébként most a korábban működő caching DNS se működik valami miatt, hibaüzenet nincs, nyom nincs, beállítási lehetőség nincs)

Jól gondolom, hogy ezt mindegyik alternatív firmware tudja?

Mit jelent az, hogy egyikhez vannak programok, másikhoz nincsenek?

Én naívan úgy képzeltem, hogy van egy linux kernel, van valami userland (libc meg busybox, ilyen-olyan libek), és aztán egyfelől ha van egy lefordított program (mondjuk az "egyikre"), akkor az mehet a "másikon" is, illetve ha fogok egy akármit (forrásban), akkor azt nem sok vacakolással le tudom fordítani (persze kivéve, ha mondjuk olyan libeket használna, ami egyáltalán nincs).

Ezek szerint ez nem ilyen egyszerű.

G

"Jól gondolom, hogy ezt mindegyik alternatív firmware tudja?"

dd-wrt eseten van egy vpn vegu image, az tudja, openwrt-n meg package-bol kell felrakni, webes feluleten ket katt.

"Mit jelent az, hogy egyikhez vannak programok, másikhoz nincsenek?"

dd-wrt eseten kapsz egy ~2,5-3MB meretu squashfs-t, amit nem lehet irni, es ez melle lehet nagynehezen csinalni ~10-20kB meretu JFFS-t

openwrt-nek az alap nem olvashato FS az olyan 1,5-1,6MB, es melle kapsz ~1,5MB jffs-t, amivel azt csinalsz, amit akarsz - ide lehet a csomagokat is telepiteni.

"Én naívan úgy képzeltem, hogy van egy linux kernel, van valami userland (libc meg busybox, ilyen-olyan libek), és aztán egyfelől ha van egy lefordított program (mondjuk az "egyikre"), akkor az mehet a "másikon" is, illetve ha fogok egy akármit (forrásban), akkor azt nem sok vacakolással le tudom fordítani (persze kivéve, ha mondjuk olyan libeket használna, ami egyáltalán nincs)."

reszben igen, mivel a dd-wrt, ha jol tudom, akkor anno egy openwrt fork volt. binaris kompatibilitas a kernel miatt meg kell hogy legyen, de nem biztos.

___
info

Ezen 8 MB flash van, úgyhogy openwrt-n (gondolom, dd-n is) eleve >=4 MB írható helyet kapsz.

Asus WL-520GU esetében dd-wrt_usb verzióban kicsivel több mint 800kb a jffs mérete. Szerintem ez erősen függ a készüléktől és attól, hogy milyen előre beépített szolgáltatású dd-wrt (vagy openwrt) verziót teszel fel.
--
не закурить! (Ne gyújts rá!) не куриться! (Ne dohányozz! Ne füstölögj!)

Reklám: Nézd meg a Weblapomat!

|| "Software is like sex: it's better when it's free." Linus Torvalds || Visit Gorkhaan's Homepage

"nem, epp azert mert szar.:P"

Az open-wrt tenyleg egy rakas ... van hozza minden ami kell, de vagy a QoS nem mukodik, vagy egy idő után bealssul a router, és vele együtt a net is (2-3 naponta nem akarok routert ujrainditani), vagy az ip kiosztás a problémás, nem akarja elhinni amit beállítok, és megy a saját feje után, stb... sok verzióval próbálkoztam... valami mindig beteg volt benne...

TFTP-vel tedd fel.

Nem azon múlt. A header-strukturát kezeli máshogyan a dd-wrt.

Ha az OpenWRT-t TFTP-vel (http://oldwiki.openwrt.org/OpenWrtDocs(2f)Installing(2f)TFTP.html) teszed fel, tök mindegy, hogy DD-WRT mit hogy kezel, mert a TFTP firmware frissítést a boot folyamat csinálja, amikor a DD-WRT még nem fut.

openwrt install kicsit maskepp van mint a dd-wrt

reflash utan (openwrt image fent):
1) kabel radug, telnetel 22-es portra, ekkor beenged minden nelkul
2) firstboot parancs futtatasa, akkor bekeri a root passt
3) reboot || konfig es orul

___
info

+1

Ráadásul, amikor megkérdezték a fejlesztőt erről, folyamatosan mellébeszélt.

Ennek ellenére széles körben használják? Mi az oka ennek?

--
trey @ gépház

hogy barmok az emberek?
csak egy tipp
---
/* No comment */
Ketchup elementál megidézése a sajt síkra

Linuxba vetett vakhit?

A fejleszto srac egy baromallllllat, az teny, de a cucc egy kenyelmes kis gui, rengeteg fincsi tamogatassal, es eleg sok hardveren elszaladgal. Ezert.

Meg jobb a marketingje, mint pl. a tomato-nak. Es szebb a gui-ja. :)

És jobb a telepítési leírás és dokumentáció hozzá. Bár van akinek nem drága az ideje és elfarag bármin...

Mert jól néz ki, könnyen használható és sokat tud. Kinézet szempontból nálam mondjuk a Tomato vezet, de abban meg nincs VPN lehetőség, csak valami hekkel, soha nem próbáltam. Nem mindenki szeret és tud parancsokkal állítgatni egy routert. Xwrt-t néztem, szörnyű volt számomra, ezért is mentem DD és Tomato irányba.

A DD-s vpn-build meg tartalmazott behegesztett csomagszűrő szabályt... Amivel meg magyarázták, az azt mutatta, hogy a fejlesztés helyett gányolás megy.

Mert a legtöbb ember - annak ellenére, hogy picit hozzáértőbb - lusta. Az OpenWRT (vagyis xwrt) felülete horror, nehéz managelni webről, hát még parancssorból.

Mi a baj vele? Nekem pont úgy tűnik, hogy az xwrt jól kezelhető és nagyon sokat tud. Parancssor meg miben lehet jobb vagy rosszabb?

uhh.

Mostanában mintha divat lenne szúnyogpöcsnyi fekete-szürke alapon megjelenő karakterekkel videót készíteni, ami aztán csak HD-ban, full screen nézhető. Okos.


suckIT szopás minden nap! A fogfúró a villám ellen

Ha le akarod másolni a szöveget, akkor van egy zöld nyilacska a yt videó bal felső sarkában. Arra kattintva egy új ablakban nyitja meg a videot.

--
Én egy divathupper vagyok. :)

Firmware: DD-WRT v23 SP1 Final (05/16/06)
Ha megszakadok sem sikerül... vagyis egy downgrade talán megoldás lenne...

--
Én egy divathupper vagyok. :)

mondd az IP címed, én is megpróbálom... :)

:) Nem mondom, de hidd el. :)

--
Én egy divathupper vagyok. :)

Nekem meg: Firmware: DD-WRT v24-sp2 (05/21/09) mini-usb

Sebezhetőséget nem sikerült kihasználnom. LAN-ról próbálkoztam.

Minden esetre csúnya dolog ez.

hmm, de most igy nezegetve mw-t nem ez az elso ilyen cucc v24sp1-hez, es meg nem lett javitva az sem, csak annyi lett irva, hogy nem megy, csak bizonyos feltetelek kozott:
http://www.milw0rm.com/exploits/7389
___
info

Működött még is, de root jogokat nem sikerült szereznem, viszont a web interfész nem volt elérhető az exploit után!

IRC-n dumálok velük, már patchelték is.

SVN-ből fordított bin-t próbálom elkérni tőlük. Megnézem utána mit ér még az exploit az új patchelt Firmwaren.

---------------------

Itt a csúnyaság:

http://svn.dd-wrt.com:8000/dd-wrt/changeset/12533

---------------------

Itt meg az "új" patchelt Firmware-k:

http://www.dd-wrt.com/dd-wrtv2/down.php?path=downloads%2Fothers%2Feko%2FBrainSlayer-V24-preSP2%2F07-21-09-r12533%2F

A hwsw is atvette a hirt.

Ne riogass!

--
Én egy divathupper vagyok. :)

a hir/workaround dd-wrt.comon