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

Címkék

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ások

(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

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

Kezdjek aggódni?

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

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....

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.

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.

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."

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

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

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!)

"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...

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.

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

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. :)

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%2…