一、附接但不接触
攻击者采取的第一个步骤是创建一个到目标服务器的匿名附接,要理解什么是匿名附接,首先要看看NETWARE登录的一般过程,NETWARE把登录设计成套向一台服务器认证,必须首先要“附接”到该系统,附接和登陆是彼此独立的,换句话说,即使是登录失败了,附接也是存在的,因此附接必须要有个用户名和密码,通过附接我们可以得到主机上几乎所有的信息,对于我们进攻他也是主要的一步,附接有很多种办法,我们主要介绍几款附接软件的应用。
1.ON-site Admin
这个出自NETWARE的图形化管理工具提供了关于服务器和DNS树的信息。
它在加载的时候显示网络邻居里的各台服务器,这些服务器显示以后,用鼠标简单的选择其中的一台就会创建一个到该服务器的附接。
2.sblist和nslist
它和ON-site Admin所用的方法一样附接到所在网络的服务器,只是他们通过命令行来附接。
二、查点平均数据库和DNS树
在附接之后认证之前的僵持状态可以揭示本不该有的大量的信息,例如userinfo,userdump等等的工具提供的是平均数据库信息。
1.userinfo
它可以给出一台服务器上平均数据的所有用户的快速转储结果,也允许搜索单个的用户名。
2.user dump
显示出附接服务器的没个用户名,与userinfo是类似的,不过它给出的是全名,攻击者可以利用这些来进行社交工程。
3.finger
虽然它不足以来查看目标系统上的用户,但它在查找目标系统上是否存在某个用户的时候比较有用。
4.bindery
知道某台服务器的用户自然不错,但是我们还是需要一些额外的信息,比如说:属于admins的用户组是那些用户?这个小工具就可以给出任意平均数据库的信息,也允许查询单个的用户和用户组,例如:命令binderydamins就可以发现admins组的成员。
5.CX
Change context是个变化繁多的小工具,它可以显示NDS树或者其任意小部分的信息,它在查找NDS树种指定的对象上特别有用,例如,攻击者发现某台服务器上的用户ECULP的密码后,可以使用cx搜索整颗DNS树,来查找自己是否有权连接到其他的服务器,以下是cx的一些小命令:
三、猜测密码
获得以上的信息后,攻击者就开始试图登陆,最好的方法就是猜测密码。
猜测密码的工具很多,但是最好的还是chknull:这个基于平均数据库的工具在启用了平均数据库的NETWARE3.0H和4.0上都可以工作。
在创建一个用户时候,NETWAREA并不需要一个密码,结果造成了很多的服务打开方便之门。
Chknull对于猜测简单的密码是个非常合适的工具,其用法如下:
它可以很容易的扫描出空密码和跟用户名相同的密码
四、获得管理型的特权
得到用户名和密码,接下去就是获得服务器或者某棵NDS树的管理型特权,完成这个步骤主要依靠一下2个技巧:
1.偷窃
登陆到尽可能多的系统上,找出密码存放的文件,其中保存着很多懒惰的用户以明文形式保存的密码,可以使用nmap来映射SYS卷的根,例如:
或者使用
来遍查访问到的每个目录,下面是一些十分有用的文件:
2.利用工具:Nwpcrack
它是一个密码破解程序,允许攻击者针对某个用户执行一轮字典攻击。
五、服务器程序脆弱点
1.NETWAPE PEPL
这是一个较早的NETWAPE漏洞,允许攻击者在卷上的任意位置执行Perl脚本,包括用户目录或者LOGIN和MAIL之类的一般访问目录。
该漏洞的真正危险在于攻击者可以创建一个在浏览器中显示重要文件的PERL脚本。
2.NETWAPE FTP
该漏洞缺省的配置给出了匿名用户对于SYS:ETC目录的Filescan访问权,该目录有netinfo.cfg以及其他的重要文件。
3.NETWAPE WEB SERVER
WEB SERVER并不检查传递给它的名为oonvert.bas的Basic脚本的参数,其后果是攻击者能够轻易的显示目标系统上的任意文件,包括autoexec.ncf,iclremote.dcf,netinfo.cfg。
六.欺骗性攻击
如果对于其他的尝试获取管理型特权的途径都不成功,那么攻击者可以使用NCP欺骗性攻击,他们可以给出和Admins一样的权限。
工具:gainecwer
它通过伪造一个NCP“SET EQUIVAL ENTTO的请求,轻便服务器完成请求的工作。
七、获得了服务器的管理权限以后的工作
获得了服务器的管理权限以后的工作是获得对该服务器的roonsole访问权以及摄取DNS文件。
1.rconsole攻击
获得rconsole密码有很多办法,但是最简单的只有一个,它依赖于管理员的疏懒,缺省的情况下roonsole是以明文来存放的,下面是他的检查步骤:
①/查看SYS:\SYSTEM\AUTOEXEC.NCF
②/查找“loadremote”所在的行,密码是下一个参数,一般是以明文来存放
③/如果在reinote后面不是密码,而是一个-e,恭喜你,那时管理员加密的密码,下面那就要依赖软件来破解密码,著名的黑客Dreamer破解了这种加密的算法,他用PASCAL写了一个程序破解。
2.摄取DNS文件
Novell把NDS的文件存放在SYS卷上的一个称为_netware的隐藏目录里,访问该目录的唯一途径是通过控制台。
3.NetBasic.ninm
它允许把NETBASIC的脚本转换成NovellNLM,以便在NETWARE WEB SERVER上使用,其后端的部件具备可以从某个命令行浏览暴扣隐藏的_netware目录的整个卷的能力。下面是执行步骤和命令
4.dsmaint
如果目标服务器上有个具有安全意识的管理员,十分警惕,我们用上面的方法就会失败,这时候我们可以用另外的方法,即使用Dsrnaint,要把DS恢复最初的作用,必须运行一个恢复操作,具体如下:
八、破解NDS文件
攻击者下载了目标系统上的NDS文件,就要进行破解,pandroa中的crypto和crypto2可分别用于对NDS文件执行暴力破解和字典攻击。具体过程如下:
九、日志篡改
1.关掉审计功能
聪明的攻击者是最善于保护自己的,他们会减产审计配置,并为执行他们的工作而禁止审计事件,下面是用来禁止对DirectoryServioes进行审计的若干步骤:
2.篡改控制台日志
Conlog.nlm是Novell用于记录控制台的消息和错误的方法,不过对于它很容易绕过,在取得roonsole的访问权以后,攻击者可以执行unload conlog来停止一个文件中的记录,以后再执行load conlig以重新开始在一个崭新的console.log文件里记录,
服务器的自举和运作阶段的系统错误和消息永久的记录在SYS:SYSTEN\sys$err.log文件中,有了管理员的权限以后,可以轻易的对它进行修改。
十、后门
对于NETEWARE最好的后门就是不要执行任何东西的孤儿对象!
在某个与ADININ登等效的用户对于自己的容易具有的受托者的前提下,使用一个隐蔽的Organizationalunit(OU)可以有效的隐蔽孤儿对象。步骤如下:
对于NETWARE的简单攻击我就介绍到这里了,大家想要更多的消息请大家去Novell的大本营,里面有很多的安全信息。
其实每种漏洞都有自己的特点,也都可以拟补,单很多的网络管理员就是因为大意疏懒才导致黑客的不断的手,所以说,网络安全是个任重道远的过程,我们每个人都有自己的责任和义务去维护网络的安宁。
本文为网络安全技术研究记录,文中技术研究环境为本地搭建或经过目标主体授权测试研究,内容已去除关键敏感信息和代码,以防止被恶意利用。文章内提及的漏洞均已修复,在挖掘、提交相关漏洞的过程中,应严格遵守相关法律法规。