linux通过java获取root权限_通过可写文件获取Linux root权限的5种方法

Linux系统中,全部都是以文件形式存在的,包括目录、设备都是有权限的,共有读、写、可执行三种。管理员为文件设置好权限后,应该要考虑哪些Linux用户会被允许和限制上述的三个权限。

通过可写脚本进行root提取的5种方法:

·复制 /bin/sh 到 /tmp

·设定 /bin/dash的SUID位

·通过sudoer给登录用户完全的权限

·设定/bin/cp的SUID位

·逆向连接到恶意代码

3160e9ea34c8c0306ad3d9a31684d2f5.png

开启攻击机器,黑掉目标系统,然后进行权限提升。假设成功地通过ssh登录到受害者的机器,并可以访问非root的用户终端。然后使用下面的命令,下面会举例所有有写权限的二进制文件。

c72ae9014b40d34cbc80136cd55d3614.png

可以看到一个/lib/log中保存的python文件,在路径中我们看到了sanitizer.py文件的权限为777。

0c5536c5bd3a05038d2c81b19c274027.png

Admin要将下面的脚本加入,来清理/tmp中的垃圾文件。如果攻击者能够识别受害者机器中的这类情形,就可以通过下面的方式来提升root权限来破坏系统。

01dfc4fe7903f39b4e4c86ffecc97e39.png

第一种方法

有许多的方法可以获取root权限,本方法中,我们将/bin/sh复制到/tmp文件夹中,然后设置/tmp/sh的SUID。这种方式非常简单,首先,通过nano编辑器打开文件,然后用rm -r /tmp/* 替换下面的命令:

4b858973a0617ac38064c5e2ce2d8283.png

在/tmp目录创建一个有SUID权限的sh文件后,允许sh文件时会有root访问权限。

b0b3abc80e7bbb03303bf54a79379bb0.png

可以通过下面的图片进行确认:

294130859f68d2077f83e6c5d80f5110.png

第二种方法

同样地,可以用rm -r /tmp/* 替换下面行的内容

d58d93f7cf0b4f74dc1245aabfd7c71c.png

在设置了/bin/dash的SUID权限后,运行后就可以获取root权限

69d83fa81e7dcc83fe194298ecc1126c.png

可以通过下面的图进行确认:

eafb6f9ad52f1574856c45699ead6591.png

第三种方法

4ce45cfaa727a49751f866e7f4fd2f4a.png

通过netcat逆向了连接后,就可以获取root权限。

可以通过下面的图进行确认:

dcc39d7b96b83985e9899080400435ee.png

第4种方法

另一个方法是给登录的用户sudo权限。下面的图中可以看出当前用户wernerbrandes不能允许sudo命令。

a22ae11d0d8d6e3f31caff595faeb273.png

同样地,可以在下面替换rm -r /tmp/*

2ba9b4046f26fb39359e8f7fc723fd5a.png

当输入“sudo -l”命令时会发现,这是sudo用户的一个成员。可以利用sudo bash来获取root权限。

8d4a677ed576fdd9ffa1384bab422657.png

第5种方法

因为在linux类系统中,passwd文件起着很重要的作用。所以,如果攻击者有机会修改passwd文件,那么这将会成为一种动态的权限提升的方式。

同样地,可以利用cat命令查看etc/passwd文件的内容。

UID:1000 & GID:1000 就是admin组队成员。下面编辑一下nemo记录来使其成为root组成员,选择etc/passwd的整个内容并复制粘贴到空text文件中。

0591c0a319e7a3c52701c0ebdf01df85.png

然后,在一个新的终端上生成一个含salt的密码,然后复制。

79f754815d2d3e1dbc4efcc36a249657.png

然后粘贴之前复制的含salt的密码在用户nemo的记录词条的X位置处,并修改UID&GID为0:0。完成上面的步骤后,我们就可以将其保存为passwd。

227593dddca5aa174422ca2d82c701bc.png

利用可写的脚本替换 “rm -r /tmp/*”

f45977a9e24a511c6dd49ee9014f09af.png

设置/bin/cp的SUID来复制文件。

2e212a2f0514cc3798520c723fef857e.png

将修改后的passwd文件下载受害者机器的/tmp文件夹中。用下面的命令检查/bin/cp的SUID位是否开启。

ff40b595b97ab57f9be588d92c60137c.png

下面确认是否改变了passwd文件的内容:

a19b5946ec01692b6394c419f8bd3a1c.png

可以看出passwd文件中的变化:

6f2730206b00c99230010c7372f2109c.png

可以执行下面的命令来获取root权限:

42f54c51707111a39757616ac8783c43.png

本文证明了攻击者如何通过可写文件进行linux系统权限提升。

【编辑推荐】

【责任编辑:武晓燕 TEL:(010)68476606】

表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
相关推荐
©️2020 CSDN 皮肤主题: 深蓝海洋 设计师:CSDN官方博客 返回首页