Listeners 是 Cobalt Strike's 对于payloads handler的抽象,Listeners 是连接到 payload 配置信息的名称(例如:协议、主机、端口等等),在某些情况下,还承诺建立一个服务器来接收来自所描述的有效负载的连接。
Aggressor Script 会聚合您当前连接到的所有团队服务器的Listeners 信息,这使得很容易将会话传递给另一个团队服务器。 要获取所有侦听器名称的列表,请使用&listeners函数。 如果您只想使用本地监听器,请使用 &listeners_local 。 &listener_info 函数将侦听器名称解析为其配置信息。 此示例将所有侦听器及其配置输出到Aggressor Script控制台:
command listeners {
local('$name $key $value');
foreach $name (listeners()) {
println("== $name == ");
foreach $key => $value (listener_info($name)) {
println("$[20]key : $value");
}
}
}
使用 &listener_createv 创建一个监听器并启动一个与之关联的负载处理程序。
使用&openPayloadHelper打开一个列出所有可用侦听器的对话框。用户选择侦听器后,此对话框将关闭,Cobalt Strike将运行回调函数。以下是Beacon spawn 菜单的源代码:
item "&Spawn" {
openPayloadHelper(lambda({
binput($bids, "spawn $1");
bspawn($bids, $1);
}, $bids => $1));
}
使用 &shellcode为指定的Listens生成shellcode。
使用 &artifact 为指定的Listens生成可执行文件或DLL。
使用 &powershell 生成一个用于加载Listens的powershell一行程序。
使用 &artifact_stageless 为本地Listens生成无Stage可执行文件,DLL,PowerShell脚本或 raw position-independent blob。