You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何制作可统计被打开次数的模拟文件用于企业安全意识培训?

信息安全培训用打开次数统计可执行文件实现方案

核心逻辑说明

整个工具只需要实现两个核心动作即可满足需求:一是程序被双击运行时自动向内网预设的统计服务上报打开事件;二是上报完成后弹出伪装的正常报错提示,避免员工察觉到是模拟测试。

Windows端落地实现方案(适配企业邮件钓鱼模拟场景)

方案1:Python打包EXE(零开发基础也能快速实现)

  • 先写核心业务逻辑代码,仅需依赖requests库:
import requests
import tkinter as tk
from tkinter import messagebox

# 替换为你自己内网部署的统计接口地址
REPORT_URL = "http://内网统计服务IP/report"

if __name__ == "__main__":
    # 上报打开事件,可自定义参数区分不同部门/批次的测试邮件
    try:
        requests.get(REPORT_URL, timeout=3)
    except:
        # 上报失败也不抛出异常,避免暴露程序逻辑
        pass
    # 弹出伪装报错提示
    root = tk.Tk()
    root.withdraw()
    messagebox.showerror("错误", "无法打开该文件,文件格式已损坏或不被当前系统支持")
  • 打包为单EXE文件:安装pyinstaller后执行命令 pyinstaller -F -w 脚本文件名.py,-w参数用于隐藏控制台窗口,完全不会暴露程序逻辑。
  • 配套统计服务端可直接用极简Flask脚本搭建,跑在内网任意服务器上即可:
from flask import Flask

app = Flask(__name__)
open_count = 0

@app.route('/report')
def report():
    global open_count
    open_count +=1
    return "ok"

@app.route('/count')
def get_count():
    return f"总打开次数:{open_count}"

if __name__ == "__main__":
    app.run(host="0.0.0.0", port=80)

方案2:VBS脚本(无需打包,兼容性更强)

不需要编译打包,直接写纯文本脚本改后缀即可使用,对旧版本Windows系统兼容性更好:

Set objXML = CreateObject("MSXML2.XMLHTTP")
' 替换为你自己的内网统计服务上报地址
objXML.open "GET", "http://内网统计服务IP/report", False
On Error Resume Next
objXML.send
On Error GoTo 0
' 弹出伪装报错
MsgBox "无法打开该文件,文件已损坏", vbCritical, "错误"

注意事项

  • 所有服务和上报地址都部署在企业内网,避免触发外网流量监测告警
  • 提前和公司IT部门报备测试行为,避免被终端EDR误判为恶意软件拦截
  • 可以给不同批次/部门的测试文件加不同的上报参数,可细分统计不同部门的打开率,方便后续做针对性安全培训

内容的提问来源于stack exchange,提问作者ennbenn72

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 10:24:02