您的位置:网站首页 > net源码 > 正文

在线的幕后场景:对利用Web漏洞行为的分析2015年5月26日星期二

类别:net源码 日期:2015-5-26 15:45:43 人气: 来源:

  现如今Web已经成为了互联网安全的一个主要,人们对它进行了很多研究,特别详细地分析了是如何进行,如何的。但是,对于当Web被攻陷时的者的典型行为研究却很少。本文描述了一个设计、执行、配置有500个完整功能的蜜罐技术网站,从而可以提供多种不同服务,目的就是要吸引者,采集者在过程中和后的行为信息。在100天的实验过程中,我们的系统自动采集、处理和规整了85000个在大概6000次后留下的文件,并把者的线标记成了不同类别,以区分它们在每次利用Web应用漏洞过程中的行为。

  一、引言

  Web是对人们经济和知识财产造成的主要原因之一。去年,这种的数量不断在增长,复杂程度也在增加,并且目标多是和高利润的公司,窃取个人信息的同时造成了数百万欧元的经济损失。使用台式机、笔记本和智能手机上网的人数的不断增加,这就有了很吸引人的目标,从而使他们了犯罪的道。

  这种趋势也已经成为了学术研究之一。事实上,快速的看下前些年发表的论文,会发现与Web和防守相关的文章很多。这些研究大多数关注于一些普通的与Web应用、Web服务器或是浏览器相关的漏洞,通过这些漏洞来拿下目标。其余的剖析了针对内部构件的特殊活动[5,13,17],或是提出新的机制来减少现有的。

  结果就是几乎所有的Web场景都被详细的研究了:者是怎么扫描Web和使用Google dorks发现可以应用的漏洞的,他们是怎样进行自动的,以及他们是怎样给最终用户传递恶意内容的。然而,这些工作还是留下了很多的谜题。实际上,没有一篇学术文章提到一般的者在完成过程中以及之后的详尽活动。有时候,者只是为了要得到存储在服务器上的信息,例如通过使用SQL注入来盗取用户的证书。然而,在大多数情况下,者想要维持这些机器的访问并把它们作为更大的恶意设备的一部分(例如制造僵尸网络或是给访问这个网页的用户传递恶意文件)。

  但是现在的文献大多关注的是如何使人上当的主题,如过式下载和黑帽式SEO,而这些只是冰山一角。现实生活中,互联网每天都在发生着大量的恶意行为,这些吸引眼球和安全企业注意的高利润网络犯罪的目的亦各不相同。

  基于以上方向的研究之所以没有完成是因为几乎所有项目中的蜜罐中所使用的都是虚假或伪造的应用。这就意味着没有真实的被完整执行,通常情况下,者在漏洞“消失”前往往都会完成所有的步骤。

  为了了解不同类型者的动机,杀毒软件公司大多是依靠他们客户报告的信息。如最近由Commtouch和StopBadware组织的调查,就是由600个被攻陷的网站的所有者填写的问卷完成,问卷内容是关于者拿下网站做了什么。结果非常有意思,但是调查过程不是自动的,且很难重复进行,且无法用户(多数时候安全行业)能够成功地识别类型。

  本文第一次全面地分析了Web者的行为,我们把分析的重点放在两个方面:1)渗透阶段,我们主要研究在应用程序被攻下前者的表现;2)后渗透阶段,我们测试者在拿下目标后会做什么。第一阶段是分析Web应用的方法和技术(即:怎么做),然而第二阶段是来推断这些的原因和目的(即:为什么)。

  因此,本文中我们没有分析一般的SQL注入或是跨站点脚本漏洞。我们的蜜罐技术被应用于吸引和那些要控制Web应用的行为。我们的结果有个有意思的趋势是大部分者的表现都很狂野,例如我们鉴定了4个不同的时期以及13个者梦寐以求的目标。我们也提供了一些在蜜罐行为甄别中发现的有趣的场景详情。

  本文的其他内容如下:在第2节,我们探索了当前Web蜜罐技术的现状和Web的检测与分析。第3节,描述了我们配置的蜜罐服务的网络架构。第4节,详细的介绍了系统的配置和在实验过程中收集数据的方法。最后,第5和第6节总结了我们在渗透阶段和后渗透阶段中者行为的研究结果。第7节,总结全文和对未来这个方向的展望。

  二、相关工作

  目前,蜜罐作为检测Web和可疑行为的工具,他们被分成两类:客户端蜜罐,它主要是通过主动访问网站或是执行文件来检测漏洞。服务器端蜜罐,使用一个或是更多的漏洞服务来吸引者。

  在这个研究中,我们主要关心第2类,因为我们的目的就是要研究者在拿下站点后的行为。过去的几年里几个服务器端蜜罐已经被使用,使用蜜罐来提供真实和可能的服务。其实我们可以将蜜罐分为两类:低交互蜜罐和高交互蜜罐。第一种蜜罐提供模拟服务,所以能观察但是不能被者利用。这种蜜罐的能力是有限的,但是能够收集关于Web探针信息和自动行为。相关研究有honeyd[21],[20]和SGNET[16],能够仿真运行系统和服务。另一方面,高交互蜜罐[19]为者提供了一个能被利用的全功能。蜜罐技术可以更好地用来洞察者的手法,但是这需要更高要求的设备及费用。由于可以利用用虚拟机配置高交互蜜罐,所以在被后可以恢复到初始状态。

  对于Web应用的常常是通过配置Web蜜罐。Google Hack Honeypot[3]作为低交互Web蜜罐的一种(设计成用来吸引通过搜索引擎来发现Web漏洞的者),Glastopf[24]和DShieldWeb Honeypot project[4]通过使用模板来仿制Web应用。John等[14]人使用了另外一种低交互的Web蜜罐,使用辅助搜索引擎日志,这个系统能够通过搜索标准来观察和鉴定来自者的恶意查询并配置蜜罐页面。不幸的是使用低交互方法采集结果时,了爬虫和自动脚本的访问。任何手动注入都会被错过,因为人们能够快速辨别出系统是一个陷阱,不是一个具有真实功能的应用。除此之外,这个研究收集了一些有意思的关于自动的详情[14]。例如使用引擎蜘蛛爬过后,作者发现蜜罐页面被的平均时间是12天,本地文件泄漏的漏洞在后很容易看到,剩余40%的恶意请求是通过请求蜜罐接收的。其他很常见的模式包括试图访问特定文件(例如:Web安装脚本),寻找有漏洞的远程文件。所有的模式的共同特点是都适用于自动,因为它们只需要接触一些特定的径或是在URL查询的字符串中注入计算好的数据。作者也提出了适合本文的设备,但这些设备没有被使用,因为他们关注的是者使用后的蜜罐服务器作为其他跳板。我们将在3.1处解释如何处理这些。

  如果对研究者的真正活动感兴趣,就要基于高交互蜜罐并采用不同的方式。在这方面的最初的尝试是使用HIAT工具[18]。不幸的是在对这个工具进行评估时没有什么有意思的发现,因为它只运行了几天时间,这个蜜罐仅受到了8000次点击,大多数还是通过良性爬虫。据我们所知,这是第一次大规模评估后渗透阶段者Web行为的研究。

  然而,一些类似的工作如根据交互性shell在运行SSH[19,23]的高交互蜜罐上的者行为划分已经有人做了。这个研究中的一些有意思的发现是者关注他们的机器,因为特别的任务(例如在机器上运行的扫描和SSH破解和他们通常用的是不同的)。并且他们中的很多人不是很懂,仅使用很简单的方法和一系列的命令,这意味着大多数的者仅仅是按照入门级教程上的步骤来进行操作的。于此同时,在SSH蜜罐上使用的命令需要针对软件配置进行,并尝试安装恶意软件,例如僵尸脚本。我们会在第6节进行。

  最后我们的研究关注的是把分类的文件上传到蜜罐,一些已经发表的关于如何侦测相似源代码文件的的文章,特别是抄袭检测的[6,26]。其他一些相似的框架也被提出来,用来检测图片和其他多格式,也是为了达到相同的目的。不幸的是我们看到了一堆文件上传到蜜罐,并且他们大多数存在源代码、二进制数据或是文档混淆的现象(就体现了大多数的抄袭检测是无效的)。而且很多抄袭检测工具和算法对资源的要求很高,很难应用到大的数据库上。这些原因使得抄袭检测不能满足我们的需求,任何类似指纹文件及分类问题,在取证领域都得到了研究。特别是基于想法的很多相似的文章在过去的几年中也得到了发表[15,25]。这个方法被是有效、快速的,在侦测这类相似性问题上,这些是基于字节流来表示数据的。我们选择使用这种方式,在我们的研究过程中使用的是在文献[15,25]中提到的两种工具。

  三、HoneyProxy

  我们的蜜罐系统由很多的网站组成(我们的实验中是500),每一个都包含5种最常见或是众所周知有漏洞的内容管理系统。17个预装了PHPWebshell,还有一个是静态网站。

  我们解决了在我们的设备上托管的所有Web应用大规模安装管理的问题。7台隔离的虚拟机使用的是VMWare服务器。在主机提供商那里,我们只安装了一个ad-hoc代理脚本(HoneyProxy)来将所有接收到的流量传到我们服务器上的VM上。这就能够让我们集中采集数据,而且还能够区分来自主机的不同响应。图1展示了系统的高阶预览。

  PHP代理加入两个自定义头到每个访问者的请求中:

  X-Forwarded-For:这是用于代理的标准头文件,用来设置客户端的真实IP地址。如果客户端的头文件已经设置,最后X-Forwarded-For会列出所有以前看到的IP,并且维持和追踪所有客户通过的代理。

  X-Server-Path:这个自定义头是通过PHP代理来设置,以让我们能够在分析虚拟机上的请求日志时了解请求域名的来源。例如:X-Server-Path: 。

  这两个头文件只在主机提供者的网站和蜜罐的虚拟服务器上追踪目标,对于蜜罐的使用者并不可见。

  3.1、容器

  每台虚拟机都需要进行合理的配置,以容纳者的同时避免被者对蜜罐造成损害。尤其是,我们阻断了对外连接(否则可能会导致外部主机被被),修补了有漏洞的博客和论坛程序源代码,从而隐藏垃圾邮件发送者发布的邮件(可能导致的恶意广告链接),并且调整了文件系统的权限让者能够他们,但无法控制机器或是改变每个应用程序的主要源代码。尽管如此,者上传的恶意文件仍然存在着,我们通过在固定的时间间隔内还原每个虚拟机到原始状态来处理这一问题。

  下面,我们简要的介绍在蜜罐机上可能进行的行为,并展示我们自己的或缓解方法。

  图1、系统的高阶结构分布

  获得机器最高权限。我们使用安装了更新软件和安全补丁的虚拟机来处理这个问题。在每台虚拟机上,Web服务和所有对外服务均使用非用户身份来运行。当然,这个解决方案无法0-day,但是我们会尽量来面,在仅有3个服务(apache、sshd、mysqld)的机器上运行,其中只有Web服务器在互联网下。我们考虑了利用0-day远程对apache进行的可能性,也可能成为现实,届时绝大多数互联网应用皆会受其影响。

  使用蜜罐作为垫脚石来发动和邮件活动。这可能是在配置一个功能齐全的蜜罐之前要部署最为重要的部分。在我们的例子中,我们常常使用iptables规则来(和记录)除了已经建立的连接以外的虚拟机的出站流量。IRC端口(6667)的规则是个例外,在第4和第6节会有详细的介绍。

  托管和发布非法内容(如:钓鱼页面)。在有远程文件上传漏洞时,是很难避免的。然而,通过上传目录内容的,通过防止改变所有现有的HTML和PHP文件,这些能够降低发布非法内容的风险。此外,我们也可以检测到每个VM文件系统的改变,当检测到了一个文件改变,系统就会储存下这个快照。然后虚拟机以的时间间隔来恢复到原始状态,从而防止潜在内容传给人或是被搜索引擎收录。

  推销非法产品和服务(如:垃圾邮件链接)。另一个问题是由应用程序引发的,作为它们基本工作的一部分,允许用户编写并发表评论。任何的博客和论坛CMS都存在这个问题。这些应用很容易成为垃圾邮件的目标,我们会在5.3.1节中进行说明,此外托管蜜罐时确保由机器人发出的链接和帖子不会被任何最终用户访问或被搜索引擎检索是很重要的。我们通过修改包括论坛应用的源代码来解决这个问题(也就是Wordpress和Simple Machines Forum),注释掉负责显示帖子内容的代码。利用这个改进,者仍然有发布消息的可能(用来采集这些消息),但是的帖子和评论只能显示空白消息。

  我们开发了一些分析HTTP请求日志的工具,使我们能够识别出已知的良性爬虫,对我们的Web应用进行的已知,同时获得详细统计数据(接受请求数量和类型、User-Agent、IP地址、每个访问者的地理信息、Referer头的分析,和请求间时间间隔的分析)。我们的分析工具也能够把相对应时区者的时间标准化,检测中可能存在的联系(例如一个自动脚本感染后的Web应用程序上传了一个文件,紧接着另一个IP地址访问了这个上传文件)。我们也开发了一个对于最常见的使用PHP Webshell的HTTP请求日志的解析器,使我们能够提取请求命令并了解者在我们系统上的所作所为。

  我们采用两种方式检测上传和修改文件:Web服务日志和来自的文件快照。Web服务日志上有上传文件的记录,每个通过我们蜜罐上传文件的过程都会在apache的mod_secruity记录上。在虚拟机的目录的文件快照是修改或生产的原文件以及系统上的被解压的压缩文档或加密文件记录的主要来源。我们能够从这些原中提取的文件有85567个,其中的34259个文件是唯一的。

  由于我们收集了大量的唯一文件,手动文件分析变得不太可行。因此,为了减轻分析所采集数据的压力,我们首先根据它们的类型归到一起,来看下它们和其他文件有什么事实上的不同。这就需要我们进行类似地下产业那样相同的做法,例如在改变用户名、登录凭证、或是植入后门后,重新进行相同的或是钓鱼。

  然后我们对同一类型诸多文件进行查看,这些文件只是少数字节不同(由于剪切和粘贴会产生空白)或是源代码注释中存在不同。因此,要提高我们的对比结果,我们要提前处理每个文件并把它转成规范形式。作为规整化的一部分,我们删除所有的双空格、制表符、换行符以及所有的注释(C类型和bash类型),最后进行标准化处理新行,并在代码中分离出电子邮箱地址。对于HTML文件,我们使用html2text工具来分离出所有的HTML标签。

  PHP文件使用了一个附加前处理的步骤。我们发现大量的PHP文件上传到我们的蜜罐上,导致了与Web应用的混淆。这种形式的文件即使是使用自动工具也很难检测到用不同方式编码的相似文件的相同之处。为了克服这个问题,我们建立了一个基于evalhook PHP[10]扩展的PHP自动反混淆工具,包含动态代码评估功能的模块,来实现一步一步对PHP代码的反混淆。我们在没有Web应用的时候在虚拟机上部署了我们的工具(避免发生远程计算机或是扫描,因为一些混淆的脚本可能会实现远程连接或是),同时对每个文件进行至少一级的反混淆操作(例如,嵌套调用eval()),并保存反混淆代码。

  我们的方法可以让我们反混淆几乎所有已混淆的PHP文件(例如,gzip和base64编码和解码,使用eval()函数的动态评估)。我们唯一不能反混淆的PHP文件是带有错误终止(往往是因为语法错误)以及使用专门的商业编码工具的文件,如Zend Optimizer或是ionCube PHP Encoder。但是我们观察到仅有3个样本使用了这些工具进行编码。

  一旦规整化步骤完成,就可以计算在相同类型文件中两两之间的相似性,我们使用了2种进行相似性检测的标准化工具ssdeep[15]和sdhash[25]。然后,我们使用简单的分类算法对所有的文件进行分类,相似值大于0.5的被分到同一个组中。

  在我们不能找到类似的元素时,就会放弃该文件。对于其余的部分,我们进行手动分析,根据他们的不同目的分成不同的类别。因为文件已经根据相似性进行分组,对每个组的文件进行分析就成必须(如打开和检查内容)。在这个阶段里,我们能够定义多个文件类别,能够让我们更好地了解者的意图。另外,这一步让我们对有趣的有了新的见解,其中的一些会在下面的部分通过深入的例子进行介绍。

  500个蜜罐代理部署到了共享主机计划上,这些主机选用了8个国际上最流行的互联网虚拟主机提供商的主机(来自美国、法国、和荷兰)。为了让蜜罐代理能够正常工作,每个供应商必须支持通过PHP使用cURL库,同时支持除了80和443端口以外的其他端口对外连接。

  为了能使用户登录我们的蜜罐网页,我们在GoDaddy.com上购买了100域名,同时带有隐私。这些域名被平均分配在.COM、和域名中,并均匀地分配给提供商主机。对于每个提供商,我们为每个域名配置了4个附加的子域名,这样就有了5个不同的网站(为蜜罐的匿名性,我们叫它们、sub1.site.com、sub2.site.com、sub3.site.com和sub4.site.com),最后,我们在首页上公布这500个域名,在研究小组的网站上以透明的方式进行连接,这种方法已经由MUTER[18]等出于类似目的提出。

  我们使用修改后的ftp-deploy脚本[11]分批上传我们给500个网站定制的PHP代理。这就简化了发布和更新PHP代理的操作,并统一了上传文件到服务器上的操作。由于与.htaccess、ModRewrite以及cURL的结合,我们可以把用户的请求透明地转发到对应虚拟机的适当URL上。任何尝试读取一个不存在的资源,或是访问代理页面都会显示空白页面给用户。在不考虑账户的时间线或是入侵主机提供商服务器前提下,访问者无法知道他们访问的是代理。

  我们在7台虚拟机上总共安装了5个有漏洞的CMS,这些CMS是最知名的内容管理系统,同时在我们开始部署时就具有漏洞。对于每个CMS我们都选择了一个有大量漏洞的版本,或者至少有一个能让者完全控制的应用程序漏洞。我们也选择发布时间不超过5年的CMS版本,来我们网站可以吸引者。

  我们这样选择的目的是出于者选择低门槛目标的想法。另一方面,我们的蜜罐可能会错过精致而不落俗套的,这些主要针对著名机构或是知名网站。然而,这些不容易通过蜜罐来研究,因此不在我们研究的范围内。

  表1描述了安装在7台虚拟机上的应用漏洞、发布的时间、应用特点以及存在的漏洞。我们已经安装了WordPress 2.8的两个实例,一个使用CAPCHA来评论,另一个没有使用CAPCHA,这是为查看是否有者会手动注册虚假账号,还是系统自动解决CAPCHA。但似乎没有这种情况,因为我们没有接收到任何被CAPTCHA的博客上的评论。因此我们不会讨论在文章其余部分讨论的这部分内容。

  总的来说,我们收集了9.5千兆的原始HTTP请求,由大概11.0M的GET和1.9M的POST。我们的蜜罐被超过了73000个不同的IP地址访问过,这些IP地址跨越了178个国家和超过11,000的用户代理。这要比之前John等人在低交互蜜罐上[14]观察到的幅值上大一倍。此外,我们还提取超过85,000个在我们的网址过程中上传或是修改的文件。

  为了能单纯的使用蜜罐来更好的分析者的行为,我们决定把分为4个不同的阶段:发现、侦察、渗透和后渗透。发现阶段描述者如何找到他们的目标,例如通过搜索引擎查询或是通过简单的IP地址扫描。侦察阶段包括被访问网页的相关信息,如使用自动爬虫或是手动接入一个匿名的代理。在渗透阶段,我们描述了对我们的Web应用程序进行的数量和类型。有些达到了他们的最终目标(如使一个网页重新指向一个恶意网站),但是一些只是进行了上传操作。在这种情况下,上传的文件通常是Webshell,者利用该文件稍后进行手动登入被系统并继续进行行为。我们把这之后的阶段叫做后渗透阶段。

  要呈现所有可能行为的组合是很难的。并不是每一次都会出现这几个阶段(如侦察和渗透可能在一个阶段中执行),而一些访问并不会导致任何实质性的,有时甚至不能将来自不同IP地址的同一个者的不同行为关联在一起。但是,通过在每个阶段中收集的数据中提炼常见模式,我们能够在我们的实验观察中识别出“典型的形态”。这些信息可以进行如下概括:

  虽然这代表了从我们数据库中提取的最常见的行为,但我们也观察到了很多其他行为组合,我们会在其余的章节中进行描述。最后,要提的是者行为会随着应用和利用漏洞的不同而发生改变。因此,我们应该说之前的描述总结了针对osCommerce 2.2的最常见行为(迄今为止在我们蜜罐上遭受次数最多的Web应用)。

  在最初的几天里,多数流量是由良性Web爬虫造成,因此我们设计了一个简单的解决方法,在余下的流量里筛选出良性爬虫产生的流量。因为单独的HTTP头文件是不可信的(如者常常在他们所用的脚本里使用“Googlebot”的User-Agent),我们收集了机器人的息,我们把这些信息与日志中提取的信息结合并在WHOIS结果中进行确认,以鉴别来自已知公司的爬虫。通过结合User-Agent字符串和关联到已知企业范围的IP地址,我们可以鉴定14种来自1965个不同的IP地址的不同爬虫。尽管这不并非完整的爬虫列表(如约翰等人[14]使用了一个更复杂的技术来鉴定16种Web爬虫),但足够成功过滤由爬虫产生的流量。

  有趣的是,在系统搭建好后的2小时10分钟,当论坛开始接受一些自动注册时我们就观察到了第一个可疑行为。然而,论坛上的第一个帖子出现在4天后的12月27号。更令人惊奇的事实是,从爬虫的第一次访问恰好带来了第一次:在我们的蜜罐配置好后的4小时30分钟。在波兰的浏览器访问了我们的osCommerce应用程序并通过文件上传漏洞上传了恶意PHP脚本到蜜罐。图4总结了我们的蜜罐收到的访问(良性爬虫除外),并通过地理地址将它们进行了划分。

  分析HTTP头中的Referer(无论何时都可用)可以帮助我们确定访问者是怎么在Web上发现蜜罐的。根据结果我们可以区分两类主要的用户:使用搜索引擎来寻找应用程序漏洞的者,和通过邮件或是公共论坛上发帖来进行钓鱼的者(我们将在6.8节介绍这个现象)。

  Referer集有66449人次访问了我们的蜜罐页面。出现的最频繁的是搜索引擎,其次是是Web邮件和公共论坛。其中来自Google的记录有17156条,者用来寻找我们网站时所使用的其他搜索引擎有Yandex(1016条)、Bing(263条)、Yahoo(98条)。最后,其他的15746次请求来自几个公共的Web论坛,部分论坛属于黑客组织,部分来源是垃圾邮件机器人。

  例如,在移除良性爬虫流量之后,系统在不接收图片请求的情况总共接收到了9.5M的访问量,与之相比,系统被请求图片和演示内容时才接收到1.8M访问量。相反,只有641个IP地址(对于13.4K的访问量)是按照精确的访问连接访问网站的,其中60%的访问遵循广度优先的原则。

  85%自动化请求是针对我们的论坛应用程序,都是注册虚假用户信息和发布垃圾邮件的请求。余下的1.4M请求直接指向剩余的6个蜜罐应用程序,95K是模仿已知搜索引擎User-Agent的流量,还有264K的流量是在多个User-Agent相互切换访问的结果。余下的请求不包含任何可疑的用户代理字符串,没有按照域名径,也不请求图片,所以我们把它们归类为机器人请求。

  总体而言,我们记录了444种不同的渗透会话。一个有趣发现是其中的310种使用了两个或是多个User-Agent字符串,正如第5节所说,这种情况在使用侦察机器人和自动脚本来提高速度并快速寻找目标时便会发生。特别是,我们所观察的三分之二(294个)的渗透会话所使用的User-Agent与Lib库(libwww/perl)相关。

  每个渗透会话最显著的副作用是上传或修改主机上的文件。特别奇怪的是,我们注意到渗透会话中上传文件时平均会上传9.75次。这种奇怪的现象可以用这样的事实来解释,大多数渗透工具都是自动执行的,者无法实时查看是否成功,多次上传相同的文件可以增加文件上传成功的几率。

  使用3.2节所介绍的方法,我们将上传到蜜罐的文件自动归类为漏洞利用服务的结果。然后,我们把渗透会话信息和收集文件的分类结果进行关联,这个阶段的分析结果显示会话所上传文件的构成:45.75%的文件是Webshell,17.25%的文件是钓鱼文件(简单的HTML页面或是完整的钓鱼包),1.75%的文件是自动下载和远程URL执行文件,1.5%的文件是本地信息搜集文件。最终,32.75%的上传文件无法用我们的系统进行归类,因为它们与我们所观察的其他文件没有相似之处,或者是与我们研究无关的多文件和图片(例如,用于页面的图片或音乐)。

  图5显示了我们的蜜罐遭受的规整时间,该值是计算机根据IP地址所在地理的时区调整后的数值。同样,这些数值无法反应者在代理情况下使用不同IP地址进行的正确数值。然而,该图显示了在渗透和后渗透阶段在白天进行的明显趋势。尤其是我们观察到的交互会话中只有很少发生在凌晨4点到上午10点,可能是因为者也需要休息的缘故。有趣的是在渗透阶段绝大多数自动化的时间分布上也显示了类似的趋势(尽管不清晰)。这可能受感染的僵尸主机进行扫描的结果,而这些主机在晚上便会被用户关掉。

  搜索我们日志来得到关于直接访问我们虚拟机的者信息,这些者没有通过蜜罐代理访问,我们发现这种数量不多,但仍然有相当数量的是直接蜜罐的IP:PORT。特别是,我们发现这种中的25次是针对蜜罐上的电子商务应用,19次是针对主机上的webshell和静态网站。在这两种情况下,者可以使用之前的漏洞来提取我们机器的IP地址(保存在被许多者经常下载的osCommerce配置文件中,或是通过交互shell来检查机器),并在之后的中用到这些信息。

  在第一天的运行后,我们的论坛应用程序收到大量的访问流量,大部分流量是虚假注册和垃圾邮件机器人发出的。我们分析了机器数据库的每一个快照,目的是提取论坛帖子和嵌入其中的每一条URL信息。这让我们鉴别和分类了几种垃圾邮件和链接养殖场,同时发现了一些恶意出售论坛账号的行为。

  在我们的研究中,共有68201条唯一信息被发布,这些信息来自15753个用户使用的3144唯一IP地址。每天论坛的数据体现出高流量留言板是典型的媒介:平均每天发帖604条(最高达3085条),在高峰时刻平均有232个用户在线(最多达403个)。

  更让人吃惊的是论坛注册者的数量要比发帖的数量大的多:平均每天1907次注册,在2012年3月23日达到最大的14400次。这种现象非常常见,在我们论坛上进行操作的33.8%IP地址都至少创建了一个虚假账户,但是从来不发帖,这表明对于犯罪者来说或许有完成自动注册的某种激励,或许这比垃圾邮件活动更能获得价值。我们设想这些虚假论坛账号可以在黑市上进行出售。我们确实发现了1260个账号是由同一个IP地址创建的,几天之后使用其他的IP来发布消息,这不一定能我们的推论,但是至少说明论坛垃圾信息已经成为一种复杂的生态体系,且在一次垃圾信息或链接养殖场的幕后找出其中某个人员现如今常难的。

  进一步查看注册用户和发布垃圾信息的IP地址发现,这些IP大部分来自于美国或东欧国家(主要是俄罗斯、乌克兰、波兰、、罗马尼亚)。在我们的论坛上活跃着6687个不同的IP地址(至少发了一个帖子或是注册了一个或是多个账号),其中,36.8%来自美国,24.6%来自东欧。如果只考虑至少在论坛上发一次帖子的IP地址,那么国家的覆盖率就会彻底不同,这种情况下,来自美国的IP地址占了62.3%(东欧的IP地址占21.2%)。

  我们使用了两种自动的分析工具来对所有帖子中的链接进行一个深入分析来检测恶意网页,即Google安全浏览器[22]和Wepawet[8]。这两种工具的检测结果说明我们从论坛上提取的221423个URL中只是很少的一部分(2248条,大概1%)包含恶意或是可能有害的链接。

  根据这个定义,我们注册了232个交互会话作为渗透的结果,我们预装了8268个shell,平均每个会话持续5分37秒,然而,其中我们注册的9个会话用时都在一个小时以上。依据系统命令的响应,最长的会话来自沙特阿拉伯,该会话向shell发送了663条命令,包括几个文件的手动编辑。

  有趣的是,在过程中最常见的一个行为是上传自定义的shell,即使者攻入系统时使用的是在系统上已经存在的shell。因为者知道使用其他人安装的shell含有后门并泄露他们信息的可能性更高。除了我们工具所提供的17个shell,我们还定义了HTTP模式来匹配者上传的常见自定义shell,由此我们可以分析他们发出的命令。

  在83%的情况下,者试图使用至少一个主动命令(上传或是编辑文件、更改文件权限、创建文件或是目录、扫描主机、关闭进程、连接数据库、发送邮件等)。其余的会话纯粹是被动行为,者仅仅是浏览我们的系统、下载源码和配置文件。

  最后,在61%的会话中者会上传一个新文件,50%的会话会试图修改机器上已存在的文件(其中的13%是页面)。对于这些命令,最常用的是读取和列出文件和目录,随后是在系统上编辑文件、上传文件、运行命令、列出运行中进程以及下载文件。

  在本节中,我们把关心的重点从方法转向动机。换句话说,我们会试图去了解者在拿下网站后会做什么。他们是否会安装僵尸服务,他们是否会试图获取主机的管理员权限,他们是否会在应用程序中插入代码、植入后门或是恶意的iFrame。

  为了回答这些问题,我们分析了在渗透阶段上传的文件,和在后渗透时期创建和修改的文件。正如我们在第3节中提到的我们对每个文件的内容进行了规整,根据它们的相似性进行了归类。最后,我们手动标记了每个类型,以区分这些文件的目的。表2总结了归类的结果,我们的蜜罐收集了86.4%的单一文件。关于这些文件,图6展示了文件目的的类别。例如,在实验中我们观察到的1.7%文件是用来升级在感染的机器上提升权限,这不同于说1.7%的者要提升机器权限。不幸的是,我们并不是总能将这些文件和者的行为对应起来。因此,我们通过鉴别在期间上传特定文件的每个特定IP地址所完成的特定行为对者行为进行评估。仅仅通过者的IP地址来鉴别者并不总是正确,但是这还是提供了一个近似的合。因此如果我们说某一类的预计概率有20%,这就意味着一个者在他/她的操作中所上传的5个文件中至少有一个文件属于这类。

  这些文件主要包含在分析受系统的自动脚本中,常用于手动的第一个阶段,其中在使用恶意操作之前,者试图收集被系统的信息。一般情况下,我们观察到有一些者使用脚本来搜索、存档和下载一些系统配置文件。

  例如,在2012年4月7号一名者便使用这种工具来我们的蜜罐。者使用普通浏览器和马来西亚IP地址,上传一个叫allsoft.pl的脚本。一旦脚本被执行,它会扫描包含CMS(如Wordpress、Joomla、WHM、phpBB、vBulletin)配置文件列表的系统,创建了一个能够找到的包含所有文件的tar归档,同时给者返回一个指向所创建的文档文件的链接,这样很容易进行下载。这个脚本在用户和系统上的多个主目录之间迭代运行,以尽可能多的在受机器上收集账户信息。

  我们目击到了一些创建Web下载的,通过在我们的蜜罐服务上插入自定义的漏洞HTML代码,上传含有已知浏览器漏洞的文件,这种行为是为了对访问网站的用户机器进行渗透,将用户机器变为者的僵尸机器,之后用于大范围的非法活动。

  这种方式的一个例子是在2012年2月28日上传到我们蜜罐的intu.html文件。当网页被打开后,页面显示“正在交易,载入您的订单,请稍等”。后台恶意的avaScript加载iFrame同时指向托管在twistedtarts.net的文档。该文档是恶意程序且含有两个漏洞,CVE-2010-0188和CVE-2010-1885。Wepawet[8]在这个页面上传到我们蜜罐服务器的同一天将这个文档报告为了恶意软件。

  这种类型包括下载者(设计用来下载同时执行其他文件的程序)、上传者(能够实现远程上传文件的网页)、Webshell和搭载后门的文档。这些是供者选择完成基于Web方式的工具,因为这些工具允许上传任件到者机器,或者在者登录服务器终端后执行任意命令。大多数登录我们蜜罐的采用混合Webshell和自定义脚本的方式来试图破解机器并在安装恶意软件。

  这种行为的一个例子是在2012年1月1号6点50,一个来自美国科罗拉多州恩格尔伍德市的IP地址,其User-Agent设置为“blackberry8520_ver1_subvodafone”,该IP地址直接连接到运行着osCommerce的蜜罐上来,并利用文件上传漏洞上传了几种不同的PHP脚本,它们中大多数启动IRC机器人连接到不同的IRC服务器上。同一个人也上传了PHP shell来下载机器上的CMS配置文件。

  事实上,者并没有通过我们蜜罐代理进行连接,而是直接连接到了我们不常用的IP地址,从而引起了我们的关注。在我们的日志上进行后向搜索,我们发现在不到24小时前,一个使用科罗拉多州恩格尔伍德市的另一个IP地址且用户代理设置为“bingbot/2.0”的自动系统连接到了我们的网站,并利用漏洞下载了osCommerce配置文件,该文件中包含了运行osCommerce虚拟机的真实IP地址。

  权限提升在计算机安全史上是一种最古老的漏洞,但是它仍然很受人们的喜欢,因为它允许者获得管理员权限并控制完整的机器。在共享Web托管的服务器中成功利用权限提升漏洞能够使者修改在服务器上托管的每个站点的文件,如此可能让数百甚至上千个网站同时遭受。

  这类的实例发生在2012年2月9日。一个使用匈牙利IP地址的者在一台托管有Webshell的主机上上传了一个名为mempodipper.c的文件,并使用其中一个shell来尝试用gcc来编译它的源码。本机没有可用的编译器,因此,在5分钟后,者上传了一个预编译的名为mempodipper的二进制ELF文件,同时试图通过使用shell来执行它。我们发现这个漏洞利用程序利用了一个使用了近来才被披露的漏洞——在这个发生不到20天前发布的CVE-2012-0056。在时这个漏洞利用程序通过已经被公开可用[27]的SUID /proc/PID/mem Write来提升Linux的本地权限。然而,我们虚拟机的内核并没有该漏洞。

  一个具体的例子是trdomain.php页面,该文件在12月16日上传到我们蜜罐,其IP地址来自土耳其。它包含一个本地域名称扫描器,从本地配置文件(如named.conf)拉取域名称配置信息,并从Google获得PageRank,以及文件根目录、用户名,并返回一个包含这些信息列的网页。页面的标题是“Domain ve User ListeLiyici —— by WRooT”。截至目前,在网上搜索这些标题仍有许多结果,说明这种很普通并被广泛。

  这种在我们的蜜罐上是最常见的。在这种中,者修改蜜罐上存在的页面或是上传新的页面用于声明网站遭受由他们负责。通常,但是不总是,声明和教或是宣传有关,或是为了搞笑或是令人的画面。很多执行这些的者甚至连接到他们的个人网站或是Facebook页面上,在这里我们可以看到这些人主要是青少年在追求出名和在朋友面前。

  一次页面的发生在格林威治标准时间3月6日晚上8点,有人使用的IP地址连接后发现在我们机器管理的一个静态网页上藏着shell,并用它编辑了机器上的静态HTML页面。这个页面代码是使用复制和粘贴来使用Webshell上传。这个被的页面包括一个来自作者的简短口号,使用JavaScript动画文本缓缓拉开的葡萄牙引语,和一组链接到黑客中每个人的Twitter页面,其中一些人的账户有超过1000个tweet和几百名跟随者。快速浏览下这些内容,我们会发现所有都在个人网站上贴出他们的网页。显然,他们这样就是了为了建立一些声誉。这些都是从他们的个人Twitter的URL确定的——一个来自zone-h.org网站页面——报告他们之前的页面统计。这些数据让人印象相当深刻,从2011年7月20日到现在写下了所有已经的41600个网站,其中500是享有盛名的重要网站(网站,大学,或是跨国公司等)。

  由于像这样的,我们发现这是很常见的做法,公开展示页面的来宣传他们的网站,就像在zone-h.org网站上展现的那些站点。似乎有些人是真正为了竞争在黑客网站上炫耀他们的技术,我们的蜜罐域名经常被他们作为战利品进行报道。

  两个蜜罐虚拟机有这些最严重的服务漏洞,可以让者在服务器上上传并运行任意文件,并允许通过6667端口建立对外连接。我们这么做是为了从我们机器发起的IRC僵尸网络活动。我们只允许在6667端口上进行连接,让僵尸服务运行在标准IRC端口上连接到他们管理的聊天室。为了避免被僵尸牧人,每个连接到IRC端口的通道都通过私有的VPN来匿名我们的真实IP地址。之所以不允许本机有其他的出站连接,是为了避免我们的机器对其他主机发起或被其他主机扫描。

  另一个有意思的现象是从IRC日志可以得知这些IRC僵尸网络都是被青少年操控的。一些僵尸牧人甚至放置链接到他们的Facebook或是Twitter账号资料中来向他们的朋友进行炫耀。虽然被青少年操作,但是我们大多数的日志显示IRC容纳了成百上千的僵尸主机(我们观察到的最大的僵尸网络由11900个僵尸主机组成)。

  一些日志显示一些僵尸主机的控制者了在其他IRC服务器上的对手(我们认为这是典型的脚本小子的做法),同时我们很关心这些年轻人是怎么处理钱的,且他们能够使用(而且可能由他们自己开发)自动化工具在搜索引擎上搜索并利用漏洞。我们收到了一些执行Dos的命令,使用dorks进行引擎搜索,自动化渗透,并根据指令报告用户名和密码,以及从攻陷的网站中窃取的信用卡凭证。

  钓鱼是当前Web犯罪最的活动。我们发现了很多尝试在我们的蜜罐上安装钓鱼网页或是钓鱼网页的。这些行为都是利益相关的,大多数的钓鱼网站都是网上银行副本,但是我们也收集到了一些网上电子邮件门户网站的钓鱼例子,甚至有极少数的网页冒充互联网服务供应商和航空公司的网页。

  在蜜罐运行的100天里,我们的蜜罐总共收集了470个钓鱼网页相关的文件,其中129是完整的钓鱼包(文档中常含有一个完整的Web钓鱼网站安装文件,包含图片、CSS文件,以及Web钓鱼脚本)。尼日利亚是这个最活跃的国家,我们的蜜罐记录的来自尼日利亚的中有45%是钓鱼。

  在我们的蜜罐上一个有趣的事件记录开始于3月27日。通过分析我们的蜜罐所接受的请求来源头,我们发现了来自1762个不同的IP地址的4776个请求,访问我们网页的请求来源设置的是sfr.fr的邮件服务器,一个法国主要的ISP之一。检查Web服务日志,我们发现所有的HTTP请求来源中都包含有来自sfr.fr请求的两个PNG图片文件。在3月24日这两个文件就上传到了我们的蜜罐,当来自SFR的第一波访问达到时,虚拟机已经被清理好几次了,但是我们还是在上传文件的快照中发现了图片的原始版本。奇怪的是,这些图片显示一条类似与SFR客户服务定期沟通的信息。所有请求来源为sfr.fr的用户在访问我们的蜜罐之后都会收到一条包含连接到那两个png文件的钓鱼邮件,而他们的Web客户端只是试图下载和显示这些邮件的内容。

  很多用户似乎还在使用垃圾邮件这一技术在互联网上获利。我们发现的一些脚本确实是邮件程序,即用自动化方式使用脚本将垃圾邮件发送量给众多收件人。其他的一些脚本是来自邮件或是短信洪水发送者,从而代替发动Dos。

  我们的蜜罐收集到了大概600个这样的脚本。如在2月21日,一个叫做a1.php的脚本通过尼日利亚的IP地址上传到我们蜜罐,这个脚本是一个高度自定义的邮件发送程序,并允许给一个纯文本或是HTML格式列表的收件人发送垃圾邮件,并且该程序具有很多选项。它也能够被配置用来登录远程的SMTP服务器,目的是为了通过身份验证来发送邮件,在达到发送邮件的一个特定的阀值时能断开和重新连接到服务器,还有可能是为了避免被。

  链接养殖场是一个相互连接的网站集合,通常是一个有密集链接结构的网页,它的目标是提升网站群在搜索引擎的排名。相比之下,黑帽SEO是用非法或不的技术,如伪装,提升在搜索引擎的排名,或是处理搜索引擎及其爬虫查看和分类一个网页的方式。如果我们排除在论坛Web应用上自动发帖——一种通过高比率发帖连接到链接养殖场的行为,这种行为在我们的蜜罐上并没有被频繁观察到。

  在3月19日,一个在我们的蜜罐上创建了很多网页的有趣出现了。有人安装了完整功能的CMS,生成了数以百计的的静态HTML页面。所有生成的页面都安装在我们电子商务Web应用的子目录images/rf/下,包含俄文文本,以及用来展现的相关图像、CSS和JavaScript文件。这个网页结构是通过博客或是CMS引擎创建的,因为所有的网页都有着稠密的连接结构并指向另一个使用绝对链接(已经定制和包含我们蜜罐站点的域名)。我们认为这是连接到链接养殖场的一部分,或是一些仿制品的市场营销活动,因为我们分析的大多数网页上都有销售手表的广告。

  Web犯罪总是寻找可靠的方式来隐藏他们的踪迹,随着时间的推移,只是通过的代理服务、TOR、重定向网页来进意活动变的很难。事实上,这些服务通常都有超负荷的(恶意)流量,同时其平均表现也很糟糕,很有可能被有关着。在这种情况下,通过受主机进行隧道通信就变得难能可贵,因为很容易把一个Web服务变成一个代理,而且通常运行Web服务的主机提供商都有着高带宽,从而使这些主机成为很有价值的目标。我们发现有些者在蜜罐上上传代理脚本或是使用流量重定向系统,从而实现流量匿名的重定位或是将用户重定向到恶意来源或相关网站。

  一个例子是,在2012年2月22日,一个蜜罐系统被上传了一个504KB的文档。这个文档里包含一个名为VPSProxy的代理工具,可以在上获得,这是一个通过GUI客户端进行完全控制的PHP代理。就它具有的功能而言,如果被安装到多台服务器上,该工具会很容易被用于对接两个不同的连接。我们相信这样的工具可以帮助犯罪隐藏他们在互联网上的痕迹。

  这种类型的或是利用特定的服务漏洞或是利用其他无相匹配的类型服务的漏洞。例如,这一类包括在服务器上扫描和利用Web服务漏洞的程序,如在4月9日上传到我们服务器一个Web网站的config.php脚本。这个PHP脚本提供了一个发现和9个最知名管理系统的面板:即使被机器发现了,者还能够自动修改它的配置。这个工具也包含其他脚本来利用本地和远程漏洞。

  这一行为的有趣例子是在2012年4月7日上传到我们蜜罐上的破解Web邮件的脚本。一个来自阿塞拜疆的IP使用Webshell上传了一个名为n.php的文件和一个名为WORD.TXT的1508个字词库。这个n.php文件一旦被执行,它就会使用cURL PHP库连接到box.az邮件接口,同时使用这个词典来破解在程序里使用硬件编码的用户名的密码。我们的蜜罐实际上被登录后在三个不同的域名上传了多次n.php。者试图多次执行脚本(在16分钟内进行了10次),并对其进行编辑(4次),像是在代码中寻找错误。实际上脚本的流量被我们的防火墙进行了简单地。

  我们研究的结果给人们提供了一个在Web上当前状态下利用漏洞行为的有趣见解。一方面,我们能够某个类型的趋势,如东欧国家垃圾评论的活动,同时有很多的和钓鱼Web活动在非洲进行着[12]。药品广告似乎是垃圾邮件和垃圾评论中中最常见的主题,正如最近的研究发现的那样[9]。

关键词:net源码
0
0
0
0
0
0
0
0
下一篇:没有资料

网友评论 ()条 查看

姓名: 验证码: 看不清楚,换一个

推荐文章更多

热门图文更多

最新文章更多

关于联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助

CopyRight 2002-2012 技术支持 源码吧 FXT All Rights Reserved

赞助合作: