一种快速检测企业内网设备SSH弱口令的方法与系统与流程

文档序号:16199614发布日期:2018-12-08 06:28阅读:280来源:国知局
一种快速检测企业内网设备SSH弱口令的方法与系统与流程

本发明涉及信息安全技术领域,特别是一种快速检测企业内网设备ssh弱口令的方法与系统。

背景技术

ssh(secureshell,安全外壳协议)服务,由ietf的网络工作小组(networkworkinggroup)所制定;ssh为建立在应用层和传输层基础上的安全协议。ssh是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用ssh协议可以有效防止远程管理过程中的信息泄露问题。ssh最初是unix系统上的一个程序,后来又迅速扩展到其他操作平台。ssh在正确使用时可弥补网络中的漏洞。

但是当网络上的主机提供ssh服务时,如果用户使用了弱口令,攻击者可以加载字典文件猜解密码。一旦攻击者获取到用户口令,攻击者就可以直接登陆到远程主机,实施攻击活动,极其危险。

如果企业内网设备存在ssh弱口令,对于企业来说,是个极大的安全隐患。对于大型企业内网环境,活跃ip数量多,逐一检测内网设备是否存在ssh弱口令,效率较低。



技术实现要素:

本发明的目的是提供一种快速检测企业内网设备ssh弱口令的方法与系统,旨在解决现有技术中内网环境复杂,活跃ip数量多造成的ssh弱口令检测困难以及效率低的问题,实现提高内网设备的弱口令检测效率,降低攻击者远程登录企业内网进而实施攻击的风险。

为达到上述技术目的,本发明提供了一种快速检测企业内网设备ssh弱口令的方法,包括以下步骤:

s1、对企业内网进行端口扫描;

s2、对端口扫描结果进行弱密码审计;

s3、对于审计结果异常的设备进行二次验证和过滤。

优选地,所述步骤s1具体操作为:

缩减扫描范围,将各机构的ip地址范围精确到c段;

选择扫描速率参数,针对总部使用高速扫描,针对分支机构使用低速扫描;

保存扫描结果。

优选地,所述步骤s2具体操作为:

对扫描结果中的每个ip地址进行预测试;

选择弱密码字典;

通过弱密码字典进行登录测试,输出审计结果。

优选地,所述步骤s3具体操作为:

根据审计结果的弱密码记录,判断banner字段是否为空白或者包含iphone关键字;

如果banner字段不为空白或者不包含iphone关键字,则不再验证直接将对应ip输出到文件result.txt中;

如果banner字段为空白或者包含iphone关键字,则需要再次验证,使用paramiko的sshclient类连接筛选出来的ip地址,成功连接后获取banner信息,根据banner判断目标的类型,如果banner字段为空白或者包含iphone关键字则忽略该条弱密码记录,否则将对应ip输出到结果文件result.txt中。

优选地,所述端口扫描采用zmap工具进行。

本发明还提供了一种快速检测企业内网设备ssh弱口令的系统,所述系统包括:

端口扫描模块,用于对企业内网进行端口扫描;

弱密码审计模块,用于对端口扫描结果进行弱密码审计;

二次验证模块,用于对于审计结果异常的设备进行二次验证和过滤。

优选地,所述端口扫描模块包括:

扫描范围缩减单元,用于缩减扫描范围,将各机构的ip地址范围精确到c段;

扫描参数选择单元,用于选择扫描速率参数,针对总部使用高速扫描,针对分支机构使用低速扫描;

扫描结果保存单元,用于保存扫描结果。

优选地,所述弱密码审计模块包括:

预测试单元,用于对扫描结果中的每个ip地址进行预测试;

字段选择单元,用于选择弱密码字典;

登录测试单元,用于通过弱密码字典进行登录测试,输出审计结果。

优选地,所述端口扫描采用zmap工具进行。

发明内容中提供的效果仅仅是实施例的效果,而不是发明所有的全部效果,上述技术方案中的一个技术方案具有如下优点或有益效果:

