企业内部SSH弱密码审计工具

2018-02-2711:17:59 1

企业内部SSH弱密码审计工具

 

 

 

 

 

 

 

 

一、ssh弱密码审计工具的执行流程
下面是我做一次ssh弱密码审计的执行流程:

(1)使用开源工具zmap对全网进行ssh端口扫描,发现所有潜在的ssh主机;

(2)使用自编写的工具sshbrute对上述的ssh主机进行弱密码审计;

(3)使用自编写的脚本sshverify对一些特殊的设备进行二次验证和过滤;

(4)输出弱密码审计的结果。

二、相关的资源和环境
本文的工具均基于Linux进行开发和运行。在我的企业环境中,只允许使用红帽企业版,所以我是基于RHEL 6/7来开发的。但其它的Linux发行版应该也没有什么问题。同时你还需要准备以下的软件或工具:

(1)zmap,请参考其主页(URL:https://github.com/zmap/zmap)自行编译安装;

(2)编译工具,主要是gcc/g++/make/cmake/libtool等;

(3)第三方库,主要是libssh2(URL:https://www.libssh2.org/ ),以及plog和getoptpp,均安装在/usr/local目录下;

(4)python 2.7,以及paramiko库(URL:https://pypi.python.org/pypi/paramiko/)。

(5)我的工具代码sshbrute.cpp和sshverify.py,链接地址https://github.com/penoxcn/SshWeakPasswordAudit.git。

其中sshbrute.cpp使用以下命令编译即可:

g++ --std=c++11 sshbrute.cpp -o sshbrute-pthread -I /usr/local/include/ -lssh2 -L/usr/local/lib
三、ssh主机的发现
在我的企业OA网络中使用10.0.0.0/8的A类地址,每个分支机构使用一个或多个16位掩码的地址段,地址空间比较大。端口扫描工具有很多,开源的就有nmap、zmap、masscan等。相对来说,nmap扫描速度慢,准确度高,适合精细的扫描,如OS识别、服务识别等;masscan和zmap速度快,适合于进行大规模(如整个Internet地址空间)的端口扫描。而在企业内网环境中,我觉得zmap更易用一些,在漏报率和误报率方面比masscan表现要好一些。zmap最大的不便是一次扫描只支持扫描一个端口,如果有多个端口要扫描,需要多次启动程序进行扫描。

要使用zmap扫描网络中的ssh主机,使用以下命令即可:

zmap -M tcp_synscan -p 22 -wipsubnets.txt -o ssh_hosts_found.txt -B50M -i eth0 --disable-syslog
其中:

-M tcp_synscan指定扫描方式为TCP SYN扫描;

-p 参数指定要扫描的端口,本例中是ssh的默认端口22;

-w ipsubnets.txt 指定要扫描的目标地址从文件ipsubnets.txt中加载;

-o ssh_hosts_found.txt指定扫描的结果输出到文件ssh_hosts_found.txt中;

-B 50M 指定扫描的速率为50Mbps;

-i eth0指定服务器的网卡接口,没有指定zmap会自动查找默认的接口;

–disable-syslog 是禁止发送syslog日志。

CE安全网
CE安全网广告位招租

发表评论

您必须登录才能发表评论!

目前评论:1   其中:访客  1   CE安全网官方  0

    • avatar 哈喽小宝 1

      学习了。感谢分享