Table of Contents
接下来我们的提权是利用 /etc/passwd 文件的可写入权限,导致我们写入一个其他用户进去。
首先,查看 /etc/passwd 的权限,发现任何用户都可以读写。为了实验需要如果没有写权限我们可以加一个进去
/ect/passwd
/etc/passwd,保存了操作系统中所有用户的信息,具体的字段信息就不说了
root:x:0:0:root:/root:/bin/bash
我们现在要做的就是自己构造一个用户,在密码占位符处指定密码,并且UID设置为0,将其添加到 /etc/passwd 文件中。
首先,使用perl语言(Linux自带)生成带有盐值的密码:
此时我们切换到一个普通用户,假装获取了一个低权限用户。然后执行下面这条命令,成功将test5用户的信息加入 /etc/passwd 文件
查看passwd字段可知,成功加入
以用户名:test5 密码: password@123 成功登陆主机,直接获取了root权限
总结 #
这个权限提升的前提是,/etc/passwd字段其他用户有写的权限,但是默认只有root可写,所以也是由于配置错误导致的漏洞发生。