CobaltStrike插件开发-learning-day3

 

目录

快捷键

菜单编写

输入框

事件处理​

自定义输出

Beacon


快捷键

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();
	}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值