【Vulnhub靶机渗透测试】之DC-1 (SUID提权)

本文围绕Vulnhub靶机DC - 1展开渗透测试。先搭建环境,将靶机与kali攻击机置于同一局域网。接着进行信息收集,确定靶机IP、网站CMS类型及开放端口。然后利用metasploit针对drupal漏洞攻击,获取多个flag并尝试登录数据库。最后通过SUID提权,成功拿到最终flag。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Vulnhub靶机渗透测试之DC-1


  • 环境搭建
  1. 靶机镜像下载地址:https://www.vulnhub.com/entry/dc-1,292/

  2. 需要将靶机和kali攻击机放在同一个局域网里;

  3. kali的IP地址:192.168.40.131。

1. 信息收集

  1. 使用 nmap 扫描 192.168.40.0/24 网段存活主机

在这里插入图片描述

简单分析可知,靶机ip为 192.168.40.141

  1. web指纹识别

在这里插入图片描述

发现该网站是drupal,属于cms系统之一

  1. 使用 nmap 扫描常用端口

在这里插入图片描述

发现开放22、80端口;浏览器访问80端口:

在这里插入图片描述

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

在这里插入图片描述

2. 漏洞利用

我们使用metasploit对漏洞进行利用。

  1. 启动metasploit,搜索drupal模块。

在这里插入图片描述

经测试可以采用2018-03-28漏洞:

在这里插入图片描述

  1. 配置好参数,开始攻击。

set payload:

在这里插入图片描述
在这里插入图片描述

设置RHOSTS和LHOST:

在这里插入图片描述

开始攻击:成功建立会话

在这里插入图片描述

查看网站目录结构,发现flag1:

在这里插入图片描述

查看flag1.txt,给我们的提示信息:需要一个config file

在这里插入图片描述

  1. 进入系统下的shell

在这里插入图片描述

很显然这个shell虽然已经进入,但是这里并不是交互的shell,所以我们要进入交互式的shell,使用python反弹一个交互式shell:

在这里插入图片描述

  1. 既然是一个web应用,我们可以查找一下数据库的相关配置

在这里插入图片描述

发现flag2,数据库名、数据库用户/密码;

登录mysql数据库,查看表找到用户表获取密码:

在这里插入图片描述

show tables:查看数据库的表

在这里插入图片描述

查看users表:select * from users\G;

在这里插入图片描述

发现两个用户,但密码都是加密的且不好破解,所以我们选择使用一个我们已知的密文把它覆盖掉;用php下的一个脚本将123456加密:

在这里插入图片描述
修改admin的密码:

在这里插入图片描述

登录网站:

在这里插入图片描述
在这里插入图片描述

在Dashboard中发现flag3给的提示:特殊的PERMS将帮助找到passwd

在这里插入图片描述

  1. 查看etc/passwd文件

在这里插入图片描述

发现flag4,该服务器开放了22端口,我们可以使用九头蛇工具爆破密码:

hydra -l flag4 -P /usr/share/john/password.lst 192.168.40.141 ssh -vV -f -o hydra.ssh

爆破结果:

在这里插入图片描述

使用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 命令路径,增加权限
  1. 查找哪些命令具备SUID标识

相关命令:

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

在这里插入图片描述

  1. 我们随便找一个命令看它是否拥有s权限
    比如比较熟悉的find命令,先查看其信息:

在这里插入图片描述
发现其确实是root用户权限的SUID的文件find命令拥有s权限。

  1. 再利用find命令随便查找一个正确的文件(夹)路径,后面加上 -exec shell命令 \;
flag4@DC-1:/bin$ /usr/bin/find bash -exec whoami \;
root
flag4@DC-1:/bin$ /usr/bin/find bash -exec ping 127.0.0.1 \;
PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data.
64 bytes from 127.0.0.1: icmp_req=1 ttl=64 time=0.279 ms
64 bytes from 127.0.0.1: icmp_req=2 ttl=64 time=0.016 ms
64 bytes from 127.0.0.1: icmp_req=3 ttl=64 time=0.050 ms
...

发现确实可以以root权限运行。

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

在这里插入图片描述

成功提权!拿到最后一个falg!

### VulnHub DC-1 渗透测试实验环境下载与指导 #### 实验环境概述 VulnHub上的DC-1是一个面向初学者的虚拟机镜像,旨在供一个安全的学习环境来练习基本的渗透测试技能。该靶机运行Ubuntu操作系统,并部署了一个存在多个漏洞的应用程序——Drupal 7网站。 #### 下载指南 为了获取DC-1的实验环境,访问[VulnHub官方网站](https://www.vulnhub.com/)并搜索“DC-1”。按照页面指示下载对应的OVA文件,此文件适用于VirtualBox或VMware等虚拟化软件安装使用[^1]。 #### 测试前准备 确保攻击者使用的Kali Linux系统已经正确配置网络设置以便能够与目标机器通信。通常情况下,建议采用NAT模式或者桥接模式连接至同一局域网内[^2]。 #### 初始信息收集 启动虚拟机之后,可以先执行简单的主机发现操作,比如使用`ping`命令确认目标存活状态;接着运用工具如`nmap`进行全面端口和服务扫描: ```bash nmap -A 192.168.189.172 ``` 上述命令将会返回有关开放端口以及可能存在的服务版本的信息,这对于后续攻击路径的选择至关重要[^3]。 #### Web应用分析 根据前期侦察得知,Web服务器托管着一个Drupal CMS实例。考虑到这是较旧版本(Drupal 7),可能存在已知的安全缺陷。此时可查阅CVE数据库或其他资源了解针对此类系统的具体攻击向量[^4]。 #### 获取初始Shell 一旦识别到可用漏洞,则可通过Metasploit框架快速建立远程会话。例如,如果选择了某个适合于Drupal 7.x的exploit模块,那么只需指定RHOST参数指向受害者的IP地址即可尝试入侵[^5]。 #### 限 成功植入后门并不意味着结束战斗。接下来的任务是要设法升当前用户的限级别直至root账户。这一步骤往往涉及寻找具有SUID位设定的二进制文件并通过它们实施本地技巧。例如,利用`find`命令定位潜在的目标对象: ```bash find / -perm -u=s -type f 2>/dev/null ``` 以上代码片段用于遍历整个文件系统树结构,过滤出那些设置了SETUID标志且属于常规类型的节点[^6]。 #### 寻找Flag文件 在整个过程中,参与者需留意任何关于隐藏标记(flags)位置的线索示。这些flag通常被放置在特定目录下作为完成各个阶段挑战任务的关键证明材料。对于本案例而言,至少存在五个不同级别的flag等待探索者去发掘[^7]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值