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 提权的各种方法。 (编辑:财气旺网 - 财气网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐

