Linux Exploit的常见类型有哪些
小樊
38
2025-11-30 05:04:38
Linux Exploit 的常见类型
一 按漏洞成因分类
- 内存破坏类:包括栈溢出、堆溢出、格式化字符串、整数溢出、释放后使用 UAF、数组越界等,可能导致任意代码执行或信息泄露。
- 权限与配置类:如SUID/SGID 滥用、sudo 配置错误、定时任务 cron 可写/可劫持、NFS root_squash 关闭等,容易被本地低权限用户用于提权。
- 内核漏洞类:典型如脏牛 CVE-2016-5195(竞态条件导致写只读映射)、CVE-2016-0728(UAF)、CVE-2013-2094(任意地址写入/越界写),可获取root权限。
- 服务与组件漏洞类:如ShellShock(Bash 环境变量注入)、Heartbleed(OpenSSL 信息泄露)、各类第三方服务/组件漏洞,常被用于远程代码执行或敏感信息泄露。
- 认证与会话类:弱口令/暴力破解、SSH 配置不当、登录态劫持/凭证重用等,常作为入侵起点或横向移动入口。
- Web 应用类:SQL 注入、XSS、文件包含/路径遍历等,在存在 Web 服务的 Linux 主机上尤为常见。
二 按利用技术与执行方式分类
- 本地代码执行与提权:通过二进制漏洞或配置缺陷在目标上直接执行代码,实现从普通用户到root的本地提权 LPE。
- 远程代码执行 RCE:借助服务/组件漏洞在未认证或弱认证条件下远程执行命令或载荷。
- 无文件攻击 Fileless:利用**/proc、mmap、memfd、LD_PRELOAD**等在内存中加载与执行,减少落地文件痕迹。
- 绕过内存防护的 ROP/JOP/Return-to-libc:在开启NX/DEP等保护时,通过gadget 链或返回到libc函数实现代码执行。
- 权限提升链:组合内核漏洞 + 配置错误 + 服务弱点形成多步提权路径,扩大控制范围。
三 典型利用链示例
- 场景:SSH 弱口令获取低权限 shell → 发现SUID 程序或可写 cron 脚本 → 利用本地提权拿到root。
- 场景:Web 应用存在文件包含/命令注入 → 上传或加载恶意共享库(如LD_PRELOAD)→ 以服务身份执行代码 → 横向移动或提权。
四 防护要点
- 及时打补丁与最小化安装:内核、glibc、OpenSSL、bash、sudo、sshd 等关键组件保持更新;关闭不必要的服务与端口。
- 加固认证与会话:禁用root 远程登录,强制SSH 公钥认证,限制登录来源 IP,启用失败锁定/验证码。
- 严格权限与文件管控:清理不必要的SUID/SGID,锁定**/etc/cron*、/var/spool/cron等敏感路径,谨慎配置NFS root_squash**。
- 内存与执行防护:启用NX/DEP、ASLR、PIE、RELRO,限制LD_PRELOAD与动态加载,部署EDR/内存异常检测。
- 网络与边界控制:使用防火墙/ACL最小化暴露面,分段与微分段,阻断不必要出站连接。
- 检测与响应:集中审计auth/secure 日志与命令历史,监控**/proc、cron、systemd异常,开展漏洞扫描与渗透测试**闭环整改。