在这之前,我们分享了几个高级免杀加载器,我们还介绍了使用BOF对目标执行操作的理论,接下来我们来看一下这些命令的实操。
Cobalt Strike有很多远程命令,包括我们熟悉的键盘记录、Mimikatz、屏幕截图等。但目前为止它的许多命令已受到严格监控,一旦操作不慎,可能被检测到导致会话丢失。因此,搞清楚哪些命令能敲,哪些不能随便敲至关重要。
Fork & Run是后利用的一种技术,使用这类命令后,它需要首先创建一个子进程(fork),然后将代码注入到这个进程内并运行(run),这种模式被称为 fork&run。典型的命令有hashdump
、mimikatz
、screenshot
,相信大家也都知道。
打个比方:比如我们执行hashdump命令后,它会注入到系统的 LSASS(Local Security Authority Subsystem Service) 进程中。LSASS 进程负责处理系统的安全策略和用户认证信息,因此它存储着用户的密码散列值。攻击者通过将恶意代码注入到 LSASS 进程,可以提取这些密码散列(即 hash),然后进行后续的密码破解或使用这些散列来进行横向移动攻击。
会被监控并查杀
。由于这些命令比较危险,各大杀软对其做了严格的监控,不信?我们来试试就知道了。
接下来我们在windows defender演示下内置的screenshot
:
可以看到,执行屏幕截图后被defender查杀了,导致beacon掉线,这显然不是我们想看到的结局。
由于内置命令有许多类,这里就不展开了,我们需要使用一个方法,将命令分为淡绿色
、绿色
、黄色
、红色
。如此一来,我们就能清楚的知道哪些命令能敲,哪些命令不能敲。
导入我们的HelpColor插件,使用helpx
查看帮助。
归类了然后呢,我们必须开发对应命令的BOF操作来替代内置命令。
导入我们的screenshotBOF插件,我们使用screenshot_bof
进行屏幕截图。命令为:
screenshot_bof desk.bmp 1
执行完后,点击菜单栏的下载图标,可以看到一个bmp文件。
右键它,选择 Render BMP
(渲染BMP)查看。这时候你会发现,我们绕过了Defender监控对目标进行了截屏,此opsec操作
无法被查杀。