关联漏洞
标题:
多家厂商网络设备驱动帧填补信息泄露漏洞
(CVE-2003-0001)
描述:网络设备驱动程序在对于小于46字节的包数据会进行填补。多个网络设备驱动程序在填补数据包时使用以前的帧缓冲数据,远程攻击者可以利用这个漏洞从受此漏洞影响的设备中获得一些敏感信息。Ethernet标准(IEEE 802.3)定义数据包的最小字段为46字节,如果高层协议如IP提供的数据包小于46字节,设备驱动程序必须填充数据段来迎合IEEE 802规定的最小帧大小规定,而填充值一般是NULL数据。但是许多Ethernet设备驱动程序没有正确按照标准实现进行操作,对数据的填充没有使用NULL字节,而重用了以前传输
描述
This Python script helps to detect the Etherleak (CVE-2003-0001) vulnerability on a target host by analyzing the padding data in network packets. The script uses Scapy to send various types of requests (ICMP, ARP, or TCP) and checks if the responses contain any padding data that could potentially leak sensitive memory contents.
介绍
# Etherleak Vulnerability Checker
This Python script helps to detect the Etherleak (CVE-2003-0001) vulnerability on a target host by analyzing the padding data in network packets. The script uses Scapy to send various types of requests (ICMP, ARP, or TCP) and checks if the responses contain any padding data that could potentially leak sensitive memory contents.
## Etherleak Overview
Etherleak is a vulnerability where network drivers improperly pad Ethernet frames with leftover memory. Attackers can exploit this by sending certain requests (ICMP, ARP, or TCP) and analyzing the response packets to see if they leak sensitive data from system memory.
### Prerequisites
- Python 3.x or higher
- Scapy: You can install Scapy using pip:
```bash
pip install scapy
```
## Usage
The script supports three protocols for probing the target: ARP, ICMP, or TCP.
If using TCP, you can specify a port, with the default being 445 (commonly used by SMB).
Command Line Usage
```bash
sudo python etherleak_checker.py <target_ip> <arp|icmp|tcp> <count> [tcp_port]
<target_ip>: The IP address of the target host.
<arp|icmp|tcp>: The type of request to send (ARP, ICMP, or TCP).
<count>: The number of packets to send and analyze.
[tcp_port]: (Optional) The TCP port to target if using tcp (default: 445).
```
### Examples
#### ICMP (Ping) Test:
```bash
sudo python etherleak_checker.py 192.168.1.1 icmp 10
```
This will send 10 ICMP echo requests (pings) to the target IP 192.168.1.1 and analyze the padding data in the responses.
#### ARP Test:
```bash
sudo python etherleak_checker.py 192.168.1.1 arp 10
```
This will send 10 ARP requests to the target IP 192.168.1.1 and analyze the padding data in the ARP responses.
#### TCP Test on Default Port 445:
```bash
sudo python etherleak_checker.py 192.168.1.1 tcp 10
```
This will send 10 TCP SYN packets to the target IP 192.168.1.1 on port 445 (SMB) and analyze the padding data in the TCP responses.
#### TCP Test on Custom Port (e.g., Port 80):
```bash
sudo python etherleak_checker.py 192.168.1.1 tcp 10 80
```
This will send 10 TCP SYN packets to port 80 of the target IP 192.168.1.1 and analyze the padding data in the responses.
### How It Works
- Packet Sending: The script sends ICMP, ARP, or TCP requests to the target. If TCP is selected, you can specify the port.
- Response Capturing: The script listens for responses and checks if they contain a Padding layer.
- Padding Analysis: The captured padding is compared across multiple packets. If variation in padding is detected, the host is potentially vulnerable to Etherleak.
- Output: A clear message will inform you if the host is likely vulnerable based on the variation in the padding.
### Output Example
```
[ Targeting 192.168.1.1 using ICMP for 10 requests... ]
Padding captured: 00 00 00 01 02 03 ...
Padding captured: 00 00 00 01 02 03 ...
...
Variation in padding data detected across packets, indicating a potential Etherleak vulnerability.
Padding analysis complete.
```
### Disclaimer
This script is intended for educational purposes and for testing your own systems in a controlled environment. Unauthorized use of this script against systems without permission is illegal and unethical. Always ensure you have proper authorization before running tests against any system.
文件快照
[4.0K] /data/pocs/61afa36e68155b574fd0dc47f6dcbf9515693101
├── [2.8K] etherleak_checker.py
├── [1.0K] LICENSE
└── [3.3K] README.md
0 directories, 3 files
备注
1. 建议优先通过来源进行访问。
2. 如果因为来源失效或无法访问,请发送邮箱到 f.jinxu#gmail.com 索取本地快照(把 # 换成 @)。
3. 神龙已为您对POC代码进行快照,为了长期维护,请考虑为本地POC付费,感谢您的支持。