“我知道远程控制是种武器,在十八般兵器中名列第七,木马呢?”
“木马也是种武器,也是远程控制。”
“既然是远程控制,为什么要叫做木马?”
“因为这个远程控制,无论控制了什么都会造成离别。如果它钩住你的E-Mail,你的E-Mail就要和你离别;如果它钩住你的QQ,你的QQ就要和你离别。”
“如果它钩住我的机器,我就和整个网络离别了?”
“是的。”
“你为什么要用如此残酷的武器?”
“因为我不愿被人强迫与我所爱的人离别。”
“我明白你的意思了。”
“你真的明白?”
“你用木马,只不过为了要相聚。”
“是的。”
一
在众多的黑客武器中特洛伊木马(Trojan horse)这种攻击性武器无论是菜鸟级的黑客爱好,还时研究网络安全的高手,都视为最爱。虽然有的时候高手将木马视为卑鄙的手段。但是作为最为有效的攻击工具,木马的威力要比其他的黑客工具大得多。
“木马既然如此有效,为何在Hacker兵器谱中排名靠后?”
“因为使用木马往往不是很光明正大。”
“哦?为何?”
“在使用木马的人群中菜鸟黑客居多,他们往往接触网络不久,对黑客技术很感兴趣,很想向众人和朋友显示一番,但是去驾驭技术不高,不能采取别的方法攻击。于是木马这种半自动的傻瓜式且非常有效的攻击软件成为了他们的最爱。而且随着国产化的木马不断的出现,多数黑客的入门攻击几乎无一例外都是使用木马。当然对于那些黑客老手来说他们也并不是不使用木马了,他们通常会在得到一个服务器权限的时候植入自己编写的木马,以便将来随时方便进出这台服务器。”
“但如此一来木马的名声不就随之降低了吗?”
“是的,所以现在的黑客高手都耻于用木马,更耻于黑个人的计算机。”
“不过木马在很多人的眼中仍然是一等一的绝好兵器。”
在众多的木马之中Cult of Dead Cow开发的Back Orific2000应该算是名气比较大的一个。这款软件是在Back Orific2.1的基础之上开发的,但是他最大的改动就是增加了对Windows NT服务器系列的支持。作为微软的高端产品,BO2000的这个功能无疑对Windows NT来说是致命的,就Windows NT本身而言,由于硬盘采取了NTSF的加密,普通的木马,包括冰河也无法控制,当然要想要让多数木马无法对Windows NT发挥作用最好将Windows NT转化为NTSF的格式下才会比较好用一些。
而正因为如此BO2000才深得黑客高手的喜爱,因为他们感兴趣的也只有服务器,也只有Web Server才能够提起他们的胃口,那是一种来自深层感官的刺激。
通常情况下木马大致可分为两个部分:服务器端程序和客户端程序。服务器端通常就是被控制端,也是我们传统概念上的木马了。
二
“你说BO2000好,但是绝大多数的杀毒招数都能够沟将其制服,而且我感觉他在使用上不如我手里的冰河锐利,况且我也不想黑什么服务器。我认为,个人电脑中隐藏有更大的宝藏,而且个人电脑脆弱的我能够利用任何一种方法摧毁它。
“你说的很对,冰河确实锐利,而且称霸中华江湖一年之久,也可谓武林中少见的好兵刃,但是兵器虽然锋利,但兵器在打造的时候却留下来一个致命的缺点,这也是木马冰河为何在武林衰败的原因。”
“这是一个什么样的弱点那?竟然如此致命?”
“呵呵,说白了也很简单,冰河的作者在打造冰河2.X版本时就给它留下了一个后门,这个后门其实就是一个万能密码,只要拥有此密码,即便你中的冰河加了密码保护,到时候仍然行同虚设。”
“什么!真有此事?想我许多朋友还因为冰河好用把它当作了一个免费的远程控制程序来用,如此这般,他们的机子岂不暴露无遗?”
“呵呵,在黑客中瞒天过海、借花献佛这些阴险的招数都不算什么,多数木马软件的作者为了扩大自己的势力范围和争取主动权都会留一手,致命的一招。冰河的作者当然也不例外,而且由于作者钟爱许美静,所以每一个冰河中都包含许美静的歌词。当然作者为自己以后行事方便也留了几个万能密码。”
“噢?万能密码?”
“通常黑客在植入冰河这种木马的时候,为了维护自己的领地通常的要为自己的猎物加一个密码,只有输入正确的密码你才能够正常的控制对方的计算机,但是冰河的打造者为了方便自己的使用在冰河中加入了一个万能的密码,就像万能钥匙一样。冰河各版本的通用密码:
2.2版:Can you speak Chinese?
2.2版:05181977
3.0版:yzkzero!
4.0版:05181977
3.0版:yzkzero.51.net
3.0版:yzkzero!
3.1-netbug版密码: 123456!@
2.2杀手专版:05181977
2.2杀手专版:dzq20000!
你可以试试看,是不是很轻松的就能够进入任何一台有冰河服务器端的电脑?”
“真的进入了,果然有此事情,怪不得现在很多人都不再使用冰河。”
“此外冰河还存在着两个严重的漏洞:
漏洞一:不需要密码远程运行本地文件漏洞。
具体的操作方法如下:我们选择使用相应的冰河客户端,2.2版以上服务端用2.2版客户端,1.2版服务端需要使用1.2版客户端控制。打开客户端程序G_Client,进入文件管理器,展开“我的电脑”选中任一个本地文件按右键弹出选择菜单,选择“远程打开”这时会报告口令错误,但是文件一样能上传并运行。
任何人都可以利用这个漏洞上传一个冰河服务端就可以轻松获得机器的生死权限了,如果你高兴的话,还可以上传病毒和其它的木马。
漏洞二:不需要密码就能用发送信息命令发送信息,不是用冰河信使,而是用控制类命令的发发送信息命令。”
“当然这的确是一个原因,但更主要的是现在的多数杀毒软件都能克制冰河。”
三
木马通常会在三个地方做手脚:注册表、win.ini、system.ini。这三个文件都是电脑启动的时候需要加载到系统的重要文件,绝大部分木马使用这三种方式进行随机启动。当然也有利用捆绑软件方式启动的木马,木马phAse 1.0版本和NetBus 1.53版本就可以以捆绑方式装到目标电脑上,可以捆绑到启动程序上,也可以捆绑到一般程序的常用程序上。如果木马捆绑到一般的程序上,启动是不确定的,这要看目标电脑主人了,如果他不运行,木马就不会进入内存。捆绑方式是一种手动的安装方式,一般捆绑的是非自动方式启动的木马。非捆绑方式的木马因为会在注册表等位置留下痕迹,所以,很容易被发现,而捆绑木马可以由黑客自己确定捆绑方式、捆绑位置、捆绑程序等,位置的多变使木马有很强的隐蔽性。
“在众多木马中,大多数都会将自己隐藏在Windows系统下面,通常为C:Windows目录或者C:Windowssystem与C:Windowssystem32下隐藏。”
“众多的目录中为何选择这两个目录?”
“呵呵,当然是为了便于隐蔽。通常这几个目录为计算机的系统目录,其中的文件数量多而繁杂,很不容易辨别哪些是良性程序哪些是恶性程序,即便高手往往也会有失误删除的情况。而且,即便放置在系统目录下,就多数为重要的文件,这些文件的误删除往往会直接导致系统严重的瘫痪。”
“原来如此。”
“前辈,木马冰河是否也做了这些手脚?”
“这是自然,木马一旦被植入目标计算机中要做的最重要的事就是如何在每次用户启动时自动装载服务端。冰河也是如此了。首先,冰河会在你的注册表中的HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRun和RUNSERVICE 键值中加上了kernl32.exe(是系统目录),
§c:改动前的RUN下
默认=""
§c:改动后的RUN下
默认="C:WINDOWSSYSTEMKernel32.exe"
§c:改动前RunServices下
默认=""
§c:改动后RunServices下
默认="C:WINDOWSSYSTEMKernel32.exe"
§c:改动前[
HKEY_LOCAL_MACHINESoftwareCLASSES
xtfileshellopencommand]的:
默认="Notepad.exe %1"
§c:改动后[
HKEY_LOCAL_MACHINESoftwareCLASSES
xtfileshellopencommand]的:
默认="C:WINDOWSSYSTEMSysexplr.exe %1"
可以看出之所以冰河可以自我恢复主要靠的是C:WINDOWSSYSTEMSysexplr.exe,而且冰河服务器端的编制是加密的,没法简单的通过改注册表得到或换掉。另外值得一提的是,即便你删除了这个键值,也并非平安大吉,冰河还会随时出来给你捣乱,主要因为冰河的服务端也会在c:windows目录下生成一个叫 sysexplr.exe文件,当然这个目录会随你windows的安装目录变化而变化。
“这个文件名好像超级解霸啊,冰河竟然如此狠毒。”
“哈哈哈哈,你说的很对,也很聪明,这个文件的确很像超级解霸,但是这还是不够称得上为阴险,最为阴险的是这个文件是与文本文件相关联的,只要你打开文本,sysexplr.exe程序就会重新生成一个krnel32.exe,此时你的电脑还是被冰河控制著。而且如果你失误将sysexplr.exe程序破坏,你计算机的文本文件将无法打开。”
木马都会很注意自己的端口,多达六万多中的端口很容易让我们迷失其中,如果你留意的话就会发现,通常情况下木马端口一般都在1000以上,并朝着越来越大的趋势发展。这主要是因为1000以下的端口是常用端口,况且用时占用这些端口可能会造成系统不正常,木马也就会很容易暴露;此外使用大的端口也会让你比较难发现隐藏其中的木马,如果使用远程扫描端口的方式查找木马,端口数越大,需要扫描的时间也就越多,故而使用诸如8765的端口会让你很难发现隐藏在其中的木马。
四
“既然木马如此的阴险,那么前辈有何可知木马的方法啊?”
“现在的木马虽然阴险,但终究逃不过几个道理。平时出名的木马,杀毒软件就多数能够对付。但是现在木马种类繁多,有很多杀毒软件对付不了的。但是,只要我们谨记一下几个方法,就能够手到擒来。”
“首先,我们可以选择端口扫描来进行判断,因为木马在被植入计算机后会打开计算机的端口,我们可以根据端口列表对计算机的端口进行分析。此外,查看连接也是一种好办法,而且在本地机上通过netstat -a(或某个第三方的程序)查看所有的TCP/UDP连接,查看连接要比端口扫描快,而且可以直观地发现与我们计算机连接的有哪些IP地址。当然,如果你对系统很熟悉的话,也可以通过检查注册表来进行木马的杀除,但是这个方法不适合于那些菜鸟级用户。查找木马特征文件也是一种好方法,就拿冰河来说……”
“这个我知道前辈,木马冰河的特征文件一定是G_Server.exe。”
“那有这么简单。冰河植入计算机后真正的特征文件是kernl32.exe和sysexlpr.exe。”
“太狠毒了,一个跟系统内核文件一样,一个又像超级解霸。那么前辈我们把这两个文件删除掉,这冰河岂不就消失了。”
“的确,你要是在DOS模式下删除了他们,冰河就被破坏掉了,但是你的计算机随之会无法打开文本文件,因为你删除的sysexplr.exe文件是和文本文件关联的,你还必须把文本文件跟notepad关联上。修改注册表太危险,你可以在Windows资源管理器中选择查看菜单的文件夹选项,再选择文件类型进行编辑。不过最简单的方法是按住键盘上的SHIFT键的同时鼠标右击任何一个TXT为后缀的文本文件,再选择打开方式,选中〖始终用该程序打开〗,然后找到notepad一项,选择打开就可以了。”
“哈哈,按照前辈这么说来,我们只要抓住了这特征,天下的木马也奈何不了我们了。”
五
“哈哈,你可知道除了冰河这样的木马经常使用的隐身技术外,更新、更隐蔽的方法已经出现,这就是?驱动程序及动态链接库技术。驱动程序及动态链接库技术和一般的木马不同,它基本上摆脱了原有的木马模式?监听端口,而采用替代系统功能的方法改写驱动程序或动态链接库。这样做的结果是:系统中没有增加新的文件所以不能用扫描的方法查杀、不需要打开新的端口所以不能用端口监视的方法进行查杀、没有新的进程所以使用进程查看的方法发现不了它,也不能用kill进程的方法终止它的运行。在正常运行时木马几乎没有任何的症状,而一旦木马的控制端向被控端发出特定的信息后,隐藏的程序就立即开始运作。此类木马通过改写vxd文件建立隐藏共享的木马,甚是隐蔽,我们上面的那些方法根本不会对这类木马起作用。
“可是前辈说的这种木马晚生并没有见到啊。”
“笨蛋!你没有见过,你怎么知道我老人家也没有见过?告诉你我已经看到了一个更加巧妙的木马,它就是Share。运行Share木马之前,我先把注册表以及所有硬盘上的文件数量、结构用一个监控软件DiskState记录了起来,这个监控软件使用128bit MD5的技术来捕获所有文件的状态,系统中的任何文件的变动都逃不过他的监视,这个软件均会将它们一一指出。”
“前辈我这里第一次运行Share后,系统好像没有动静,使用Dllshow(内存进程察看软件)观看内存进程,似乎也没有太大的变化。一般木马都会马上在内存驻留的,或许此木马修改了硬盘上的文件。”
“好,那么你就接着用DiskState比较运行share.exe前后的记录。”
“程序显示windowsapplog里面的目录的一些文件和system.dat、user.dat文件起了变化,并没有其他文件的增加和修改。”
“系统中的applog目录里面存放了所有应用程序函数和程序调用的情况,而system.dat和user.dat则是组册表的组成文件。你把applog目录里面的share.lgc打开来观看,它的调用过程是什么?”
“调用过程如下:
c15625a0 92110 "C:WINDOWSSYSTEMOLEAUT32.DLL"
c1561d40 c1000 "C:WINDOWSSYSTEMOLE32.DLL"
c1553520 6000 "C:WINDOWSSYSTEMINDICDLL.DLL"
c15d4fd0 2623 "C:WINDOWSWIN.INI"
c15645b0 8000 "C:WINDOWSSYSTEMSVRAPI.DLL"
c1554190 f000 "C:WINDOWSSYSTEMMPR.DLL"
c154d180 a1207 "C:WINDOWSSYSTEMUSER.EXE"
c1555ef0 13000 "C:WINDOWSSYSTEMMSNET32.DLL"
但是为什么前辈我们看不到MSWINSCK.OCX或WSOCK2.VXD的调用呢?如果木马想要进行网络通讯,是会使用一些socket调用的。”
“那么接着你再观察注册表的变化。”
“好像在HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionNetworkLanMan下面,多了几个键值,分别是CJT_A$、CJT_C$、CJT_D$、CJT_E$、CJT_F$,其内部键值如下:
"Flags"=dword:00000302
"Type"=dword:00000000
"Path"="A:" 《-----路径是A到F
"Parm2enc"=hex:
"Parm1enc"=hex:
"Remark"="黑客帝国"
”
“这就对了,然后你在浏览器的地址栏输入111.111.111.1CJT_C$。”
“啊!居然把我的C盘目录文件显示出来了。”
“现在你把CJT_C$改成matrix然后重启计算机,接着在浏览器的地址栏输入111.111.111.1matrix。”
“前辈也显示C盘目录文件了,很奇怪的是,在我的电脑里面硬盘看上去并没有共享啊?”
“哈哈,那你再把"Flags"=dword:00000302的302改成402,reboot计算机。”
“嘻嘻,硬盘共享已显示出来了。那么如何防止这种木马那?”
“哈哈哈哈,这种木马只不过用了一个巧妙的方法隐藏起来而已。你现在把HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionNetworkLanMan下面的CJT_A$、CJT_C$、CJT_D$、CJT_E$、CJT_F$全部删掉。如果你还放心不下,也可以把windowssystem下面的Vserver.vxd(Microsoft 网络上的文件与打印机共享,虚拟设备驱动程序)删掉,再把[HKEY_LOCAL_MACHINESystemCurrentControlSetServicesVxD下的VSERVER键值删掉。这样就可以了。另外,对于驱动程序/动态链接库木马,有一种方法可以试试,使用Windows的〖系统文件检查器〗,通过〖开始菜单〗-〖程序〗-〖附件〗-〖系统工具〗-〖系统信息〗-〖工具〗可以运行〖系统文件检查器〗,用〖系统文件检查器〗可检测操作系统文件的完整性,如果这些文件损坏,检查器可以将其还原,检查器还可以从安装盘中解压缩已压缩的文件。如果你的驱动程序或动态链接库在你没有升级它们的情况下被改动了,就有可能是木马,提取改动过的文件可以保证你的系统安全和稳定。”
六
“此外很多人中木马都会采用如下手段:
1.先跟你套近乎,冒充成漂亮的美眉或者其他的能让你轻信的人,然后想方设法的骗你点他发给你的木马。
2.把木马用工具和其它的软件捆绑在一起,然后在对文件名字进行修改,然后修改图标,利用这些虚假的伪装欺骗麻痹大意的人。
3.另外一种方法就是把木马伪装好后,放在软件下载站中,着收渔翁之利。
所以我这里提醒你一些常见的问题,首先是不要随便从小的个人网站上下载软件,要下也要到比较有名、比较有信誉的站点,通常这些网站的软件比较安全。其次不要过于相信别人,不能随便运行别人给的软件。而且要经常检查自己的系统文件、注册表、端口等,而且多注意些安全方面的信息。再者就是改掉windows关于隐藏文件后缀名的默认设置,这样可以让我们看清楚文件真正的后缀名字。最后要提醒你的是,如果有一天你突然发现自己的计算机硬盘莫名其妙的工作,或者在没有打开任何连接的情况下,猫还在眨眼睛,就立刻断线,进行木马的搜索。”
“多谢前辈赐教,晚生无以为报,就送给前辈一个电子贺卡作为答谢吧。”
“好的,不错很漂亮。”
“哈哈哈哈,前辈没有发现自己的硬盘在转吗?你的木马端口秘籍我已经得到了,前辈你真是聪明一世糊涂一时,我的贺卡中夹着一个木马,而且就是冰河,前辈没有想到吗?”
“你…………”(晕倒过去)