关于Genzai
Genzai是一款针对物联网安全的多功能实用性工具套件,该工具旨在识别与物联网相关的仪表盘,并扫描它们以查找默认密码和安全问题,广大研究人员可以使用该工具来检测和提升物联网设备的安全性。
Genzai支持用户以输入的形式提供一个或多个扫描目标,工具会对目标执行扫描,然后尝试识别目标物联网设备相关联的仪表盘。接下来,工具就会根据路径和版本信息来扫描它们以查找默认密码问题和潜在的安全漏洞。
比如说,你现在有一个可以通过互联网访问的家庭自动化设备,这个设备带有仪表盘。此时,该工具首先会根据项目signatures.json文件中的签名来识别物联网产品,然后根据识别到的产品信息和工具数据库中相关的模版(项目中的vendor-logins.json和vendor-vulns.json),扫描以查找供应商特定的默认密码,如admin:admin,同时查找任何潜在的安全漏洞。
当前版本的Genzai支持对超过20款基于物联网设备的仪表盘进行指纹识别,并拥有相同数量的模板来查找它们存在的默认密码问题。除此之外,Genzai还提供了10种漏洞模版,之后还会继续添加模板类型。
功能介绍
当前版本的Genzai支持对下列类型的设备进行安全扫描:
1、无线路由器;
2、监控摄像头;
3、HMI或人机界面;
4、智能电源控制系统;
5、建筑访问控制系统;
6、温度控制系统;
7、工业自动化系统;
8、家庭自动化系统;
9、水资源处理系统;
10、...
工具安装
由于该工具基于Go语言开发,因此我们首先需要在本地设备上安装并配置好最新版本的Go环境。
接下来,广大研究人员可以直接使用下列命令将该项目源码克隆至本地:
git clone https://github.com/umair9747/Genzai.git
然后切换到项目目录中,使用下列命令完成项目代码构建即可:
go build
工具使用
基础使用
该工具的使用非常简单直接,我们只需要将目标作为输入参数提供给Genzai,剩下的事情Genzai都会帮我们完成。
下列命令可以针对单个目标执行安全测试:
./genzai http://1.1.1.1/
下列命令可以对多个目标执行安全测试,目标可以直接在命令行接口中作为参数输入:
./genzai http://1.1.1.1/ http://8.8.8.8/
下列命令可以对多个目标执行安全测试,目标可以直接以文件形式作为参数提供给Genzai:
./genzai targets.txt
输出数据
如果你需要将Genzai的分析数据存储到文件中,可以直接使用-save命令。该命令会将日志信息记录到一个名为output.json的文件中,在命令后加文件名称可以修改存储的文件名。
下列命令可以将日志信息记录到一个指定的文件中:
./genzai http://1.1.1.1 -save myfile.json
下列命令会将日志信息存储到默认的output.json文件中:
./genzai http://1.1.1.1 -save
Genzai输出的分析数据格式样例如下:
{"Response": {"Results": [{"Target": "","IoTidentified": "","category": "","Issues": [{"IssueTitle": "","URL": "","AdditionalContext": ""}]}],"Targets": []}}
Results数组中包含了Genzai成功扫描和识别出的跟目标相关的所有物联网资产信息,Target字段包含了资产的URL地址,IoTidentified字段包含了产品名称,category字段包含了目标物联网产品所属的准确类目,Issues数组中包含了该工具所识别出的目标物联网资产的潜在安全漏洞和默认密码问题。
最后的Targets数组包含了工具扫描过的所有目标列表,无论这些目标是否被识别为物联网资产。
下面给出的是该工具的运行和输出结果实例:
./genzai http://1.1.1.1/:::::::: :::::::::: :::: ::: ::::::::: ::: ::::::::::::+: :+: :+: :+:+: :+: :+: :+: :+: :+: +:+ +:+ :+:+:+ +:+ +:+ +:+ +:+ +:+ :#: +#++:++# +#+ +:+ +#+ +#+ +#++:++#++: +#+ +#+ +#+# +#+ +#+ +#+#+# +#+ +#+ +#+ +#+ #+# #+# #+# #+# #+#+# #+# #+# #+# #+# ######## ########## ### #### ######### ### ### ###########The IoT Security Toolkit by Umair Nehri (0x9747)2024/03/30 23:19:47 Genzai is starting...2024/03/30 23:19:47 Loading Genzai Signatures DB...2024/03/30 23:19:47 Loading Vendor Passwords DB...2024/03/30 23:19:47 Loading Vendor Vulnerabilities DB...2024/03/30 23:19:47 Starting the scan for http://1.1.1.1/2024/03/30 23:19:49 IoT Dashboard Discovered: TP-Link Wireless Router2024/03/30 23:19:49 Trying for default vendor-specific [ TP-Link Wireless Router ] passwords...2024/03/30 23:19:51 http://1.1.1.1/ [ TP-Link Wireless Router ] is vulnerable with default password - TP-Link Router Default Password - admin:admin2024/03/30 23:19:51 Scanning for any known vulnerabilities from the DB related to TP-Link Wireless Router2024/03/30 23:19:57 http://1.1.1.1/ [ TP-Link Wireless Router ] is vulnerable - TP-LINK Wireless N Router WR841N Potentially Vulnerable to Buffer Overflow - CVE-2020-84232024/03/30 23:20:45 No file name detected to log the output. Skipping to printing it!{"Results": [{"Target": "http://1.1.1.1/","IoTidentified": "TP-Link Wireless Router","category": "Router","Issues": [{"IssueTitle": "TP-Link Router Default Password - admin:admin","URL": "http://1.1.1.1/userRpm/LoginRpm.htm?Save=Save","AdditionalContext": "The resulting body had matching strings from the DB."},{"IssueTitle": "TP-LINK Wireless N Router WR841N Potentially Vulnerable to Buffer Overflow - CVE-2020-8423","URL": "http://1.1.1.1/","AdditionalContext": "The resulting headers matched with those in the DB."}]}],"Targets": ["http://1.1.1.1/"]}
工具运行截图
许可证协议
本项目的开发与发布遵循Apache-2.0开源许可协议。
项目地址
Genzai:【GitHub传送门】
参考资料
All releases - The Go Programming Language