钓鱼邮件攻击防范指南:新知收到钓鱼邮件
钓鱼邮件攻击防范指南:新知收到钓鱼邮件下面,笔者将演示钓鱼邮件的制作和攻击的过程,便于读者更好地理解其原理。我们以著名购物网站某宝为例(笔者承诺文中模板仅为测试用,未有非法攻击等违法行为):其实,就本例而言,我们仔细分析这封邮件的邮件头,还可以发现,这封邮件是一名俄罗斯黑客通过伪造 Google 的 gmail 邮件服务,以 manierca92@gmail.com 为显示发件人发送的。至于为什么说是伪造的,下文将涉及。我们可以看到,代码最后显示这幅图片通过用户的点击浏览使用户下载比特币相关的推广程序。图中 IP 显示服务器在境外。根据笔者经验推测,该 exe 推广程序还可能具备窃取用户计算机信息、传播甚至自我修复等功能。该封邮件具有钓鱼邮件基本特征。那么,到底什么是钓鱼邮件呢?钓鱼邮件指通过伪装的电子邮件欺骗获取收件人账号、口令等重要信息或引导收件人浏览特定页面、文件等的一种电子欺诈手段。
近日,在邮箱看到一封钓鱼邮件。由于近期邮件系统多次受到钓鱼邮件侵袭,便想以这封钓鱼邮件为例,一起分析下其工作原理和防范措施。
邮件已被邮箱管理员以附件形式放置到病毒文件夹待处理,如下图:
我们下载附件(病毒邮件)后,通过 Foxmail 等邮件客户端打开(这里建议没有经验的用户在沙箱中或虚拟机中操作),发现其仅包含一个名为 ng5c1 的 .jpg 图片文件。
钓鱼邮件的主要功能代码就在附件图片中。如果操作系统存在相关漏洞(如缓冲区溢出),那么用户打开或者处理图片时利用漏洞(如发生溢出)会导致图片内携带的恶意指令得以执行。而这些恶意指令是可以通过图片木马合成工具或者 Dos 命令添加到图片中的。我们通过十六进制打开这副图片。如下图:
我们可以看到,代码最后显示这幅图片通过用户的点击浏览使用户下载比特币相关的推广程序。图中 IP 显示服务器在境外。根据笔者经验推测,该 exe 推广程序还可能具备窃取用户计算机信息、传播甚至自我修复等功能。该封邮件具有钓鱼邮件基本特征。
那么,到底什么是钓鱼邮件呢?
钓鱼邮件指通过伪装的电子邮件欺骗获取收件人账号、口令等重要信息或引导收件人浏览特定页面、文件等的一种电子欺诈手段。
其实,就本例而言,我们仔细分析这封邮件的邮件头,还可以发现,这封邮件是一名俄罗斯黑客通过伪造 Google 的 gmail 邮件服务,以 manierca92@gmail.com 为显示发件人发送的。至于为什么说是伪造的,下文将涉及。
下面,笔者将演示钓鱼邮件的制作和攻击的过程,便于读者更好地理解其原理。我们以著名购物网站某宝为例(笔者承诺文中模板仅为测试用,未有非法攻击等违法行为):
一. 伪造受信任网站
钓鱼前,我们需要伪造一个用户熟悉信任的网站来诱骗用户登录,从而获取他们的登录账户、密码等重要信息。这里我们通过 set 工具包克隆某宝网站,如下图:
请各位注意,该网站地址为 www.taoba0.com。同官方网址 www.taobao.com 相比,该钓鱼网址具有较大迷惑性。一般来讲,我们可能还会遇到如下形式的钓鱼网站地址伪造:如 www.taobao.xxx.com。攻击者会先申请一个 xxx.com 域名,然后注册其子域名进行欺骗。或者,诸如 http://service-taobao.com 形式,通过添加连接线等方式欺骗用户,迷混过关。
本例中,当用户在 www.taoba0.com 网站密码登录表单内输入相关信息时,用户相关账户信息将被发送至指定用户那里。如下图:
二.进行邮件伪造
如何让用户点击该钓鱼链接,进而窃取其账户信息呢?这涉及社会工程学范畴。我们通常见到的有退款通知、中奖通告、补丁升级等具有一定吸引力的标题内容。就文中示例而言,我们可以伪造成退货进度通知,退款申请或者申请售后查询等相关信息去发布该链接。
这里,我们先了解下社会工程学的定义。社会工程学(Social Engineering)是一种通过人际交流的方式获得信息的非技术渗透手段。对于黑客而言,或许通过一个用户名、一串数字或英文代码、一段自述文字,并加以筛选、整理,就可以把个人的所有个人情况信息、家庭状况、兴趣爱好、婚姻状况、上网痕迹等个人信息基本掌握。
我们制作好钓鱼网站并编写代码接受用户账户信息后,便可以发布该网站链接了。如下图:
我们通过技术手段伪造了某宝客户邮箱账号 service@taobao.com,给我们邮箱发了一封钓鱼邮件。接收邮件截图如下:
我们可以发现从收件箱看来,并无异常。当然,我们这里仅为说明起见,邮件内容做的较为粗糙。黑客在真实钓鱼过程中会将邮件内容做到更加逼真,并将该类型邮件群发。若有用户点击,则其账户相关信息将如上文所示发到指定人那里。
在了解钓鱼邮件基本原理后,下面将讨论钓鱼邮件识别防范措施。
作为服务器端而言,通常会采取以下措施:
1. Email网关反向查询邮件来源的域名。若域名未设置MX(邮件交换记录)或无MX记录,网关会丢弃该邮件。MX的作用是给发信者指明该域名的邮件服务器有哪些。
2. 有的邮件服务器具备whois功能,能够判断邮件内容和邮箱对应域名提供业务是否匹配,从而判断该邮件是否正常。
3. SPF技术
SPF是跟DNS相关的一项技术,它的内容写在DNS的TXT类型的记录里面。SPF的作用跟MX相反,可理解为一个反向DNS,将邮箱域名和固定的IP源绑定,它向收信者表明,哪些邮件服务器是经过该域名认可发送邮件的。主要针对发信人伪造域名的危险邮件。例如上文中我们伪造发件人是service@taobao的邮件,我们通过查询邮件头会发现,其spf值为fail,表明该封自称为来自淘宝的邮件发送地址是非法的。如下图:
看到这里,各位应该明白为什么本文开头说的俄罗斯黑客使用的Gmail邮箱地址是伪造的了吧。
4. DKIM技术
DKIM,Domain Key Identified Mail,中文名称为域名密钥识别邮件标准。是 yahoo 的 domainkey 技术跟 cisco 的 identified mail 技术结合的产物。
DKIM 基本工作原理是基于传统的密钥认证方式。其会产生两组钥匙,公钥(public key)和私钥(private key)。公钥将会存放在 DNS 中,而私钥会存放在寄信服务器中。数字签名会自动产生,并依附在邮件头中,发送到寄信者的服务器里。公钥则放在 DNS 服务器上,供自动获得。收信的服务器,将会收到夹带在邮件头中的签名和在 DNS 上自己获取公钥,然后进行比对,比较寄信者的域名是否合法,如果不合法,则判定为危险邮件。
简单来说,发送方会在电子邮件的标头插入 DKIM-Signature 及电子签名信息。而接收方则通过 DNS 查询得到公开密钥后进行验证。
国外很多邮件服务提供商,像 Google 的 Gmail 都采用了 DKIM 技术。而国内大部分邮件服务提供商尚未使用该技术来屏蔽危险邮件。
作为普通用户来说,我们可以简单通过下面方法来防范钓鱼邮件:
1. 可以通过查看邮件头的源 IP 来确认是否可靠。如下图:
2. 如果邮箱提示由 XXX 代发,即显示发件人和实际发件人不一致,要引起我们注意。像 Foxmail 便提供设置显示发件人的功能。
3. 通过上面提到的查看邮件原文代码,观察 SPF 的值。不同值的含义如下图:
4. 当然,如果我们有一定计算机基础,还可以查询邮件服务器是否有 MX 设置。
Windows: nslookup -type=mx qq.com(以qq邮箱服务为例)
Linux:dig mx qq.com
5. 用户对邮箱中的链接和附件要谨慎对待,不要盲目打开或者点击。
钓鱼邮件的诈骗方法不会仅拘泥于一种,除了会造成经济损失外,也可能造成严重政治危机。因此,我们要时刻保持对邮件的甄别,对被隔离或者警告的邮件谨慎操作。一旦发现有被攻击迹象,立即断开本机网络,第一时间修改个人账户信息,并请专业人员检查计算机系统。