ssh简单密码的审计
关于ssh的审计
前阵子在微信群里做了个公告,要求所有人如果在生产环境还没更换默认密码的尽快修改密码。 说是说了,但是有没有人执行是另外的一回事,所以得检查下效果怎么样。
其实我这边除了要做这个外, 我还希望做端口的审计以及其他弱密码的审计。 希望是本无所谓有的,无所谓无的,先做点基本的吧。:)
过程
- 找到ssh-auditor这个工具,因为我知道初始的密码,这些模版是我做的。
- go get github.com/ncsa/ssh-auditor
- 添加访问账户和密码
- ssh-auditor addcredential root pass01!
- 获取主机段内开通22端口的主机,如果要扫描多个端口,直接再加-p 端口号
- ssh-auditor discover -p 22 10.214.16.0/24
- ssh-auditor discover -p 22 -p 1443 10.214.16.0/24
- 用添加的账户名和密码进行尝试连接
- ssh-auditor scan
- 获取扫描的结果的合并
- ssh-auditor vule
- 获得report,以json形式表示
- ssh-auditor dupes
解析
因为这个获得的信息是ip地址的,我希望再反馈为域名,因为这些机器都是有名字的。 写了个简单的powershell脚本。 其中ip地址来自于vule的输出。
$ipl="10.214.16.166","10.214.16.190","10.214.16.159","10.214.16.192","10.214.8.73","10.214.8.80","10.214.8.78","10.214.8.79","10.214.8.76","10.214.8.77","10.214.96.40","10.214.96.34"
foreach($ip in $ipl){
$dname=cmd.exe /c nslookup $ip
foreach ($item in $dname){if ($item.Contains("Name")){write-host $ip,$item}}
}
后记
这两天在学习rust,本想着自己写一个,但是奈何几天的学习并不能达到所想即所用的状态,还是差距大大的。
不好好学习是不行的。