HackTheBox | Pandora
nmap扫描,开放22、80
扫描UDP端口,开放161端口,对应snmp V1
访问web服务
dirsearch目录扫描,没有发现异常
使用snmpwalk
进行枚举,看到了用户名Daniel
在漫长的枚举过程中,大概到进程部分,看到了用户名和密码daniel/HotelBabylon23
使用该用户名和密码成功登录
检查用户,发现还有个用户matt
上传LinEnum.sh
进行信息收集,没有看到有用信息,但是获取到了一个目录/var/www/pandora/pandora_console/
进入目录下,看到用户权限为matt
检查网络信息,也没有看到其他端口开放
尝试curl本地的80端口,发现和外部访问结果不同
检查apache服务的配置文件,在sites-enabled路径下存在pandora.conf
,其中指定了仅在本地开放80端口
上传端口转发工具gost,进行端口转发后,访问到了Pandora FMS
,在页面最下方获取到了版本号v7.0NG.742_FIX_PERL2020
使用前面获取到的用户名和密码登录,但是失败
找到一个exp,https://github.com/UNICORDev/exploit-CVE-2020-5844,但是利用条件中要求使用用户名密码登录或拿到PHPSESSID
另外找到一个SQL注入漏洞,https://sploitus.com/exploit?id=100B9151-5B50-532E-BF69-74864F32DB02,漏洞利用页面为/pandora_console/include/chart_generator.php
,可以bypass login
使用payload成功绕过登录
http://10.10.11.136:1080/pandora_console/include/chart_generator.php?session_id=a%27%20UNION%20SELECT%20%27a%27,1,%27id_usuario|s:5:%22admin%22;%27%20as%20data%20FROM%20tsessions_php%20WHERE%20%271%27=%271
获取cookie中的PHPSESSID
使用前面获取到的exp,成功命令执行
反弹shell
检查SUID文件,找到/usr/bin/pandora_backup
直接执行,出现报错;但是pandora_backup本身是SUID置位的,应该具备root的权限
强行查看源代码,找到会执行的语句tar -cvf /root/.backup/pandora-backup.tar.gz /var/www/pandora/pandora_console/*
看wp之后发现涉及到restricted shell
,https://www.freebuf.com/articles/system/188989.html
使用ssh绕过
将本地的SSH公钥写到matt用户的authorized_keys中,然后利用ssh公钥进行登录
此时再执行pandora_backup,能够成功执行
因为调用了tar,所以可以创建一个虚假的tar,然后修改环境变量,再次执行pandora_backup,成功拿到root权限