这是[信安成长计划]的第 14 篇文章
0x00 目录
0x01 DotNet功能分析
0x02 DotNet功能执行
0x03 写在最后
在上两篇文章中,讲述了 CS 中的一种功能执行方式 RDI,这一次来分析一下另外一个非常重要的功能执行方式——DotNet
0x01 DotNet功能分析
CobaltStrike 提供了一种可以执行任意 DotNet 程序的方案,使用了名叫 invokeassembly 的 DLL,来加载和执行所传递的 DotNet 功能,提供这个方法的 Job 是 ExecuteAssemblyJob,它跟 RDI 不一样,它继承自 JobSimple 类

与 RDI 一样,它也有一些必须要处理的方法

在实际执行的时候,它会直接来运行 ExecuteAssemblyJob 的 spawn 方法

首先它会获取到 invokeassembly.dll,然后获取到它的 ReflectiveLoader 函数,接着就开始了任务的构建

本文是CobaltStrike逆向学习系列的第14篇,重点解析CobaltStrike如何利用invokeassembly.dll执行任意DotNet程序。通过ExecuteAssemblyJob类,CobaltStrike将DotNet程序和参数作为参数传递,利用Hosting CLR技术加载运行。与RDI不同,DotNet执行无需处理管道内容,所有处理由beacon和invokeassembly完成。
最低0.47元/天 解锁文章
937

被折叠的 条评论
为什么被折叠?



