home *** CD-ROM | disk | FTP | other *** search
/ The Hacker's Encyclopedia 1998 / hackers_encyclopedia.iso / zines / a_m / lodhtj02.009 < prev    next >
Encoding:
Text File  |  2003-06-11  |  26.0 KB  |  606 lines

  1. The LOD/H Technical Journal: File #9 of 10
  2.  
  3.  
  4.                      Hacking IBM's VM/CMS Operating System
  5.                                      PART B
  6.  
  7. Command Interpretation Chart: The following chart will compare the commands
  8. used on VAX/VMS, UNIX, and VM/CMS to allow those who are familiar with the
  9. other Operating Systems to quickly reference its CMS counterpart.
  10.  
  11. +-----------------+---------------+----------------------+--------------------+
  12. ! VAX/VMS         ! UNIX          ! VM/CMS               ! SHORT EXPLANATION  !
  13. +-----------------+---------------+----------------------+--------------------+
  14. ! /NOCOMMAND      ! *****NONE**** ! NOIPL                ! aborts login pgm   !
  15. +-----------------+---------------+----------------------+--------------------+
  16. ! SHOW USERS      ! WHO           ! QUERY NAMES          ! online userlisting !
  17. +-----------------+---------------+----------------------+--------------------+
  18. ! DIRECTORY       ! LS            ! LISTFILE or FILELIST ! show current dir.  !
  19. +-----------------+---------------+----------------------+--------------------+
  20. ! TYPE filename   ! CAT filename  ! TYPE fname ftype fm  ! list or view files !
  21. +-----------------+---------------+----------------------+--------------------+
  22. ! EDIT            ! ED or VI or EX! XEDIT                ! system editor      !
  23. +-----------------+---------------+----------------------+--------------------+
  24. ! DELETE filename ! REMOVE filenme! ERASE fname ftype fm ! deletes files      !
  25. +-----------------+---------------+----------------------+--------------------+
  26. ! PHONE username  ! WRITE user    ! TELL userid          ! user communication !
  27. +-----------------+---------------+----------------------+--------------------+
  28. ! Control-Y       ! Ctrl-Backslash! Hard-break then HX   ! aborts process     !
  29. +-----------------+---------------+----------------------+--------------------+
  30.  
  31. Corresponding files:
  32.  
  33. +-----------------+---------------+--------------+----------------------------+
  34. ! SYSUAF.DAT      ! /ETC/PASSWD   ! USER DIRECT  ! Userlist & user information!
  35. ! MAIL.TXT        ! USR/MAIL/user ! USERID NOTE  ! Electronic mail files      !
  36. ! LOGIN.COM       ! .PROFILE      ! PROFILE EXEC ! User login command files   !
  37. +---------------------------------+--------------+----------------------------+
  38.  
  39.  
  40. Local Commands:
  41. ---------------
  42.  
  43. Local commands are commands written for an individual system. They are
  44. customized commands that suit a facilities' needs. These commands are execs
  45. which are either not available from IBM or are cheaper to write on their
  46. own. I will mention a few which may be found on other systems, as these are
  47. rather common.
  48.  
  49. WHOIS
  50.  
  51. This command gives a little information about the users that you specify which
  52. are on the system.
  53.  
  54. .WHOIS MAINT BACKUP MAILER BUBBA RELAY VMUTIL
  55.  
  56. Userid    Name
  57. --------- ---------
  58. MAINT     System Maintenance Account
  59. BACKUP    VM System Backup and Recovery Machine
  60. MAILER    BITNET Inter-Node Mail Processing Machine
  61. BUBBA     Bubba B. Bonehead - Programmer/Analyst Extroadinaire
  62. RELAY     BITNET Internet Chat Facility
  63. VMUTIL    VM Utilization Statistics
  64.  
  65.  
  66.  
  67. SYSPASS
  68. READPW
  69. WRITEPW
  70.  
  71. In most cases, the only way to change a users' password is by having the system
  72. operator or someone with high privileges do it. This is one reason why many
  73. passwords remain the same for long periods of time. These programs allow users
  74. to change their logon password, read access minidisk password and write access
  75. minidisk password respectively. Perhaps you will find these or similar programs
  76. on some systems.
  77.  
  78.  
  79. Privileged Commands:
  80. --------------------
  81.  
  82. As far as I know, there is no command to determine which privilege class the
  83. userid you are abusing is. The only way is to check in the CP Directory for it.
  84. The following are some privileged commands and what privilege class is needed
  85. to run them. Again, as far as I know, the system keeps no records of failed
  86. attempts at running privileged commands. Use of these commands are most likely
  87. recorded, has a msg sent to the system console or both, especially when using
  88. FORCE.
  89.  
  90.  
  91. FORCE userid (Class A)
  92.  
  93. This command will forcibly log off the userid you specify. I really can see
  94. no reason other than to be a total asshole for abusing this command.
  95.  
  96. DISABLE raddr (or) all  (Class A or B)
  97.  
  98. This is used to prevent specific terminals or all terminals from logging onto
  99. the system. Again, there is no real reason to use this or most other privileged
  100. commands for that matter unless you want to be kicked off of the machine. If
  101. you do DISABLE a terminal, simply use ENABLE to repair the damage.
  102.  
  103. DETACH realaddr (FROM) whatever (Class B)
  104.  
  105. This is used to detach real devices from the system. These can be terminals,
  106. printers, disk packs, tape drives, etc. You must know the real address of the
  107. device, and 'whatever' can be the system, or a userid.
  108.  
  109. WARNING userid (or) operator or all (Class A or B)
  110.  
  111. Warning will send a priority message to a user, operator or all users on the
  112. system. It will interrupt anything they happen to be doing. Obviously sending
  113. a msg to all users stating they are BONEHEADS is not recommended.
  114.  
  115.  
  116. MINIDISKS:
  117. ----------
  118.  
  119. A minidisk is a subdivision of consecutive cylinders on a real DASD volume. The
  120. SD device, is the actual disk the information is stored on. This can be
  121. compared to a hard drive for an IBM PC. Before the drive can be used, it must
  122. be formatted. Once formatted, it is divided up into directories which are
  123. minidisks. Each minidisk is a number of cylinders which is the standard memory
  124. storage unit. There can be many minidisks on a DASD.  Associated with each CMS
  125. disk, is a file directory, which contains an entry for every CMS file on the
  126. disk.  A minidisk can be defined for R/W or R/O access. It can also be used for
  127. temporary or permanant storage of files. Each minidisk has a virtual address.
  128. Virtual addresses can be from 001-5FF (hexidecimal) in basic control mode, and
  129. 001-FFF in ECMODE (Extended Control Mode).
  130.  
  131. CMS minidisks can be accessed according to a letter of the alphabet (A-Z).  In
  132. order to better explain this, lets assume we are logged onto a VM/CMS system
  133. under the userid of JOE and we want to see what minidisks we have access to.
  134. We use the QUERY SEARCH command to determine which disks we are ATTACHed to.
  135.  
  136. .Q SEARCH
  137.  
  138. JOE001  191  A    R/W
  139. JOE002  192  D    R/O
  140. CMS190  190  S    R/O
  141. CMS19E  19E  Y/S  R/O
  142.  
  143.  
  144. As can be seen each minidisk has a volume name, virtual address, filemode,
  145. and access mode. The A disk is the default. Most accounts you gain access with
  146. will have an A disk with a virtual address of 191. The S disk is the System
  147. disk. This contains the files and programs for running the system. The same
  148. goes for the Y disk. The D disk is another disk used by JOE.
  149.  
  150. You can view what each of these directories contains by issueing the LISTFILE
  151. command.
  152.  
  153. .LISTF
  154.  
  155. BUBBA    NOTE     A1
  156. MISC     WHATEVER A1
  157. PROFILE  EXEC     A0
  158.  
  159.  
  160. This is a list of files on the A disk. The first column is the Filename the
  161. second is the Filetype and the third is the filemode. Filenames can be anything
  162. you specify. Filetypes can also be anything you specify, but commonly follow a
  163. pattern which tells what type of file it is. Filemodes are comprised of a
  164. filemode letter (A-Z) and a filemode number (0-6).
  165.  
  166. Filenames can contain the following characters: A-Z  0-9  $  #  +  -  :    U
  167.  
  168. Here is an explanation of common filetypes:
  169.  
  170. Filetype ! Description
  171. ---------+-------------
  172. DATA     ! Data for programs or simply TYPE-able text.
  173. EXEC     ! User written programs or IBM procedures written in REXX.
  174. HELP     ! System HELP files.
  175. HELPCMS  ! System HELP files.
  176. LANGUAGE ! One of the langauges that the system supports, such as ASSEMBLE,
  177.          ! COBOL, FORTRAN, JCL, REXX, PL1, SNOBALL, BINARY, ETC.
  178. LISTING  ! Program source code listings
  179. LOADLIB  ! Loading Library
  180. MACLIB   ! Macro Library
  181. MODULE   ! System commands
  182. NETLOG   ! Contains a list of all files which have been SENT to other users.
  183. NOTE     ! Similar to E-MAIL on other systems, a note sent from another user.
  184. SOURCE   ! SOURCE code for various programs.
  185. TEXT     ! Text file. Probably used for programs and when TYPEd yields little.
  186. TXTLIB   ! Text Library
  187. WHATEVER ! A nonstandard filetype which will probably be somewhat descriptive
  188.          ! of its contents.
  189. XEDIT    ! A file which was created using the XEDIT utility.
  190.  
  191.  
  192. Both filenames and filetypes must not exceed 8 characters in length.
  193.  
  194.  
  195. Filemodes:
  196.  
  197. Filemode numbers are classified as follows:
  198.  
  199. Filemode 0   There is little file security on VM/CMS.  This may be due to the
  200.              fact that directory security is very good.  A file with a mode of
  201.              zero makes that file invisible to other users unless they have
  202.              Read/Write access to that disk.  When you LINK to someones' disk
  203.              in Read/Only mode and get a directory listing, files with a mode
  204.              of 0 will not be listed.
  205.  
  206. Filemode 1   This is the default filemode.  When reading or writing files, you
  207.              do not have to specify a filemode letter of 1 (unless you want
  208.              to) since it will default to it.
  209.  
  210. Filemode 2   This is basically the same as a filemode of 1.  It is mainly
  211.              assigned to files which are shared by users who link to a common
  212.              disk, like the system disk.
  213.  
  214. Filemode 3   Be careful when you see these!  These are erased after they have
  215.              been read.  If a file with a mode of 3 is printed or read it will
  216.              be erased.  Blindly reading files without paying attention to
  217.              the filemode numbers can shorten your stay on the system.  The
  218.              main reason for this filemode is for the files or programs which
  219.              are unimportant or have one time use can be automatically deleted
  220.              to keep disk space and maintenance to a minimum.
  221.  
  222. Filemode 4   This is used for files that are to simulate OS data sets. They are
  223.              created by OS macros in programs running in CMS.  I have not found
  224.              any files with this filemode, so for the time being, you should
  225.              not be concerned about it.
  226.  
  227. Filemode 5   This is basically the same as filemode 1.  It is different in that
  228.              its used for groups of files or programs.  It makes it easier for
  229.              deleting files a user wants to keep for a certain period of time.
  230.              You could just enter:
  231.  
  232.              ERASE * * A5
  233.  
  234.              Now all files on the A disk with a filemode of 5 will be deleted.
  235.  
  236. Filemode 6   Files with this mode are re-written back to disk in the same place
  237.              which is called "update-in-place".  I have no idea why this would
  238.              be specified, and have not found any files with a filemode of 6.
  239.  
  240.  
  241. Filemode 7-9 These are reserved for IBM use.
  242.  
  243.  
  244.  
  245. Look back to our Q Search listing. If you want to see what is on the D disk:
  246.  
  247. .LISTF * * D
  248.  
  249. NOTMUCH ONHERE D1
  250.  
  251. In this case, the D disk only contains 1 file called NOTMUCH with a filetype of
  252. ONHERE. But do not forget the fact that you only have Read/Only access to the
  253. D minidisk! So there may or maynot be merely 1 file on the D disk. Remember all
  254. filemodes of 0 (which in this case would be D0) are invisible to anyone who
  255. does not posses Read/Write access.
  256.  
  257. You can access any disk that you are ATTACHed to by replacing the D in the
  258. above example with the filemode letter (A-Z) you want to access. As was shown
  259. previously, the QUERY SEARCH command will give you a list of minidisks that
  260. your userid is attached to upon logging in. These command statements are
  261. usually found in your PROFILE EXEC.
  262.  
  263.  
  264. So you can access a few minidisks. There may be hundreds on the system. Unlike
  265. UNIX and VMS, and most other Operating Systems for that matter you cannot issue
  266. a command and some wildcard characters to view the contents of every users'
  267. directory. In order to access another users' directory (minidisk) you must have
  268. the following:
  269.  
  270. 1) The USERID of the person whose disk you wish to access.
  271.  
  272. 2) The virtual address(es) (CUU) that the USERID owns.
  273.  
  274. 3) The Read, Write, or Multi disk access password, depending on which
  275.    access mode you wish to use.
  276.  
  277. This would be accomplished by the following:
  278.  
  279.  
  280. .LINK TO BUBBA 191 AS 555 RR
  281.  
  282. Enter READ link password:
  283.  *************************
  284.  HHHHHHHHHHHHHHHHHHHHHHHHH
  285.  SSSSSSSSSSSSSSSSSSSSSSSSS
  286. .RBUBBA
  287.  
  288. R; T=0.01/0.01 21:58:48
  289. .ACCESS 555 B
  290.  
  291. R; T=0.01/0.01 21:59:03
  292. .Q SEARCH
  293.  
  294. JOE001  191  A    R/W
  295. BUB001  555  B    R/O
  296. JOE002  192  D    R/O
  297. CMS190  190  S    R/O
  298. CMS19E  19E  Y/S  R/O
  299.  
  300. .LISTF * * B
  301.  
  302. MISCFILE DATA     B1
  303. PROFILE  EXEC     B1
  304.  
  305. .REL 555
  306.  
  307. R; T=0.01/0.01 22:02:01
  308.  
  309. Now an explanation for the events which have just occured.
  310.  
  311. The LINK command is used to access other users' minidisks. The format is:
  312.  
  313. .LINK (TO) USERID VADDR1 (AS) VADDR2 (MODE) ((PASS=)PASSWORD)
  314.  
  315. BUBBA is the USERID whose disk we wish to access.
  316.  
  317. VADDR1 is a virtual address which belongs to the BUBBA userid. If BUBBA was to
  318. access our minidisk whose userid is JOE, he could access either our 191 address
  319. or our 192 address. The 190 and 19E addresses are usually automatically
  320. accessed by nearly all the users of the system since it contains system
  321. commands. We are assuming that BUBBA indeed has a minidisk with the virtual
  322. address of 191. Some userid's may not have any or they may have addresses which
  323. are somewhat obscure, say of 13A or 503. The only way we would be able to
  324. access those assuming BUBBA did not give them to us would be to guess them.
  325. This would be rather difficult, timeconsuming, and dangerous as we will soon
  326. see.
  327.  
  328. VADDR2 is any address which is not currently in our control, (ie. in our Q
  329. Search which would be 190, 191, 192, 19E) and is in the range of 001 to 5FF in
  330. Basic Control or FFF in Extended Control. In this example, we chose to use 555.
  331. We could have easily used 104, 33F, 5FA, etc.
  332.  
  333. MODE is the access mode which consists of up to 2 letters. The first letter
  334. specifies the Primary access mode. The second letter is optional and designates
  335. the alternate access mode. If the primary mode is not available, the alternate
  336. is used.
  337.  
  338. The access mode we used was RR. Valid access modes are:
  339.  
  340. R   Primary Read/Only access. This is the default. You can opt to not specify
  341.     an access mode when linking to a users' disk, and this is the mode which is
  342.     used. It will only work if no other links are in effect.
  343.  
  344. RR  This allows read access no matter what links are in effect to that users'
  345.     disk.
  346.  
  347. W   Primary Write access. This is only good if no other links are in effect.
  348.  
  349. WR  If Write is available then the link will be made, if not it will goto Read.
  350.  
  351. M   Primary Multiple access.
  352.  
  353. MR  Resorts to Read if Multi is unavailabe.
  354.  
  355. MW  This garauntees write access no matter what.
  356.  
  357.  
  358. If another user has write access to one of your disks when you log on, your
  359. access will be forced to Read/Only. For this reason, you should have read
  360. access to others disks instead of write. If you wish to see what files have a
  361. filemode of zero, then link with write access, view or access those files, then
  362. RELEASE the disk and re-access it via read to avoid suspicion by that user of
  363. unauthorized individuals gaining write access to his files.
  364.  
  365. If a user has write access to a disk, you cannot gain write access unless you
  366. use a mode of MW. It is not recommended to have write access to anothers' disk
  367. if they themselves have write access. CMS cannot guarantee the integrity of
  368. the data on a disk which has more than one person linked to it with write
  369. access. Now if you see that the user is in a disconneced (DSC) state through
  370. the Q NAMES command, then it shouldn't be a problem if you have write access
  371. also since the person is not active. If that person re-connects however, then
  372. it is advisable to RELEASE that disk as soon as possible to avoid any chance of
  373. data being destoyed.
  374.  
  375. PASS=PASSWORD  like the logon password, it can be a 1-8 character string that
  376. MUST match the access mode password for the VADDR1 of the userid which you are
  377. attempting to gain access to. Up to three access mode passwords can exist for
  378. each minidisk, R, W, and M.
  379.  
  380. If the installation uses the Password Suppression Facility, an INVALID FORMAT
  381. message will be issued when you attempt to enter the password for a disk on the
  382. same line as the LINK command was entered on. Obviously this is to prevent
  383. people from 'spoofing' the password off the screen or from printouts found in
  384. the trash. If this occurs, just hit return after entering the access mode, and
  385. wait for the enter password response.
  386.  
  387. Every disk password along with every users password and other information is
  388. contained in the CP Directory. If the password is "ALL" then a password is not
  389. required for any user so you will not be asked for one. You will then recieve
  390. a ready message indicating that the transaction has just been completed.
  391.  
  392. If you receive the message: "BUBBA 191 NOT LINKED; NO READ PASSWORD" then
  393. within the CP Directory, there is no read password at all. This means that the
  394. only way you can gain access to BUBBA's directory would be by getting his logon
  395. password. One note, I believe that a users logon password cannot be any of his
  396. access mode passwords. The reasons for this are obvious. If BUBBA wants JOE to
  397. access a disk, then he can give JOE the corresponding disk password. If this
  398. was identical to his logon password then JOE could logon as BUBBA and access
  399. all BUBBA's disks with no problem, and at the same time posses all the privs
  400. that BUBBA has. Within the CP directory, if there is no password entry for read
  401. access then there are no entries for write nor multi. If there is no entry for
  402. write then there may or may not be an entry for read, but definitly not one for
  403. multi. And finally if there is no entry for multi then there may or may not be
  404. entries for read and write.
  405.  
  406. The methods for obtaining disk access passwords are the same as anything else.
  407. Common sense and "Password Psychology" come into account along with the element
  408. of luck.
  409.  
  410. Assume the userid is VMTEST and you are hacking the READ password. Passwords
  411. may be: RVMTEST, RVM, RTEST, RTESTVM. Others may be READ, READVM, VMREAD,
  412. READTEST, TESTREAD and even VMTEST. Of course it could be something like: J2*Z5
  413. Many times the same password will be used for R, W, and M access instead of
  414. three separate passwords.
  415.  
  416. CP keeps track of unsuccessful LINK attempts due to invalid passwords. When you
  417. exceed the maximum number of incorrect password attempts, which usually
  418. defaults to 10, the link command will be disabled for the remainder of your
  419. stay on the system. All you have to do is re-logon and you will have full use
  420. of LINK again.
  421.  
  422. If the LOGON/AUTOLOG/LINK journaling facility is activated, unsuccessful link
  423. attempts due to the above are recorded. When the threshold is reached the
  424. userid whose password you are trying to hack is sent a message. Therefore, keep
  425. track of the number of attempts you make and keep just short of the system
  426. threshold.
  427.  
  428. After successfully linking to a users' disk, you must issue the ACCESS command
  429. in order to get a directory listing or access any files on that disk. This is
  430. accomplished by:
  431.  
  432. .ACCESS VADDR2 B
  433.  
  434. VADDR2 is the address after 'AS' in your link command line, and 'B' is the
  435. filemode letter which you wish to access the disk as. This can be anything but
  436. the letters which you have already assigned up to a total of 26 (A-Z).
  437.  
  438. After accessing the disk to your hearts content, you can then RELEASE it. When
  439. you logoff the disk is automatically released. Releasing the disk is not
  440. necessary unless you already are attached to 26 minidisks, and you want to
  441. access more. You would then release whatever disks you wish and link then
  442. access others. After releasing disks, and you want to re-access that disk, you
  443. do not have to issue another link command but merely the ACCess command and
  444. what filemode you wish it to be.
  445.  
  446. The QUERY DASD command will list the minidisks that most everyone on the system
  447. has access to. All of these may or maynot be automatically accessed upon logon.
  448. For this reason, you should issue it, then all you have to do is ACCess the
  449. virtual address and define the filemode.
  450.  
  451. .Q DASD
  452.  
  453. DASD  190  3380  SYSRES  R/O   32 CYL
  454. DASD  191  3380  SYSRES  R/W    1 CYL
  455. DASD  192  3380  SYSRES  R/O    2 CYL
  456. DASD  193  3380  SYSRES  R/O   19 CYL
  457. DASD  194  3380  SYSRES  R/O   21 CYL
  458. DASD  19E  3380  SYSRES  R/O   27 CYL
  459.  
  460. In our Q SEARCH list, we have access to 190 as the system disk, 191 as our A
  461. disk, 192 as our D disk, 19E as the systems' Y disk. Both 193 and 194 are
  462. accessable but have not been accessed by us. Thus:
  463.  
  464. .ACC 193 B
  465. B (193) R/O
  466. .
  467.  
  468. Now the 193 disk is our B disk and accessable by us. You can perform the same
  469. procedure for the 194 disk.
  470.  
  471.  
  472. DIRMAINT:
  473. ---------
  474.  
  475. The Directory Maintenance utility can be found on some systems. If it is
  476. running, DIRMAINT should be a valid userid. The DIRMAINT userid is
  477. automatically initialized when the system is started up. It remains in
  478. Disconnected mode awaiting transactions which contain directory maintenance
  479. commands.
  480.  
  481.  
  482. If you come across a system with DIRMAINT, it will provide you with all the
  483. information you need to know about it. A few commands are important, at least
  484. to the hacker:
  485.  
  486. MDPW  This displays access passwords for one or all of that userid's minidisks.
  487.  
  488. .DIRM MDPW
  489. DVHDIR005R ENTER CURRENT CP PASSWORD TO VALIDATE COMMAND OR A NULL TO EXIT:
  490. R; T=0.12/0.15 19:33:34
  491.  DVHMDF301I MINIDISK 191: RBUBBA     WBUBBA    MBUBBA
  492.  DVHMDF301I MINIDISK 192: RBUBPW     BONEHEAD  MULTIBUB
  493.  
  494. The reason you must enter the users logon password is obvious. If someone walks
  495. up to a users terminal and wants to know what the guys disk passwords are all
  496. he would have to do is enter this command and would get them, except for the
  497. fact that it does ask for the users logon password, thus, protecting the disk
  498. passwords.
  499.  
  500. Help   Get more info on DIRM commands.
  501. PW     This changes a users logon password
  502. PW?    Find out how long it was since the user changed his logon password.
  503. MDISK  Change access mode, change, add, or delete passwords.
  504. LINK   Cause an automatic link, at logon, to another users minidisk.
  505. FOR    Enter a DIRMaint command for another user if authorized.
  506.  
  507.  
  508. THINGS YOU WANT:
  509. ----------------
  510.  
  511. Things you want are: More valid userid's to try passwords on, actual logon
  512. passwords, and disk access passwords. Obtaining userid's can be accomplished by
  513. using the Q NAMES command every time you logon. Obtaining logon passwords isn't
  514. as simple. There are a couple of places which you will want to explore.
  515.  
  516. The AUTOLOG1 or AUTOOP virtual machines (userid's) usually auto-logon other
  517. userid's. Now, in order to do this they must have those users' passwords. These
  518. are contained within various EXECs within their user directory. If you can
  519. obtain a valid disk access password for whichever one of these is running on
  520. your particular system, you can get more passwords and possibly some disk
  521. access passwords for about 10 other userid's. This should allow you to get more
  522. disk access passwords and hopefully more logon passwords. Nevertheless, having
  523. obtained a few more passwords, and not using them until the original one you
  524. hacked dies, will greatly extend your stay on the system.
  525.  
  526. EXEC files from any user may contain more disk access passwords for other users
  527. and those users directories may contain EXECs which have more passwords, and
  528. so on. Of course many other types of files may contain this type of
  529. information.
  530.  
  531. The CP directory, this is similar to a big bullseye on a target. This
  532. directory, as previously explained contains users' passwords, various system
  533. information and minidisk passwords. The directory usually goes under the
  534. filename/filetype of USER DIRECT. It can be anywhere on the system, and can
  535. have a different name which in my view would add to system security. It is
  536. usually found in either or both of two users' directorys which I leave to you
  537. to find (sorry). This is a very big weakness in CMS due to the fact that if you
  538. can find what userid the directory is in, and it's disk access password, you've
  539. got the system by the balls. The file may also have a filetype of INDEX which
  540. is a compilation or sorting of pertinent information used for speeding up
  541. various procedures the system carries out constantly. A typical entry in the
  542. USER DIRECT file would look like:
  543.  
  544. USER BUBBA BUBAPASS 1M 3M BG
  545.  
  546. VMU01000
  547.  ACCOUNT 101 SYSPROG
  548.  
  549. VMU01010
  550.  IPL CMS
  551.  
  552. VMU01020
  553.  CONSOLE 00D 3215
  554.  
  555. VMU01030
  556.  SPOOL 00C 2540 READER *
  557.  
  558. VMU01040
  559.  SPOOL 00D 2540 PUNCH *
  560.  
  561. VMU01050
  562.  SPOOL 00E 1403 A
  563.  
  564. VMU01060
  565.  LINK MAINT 190 190 RR
  566.  
  567. VMU01070
  568.  LINK MAINT 19D 19D RR
  569.  
  570. VMU01080
  571.  LINK MAINT 19E 19E RR
  572.  
  573. VMU01090
  574.  MDISK 191 3350 152 003 VMPK01 MR RBUBBA WBUBBA   MBUBBA
  575.  MDISK 192 3350 152 003 VMPK01 MR RBUBPW BONEHEAD MULTIBUB
  576.  
  577. VMU01100
  578. *
  579.  
  580.  
  581. The first line gives the userid of BUBBA, password BUBAPASS, 1 and 3 Megs of
  582. virtual memory, and Privilege Classes B and G. The next line gives the account
  583. number and department or owner of the account. The next few lines define
  584. miscellaneous system information. Next, three lines of what disks should be
  585. automatically linked to upon logon. And finally the minidisk (MDISK) virtual
  586. addresses and corresponding passwords.
  587.  
  588.  
  589. CONCLUSION:
  590. -----------
  591.  
  592. As usual, there is always more I could add to an article like this one. I did
  593. not want to keep writing part after part so I wrote a 'complete' article on
  594. Hacking VM/CMS. I apologize for its length of over 50K but I wanted to mention
  595. everything you needed to become familiar with the Operating System and its
  596. Security/Insecurity. I intentionally 'forgot' to mention various information
  597. which would put sensitive and destructive information in the hands of anyone
  598. who reads this article. The information within this article can and will be
  599. different from system to system so don't take anything too literally. This
  600. article is comprised: 80% information from actual system use, 10% CMS help
  601. files, and 10% from various CMS documentation. I may write a followup article
  602. of shorter length as more people become familiar with CMS.
  603.  
  604. Lex Luthor
  605.  
  606.