在Linux / Unix中,/ etc中的sudoers文件是sudo权限的配置文件。我们都知道sudo命令的权力,字须藤表示小号 UPER ü SER d Øroot权限的任务。Sudoers文件是存储具有root用户权限的用户和组的文件,用于以root或其他用户身份运行某些或全部命令。
当你与sudo一起运行任何命令时,它需要执行root权限,Linux会在sudoers文件中检查特定的用户名。它的结论是,特定的用户名是否在sudoers文件列表中,如果不是,那么你不能使用sudo命令运行命令或程序。根据sudo权限,root用户可以从所有终端执行,充当所有用户:ALL组,并运行ALL命令。
如果你(root用户)希望授予sudo权限给任何特定的用户,那么输入visudo命令将打开sudoers文件进行编辑。在“用户权限规范”,你会看到默认root权限“ 根ALL =(ALL:ALL) ”,但在实际的,有标签的选项也可以是可选的。
注意:
让我们开始!!
首先,创建一个不应该是sudo组用户的用户。这里我们添加了用户“cesafe”,他的UID是1002,GID是1002,因此cesafe是非root用户。
如果系统管理员想要授予用户cesafe的所有权限,那么他可以按照以下步骤在User Privilege Specification类别下添加用户cesafe
另一方面启动你的攻击机并首先破坏目标系统,然后进入特权升级阶段。假设你通过ssh成功登录到受害者的机器并想知道当前用户的sudo权限,然后执行下面的命令。
在传统方法中,在执行上述命令时启用PASSWD选项用于用户认证,并且可以使用NOPASSWD标记禁用该选项。突出显示的文本表示当前用户有权执行所有命令。因此,我们通过执行命令获得了根访问权限。
默认方法来分配Root权限
如果系统管理员想给用户cesafe root权限以执行所有命令和程序,那么他可以按照以下步骤在User Privilege Specification类别下添加用户cesafe
在这里,您可以感知突出显示的文本,这代表用户cesafe可以以root用户身份运行所有命令。因此我们可以通过执行更多的下行步骤来实现root访问。
允许Root权限转换为二进制命令
有时用户有权执行特定目录的任何文件或命令,例如/ bin / cp,/ bin / cat或/ usr / bin / find,这种类型的权限会导致root权限升级,并且它可以是在以下步骤的帮助下实施。
注意:在运行sudo -l命令时,用户会请求这个NOPASSWD标记,表示没有密码。
使用Find命令产生Root Access
再次危害受害者的系统,然后进入特权升级阶段并执行以下命令查看sudo用户列表。
此时,您可以注意到突出显示的文本表明用户raaz可以通过find命令运行任何命令。因此,我们通过执行以下命令获得了root访问权
允许根转化为二进制程序
有时,管理员会为特定用户分配微妙的权限以运行二进制程序,该程序允许用户编辑任何系统文件,例如/ etc / passwd等。如果授权给用户,某些二进制程序可能导致权限升级。在下面给出的命令中,我们已经将sudo权限分配给以下可以作为root用户运行的程序。
使用Perl单线程产生shell
在特权时,升级阶段执行以下命令来查看sudo用户列表。
现在您可以观察到突出显示的文本显示用户cesafe可以以root用户身份运行Perl语言程序或脚本。因此,我们通过执行Perl一行来获得root权限。
使用Python单线程产生shell
在破坏目标系统之后,如上所述进入特权升级阶段并在命令下执行以查看sudo用户列表。
此时,您可以感知突出显示的文本表明用户cesafe可以root用户身份运行Python语言程序或脚本。因此,我们通过执行Python单行获取root访问权限。
使用Less命令产生shell
对于权限,升级阶段在命令下执行以查看sudo用户列表。
在这里,您可以观察突出显示的文本,指出用户raaz可以以root用户身份运行较少的命令。因此,我们通过执行以下操作来获得root
它会打开请求的系统文件进行编辑,但是如下所示产生根shell类型!bash 然后回车。