驻扎在服务器的后门一般都是SHIFT后门,此种后门的广泛使用,应了“物极则必反”的说法,如今精明一点的管理员哪个不懂这个后门呢,虽然有些黑客爱好者把界面弄的如何逼真,除非你成功地完成了MD5碰撞,那么始终无法逃避MD5工具的法眼,所以我们极其需要黑客技巧的创新,而不是一直停留几年前的技巧上。
我们谈一下运行一个程序的方式,从病毒身上让我们逐渐认识了何为文件关联和镜像劫持,打开一应用程序甚至是文本文件都可导致病毒的重生,但能够被病毒利用的技巧同样也可以让病毒死亡,最好的例子就是利用更改EXE文件关联,使病毒无法运行后删除之,利用镜像劫持导致病毒的无法运行,可谓是“师夷长技以制夷”。从中也可以得出一个结论,程序(病毒)的应用不一定需要正常的运行手段,也可以多面性,这点更可以从地址栏中输入一个网址来调用一程序作为最好的例子,当然也可以修改运行框所对应的注册表的键值来再运行栏直接调用一程序。既然有这么多的另类方式,那么是否存在一种方法可以不让我们不在地址栏中调用一程序,而是直接在ASP页面里调用一个程序的运行,也许在常人给来看是不可能的,但是经过对一机器的设置,却可以实现这有些匪夷所思的技巧,如果结论成立,那么就代表你可以得到一个服务器的管理权后,进行一翻设置,然后加管理员为好友,有一天“后门”关闭了,你可以发一个ASP页面诱骗管理员点击,点击后的目的是运行存在其服务器的后门程序,当然管理员一旦要是在其服务器上的网,结果可想而知。
ASP页面里调用一个程序这个命题的解决其实是来源于腾讯为了方便用户和陌生人交流而设置的临时对话框,我们在黑客防线官方网站也可以清楚地看到为用户交流方便而设置弹出临时对话框的图标。假设我们要想和官方的客服交流,只要在开着QQ的前提下,点击客服QQ就会弹出聊天界面。如图1所示
这个时候,我们打开自己的任务管理是很难发现有一个程序启动过,因为启动后传递了下参数就消失了,如图2
为了更能找到这个神秘的程序到底是什么,那就不能在网站直接调用正确的代码进行,我们知道腾讯给我们显示图1的企鹅图标的地址是在ASP加入了类似以下的代码:
代码一:
a target=_blank href=网址img border=0src=网址 alt=点击这里给我发消息title=点击这里给我发消息 /a
代码二:
ahref=tencent://message/?uin=88888888&Site=JooIT.com&Menu=yes imgborder=0SRC=网址 alt=点击这里给我发消息 /a
第二个代码我们最为熟悉了,因为包含了“tencent://message/?uin=”,很明显后面是传递的是参数值,比如你要和谁谁临时对话啊。我们可以直接不输入完成的代码,而直接是一部分如“tencent:/”都会有各种不同的提示,有些提示你“安装包格式错误,请重新确认”。总之,有提示就容易让我们抓住这个狡猾狐狸的尾巴。如图3
图3和图2稍微对比一下,我们可以很明显地揪出了一个名为“Timwp.exe”的进程,打开其进程对应的目录,更能证明自己的猜测。这个时候,就有一种邪恶的想法产生了,替换这个程序,我们就可以利用一个ASP页面的超级链接甚至一个网站导致一个程序的运行,我们将这个文件用杀毒辅助工具“Wsyscheck”,如图4
图4其实替换法是最简单的方法,但是只从腾讯和360那场网络战,使腾讯深刻明白自己的程序一定要在掌握系统最深入的权限(如安装驱动等方式)以达到的目的,这样以来,其文件就无法被我们替换掉。但是我们也必须明白,或许我们可以直接替换注册表所对用的键值也修改临时对话框所调用的程序,在注册表搜一下很容易找到我们所需要的地方。如图5
其实我们只要更改一下这个程序名地址就可以劫持临时对话框所调用的程序。但是有一个问题一定会出现在我们面前,这种奇特的方式是腾讯软件特有的,还是微软所特有的,久经互联网的人肯定也会发现其实很多IM软件(如MSN)也是有这样的临时对话框,这就证明这是微软特定的玩样,更为确定是一种协议。在注册表操作毕竟有些繁琐,这里有一个技巧,我们只要利用注册表的“导出”功能就可以更改后逆向更改导入注册表了,这样在CMD模式下可以进行导入。我们这里导出“TENCENT”所对应的注册内容,只要右键选择导出就可以了。如图6
图6打开保存后的注册表,研究一下,就会发现也比较简单,如图7
其实通过百度,我们可以知道Registerprotocol是微软提供的注册协议,此协议是一个用来通过连接来发送、接收和处理信息的方法。普通常见的浏览器协议包括http、https、ftp和mailto。为了你能够发送一个指定的协议来查看信息,你必须注册它们。如果你输入一个未知协议(如foo)的URL在你的定位符工具栏中,你将接收到一个这样的消息:“FireFox不知道如何打开这个地址,因为协议(foo)并不关联于任何程序或者在MozillaSuite/SeaMonkey中,foo不是一个已经注册的协议”。这也更好地解释了你见到了电驴等那些奇怪的下载网址,如ed2k://|file|......等。如今迅雷已经支持电驴的下载地址,这个时候我们在地址栏中输入“ed2k:/”的话,这个时候迅雷立刻就会启动,这是毋庸置疑的。
为了证明自己的正确性,自己新建一个“foo协议”,代码可以简化成:如图7
这个时候在注册表也找到了我们的键值,甚至直接在地址栏输入我们的程序也可以打开我们预先设置的程序,如图9
至此我们就可以利用注册协议构建属于自己的后门,给管理员甚至已经被自己下套的电脑用户,就可以运行任何程序了,也可以在管理员的网站上的ASP页面弄个超级链接。总之,此Registerprotocol原本是方便用户以及软件开发者,却被玩黑的人利用是一种迟早的事情,任何事情都有其两面性,不是不用,只是时候未到而已。
本文内容所提及均为本地测试或经过目标授权同意,旨在提供教育和研究信息,内容已去除关键敏感信息和代码,以防止被恶意利用。文章内提及的漏洞均已修复,作者不鼓励或支持任何形式的非法行为。