伪造邮件攻击方法详解
下面我们结合黑客常用的伪造邮件手法进行分析,然后结合实例对伪造邮件攻击的原理进行描述。首先黑客可以通过提供在线匿名邮件服务的网站进行发送,如http://www.deadfake.com/,如下图所示。
\
正如网站上面介绍的,通过点击菜单栏的“send fake mail”的标签,我们就可以进行伪造邮件的发送了,需要填写的内容如下图所示。
\
这 里From表示邮件发送者信息,我们可以在此进行伪造,例如伪造内容为腾讯服务的邮箱地址[email protected],这里为了实现钓鱼攻击 的目的,我们将邮件的标题和内容写成腾讯QQ安全提示的内容,并将邮件正文中的链接地址指向钓鱼网站地址http://aq.qq-1.tk/ss,最后 发送邮件。片刻后,我们收到了该伪造邮件的信息,如下图所示。
\
我 们可以发现,发件地址为[email protected],邮件的主题和内容也是刚刚我们发送邮件内容的自定义内容,但是在邮件正文的第一行中,多 了一行来自于deadfake的提示信息,提示用户这封邮件不是真的。那么在这封邮件中,惟一的瑕疵就是deadfake的提示信息内容,然而这对于黑客 来说,也不是不能处理的。黑客可以将这个提示信息隐藏,实现的方法就是通过一个与邮件背景颜色相同的图片进行覆盖,我们重新构造邮件内容如下图所示。
\
与 构造的上一封伪造邮件类似,我们增加了一行HTML代码,主要作用是在邮件正文中插入一个图片,图片显示为纯白色,然后通过style属性对图片的位置和 大小信息进行设定,保证图片在显示时可以将deadfake提示的内容进行覆盖,然后再次进行发送,当接收到该伪造邮件时,我们可以看到deadfake 的提示信息不见了,如下图所示。
\
但是,通过邮件的源代码文件我们发现,deadfake的提示信息还是有的,只是在邮件显示的时候不可见了,因为该文字信息已经被我们纯白色的图片覆盖了。
deadfake网站的伪造邮件是由网站提供的服务,同样,黑客也可以构建本地的SMTP服务器实现伪造邮件的发送。例如通过软件Advanced Direct Remailer这款软件,如图所示。
\
当 电脑安装并运行Advanced Direct Remailer后,就相当于是一台SMTP服务器了。这里我们使用网易闪电邮作为邮件客户端软件进行演示,运行以后我们需要对邮箱进行配置,作为演示, 我们仍然使用腾讯提供服务的邮箱地址[email protected],如下图所示。
\
然后点击下一步进行SMTP服务器信息的配置,这一步也是配置的关键,我们将发送服务器的地址设置为本地的地址,即127.0.0.1,协议选择SMTP协 议,端口采用默认的25端口,这样邮件客户端就可以不经过ISP的SMTP服务器而是用本地构建的SMTP服务器直接向目的邮箱发信,配置信息如下图所示。
\
配置完成后,就可以按照正常的邮件发送流程进行发送,我们发送一个测试邮件内容如下图所示。
\
然 后点击发送按钮,这封邮件就会进入到Advanced Direct Remailer的窗口中,我们点击Advanced Direct Remailer窗口的运行按钮,邮件就会进行发送。稍等片刻后,我们的邮箱就会收到刚刚伪造发送的邮件,并且发件人的信息为我们设置的 [email protected],如下图所示。
\
伪造邮件攻击原理分析
从上面两种伪造邮件攻击的方法我们了解到,想实现伪造邮件,伪造发件人的攻击方式基本上没有什么技术含量,只需要浏览网页,添加一些文字或者安装两个软件即可。但是,为什么可以轻易地实现伪造邮件攻击呢?
SMTP(Simple Mail Transfer Protocol)协议,即简单邮件传输协议,是定义邮件传输的协议,它是基于TCP服务的应用层协议,用户通过SMTP协议所指定的服务器就可以把邮件 发送到收件人的服务器上。其邮件传输过程共分为三个阶段:建立连接、传输数据和关闭连接。
由于传输数据的阶段是人为可控的,所以就会出现人为控制传输数据中发件人、发送的信息实现的伪造邮件攻击。数据传输过程中,SMTP协议主要是通过以下五个主要命令实现的。
a) Helo:与SMTP服务器处理邮件的进程开始通信。
b) Mail from:邮件发件人的信息,即黑客伪造的发件人地址信息。
c) Rcpt to:邮件接收人得信息,即黑客发送伪造邮件的目的邮箱地址。
d) Data:邮件正文内容。
e) Quit:退出邮件。
这些命令封装在应用程序中,对用户是隐藏的,用户在发送邮件过程中不会察觉这些命令的使用。
通 过分析SMTP协议工作过程中的主要过程我们了解到,发件人的信息、邮件正文信息均是在发送过程中人为可控的数据,也就解释了为什么我们之前使用 deadfake网站和Advanced Direct Remailer软件可以实现随意伪造发件人的地址和邮件正文信息,那么我们结合SMTP传输过程中的主要命令,在Advanced Direct Remailer软件环境来具体了解一下邮件发送的过程。
首先,我们通过telnet连接SMTP服务器的25端口。输入命令为telnet 127.0.0.1 25,然后我们看到SMTP服务器返回给我们的信息,然后我们依次输入刚刚介绍的数据传输中的命令,如下图所示。
\
其中
HELO tencent.com表示伪造的主机域名信息为tencent.com。
MAIL FROM: [email protected]表示伪造的发件人信息为[email protected]。
RCPT TO: [email protected]表示发送的目标邮箱地址为[email protected]
DATA表示开始输入邮件正文内容
smtp command test表示邮件的正文内容
.表示输入结束
输入完成以后即可发现在Advanced Direct Remailer软件中提示有一封邮件等待发送,如下图所示,我们点击菜单栏中的播放按钮即可实现该对邮件的发送。
\
如何防范伪造邮件攻击
通过上述对伪造邮件攻击方法及原理的分析和描述,我们了解到,发件人地址是可以进行伪造的。所以瑞星安全专家建议广大网民,在收到涉及敏感信息的邮件时,要对邮件内容和发件人信息进行仔细的确认,防范可能存在的伪造邮件攻击行为。主要的防范方法可以分为以下几种:
1. 通过邮件信息确定邮件发送者的真实IP信息。虽然发件人地址是可以伪造的,但是对方的真实IP地址信息却可以,用户可以通过分析IP地址信息来确定是否受到伪造邮件攻击,如下图所示。
\
2. 安 装网络安全防护软件。黑客通过伪造邮件攻击的方式攻击收件人,很大一部分是通过邮件中的钓鱼网站窃取用户隐私。只要用户安装了网络安全防护软件,如瑞星个 人防火墙或瑞星全功能安全软件等,就可以对钓鱼网站或钓鱼行为的识别和拦截,有效防止通过伪造邮件实施的钓鱼攻击。
3. 通过与发件人直接线下沟通的方式。一旦收到亲友、同事发出的可以邮件,最好在线下确认邮件内容的真实有效,再执行相应的操作,以免受到恶意伪造邮件攻击,造成不必要的损失。
伪造邮件攻击是很常见的一种黑客攻击手法,但是目前还没有针对该种类型攻击的完美解决方案。瑞星安全专家提醒广大用户,在已有的防范钓鱼邮件、钓鱼网站攻击 的基础上,借助本文描述的防范伪造邮件攻击的方法,当收到疑似伪造邮件攻击时,对邮件信息进行仔细辨认,远离伪造邮件攻击的危害。
3.Cisco IOS 认证漏洞
当HTTP服务器启用并且使用本地用户认证方式。在某些条件,可以绕过认证并执行设备上的任何命令。用户可以对设备完全的控制。所有命令都将以最高特权执行(level 15)。
使用username 和password的路由设备帐户认证方式,构造如下URL:
http://router_ip_addr/level/xx/exec/….
(注:xx代表16至99之间的84种不同的组合攻击,因为路由器硬件类型众多,而IOS版本也存在不同,因此针对不同的路由器类型,攻击组合数字不同。)
通过这种方式,攻击者可以完全控制路由并可以改变路由表配置。这种可怕的事实让网管也感到惊悸。这种完整的控制方式将是网站数据通信枢纽的致命一击。
虽然Http漏洞带来如此之多的漏洞,但这种漏洞最主要原因是因为启用http服务器管理路由的缘故,由于这种管理是种命令行方式的替代物,因此对于熟练的网管来说,没有必要启动这种危害性很大的服务。
#no ip http server 的路由配置也成为时髦的安全配置语句。
在SNMP中行走
谈到Cisco路由的安全性,我们就必须涉及到SNMP这个看似简单,实际扮演着重要角色的协议,正因为它的存在,路由器的入侵变的丰富有趣多了。
*SNMP基础简介:
每个SNMP启用的路由设备都包含一个叫做管理信息模块(MIB),这是一种包含简单等级的数据目录结构,在这种树结构中包含设备各种信息。SNMP基本的命令GET,可以检索MIB的信息,而SET命令则可设置MIB变量。一种用于监控和管理CISCO路由的的软件工具是MRTG,至于如何配置其用于Cisco设备的监控可以参阅LOG的《怎样在Windows NT/2K下安装MRTG》一文(http://www.2hackers.org/cgi-bin/2hb/topic.cgi?forum=7&topic=212)。
在路由器中配置SNMP的方法如下:
(conf)#snmp-server community readonly RO
(conf)#snmp-server community readwrite RW
SNMP协议通过社区(community)字串的概念赋予对设备MIB对象访问的权限。上例中,设置了只读访问的社区字串readonly和可进行读写操作的readwrite社区字串。而大部分管理员喜欢使用public和private设置只读字串和读写字串,疏不知,这样轻易的结果将给网络带来巨大的波动。我们可以在【触及RouterKit】部分清楚认识到这种危害。
通过SNMP我们可以方便管理和监控Cisco的设备(参阅Log文章介绍),同时也给攻击者带来可乘之机。
*Cisco IOS软件SNMP读写ILMI社区字串漏洞
ILMI是一个独立的工业标准,用于配置ATM接口。MIB是一个树形结构,包括操作(只读)数据以及配置(读写)选项。在有漏洞的设备上,通过在SNMP请求中指定一个ILMI社团字符串,可以访问整个树形管理结构中三个特定部分的对象:MIB-II系统组,LAN-EMULATION-CLIENT MIB以及PNNI(Private Network-to-Network Interface)MIB。每一部分的子集对象都可以使用相同的“ILMI”社团字符串修改。
MIB-II系统组包括设备本身的基本信息。能被修改对象的数目虽然是有限的。例如包括:
system.sysContact.
system.sysLocation.
system.sysName.
Cisco IOS软件版本11.x和12.0允许使用一个非文档的ILMI社区字串未经授权就查看和修改某些SNMP对象。其中就包括诸如上面所说的"sysContact","sysLocation",和"sysName"对象,虽然修改它们不会影响设备的正常操作,但如果意外修改可能会产生混乱。剩下的对象包含于LAN-EMULATION-CLIENT和PNNI MIBs,修改这些对象可以影响ATM配置。如果没有防止未授权使用ILMI社团字符串,一台有漏洞的路由器可能会遭受DoS攻击。
如果SNMP请求可以被有漏洞的设备接收,那么没有适当授权,就可以访问某些MIB对象,违背了保密性。没有授权就可以修改可读MIB对象的子集,破坏了完整性。而更具有危害性的方法是向SNMP端口发送大量的读和写请求。有漏洞的设备,如果没有防范接收SNMP包的措施,就会遭受DoS攻击,导致路由重载。
然后点击下一步进行SMTP服务器信息的配置,这一步也是配置的关键,我们将发送服务器的地址设置为本地的地址,即127.0.0.1,协议选择SMTP协 议,端口采用默认的25端口,这样邮件客户端就可以不经过ISP的SMTP服务器而是用本地构建的SMTP服务器直接向目的邮箱发信,配置信息如下图所示。
\
配置完成后,就可以按照正常的邮件发送流程进行发送,我们发送一个测试邮件内容如下图所示。
\
然 后点击发送按钮,这封邮件就会进入到Advanced Direct Remailer的窗口中,我们点击Advanced Direct Remailer窗口的运行按钮,邮件就会进行发送。稍等片刻后,我们的邮箱就会收到刚刚伪造发送的邮件,并且发件人的信息为我们设置的 [email protected],如下图所示。
\
伪造邮件攻击原理分析
从上面两种伪造邮件攻击的方法我们了解到,想实现伪造邮件,伪造发件人的攻击方式基本上没有什么技术含量,只需要浏览网页,添加一些文字或者安装两个软件即可。但是,为什么可以轻易地实现伪造邮件攻击呢?
SMTP(Simple Mail Transfer Protocol)协议,即简单邮件传输协议,是定义邮件传输的协议,它是基于TCP服务的应用层协议,用户通过SMTP协议所指定的服务器就可以把邮件 发送到收件人的服务器上。其邮件传输过程共分为三个阶段:建立连接、传输数据和关闭连接。
由于传输数据的阶段是人为可控的,所以就会出现人为控制传输数据中发件人、发送的信息实现的伪造邮件攻击。数据传输过程中,SMTP协议主要是通过以下五个主要命令实现的。
a) Helo:与SMTP服务器处理邮件的进程开始通信。
b) Mail from:邮件发件人的信息,即黑客伪造的发件人地址信息。
c) Rcpt to:邮件接收人得信息,即黑客发送伪造邮件的目的邮箱地址。
d) Data:邮件正文内容。
e) Quit:退出邮件。
这些命令封装在应用程序中,对用户是隐藏的,用户在发送邮件过程中不会察觉这些命令的使用。
通 过分析SMTP协议工作过程中的主要过程我们了解到,发件人的信息、邮件正文信息均是在发送过程中人为可控的数据,也就解释了为什么我们之前使用 deadfake网站和Advanced Direct Remailer软件可以实现随意伪造发件人的地址和邮件正文信息,那么我们结合SMTP传输过程中的主要命令,在Advanced Direct Remailer软件环境来具体了解一下邮件发送的过程。
首先,我们通过telnet连接SMTP服务器的25端口。输入命令为telnet 127.0.0.1 25,然后我们看到SMTP服务器返回给我们的信息,然后我们依次输入刚刚介绍的数据传输中的命令,如下图所示。
\
其中
HELO tencent.com表示伪造的主机域名信息为tencent.com。
MAIL FROM: [email protected]表示伪造的发件人信息为[email protected]。
RCPT TO: [email protected]表示发送的目标邮箱地址为[email protected]
DATA表示开始输入邮件正文内容
smtp command test表示邮件的正文内容
.表示输入结束
输入完成以后即可发现在Advanced Direct Remailer软件中提示有一封邮件等待发送,如下图所示,我们点击菜单栏中的播放按钮即可实现该对邮件的发送。
\
如何防范伪造邮件攻击
通过上述对伪造邮件攻击方法及原理的分析和描述,我们了解到,发件人地址是可以进行伪造的。所以瑞星安全专家建议广大网民,在收到涉及敏感信息的邮件时,要对邮件内容和发件人信息进行仔细的确认,防范可能存在的伪造邮件攻击行为。主要的防范方法可以分为以下几种:
1. 通过邮件信息确定邮件发送者的真实IP信息。虽然发件人地址是可以伪造的,但是对方的真实IP地址信息却可以,用户可以通过分析IP地址信息来确定是否受到伪造邮件攻击,如下图所示。
\
2. 安 装网络安全防护软件。黑客通过伪造邮件攻击的方式攻击收件人,很大一部分是通过邮件中的钓鱼网站窃取用户隐私。只要用户安装了网络安全防护软件,如瑞星个 人防火墙或瑞星全功能安全软件等,就可以对钓鱼网站或钓鱼行为的识别和拦截,有效防止通过伪造邮件实施的钓鱼攻击。
3. 通过与发件人直接线下沟通的方式。一旦收到亲友、同事发出的可以邮件,最好在线下确认邮件内容的真实有效,再执行相应的操作,以免受到恶意伪造邮件攻击,造成不必要的损失。
伪造邮件攻击是很常见的一种黑客攻击手法,但是目前还没有针对该种类型攻击的完美解决方案。瑞星安全专家提醒广大用户,在已有的防范钓鱼邮件、钓鱼网站攻击 的基础上,借助本文描述的防范伪造邮件攻击的方法,当收到疑似伪造邮件攻击时,对邮件信息进行仔细辨认,远离伪造邮件攻击的危害。 |