温馨提示×

Linux exploit常见类型解析

小樊
34
2025-12-02 04:16:48
栏目: 智能运维

Linux 常见 Exploit 类型与防护要点

一 内存破坏类

  • 栈溢出:向栈帧写入超量数据,覆盖返回地址函数指针,劫持执行流,常用于获取本地代码执行
  • 堆溢出:破坏堆元数据或对象布局,实现任意写或函数指针篡改,进而执行代码。
  • 格式化字符串漏洞:滥用printf 族函数读取/写入任意内存,泄露敏感数据或改写关键指针。
  • 整数溢出:无符号/有符号整数上溢/下溢导致分配大小错误边界检查绕过,可能触发溢出或越界访问。
  • 典型防护:启用Stack CanaryASLRDEP/NXPIE,并进行边界检查安全编码

二 权限提升类

  • 内核漏洞提权:利用内核缺陷(如CVE-2016-5195 Dirty COW)在内核态执行代码,修改cred 结构获取root
  • SUID/GUID 滥用:对root 所有且设置SUID的可执行文件(如 find、vim、bash 等)进行功能滥用,直接获得高权限 Shell。
  • sudo 配置错误:将高危命令(如 find、python、perl)以NOPASSWD或宽松规则授予普通用户,导致以root身份执行任意命令。
  • 计划任务与可写脚本:可写**/etc/crontab/etc/cron.*/脚本/目录,低权用户可注入代码由root**定时执行。
  • NFS 提权:导出目录开启no_root_squash时,远程root在客户端保持root权限,写入SUID root二进制即可本地提权。
  • 典型防护:最小化SUID/GUID、审计sudoers、加固cron、限制NFS导出为root_squash

三 命令注入与代码执行类

  • 命令注入:在 Web/服务参数中拼接系统命令(如**; | & $(…)),由shell**解析执行,获取系统控制权。
  • 远程代码执行 RCE:通过反序列化、模板注入、文件上传解析器缺陷等在目标上执行任意代码。
  • SQL 注入:构造恶意 SQL 语句读写/篡改数据库,严重时可写WebShell或导出敏感数据。
  • 文件包含漏洞:利用include/require等动态包含机制加载恶意文件(本地/远程),实现代码执行。
  • WebShell:上传或注入脚本(如 PHP、JSP)形成持久化命令执行入口。
  • 典型防护:使用参数化查询/预编译输入校验与白名单禁用危险函数分离 Web 与执行环境最小权限运行

四 服务与协议类

  • ShellshockBash在处理环境变量时的代码注入缺陷,可通过CGI等触发远程命令执行。
  • HeartbleedOpenSSL心跳扩展越界读取,泄露进程内存私钥等敏感信息。
  • 拒绝服务 DoS/DDoS:利用协议/实现缺陷或流量洪泛耗尽资源,导致服务不可用。
  • SYN 洪泛:耗尽半连接队列,阻断正常 TCP 建连。
  • SSH 暴力破解:穷举口令获取登录权限,进一步横向移动或提权。
  • 中间人攻击 MITM:在明文/弱加密链路中拦截/篡改通信(如 ARP 欺骗、DNS 欺骗)。
  • 典型防护:升级组件(Bash/OpenSSL)、启用密钥登录登录失败限制、部署防火墙/IPS/抗 DDoS、使用HTTPS/TLS

五 防御与检测要点

  • 及时更新与补丁管理:内核、中间件、Web 框架与依赖库保持最新安全补丁;关键系统可用内核热补丁减少重启窗口。
  • 最小权限与隔离:禁用不必要的SUID/GUID服务,分权分域,容器/命名空间隔离,限制root直接登录。
  • 强化边界与认证:仅开放必要端口与协议,启用密钥认证多因素认证登录审计速率限制
  • 内存与执行防护:启用ASLR/DEP/NX/Stack Canary/PIE,对关键应用采用地址空间隔离沙箱
  • 配置审计与基线:定期核查**/etc/crontab、/etc/cron.*、/etc/sudoers、NFS 导出、SUID 文件**,使用自动化巡检脚本(如 LinPEAS、Linux_Exploit_Suggester)识别风险。
  • 入侵检测与响应:集中日志(auditd、journald)、主机与网络IDS/IPS、文件完整性监控(FIM)与行为检测,建立应急与取证流程。

0