HTB靶机:Pandora
HTB靶机:Pandora
信息收集
#使用 nmap对靶机进行端口扫描并保存到nmap文件中 |
发现目标开启22,80端口
在对网站功能测试后,发现没有什么利用的,可能就是一个静态页面,因此使用工具对网站目录进行枚举。发现存在一个assets的目录。测试也没有可利用的。
重新使用nmap对靶机进行udp探测
nmap -sC -sV -sU -top-ports=20 pandora.htb -oN >./udp |
发现靶机开启snmp服务,我们尝试监听改服务
sudo snmpwalk -v 2c pandora.htb -c public > snmp |
过滤查询获得用户名和密码:
daniel |
尝试进行ssh登录
登录成功!现如今获取到一个用户shell,但是该用户没有任何文件,我们切换到home文件夹下,我们发现存在一个matt用户。且我们没法进入matt,接下来我们目标很明确,我们就是尝试获取到matt的shell。
我们将linpeas下载到该主机上。发现本地跑的有服务,我们这里尝试将流量转发到我们本机。
ssh -L 80:127.0.0.1:80 daniel@pandora.htb |
#或者使用chisel进行流量转发 |
进行本地服务扫描,发现只存在这个界面,然后我们查询版本号,查询相关漏洞。
rustscan -a 127.0.0.1 #使用rustscan更快点 |
相关漏洞:https://nvd.nist.gov/vuln/detail/CVE-2020-26518#range-6019001
分析:https://blog.sonarsource.com/pandora-fms-742-critical-code-vulnerabilities-explained
poc但是,是msf的,我不想用msf:https://packetstormsecurity.com/files/158390/Pandora-FMS-7.0-NG-7XX-Remote-Command-Execution.html
我们这里使用这个exp:
#先sqlmap尝试(本题可有可没有) |
通过以上操作,我们就可以进入后台
到了后台我们可以发现存在文件上传漏洞,我们编写反弹shell。
成功弹回shell。如果机器存在,我们利用python来获取一个完整的交互式shell
python3 -c 'import pty;pty.spawn("/bin/bash")' |
到了这里我们就获取到matt的shell了。
提权
我们利用linpeas时,发现可以写ssh。那么我们可以利用这个提权。
上面的/usr/bin/pandora_backup可利用。
#生成ssh |
matt的用户目录,然后创建一个假的tar可执行文件,并将matt的家路径注入PATH变量中,然后运行/usr/bin/pandora_backup文件,成功提权到root用户
(查看pandora_backup文件可知,他是一个具有解压功能的脚本)
cd /home/matt/ |
结语:
这个靶机偏向探测这块,从docker进去,到把内网流量转发出来,进行提权。很有意思。