- 前言
- Cobalt Strike 简介
- Cobalt Strike 基本使用
- Cobalt Strike Beacon 命令
- Cobalt Strike 脚本使用
- Cobalt Strike 脚本编写
- Cobalt Strike 扩展
- Cobalt Strike 原理介绍
- Cobalt Strike 攻击防御
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
Payload 生成分析后续补充
本章节是对上一个章节Payload生成分析的补充内容
CS从4.1后Beacon修补措施发生了一些变化在这里进行一下补充
随便找一个4.1往后版本的Beacon.dll(需要提前解密,解密脚本在本文的git上)查看导出的反射函数ReflectiveLoader会发ReflectiveLoader函数相比较之前有所变化全部变成了nop或int3指令
这是因为在4.1以后cs会根据c2配置文件的allocator选项自动选择合适的反射加载器(Reflective Loader)然后对dll进行修补
根据调用的函数不同分为HeapAlloc、MapViewOfFile 和 VirtualAlloc这三种
原先cs是根据标志位在运行时判断使用哪个函数现在cs则是根据这三种函数编译出来的三种BOF(OBJ文件)
根据C2配置选择对应的反射加载器,默认为BeaconLoader.VA
注:因为反射函数本身就是一个shellcode所以修复obj时无需修复导入表也没有导入表,只需要修复重定有关这部分可以参考Beacon Object File(BOF实现原理)不在说了
最后的BeaconLoader.VA和BeaconLoader并无太大区别只不过.VA带有一点内存解密会根据NumberOfSymbols判断是否需要解密
这样做也好自己也可以写OBJ文件修补加载器函数
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论