实战录:记一次红队实战

admin 2026-08-15 05:40:36 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文记录了一次限制打DC和高危资产的红队实战。攻击者利用ADCSESC11漏洞结合WSPCoerce攻击绕过CortexEDR。通过添加内网DNS记录、劫持出网跳板机并采用OpSec手法禁用其445端口做流量转发,成功对隔离目标实施NTLM中继获取证书。随后通过进程注入利用SSPI机制免密申请高权用户证书还原凭据,最终重置管理员密码,实现从普通权限到ADFS及AWS云高权的完整链路,展示了高级对抗中的隐蔽横向移动技巧。 综合评分: 87 文章分类: 红队,内网渗透,渗透测试,实战经验


cover_image

实战录:记一次红队实战

小离@绝影小组 小离@绝影小组

Gcow安全团队

2026年8月14日 21:50 天津

在小说阅读器读本章

去阅读

实战录:记一次红队实战

Hello,我是 xiaolichan,很久没写文章了,没什么好文章可以写写,这次就写写一篇比较有意思的红队实战。本文仅供安全技术交流与研究,请严格遵守相关法律法规,切勿用于非法用途,所产生的影响都与笔者和本公众号无关。

环境如下,此次实战发生在 2025年4月,那时候没有 CertiGhost / ResetNightmare / CVE-2025-33073

攻击路径ADCS ESC11入口点:普通用户权限•EDRCortex客户要求不能打 DC 以及高危资产

C2 这里没用 Cobalt Strike,用的是商用产品 OutFlank,配套有 OutFlank C2 + ToolSet + Payload Generator,含金量我就不说了,懂得都懂。

0x01 – Callback – 入口点

Machine NameP3\$AccountHK\ee其中一台 DC IP172.152其中一个 DAade@hk

0x02 – Recon – ADCS

•有 Cortex,开新进程比较麻烦了,就不用 earlybird 了,因此 Certify 使用了 shellcode 方式 load 进去(thread)。•BloodHound 也是同样方法 Load。•certify + bloodhound 都做了 obfuscate。•使用 OC2 的 exec_dotnet 失败了,可能触发了当前 Cortex 莫名其妙的规则。

如图所示,有 ESC6 和 ESC11,ESC6 我试了,走不了捷径,因此转而尝试 ESC11

ADCS Info

CAsADNSs1.s.comCSCN=sA, DC=s, DC=comIP172.2

0x03 – Recon – Target

客户不给打 DC,那么只能另寻路子了,找到个高权限组的用户,可以重置整个域用户的组,针对该组里面的用户。

这里看到 I4\$@HK 这台机器上有 ME@HK 的 SessionME@HK 是 IT@HK 的组成员,这个组对域内任何用户都有 resetpassword 权限(打码太麻烦了,没放图)。

因此我们现在要想办法横向到 I4\$@HK 这台机器上,但是 I4\$@HK 这台隔离了 Internet,是不出网资产(使用后续的 wspcoerce 进行探测是否出网即可),因此还要准备很多前骤功夫。

0x04 – 前骤 1 – Add DNS Record

达成 ESC11 的第一个前提条件,是需要一台 VPS + 内网添加一个 DNS 记录,如下,使用 Outflank 的 BOF 去添加。

如图,添加信息:

DNS TypeATTL360A Recordnd.hkIP14

为什么加 DNS? 因为如果不加 DNS,后续的 Coerce 需要用 Hostname 去触发,否则会触发不了 NTLM Callback

0x04 – 前骤 2 – 选择内网跳板

•因为有 Cortex,有基本常识的都知道,你用公开的 Coerce tools,基本都会被拦截,比如 PetitPotam 这些,这些对于 Cortex 来说很容易检测,毕竟是固定的 RPC named pipes (ncacn_np) / UUID (ncacn_ip_tcp)。•这里使用了 wspcoerce,特点就是通过 SMB 协议进行触发回连(非传统 DCERPC 那样),如果想知道为什么 Opsec 的具体可以看 GitHub,但是缺点就是,因为这个是 SMB,无法像 PetitPotam 触发 webdav http 协议转到 ldap 进行提权。•综上所述,不考虑提权,直接考虑 ESC11 感染一台出网机器。•这里选择了一台幸运观众进行。

