
一、钓鱼邮件内容

二、钓鱼网站页面




三、钓鱼网页代码




四、代码结构与核心功能分析
1. HTML基础结构
页面标题:<title>拉卡拉POS机</title>,伪装成提供POS机服务的合法页面。
响应式设计:通过<meta name="viewport">和JavaScript脚本(如function d())实现移动端适配,确保在不同设备上显示正常。
外部资源引用:
CSS文件:yejun_371_22_20210506.02120jen.css,用于页面样式。
JavaScript库:Vue.js 2.6.10(vue.min.js),用于动态渲染页面组件。
自定义脚本:yejun_371_22_20210506.6520222u.js,包含核心业务逻辑。
2. 核心脚本功能
动态表单配置:
表单字段:要求用户输入姓名(name)、手机号(mobile)、地址(address)等敏感信息。
协议绑定:通过勾选“我已阅读并同意《服务协议》”诱导用户授权,协议中涉及多家公司(如“广州鑫山网络科技有限公司”),需验证其真实性。
数据加密:提交时对name、mobile、idcard字段加密(encryptType: "object"),可能用于规避安全检测。
Vue.js动态渲染:
//javascript
new Vue({
components: {
activity: yejun_371_22_20210506
},
data: function() {
return {
setting: o,
companyId: 76,
activityId: 459,
timestamp: 20250318103313039,
trace: e
}
}
}).$mount("#app")
组件注册:注册名为activity的Vue组件,对应yejun_371_22_20210506模块。
数据绑定:
setting:绑定o对象,包含页面配置和动态数据。
companyId、activityId:可能用于标识活动或公司。
timestamp:时间戳,可能用于记录页面加载时间。
trace:绑定e(Cookie值),用于追踪用户行为。
组件注入:
yejun_371_22_20210506模块可能包含恶意逻辑(如表单提交、数据加密)。
动态渲染使得页面内容难以被静态分析工具检测。
时间戳记录:
timestamp可能用于记录用户访问时间,结合其他数据(如IP地址)进行精准画像。
版本切换逻辑:
//javascript
o = o[t] ? (this.versionId = t, o[t]) : (this.versionId = 0, o[0])
根据传入的版本号t,选择对应的配置对象o[t]。
如果t不存在,则默认使用o[0](第一个版本)。
用户行为追踪:
倒计时与限时提示:timer0模块显示“火热进行中”,制造紧迫感。
虚假数据统计:number0模块显示“等16126人已领取”,伪造用户活跃度。
弹窗诱导:如关注公众号弹层(layer_follow)、退出确认弹层(layer_quit),强制用户操作。
Cookie读取与解析:
//javascript
c = function(t) {
return decodeURIComponent(document.cookie.replace(new RegExp("(?:(?:^|.*;)\\s*" + encodeURIComponent(t).replace(/[-.+*]/g, "\\$&") + "\\s*\\=\\s*([^;]*).*$)|^.*$"), "$1")) || null
}
该函数用于从浏览器的Cookie中读取指定键(t)的值。
通过正则表达式匹配Cookie内容,并解码返回。
用途:可能用于追踪用户是否访问过该页面,或存储用户偏好信息。通过读取Cookie值(e),可能用于追踪用户身份或行为。如果Cookie中包含敏感信息(如用户ID、设备信息),可能被用于进一步攻击。
数据提交与重定向:
表单提交后跳转至统计链接(https://75.vrm.cn/1262?src=vrm-yl-wz-pos),可能用于收集用户数据。
部分按钮绑定外部链接(如https://kxz.cn/9wWow),跳转至“在线客服”,需警惕恶意跳转与虚假客服诱导。
版本控制与初始化:
//javascript
if (1 === Object.keys(o).length)
this.deploy(0);
else if (/(\?|&)vid=/.test(location.search))
this.deploy(unescape(location.search.substr(1).match(/(^|&)vid=([^&]*)(&|$)/)[2]));
else if (e)
this.deploy(e);
单版本模式:如果o对象只有一个版本(Object.keys(o).length === 1),直接部署默认版本(deploy(0))。
URL参数控制:如果URL中包含vid参数(如?vid=1),则根据参数值部署对应版本。
URL参数注入:通过vid参数控制页面版本,可能用于A/B测试或定向攻击。攻击者可通过修改URL参数,向不同用户展示不同的钓鱼内容。
Cookie控制:如果Cookie中存在指定值(e),则根据Cookie值部署对应版本。
3. 钓鱼特征
伪造品牌背书:
使用“拉卡拉POS机”作为标题,模仿知名支付品牌。
引用“有利生活”公众号二维码,诱导用户关注以进一步诈骗。
社会工程手段:
紧迫性设计:倒计时、限时领取、虚假领取人数统计。
信任建立:伪造用户协议、公司名称、隐私政策(如《个人信息处理知情同意书》)。
五、恶意脚本与潜在风险
1. 高风险代码段
敏感信息收集:
//javascript
"encryptField": "name,mobile,idcard",
"encryptMainField": "encryParams",
加密字段可能包含用户身份证号(idcard),远超正常POS机服务所需信息。
隐藏的跳转逻辑:
//javascript
"link": { "url": "https://quan.mx/fgij" }
短链quan.mx/fgij可能指向恶意网站或下载链接。
动态加载资源:
//javascript
"updateBanner3": "https://pmbu-assets.shijiala.com/wu/2021/04/28/pos-update-form-min.png"
图片资源可能包含隐藏代码或用于后续攻击。
2. 依赖的外部资源
可疑域名:
pmbu-cdn.yo.com.cn、pmbu-assets.shijiala.com:域名注册信息需验证,可能为临时搭建的钓鱼资源服务器。
vrm.cn:提交数据的统计域名,需排查其合法性。
六、本案例钓鱼技术综合分析
钓鱼流程:
用户点击钓鱼邮件中的链接,进入伪造的“拉卡拉POS机”页面。
页面通过Cookie或URL参数判断用户身份,动态渲染对应版本。
用户被诱导填写姓名、手机号、身份证号等敏感信息。
数据加密后提交至恶意服务器(如vrm.cn)。
用户被重定向至其他页面(如关注公众号或下载恶意软件)。
技术手段:
动态渲染:利用Vue.js实现页面动态化,规避静态检测。
数据加密:对提交的敏感信息加密,规避安全工具拦截。
追踪与画像:通过Cookie、URL参数、时间戳等追踪用户行为。
七、防御措施与建议
用户防护建议
1. 不轻信邮件链接:
直接访问官方网站而非点击邮件中的链接。
检查URL域名是否与品牌官方域名一致(如拉卡拉官网为lakala.com)。
2. 警惕信息收集:
合法POS机申请通常仅需基础信息,无需身份证号或详细地址。
验证页面提及的公司(如通过天眼查、企查查)。
3. 技术防护:
启用浏览器安全插件(如uBlock Origin、NoScript)拦截恶意脚本。
使用虚拟机或沙盒环境打开可疑链接。
企业防护建议
1. 邮件过滤:
部署SPF、DKIM、DMARC协议,拦截伪造发件人的钓鱼邮件。
使用AI驱动的邮件安全网关(如Proofpoint、Mimecast)。
2. 员工培训:
定期开展钓鱼邮件模拟演练,提升识别能力。
强调“三不原则”:不点击、不回复、不泄露。
3. 技术监测:
监控企业内网对pmbu-cdn.yo.com.cn等域名的访问请求。
部署EDR(端点检测与响应)工具拦截恶意行为。
八、总结
该钓鱼网页通过伪造知名品牌、动态表单诱导、虚假数据统计等手段,试图窃取用户敏感信息。其代码中隐藏了数据加密提交、外部资源加载、恶意跳转等高危行为。防御需结合技术手段(过滤、监控)与人员意识提升,形成多层次防护体系。
编辑:芦笛(公共互联网反网络钓鱼工作组)
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。