漏洞靶场实战-Vuluhub DC-1
Posted OceanSec
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了漏洞靶场实战-Vuluhub DC-1相关的知识,希望对你有一定的参考价值。
文章目录
下载安装
Vulnhub 是个提供各种漏洞平台的综合靶场,可供下载多种虚拟机进行下载,本地 VM 打开即可
下载的是一个 ovf 后缀的文件,打开 Vmware,导入
导入完毕后根据需求编辑虚拟机设置,开机即可
这样就是正常的,不需要登录
Kali IP:192.168.179.144
DC-1
利用
1.主机发现
arp-scan -l
因为 IP 地址为 1 是网关,结合 mac 地址判断 145 地址就是靶机地址
使用 nmap 扫描端口,nmap 手册
nmap -A 192.168.179.145 -p 1-65535
确定开放了 22、80、111、50303,考虑以下利用方式
- 80 端口 web 服务存在漏洞
- 22 ssh 端口存在爆破
访问 80 端口,发现 cms 为 Drupal7
2.Drupal漏洞利用
使用 searchsploit
命令在漏洞库中搜索此版本是否有漏洞可以利用
存在 php 远程命令执行漏洞,发现 MSF 可以直接利用
设置相关参数
根据要求只需要设置RHOSTS
即目标靶场的IP,设置完成执行run
命令即可进入shell
环境
flag1
现在就拿到了一个 msf 的 shell,但是不是一个完整的 shell,可以使用 shell 命令切换
使用 ls 命令发现 flag1.txt
flag2
提示 cms 的配置文件
在 /var/www/sites/default/settings 文件中发现第二个 flag
提示 暴力破解和扫目录不是获取权限的唯一方式,下面的认证信息你怎么使用
,很明显这是在提示此配置文件中有一些敏感信息,就是下面的数据库配置信息了
flag3
由于使用的不是交互式 shell 所以不是很方便,使用 python 获取交互式 shell
python -c 'import pty;pty.spawn("/bin/bash")'
直接用密码连接 mysql 数据库
查看 users 表
密码可以发现是加盐 md5 很难破解,可以直接在数据库中使用 update 语句修改密码
1.首先生成自定密码的加盐哈希值,回到根目录使用命令
php scripts/password-hash.sh 密码
2.进入数据库执行 update 语句
update users set pass="$S$Dywh/n6dLMr2Pq1qH4/6gOfHOBbVhoX4OLxRyaLF9rmtlb3UPuR2" where uid = 1;
修改成功回到网页,登录后台,找到 flag
flag4
flag3 提示 特殊权限将有助于查找密码 - 但您需要 -exec 该命令才能确定如何获取 shadow 中的内容
查看 passwd 文件
发现 flag4 的目录
有师傅是这么做的
查看 etc/passwd,发现目标靶机用户 flag4,并且有 /bin/bash,看到这想到了还有端口22,所以 ssh 连接。但是密码不知道所以只能用爆破神器 hydra。
用 kali 自带密码字典,路径为 /usr/share/john/password.lst,kali 自带各种密码默认保存在 /usr/share/ 下
爆破出密码为 orange,直接 ssh 连接,进入家目录查看发现 flag4
flag5
shadow 文件没有查看权限
结合 flag3 和 flag4 的提示,需要获取 root 权限
linux 提权方法:
- sudo 提权,通过命令
sudo -l
查看是否有可提权的命令 - suid 提权,通过命令
find / -perm -4000 2>/dev/null
查看是否具有root权限的命令 - 系统版本内核提权
- 通过数据库提权
使用以下命令可以查看根目录下所有带有 suid 属性的文件
SUID 是一种特殊的文件属性,它允许用户执行的文件已该文件的拥有者的身份运行,比如一个具有 SUID 属性的文件的拥有者是 root 用户,就可以 root 权限运行
find / -perm -u=s -type f 2>/dev/null
等价 find / -perm -4000 2>/dev/null
发现 find 具有 root 权限,直接使用命令提权
find -exec /bin/sh \\;
流程梳理
参考:
https://blog.csdn.net/weixin_50053818/article/details/116404482
附录
Nmap 常用参数
参 数 | 说 明 |
---|---|
-sT | TCP connect()扫描,这种方式会在目标主机的日志中记录大批连接请求和错误信息。 |
-sS | 半开扫描,很少有系统能把它记入系统日志。不过,需要Root权限。 |
-sF -sN | 秘密FIN数据包扫描、Xmas Tree、Null扫描模式 |
-sP | ping扫描,Nmap在扫描端口时,默认都会使用ping扫描,只有主机存活,Nmap才会继续扫描。 |
-sU | UDP扫描,但UDP扫描是不可靠的 |
-sA | 这项高级的扫描方法通常用来穿过防火墙的规则集 |
-sV | 探测端口服务版本 |
-Pn | 扫描之前不需要用ping命令,有些防火墙禁止ping命令。可以使用此选项进行扫描 |
-v | 显示扫描过程,推荐使用 |
-h | 帮助选项,是最清楚的帮助文档 |
-p | 指定端口,如“1-65535、1433、135、22、80”等 |
-O | 启用远程操作系统检测,存在误报 |
-A | 全面系统检测、启用脚本检测、扫描等 |
-oN/-oX/-oG | 将报告写入文件,分别是正常、XML、grepable 三种格式 |
-T4 | 针对TCP端口禁止动态扫描延迟超过10ms |
-iL | 读取主机列表,例如,“-iL C:\\ip.txt” |
以上是关于漏洞靶场实战-Vuluhub DC-1的主要内容,如果未能解决你的问题,请参考以下文章