Genzai:一款针对物联网安全的多功能实用性工具套件

news2024/12/23 23:49:06

关于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 Router

2024/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:admin

2024/03/30 23:19:51 Scanning for any known vulnerabilities from the DB related to TP-Link Wireless Router

2024/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-8423

 

2024/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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1707292.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【RK3288 Android10 T8pro usb hid-multitouch idc配置】

【RK3288 Android10 T8pro usb hid-multitouch idc配置】 文章目录 【RK3288 Android10 T8pro usb hid-multitouch idc配置】背景代码分析1. 读取配置文件2. 标志内外置屏幕3. 设置输入设备4. findviewport()5. 根据对应的viewport来计算相应的mapping的参数 结论 背景 T8pro …

C#中的事件聚合器实现方法

概述:_对象之间的关系_是使代码库难以理解和难以维护的原因。为了更好地理解它,我们求助于马丁福勒(Martin Fowler):事件聚合器是间接的简单元素。在最简单的形式中,您可以让它注册到您感兴趣的所有源对象&…

JAVA智慧工厂制造生产管理MES系统,全套源码,多端展示(MES与ERP系统的区别和联系)

MES与ERP系统的区别和联系 MES制造执行系统,是一套面向制造公司车间执行层的生产信息化管理系统。MES 可觉得公司提供涉及制造数据管理、计划排产管理、生产调度管理、库存管理、质量管理、人力资源管理、工作中心、设备管理、工具工装管理、采购管理、成本管理、项…

C++牛客周赛43题目分享(3)小红平分糖果,小红的完全平方数,小苯的字符串变化,小红的子数组排列判断

目录 ​编辑 1.前言 2.四道题目 2.1小红平分糖果 2.1.1题目描述 2.1.2输入描述 2.1.3输出描述 2.1.4示例 2.1.5代码 2.2小红的完全平方数 2.1.1题目描述 2.1.2输入描述 2.1.3输出描述 2.1.4示例 2.1.5代码 2.3小苯的字符串变化 2.1.1题目描述 2.1.2输入描述 …

Steam游戏搬砖:靠谱吗,详细版说下搬砖中的核心内容!

可能大家也比较关注国外Steam游戏搬砖这个项目,最近单独找我了解的也比较多,其实也正常,因为现在市面上的项目很多都很鸡肋,而且很多都是一片红海,内卷太过严重,所以对于Steam的关注度也高很多,…

CTF-web-WP-攻防世界-1

1、view_source:打开开发者工具F12就能看到flag 2、robots (1)、使用目录扫描工具 工具:dirsearch命令:python dirsearch.py -u http://61.147.171.105:55644/ -e * (2)、看到下面有robots.txt文件,在URL后面输入&#xff0c…

torch.matmul()的用法

这篇文章记录torch.matmul()的用法 这里仿照官方文档中的例子说明,此处取整数随机数,用于直观的查看效果: vector x vector 两个一维向量的matmul相当于点积,得到一个标量 tensor1 torch.randint(1, 6, (3,)) tensor2 torch.…

SYD881X HID工程重连后连接参数没有更新功耗下不来

SYD881X HID工程重连后连接参数没有更新功耗下不来 现在测试到一个问题,第一次连接上的时候过一段时间功耗会下来到100UA以内,这个是正常的,但是关掉手机蓝牙再打开手机蓝牙就发现功耗是500UA左右下不来了! 抓包发现第一次连接和重连的时候手机给的连接参数是一样的: 问题是当…

nginx设置一个TCP代理(用于RDP连接)

在 Nginx 中,stream 上下文必须在 http 上下文之外,并且只能位于顶级配置文件中或包含在主配置文件中的单独文件中。 Nginx 的配置文件通常包含一个 http 块,用于处理 HTTP 和 HTTPS 请求,但是 stream 块是独立的,并且…

微信好友,如此的陌生,渐渐都成了只是人名!也许没有利益关系导致!

微信里一直聊天聊的挺好的朋友,不知怎么到后来却联系少了,最后渐渐的变成躺在微信备注里的一个陌生朋友! 以前通过工作认识了一个朋友,初次见面的印象不是很深刻了,只记得当时给我的印象是对方很有礼貌,特别…

段位在于面对人性之恶,一笑而过

这个小哥哥不知道是哪里不对劲了,突然给我留言说我在骗流量,骗关注。公众号是我的,文章是我写的,主要分享的就是我创业的一些接单案例,因为之前收到很多无效的留言,寻求合作就几个字我不想接收无效信息&…

【Android14 ShellTransitions】(一)开篇

说来惭愧,AndroidU都已经开发这么久了,但是我还没有整理过ShellTransition相关的知识。我本来希望能够系统的写一篇关于ShellTransition的笔记出来,但是发现一来这是一个比较庞大的模块,二来我个人能力有限,对ShellTra…

一文搞懂oracle事务提交以及脏数据落盘的原则

本文基于oracle 19c 做事务提交以及oracle脏数据落盘的相关解读 第一章 相关进程及组件介绍: 1.LGWR: 重做日志条目在系统全局区域 (SGA) 的重做日志缓冲区中生成。LGWR 按顺序将重做日志条目写入重做日志文件。如果数据库具有…

Jenkins安装启动(JDK8/11/17)

目录 传送门前言一、概念1、Jenkins是什么2、Jenkins 的安装概念图 二、下载1、下载war包(JDK17环境推荐)2、下载rpm安装包(JDK8环境推荐) 三、对应JDK8的实际安装(Jenkins2.346.1)1、安装指令2、Jenkins2.…

Java入门基础学习笔记46——String的案例

完成用户登录功能: 需求: 系统的正确的用户名和密码:changchunhua/123456,请在控制台开发一个登录界面,接收用户输入的登录名和密码,判断用户是否登录成功,登录成功后展示:“欢迎进…

2024HBCPC:E Breakfast II

题目描述 作为一个合格的大学生,你不仅需要学习成绩好,还需要会买包子和鸡蛋。 今天,又轮到你们给你的导师买早饭了! 这一次你们一共需要给导师买 n n n 个包子和 m m m 个鸡蛋(请注意,这一次可能不再只…

【class18】人工智能初步----语音识别(4)

【class17】 上节课,我们学习了: 语音端点检测的相关概念,并通过代码切分和保存了音频。 本节课,我们将学习这些知识点:1. 序列到序列模型2. 循环神经网络3. 调用短语音识别接口 知其然,知其所以然 在调用语…

JS——对象

1.什么是对象 对象是什么? 对象是一种数据类型 无序的数据的集合( 数组是有序的数据集合 ) 对象有什么特点? 无序的数据的集合 可以详细地描述某个事物 静态特征 (姓名, 年龄, 身高, 性别, 爱好) > 可以使用数字, 字符串…

数据结构算法题day03

数据结构算法题day03 题目 题目 2.设计一个高效算法&#xff0c;将顺序表L的所有元素逆置&#xff0c;要求算法的空间复杂度为O(1)算法思想&#xff1a; 1、常规的解法&#xff1a; Void reverse (sqlist &L){Elemtype temp; //辅助变量for(i 0,i < L.length; i){temp…

985上交应届生转正12天,被某东辞退了!

&#x1f447;我的小册 45章教程:(小白零基础用Python量化股票分析小册) ,原价299&#xff0c;限时特价2杯咖啡&#xff0c;满100人涨10元。 01.事情起源 最近粉丝群都在转发一个截图&#xff0c;某应届毕业生在某东实习一年&#xff0c;才转正才12天&#xff0c;就因为自己调侃…