黑帽美国会议。 来自一百万个浏览器的僵尸网络。 第一部分Matt Johansson:现在,我将向您展示如何输入此代码。 广告网络很多,但我们选择此网络是因为它可以让我们做自己想做的事情。

您可以选择足够大的横幅图像,将其插入此处并为其分配URL,以便在单击横幅后,用户可以转到所需的站点。 该广告网络的所有者提供了HTML JavaScript选项,听起来非常不错。
我们从幻灯片顶部显示的内容开始,必须经历整个批准过程,这可能是我们研究中最困难的过程。 发生这种情况并不是出于您所考虑的原因,而是因为它们不能很好地表示JavaScript,并且也不是很在意它。 实际上,他们确保广告看起来很漂亮,并且像广告一样工作,以使我无法继续走不可见的道路,而只是在后台隐藏我们神秘的JavaScript代码。
我们插入了杰里米(Jeremy)开发的代码执行脚本,您可以在底部窗口的文本框中看到该脚本,并且该脚本已被广告客户批准,没有任何问题。 但是,我们希望能够随时重新配置它,以使我们的研究更加多样化,因为URL之类的东西经常发生变化。 但是,如果我们想尝试一些新的东西,我们将不得不重新进行审批流程。 它并不需要很多时间,但是很烦人,因为有时他们批准了它,有时他们不喜欢它,所以我们不得不进行更改。

例如,一旦一个邮件应用程序打开了脚本标签,所有的JavaScript代码都消失了,我不得不移动它。 我不得不向他们解释为什么这里必须放置少于1个标志,而又增加1个标志,之后他们说广告显示不正确,总的来说很有趣。
因此,我们将代码直接放在广告横幅中,仅输入文件所在的源脚本,我们可以随时更改此脚本,而无需广告网络所有者的任何批准。 这样,即使他们以某种方式雇用了了解JavaScript代码静态分析的人员,我们也可以将文件更改为完全良性的JavaScript。 因此,采用这种引入恶意代码的方法来检测我们的欺诈行为将非常困难。
以下幻灯片显示了我们的横幅广告。

