安全矩阵

 找回密码
 立即注册
搜索
查看: 2945|回复: 0

​ 红日ATT&CK实战系列靶场复现原创

[复制链接]

141

主题

153

帖子

517

积分

高级会员

Rank: 4

积分
517
发表于 2022-3-1 22:27:12 | 显示全部楼层 |阅读模式
红日ATT&CK实战系列靶场复现原创 北巷 [url=]雷神众测[/url] 2022-03-01 17:15
STATEMENT
声明
由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,雷神众测及文章作者不为此承担任何责任。
雷神众测拥有对此文章的修改和解释权。如欲转载或传播此文章,必须保证此文章的完整性,包括版权声明等全部内容。未经雷神众测允许,不得任意修改或者增减此文章内容,不得以任何方式将其用于商业目的。

前言
该靶场是红日的ATT&CK实战系列-红队评估(七)
链接如下:
http://vulnstack.qiyuanxuetang.net/vuln/detail/9/
靶场环境一共五个靶机,分别位于三层网络中。

DMZ区域:
给Ubuntu (Web 1) 配置了两个网卡,一个桥接可以对外提供服务;一个连接在VMnet8上连通第二层网络。
第二层网络区域:
给Ubuntu (Web 2) 和Windows 7 (PC 1)都配置了两个网卡,一个连接在VMnet8上连通第二层网络,一个连接在VMnet14上连通第三层网络。
第三次网络区域:
给Windows Server
2012和Windows 7 (PC 2)都只配置了一个网卡,一个连接在VMnet14上连通第三层网络。

外网渗透
Laravel Debug mode RCE(CVE-2021-3129)
我们首先拿到一个IP地址:192.168.95.250,第一步对其进行扫描
sudo nmap -p 1-65535 -T4 -A -v
192.168.95.250

扫描后发现开放了22、80、81、6379端口,访问80端口为一个博客网站,访问81端口发现是Laravel框架且版本是Laravelv8.29.0 (PHP v7.4.14)。

该版本存在一个远程代码执行漏洞(cve-2021-3129),可以使用工具一键getshell。

通过哥斯拉连接测试,成功。

工具链接:https://github.com/SecPros-Team/laravel-CVE-2021-3129-EXP
对主机进行简单的了解,发现是一个docker环境

尝试反弹shell进行提权,kali进行监听,发现并没有反应。

后面通过MSF的tcp、http均无法进行反弹,判断该容器不出网。
Redis未授权
既然无法反弹shell,那就从其他方向入手,nmap扫描结果发现6379端口开放着,可以尝试进行redis弱口令或未授权访问,尝试进行连接,发现存在redis未授权访问。

尝试写入SSH公钥,首先生成公钥。

将公钥写入1.txt,并将1.txt中的内容写入目标主机的redis缓存中。

然后使用kali连接目标主机的redis,并执行命令将ssh公钥写入目标主机,写入后成功连接。

连接成功后进行简单的信息收集,发现存在另一个52网段

由于之前无法反弹shell,所以猜测nginx可能做了反向代理

81端口做了反向代理,所以无法反弹shell,只能通过目标主机为跳板机进行操作,首先反弹shell到192.168.52.10

可以看到当前权限为www,所以要对其进行提权。
环境变量提权
通过寻找带有suid的文件进行提权

发现有一个名为shell的可疑文件,执行看看。

通过执行发现该脚本执行了PS命令且并未使用绝对路径,源码在demo.c中可以清楚看到
那么我们尝试更改$PATH来执行我们的恶意程序,从而获得目标主机的高权限shell

成功获得root权限,此时把shell反弹到52.10上

成功反弹shell。
Docker特权模式逃逸
原理:使用特权模式启动容器,可以获取大量设备文件访问权限。因为当管理员执行docker
run —privileged时,Docker容器将被允许访问主机上的所有设备,并可以执行mount命令进行挂载。

检查发现有三个磁盘文件以及很多的设备文件,所以我们可以/dev/sda1挂载到自己创建的文件夹。

成功挂载,通过查看文件夹,发现存在ubuntu这个用户

我们可以将自己生成的ssh密钥写入到ubuntu用户中,这样我们就可以使用密钥登录了。
首先生成密钥

将密钥写入/test/home/ubuntu/.ssh/authorized_keys

ssh连接192.168.52.20,登录成功。

CVE-2021-3493
linux kernel一般指Linux内核。Linux是一种开源电脑操作系统内核。它是一个用C语言写成,符合POSIX标准的类Unix操作系统。
linux内核中的overlayfs文件系统中没有正确地验证用户名称空间和底层文件系统中文件功能的设置。由于非特权用户名称空间和Ubuntu内核中允许非特权覆盖的补丁的组合,攻击者可以使用它来获得更高的特权。

因为登录的是ubuntu用户,所以需要对其进行提权,通过cve-2021-3493可以直接提权。

工具链接:
https://github.com/briskets/CVE-2021-3493/blob/main/exploit.c
至此,外网渗透完成,此时我们已经拿下两台主机,网络拓扑如下:

内网渗透
两台主机都已经拿到权限,接下来就是上线msf进攻内网。
首先上线web1

添加路由

Web1装有python服务,我们可以将木马上传到Web 1,通过python3开启一个http服务,使用Web 2进行下载并运行我们的木马。

两台主机都已经上线

内网主机探测
设置通往52、93段的路由


首先扫描52段有无存活主机

发现并没有主机
扫描93段发现了两台主机,93.30和93.40两台主机。

使用smb_version模块探测结果

MS17-010
尝试对两个主机使用“永恒之蓝”

只用93.40可以上线, 93.30还未上线,可以推测30就是域控。
使用kiwi抓取密码
我们得到了93.40主机以及域控的密码信息
* Username : moretz
* Domain   : WHOAMIANONY
* Password : Moretz2021
* Username : Administrator
* Domain   : WHOAMIANONY
* Password : Whoami2021
域控提权
使用psexec模块提权

成功拿下域控

回复

使用道具 举报

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

本版积分规则

小黑屋|安全矩阵

GMT+8, 2025-4-24 07:31 , Processed in 0.013791 second(s), 18 queries .

Powered by Discuz! X4.0

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表