加入收藏 | 设为首页 | 会员中心 | 我要投稿 财气旺网 - 财气网 (https://www.caiqiwang.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

linux root权限_入侵 Linux 系统的惯用姿势:11 种提权方式揭秘

发布时间:2022-10-14 13:02:28 所属栏目:Linux 来源:
导读:  大部分计算机系统都被设计为可以「多个用户一起使用」,其中就产生了管理员用户和普通用户。

  普通用户可以理解为使用者,他的权限只可以查看、编辑部分文件;而管理员的权限则可以对全部的文件进行「增删
  大部分计算机系统都被设计为可以「多个用户一起使用」,其中就产生了管理员用户和普通用户。
 
  普通用户可以理解为使用者,他的权限只可以查看、编辑部分文件;而管理员的权限则可以对全部的文件进行「增删改查」操作,甚至收集主机系统中的敏感信息,修改系统关键配置。
 
  在黑客的攻击渗透中,会想尽办法通过「某个漏洞」获取到目标主机系统上的一个 shell 用于执行系统命令,从而达到控制目标主机的目的。而当他获取到的初始 shell 为低权限用户时,需要想办法提升权限为高权限用户,这个过程就叫做系统权限提升,简称「提权」 。
 
  为什么要提权
 
  一次完整的渗透测试流程,应该包含以下 8 个步骤:
 
  主机发现 > 服务枚举 > 实施攻击 > 获取shell > 权限提升 > 权限维持 > 内网渗透 > 痕迹清除
 
  263e8bd9d8339829d374d1c87f313135.png
 
  可以看到所有的步骤都是围绕「提权」来进行的,高权限 shell 能带来以下好处:
 
  简而言之,提权能为渗透测试后期的工作带来便利。
 
  Linux 提权的 11 种方法
 
  Linux 提权的花样非常多,涉及的技术五花八门,大致分为以下 11 种方法:
 
  一、passwd 文件提权
 
  /etc/passwd 和 /etc/shadow 文件是 Linux 系统登录认证的关键文件,如果系统运维人员对 passwd 或 shadow 文件的内容或权限配置有误,则可以被利用来进行系统提权。通常来说,通过 /etc/passwd 提权的方法有两种:
 
  如果具有 /etc/passwd 的 w (写入) 权限,可以直接添加一个 root 权限的用户如果 /etc/passwd 中存储 root 用户密码哈希,可以使用 john 进行破解
 
  二、shadow 文件提权
 
  通过 /etc/shadow 提权的方法有两种:
 
  如果具有 /etc/shadow 的 w (写入) 权限,可以直接修改 root 密码如果具有 /etc/shadow 的 r (读取) 权限,可以通过读取 root 用户密码并使用 john 进行破解
 
  三、SUID 提权
 
  通常情况下,Linux 运行一个程序,是使用当前运行这个程序的用户权限,这种机制是非常合理的,但有一些程序比较特殊,比如我们常用的 ping 命令。
 
  ping 需要发送 ICMP 报文,这个操作需要发送 Raw Socketlinux渗透,而使用 Raw Socket 是需要 root 权限,那怎么才能让普通用户也能使用 ping 命令呢?这时候就要使用到 suid。
 
  suid 全称是 Set owner User ID up on execution , 即 —— 使文件在执行时拥有文件所有者的权限。
 
  试想,如果拥有 suid 权限(root)的某文件提供了文件修改、执行系统命令的功能,那就能被攻击者恶意利用来提升系统权限 —— 这就是 SUID 提权的原理。
 
  四、Cron Jobs 提权
 
  Cron Jobs 是 Linux 系统中的「定时任务」,常被用来安排那些需要周期性执行的命令,例如定期备份数据、定期清理缓存等功能,因为使用到 cron 工具(crontab),因此被称作 Cron Jobs。
 
  CronJobs 作为系统管理员最常用的功能之一,本身是非常棒的一个工具,但如果「定时任务」被设定为以更高的用户权限运行(例如 root 用户),则可能会被黑客利用来提权。
 
  五、通配符注入提权
 
  对 Linux 有一定了解的同学应该会知道通配符,通配符是一个字符或一组字符,可以用来替换某些范围 / 类别的字符。在实际的 Linux 提权中,我们使用到比较多的是 * 和 - 。
 
  六、sudo 提权
 
  在 Linux 中,sudo 命令的作用是让当前用户以 root 或其他用户身份(取决于 /etc/sudoers 文件配置)运行命令,sudo 这个词是「Super User Do root privilege task」的缩写。
 
  /etc/sudoers 就是 sudo 权限的配置文件,该文件用于配置具有 sudo 权限的用户和组,当你使用 sudo 运行任何命令时,Linux 系统会检查 sudoers 文件中配置的用户名或组,若当前用户和当前用户所在的用户组均不在 sudoers 文件中,则不能使用 sudo 命令。
 
  七、查找敏感文件提权
 
  有时候通过查找服务器上的 Web 配置文件,可以发现数据库的连接账户和密码。登录数据库后,通过收集数据库中存储的用户密码,并且管理员如果存在密码复用的情况,即可完成提权
 
  八、跳板用户提权
 
  有时候我们尝试了所有的方法,也无法直接提权到 root 权限,此时可以考虑先提权到其他用户,再通过其他用户的权限提权到 root 权限,而这个中间用户就被我称为 —— 跳板用户。
 
  九、内核漏洞提权
 
  Linux 内核漏洞可能会造成 Linux 系统崩溃、宕机,当前几种方法都无法成功提权时,可以考虑使用内核漏洞来提权。
 
  十、暴力破解提权
 
  最原始但有力的方法 —— 暴力破解。
 
  通常来说,可以通过两种途径暴力破解 root 用户的密码:
 
  通过 su 命令爆破 root 密码通过 SSH 协议爆破 root 密码
 
  十一、自动化提权工具
 
  最常用的 Linux 提权自动化辅助工具 —— LinEnum 和 linux-exploit-suggester,合理的使用自动化脚本,能大大节约我们的时间。
 
  如何学习?
 
  实验楼和爱安全学院合作推出了一门新课 ——《渗透测试方法论之 Linux 提权实战》,详细梳理了以上 11 种 Linux 系统的提权方法。你可以亲手演练,逐一攻破靶机,体验当黑客的感觉,同时掌握提权的方法和技巧。
 
  在课程中,每一种提权场景都会搭配相应的实战实验,帮助你更好的理解其中的原理。
  
  如果你正在备考 OSCP,课程完整覆盖了 OSCP 考试中的各种 Linux 提权场景,能帮助你更好的巩固这部分考试重点。
 
  如果你是渗透测试爱好者,这门课也能帮助你快速掌握 Linux 提权的各种方法。
 

(编辑:财气旺网 - 财气网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!