找回密码
 立即注册
首页 业界区 安全 DC-01靶场渗透

DC-01靶场渗透

姨番单 2025-11-23 10:45:05
DC-01靶场渗透

首先,要将靶机和攻击机均设为NAT模式
kali  IP  192.168.236.129
开始探寻靶机的ip   192.168.236.130
开启了  22   80  111的端口
1.png

开始查询资料???111端口,rpcbind
记住一下
下一步,开始访问靶机ip+端口
80端口
2.png

用户名和密码
而且内容还是关于Drupal的
心里就会想关于Drupal的漏洞之类的
111端口
3.png

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

内容管理系统。。能快速搭建和管理网站内容的工具。
“给定某 CMS 版本,挖掘漏洞获取 flag” 的题目
whatweb进行扫描,可以扫出啥是CMS,更具体
whatweb扫描web服务的


  • whatweb  -v   靶机IP地址
在火狐浏览器里面,扩展工具Wappalyzer可以知道该网站的架构
4.png

扫描一下目录
dirsearch  -u   192.168.23.130  -e  *
(但在本题中没啥用)
漏洞利用

知道CMS的类型和版本  (通过历史遗留漏洞成为突破口)
msfconsole  漏洞的利用脚本
5.png

Drupal   是CMS架构!!!
探寻这个
6.png

exc    excellent  优秀!!!
我们用2018的漏洞
7.png

use  利用漏洞
show options  查看我们需要的参数
8.png

yes为必填项
rhosts  (remote  hosts) 远程主机
set   rhosts  192.168.236.130  设置目标主机
9.png

show options  检查是否设置成功
run运行,连接成功
10.png

之后就是渗透了
shell  就是直接登录到目标机器的终端。
11.png

12.png

配置文件
找一下配置文件的路径
find  /  -name  settings.php
补充知识

绝大多数CMS使用PHP语言开发的
Drupal 的核心配置文件  默认settings.php
find  /  -name  settings.php
13.png

数据库的账号密码
登陆一下
shell无法直接交互数据库
需要在shell的情况下获得一个可以交互式的shell,当然需要有python环境的攻击机才行
提升shell交互性来操作数据库

shell 默认是无法直接交互数据库的
用Python生成交互式Bash Shell
shell
python -c 'import pty; pty.spawn("/bin/bash")'
mysql  -u用户名  -p密码
成功!!!
开始运用数据库知识来操作
14.png

15.png

16.png

users  用户
seletc  *  from users  \G ;
这样更有条理
加盐哈希后的密码

哈希

单向加密算法

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


随机生成的字符串
在计算密码哈希时,会把盐和原始密码拼接在一起,在进行哈希运算
彩虹表是预先计算好的”明文—哈希“对照表
加盐哈希是为了对抗彩虹表
  1.    $SS$   哈希算法的标识
复制代码
密码破不开,那就换个思路,自己建个有权限的账号进去”,这是渗透测试中常见的迂回策略~
法1:添加admin权限用户

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

查找漏洞
searchsploit   drupal
SQL 漏洞
18.png

SQL注入

攻击者,可以利用他们执行未授权的SQL操作,添加管理员用户,重置密码,远程执行代码,,从而完全控制目标
认真看一下,提示。
34992.py      add  admin
searchsploit   34992.py    -p
-p   路径
19.png

20.png

21.png

比较老的漏洞利用脚本使用python2语法编写的。
脚本会在目标网站的数据库中 创建一个新的管理员用户。
22.png

23.png

清除之前的缓存   ctrl  shift  delete
就是说,创建用户名和密码的时候,尽量不要和重复实验很多次的用户名、密码相同,,
就是说,每次使用不同的漏洞模块msfconsole,都要重新指定一下rhosts。。
法2:修改admin的密码

当无法通过常规爆破获取 admin 密码时,可通过 “生成加密密码并修改数据库记录” 的方式实现密码重置。
/var/www/scripts/password-hash.sh   用于生成密码哈希的脚本文件
24.png

python -c ‘import pty ; pty.spawn(“/bin/bash”) ’
php  /var/www/scripts/password-hash.sh   test123(新设置的密码)
25.png

26.png

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

爆破哈希值
28.png

29.png

记得是进入到靶机中在查看cat /etc/passwd
/etc/shadow   存储着用户的加密密码哈希,只有root用户(特殊权限)才可以读
/etc/passwd     所有用户可读
30.png

这里就有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进行爆破,靶机是个受体
31.png

32.png

identification   身份标识
清除旧的主机密钥记录
33.png

成功!!!
34.png

提权
SUID提权   用find命令,查找具有SUID权限的可执行二进制文件
find   /   -perm   -u=s   -type f   2>/dev/null

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

/usr/bin/find
36.png

index.php   定位网站Web根目录
通过find 执行root权限查找文件,会发现获取了root权限

  • -name  index.php   查找名称为index.php文件
  • -exec  “/bin/sh”

    • -exec   对找到的文件执行指定的shell命令
    • “/bin/sh”
    • \ ;    转义

37.png

提权成功!!!!
  本文链接:《》  版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

相关推荐

您需要登录后才可以回帖 登录 | 立即注册