Sploitus

Exploit for CVE-2022-21907

kitploit · 2026-09-03

Exploit Code

MARKDOWN183 lines
## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-KAMAL-MAROUANE-CVE-2022-21907
# CVE-2022-21907

HTTP 协议栈中的漏洞,可导致远程代码执行和潜在的系统崩溃。   


## 目录

  * CVE-2022-21907
    * 描述
    * 环境
      * 受害机器配置
      * 攻击者机器配置
    * 利用
    * 概念验证
    * 参考



## 描述

CVE-2022-21907 是 Windows 10 的 HTTP 协议栈(http.sys)中的一个漏洞,攻击者可通过向使用 HTTP 协议栈处理数据包的目标服务器发送特制数据包来利用该漏洞。这可能导致拒绝服务(DDoS)攻击,使服务器无响应或崩溃。

利用该漏洞可破坏服务,并无需身份验证或用户交互即可使 Windows 10 版本 2004 机器脱机。

## 环境

首先,你的硬盘上必须有一些可用空间才能测试此漏洞(在安装虚拟机后,你可以调整内存分配和磁盘分配)。

要开始测试此漏洞,请使用以下链接安装 Vagrant 和 VirtualBox:

  * Vagrant 安装
  * VirtualBox 安装



在 `CMD` 或 `PowerShell` 中输入 `VBoxManage` 命令,验证其是否可用。如果你收到类似以下错误:

"术语 'VBoxManage' 不被识别为 cmdlet 的名称..."

那么请确保 VirtualBox 路径(例如 `C:\Program Files\Oracle\VirtualBox`)已添加到系统环境变量中。接下来,运行以下命令:

root@kitploit:~
    
    
    VBoxManage natnetwork add --netname MyCustomisedNet --network "192.168.100.0/24" --enable --dhcp on
    

克隆以下仓库以获取所需的 Vagrant 文件:

root@kitploit:~
    
    
    git clone https://github.com/kamal-marouane/CVE-2022-21907.git
    

### 受害机器配置

克隆仓库后,通过执行以下命令进入你机器上的受害机器目录:

root@kitploit:~
    
    
    cd CVE-2022-21907/Victim Machine
    

在此文件夹中你可以找到 `Vagranfile`,你只需执行:

root@kitploit:~
    
    
    vagrant up
    

![wait-for](https://assets.kitploit.com/production/public/readmes/27875/a5c61626d030930a8dab13a9eaede5d6b0d0d4dd87bf2f5c79a28e974b7fffd5.png)  
然后等待该 box 被下载并添加。由于其大小约为 5 GB,这需要很长时间(上图仅为示意)。 安装结束后,你可以打开 VirtualBox,看到 `MyWindowsVul` 已被添加并正在运行。

![first](https://assets.kitploit.com/production/public/readmes/27875/d08b1f8b2fcb1715d94356b54558a56a6cbcd327364c0dafdd2cc7bfe1cd7628.png)

点击 `Show`,你可以看到你的 `Victim Machine` 正在运行

![Screenshot-2023-12-10-013708](https://assets.kitploit.com/production/public/readmes/27875/ddad2b82d3cebf32cec497f782d48f868f5070fb7dfe5eca310a6f2229c79c37.png)

### 攻击者机器配置

现在让我们配置攻击者机器,你需要访问攻击者机器:

root@kitploit:~
    
    
    cd ../Victim Machine
    

在此文件夹中你可以找到 `Vagranfile`,你只需回到你的机器并执行:

root@kitploit:~
    
    
    vagrant up
    

等待 box 被下载并添加,然后机器将运行。点击 `Show`,你将看到攻击者机器正在运行。

![4](https://assets.kitploit.com/production/public/readmes/27875/ebc963ec0d1430b66b9f324b892c7a6e3c422fe2b211db5a00aa02cd317ce598.png)

现在机器已配置完毕,可以使用了! 以下是访问攻击者机器的用户名和密码:

root@kitploit:~
    
    
    username : attacker
    password : att
    

![image](https://assets.kitploit.com/production/public/readmes/27875/32f8ae7343e82deda27482af1248e6bf045cc1bc002eb5d40a34a332324ff803.png)

### 利用

要利用该漏洞,请仔细遵循以下步骤:   


1 - 打开正在运行的虚拟机:

![Screenshot-2023-12-10-040604](https://assets.kitploit.com/production/public/readmes/27875/e7a77296b620c23c805f6c8c1cc5a3f1e5a4a325322d4ffb2267f6c863faf9da.png)

2 - 在受害机器中,打开 `cmd` 并输入 `ipconfig` 以查找之前设置的 IPv4 地址:

root@kitploit:~
    
    
    ipconfig
    

然后你将能够看到使用上述 `VBoxManage` 命令建立的 IPv4 地址。

![third](https://assets.kitploit.com/production/public/readmes/27875/0cdae389f770b4b931f9d7ba9abacbb68cdae14aac7cfa1f106d339317ad6ba9.png)  
  
保存你获得的 IPv4 地址以备后用。

**注意!!:** 你虚拟机上的 IP 地址可能与我的不同。请确保使用执行 `ipconfig` 命令后获得的 IP 地址(请注意,默认网关必须为 192.168.100.1,这是我们已通过 `VBoxManage` 命令创建的,因此你的受害机器中的 IP 地址应为以下形式:192.168.100.X)。

3 - 在 Kali Linux 机器上,进入利用目录并运行利用脚本:

root@kitploit:~
    
    
    cd CVE-2022-21907-Exploit
    

4 - 在攻击者机器上执行 python 脚本以使受害机器崩溃:

root@kitploit:~
    
    
    python3 CVE-2022-21907-exploit.py -i VICTIM_MACHINE_IP
    

此处你必须将 `VICTIM_MACHINE_IP` 替换为在受害机器中获得的地址。

5 - 恭喜!!!受害机器已崩溃 :/

### 概念验证

按照“利用”部分中提到的所有步骤操作后,受害机器将会崩溃。

![exploit](https://assets.kitploit.com/production/public/readmes/27875/cb45d5144353c4fc002bf8ff9e2a2de82af67adb691ff85ae31651bd6f60d935.png)

### 参考

  * https://msrc.microsoft.com/update-guide/vulnerability/CVE-2022-21907
  * https://piffd0s.medium.com/patch-diffing-cve-2022-21907-b739f4108eee
  * https://www.fortinet.com/blog/threat-research/analysis-of-microsoft-cve-2022-21907
  * https://crashtest-security.com/cve-2022-21907-http-vulnerability/
  * https://www.zerodayinitiative.com/blog/2021/5/17/cve-2021-31166-a-wormable-code-execution-bug-in-httpsys



* * *

如你在任何步骤中遇到问题或需要澄清,请随时通过电子邮件联系我们寻求帮助:  


some-email@example.com