【转载】
灰鸽子真相大揭底 专家为你实例剖析
灰鸽子,一个自诞生以来,就被各杀毒厂商一致喊打的木马程序,尽管其作者在软件许可中辩称自己是远程管理软件。
“三尺长的大砍刀,刃上带锯齿,边上有血槽,刀柄里藏着几十发暴雨梨花针,还随刀附送淬毒所需全部材料和设备,现在贴个标拿出来卖,说自己是菜刀,你还真有才~~~~”这是网友对灰鸽子2007的评价。
2007年2月21日,灰鸽子2007beta2版本发布。该版本可以对远程计算机进行如下操作:编辑注册表;上传下载文件;查看系统信息、进程、服务;查看操作窗口、记录键盘、修改共享、开启代理服务器、命令行操作、监视远程屏幕、操控远程语音视频设备、关闭、重启机器等。
从功能上看,该软件的确满足了远程管理的需求。问题是,作为网管,你会用它来做远程管理软件吗?笔者电话访问了10个网管朋友,其中5个在用pcanywhere,3个用远程桌面,2个用radmin。再问你会不会使用灰鸽子做远程管理时,全部都说“不”,其中一个朋友还说,网管用灰鸽子管服务器,那就是脑袋进水。
本文简单列举一下灰鸽子客户端和服务端的功能,和真正的网管软件做个比较,试图给读者揭露灰鸽子软件的真实意图,看这个软件是否真如其作者所辩称的那样,仅是一款远程管理软件。
远程管理软件一般有服务端(被控端)和客户端(控制端)两部分组成。管理员先在需要管理的服务器上安装启用服务端程序,服务端就开启相应网络端口,等待接受客户端的指令,客户端连接服务端指定端口后即可完成远程管理任务。所有管理员都知道远程管理的风险,只有具备远程管理权限的客户端才能正常建立连接。并且,所有的管理操作,在服务端,都会提供连接日志,以便管理员进行管理维护。有兴趣的朋友尽可以拿windows远程桌面和PcAnyWhere来试验。
而灰鸽子服务端,不是等待客户端连接,而是系统一启动,服务端就会去自动上线连接控制端,控制端的操作人员随时可以完成他想要的操作,而这一切,服务端的管理员可能毫不知情。
配置服务端自动上线
(screen.width*0.8-70)) this.width=(screen.width*0.8-70)'>
图1
服务端程序运行后自行删除,并且可以选择完全隐藏服务端图标,即使有服务端图标,和其它正常的远程管理软件不同的是,这个图标完全没有任何用处,你只是知道它存在而已,想关闭也很难办。
配置即将种植在肉鸡上的病毒名
(screen.width*0.8-70)) this.width=(screen.width*0.8-70)'>
配置病毒自动加载启动项
服务名称可任意定制,这意味着非常多的人会被虚假信息蒙骗,这一项可以取消,这样配置出来的服务端,运行msconfig进行启动项管理,也不会发现木马的痕迹。
(screen.width*0.8-70)) this.width=(screen.width*0.8-70)'>
图3
配置代理服务器
这样,中灰鸽子的机器就不明不白的为第三方提供网络连接服务了。使用代理服务器作跳板对第三方目标发起攻击,是黑客最爱干的事儿,一旦有人追查,这些代理服务器,就成了真正黑客的替罪羊。
(screen.width*0.8-70)) this.width=(screen.width*0.8-70)'>
图4
配置隐藏选项
如下设置后,能有几个人发现被安装木马了呢。这绝对不是一个正常的远程管理软件应该具有的功能,那谁真正需要它呢?读者想想就清楚了。
(screen.width*0.8-70)) this.width=(screen.width*0.8-70)'>
图5
配置最终生成的程序图标
都很熟悉吧,看到用这些图标做掩护的文件,相信不少人想都不想,就双击了吧。
(screen.width*0.8-70)) this.width=(screen.width*0.8-70)'>
图6
插件功能
可用来捆绑第三方软件,比如流氓软件
(screen.width*0.8-70)) this.width=(screen.width*0.8-70)'>
图7
奇怪的是,这个辩称自己是远程管理软件的东东,在服务端却没有任何与访问权限和日志记录等管理软件必备的功能设置。真正的网管软件,服务端不需要日志记录吗?
接下来,我们再看灰鸽子客户端想要控制什么。
服务端启动后,客户端立即发现目标主机自动上线,意味着客户端可以为所欲为了
(screen.width*0.8-70)) this.width=(screen.width*0.8-70)'>
图8
插件功能
可用来捆绑第三方软件,比如流氓软件
(screen.width*0.8-70)) this.width=(screen.width*0.8-70)'>
图7
奇怪的是,这个辩称自己是远程管理软件的东东,在服务端却没有任何与访问权限和日志记录等管理软件必备的功能设置。真正的网管软件,服务端不需要日志记录吗?
接下来,我们再看灰鸽子客户端想要控制什么。
服务端启动后,客户端立即发现目标主机自动上线,意味着客户端可以为所欲为了
(screen.width*0.8-70)) this.width=(screen.width*0.8-70)'>
图8
远程编辑注册表
上传个有害程序,修改目标主机注册表,让这个程序自动加载,和操作你本地的注册表一样容易。
(screen.width*0.8-70)) this.width=(screen.width*0.8-70)'>
图11
命令广播功能
控制端可以把控制命令一次性广播到若干台计算机,如果一个攻击都利用灰鸽子组成了一个僵尸网络,用这个功能就可以同时完成一个特定的任务了。任务完成还可以立即远程卸载服务端,达到毁尸灭迹的效果。
(screen.width*0.8-70)) this.width=(screen.width*0.8-70)'>
图12
远程桌面
是远程管理软件的基本功能,注意和windows的远程桌面比较一下,你会发现,客户端是不需要提供任何登录凭据的,想来就来,不用和门卫打招呼。
远程Telnet
和你在远程计算机上执行命令行是完全一样的,而这时候你去检查服务端计算机上的telnet服务,实际上仍是关闭着,灰鸽子自己设计了一个远程命令行工具。即使远程计算机的所有者禁用了telnet仍然无忌于事。
(screen.width*0.8-70)) this.width=(screen.width*0.8-70)'>
图13
远程控制摄像头
这是灰鸽子开发者设计的最变态的功能,完全满足了部分偷窥狂人的欲望。可以控制远程计算机的摄像头,在服务端操作人员完全不知情的情况下,控制端可以把摄像头目标中的拍摄下来。机房里的服务器需要摄像头吗?
(screen.width*0.8-70)) this.width=(screen.width*0.8-70)'>
图14
看到这里,所有人都明白了灰鸽子到底想干什么,它是远程控制软件吗?它到底为谁开发的?程序员的智慧应该用在什么地方?灰鸽子不是其作者辩称的远程控制软件,是个彻头彻尾的恶意木马。
(screen.width*0.8-70)) this.width=(screen.width*0.8-70)'>