# 前言

一个非常经典的系列,这里也是想要将整个过程写的详细一点,但是很多时候我比较熟悉的东西我写完了也没能意识到这里被我一带而过了。虽然说这次不同于上次是老师要求,但是我还是想记录一下,不论是给学校里的新生也或者是给与同级的没有接触过这个的内容的人,或者是一个完全的小白,我希望他能根据我的记录,没有压力的将这个靶机做下来,能学到或者是了解到对他们有用的东西就可以了。

# 环境搭建

地址:DC: 1 ~ VulnHub

攻击机:kali

使用 VMware 搭建环境

image-20231017143906032

这里使用 VnirtualBox 一键导入也可以,这里我个人觉得 VMware 的 UI 更加的友好,所以这里我使用这个 VMware

image-20231017144206230

这里记得修改,特别是路劲,默认是放在 C 盘的,然后直接点击导入即可

这里如果提示导入失败不用在意,重试即可

值得注意的是这里我的 kali 和目标机使用的网络模式都是 nat

# 攻击流程

# 信息收集

这里因为都处于局域网

image-20231017145422502

我先查看 kali 的 ip,这里使用 nmap 来扫描本网段

namp 192.168.246.0/24#这里因为我的 ip 是 192.168.246.129,这里需要根据 ip 做修改

image-20231017145657101

这里可以看到,本网段中还有一个 144 的主机,开放的端口有 22,80,111。如果是默认的端口的话就已经很明显了,但是这里还是建议使用 nmap 的 - sV 参数进一步的进行一个协议的发现

nmap -p22,80,111 -sV 192.168.246.144

image-20231017150312484

简单说一下三个服务,22 端口上是一个 OpenSSH 的服务,版本是 6.0,在 80 端口上是一个 httpd 的服务版本是 2.2.22, 在 111 端口上是一个 rpcbind 服务,rpcbind 是一个 NFS 中用来进行消息通知的服务

这里我看到这三个端口其实首先是想知道有没有 rpcbind 相关的漏洞能够利用,因为前面的 ssh 和 httpd 的服务是很常见的

# rpcbind 服务的尝试

但是这里实际上我是做了一些尝试,但是并没有利用成功(这里实际上对于这台靶机的整个打点中没有作用,只是我在搜集到端口后的一些尝试,可以跳过)

image-20231017152411277

这里在 kali 里搜索相关的漏洞,这里可以看到是有的,使用 namp 来探测目标的 rpcinfo 信息

nmap -p111 --script=rpcinfo 192.168.246.144

image-20231017152806514

这里枚举了枚举所有程序条目及其运行端口号,似乎也就只能做到这里

# httpd 服务信息收集

这里直接去访问目标 ip

image-20231017153242704

很明显,页面上就显示了这个服务上挂载的是一个 drupal 的 cms,对于这个 cms 可能见过的能知道这个是一个 cms,但是如果没有见过的可以使用一些指纹探测工具,比如御剑,whatweb 等等这些工具

whatweb http://192.168.246.144/

image-20231017153602799

这里展示的信息很多,像目标中间件是 Apache,目标系统是 Debian,cms 是 Drupal 等等,如果不是很熟的也可以使用御剑 | 百度网盘 - 分享无限制 (baidu.com)

右键点击添加

image-20231017154436369

将目标地址填入

image-20231017154035809

知道其是 cms 第一时间肯定是要去寻找对应的漏洞的,寻找相应的漏洞需要找到 cms 对应的版本来减少检索范围,对于这个 cms 可以通过上面的 whatweb 来查看版本,也可以 ctrl+U 来查看页面源码来查看

image-20231017154849778

这里去网络上检索一下

image-20231017154940236

可以看到还是有相应的漏洞的,这里跟着去利用一下

# 利用漏洞

这里为了方便还是使用 msf

image-20231017164316682

这里看到 msf 上面还是有很多 Drupal 先关的漏洞利用脚本,这里对应的 CVE-2018-7600 对应的是第二个这个脚本

image-20231017164523943

这里选择对应的利用脚本,然后设置 ip 为目标 ip,然后直接 run 即可

image-20231017164700032

这里可以看到就已经拿到了对应的一个 shell,这里执行一下 shell 来提高效率,还是老规则,使用 python 来维持一个 shell

image-20231017165505910

然后当前的权限很显然是 www-data,这里看一下

image-20231017165550997

我们的目标是最高权限,所以到这里并不算是结束,我们接着需要来提权

# 提权

首先尝试 SUID 提权,查看当前配置以 root 权限执行的程序

find / -user root -perm -4000 -print 2>/dev/null
find / -perm -u=s -type f 2>/dev/null

image-20231017170146849

这里可以看到有 find,很经典的 SUID 提权,这里直接使用 find 提权

find / -exec "/bin/bash" -p \;

image-20231017170345125