Linux exploit有哪些利用技巧
小樊
32
2025-12-10 01:10:42
Linux Exploit 利用技巧全景
一 信息收集与版本指纹
- 快速指纹:使用命令获取内核版本/架构与发行版,如:
uname -a、uname -r、cat /etc/os-release、cat /proc/version,为后续匹配CVE/EXP做准备。
- 自动化枚举:上传并执行信息收集脚本,如LinEnum、linuxprivchecker,以及漏洞建议工具linux-exploit-suggester / linux-exploit-suggester-2,快速定位可疑内核LPE、SUID/SGID、sudo配置等问题。
- 离线漏洞库:利用searchsploit(Exploit-DB 离线工具)检索与目标内核/发行版匹配的本地提权利用,例如:
searchsploit linux 3.13.0 ubuntu、searchsploit dirtycow。
二 内核本地提权 LPE
- 典型思路:定位版本缺陷→下载/编译EXP→执行获取root shell。常用命令:
gcc exploit.c -o exploit -pthread && ./exploit。
- 经典案例:
- Dirty COW(CVE-2016-5195):利用写时复制竞争条件,影响广泛旧内核,常见于各类练习与遗留系统。
- Dirty Pipe(CVE-2022-0847):影响5.8之前内核,通过管道机制污染页缓存实现提权。
- OverlayFS 提权:如 Ubuntu 3.13.0–3.19 上的本地提权,利用挂载命名空间与权限检查缺陷。
- 辅助资源:结合searchsploit与 Exploit-DB/GitHub 检索对应CVE的公开利用代码与说明。
三 滥用特权程序与配置缺陷
- SUID/SGID 滥用:查找并设置不当的特权二进制,如:
find / -perm -u=s -type f 2>/dev/null。常见可滥用程序与手法:
find /tmp -exec /bin/sh -p \; -quit(以root权限执行命令)
nmap --interactive → !sh(旧版 Nmap 交互模式执行 shell)
vim.tiny → :set shell=/bin/sh → :shell(利用编辑器以特权启动 shell)
bash -p(忽略环境限制,保留特权)
- sudo 配置错误:检查
/etc/sudoers 与 sudo -l 输出,若配置为ALL=(ALL) NOPASSWD或允许以root执行可控命令,可直接提权;历史上如 CVE-2021-3156(Baron Samedit) 属于此类风险点。
- 计划任务与系统服务:关注Cron条目、systemd服务与脚本的可写/可劫持路径、PATH滥用与相对路径执行,可能导致低权用户以root身份运行任意代码。
四 服务与组件漏洞利用
- 远程代码执行类:
- Samba usermap_script(Metasploit 模块:exploit/multi/samba/usermap_script),利用低版本 Samba 映射脚本执行命令。
- Bash Shellshock(CVE-2014-6271):通过环境变量函数定义注入,在调用 CGI 等场景触发任意命令执行。
- 其他常见入口:PHP CGI、Java RMI Server、Ingreslock 后门、NFS 导出共享信息泄露等,常配合端口与服务指纹识别进行定向利用。
五 防护要点与检测清单
- 及时更新与补丁:保持内核/系统/中间件为最新;关键系统可采用**内核热补丁(Kernel Live Patching)**减少重启窗口。
- 最小化特权:清理不必要的SUID/SGID,对
sudoers 实施最小权限与绝对路径规范,定期审计 sudo -l 与 /etc/sudoers。
- 强化定时任务与服务:对Cron与systemd单元使用绝对路径、限制可写目录与可修改脚本,避免PATH劫持。
- 加固网络服务:禁用或升级存在漏洞的老旧服务(如低版本 Samba),对外部暴露面进行最小化与隔离。
- 持续监测与审计:启用auditd记录关键文件与权限变更,定期运行LinEnum/linuxprivchecker/linux-exploit-suggester进行自检,关注CVE通告与补丁节奏。
合规与安全提示
- 本内容仅用于授权的安全测试与防护研究。对未授权系统进行测试或利用属于违法行为,可能导致数据泄露、业务中断与法律责任。在实际环境中,请务必取得明确书面授权,并在可控的测试环境中复现与验证。