在当今的潮流下Windows NT已经成为了一种服务器操作系统的潮流,无论在局域网还是在互联网中,我们似乎都可以看到Windows NT的身影。但是由于它的源代码保密性和简单的图形接口,致使Windows NT成为了黑客们攻击的首选目标,寻找NT的漏洞也成为了黑客的一项基本工作。
为什么黑客会认为Windows NT的安全机制很脆弱呢?一个突出的问题是它的操作简单与便捷,还有就是它对于反向兼容的依赖,特别值得注意的是为了扩展市场不得不继续遵循一些网络中原有的通讯协议,这使得Windows NT的一些安全措施没有达到预想的方案。特别是Windows NT的底层网络支撑体系依然沿用NetBIOS/CIFS(Common Internet File System,公共广域网文件系统)和SMB(Server Message Block,服务器消息模块)等网络协议,这使得那些有入侵经验的老手对Windows NT的一些新的防范措施不屑一顾,他们能够利用旧有的一些协议漏洞和原理同样的让他们在NT的身上奏效。而且NT对一些用户信息保密字的加密处理也不是很完善,它依然沿用了旧有的Lan Manager算法,使得破解工作变得异常的简单。
本文详细介绍黑客在攻击Windows NT系统时常用的一些方法和具体攻击步骤,让网络系统管理员在维护系统时尽量做到有的放矢。有一句话非常有道理:“世界上没有绝对愚蠢的系统,只有绝对愚蠢的管理员。”只要我们的网络管理员能够细心地维护系统,相信黑客们是没有可乘之机的。
通常情况下,攻击者会采取以下方式对NT发起进攻:
1、猜解密码(手工猜解、自动猜解、监听猜解);
2、远程漏洞攻击(缓冲区溢出、拒绝服务DDos);
3、升级权限(虹吸信息、修改注册表、Getadmin、Sechole、木马);
4、破解SAM文件(获取SAM、使用软件对SAM进行破解);
5、寻找信任漏洞(更改注册表键值);
6、远程监听(NetCat监听、BO2000、WinVNC)。
黑客们又是如何使用这些方法对NT进行破坏性攻击?以下介绍运用这些手段时的具体步骤。
获取Administrator权限帐号
在NT中如果一个攻击者如果获得不了Administrator权限的帐号,那么这个攻击这对于你的系统就无可奈何。而NT恰恰又不提供远程执行命令的权限,即便是提供了权限,能够进行远程交互管理的也仅仅局限在几个特权帐号上,这样的举措让NT的安全性大大的提高,同时限制了普通型和非管理级别用户搞破坏的能力。但是那些老谋深算的黑客们会像狡诈的狐狸一样依靠灵敏的感官洞察你的每一个弱点,而当我们的管理员面对这些久经杀场的入侵者时,那些看似安全的防范似乎都变为了一个漏洞百出的系统。
对于手工猜解和自动暴力破解这两种方法,攻击者首先要做的是搞到一份用户名单。黑客们通常会先对目标服务器进行一些端口的扫描,小榕的流光和很多国外的软件都具备这种功能。通过对端口信息的扫描黑客通常会找到许多有价值的信息。
在获取到端口信息后,黑客们可以根据端口的对一些防范不当的主机进行用户列表的索取,黑客们通常使用一个空连接命令去打开已知的通道,其中最为简单的方法就是使用nbtstat命令了:
瞧!我们看到了什么,这些就是这台服务器系统上NetBIOS的信息,当然还有系统名和这台计算机所在的域,我们也得到了一些已经登陆这台服务器用户的信息。当然我们任何一个人都知道,那些老谋深算的黑客不会单纯的就凭借着这些信息来攻击你的,他们需要更多的情报,更多的更详细的关于他们猎物的详细情况,而且每一个黑客都有足够的耐心来等待完成这些信息的获取。一般来说他们会凭借一些工具来获取更详细的信息,在这些工具中有几个是他们的最爱,其中有被称之为黑客工具箱的Windows NT Resource Kit(简称NTRK),还有著名的DumpACL与NetCAT,当然开发这些工具的初衷是为了网管们更加方便的获取网络和自己系统的信息,以方便网管对网络和服务器进行方便的管理。但是如果黑客用上这些工具后,此时他们也会像一个网管一样方便的获取你的信息。所以我提倡网管们先用一下这些工具,看看自己有哪些漏洞可以被黑客利用。
看我们现在就用DumpACL连接了一台计算机,我们可以看到这台服务器有哪些可以共享的资源,当然黑客也可以看到了。像这样的工具还有比较著名的Legion,它可以图形界面查询整个C类网的所有计算机的共享资源,而且最新的版本中还包括了一个可以由入侵者来设定密码的猜解共享资源密码的小东西。
另外我们国内也有非常出色的共享探测工具,用户名和一些计算机名称,包括域的信息我们都可以用追捕来简单探测出来,而共享资源天行的网络刺客应该是我们的首选,特别指出的是网络刺客的功能非常的强大,有些国内的黑客就是单纯地利用它就攻破了许多的NT或者是UINX的服务器,而且国内著名的黑客探测软件开发者小榕在和我聊天时也对网络刺客赞不绝口,可以想象它的功能有多么的强大。
好了,既然黑客们已经用这些工具获得了一些他们认为对他们有价值的东西,那么他们就应该采取下一个阶段的行动了,这就对服务器进行突破入侵。一些狡诈的黑客一般不会选择从服务器下手,而是从你的局部工作站开始突破,因为他们知道本地工作站更能够让管理员疏忽,而且也是所有网络中最脆弱的环节之所在。而中心服务器会有更严格的密码管理手段,往往不是很轻易就能够突破的,而且服务器的工作站分机的一般都允许用户交互登陆,允许远程执行一些命令,这些都会成为黑客以后突破服务器的一个入口。
就在我们的网管睡觉的时候,黑客们便开始了他们的工作,他们在破解你的密码的时候一般会选择诸如NetBIOS Auditing Tool(俗称NAT)和Legion这样的工具。然后他们只需要用乱刀等工具生成或者是在互联网上下载一个猜解密码用的字典就可以了。当黑客具备一切条件后,他们只需要用NAT连接到一个目标,NAT就会根据用户名清单和密码字典进行自动破解,一个简单的FOR命令足以攻破一个脆弱的密码,具体操作如下:
D:FOR /L %i IN(1,1,254)Do nat -u userlist.txt -p passlist.txt [输入服务器IP地址,例如:202.11.22.33] %I nat_output.txt
---Checking host: 202.11.22.33
---Obtaining list of remote NetBIOS names
---Attempting to connect with Username : ‘ADMINISTRATOR’ Password: ’ADMINISTRATOR’
---Attempting to connect with Username : ‘ADMINISTRATOR’ Password: ‘GUEST’
…
---CONNECTED:USERNAME:’ADMINISTRATOR’ Password: ’PASSWORD’
---Attempting to access share :\*SMBSERVERTEMP
---WARNING:Able to access share:\* SMBSERVERTEMP
---Checking write access in:\* SMBSERVERTEMP
---WARNING:Directory is writeable:\* SMBSERVERTEMP
---Attempting to exercises..bug on:\ *SMBSERVERTEMP
…
OK,这样一个密码我们就搞到手了。当然像这样的好工具我们还有许多。均可以实现暴力破解。对于一些职业的黑客或者是一些骨灰级的黑客,他们通常会选用一些商业性的破解工具,这些工具运行速度非常快,且可以分许多线程进行破解和并行grinding session,由于这种工具是需要付费的,所以一般黑客不容易得到。
权限突破
权限突破是一种黑客们经常使用到的方法,也是最常见的黑客入侵手段。通常的情况下,当黑客们得到一个NT服务器上的一个正常的普通用户名和有效地密码的时候(此密码不等同于Administrator级别的用户名密码),他们就会利用一些NT本身的漏洞和管理员的疏忽所造成的失误性漏洞,对其掌握的帐号进行权限突破,也就是所谓的将自己的普通权限帐号升级为特殊权限的帐号。
攻击者在得到非管理级帐号后,他们首先做的就是对所掌握的目标服务器进行端口和系统信息的探查,黑客们会进行路径的试探性访问,并可以配合前面所提到的NTRK进行共享资源的探查,国内的黑客一般喜欢用网络刺客这一类的工具进行初步的探测。在摸清服务器的情况后,他们一般会选择一个名为sechole的工具来进行下一步的动作,这就是权限突破。
Sechole具有的最神奇的功能就是通过黑客手中掌握的普通权限帐号升级为Administrators级别的用户。Updated版的Secholed可以很轻松地把普通级别用户升级为特权用户加入Domain Admins用户组中。当黑客利用远程开启执行Sechole后,sechole会修改OpenProcess API调用的内存中的一些指令,然后它会跨越权限,使自己正确的衔接在某个特权的进程之中,当成功的衔接上特权程序后,它会利用一种类似于DLL injection(DLL注射)的方法,把一些恶意代码加入具备能够控制Administrators特权的用户进程中进行特权升级。
不过sechole必须要在目标服务器系统上进行本地运行,而想要达到本地运行的目的,目标服务器就要符合几个特定的标准,如服务器需启动IIS(Internet InFORMation Sener)服务等,而通常情况下,黑客很难轻易获取一个既能够读取又能够写入的IIS目录的访问权限。但当黑客们获得权限后,他们会迅速地把sechole上传到几个特定的目录下,这些目录通常为:
C:Inerpubmsadc
C:InerpubNews
C:InerpubCgi-bing
C:Inerpubscripts
C:Inerpub\_vti_bing
……
然后同时上传与sechole关联的几个DLL文件和一个NT命令解释器(ntcmd.exe),然后再上传一个用于修改用户和用户组及策略的程序,一般是一个名为ntuser的程序。再上传完这些程序后,黑客就可以通过一个WEB浏览器通过输入URL的连接远程的启动sechole程序,黑客此时就能够把他指定的帐户添加到到Administrators用户组。一般狡猾的黑客为了