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的特性进行管理员密码的更改
相关推荐
go_to_hacker2 天前
AI进行全自动渗透
网络·web安全·网络安全·渗透测试·代码审计
vortex56 天前
如何为 Debian 和 Kali 系统更换软件源并更新系统
linux·运维·网络·网络安全·渗透测试·debian·kali
H轨迹H7 天前
Hack The Box-Chemistry靶机渗透
网络安全·渗透测试·kali·信息收集·web漏洞
H轨迹H9 天前
Hack The Box-Cap靶机
网络安全·渗透测试·kali·ftp·web漏洞·oscp
H轨迹H17 天前
Hack The Box-代理连接及靶机-Meow-喵呜
网络安全·渗透测试·hack the box·web漏洞
go_to_hacker17 天前
奇安信面试题
测试工具·安全·web安全·渗透测试
go_to_hacker18 天前
奇安信二面
网络·web安全·网络安全·渗透测试·代码审计·春招
轨迹H21 天前
sql-labs less-1-5wp
数据库·sql·网络安全·渗透测试·less·web漏洞
H轨迹H21 天前
Vulnhub-venom
网络安全·渗透测试·vulnhub·ctf·信息收集·web漏洞·oscp