一、钓鱼邮件内容

二、钓鱼网站页面

三、钓鱼网页代码

四、代码结构与核心功能分析

1. 核心结构与功能

页面伪装

标题与图标:标题为“邮件服务器验证程序”,图标favicon.jpg可能伪装成企业邮箱或云服务(如微软、QQ邮箱),增强可信度。

登录表单:包含用户名(mxuid)和密码(apikey)输入字段,提交按钮使用图片signin.jpg模仿真实登录界面。

底部链接:列出“QQ邮箱”“网易邮箱”“微软中心”等虚假服务链接,模仿企业或常见邮箱的帮助页面,降低用户警惕性。

动态内容加载

透明iframe覆盖:通过<iframe>覆盖整个页面(opacity: 0.3),可能用于加载合法网站的透明层(如真实邮箱登录页),实现点击劫持(Clickjacking)。

后端接口:

policy.php:接收用户邮箱地址(Base64编码),返回动态配置(如伪造的图标、iframe链接)。

priv.php:接收用户输入的账号密码,直接发送至攻击者服务器。

2. 关键JavaScript函数分析

GEInfo(emailAddress)

功能:通过POST请求向policy.php发送用户邮箱(Base64编码),获取动态配置(favico图标、container_frame的iframe链接、end_page跳转页面)。

用途:根据用户邮箱定制钓鱼页面(例如,针对企业邮箱用户返回对应品牌图标),提升欺骗性。

psignal(apiname, apikey)

功能:将用户输入的用户名和密码通过priv.php提交到攻击者服务器(application/x-www-form-urlencoded格式)。

数据泄露路径:攻击者通过此接口窃取用户凭据,可能用于后续登录或售卖。

DOMContentLoaded事件

预填充用户名:若URL中包含mxid参数(如钓鱼邮件链接?mxid=xxx),自动填充用户名并锁定输入框(readonly),模拟“账户异常需验证”场景。

动态资源注入:根据policy.php返回的数据,修改页面图标(favicon)和iframe内容,使钓鱼页面更逼真。

3. 钓鱼攻击的技术特征

URL参数劫持

通过mxid参数预填用户名,伪装成“系统自动检测到账户异常”,诱导用户补全密码。

透明层欺骗

使用透明iframe覆盖页面,可能加载真实服务的登录页(如Outlook),用户实际点击的是隐藏的钓鱼表单。

动态适配

根据用户邮箱动态调整页面元素(如企业图标),逃避静态检测工具。

数据外传接口

priv.php未加密传输用户密码,攻击者可实时获取凭据。

4. 钓鱼邮件的典型特征

邮件内容

主题可能为“账户安全警告”“系统升级通知”等,诱导用户点击链接。

链接包含mxid参数(如https://phishing-site.com?mxid=user@company.com)。

页面伪装

模仿企业邮箱登录页,包含品牌Logo、帮助链接等细节。

使用专业术语(如“版本:移动应用”)提升可信度。

五、防御措施建议

用户层面

1. 警惕预填表单:不信任自动填充用户名的页面,尤其是通过邮件链接访问的。

2. 检查URL域名:确认登录页的域名是否与企业官方域名一致。

3. 启用多因素认证(MFA):即使密码泄露,攻击者也无法直接登录。

技术层面

1. 阻断恶意请求:在企业防火墙或WAF中拦截对policy.php和priv.php的访问。

2. 流量监控:检测异常POST请求(如application/x-www-form-urlencoded提交到未知域名)。

3. 邮箱安全策略:部署DMARC、SPF、DKIM协议,防止钓鱼邮件伪造发件人。

企业层面

1. 员工培训:定期模拟钓鱼攻击,提升员工识别能力。

2. 代码审计:检查内部系统是否被注入类似iframe或恶意脚本。

六、总结

该钓鱼网页通过动态适配、透明iframe覆盖、预填用户名等手段,高度模仿企业邮箱登录页。其核心风险在于用户凭据通过priv.php直接泄露至攻击者服务器。防御需结合技术拦截(如阻断恶意接口)、用户教育(如识别钓鱼链接)和企业策略(如强化邮件安全协议),形成多层防护体系。

编辑:芦笛(公共互联网反网络钓鱼工作组)

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