写入passwd提权

大多数linux系统的密码都和/etc/passwd和/etc/shadow这两个配置文件息息相关。
passwd里面储存了用户
shadow里面是密码的hash
出于安全考虑passwd是全用户可读,root可写的。shadow是仅root可读写的
典型的etc/passwd文件

52662-ikewr8pj4.png

passwd由冒号分割,第一列是用户名,第二列是密码,x代表密码hash被放在shadow里面了(这样非root就看不到了)。而shadow里面最重要的就是密码的hash

83609-aviev0cyn4c.png

查看权限

ls -l passwd shadow

12358-nutyc5xz0a8.png

如果passwd可写,我们就可以把root的密码字段(x)替换成一个已知密码的hash(比如本机shadow里面的root密码hash),这样系统在验证密码时以passwd的为准,密码就已知了。
如果shadow可读,我们可以读走root的hash,然后用hashcat或者john暴力破解之。
实例可参考DC4(利用不需要密码的root权限命令teehee执行直接写入 passwd)来获取root权限


本文由 wulaoban 创作,采用 知识共享署名 3.0,可自由转载、引用,但需署名作者且注明文章出处。

还不快抢沙发

添加新评论