在这之前,我们介绍了如何给内置命令分级,还演示了BOF操作规避查杀,还但这种操作无疑是跑偏了,原因在于内置命令有很多,每个操作都使用BOF,无意是非常麻烦,为了解决这个问题,官方在4.5版本追加了允许用户定义自己的进程注入技术,这发布在arsenal-kit官方武器库中,一旦加载该插件,便可修改cobalt strike内置的大部分技术。
在武器库的process_inject部分,我们使用kali编译并加载到cobaltstrike,这两个钩子将覆盖大部分的内置命令。
参考资料: 控制进程注入 Beacon 命令行为和 OPSEC 注意事项
加载进程注入插件,从控制台可以看到Process Inject Kit Loaded
我们挑选一个命令,进行屏幕截图
操作,前后分别对应了fork &fun注入
和显示注入
:
[beacon] -> Explore -> Screenshot
[Process Browser] -> Screenshot (Yes)
只测试了一种,我们发现,使用官方进程注入插件依旧被查杀了,我们不得不使用其他方式实现hook。
使用地狱之门
实现间接系统调用
,使用x64 MinGW
进行编译:
x86_64-w64-mingw32-gcc -c process_inject_spawn.c -o process_inject_spawn.x64.o -masm=intel
x86_64-w64-mingw32-gcc -c process_inject_explicit.c -o process_inject_explicit.x64.o -masm=intel
替换原有编译文件,reload插件并再次进行截图,我们发现,成功绕过Defender监控: