linux账号密码破解与批量修改

目录

背景介绍

功能说明

脚本介绍


背景介绍

大厂的运维人员常常面临几千上万台服务器的运维,服务器一般有几个固定的密码。但是有时候会搞不清具体是哪个密码,十来个可能的密码需要一个个反复尝试非常苦恼。我本人前段时间所面临的问题,为此我写了以下的脚本完美解决了这个问题。

功能说明

1.从一个密码列表找出正确密码

2.通过试出来的密码对大批量服务器进行日常运维工作

脚本介绍

脚本依赖一个sshpass插件工具将密码作为参数传递,

pwds:常用密码列表

ips:要破解的ip列表

#!/bin/bash
function getPwd()
{
#列出所有可能的密码,用这些密码一个个去尝试登陆。如果登陆成功则证明密码正确,记录下此密码。
#另外如果原先设置了免密登录即使错误的密码也能登陆成功,因此需要设置第一个密码为错误密码来继续验证:abc
	cat >pwds<<eof1
abc
passwd1
passwd2
eof1
	
    while IFS= read -r ip
    do
		ssh-keyscan -H $ip  >> ~/.ssh/known_hosts
        echo "scanning $ip" >> scan.log
        while IFS= read -r pwd
        do
           timeout 1s sshpass -p $pwd  ssh  $ip "exit"  &&  echo -e "$ip\t$pwd" >> scan.log  && break
        done<pwds
    done<ips
	
	grep -v scanning scan.log >> pwds.txt
}

function changePwd()
{
        sshpass -p $2 ssh -tt  $1 << EOF
        echo "appuer_pwd"|passwd --stdin appuser
        echo "root_pwd"|passwd --stdin root
        history -c
        > /root/.bash_history
        exit 0
EOF
}


getPwd

while IFS= read -r line
do
        ip=`echo $line | awk -F ' ' '{print $1}'`
        pw=`echo $line | awk -F ' ' '{print $2}'`
        #changePW $ip $pw
		echo -e "\n\n"
		sshpass -p $2 ssh -tt  $1 << EOF
        chage -l root
		chage -l imodule
        history -c
        > /root/.bash_history
        exit 0
EOF
done<pwds.txt

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

雷柏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值