他们批准了这些设计方案之一。 我懒得寻找其他图像,所以我只是从WhiteHat公司网站上采纳了这个想法。 文字非常简单:“获得30天的免费试用期,立即申请!”,因此,点击横幅,它是完全免费的!
杰里米·格罗斯曼(Jeremy Grossman):横幅代码内是一个脚本标签,用于标记我们的campaign.js文件的位置:
ec2-23-20-141-160.compute-1.amazonaws.com/campaign.js ,如下所示:
for (var i = 0; i < 10000; i++) { var img = new Image(); var url = 'http:
我们可以随时更改它,而无需任何批准。 我们不知道这些浏览器必须在该特定广告网络上查看我们的广告多长时间,因此我们没有停止100、200或300次浏览,而是立即停止在10,000次浏览,以求达到最佳效果。
Matt Johansson:从小做起,我们想看看是否可以让用户与我们联系。 我们可以在网络的末端看到这一点,看到所有跟随我们链接的人,因为请求来自他们的浏览器,我们可以确定他们的IP地址。 首先,我们想看看我们是如何部署这个东西以及代码是如何工作的,因为它不是您为点击付费的服务,而是我们为保证观看时间付费的。
杰里米·格罗斯曼(Jeremy Grossman):这是另一个屏幕截图,这是我们特别为BlackHat准备的“简单”演示。

左下角看到的是Amazon AWS服务器,该服务器现在可以继续工作。 初始指标如下所示:服务器在Matt的广告网络中的工作时间为8分钟,访问总数为4130,这不是网站的唯一身份访问者人数,而是实际流量为1.9 MB的实际Web请求,同时请求数为5。我们看到了用于注册指标,Web服务器日志的协议,以及访问我们所支付的站点的实时访问分钟数。
马特·约翰森(Matt Johanson):如果看下一张幻灯片,您会看到在8到10分钟之间发生的跳转-访问总数增加到1.5万。

所有这些只能通过在广告网络中放置1个广告来完成。 如果您可以向广告网络增加更多资金,那么它看起来就像是“山谷中的高峰”。 我要说的是,这一切都归功于浏览器的购买时间,并且在与广告网络合作的服务器运行10分钟之内,我们收到了大约15,000个请求。
然后我们注意到了一件有趣的事情。 让我提醒您,我们没有传统的广告网络,我们为浏览器分钟付费,也就是说,有人向我们提供了他们的浏览器以成为这个魔术网络的一部分,实际上,他们卖给我们的是浏览器的时间和处理器的时间。 我们决定查看该网络的后台发生了什么,在那里使用了哪些浏览器,我们想与Firefox等一起玩一些。
然后,我们发现来自PhantomJS的大量呼叫都进入了我们的网络。 谁熟悉PhantomJS? 我只看到少数几个人。

PhantomJS是一种无头浏览器,即可以在没有屏幕的设备(例如服务器)上运行的浏览器。 也就是说,这不是一个坐在Internet上并单击其桌面上的浏览器选项卡的人,而是一个机器人。 它可以用于单元测试,可以从命令行启动。 也就是说,有人带领他的游戏进入我们的系统,试图获取分钟数。 因此,其他人以各种方式滥用它,看着它很有趣。 我们确保会议记录不是真正的人点击他们的浏览器,而是PhantomJS机器人。
杰里米·格罗斯曼(Jeremy Grossman):以下幻灯片显示了该过程的动态:在15分钟内,我们收到了28,000个请求,在20分钟内,我们收到了近44,000个请求,在22分钟内,请求数量达到了61500。
马特·约翰森(Matt Johansson):您可能会注意到总流量很小,我们只是向他们发送了一个不存在的URL,因此20分钟内8.5 MB意味着用户刚收到404错误。
杰里米·格罗斯曼(Jeremy Grossman):将近26分钟,我们获得了8.2万次观看,然后是35分钟,9个同时请求和近10.2万次访问。
马特·约翰森(Matt Johanson):在广告网络在正常模式下运行了30到45分钟后,我们的广告展示次数达到了决定性的水平,我们为此省下了钱,这笔费用近20美元。 实际上,我打算在这项研究上每天最多花费10美元。 因此,在43分钟之后,我们有255个请求,13.35万次访问,而我们的网络在54分钟内达到了流量高峰-256个请求和244425次访问。

查看我们针对的同时请求-255,Apache服务器将无法更快地工作,然后屏幕截图显示该服务器不希望重新引导以更新度量标准数据。 在命中数达到13万,流量达到36 MB之后,我们决定稍微提高服务器吞吐量,并指示他们下载应用程序“ Aplication Security Specialist(ASS)”,因此,我们现在拥有更多经过认证的“资产”在安全领域。 之后,流量急剧增加到117 MB。 55分钟后,我们进行了25.6万次访问,访问量为253 MB。
杰里米·格罗斯曼(Jeremy Grossman):最终,在59分钟48秒(即服务器开始工作一个小时后和下载映像20分钟后)之后,流量达到1 GB。 之后,我们决定将其放置一段时间,例如七个小时,然后开始工作。
在下一张幻灯片中,您将在8小时内看到我们系统的结果:访问量超过400万,流量为114.7 GB。
马特·约翰逊(Matt Johansson):我们犯了和第一次一样的错误-我们去吃饭了。 因此,在开始播放广告网络之前,您知道,例如,每束小时有30,000次浏览,而我们仍在弄乱我们的代码,因此我们认为午餐时间会再获得一万次浏览。 当我们返回时,是的,很好,大约3万多一点,但随后我们意识到-不是3万,而是一个数量级-30万的观看次数!
如果您花更多的钱,您将获得更快的“印象”,但是在我们的服务器上,经过18小时42分钟,我们拥有近一百万次观看和240 GB的流量,因此Amazon托管比黑客广告花费了更多网络。
杰里米·格罗斯曼(Jeremy Grossman):最终,经过1天6个小时的241 GB流量,我们的观看次数几乎达到了一百五十万。 从这张幻灯片中可以看到,那时我们几乎用完了系统中的所有分钟,并决定不需要更多的分钟。 但是,我们不知道那里会发生什么事情,以及在深夜会发生什么,所以我们为了BlackHat进入了电子商务,又花了一分钟时间。
马特·约翰逊(Matt Johansson):我不建议您这样做,因为我必须打破规则,每天不花费超过10美元。

Jeremy Grossman:现在我们有将近250 GB的流量。 您会在屏幕上看到快速运行的行,这些是Apache服务器日志,然后看到屏幕截图“此页面不可用”,因为服务器无法应付负载并成功终止。 我们可以检查所有日志,直到最后,但这将花费太多时间。 因此,尽管很高兴,我们只支付了20美元,最后却遇到了经典的DoS服务失败,表示拒绝图像上传请求。 之后,我只是通过简单地重置设置来关闭图像加载。 我可以再次启用它,但是我不想告诉您我的root密码。
马特·约翰森(Matt Johansson):请注意,我们禁用了图片,因为当我们提供图片时,我们注意到实际访问速度有所降低。 我们甚至还没有耗尽整个连接限制。 我们没有使用Firefox进行此黑客攻击,我们只有6个同时连接到浏览器的连接。 我们非常紧张,因此我们没有按下红色的大按钮来开始FTP爬网,因为我们不知道会发生什么。 我们选择了法律方法,但是即使使用法律方法也给我们留下了深刻的印象。

因此,您甚至无需尝试使用黑客方法,也无需花费大量金钱,即可获得不错的结果。 幻灯片显示,经过1天20小时40分钟,视图上花费了243 GB的流量,也就是说,由于不再加载图片,其流量实际上保持不变。 当会议召开的今天早上在这里开会时,我以为我们会有大约1500万,所以现在,几个小时后,我们仅获得2000万页面浏览量,但出现404错误。
杰里米·格罗斯曼(Jeremy Grossman):我们无法“增加”流量
的唯一原因是服务器性能。 我们可以使用功能更强大的平台来达到1亿或10亿个视图,但是对于一个相对较慢的Apache服务器而言,这是一项不可能的任务。
马特·约翰森(Matt Johansson):因此,我们的结果并不是特别令人印象深刻,但是你们可以对扩展过程有所了解,因此损坏正常站点将不需要很多钱。
杰里米·格罗斯曼(Jeremy Grossman):好吧,既然我们已经达到了这个结果,我们将尝试绕过浏览器对使用FTP的连接数量的限制,运行脚本并查看会发生什么。
马特·约翰森(Matt Johansson):是的,很多人来拉斯维加斯花钱在老虎机上,在这里,我们将钱花在广告网络上。
杰里米·格罗斯曼(Jeremy Grossman):因此,我们已经与Amazon服务器建立了400多个FTP连接,那么谁知道现在会发生什么呢?
我们获得了服务器指标,然后又消失了,再次无法访问该网页,但是您可以看到日志行闪烁的速度。 让我们重启一下,因为服务器实际上已经死了,浏览器需要超时。
马特·约翰森(Matt Johansson):我们不知道FTP与广告网络的关系,不知道如果不使用机器人,而是使用真实用户的浏览器,会发生什么情况。 我希望你们能理解我们没有黑过任何人,只是弄清楚了网络是如何工作的,为此我们专门租用了服务器。 我们已完全遵守该问题的法律规定,因此您对如何在广告网络中获得乐趣有想法。
我们甚至没有试图违反法律,经过了批准程序,我们拥有相对良性且没有恶意的JavaScript,甚至没有接触“成人”广告网络,尽管您看到他们经常不在乎广告横幅的情况。
杰里米·格罗斯曼(Jeremy Grossman):我听到一个很好的问题-Apache日志来自哪里?
实际上,默认情况下,Apache中没有日志。 也许我稍后再谈。 我们有Austin Apache,我刚刚下载并安装了它。 让我运行它-您看到的是,这里没有日志,它是本地服务器。 在Amazon服务器上,您会看到错误408-服务器没有响应,因为已经超过了等待对页面请求的响应的超时时间。 此处未使用HTTP发送,但端口80仍处于打开状态,并具有许多连接。 让我们回到幻灯片上-一切都很好,您可以将其关闭。
因此,您看到了我们在遵守法律的同时所做的事情。 显然,正如Matt所说,我们可以走得更远,这在信息安全领域通常是这样。 您知道的广告网络有很多软件开发人员。 但是请相信我们,实际上他们不是软件开发人员,他们只是在广告平台上管理广告网络。

他们广泛使用的工具之一是OpenX-广告服务器或广告引擎。 这是开源软件。
许多广告网络都在使用它,通常在几周前,有人发现其中存在严重漏洞,使数百万广告平台用户面临风险。 可以通过执行随机的PHP代码来入侵此广告服务器,从而为XSS跨站点脚本攻击创造条件。
因此,如果您不想付钱给他们,而只想使用广告网络,则可以通过简单地对其进行黑客攻击并在其中下载漏洞利用程序来做到这一点,以便您可以控制开始查看广告的所有人。
马特·约翰森(Matt Johansson):实际上,我们只是投资了放置广告的老虎机,很难弄清楚是谁制作了这则广告,这是iframe。 我们研究了iframe如何破坏代码并照顾了黑客的浏览器,但是我们的研究重点是我们试图使用浏览器,以便其他人可以用自己的双手来黑客。
杰里米·格罗斯曼(Jeremy Grossman):这项研究将继续进行,我们使用我们的Amazon服务器,并尝试将我们的一些合作伙伴聚集在一起,以尝试攻击具有DDoS保护的站点,并查看我们可以定向到他们的流量,因为我们不是在防御,而是在攻击-这是我们研究的精髓。
马特·约翰森(Matt Johansson):我们将尝试研究如何破解广告网络的哈希值,因此我们掌握了一些指标,这些指标可以很好地说明JavaScript可以根据需要尽快完成此任务。 我们可以将其与美元金额关联起来,找出多少美分的MD5哈希可以破解50美分。
杰里米·格罗斯曼(Jeremy Grossman):我会再说一遍-我们可以动员一百万个浏览器,也许不是同时进行,但是您可以花大约500美元获得这百万个浏览器,并创建一个强大的僵尸网络。
我在Web安全领域已经做了足够的工作,我记得我很久以前就说过,我们必须侵入Internet以确保其安全性,侵入Internet上的现有业务模型,以便知道如何以及如何保护它们。 丹·卡明斯基(Dan Kaminsky)于2010年12月21日告诉我:“没有人可以入侵互联网,伙计。 现在不是,永远不会。” 到目前为止,他是对的。
但是现在我们看到了问题。 我不知道这是谁的问题-广告网络,浏览器提供商的问题或网站所有者的问题,但这确实存在。 而且我们不知道这是谁的责任,应该由谁来解决。
马特·约翰森(Matt Johansson):我们向您展示了您只需将图片上传到广告网络就可以做什么,但我们没有做任何进一步的工作,也没有对人们造成任何伤害,尽管我们有很多机会这样做。 而且我们不知道如何保护自己免受攻击-我们只是向您展示了一种攻击者可以利用的机制。
杰里米·格罗斯曼(Jeremy Grossman):因此,正如您所看到的,浏览器提供使用广告拦截器的原因是有原因的。 打开广告拦截器,您的浏览器将不会受到这种类型的攻击。
马特·约翰森(Matt Johanson):或者,完全断开互联网连接。
杰里米·格罗斯曼(Jeremy Grossman):我听到一个问题,亚马逊服务器给我们带来了多少费用-现在大概是100美元。
马特·约翰森(Matt Johanson):今天,当我们真正将钱投入广告网络时,在我们实现效果之前,我们支付了75美元,我试图从中榨取一切可能。
我将回答有关IP地址的最后一个问题-当我们获得横幅广告的批准时,我们看到了批准人的IP地址,但他看不到我们的IP地址,除了电子邮件地址之外,我们一无所知邮件。
感谢所有来听我们的人!
感谢您与我们在一起。 你喜欢我们的文章吗? 想看更多有趣的资料吗? 通过下订单或将其推荐给您的朋友来支持我们,
为我们为您发明的入门级服务器的独特模拟,为Habr用户提供
30%的折扣: 关于VPS(KVM)E5-2650 v4(6核)的全部真相10GB DDR4 240GB SSD 1Gbps从$ 20还是如何划分服务器? (RAID1和RAID10提供选件,最多24个内核和最大40GB DDR4)。
VPS(KVM)E5-2650 v4(6核)10GB DDR4 240GB SSD 1Gbps至12月免费,在六个月内付款,您可以
在此处订购。
戴尔R730xd便宜2倍? 仅
在荷兰和美国,我们有
2台Intel Dodeca-Core Xeon E5-2650v4 128GB DDR4 6x480GB SSD 1Gbps 100电视(249美元起) ! 阅读有关
如何构建基础架构大厦的信息。 使用价格为9000欧元的Dell R730xd E5-2650 v4服务器的上等课程?