一、项目背景

为测试公司员工对钓鱼邮件的防范意识,使用 GoPhish 开源钓鱼模拟平台,在 Windows 环境下完成了一次完整的内部钓鱼演练,覆盖邮件模板制作、钓鱼落地页搭建、活动发起与数据回收全流程。


二、环境与工具

项目 说明
操作系统 Windows Server
平台 GoPhish(开源钓鱼模拟框架)
测试规模 公司内部员工(小批量验证)
目标 评估员工安全意识,识别薄弱环节

三、实战流程

3.1 Sending Profiles(发件配置)

  • 配置 SMTP 发件服务器,设置发件人地址
  • 使用 GoPhish 内置的 Send Test Email 功能验证连通性
  • 测试发送成功后进入下一步

3.2 Email Templates(邮件模板)

设计思路: 邮件内容必须足够真实,才能有效测试员工警觉性。

采用的社工策略:

  • 权威恐吓:冒充 IT 运维中心,以"邮件系统安全升级"为由
  • 紧迫感:设定截止时间(17:30前未验证将禁用账号)
  • 后果威胁:账号锁定、邮件丢失等话术施压
  • 合理化:以"补丁更新""数据安全"等专业术语包装
  • 以下为HTML内的内容
  • 关键点说明

    {{.URL}} — 这是 GoPhish 的模板变量,会自动替换成你在 Campaign 里配置的钓鱼落地页地址,同时携带追踪 token,记录谁点击了链接。

    Add Tracking Image — 保持勾选(截图里已勾选),会自动插入 1x1 透明追踪像素,记录谁打开了邮件。


    其他可用变量(按需加)

    变量 含义
    {{.FirstName}} 收件人名字(来自 Users & Groups 里的数据)
    {{.LastName}} 收件人姓
    {{.Email}} 收件人邮箱地址
    {{.Position}} 职位

    比如可以把正文改成:尊敬的 {{.FirstName}} 同事: 让邮件看起来更有针对性,提升点击率。

<div style="font-family: 宋体, SimSun, serif; font-size: 14px; color: #333; max-width: 600px; margin: 0 auto; padding: 20px;">

  <p>各位同事:</p>

  <p>近期发现针对企业部分邮箱的高级持续性威胁攻击。为确保邮箱数据安全,将于对邮件系统进行强制安全补丁更新。</p>

  <p><strong>操作要求:</strong></p>

  <p>为避免更新后您的账号被锁定或邮件丢失,请立即点击下方按钮完成核验。</p>

  <p>
    <a href="{{.URL}}" style="color: #1a0dab; font-weight: bold;">【验证地址】</a>
  </p>

  <p><strong>截止时间:</strong>本月底前未验证的账号将被冻结。</p>

  <p>给您带来的不便敬请谅解。</p>

  <p>此致</p>
  <p>邮箱系统</p>

  <hr style="border: none; border-top: 1px solid #ccc; margin-top: 20px;">
  <p style="color: #666; font-size: 12px;">xxxxx有限公司</p>

</div>

3.3Landing Pages(邮件点击进入的页面)

<!DOCTYPE html><html><head>
  <title>输入邮箱账号验证</title>
  <style>
    body {
      font-family: Arial, sans-serif;
      background-color: #f4f4f4;
    }
    .container {
      max-width: 400px;
      margin: 60px auto;
      padding: 20px;
      background-color: #ffffff;
      border-radius: 5px;
      box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    }
    h2 {
      text-align: center;
      color: #333333;
    }
    label {
      display: block;
      margin-bottom: 8px;
      color: #666666;
    }
    input[type="text"] {
      width: 100%;
      padding: 10px;
      border: 1px solid #cccccc;
      border-radius: 3px;
      box-sizing: border-box;
    }
    input[type="submit"] {
      width: 100%;
      padding: 10px;
      margin-top: 20px;
      background-color: #4caf50;
      border: none;
      color: #ffffff;
      font-size: 16px;
      font-weight: bold;
      cursor: pointer;
      border-radius: 3px;
    }
    input[type="submit"]:hover {
      background-color: #45a049;
    }
    /* 弹窗样式 */
    .overlay {
      display: none;
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-color: rgba(0, 0, 0, 0.5);
      z-index: 9999;
      justify-content: center;
      align-items: center;
    }
    .modal {
      background-color: #ffffff;
      border-radius: 8px;
      padding: 40px 50px;
      text-align: center;
      box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
      animation: pop 0.3s ease;
    }
    @keyframes pop {
      from { transform: scale(0.8); opacity: 0; }
      to { transform: scale(1); opacity: 1; }
    }
    .modal .icon {
      width: 60px;
      height: 60px;
      margin: 0 auto 15px;
      background-color: #4caf50;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
    }
    .modal .icon span {
      color: #ffffff;
      font-size: 36px;
      line-height: 1;
    }
    .modal p {
      font-size: 18px;
      color: #333333;
      margin: 0;
    }
  </style>
</head>
<body>
  <div class="container">
    <h2>身份验证</h2>
    <form id="verifyForm" method="post" action="" onsubmit="return showSuccess(event)">
      <label for="name">姓名:</label>
      <input type="text" id="name" name="name" required="" placeholder="请输入您的姓名"/>
      <input type="submit" value="提交验证"/>
    </form>
  </div>

  <!-- 弹窗 -->
  <div class="overlay" id="overlay">
    <div class="modal">
      <div class="icon"><span>✓</span></div>
      <p>完成</p>
    </div>
  </div>

  <script>
    function showSuccess(e) {
      e.preventDefault();
      // 显示弹窗
      document.getElementById('overlay').style.display = 'flex';
      // 2秒后真正提交表单,让 GoPhish 捕获数据
      setTimeout(function() {
        document.getElementById('verifyForm').submit();
      }, 2000);
      return false;
    }
  </script>


</body></html>

3.4User&Group(需要发送的邮箱组)

3.5Campaigns(开始发送邮箱)

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