Xewdy444/Netgrave
GitHub: Xewdy444/Netgrave
一款利用 CVE-2018-17240 内存转储漏洞从 Netwave IP 摄像头提取登录凭证的安全研究工具。
Stars: 7 | Forks: 2
# Netgrave
一个用于通过内存转储漏洞(CVE-2018-17240)从 Netwave IP 摄像头获取登录凭证的工具。该项目受到 [expcamera](https://github.com/vanpersiexp/expcamera) 的启发,并在性能和效率方面提供了改进。此工具适用于所有平台,因为它不通过 shell 命令使用任何 Linux CLI 工具(如 expcamera 那样)。
## CVE-2018-17240
在 Linux 系统上,`/proc/kcore` 是一个虚拟文件,提供了对系统物理内存的直接映射,允许读取整个内核的虚拟内存空间。一些 Netwave IP 摄像头会通过其 Web 服务器公开此文件,允许未经身份验证的用户获取设备的内存转储,从而暴露敏感信息,例如登录凭证。
此工具会首先尝试在内存转储中找到设备 ID。一旦找到,很可能意味着凭证就在附近,随后工具会开始搜索它们。
## 主机选项
### 指定主机
此工具支持两种指定要检查的主机的方式。主机必须采用 `ip:port` 格式。
| 参数 | 描述 |
| ------ | ---------------------------------------- |
| `--host` | 要检查的主机,可多次指定 |
| `--file` | 包含要检查主机列表的文件 |
### 获取主机
此工具支持从 Censys、Shodan 和 ZoomEye 获取主机以检查漏洞。
| 物联网搜索引擎 | 参数 | 所需环境变量 |
| -------------- | -------- | -------------------------------- |
| Censys | `--censys` | `CENSYS_API_ID`, `CENSYS_API_SECRET` |
| Shodan | `--shodan` | `SHODAN_API_KEY` |
| ZoomEye | `--zoomeye` | `ZOOMEYE_API_KEY` |
## 安装
```
$ pip install -r requirements.txt
```
## 用法
```
Usage: main.py [-h] (--host HOST | -f FILE | --censys | --shodan | --zoomeye) [-n NUMBER] [-c CONCURRENT] [-t TIMEOUT] [-o OUTPUT]
A tool for retrieving login credentials from Netwave IP cameras using a memory dump vulnerability (CVE-2018-17240)
Options:
-h, --help show this help message and exit
--host HOST A host to check, can be specified multiple times
-f, --file FILE A file containing the hosts to check
--censys Retrieve hosts from the Censys API using the API ID and secret specified with the CENSYS_API_ID and CENSYS_API_SECRET environment variables
--shodan Retrieve hosts from the Shodan API using the API key specified with the SHODAN_API_KEY environment variable
--zoomeye Retrieve hosts from the ZoomEye API using the API key specified with the ZOOMEYE_API_KEY environment variable
-n, --number NUMBER The number of hosts to retrieve from the IoT search engine, by default 100
-c, --concurrent CONCURRENT
The number of hosts to check concurrently, by default 25
-t, --timeout TIMEOUT
The timeout in seconds for retrieving the credentials from the memory dump of each host, by default 300
-o, --output OUTPUT The file to write the credentials to, by default credentials.txt
```
## 免责声明
此工具仅用于教育目的。该项目的贡献者不对因使用此工具而可能产生的任何损害或法律问题承担责任。请自行承担风险使用。
标签:CVE-2018-17240, IoT安全, JARM, meg, Netwave IP摄像头, /proc/kcore, Python, Ruby on Rails, 信息安全, 内存分析, 内存转储, 凭证提取, 威胁模拟, 无后门, 未授权访问, 网络摄像头漏洞, 逆向工具