Vulnhub打靶-DC-1

基本信息

靶机下载:https://download.vulnhub.com/dc/DC-1.zip

攻击机器:192.168.20.128(Windows操作系统)& 192.168.20.138(kali)

靶机:192.168.20.0/24

目标:获取2个flag+root权限

具体流程

信息收集

老样子首先使用arp-scan -l对主机进行探活,发现主机IP为192.168.20.152

之后对开放的端口进行扫描,执行nmap -O -sV -p- -A 192.168.20.152,结果如下所示

我们发现开放了228011142289端口,我们暂时先去看看80端口给我们提供了什么有效的信息

我们发现其存在robots.txt,我们访问robots.txt,看看有没有什么关键信息,探寻了一圈后并没有发现什么有价值的信息,虽然那些文件都可以被访问到,但是并没有什么鸟用,然后我去网上搜了一下Drupal框架的历史漏洞,有一个CVE-2018-7600远程代码执行漏洞和CVE-2019-6340远程代码执行漏洞,但是网上的POC都没有什么用,如下所示

这个时候我们尝试使用msf上自带的漏洞攻击模块进行攻击,看看有没有能成功拿权限的漏洞

MSF上线

首先我们使用whatweb查看一下版本号,这是kali自带的工具

我们可以知道这是Drupal 7 版本的,我们首先使用search Drupal 7查找和这个cms系统相关的漏洞,如下所示

这里我们选择payload 1,我们输入use 1即可

set rhosts 192.168.20.152
run

之后我们直接拿shell权限即可,我们输入shell,为了获得交互式控制,我们输入如下语句

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

实现交互shell,如下所示

这里我们找到第一个flag,flag1.txt,我们直接读取即可

Every good CMS needs a config file - and so do you.

权限提升

我们这里执行find / -perm -u=s -type f 2>/dev/null看是否存在suid提权

这里面很显然是使用find进行suid提权,我们首先在当前目录下创建一个.sh文件

touch ssh.sh
find ssh.sh -exec "/bin/sh" \;

执行后我们就可以发现成功提权

我们成功拿到最后的flag

Well done!!!!

Hopefully you've enjoyed this and learned some new skills.

You can let me know what you thought of this little journey
by contacting me via Twitter - @DCAU7

当时我们还有flag2flag3以及flag4没找到,我们在home目录下发现一个flag4用户,下面有一个flag4.txt,我们尝试读取

Can you use this same method to find or access the flag in root?

Probably. But perhaps it's not that easy.  Or maybe it is?

我们试着使用find命令查找剩余的两个flag

find / -name "*flag*"

并没有发现其他两个flag的信息,我们看看flag1的提示吧,这几个flag应该是有递进关系的,第一个flag提示我们去config文件中看看,我们去找这个cms的配置文件即可

我们在网上可以查询到dural的配置文件位置,/sites/default/settings.php,我们直接访问这个文件,发现里面确实存在flag2

Brute force and dictionary attacks aren't the
only ways to gain access (and you WILL need access).
What can you do with these credentials?

同时获得了数据库的账户密码,我们直接连接数据库

mysql -h localhost -u dbuser -pR0ck3t

我们在数据库中确实找到了管理员的登录账号密码,但是被加密了

通过flag2我们知道不能爆破密码,那我们就只剩下修改密码了,因为我们有数据库权限,我们可以直接讲修改的密码更新到数据库中,我们先尝试注册一个密码为123456的用户,然后直接在数据库里更新admin的密码,但是我们根本注册不了新用户,因为注册用户需要邮箱接收验证码,但是我们的邮箱并不能接收到验证码,所以我们只能尝试去找一找是怎么加密的了

我们直接运行相关命令,如下所示

php scripts/password-hash.sh 123456

加密出来$S$DBdjFBevhOwTeP.UcmRJMfef2lfNMPYS3ykCOaG2UKTkE2gCEAiL,我们直接在数据库中执行

update drupaldb.users set pass="$S$DBdjFBevhOwTeP.UcmRJMfef2lfNMPYS3ykCOaG2UKTkE2gCEAiL" where name='admin';

之后我们尝试登录即可

成功发现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.

至此所有flag都被成功找到

总结

  1. 框架漏洞的发现和利用
  2. 利用cms的特性进行管理员密码的更改
相关推荐
H轨迹H5 小时前
SolidState靶机通关教程及提权
网络安全·渗透测试·靶机·oscp
风间琉璃""7 小时前
bugkctf 渗透测试1超详细版
数据库·web安全·网络安全·渗透测试·内网·安全工具
H轨迹H1 天前
#渗透测试 kioptix level 2靶机通关教程及提权
网络安全·渗透测试·oscp
独行soc2 天前
#渗透测试#漏洞挖掘#红蓝攻防#护网#sql注入介绍08-基于时间延迟的SQL注入(Time-Based SQL Injection)
数据库·sql·安全·渗透测试·漏洞挖掘
学习溢出2 天前
【网络安全】逆向工程 练习示例
网络·安全·网络安全·渗透测试·逆向工程
轨迹H3 天前
kali设置中文输入法
linux·网络安全·渗透测试·kali
H轨迹H6 天前
一文学会powshell使用及功能
网络安全·渗透测试·powershell·红队全栈
学习溢出6 天前
【网络安全】掌握 Active Directory 攻防审计实操知识点
网络·安全·web安全·网络安全·渗透测试
白帽子黑客罗哥6 天前
Web安全攻防入门教程——hvv行动详解
安全·web安全·网络安全·渗透测试·系统安全·红蓝对抗
Sunset-_7 天前
sunset: midnight
web安全·网络安全·渗透测试