在某公司做了一个项目,查找公司几十万台主机的root密码是否是弱密码。
该过程涉及到任务下发,数据处理和上报等过程,这里不介绍其他模块,只介绍收集部分。
一、怎么判断linux主机密码是否是弱密码
首先linux下面的密码保存在passwd和shadow文件中,其中passwd文件保存账户名,shadow文件保存密码hash值,只有root权限才能看到shadow文件内容
然后linux下密码hash格式如下:
$6$wYvk1x5b$YmSYE85080W5okRftVVJgxcmT/qRaJK4e07UkxhnX4gtNy3/hwFPEbpJ9P1G4qqMnWk0eaxuMfoLtnFsfm5HX1
其中黄色部分代表加密方式:
(1)如果密码不是以$开头,则密码是以EDS加密,文本全部为密文(暂时没有见到)
(2)如果密码以$1开头,表示使用MD5加密,加密后是22个字符
(3)如果密码以$2a开头,表示使用Blowfish加密(暂时没有见到)
(4)如果密码以$5开头,表示使用SHA256加密,加密后是43个字符
(5)如果密码以$6开头,表示使用SHA512加密,加密后是86个字符