与现有技术相比,本发明针对大型企业内网环境,提出了一种快速地发现企业网络中各种设备的ssh弱口令的方法,通过对企业内网全ip范围ping探测,将各机构的ip地址范围精确到c段,然后使用zmap对企业内网进行端口扫描,对扫描结果进行弱密码审计和二次验证,实现快速发现企业内网中各种设备的ssh弱口令,解决了现有技术中内网环境复杂,活跃ip数量多造成的ssh弱口令检测困难以及效率低的问题,实现提高内网设备的弱口令检测效率,降低攻击者远程登录企业内网进而实施攻击的风险。

附图说明

图1为本发明实施例中所提供的一种快速检测企业内网设备ssh弱口令的方法流程图;

图2为本发明实施例中所提供的一种快速检测企业内网设备ssh弱口令的系统结构框图。

具体实施方式

为了能清楚说明本方案的技术特点,下面通过具体实施方式,并结合其附图,对本发明进行详细阐述。下文的公开提供了许多不同的实施例或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。此外,本发明可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。应当注意,在附图中所图示的部件不一定按比例绘制。本发明省略了对公知组件和处理技术及工艺的描述以避免不必要地限制本发明。

下面结合附图对本发明实施例所提供的一种快速检测企业内网设备ssh弱口令的方法与系统进行详细说明。

如图1所示,本发明实施例公开了一种快速检测企业内网设备ssh弱口令的方法,包括以下步骤:

s1、对企业内网进行端口扫描;

s2、对端口扫描结果进行弱密码审计;

s3、对于审计结果异常的设备进行二次验证和过滤。

首先,对企业内网进行端口扫描,获得扫描结果,发现所有潜在的存在ssh弱口令的主机,即开启ssh服务的主机。在企业内网环境中,由于活跃的ip数量众多,为了提高扫描速度,本发明实施例中采用扫描速度快且误报率低的zmap工具进行端口扫描,所述端口扫描具体操作如下:

a.缩减扫描范围

将各机构的ip地址范围精确到c段(通过全ip范围ping探测得到),这样大部分分支机构的地址范围能够缩减六七成,然后将每个分支机构的地址范围写入文件ipsubnets.txt中,通过目标地址空间(-w参数)调用。

b.扫描速率参数选择

影响zmap扫描效率和扫描时间的变量主要是扫描速率(-b)参数。扫描的速率需要依照企业实际环境来设定的,不是越大越好。在总部范围内是同一个局域网,速度大一点没有关系。但对于异地甚至跨国的分支结构来说,大多是通过仅有几m带宽的专线进行连接的,扫描速率就不能超过专线速度,不然会影响生产使用。高速率也可能会意外地影响网络设备的运行。因此总体策略为:针对总部使用高速扫描,针对分支机构使用低速扫描。

c.保存zmap扫描结果

zmap输出的结果是开放了ssh端口的ip地址集合,每行一个ip地址,通过-o参数将结果输出到文件ssh_hosts_found.txt中。

其次,对扫描结果进行弱密码审计,获得审计结果。在上一步操作获取到的扫描结果ssh_hosts_found.txt文件,针对其中每一个ip地址,循环遍历密码字典中的“用户名:密码”组合进行ssh登录尝试,找到成功的登录尝试,并记录结果。其具体操作为:

a.预测试

针对扫描结果文件ssh_hosts_found.txt中每个ip地址,先进行预测试pretest,即在pretest时使用一个随机的用户名和密码使用libssh2进行ssh登录尝试。如果待检测目标主机不可连接,则后续不再尝试登陆了,在文件ssh_hosts_found.txt中移除该ip;如果待检测目标主机不需要密码或任意密码可登陆,则将此ip保存到结果文件result.txt中,并在文件ssh_hosts_found.txt文件中移除该ip。

b.弱密码字典选择

弱密码字典中的条目选择对于弱密码审计结果有着重要影响,其条目选择所遵循的原则为:

(1)各种设备的默认用户和密码、初始安装密码,例如ibm虚拟化环境里vios默认用户和密码padmin:padmin

(2)网络中常见的top弱密码与常见管理员用户名的组合,如top20的弱密码123456、password等,常见管理员用户如root/admin等