如图所示,使用 wspcoerce 的 BOF 对出网机器 IS\$@HK 进行 coerce attack,回连到刚刚创建的 DNS 记录 nd.hk

VPS 有反应,接下来到下一步。

0x04 – 前骤 3 – 感染作为内网跳板

插曲:准备到这一步时候,IS\$@HK 这台下班关机了,只能换一台,这次选择了机器名为 I54\$@HK。和刚刚上面一样,不同的是不用 responder 了,这里用 proxychains + ntlmrelayx,使其回弹到内网的 ESC11。

如图,一气呵成,WSPCoerce 直接让 I54\$@HK 回连到 nd.hk,接着可以看到 I54\$@HK 的证书下来了,然后使用 certipy 认证 AD 获取 TGTTGT 还原出 NTLM

有了机器账户 + NTLM,接下来可以横向了,先生成一张银票,forge 用户名使用前面收集到的域管之一的 ade,生成 ade.ccache

横向移动

OPSEC 的横向移动方法,按照 Outflank 给的建议,就是修改一个指定服务的 binpath,这样既不用创建,也不用 call cmd。

proxychains 代理整个 /bin/bash,然后 wmiexec-pro 先 enum,确保前面的步骤没错并且能横向。

Combo 连招SMB 传文件 + WMI 修改 binpath 然后执行(被修改的服务这里不透露太多,可以自个问问 AI 哪个停止了没啥影响的服务)。

Callback

0x04 – 前骤 4 – 停止 445

相信很多人第一时间想到是 PortBender,用那个立马就被 EDR 踢出去了,因为那个要用到第三方驱动

这里使用的是 SpecterOps 的 Nick Powers 在 x33fcon 上介绍的一个非常 Opsec 的方法,只需简简单单几个步骤,即可停止掉 445

没错,我的名字也出现在了别人的 PPT 里面。

事不宜迟,直接用。

然后加转发,本地 445 转发到 VPS 的 445,转发没问题,证明 OK(时间不对是因为有些图是后面写报告时候补的)。

0x05 – 攻击目标机器

•出网机器 I54\$@HK 有了,现在可以攻击 0x01 提到的目标机器 I4\$@HK 并且获取 ME@HK 了。

然后此时 I4\$ 会触发回连到 I54\$ 的 445I54\$ 的 445 转发到 VPS 的 445

证书来! I4.pfx,后面还原 NTLM 那些就不截图了。

0x06 – 获取 ME@HK

•横向移动过程略,主要是用 smb pipe 上线。

进程列表找到我们要的 ME@HK 了。

但是我们当前是 System 权限,两个方法导出那个凭据:

1.Lsass Dump2.利用现有的 ADCS,指定一个 ME 相关的用户进程,注入过去执行 Certify 申请证书Certify 会走 Kerberos,底层通过 SSPI 完成,因此不需要输入用户密码,即刻获取证书。

这里我用第二个方法,先做 shellcode,然后输出证书到 C:\windows\temp\a.txt

注入,方法的话是 Outflank 自带的 Lockpos 方法,实测能过 Cortex,并且 ME 的证书下来了。

也是和前面同样的方法获取 NTLM,这里截图略。

0x07 – GOAL

后面这里改了个管理员 CG(管理员名字是客户指定的),然后登录进去 ADFS 算 win win 了。

ADFS,选了个 AWS 登录过去。

AWSadmin rights

至此,整个 RedTeam 项目完成。

References

[1]http://outflank.nl/ [2]https://specterops.io/blog/2024/08/01/relay-your-heart-away-an-opsec-conscious-approach-to-445-takeover/?source=rss—-f05f8696e3cc—4#implementation-summary [3]https://www.youtube.com/watch?v=iBqOOkQGJEA


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:Gcow安全团队 小离@绝影小组 小离@绝影小组《实战录:记一次红队实战》

评论:0   参与:  0