本文由 塞讯安全验证 授权转载
为了帮助蓝队更好地进行能力自查和提升,塞讯验证对日常红队场景中的实战攻击利用技术进行了全面的总结和提炼。从不同的渗透阶段出发,梳理每个阶段可能使用的技术。
我们将在后续文章中对红队各阶段的技战术进行更全面的探讨。本篇文章旨在作为一个总结性的概览,蓝队可以将其作为检查清单,对照评估自身是否对红队每个阶段的各种行为都具备相应的防御措施或响应预案。
希望蓝队可以通过以下内容更好地理解红队在攻防演练中采用的各种技术手段,预先洞察潜在威胁,提升整体防御水平,构建更加坚固的网络安全防线。
红队场景与渗透测试的区别:红队攻击不同于传统的渗透测试,它更侧重于如何实际侵入系统并获取权限或实现特定目标,而不受时间、技术和途径的严格限制,更接近于真实的入侵活动。
技术梳理与实战利用:详细梳理了在不同渗透阶段可能用到的技术,并指出这些技术在实际操作中往往不是孤立使用的,而是相互灵活组合进行循环利用。这表明了红队攻击的高度灵活性和复杂性。
防御策略与挑战:面对红队攻击,防御者需要具备丰富的实战对抗经验和技术深度。传统基于工具的防御方法往往难以奏效,因为攻击者可以轻松修改或定制工具以绕过现有防御手段的检测规则。
深入分析与源头防御:蓝队需要对每种核心攻击技术进行深入分析,并从源头上进行防御。虽然这种方法的短期成本较高,但长期来看是更为有效和持久的防御策略。
攻防人员的核心能力:作为攻防人员,熟练掌握工具只是极小的一部分,更重要的是对各种利用原理的深度理解和二次定制能力。这种能力才是攻防人员在面对复杂多变的攻击时能够立于不败之地的关键。
红队攻击流程
=================================================================================================================================================================================================================
防御重要等级:★
此阶段是前期侦察搜集阶段,无需重点防御。
绕 CDN 找出目标所有真实 IP 段
寻找目标的各种 Web 管理后台登录入口
批量抓取目标所有真实 C 段 Web banner
批量对目标所有真实 C 段进行基础服务端口扫描探测识别
尝试目标 DNS 是否允许区域传送 ,如果不允许则继续尝试子域爆破
省略20种其他方法,具体见详细报告
防御重要等级:★★★★
此阶段是外部防御重心,主要是针对各主流“中间件 + 开源程序 + Web 服务组件”自身的各种已知 Nday 漏洞进行利用,对于蓝队来说做好边界的对外暴露收敛以及漏洞管理是此攻击阶段的防护关键。
以下是一些相对常见,且在实战中确实能有效协助快速 getshell 的“中间件”、“开源程序”、“边界安全产品”“办公组件”。
不同于其它脚本类 web 程序,Java 的运行权限通常都比较高,甚至大部分直接使用 root、管理员或系统权限,因此拿到的 shell 权限一般也非常高,通常都直接是服务器权限。
红队一般也都会首选这些点,并以此为突破口来获取一个稳定的跳板机入口权限。
Struts2
weblogic
Jboss
wildfy( jboss 7.x)
省略10种中间件,具体见详细报告
由于此类环境拿到 Webshell 权限相对较高,所以通常也是红队人员的首选突破口。
AppServ
省略3种php,具体见详细报告
Dedecms
thinkphp5.x
phpcms
省略8种开源程序,具体见详细报告
通达 OA
泛微 OA
金蝶 EAS
省略5种办公组件,具体见详细报告
Pulse Secure VPN
Esafenet
Fortinet VPN
省略3种安全设备,具体见详细报告
统计了多年的红队在此阶段的攻击方式数据,使用频率从高到低进行了罗列
注入
远程代码执行
后台及数据库弱口令
省略5种攻击手法,具体见详细报告
短期建议:减小暴露面;针对漏洞打补丁修复或升级软件;通过优化 WAF 产品的检测规则实现防御或评估 RSAP 产品在贵司的适用性,启用 HIDS 的实时文件检测。
中长期建议:增加特权帐号管理提升身份安全;增加多因素认证;加强互联网访问的管控与下载文件检测,并加强内网网络流量的威胁文件传输检测;在内部各个安全区域之间部署 NIPS 加强检测与防御;做好应用程序隔离。
防御重要等级:★★★
以下是一些实战中真正能协助快速 getshell 的服务,其它的一些相对边缘性的服务均未提及。已按"实际攻击利用的难易程度"及“获取到的 shell 权限高低"为标准排序。
Mssql:默认工作在 tcp 1433 端口,弱口令,敏感账号密码泄露,提权,远程执行,后门植入
SMB:默认工作在 tcp 445 端口,弱口令,远程执行,后门植入
WMI:默认工作在 tcp 135 端口,弱口令,远程执行,后门植入
省略20种常用端口,具体见详细报告
短期建议:在内部各个安全区域之间部署 NIPS 加强检测与防御。
中长期建议:在预算可行的情况下全面部署 NTA(全流量)产品加强威胁检测。
防御重要等级:★★
实际攻防演练中使用非常频繁,涉及各种细节,社工方式也是近几年常见的攻击手段,除了纯技术手段之外现在多会进行人员现场攻击,所以对于环境的物理防御也需要进行加强。
枚举有效的目标邮箱用户名列表
批量探测目标邮箱弱口令
伪造发信人【发信邮服搭建】
钓鱼信,针对不同行业一般也都会事先准备好各种各样的针对性的发信话术模板,以此来提高实际发信成功率。
直接给目标发送各种常规木马附件或者钓鱼链接,利用其获取各类内网系统账号密码,如:OA、邮箱、VPN 或知识库等
office 文件宏
office 文件加密
多次压缩附件
省略10种邮件攻击方式,具体见详细报告
短期建议:基于恶意文件的 Hash 添加邮件安全网关的本地黑名单策略;基于恶意链接 URL 添加邮件安全网关的本地黑名单策略;加强办公及数据中心的物理防御。
中长期建议:增加沙箱与邮件安全网关联动;加强互联网访问的管控与下载文件检测,并加强内网网络流量的威胁文件传输检测;严格执行密码策略;增加各种应用系统登录与 MFA 联动;在内部各个安全区域之间部署 NIPS 加强检测与防御;提高全员钓鱼演练频率,加强员工安全意识培训。
防御重要等级:★★★★★
以下列举了一些通用、稳定、易于使用且成功率较高的漏洞和方式
成功的前提是,保证事先已做好各种针对性免杀
BypassUAC【win7/8 /8.1/10 】
CVE-2021-36934
CVE-2021-1732
省略5个高危漏洞,具体见详细报告
CVE-2021-22555
省略3个高危漏洞,具体见详细报告
Mssql
Oracle
Mysql
省略5种第三方工具,具体见详细报告
短期建议:针对使用到的工具在终端/主机安全产品中基于文件 Hash 添加本地黑名单策略,监控可疑命令执行;加强用户在系统的权限控制;对容器系统进行加固,或升级镜像修补漏洞。
中长期建议:部署特权帐号管理产品以加强对身份信息系统的监测与保护;评估沙箱产品与网络安全类产品联动;加强互联网访问的管控与下载文件检测,并加强内网网络流量的威胁文件传输检测;如果尚未部署 EDR,则建议使用 EDR 类的安全产品对其行为进行检测与防御;执行严格的 CICD 流程,减少使用带已知漏洞的镜像的机率。
防御重要等级:★★
内网信息收集后可分析出目标内网大致拓扑及所有关键性业务机器分布,这些敏感信息收集操作大多是“弱信号”操作,这一部分严格限制各种系统内置命令执行。
以下部分操作需要先拿到管理权限后才能正常进行。
查看当前 she11 权限及详细系统内核版本
获取当前系统的详细 IP 配置 ,包括所在域、IP、掩码、网关、主备 DNS IP
获取当前系统最近的用户登录记录
省略25种信息收集方式,具体见详细报告
上述大部分的信息收集动作都是基于系统内置工具和接口,因此可以完全依靠 EDR 来实时捕捉各类敏感进程上报恶意操作。
批量抓取内网所有 windows 机器名 和 所在"域"/"工作组名"(smb 探测扫描)
内网各种文件【共享】服务器
内网各类 web 服务器【可用于后期留入口】
省略14种信息收集方式,具体见详细报告
CVE-2021-34527
省略3个高危漏洞,具体见详细报告
短期建议:监测可疑命令执行;针对内网的各种高危敏感服务定位,“安全"端口扫描(在避免对方防护报警拦截的情况下进行各种常规服务探测识别);针对以上的各种常规内网探测扫描,在流量上都会有非常清晰的表现。通过在一些关键节点设备/服务器上部署探针搜集流量,再配合大数据关联分析查找各种敏感特征,可以帮助发现各类扫描探测痕迹。
中长期建议:如果尚未部署 EDR,则建议使用 EDR 类的安全产品对其行为进行检测与防御;有条件的情况下加强对终端/主机的日志审计在 SIEM 系统中对此攻击时的可疑命令执行行为进行监测与告警;通过深入分析每种漏洞在实际攻击利用过程所产生的一些典型流量特征和系统日志即可识别此类漏洞。
防御重要等级:★★★★
以下部分操作需要先拿到管理权限后才能正常进行。
批量抓取当前机器上的"各类基础服务配置文件中保存的各种账号密码"
想办法"控制目标运维管理或技术人员的单机,从这些机器上去搜集可能保存着各类敏感网络资产的账号密码表”
抓取各类"数据库客户端工具中保存各种数据库连接账号密码
省略15种信息收集方式,具体见详细报告
以下部分操作需要先拿到管理权限后才能正常进行。
Windows SSP【持久化/内存】
Hook PasswordchangeNotify【持久化/内存】
OWA 登录账号密码截获
省略5种信息收集方式,具体见详细报告
增加特权帐号管理产品以加强对身份信息系统的监测与保护;增加 AD 安全产品、特权帐号管理产品以加强对身份信息系统的监测与保护;加强对终端/主机的日志审计在 SIEM 系统中对此攻击时的可疑命令执行行为进行监测与告警;有条件的情况下加强对终端/主机的日志审计,在 SOC 中增加基于各个维度的行为关联分析,以补充现有单点防御产品可能不认为某些攻击有危害带来的漏检。
防御重要等级:★★★
红队为了尽可能躲避各种检测设备的流量解析,很多此类工具都会采用各种各样的方式来加密传输流量,以此来保证自己有更强的穿透性。
出网流量刺探:http、DNS 以及一些穿透性相对较好的 tcp 端口,这种操作一般都会配合 WMI、SMB、SSH 远程执行,在内网批量快速识别出能出网的机器
常规 HTTP 脚本代理:abptts、Neo-reGeorg、reGeorg、tunna、reduh,公开脚本在实战中普遍存在问题,红队会根据自己的实际目标环境深度改进
省略6种穿透方式,具体见详细报告
证短期建议:在内部各个安全区域之间部署 NIPS 加强检测与防御。
中长期建议:通过全流量(NTA)产品加强互联网边界以及内部各安全区域之间 ICMP、DNS、Socks 通讯检测,通过 SSL 解密设备将内网所有出网流量进行代理,解密所有流量,并将解密流量交由 NTA、IPS 等检测设备进行检测。
防御重要等级:★★★★
通常情况下在域内的信息收集行为多为“弱信号”行为,即此类动作正常用户可能也会执行,所以将这些行为单独进行检查和审计会变成不太可行,红队常用的域内信息收集手法如下
现实中红队只需要一个事先免杀的 BloodHound & Pingcastle 足矣。
获取当前域内的完整域管列表
获取当前域内的所有域控机器名列表
获取当前域内的所有 DNS 服务器机器名列表
省略8种信息收集方式,具体见详细报告
搜集 GPP 目录,其中可能保存的有域账号密码,不仅仅是存在 XML 里的那些,NETLOGON 目录中的某些脚本同样也可能保存有账号密码
服务票据 hash 破解("尤其是域管用户的")【kerberoast 】
批量对域用户进行单密码尝试【喷洒,利用 ADSI 接口,日志 id 4771】
省略9种域权限获取方式,具体见详细报告
获取所有 DNS 记录
导出当前域的完整 LDAP 数据库
提取当前域的 ntds.dit【域内账号密码数据库】
利用 OWA 登录日志
利用域控服务器登录日志
指定服务银票【Silver Ticket】
绑定用户登录脚本
利用 GPO 下发
PTT【票据传递 】
金票
Skeleton Key
DSRM 密码同步
OWA 后门
短期建议:在防病毒或 EDR 等安全防御产品中基于文件 Hash 添加黑名单、或告警可疑命令执行行为。
中长期建议:增加特权帐号管理产品以加强对身份信息系统的监测与保护;增加 AD 安全产品、特权帐号管理产品以加强对身份信息系统的监测与保护;加强对终端/主机的日志审计在 SIEM 系统中对此攻击时的可疑命令执行行为进行监测与告警;有条件的情况下加强对终端/主机的日志审计,在 SOC 中增加基于各个维度的行为关联分析,以补充现有单点防御产品可能不认为某些攻击有危害带来的漏检。
防御重要等级:★★★
通常在搞清楚内网环境之后即目标区域之后会尝试对目标区域进行横向移动的行为,红队会使用一些计划任务、远程执行技术以达到此目的。
以下某些远程执行方式,可直接用明文账号密码,也可以基于 pth 来进行。
远程服务管理【SCM 】
远程创建执行计划任务【Scheduled Tasks】
WMI 远程执行【WMI 】
省略9种横向方式,具体见详细报告
plink 或者基于 windows SSH 库自行开友各种远程执行小工具。
一般都会将 impacket 套件中的各个常用 py 脚本事先直接打包成可执行文件,然后丢到目标 linux 系统中去执行。
另外,还有一些基于 go 的工具,同样也可以编译成可执行文件之后再丢上去执行。
Linux 自带的 ssh 客户端工具套件,默认就可以用来进行远程执行。
以下这些系统内置的远程下载执行工具在某些杀软环境下肯定会被拦截,所以红队基本会弃用:
CertUtil.exe
Bitsadmin.exe
Regsvr32.exe
Rundll32.exe
短期建议:加强用户在系统内文件和目录的权限控制;加强用户在系统内安装、卸载、执行软件、执行脚本、修改注册表等权限控制。
中长期建议:增加特权帐号管理提升身份安全;增加多因素认证;加强互联网访问的管控与下载文件检测,并加强内网网络流量的威胁文件传输检测;在内部各个安全区域之间部署 NIPS 加强检测与防御;做好应用程序隔离;如尚未使用 EDR 类安全产品,建议评估与选择 EDR 产品增加基于行为的分析检测与阻断能力;加强对终端的日志审计在 SIEM 系统中对此攻击时的行为进行监测与告警。
防御重要等级:★★★★
OWA 登录口【账号密码、webshell】
VPN 登录口【账号密码、shell 】
省略3种权限维持方式,具体见详细报告
系统计划任务【高权限/低权限】
常规注册表自启动项【用户权限/system 权限】
MSSQL 存储过程【继承服务权限】
省略7种权限维持方式,具体见详细报告
Patch SSH
替换各类基础服务 SO(PAM、Nginx、Rsync 等)
省略3种权限维持方式,具体见详细报告
短期建议:加强系统内用户权限控制;监控可疑命令执行;做好环境中各安全区域的访问控制;加强用户在系统内安装、卸载、执行软件、修改注册表等权限控制。
中长期建议:加强互联网访问的管控与下载文件检测,并加强内网网络流量的威胁文件传输检测;增加多因素认证产品、特权帐号管理产品以加强对身份信息系统的监测与保护;如果尚未部署 EDR 或 HIDS,则建议使用 EDR 或 HIDS 类的安全产品对其行为进行检测与防御;有条件的情况下加强对终端/主机的日志审计在 SIEM 系统中对此攻击时的可疑命令执行行为进行监测与告警;做好数据备份执行并经常演练数据恢复。
web 日志【访问,错误日志 】
数据库日志【异常连接日志,慢查询日志 】
省略3种痕迹处理方式,具体见详细报告
短期建议:加强用户在系统内文件和目录的权限控制;加强用户在系统内安装、卸载、执行软件、修改注册表等权限控制以及执行 PowerShell 等权限控制。
中长期建议:如果尚未部署 EDR,则建议使用 EDR 类的安全产品对其行为进行检测与防御;有条件的情况下加强对终端/主机的日志审计在 SIEM 系统中对此攻击时的可疑命令执行行为进行监测与告警。
Cobaltstrike【二次开发】
payload(beacon)逆向/改进重写
Metasploit【二次开发】
冰蝎 Behinder_v4.0
蚁剑 AntSword_v2.1
哥斯拉 Godzilla v4.0
手工混淆:有源码的情况下,尝试逐个替换可能是关键特征字符串的命名空间名、函数名、变量名、字符串等
工具混淆:针对各种语言的专业混淆工具,有商业版
一些常用公开壳,商业壳效果更好
红队可能尝试自己写壳,成本高但效果好
shellcode 内存加解密执行,一些杀毒软件可拦截最终调用
域前置【利用大厂 CDN】
DNS 加密隧道
省略4种免杀方式,具体见详细报
在整个攻击链的分析与布防过程中,蓝队需要全面应对各个阶段的攻击手法,不能再只关注边界防护。当前的攻防演练引入了明确的流血得分机制,要求蓝队在破坏和影响阶段采取更加积极的防御措施。这种机制更接近真实的黑客攻击,要求蓝队在应对攻击时不仅仅是点到为止,而是要深入分析和应对攻击的每个阶段。
首先,蓝队需要全面分析攻击链,从初始入侵、漏洞利用到横向移动和数据泄露,识别每个阶段的攻击手法。
其次,加强内部防御,通过监控内部流量、检测异常行为和快速响应,防止攻击者在内部网络中横行。流血得分机制的引入,使得攻击者在成功入侵和维持控制期间会持续得分,蓝队必须迅速检测和阻止这些行为,防止得分的累积。
此外,蓝队需要在破坏和影响阶段采取快速隔离受感染系统、恢复被破坏的服务和数据,并减少对业务的影响。实时监控与响应机制的建立,能够及时发现和应对潜伏的攻击活动,防止攻击者长期潜伏在系统中。
塞讯验证能够针对全攻击链进行场景化模拟,包括最后的破坏性攻击。通过将第一手受害者情报转化为攻击库及攻击场景,塞讯验证为蓝队提供了全面的防御能力验证以及应对策略,帮助用户就其整体防御体系能力进行提升。
**
**