home *** CD-ROM | disk | FTP | other *** search
/ Hacker Chronicles 1 / HACKER1.ISO / hack / rsts_oz.txt < prev    next >
Text File  |  1992-03-04  |  14KB  |  242 lines

  1.  
  2.  
  3.          :-----------------------------------------------------------:
  4.          :                                                           :
  5.          :            M A K I N G    T H E    M O S T    O F         :
  6.          :                 R S T S / E    S Y S T E M S              :
  7.          :            ======================================         :
  8.          :                                                           :
  9.          :                 Written by   :   Captain Hack             :
  10.          :                              :   of Melbourne,            :
  11.          :                              :   Australia.               :
  12.          :                 Written on   :   01-Feb-86.               :
  13.          :                 File No.     :   V01A-01                  :
  14.          :                                                           :
  15.          :-----------------------------------------------------------:
  16.  
  17.                     Originally Displayed in the U.S. on: 
  18.                        P-80 Int'l Information Systems
  19.  
  20.  
  21.                                  INTRODUCTION.
  22.  
  23.               This  file  is  a tutorial on making the the most  of  a 
  24.          RSTS/E  system,  making  the most could  mean  anything  from 
  25.          making  the  system  do so neat tricks,  to using it  to  you 
  26.          advantage,  to taking it over completely;  depending on  your 
  27.          needs!
  28.  
  29.               For  most  of  the examples you will  need  an  account, 
  30.          obviously non-privilaged,  else you would not be reading this 
  31.          tutorial.  Bear  in  mind  that most,  if  not  all,  of  the 
  32.          techniques  described  can be changed by the sysop.  I  found 
  33.          this  out while trying them,  but most sysop's don't  realize 
  34.          everythings full potential and how it will be used;  needless 
  35.          to say that I most likely have missed out on things. Anyway I 
  36.          hope  you  like  the tutorial and  you  have  an  educational 
  37.          experience!  I  will rely on also using your imagination  and 
  38.          ingenuity, as this is often needed.
  39.  
  40.  
  41.                              OBTAINING OLD FILES.
  42.  
  43.              If  ever  you  have a valuble file that  you  don't  want 
  44.          people  to  see the contents of for one  reason  or  another, 
  45.          always  write  other information (random of fixed)  over  the 
  46.          entire  file  before deleting it.  When the system creates  a 
  47.          file it likes to have it continuous if possible,  which means 
  48.          many blocks will be consecutive.  When a file is created  the 
  49.          system  alters information in a system file indicting that  a 
  50.          particular  block or set of blocks have been allocated so  as 
  51.          they  will  not be over-written.  The directory  knows  which 
  52.          which  blocks  are associated with which file,  but when  you 
  53.          delete a file,  the system flags the used blocks as available 
  54.          and delete the directory entry.  The system doesn't wipe  the 
  55.          information.
  56.  
  57.              To  dig up these old blocks,  write yourself a program to 
  58.          open a large file,  I will leave the size up to you.  You use 
  59.          the  filesize option in the OPEN statement to do  this,  then 
  60.          just read in the blocks. When possible use block I/O for file 
  61.          manipulation  because  of its speed  and  convienience.  Look 
  62.          through  the  blocks any if one if worth keeping save  if  to 
  63.          another file.
  64.  
  65.                                       -2-
  66.  
  67.             Seeing as BASIC programs have line numbers, as long as you 
  68.          find all the blocks, file reconstruction is easy.
  69.  
  70.             There  of course is no guarantee that you will  find  them 
  71.          all.  Some  may have been reallocated,  but it's amazing what 
  72.          you can find! The bigger the block cluster size used in files 
  73.          the easier it is to reconstruct them. Just experiment!
  74.  
  75.  
  76.                               ANNOYING THE USERS.
  77.  
  78.              A way to annoy the users of  the  system is  a techinque 
  79.          discovered  just after we found out about the block recovery. 
  80.          After  finding remnants of some of my data strewn across  the 
  81.          system  I  decided the best thing to do was to zero  all  the 
  82.          available disk space.  One Sunday night we wrote a program to 
  83.          open  a  very large file (all free disk space  in  fact)  and 
  84.          proceeded to zero this.  This was sucessful,  except when the 
  85.          system was supposed to kill the file something went wrong and 
  86.          the file was not deleted. The next morning, before the sysops 
  87.          arrived,  the users tried to login. Because there was no free 
  88.          space  to  write login records or do anything!  No-one  could 
  89.          login!  Apparently this had the operators mystified why  they 
  90.          couldn't get into their system.  They had to reboot,  or so I 
  91.          heard,  they  later worked out what had happended.  They then 
  92.          asked why!
  93.  
  94.  
  95.                              THE PSEUDO KEYBOARD.
  96.  
  97.              The pseudo keyboard (device PKnn:) must be about the most 
  98.          useful  and versatile device.  This is the device to be  used 
  99.          for the perfect hack!  Originally, like many people, I saw it 
  100.          in a manual and really didn't read about it but as usual when 
  101.          I  was going over the manuals with a fine tooth comb  I  read 
  102.          into  it.  Although most of the weak-points discussed in this 
  103.          tutorial can be removed by patching implemented by the system 
  104.          operator, they are likely to ignore them. The pseudo keyboard 
  105.          is a keyboard which doesn't physically exist!  When you  open 
  106.          the  channel  and  do I/O's with it it appears  like  another 
  107.          keyboard.  It even has a keyboard number.  This is useful for 
  108.          extracting  inormation  for your programs that  can  only  be 
  109.          accessed  in command mode.  An example of this is  SYSTAT.  I 
  110.          recommend  that you get hold of a PROGRAMMING MANUAL and read 
  111.          it thoroughly, including the section on pseudo keyboards.
  112.  
  113.           
  114.                               PASSWORD CATCHING.
  115.  
  116.              Password catching is always desirable if you want  access 
  117.          to  a privilaged account!  When I first started out we ran  a 
  118.          crude  program  which did I/O's to the desired  terminal  and 
  119.          gave  the responses that the system would give.  A number  of 
  120.          problems  that we ran into was that you cannot fake the whole 
  121.          system, that is impossible using those methods, and also this 
  122.          did not allow for timing delays which most users were used to 
  123.          and expected.
  124.  
  125.                                       -3-
  126.  
  127.              With  these  old programs,  the passwords obtained  never 
  128.          lasted long because the user almost always knew they had been 
  129.          caught  because users get suspicious when they get an  INVALD 
  130.          ENTRY  - TRY  AGAIN message when they put  in  their  correct 
  131.          password.  This problem left me pondering how could you write 
  132.          the  "perfect"  password catcher.  When I  discovered  pseudo 
  133.          keyboards I was thinking of applications, then it hit me. Why 
  134.          not  simulate the whole job of another user?  It was possible 
  135.          too!
  136.  
  137.              To  do this you write a program to open a channel to  the 
  138.          keyboard  where  the  person will enter the  desired  account 
  139.          number  and  password.  You  also  open  a  pseudo  keyboard. 
  140.          Basically  from  then on you pass the data from  one  to  the 
  141.          other, and you keep checking what is being typed and when the 
  142.          account  number and password are detected save them to a disk 
  143.          file  encoded or what ever.  You should continue to  simulate 
  144.          the job until the person logs off.  There are a few things to 
  145.          be careful about.  When the person runs SYSTAT make sure  the 
  146.          output  is sent to the terminal replaces the pseudo  keyboard 
  147.          number  with his keyboard number.  Make sure he doesn't see a 
  148.          channel  is open to his terminal and other things like  that. 
  149.          Another  things  to  be careful of is  that  he  doesn't  run 
  150.          programs  to  tell  him his keyboard number or  a  few  other 
  151.          things  like that or a program where the terminal where it is 
  152.          run from affects its operation,  if he does it could be quite 
  153.          hard to deal with. All of the techniques I describe will need 
  154.          practice and perfection. Perfect things before using them and 
  155.          don't  tell people what you are doing.  Another thing  to  be 
  156.          careful  of  are  operators  who look at the  files  in  your 
  157.          account.  A  simple  way  to deal with  those  people  is  to 
  158.          encrypt/code  those files and keep decoded copies online  for 
  159.          as  little time as possible.  If you can't stay at a terminal 
  160.          to  have the password catcher program running  don't  despair 
  161.          because I will show you how to detach jobs later.  My biggest 
  162.          piece  of advice is always stalk and watch the target  system 
  163.          first  for  a  while.  Get to know what most or  all  of  the 
  164.          programs in the project 1 accounts do, and only after you are 
  165.          sure should you try and pull a stunt like I decribe. Once you 
  166.          have  a privilaged password you must use your own imagination 
  167.          to  how you use it.  Remember always be  security  conscious. 
  168.          Don't  take  unneccessary risks and by the time you get to  a 
  169.          privilaged  account  you should know all  the  SYS  functions 
  170.          possible and how to use them to your advantage. If you system 
  171.          keeps login and logout records remember to edit them, because 
  172.          depending  on what you do,  your activities should be able to 
  173.          go on undetected!
  174.  
  175.  
  176.                                 DETACHING JOBS.
  177.  
  178.              There is one way a non-privilaged user can detach a  job. 
  179.          This  is done using pseudo keyboards.  You will need to  read 
  180.          the  PROGRAMMING  MANUAL (the RSTS/E bible for hackers!)  and 
  181.          write yourself a program to almost simulate a job except  you 
  182.          do  it to your terminal and you don't log the passwords etc.. 
  183.  
  184.  
  185.                                       -4-
  186.  
  187.          When  you  are  logged into your account  and  you  run  this 
  188.          program it will look on your terminal like you are logged out 
  189.          again  and  you will have to log into the system  again.  Log 
  190.          into  the account which you want to detach the job  from  and 
  191.          you  must have access to the program from this  account.  You 
  192.          should  execute  the program you want detached then   have  a 
  193.          special  key  sequence  that will close the  channel  to  the 
  194.          pseudo keyboard. You detacher program will finish and that is 
  195.          how  you do it.  ut you say that doesn't work,  it just kills 
  196.          the job you started when you closed the channel to the pseudo 
  197.          keyboard,  but you didn't wait for the most important  piece! 
  198.          When  opening the pseudo keyboard you must have included MODE 
  199.          1  in the OPEN statement which tells the system to detach the 
  200.          job  when you close the channel instead of killing  the  job. 
  201.          When  you do a SYSTAT you will see your job running detached. 
  202.          Don't  forget opertors mightn't like you detaching  too  many 
  203.          jobs so do it when they aren't around. For a job to terminate 
  204.          itself  you  may try getting it to run LOGOUT,  but  when  it 
  205.          tries  to  output something like a message saying  your  disk 
  206.          space  or have a nice afternoon it will sit there helpless in 
  207.          a HB wait state until someone attaches to it (like you or  an 
  208.          operator)  or an operator kills it.  To get around this  take 
  209.          notice  of the message you get when you log in and you have a 
  210.          job detached.  The system tells you that and asks if you want 
  211.          to  attach.  So you what you do is make you detached  program 
  212.          open a pseudo keyboard in a mode that won't detach it and get 
  213.          that  job  to  log  into  your  account.  Don't  worry  about 
  214.          entrusting  your  password  to the program  as  others  can't 
  215.          obtain it.  Anyway when you get the new job to log in make it 
  216.          attach to the job you wanted killed,  then when your original 
  217.          program  closes  the channel to the pseudo keyboard  the  job 
  218.          running  on the pseudo keyoard is killed and  it  effectively 
  219.          kills  itself  as  it  attached  to itself  in  a  manner  of 
  220.          speaking, and thus the job disappears! (Well it worked on the 
  221.          system I tried it on)
  222.  
  223.  
  224.                                RECOMMENDATIONS.
  225.  
  226.              When  you attempt to do all of this  I advise you  to get 
  227.          hold  of (buy ($20) or borrow) the RSTS/E PROGRAMMING MANUAL. 
  228.          There  would  be at least one with the system  and  are  also 
  229.          available from DEC (Digital Equipment Corporation).
  230.  
  231.              Finally,  non  of  the above methods and  techniques  are 
  232.          guaranteed  as  they can be removed or altered by the  system 
  233.          operators.  All of the techniques are valid and are not  bugs 
  234.          in  the operating system.  Whether your operator knows  about 
  235.          them  or what they can do is a different matter!  Anyhow have 
  236.          fun, RSTS/E is a good operating system, and don't do anything 
  237.          that I wouldn't do!
  238.  
  239.  
  240.          :--------------------------THE-END--------------------------:
  241.  
  242.