一款利用内存转储漏洞(CVE-2018-17240)从Netwave IP摄像头中检索登录凭证的工具。该项目受expcamera启发,并在性能和效率上进行了改进。该工具支持所有平台,因为它不像expcamera那样通过shell命令使用任何Linux CLI工具。
在Linux系统中,/proc/kcore是一个虚拟文件,它提供了系统物理内存的直接映射,允许读取整个内核虚拟内存空间。某些Netwave IP摄像头通过其Web服务器公开暴露此文件,允许未经身份验证的用户获取设备的内存转储,从而暴露登录凭证等敏感信息。
该工具将首先尝试在内存转储中查找设备ID。一旦找到,很可能意味着凭证就在附近,并将开始搜索它们。
该工具支持两种不同的方式来指定要检查漏洞的主机。主机必须采用ip:port格式。
| Argument | Description |
|---|---|
--host | 要检查的主机,可多次指定 |
--file | 包含要检查的主机列表的文件 |
该工具支持从Censys、Shodan和ZoomEye检索要检查漏洞的主机。
$ 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
该工具仅用于教育目的。本项目的贡献者不对因使用本工具而产生的任何损害或法律问题承担责任。使用风险自负。
| 物联网搜索引擎 | Argument | Required Environment Variables |
|---|
| Censys | --censys | CENSYS_API_ID, CENSYS_API_SECRET |
| Shodan | --shodan | SHODAN_API_KEY |
| ZoomEye | --zoomeye | ZOOMEYE_API_KEY |