DC-01靶场渗透

DC-01靶场渗透

首先,要将靶机和攻击机均设为NAT模式

kali IP 192.168.236.129

开始探寻靶机的ip 192.168.236.130

开启了 22 80 111的端口

image-20251121233600462

开始查询资料???111端口,rpcbind

记住一下

下一步,开始访问靶机ip+端口

80端口

image-20251121233824423

用户名和密码

而且内容还是关于Drupal的

心里就会想关于Drupal的漏洞之类的

111端口

image-20251121233928191

指你访问的 URL 对应的服务器地址 / 端口,被浏览器判定为 “不安全” 或 “不符合网页浏览常规”,因此限制访问。 表明这个端口可能没啥用

CMS

内容管理系统。。能快速搭建和管理网站内容的工具。

“给定某 CMS 版本,挖掘漏洞获取 flag” 的题目

whatweb进行扫描,可以扫出啥是CMS,更具体

whatweb扫描web服务的
  • whatweb -v 靶机IP地址

在火狐浏览器里面,扩展工具Wappalyzer可以知道该网站的架构

image-20251121235213124

扫描一下目录

dirsearch -u 192.168.23.130 -e *

(但在本题中没啥用)

漏洞利用

知道CMS的类型和版本 (通过历史遗留漏洞成为突破口)

msfconsole 漏洞的利用脚本

image-20251122105035904

Drupal 是CMS架构!!!

探寻这个

image-20251122105138782

exc excellent 优秀!!!

我们用2018的漏洞

image-20251122110241846

use 利用漏洞

show options 查看我们需要的参数

image-20251122110737601

yes为必填项

rhosts (remote hosts) 远程主机

set rhosts 192.168.236.130 设置目标主机

image-20251122110934119

show options 检查是否设置成功

run运行,连接成功

image-20251122111215921

之后就是渗透了

shell 就是直接登录到目标机器的终端。

image-20251122111734327

image-20251122111748356

配置文件

找一下配置文件的路径

find / -name settings.php

补充知识

绝大多数CMS使用PHP语言开发的

Drupal 的核心配置文件 默认settings.php

find / -name settings.php

image-20251122112645854

数据库的账号密码

登陆一下

shell无法直接交互数据库

需要在shell的情况下获得一个可以交互式的shell,当然需要有python环境的攻击机才行

提升shell交互性来操作数据库

shell 默认是无法直接交互数据库的

用Python生成交互式Bash Shell

shell

python -c 'import pty; pty.spawn("/bin/bash")'

mysql -u用户名 -p密码

成功!!!

开始运用数据库知识来操作

image-20251122115400543

image-20251122115650682

image-20251122141240812

users 用户

seletc * from users \G ;

这样更有条理

加盐哈希后的密码
哈希

单向加密算法

  • 不可逆 无法从哈希后的字符串反推出原始明文
  • 唯一性 相同的明文会生成相同的哈希 但只要明文有一点变化,哈希就会完全不同

随机生成的字符串

在计算密码哈希时,会把盐和原始密码拼接在一起,在进行哈希运算

彩虹表是预先计算好的”明文—哈希“对照表

加盐哈希是为了对抗彩虹表

   $SS$   哈希算法的标识

密码破不开,那就换个思路,自己建个有权限的账号进去”,这是渗透测试中常见的迂回策略~

法1:添加admin权限用户

因为密码爆破走不通,所以文中提出 “添加 admin 权限用户” 的替代方法 —— 先退出当前的 MySQL 命令行、服务器终端和 Meterpreter(Metasploit 框架的渗透模块),回到 MSF(Metasploit 框架)主界面,后续通过添加高权限用户的方式来实现对目标系统的控制。

image-20251122142852025

查找漏洞

searchsploit drupal

SQL 漏洞

image-20251122143134029

SQL注入

攻击者,可以利用他们执行未授权的SQL操作添加管理员用户,重置密码,远程执行代码,,从而完全控制目标

认真看一下,提示。

34992.py add admin

searchsploit 34992.py -p

-p 路径

image-20251122145348161

image-20251122145906338

image-20251122150044580

比较老的漏洞利用脚本使用python2语法编写的。

脚本会在目标网站的数据库中 创建一个新的管理员用户。

image-20251122152356966

image-20251122152414849

清除之前的缓存 ctrl shift delete

就是说,创建用户名和密码的时候,尽量不要和重复实验很多次的用户名、密码相同,,

就是说,每次使用不同的漏洞模块msfconsole,都要重新指定一下rhosts。。

法2:修改admin的密码

当无法通过常规爆破获取 admin 密码时,可通过 “生成加密密码并修改数据库记录” 的方式实现密码重置。

/var/www/scripts/password-hash.sh 用于生成密码哈希的脚本文件

image-20251122174240850

python -c ‘import pty ; pty.spawn(“/bin/bash”) ’

php /var/www/scripts/password-hash.sh test123(新设置的密码)

image-20251122174357167

image-20251122175021978

就是将自己设置的密码的哈希值存到一个文件中。

image-20251122181643252

爆破哈希值

image-20251122181730273

image-20251122182139691

记得是进入到靶机中在查看cat /etc/passwd

/etc/shadow 存储着用户的加密密码哈希,只有root用户(特殊权限)才可以读

/etc/passwd 所有用户可读

image-20251122193306239

这里就有2个思路了

1、flag4用户是/bin/bash,登录这个用户

2、提权,查看/etc/shadow

ls -l /etc 就可以查看shadow的详细权限

1、爆破 hydra

hydra对ssh服务进行密码爆破

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

  • -l flag4 指定爆破的用户名
  • -P /usr/share/wordlists/rockyou.txt.gz 指定密码字典 rockyou.txt.gz
  • ssh://192.168.236.130 指定爆破的目标服务和IP

爆破爆破,就是用kali进行爆破,靶机是个受体

image-20251123081634174

image-20251123083004384

identification 身份标识

清除旧的主机密钥记录

image-20251123083456144

成功!!!

image-20251123083631962

提权

SUID提权 用find命令,查找具有SUID权限的可执行二进制文件

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

  • -perm 按文件权限查找的选项
  • -u=s SUID 查找设置了SUID权限的文件,拥有SUID权限的文件在执行时,会以文件所有者的权限来运行,而非执行用户本身权限。
  • -type f f 表示只查找普通文件
  • 2>/dev/null 错误重定向

image-20251123084544766

/usr/bin/find

image-20251123085250595

index.php 定位网站Web根目录

通过find 执行root权限查找文件,会发现获取了root权限

  • -name index.php 查找名称为index.php文件
  • -exec “/bin/sh”
    • -exec 对找到的文件执行指定的shell命令
    • “/bin/sh”
    • \ ; 转义

image-20251123085346470

提权成功!!!!

posted @ 2025-11-23 09:17  fish666-wu  阅读(9)  评论(0)    收藏  举报