一次攻防实战演习复盘总结 君哥有话说 2019Q1 做了一次内部攻防演习,做了一次复盘总结。前段时间参加了几 家机构的 HW 防护方案评审,结合这些信息,做了一次总结,抛砖引 玉。 祝攻防双方都顺利! 最近参加的几家机构的防守方防护方案评估,部分防守方缺乏对攻击 者的正确认知,攻击者的手法已经比较高超了,不扫描,不落地,污 染日志等都很普及了。同时也要正确认知对手:攻防演练中,攻击者 并非无所不能,他们面临着和防御方一样的问题:时间紧,任务重。 所以攻击者的攻击目标,攻击手法也是有迹可循的。 一、知彼 攻击者也是讲成本的,因此防守方最好的策略是:做的比其他防守方 好一点点即可。好一点的含义:不在低级问题上犯错(弱密码、互联 网应用远程 RCE、管理后台暴露、重要服务器未打补丁等)。对于 “时间紧、任务重”的防守方来说,修建固若金汤的防线显然意味着大 成本投入,以及最紧缺的时间,因此本文不会面面俱到,只选择性价 比高值得快速投入的安全措施和大家分享。 攻击者一般:目标明确、步骤清晰、控制成本、反检测,反清理、三 流分立。 目标明确:攻击者只攻击得分项,和必要路径(外网入口,内网立足 点),对这些目标采取高等级手段,会隐蔽操作;对非必要路径顺路 控制下来的服务器,并不怕被发现,用起来比较随意,甚至主动制造 噪音,干扰防守方。 步骤清晰:信息收集-控制入口-横向移动-维持权限-攻击目标系统。 每一步都是经典操作和教科书式手法。 控制成本: 1. 优先攻击高权限账号,如管理员,目标系统负责人账号; 2. 优先攻击运维/安全人员账号和终端,这些人往往有服务器 root 账 号,安全设备管理员账号,可以进一步深入控制; 3. 优先攻击集中管控设施,如域控,集中身份认证系统,终端管理系 统,攻陷单系统即获得公司内大部分系统的权限; 4. 优先攻击基础设施,如 DNS,DHCP,邮件系统,知识分享平台, oa 系统,工单系统;这些系统有内置高权限账号,或可以帮助攻击 者隐蔽痕迹。或 Git/SVN 等开发源代码管理服务器,通过代码审计 发现应用 0day 漏洞。 反检测,反清理: 1. 样本隐蔽技术(白利用(带微软签名的程序执行未签名的黑 dll), 样本不落地执行(从网上加载样本,只运行在内存,不落盘不惊动杀 软)); 2. 快速扩散(攻击者会将攻击包做成自动化工具,降低人力投入,快速 控制一批有漏洞发服务器); 3. 停止日志外发,日志清除(脚本优先停止常见日志外发工具;同时有 开源自动化工具来劫持日志产生的进程,使得系统不产生日志;使用 完后删除 access.log 等日志); 4. 减少扫描,通过分析日志、分析配置文件、管理员来源 IP 等方式来 获取内网的其他机器 IP 信息,而不是扫描。 三流分立: 1. 扫描流:用来大批量扫描内网存活 IP 和漏洞,扫描源通常不被攻击 者重视,被清除也不会影响到攻击计划,高水平攻击者通常使用扫描 行为来分散防守方精力。 2. 数据流:用来向外网大量传输非关键数据,通常是有互联网权限的终 端或服务器(终端较多),很少有隧道行为或扫描行为,通过简单的 https,sftp 方式传输数据 3. 控制流:用于接受和传递远控指令的服务器,攻击者最重视的设施, 使用起来最为谨慎,和远控中心进行交流,常用组件 cobaltstrike, empire;有隧道行为,且数据传输量很少,会连接若干个 IP 和域名 (避免外网封禁),传输必定加密,不使用自签名证书。 在本次攻防实战演习准备阶段,攻击方准备了几十个 C2 域名。 二、知己 知己,主要是知晓防守方防守区域内的资产信息,缩小暴露面。原则 如下: 1. 不用的系统,该下的下,该暂停的暂停。不用的功能,该下的下,该 暂停的暂停。(平时就应该这样处理,而不是战时) 2. 该取消访问的取消,能限制访问范围的限制访问范围。 3. 在用的,搞清楚功能,双流(数据流和运维流)谁用,有没有风险, 能否一键处置。 缩小暴露面 1.按资产所属纬度梳理 互联网资产、分支机构资产、子公司资产、外联公司资产、公有云资 产、开发商、外包商。 容易忽视的: 1. 公有云资产,因为有的业务部门和分支机构公有云申请都不经过 IT 部 门,上面却放了大量业务数据。 2. 开发商/外包商的资产。开发商/外包商一般给甲方外包开发信息系统, 开发商/外包商公司内部也会自建 Git/SVN 等源代码管理服务器,存 有已经交付给甲方的信息系统源码,而开发商/外包商的源码系统管理 安全能力和甲方相比可能就差几个量级了。后果就是:通过获得的源 码,发现系统应用 0day,从而控制甲方已上线信息系统。 缩小暴露面 2.按资产属性梳理 特别关注资产的安全属性:中间件或框架(版本)、开放在公网 API 接口(特别是未下线的老接口)、管理后台开放在公网、高危功能(文 件上传点、短信验证码、重置密码、文件下载)、远程接入点(VPN)、 特权账户(应用管理特权账户、应用连接账户、系统管理特权账户、 可以修改账户权限的账户、备份账户、高管层账户)。 每一个安全属性都是血的教训。 缩小暴露面 3.忽视点 1. 所有内部文档服务器上(含 OA、邮件系统、jira、wiki、知识库等) 敏感信息清理或限制访问权限,不要有:网络拓扑、安全防护方案和 部署位置、各类密码; 2. 资产管理平台上,蜜罐不要叫蜜罐、安全设备 IP 要隐藏; 3. 各类口令:弱口令、默认口令、已泄露口令。 每一个忽视点都是眼泪的结晶。 安全资产管理,更多内容参加:安全资产管理中容易被忽视的几点 三、防护关键点 临战前,再想按照大而全的梳理一遍,几无可能,最好就是把防护关 键点过一遍,切记都实际看一遍,不要相信别人的反馈。 3.1 安全隔离 从实战来看,网络层的访问控制被证明是最有效的(攻击者很难绕过 去),不要相信应用层控制。网络层访问控制属于基础架构安全,这 是最有效最重要的,整个安全防护的基础。 访问控制策略原则:明细允许,默认拒绝。 1. 从内网去互联网的访问控制 办公终端:除个别协议无法限制目的 IP 外,其余协议全部限制。特殊 访问需求,快速开通。有条件的考虑:终端不能直接访问互联网,需 要访问互联网的两种解决方案:另外分配一台上网终端、虚拟浏览器 办公服务器:特殊访问需求开通,默认拒绝 生产网:生产网终端禁止上互联网、服务器特殊访问需求开通, 默认拒绝 2.互联网访问内网:对互联网提供服务的服务器必须在 DMZ,和 内网隔离。 3.重要系统的访问控制策略 基础设施如 AD、邮件系统的访问控制。 别小看基础设施 ACL 访问控制,这是对抗应用和系统漏洞的最低成本 和最有效措施。漏洞层出不穷,唯有 ACL 访问控制药效持久,强烈推 荐。 终端安全管控、自动化运维系统等集中控制系统后台登录限制访问来 源。(优先使用网络访问控制、其次使用系统层限制、搭配使用应用 层限制) 3.2 AD 防护 1. 准备阶段 不说了,看图吧。 2.加固阶段 1. 对抗权限提升:对域账号进行权限 DACL 梳理,加固高权限账号 检 测 高 权 限 账 号 可 以 用 bloodhound 黑 客 工 具 监 测 , 也 可 以 通 过 System Internal Tools 的 ADExplorer 来进行检测: 1)修改密码(建议在演习前临近时间进行修改) 2)调整权限和分组,根据账号的归属人的权限进行调账,取消非域管 账号的敏感权限。 3)修改分组内的不合适的人员账号。 4)敏感账号不允许委派。 5)敏感账号不允许取消 Kerberos 预鉴权。 6)敏感账号的密码强度符合规定。 7)具备直接域管或者间接域管权限(例如可以修改 Domain Admins 的账号就具备间接域管权限)的账号的活动进行报备制度,演习期间 未经允许不得进行任何操作,包括登录等等。 8)办公机和终端演习前全部重启,消除敏感账号凭据留存。 9)服务器登录查看相关凭据,如果有删除或通过注销来删除服务器上 留存的凭据。 10 ) 参 照 https://docs.microsoft.com/en-us/windows- server/identity/ad-ds/plan/security-best-practices/appendix-f-securing-domain-admins-groups-in-active-directory 配置域管 理员权限。 2. 对抗攻击者使用 MS14-068,MS17-010 攻击域:从旧到新依次安装 DC 上的 windows 补丁。 3. 对抗攻击者使用 ExchangeSSRF 漏洞:从旧到新依次安装 Exchange 上的 windows 补丁。 4. 对抗 LDAP relay 攻击:在域控上配置 LDAP enforce signing。 5. 对 抗 LDAP relay 和 SSRF 攻 击 : 在 域 控 上 配 置 LDAPS channel binding。 6. 对抗 LLMNR/NBT Poisoning 攻击:关闭域内 WPAD 服务。 3.检测阶段 原则:若域不安全,最佳修复方案是重装。 1. 检测敏感共享目录访问:访问了 AD 服务器的非正常共享目录 (非 SYSVOL 文件夹) 2. 检测 mimikatz 一系列攻击行为: Mimikatz 通过 sysmon 进程来进行检测,常见关键字有“gentilkiwi (Benjamin DELPY)”(公司名称)、 其 他 关 键 字 : kerberos::golden sekurlsa::pth kerberos::ptt lsadump::dcshadow lsadump::dcsync sekurlsa::logonpasswords privilege::debug misc::skeleton 3. 检测 Kerberos 弱加密方式:非 AES 加密方式的 Kerberos 票据加密 请求相当可疑 4. 检测异常注册表变更和 dump:DSRMAdminLogonBehavior 变更 AdminSDHolder 导出 HKLM\SAM 内容 导出 HKLM\SYSTEM 内容 导出 HKLM\SECURITY 内容 5. 检测 ntdsutil 滥用:使用了 ntdsutil 的敏感参数 activate instance ntds ;使用了 ntdsutil 的敏感参数 set dsrm password 6. 检测 SID history 变更:账号加入 SID History 成功、失败 7.
一次攻防实战演习复盘总结
文档预览
中文文档
29 页
50 下载
1000 浏览
0 评论
0 收藏
3.0分
温馨提示:本文档共29页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 路人甲 于 2022-08-23 08:47:01上传分享