(3)带有企业环境特色的密码,公共密码:例如有些人喜欢用公司英文名称小写作为密码

(4)一些特定用户名和密码相同的组合,如root:root,admin:admin等。

依上述原则将得到的弱密码字典保存到弱字典文件ssh_userpasswords.txt中。

c.通过字典遍历进行登录测试

通过预测试对文件ssh_hosts_found.txt进行初步审计后,调用弱密码字典进行登录测试,即循环地对每一个用户名,依次使用弱字典文件ssh_userpasswords.txt中的密码进行登录,如果登录成功则运行uname-a命令获得系统的信息并保存到文件sshbrute.log中,然后结束当前用户的登录尝试,继续进行另一个用户的尝试,直到字典遍历完了再继续探测下一个ip地址。

最后,对于审计结果异常的设备进行二次验证和过滤。

对于常见的linux/unix等设备,上述审计结果是精确的,但也有一些特殊或者说奇怪的设备,用libssh2显示用户验证成功,但用ssh客户端连接提示验证失败;又或者如某些视频会议设备,ssh验证成功,但实际无shell的情况等等。这些情况我们需要进行二次验证,以过滤误报、干扰,正确识别风险。其具体操作如下:

首先筛选sshbrute.log输出的弱密码记录,判断banner字段是否为空白或者包含iphone关键字(代表ip为电话类型)。

如果banner字段不为空白或者不包含iphone关键字,则不再验证直接将对应ip输出到文件result.txt中;

如果banner字段为空白或者包含iphone关键字,则需要再次验证,使用paramiko的sshclient类连接筛选出来的ip地址,成功连接后获取banner信息,根据banner判断目标的类型,如果banner字段为空白或者包含iphone关键字(代表ip为电话类型)则忽略该条弱密码记录;否则将对应ip输出到结果文件result.txt中。

本发明实施例针对大型企业内网环境,提出了一种快速地发现企业网络中各种设备的ssh弱口令的方法,通过对企业内网全ip范围ping探测,将各机构的ip地址范围精确到c段,然后使用zmap对企业内网进行端口扫描,对扫描结果进行弱密码审计和二次验证,实现快速发现企业内网中各种设备的ssh弱口令,解决了现有技术中内网环境复杂,活跃ip数量多造成的ssh弱口令检测困难以及效率低的问题,实现提高内网设备的弱口令检测效率,降低攻击者远程登录企业内网进而实施攻击的风险。

如图2所示,本发明实施例还公开了一种快速检测企业内网设备ssh弱口令的系统,所述系统包括:

端口扫描模块,用于对企业内网进行端口扫描;

弱密码审计模块,用于对端口扫描结果进行弱密码审计;

二次验证模块,用于对于审计结果异常的设备进行二次验证和过滤。

所述端口扫描模块包括:

扫描范围缩减单元,用于缩减扫描范围,将各机构的ip地址范围精确到c段;

扫描参数选择单元,用于选择扫描速率参数,针对总部使用高速扫描,针对分支机构使用低速扫描;

扫描结果保存单元,用于保存扫描结果。

所述弱密码审计模块包括:

预测试单元,用于对扫描结果中的每个ip地址进行预测试;

字段选择单元,用于选择弱密码字典;

登录测试单元,用于通过弱密码字典进行登录测试,输出审计结果。

所述二次验证模块实现的具体操作如下:

首先筛选sshbrute.log输出的弱密码记录,判断banner字段是否为空白或者包含iphone关键字(代表ip为电话类型)。

如果banner字段不为空白或者不包含iphone关键字,则不再验证直接将对应ip输出到文件result.txt中;

如果banner字段为空白或者包含iphone关键字,则需要再次验证,使用paramiko的sshclient类连接筛选出来的ip地址,成功连接后获取banner信息,根据banner判断目标的类型,如果banner字段为空白或者包含iphone关键字(代表ip为电话类型)则忽略该条弱密码记录;否则将对应ip输出到结果文件result.txt中。

优选地,所述端口扫描采用zmap工具进行。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1