目录
快捷键
bind Ctrl+S {
show_message("hello,word!");
elog("使用了快捷键!"); # 在 EventLog位置显示
}
菜单编写
println("-------------菜单创建--------");
popup good{
item("&打工人",{url_open("https://www.baidu.com")});#子菜单
separator();
item("&打工魂",{url_open("https://mail.qq.com")});
}
menubar("打工人专用", "good");#注册菜单
原有菜单追加
popup 后为原有菜单的函数名称,如help帮助菜单
popup help{
item("&打工人",{url_open("https://www.baidu.com")});
separator();
item("&打工魂",{url_open("https://mail.qq.com")});
}
上线目标右键的时候打开菜单
popup beacon_bottom {
item("&打工人",{url_open("https://www.baidu.com")});
separator();
item("&打工魂",{url_open("https://mail.qq.com")});
}
两层菜单嵌套
popup good {
menu "关于我"{
item("&打工人",{url_open("https://www.baidu.com")});
separator();
item("&打工魂",{url_open("https://mail.qq.com")});
}
}
menubar("打工人专用", "good");
三层菜单嵌套
println("-------------三层菜单嵌--------");
popup good {
menu "关于我"{
item("&打工人",{url_open("https://www.baidu.com")});
separator();
item("&打工魂",{url_open("https://mail.qq.com")});
menu "三层嵌套"{
item("&打工人",{url_open("https://www.baidu.com")});
separator();
item("&打工魂",{url_open("https://mail.qq.com")});
}
item("&C2插件学习",{url_open("https://www.baidu.com")});
}
}
menubar("打工人专用", "good");
输入框
总共需要考虑三个变量
$1
为 dialog的引用 $2
按钮的名称 $3
对话框输入的值
sub dialog_test {
#第一行设置标题以及回调函数
$dialog = dialog("标题", %(user => "admin",pass => "root"),&show);
drow_text($dialog,"user","请输入用户名:"); #用户名输入框
drow_text($dialog,"pass","请输入密码:"); #密码输入框
dbutton_action($dialog, "确定"); #确定按钮,当点击了该按钮,就会调用回调函数
dialog_show($dialog); #显示对话框
}
#回调函数
sub show{
println("dialog的引用是: ".$1);
println("按钮是名称是: ".$2);
println("输入的用户名:".$3['user']."输入的密码: ".$3['pass']);
show_message("输入的用户名:".$3['user']."输入的密码: ".$3['pass']);
}
事件处理
println("-------------事件--------");
on event_join {
show_message($1."加入到团队协助");
elog(mynick()."来了!");
}
自定义输出
println("-------------自定义输出--------");
#设置 Event Log状态栏左边的信息
set EVENT_SBAR_LEFT {
return "[" . tstamp(ticks()) . "] 当前用户名 " . mynick();
}
#设置 Event Log状态栏右边的信息
set EVENT_SBAR_RIGHT {
return "[lag: $1 $+ ]";
}
Beacon
C2分配一个会话 ID 到每个Beacon。这个 ID 是一个随机数。Cobalt Strike 将任务和元数据与每个 Beacon ID 关联。使用 & Beacon 查询当前所有 Beacon 会话的元数据。使用 & Beacon _ info 查询特定 Beacon 会话的元数据。这里有一个脚本来转储每个 Beacon 会话的信息
Cobalt Strike 将以下参数传递给别名: $0是别名和参数,没有进行任何解析。$1是别名输入的 Beacon 的 ID。参数 $2和 on 包含传递给别名的单个参数。别名分析器按空格分隔参数。用户可以使用“双引号”将单词分组成一个参数
println("-------------Beacon--------");
alias hello {
blog($1, "Hello word!");
}
alias saywhat {
blog($1, "My arguments are: " . substr($0, 8) . "\n");
}
查看当前所有Beacon
command beacons {
local('$entry $key $value');
foreach $entry (beacons()) {
println("== " . $entry['id'] . " ==");
foreach $key => $value ($entry) {
println("$[20]key : $value");
}
println();
}
}