小工具      在线工具  汉语词典  css  js  c++  java

BAS那点事儿

作者iisky之前的工作涉及BAS相关工作。我借此机会收集和学习了很多BAS相关的内容。我了解到国内很多人不了解BAS,参与BAS的也很少,所以我一一写了这篇文章。普及BAS相关知识。文章中如有错误或描述不准确的地方,请大家共同讨论并指正(sky#03sec.com)。

什么是BAS

前言

近年来,得益于国家一些安全领域法律、法规和规章的大力推动,许多企业的整体安全能力得到了很大的提升,包括但不限于采购大量的安全控制设备或支出很多钱。招募一支军队。但很多情况下,很多企业购买了安全设备却没有进行升级,或者部署位置存在问题,导致出现很多这样的问题:

“我买了安全控制设备了啊,怎么他们渗透测试还能攻击进来?”
“安全部门怎么感觉天天啥事没有,就知道找开发的麻烦?”
“听领导说安全最近没什么产出啊,会不会他们要被裁掉?”
“安全看的很简单啊,天天就看看日志,然后划划水就领工资了!”
“这垃圾安全控制设备为什么黑客都攻击进来了连个告警也没有?”
“又要向领导汇报安全工作进度了,这些指标数据不太好弄啊……”
………………
尤其是在某些企业,遭到了APT攻击、勒索病毒、挖矿病毒的侵入,安全团队只能在事后去进行分析清理,但是很多APT组织或者勒索病毒、挖矿病毒,很可能已经国内外一些安全厂商将其分析完毕并向社区推送了相关的威胁情报信息,又比如某个APT组织被某个厂商爆出来后,那么在第一时间,只有该厂商的安全控制设备规则已经准备就绪,其他厂商也会及时跟进,然后推送给商业用户进行升级,升级完成后,虽然厂商说已经支持检测或防御,但是安全团队很难去验证这一点逻辑,或许只能通过扫描器进行部分验证,这时候就可以了解下最近几年国外大范围流行BAS技术,它可以根据用户实际情况,模拟相关的所有攻击流程,或者根据一些最新的可靠的威胁情报,自动化在当前网络环境中模拟攻击,以此来印证安全控制设备是否已经支持防御或监测该类型的攻击,在国外很多大型公司,都已经中常态化的使用BAS技术来辅佐安全团队,这可以可以从侧面印证了BAS技术确实可以实实在在的解决一些在安全行业的痛点,而不是新瓶装旧酒。

简介

BAS,全称是Breach and Attack Simulation。中文直译就是入侵和攻击模拟。该技术专注于发现当前网络中的攻击路径或漏洞。它类似于连续的自动化渗透测试,但又不同于单一的自动化渗透测试。该技术不仅可以测试漏洞,还可以验证相关安全控制设备的策略有效性。大多数情况下,BAS可以理解为“对网络上当前部署的安全控制设备进行验证”。本次有效性验证包括但不限于以下几点:

针对最新的一些漏洞,验证所部署的安全控制设备是否能防御或检测到。
针对最新的攻击手法,验证所部署的安全控制设备是否能防御或检测到。
针对安全控制设备升级后,验证其安全控制设备是否能真实防御或检测到相关攻击。
针对一些精准的威胁情报,如针对新爆出有关APT组织的TTPs或者IoCs,所部署的安全控制设备是否能防御或检测到。
针对APT组织或黑客组织的攻击手法进行链路模拟,验证所部署的安全控制设备是否能防御、检测、识别到。
……
BAS平台在除了可以对当前网络所部署的安全控制设备进行有效性验证外,另一个特性应该是可持续的有效性验证,所谓的可持续有效性验证,可以理解为在部署好或者规划好预期的模拟路径后,还要支持周期性的进行有效性验证,BAS平台输出的验证结果应可作为定期安全评估报告中的一部分,且带有相关的修复建议,其目的应为辅助运营人员、管理层、决策层快速简单的识别到当前网络中的安全短板。也可以在不同控制类型安全设备升级后,对于某些攻击是否能进行防御或检测的有效性验证。

BAS跑道上的一些国际同行

AttackIQ

简介

AttackIQ[^attackiq_info] 是一家总部位于美国的公司,是市场上最早的 BAS 解决方案之一。 AttackIQ平台成立于2013年。截至目前,AttackIQ平台拥有115个评估场景和3271个脚本。这些脚本和评估场景源自模拟。它涵盖了从 APT 团体攻击到勒索软件挖掘的所有内容。其技术路径基于ATT&CK框架的策略。它还对US-Alert等其他情报源有脚本覆盖,基本可以满足外国政府或企业的大部分需求。安全要求。 AttackIQ平台用户还支持根据教程开发自己的脚本,并可以直接上传然后下发任务进行测试。 AttackIQ还拥有许多免费资源,包括但不限于AttackIQ学院、公开讲座、论坛等资源。有兴趣的可以详细了解一下。

技术栈

AttackIQ使用的技术栈为golang+python3,其剧本使用Python3编写,Agent控制端使用Golang编写。
在这里插入图片描述在这里插入图片描述

相关截图
在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述

Safebreach

简介

Safebreach[^safebreach_info] 是一家以色列公司,也是市场上首批 BAS 解决方案之一。成立于2014年,拥有近8年的BAS相关经验(2022/06/12)。长期以来,Safebreach平台也积累了大量的模拟脚本。根据其官方描述,它已经涵盖了超过24,000种不同的攻击方法,并且其专利的Hacker's Playbook™可用于编写或更新已知的攻击方法。 。一般情况下,Safebreach官方会整理出新的攻击方式,然后更新到平台上。用户可以在“已知攻击系列”相关选项中进行模拟测试。

公司相关安全团队也在github或者公司公开了一些先进的安全技术研究成果。例如pinjectra是一个类似于C/C++OOP的库,它实现了进程注入技术。

技术栈

Safebreach使用的技术栈是Python。

localfile://path?media/16621148392109/16621150484111.jpg
在这里插入图片描述

相关截图
由于笔者并没有权限获取到Safebreach平台的试用,所以只能从现有的一些有限资源里面截取相关的一些图片,当然,如果有相关资源者愿意提供试用平台,可以联系我([email protected])。
在这里插入图片描述在这里插入图片描述在这里插入图片描述

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

Cymulate

简介

Cymulate 是一家成立于 2016 年的以色列公司。Cymulate 提供免费试用。用户可以在其官网申请免费试用。然而,与免费试用相关的权限很少。基本上只能观看,不能分配任务。很多功能无法运行,不过你也可以看一下。我们在平台上可以看到,Cymulate将模拟测试分为以下几种类型进行评估:

IMMEDIATE THREATS INTELLIGENCE (即时威胁情报)
EMAIL GATEWAY (邮件网关)
WEB GATEWAY (web网关)
WEB APPLICATION FIREWALL (web应用防火墙)
ENDPOINT SECURITY (终端安全)
DATA EXFILTRATION (数据渗出)
下面简单介绍下前两种类型,其他类型感兴趣的可以自己申请账号试试看。

IMMEDIATE THREATS INTELLIGENCE
Cymulate平台上有关即使威胁情报的相关剧本(模板),总计966个。且支持用户根据URL、IP、Domain或者是pcap包自定义添加新的相关评估模板。

localfile://path?media/16621148392109/16621151544850.jpg
在这里插入图片描述

EMAIL GATEWAY
邮件网关相关的安全评估项内置数10个模板,列表如下:

free assessment (针对不同类型的威胁测试电子邮件安全控制设备。)
cymulate best practice (分3个阶段测试你的电子邮件安全。1、发送所有文件类型(非恶意行为)以测试当前的文件类型策略。2、根据阶段1中被渗透的文件类型,发送含有潜在代码执行的文件。3、发送模拟的恶意文件–基于阶段1和阶段2中被渗透的文件。)
cymulate best practice - high risk (分3个阶段测试你的电子邮件安全:1、发送所有文件类型(非恶意行为),以测试当前的文件类型策略。2、根据第一阶段渗透的文件类型,发送含有潜在代码执行的文件。3、发送模拟的恶意文件–基于第一阶段和第二阶段渗透的文件。)
exploits (近期浏览器端的漏洞和Windows的PoC。)
malwares (1、通过电子邮件与C2进行通信。2、通过强制提示认证来收集证书。3、通过强制提示UAC来提升权限。)
ransomwares (精心制作的Payload,模仿勒索软件的行为:1、扫描要加密的敏感文件。2、使用非对称加密算法(SHA256)加密文件)
links (已知的或最近被CERTS、安全供应商和其他威胁情报引擎认定为恶意的网站样本。.)
executables payloads (常见和不太常见的可执行文件,包含由脚本、嵌入对象和已知漏洞触发的模拟恶意行为。涵盖的文件类型:exe,com,scr,pif,vbs,vbe,js,jse,wsf,hta,bat,cmd,lnk,cpl,msi)
worms (特点:1、扫描本地网络中易受攻击的机器。2、尝试使用用户令牌将自己复制到每台检测到的机器上。)
office payloads (包含由脚本、嵌入对象和已知漏洞触发的模拟恶意行为的Office文件。文件类型包括:doc、docx、ppt、pptx、xlsx等。)
Embedded Code (将嵌入代码注入到电子邮件的正文中。)
可以看到cymulate在测试邮件网关部分就使用了数十个模板,这些模板获取在运行中会生成n份相关的模拟攻击剧本来进行评估邮件网关配置的有效性以及能力。

技术栈

Cymulate使用的技术栈为.net core。
在这里插入图片描述

相关截图
在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述

alphasoc/flightsim
简介
flightsim是由alphasoc开源的一款软件,用于根据配置生成恶意网络流量,该工具可以模拟DNS隧道、DGA流量、对已知活动的C2请求以及其他恶意流量。详细的内容可以查看源码alphasoc/flightsim。对于仅限于流量层面的恶意流量模拟,可以参考下该项目。

技术栈
flightsim是使用技术栈为Golang。
在这里插入图片描述

相关截图
在这里插入图片描述

其他厂商

还有许多其他制造商。由于篇幅原因,我们这里不详细讨论。总体清单如下:

XMCyber(https://www.xmcyber.com/)
SCYTHE(https://www.scythe.io/)
Foreseeti(https://foreseeti.com/)
Infection Monkey - Akamai (https://github.com/guardicore/monkey)
Randori(https://www.randori.com/)
Caldera(https://github.com/mitre/caldera)
WhiteHaX(https://www.ironsdn.com/)
keysight(https://www.keysight.com/)
mandiant(https://www.mandiant.com/)
Validato(https://validato.io/)
Pentera(https://pentera.io/)
fourcore(https://fourcore.io/)
nopsec(https://www.nopsec.com/)
atomicredteam(https://github.com/redcanaryco/atomic-red-team)
bt3.no(https://www.encripto.no/en/downloads-2/tools/)

BAS跑道上的一些国内同行

国内BAS相关研究相对国外起步较晚。根据目前公开信息,BAS相关公司产品如下:

墨云科技(https://www.vackbot.com/)
知其安(https://www.zhiqiansec.com/)
塞讯(https://www.secvision.cn/)
奇虎360(https://360.net/)
深信服(https://www.sangfor.com.cn/)
螣龙安科(https://talentsec.cn/)
…………
localfile://path?media/16621148392109/16621152569281.jpg
在这里插入图片描述

结语

国内BAS大部分还处于早期发展中,相对于国外百花齐放的状态还需要一定的时间让国内市场去接受。
简单做出一个模拟功能的demo并不难,难的应该是从整体去考虑其如何支持链式的模拟,如一个APT组织从攻击web到获取到ad权限,在这个过程中,如何部署少量的Agent(模拟器)去完成整条链路的模拟,且可以在界面中控制如果安全设备拦截后是否继续进行攻击,还是会自动化模拟攻击其他可控范围内的目标?这些都需要进一步的思考和解决。
笔者也算了解了不少国内外的BAS平台,但是发现一个很尴尬的点,就是大部分不同厂家的BAS平台,都有一个对于BAS不同层度的解读和实现,且最终解决的问题大类是检查安全设备有效性,但是细分之下的小类就有很多了,有的更侧重于链式攻击、有的更侧重于流量重放模拟攻击,还有的侧重于恶意样本的多少,可谓是各有千秋,具体到实际的需求,还需要需求方仔细斟酌。

Refer
https://www.slideshare.net/bdnog/breach-and-attack-simulation-tools
https://cloudcape.de/what-is-breach-and-attack-simulation/
https://en.wikipedia.org/wiki/SafeBreach
https://github.com/SafeBreach-Labs/pinjectra

. . .

相关推荐

额外说明

CentOS8图形界面与命令行切换

1.查看目前默认的启动默认 systemctl get-default 命令行模式 :multi-user.target 图形界面模式:graphical.target 2.设置为图形界面模式 systemctl set-default graphica

额外说明

Nginx解析安全实战

QQ 1285575001 Wechat M010527 技术交流 QQ群599020441 纪年科技aming 预备知识 Nginx+PHP/FastCGI构建的WEB服务器工作原理 Nginx|FastCGI简介 Nginx (“engine x”)

额外说明

基于PLC控制自动洗衣机设计

机电一体化专业设计交流 文章目录 一、摘要 二、绪论 1.1 选题背景 1.2 自动洗衣机发展概况 1.2.1 洗衣机驱动方式的历程 1.3控制系统的选择 1.4主要研究的内容 二、PLC控制自动洗衣机的具体方案 2.2洗衣机的PLC控制系统概述 2.3

额外说明

springboot-maven项目+jpa 运行过程中执行resources下sql脚本文件-ClassPathResource和ScriptUtils.executeSqlScript的使用

需求背景简述:springboot-maven项目在运行过程中,需要依据用户的行为来触发数据库建表操作,原来的jpa动态建表已经不能支撑(jpa是在项目启动时动态建表,也可能我没找到项目运行中利用jpa动态建表的用法),所以我选择了去执行sql文件的方法

额外说明

数据结构与算法-循环单链表操作及应用C语言实现(超详细注释/设计/实验/作业)

引言 学完循环单链表不知道干什么?这篇文章带你熟练掌握单链表。实现了循环单链表的增、删、改、查,请宝子们仔细观看。正在火速更新中~~ 学习目的 掌握单循环链表的存储结构 掌握单循环链表的基本操作 掌握单循环链表的基本特性 环境与设备 操作系统:Windo

额外说明

吴军《罗曼·罗兰 | 年轻时为什么需要理想主义?》

文章目录 《巨人三传》给我很大的鼓舞 通过《约翰·克利斯朵夫》深入了解罗曼·罗兰所说的英雄主义 小结 《巨人三传》给我很大的鼓舞 这一讲,我们谈谈罗曼·罗兰。上一讲我说过,我年轻的时候得了一场大病,那阵子特别消沉,除了尼采,我还坐在病床上读了罗曼·罗兰的

额外说明

SG-Former实战:使用SG-Former实现图像分类任务(二)

文章目录 训练部分 导入项目使用的库 设置随机因子 设置全局参数 图像预处理与增强 读取数据 设置Loss 设置模型 设置优化器和学习率调整策略 设置混合精度,DP多卡,EMA 定义训练和验证函数 训练函数 验证函数 调用训练和验证方法 运行以及结果查看

额外说明

Java学习笔记1.1.3 搭建Java开发环境 - 编写并运行Java程序

文章目录 零、本讲学习目标 一、Java运行原理 二、编写Java程序 (一)编写源程序 (二)编译成字节码文件 (三)解释执行类 (四)常见错误 1、公共类的类名与文件名不一致 2、系统类名首字母没有大写 3、缺少语句结束符 4、配置环境变量出错 (五

额外说明

前端(十七)——Web应用的安全性研究

-博主:小猫娃来啦 -文章核心:Web应用的安全性研究 文章目录 概述 常见前端安全漏洞 XSS(跨站脚本攻击) CSRF(跨站请求伪造) 点击劫持 安全性验证与授权 用户身份验证 授权与权限管理 安全性测试与漏洞扫描 渗透测试 漏洞扫描工具 前端框架和

额外说明

使用 Apache PDFBox 操作PDF文件

简介 Apache PDFBox库是一个开源的Java工具,专门用于处理PDF文档。它允许用户创建全新的PDF文件,编辑现有的PDF文档,以及从PDF文件中提取内容。此外,Apache PDFBox还提供了一些命令行实用工具。 Apache PDFBox

ads via 小工具