译:0day 之路(The way to a Zero-day)

untitled5b55d

The way to a zero-day
February 2,2009 posted by Moti Joseph

到底是如何发现可以被用来攻击的安全漏洞的呢?

有从攻击对象应用程序的反编译开始的一种,也有更加简单的方法可以选择。更简单的方法的一种就是“Web 跳板”。

“要进行 0day 攻击需要 Web 跳板?为什么?”

好吧,这个主意是:攻击者了解开发者在碰到一个问题的时候,并将其发布到论坛上,请求帮助。

开发者的贴子中有抱怨一打开浏览器就崩溃了的。另外,也就是说出现了有人发布了如何让你的浏览器崩溃的人。而更多的开发者并不知道自己的贴子可能会影响到系统安全。

而攻击者却对于这些是很清楚的,这就很容易找出安全的漏洞。

从论坛的发布贴子上来看看攻击者是如何实际利用的吧。

0day_forum5b105d

这是一个在游戏论坛中,昵称为“Caveman”的会员发布的代码。他声称,他成功地使用了这段代码让其他人的计算机崩溃过。

美国 Websence 的安全实验室监视、分析着许多的 Web 站点,为了发现带有恶意代码的。通过这些活动,发现某些恶意网站的 Web 页中,使用了如论坛中发布的 JavaScript 代码。

0day_shellcode5b45d

能够看得懂这些代码吗?

攻击者将向浏览器的内存缓冲区写入大量的他的 Shellcode,并且使用“width="9999999" height="9999999"”作为在游戏论坛中可能出现的安全漏洞进行攻击,造成 Web 浏览器缓冲区溢出攻击。然后,以此引导执行他自己的 Shellcode,将计算机系统变成他自己的东西。

这种攻击并不会仅仅停留在计算机的“崩溃”之上。

我们对于这 Shellcode 的目的抱有疑问的态度。因此,将这段 Shellcode 进行简单地转换成 C 语言之后,进行了测试。

bind_payload5b45d

执行之后,发现计算机的以太网的 28876 端口在监听状态。

bind_shell5b45d

那么,到底是在监听着什么?好吧,使用 telnet 到此端口上,就立马得到了答案。出现了计算机的壳(命令提示符)画面。

shell_prompt5b45d

Game Over。


Copyrights (C) 2009 Websense, Inc. All rights reserved.

原始文章内容为:http://securitylabs.websense.com/content/Blogs/3294.aspx