home *** CD-ROM | disk | FTP | other *** search
/ Hacker Chronicles 1 / HACKER1.ISO / miscpub1 / phun408.txt < prev    next >
Text File  |  1992-09-26  |  21KB  |  448 lines

  1.  
  2.  
  3. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  4. +              P/HUN Issue #4, Volume 2: Phile 8 of 11                +
  5. +              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                +
  6. +                      A Guide to Hacking AMOS                        +
  7. +                      -----------------------                        +
  8. +                        By  NightCrawler                   +
  9. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  10.  
  11. The Alpha Micro computer is a fairly easy system to understand, for
  12. those of you familiar with VAX systems.  The operating system (AMOS)
  13. is a ripoff of the DEC stuff, so many commands are similar.  This is
  14. a guide on how to use the Alpha.
  15.  
  16. Background on security:
  17. ---------- -- ---------
  18.  
  19. When the Alpha Micro leaves the factory, they do not have any type of 
  20. security feature built into it, except for certain higher end models,
  21. which will be discussed later.  Thus, if the user installs a modem
  22. directly to the system, and you call in, you'll be at the OS level
  23. already.  Pretty easy, eh?
  24.  
  25. Due to the lack of a cursor display character, the pound sign (#) will
  26. be used to represent the cursor throughout this document.  The prompt
  27. for AMOS is a period, which users refer to as the dot.  Wnen you log on,
  28. you'll see this:
  29.  
  30.     .#
  31.  
  32. At this point, you can type away and use the various accounts and 
  33. programs on the system.  When you first connect, depending on how the
  34. last user left the modem, you may or may not be logged in to a
  35. partition.  To verify this, type in the LOG command.
  36.  
  37.     .LOG
  38.  
  39. The computer will respond in one of two fashions.  If it says "Not
  40. logged in", then you will have to log to an existing account.  If it
  41. says "Current login is DSK1:[203,1]", then there is no need to scan
  42. for an account right away.
  43.  
  44. Perhaps the most important thing to do after this is to do a SYSTAT,
  45. which will let you know who else is on the system, and what account,
  46. program is being run, and other info.  Example:
  47.  
  48.     .SYSTAT
  49.  
  50. Status of AMOS/L version 1.3D(165) on Friday, November 11, 1988 03:24:54 PM
  51.  
  52. JOB1  TRM1  DSK1:201,3  0067732 ^C CONECT 122880 bytes at 4505554
  53. JOB2  TRM2  DSK0:1,2    0024984 TI SYSACT 176800 bytes at 4505554
  54. JOB3  TRM3  Not logged  0015460 ^C MEMORY  12288 bytes at 3137554
  55. MODEM HAYES DSK0:1,4    0037325 SL SYSTAT  67912 bytes at 2179023
  56.  
  57. 4 jobs allocated on system, 3 jobs in use (3 logged in)
  58. Total memory on system is 2048K bytes
  59. System uptime is 07:28:19
  60.  
  61. DSK0    26402 blocks free        DSK1    3578 blocks free
  62. 4 devices on system, total of 29980 blocks free
  63.  
  64.     .#
  65.  
  66. Here's a quick rundown on what each column means...
  67. Col 1: The name of the job
  68. Col 2: The terminal to which the job is attached
  69. Col 3: The device and account into which the job is logged
  70. Col 4: The octal memory address where the JCB is located
  71. Col 5: Terminal status of for that job
  72. Col 6: Last program run by that job
  73. Col 7: Number of bytes (decimal) of memory allocated
  74. Col 8: Octal memory address for beginning memory partition
  75.  
  76. The rest is self explanatory.  The 5th column (terminal status) has
  77. numerous codes which need to be given.  Here's the abbreviation and what
  78. it stands for:
  79.  
  80.     TI    Terminal input wait state
  81.     TO    Terminal output wait state
  82.     LD    Program load state
  83.     SL    Sleep state
  84.     IO     I/O access other than terminal
  85.     EW    External wait state
  86.     RN    Running
  87.     SP    Suspended state
  88.     SW    Semaphore wait
  89.     ^C    Control-C
  90.  
  91. The SYSTAT program can be used even when you are not logged in, which 
  92. is a plus if you wish to access an account without knowing the password.
  93. There is another program, called STAT, but don't use this.  It 
  94. constantly updates the screen, and will mess you up if you're using a
  95. modem.
  96.  
  97. Before going further, it should be mentioned on how the Alpha Micro
  98. computer is structured.  On each system, a number of hard drives 
  99. subdivided into logical units are encountered.  These may be named in
  100. any fashion by the sysop, following only the limitation of the LU being
  101. three letters or less in length.  This is then followed by the device
  102. number.  Sample LU's may look like:  DSK0:, DSK1:, WIN0:, HWK3:, etc.
  103.  
  104. On each disk is found a grouping of accounts, also known as partitions,
  105. or PPN's (project, programmer number).  It is in these accounts where
  106. you log in to, and execute programs.  These are enclosed in square
  107. brackets [], to separate them from the disk specification.  When used
  108. all togther, it looks like this:
  109.  
  110. DSK0:[1,2], DSK0:[1,4], WIN3:[100,0], DSK4:[377,7]
  111.  
  112.  
  113. System Commands:
  114. ------ ---------
  115.  
  116. When in doubt, type HELP.  This will give you some online information 
  117. the system you are currently logged in to.  Below are a list of some
  118. of the more common commands that you can use.
  119.  
  120. ASCDMP -- displays the data in physical bocks in ASCII form.
  121. ATTACH -- connects a job to a terminal.
  122. BASIC  -- places you in interactive BASIC mode.
  123. BATCH  -- loads frequently used commands to your memory partition.
  124. BAUD   -- change the baud rate of your terminal.
  125. CAL100 -- allows you to calibrate the clock oscillator.
  126. CLEAR  -- write zeroes to all free disk blocks.
  127. COMPIL -- use this to compile BASIC programs.
  128. COPY   -- copies one or more files between accounts or disks.
  129. CREATE -- creates a random file of specified size  (any size!!).
  130. CRT610 -- verifies quality of videocasstte backup media.
  131. DATE   -- returns with current system date.
  132. DING   -- rings the terminal bell.
  133. DIR    -- gives a directory listing for specific files or accounts.
  134. DIRSEQ -- alphabetizes all current entries in an account.
  135. DSKANA -- analyzes the data on a disk, and reports errors.
  136. DSKCPY -- copies contents of one disk and places on another disk.
  137. DSKDDT -- allows you to examine and change data directly on disk.
  138. DSKPAK -- packs the blocks in use to create area of free blocks.
  139. DUMP   -- display file contents & memory to the screen.
  140. ERASE  -- deletes one or more files from disk.
  141. ERSATZ -- displays the currently defined ersatz names.
  142. FIX    -- disassemble assembler (.LIT) code.
  143. FORCE  -- allows you to send terminal input to another job.
  144. HELP   -- displays all available help files for the system.
  145. JOBALC -- displays your job name.
  146. JOBPRI -- determine your job priority, and change other's priority.
  147. JOBS   -- shows all jobs on system, and how many are in use.
  148. KILL   -- kill the program being run by another job, or a single job.
  149. LNKLIT -- creates ML programs by linking object code files.
  150. LOAD   -- loads disk files into your memory partition as mem modules.
  151. LOG    -- logs you into an account so you can access the files there.
  152. LOGOFF -- logs you out of the account you were logged into.
  153. MAKE   -- creates the first record of a SEQ file (make a bogus file).
  154. MEMORY -- allocates memory to your job (e.g. .MEMORY 64K).
  155. MONTST -- tests the system monitor by bringing up the system new.
  156. MOUNT  -- see which disks are on the system. Do a /U to unmount a disk.
  157. M68    -- assemble an assembler program to an unlinnked ML file.
  158. PASS   -- allows you to change your account password.
  159. PPN    -- displays a list of all accounts on a logical device (eg DSK0:).
  160. PRINT  -- send one or more files to a printer.
  161. QDT    -- allows you to examine and modify locations in memory.
  162. REBOOT -- reboots the system after hitting RETURN.
  163. REDALL -- diagnostic test that looks at disk & reports read errors.
  164. RENAME -- rename files in an account from one name to another.
  165. RUN    -- runs a compiled BASIC program.
  166. SAVE   -- save memory modules as disk files.
  167. SEND   -- send messages to other terminals on the system.
  168. SET    -- set terminal handling options for your terminal.
  169. SLEEP  -- put your job to "sleep" for a period of time.
  170. SORT   -- alphabetically & numerically sort data in a SEQ file.
  171. STAT   -- displays & continually updates status of all system jobs.
  172. SUBMIT -- used to enter, change, or delete files from task manager.
  173. SYSACT -- used to change account passwords, or initialize a disk.
  174. SYSTAT -- mentioned above.
  175. TIME   -- displays or sets the time of day.
  176. TRMDEF -- gives information about the system terminals.
  177. TYPE   -- displays a text file to the screen (use the /P switch).
  178. VCRRES -- read files from videocassette to disk.
  179. VCRSAV -- save files from disk to videocassette.
  180. VER    -- gives you version of current operating system level.
  181. VUE    -- create and enter text editor.  Use ESCape to toggle modes.
  182.  
  183. You have to be careful with how the programs are used.  If done 
  184. inappropriately, you could do major damage to the computer.  Many of 
  185. the above programs can only be executed from the operator account
  186. DSK0:[1,2].
  187.  
  188.  
  189. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  190.  
  191. Entering via BASIC:
  192.  
  193. There is a back door in the version of BASIC that comes bundled with
  194. AMOS.  Depending on the type of security present, you can gain access
  195. to the system operator account (DSK0:[1,2]), which gives you the power
  196. to do quite a few things.  What the command essentially does is poke
  197. into memory the appropriate values to give you sysop access.
  198.  
  199. Type this in at the dot prompt (.) :
  200.  
  201. .BASIC
  202.  
  203. AlphaBASIC Version 1.3 (217)
  204.  
  205. READY
  206.  
  207. #
  208.  
  209. Once inside BASIC, type in this command as seen below;  it doesn't
  210. matter if you use upper or lower case.
  211.  
  212. WORD(WORD(1072)+20)=258
  213.  
  214. BYE
  215.  
  216. .#
  217.  
  218. The BYE command exits you out of BASIC and puts you back at the
  219. OS level.  You can also rename files and open files via BASIC.
  220.  
  221. Depending on the security in the system, if you typed in everything
  222. as above, you should be logged into DSK0:[1,2], also known as OPR:.
  223. This is the system operator's account, from which all types of
  224. commands can be issued.  
  225.  
  226. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  227.  
  228. When you finally get connected to the system, you need some place to log
  229. in to.  There are certain default accounts on every system.  These are:
  230.  
  231.     OPR:  --> DSK0:[1,2]        SYS:  --> DSK0:[1,4]
  232.     DVR:  --> DSK0:[1,6]            CMD:  --> DSK0:[2,2]
  233.         LIB:  --> DSK0:[7,0]        HLP:  --> DSK0:[7,1]
  234.        BOX:  --> DSK0:[7,2]        BAS:  --> DSK0:[7,6]
  235.     MAC:  --> DSK0:[7,7]
  236.  
  237. While logging around to the different accounts, some will have defined
  238. "ersatz" names.  This means that besides the [p,pn] specification, you can
  239. access that account with a defined name.  In the above examples, logging
  240. into SYS: is the same as logging into DSK0:[1,4].
  241.  
  242.  
  243. As mentioned previously, older models of the Alpha Micro did not have any
  244. security built in to them.  Later versions of the operating have changed 
  245. this, though.  Once you get connected and you try to log into an account,
  246. you may be asked for a password.  The word you type is not echoed on your
  247. screen.  Two default passwords that you can try for logging purposes are
  248. "DEMO" and "SYSTEM SERVICE".  These are not case-sensitive, so you can 
  249. type them in either upper or lower case.  If neither of these work (which
  250. is unlikely, since people are too lazy to change them), try running the
  251. SYSTAT command.  
  252.  
  253. What happens is that you will often see people logged in under a short
  254. (6 digits or less) user name, such as JOHN, AMY, SUSAN, etc.  Try logging
  255. in with one of these as your PW.  80 per cent of the time it will work.
  256.  
  257. If you've gotten into the system this far, then good.  There are lots
  258. of things to do or access.  If you're looking around for information,
  259. these are contained in files that end in a .TXT extension.  These may be
  260. examined by using the TYPE command from AMOS.  The syntax would be:
  261.  
  262.     .TYPE MODEM.TXT/P
  263.  
  264. The /P is not required, but is useful, because otherwise the file would be
  265. diaplayed too quickly for you to look at.  The /P switch displays the 
  266. contents one page at a time.  Pressing <RET> will scroll through the text.
  267. One word of warning:  Don't use the TYPE command on .LIT, .SBR, or .OBJ
  268. files; doing so will usually result in your terminal being locked up,
  269. effectively ending your session.
  270.  
  271. Now let's say you wanted to check out the files that are in other accounts.
  272. Usually all that is needed is to simply log there.  However, certain
  273. accounts will be passworded.  There is no simple way to just dump the 
  274. contents of a disk block and see what the PW is.  There are alternatives,
  275. however.  One method is to log into the operator account (DSK0:[1,2]) and
  276. use the SYSACT command.  This lets you to various things to the disk, but
  277. the one you would be concerned about lists all of the accounts on a parti-
  278. cular disk.  The command works like this:
  279.  
  280.     .#
  281.     .SYSACT DSK0:
  282.  
  283. Use the "H" to get a listing of all the available commands from within
  284. SYSACT.
  285.  
  286.     *
  287.     *h
  288.     Implemented commands are:
  289.     A PPN    - Add a new account
  290.     C PPN     - Change password of an account
  291.     D PPN    - Delete an account
  292.     E    - Rewrite MFD and exit to monitor
  293.     H     - Help (Print instructions)
  294.     I    - Initialize entire disk
  295.     L    - List current accounts
  296.  
  297. The last one "L" is the one we're concerned with.  Press <RET> after it to
  298. see a listing of all the accounts on the disk.  Passwords (if any) will be
  299. displayed to the right.  The "C" option will allow you to change the PW on
  300. an individual account.  Then press "E" to go back to the command level.
  301.  
  302. If you want to check out a file a little less elegantly, this may be done
  303. by simply copying the file to an unpassworded account or by typing the 
  304. file from another account.
  305.  
  306. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  307.  
  308. Account and file structure:
  309.  
  310. As explained before, there are accounts on the disk, which may or may not
  311. contain files in them.  AMOS maintains this account structure on the disk.
  312. In fact, a listing of which files belong in what account are kept track of
  313. in the account directory.
  314.  
  315. There are two types of files that are possible on the Alpha Micro:
  316. sequential (linked) and random (contiguous) files.  Each block is 512 bytes
  317. in length, which may or may not be filled up totally.  Files may not overlap
  318. onto another disk, and each disk block has a unique number by which it is
  319. referenced to via AMOS.
  320.  
  321. The format of most Alpha files are sequential -- AMOS reads in each disk
  322. block of the file, which tells it the disk address of the next disk block.
  323. The key point is that to access one block of data, you have to access all
  324. preceding blocks.
  325.  
  326. When AMOS writes a sequential file to the disk, it looks for the first free
  327. disk block.  It writes a copy of the first file block into that disk 
  328. location.  Next, it looks for another free disk block.  This next disk block
  329. may or may not be anywhere near the first block used.  This process goes on
  330. until the entire file is transferred to the disk.  The disk blocks that make
  331. up the file may be scattered across the disk.  Each disk block in the file
  332. contains a portion of the file; it also contains the address of the next 
  333. disk block used by the file.
  334.  
  335.               *-----------*-----------*
  336.               | Address of| Data in   |
  337.               | next block| file block|
  338.               *-----------*-----------* 
  339.  
  340. Sequential files are also called linked files because the disk blocks are 
  341. linked together by the information in each block that points to the address
  342. of the next disk block.  The last block in the file is designated as such
  343. by a link of zero.  It looks like this:
  344.  
  345.                                                      /---\
  346.      /----------------\       /----------------\     !    |
  347.      !                 !      !                 !    !    X  
  348. *-----------*--------* ! *-----------*--------* !  *----------*-------*
  349. | Address of|  DATA  | ->| Address of|  DATA  | !->|  EOF     | DATA  |
  350. | next block|        |   | next block|        |    | Zero link|       |
  351. *-----------*--------*   *-----------*--------*    *----------*-------*
  352.  
  353.  
  354. Random files differ from their sequential counterparts because the data in
  355. them can be accessed randomly.  AMOS knows how long the files are, and also
  356. knows exactly where the files begin on the disk.  The operating system can
  357. therefore access any block in a file by computing an offset value from the
  358. front of the file, and then reading the proper disk location.  The distinc-
  359. tion between random and sequential is that since the disk blocks don't have
  360. to be accessed in any particular order, AMOS can locate specific data in a 
  361. file quicker.
  362.  
  363. When a random file is written to disk, the first free groups of contiguous
  364. blocks are searched for which are large enough to hold the entire file.  If
  365. there aren't enough blocks on the disk, the message "Disk full" appears.
  366. Random files look something like this:
  367.  
  368.  
  369.   *---------------*---------------*---------------*---------------*
  370.   | File block #1 | File block #2 | File block #3 | File block #4 |
  371.   *---------------*---------------*---------------*---------------*
  372.  
  373. One a random file is allocated on the disk, it is not possible to expand it.
  374. Random files are used mainly for applications where the file length remains
  375. constant.
  376.  
  377.  
  378. The first block on a disk (block 0) is the disk ID block.  Alpha Micros use
  379. this disk block to maintain permanent identification information about the
  380. disk.  The next block (block 1) is the Master File Directory (MFD).  At
  381. block 2 lies the disk bitmap.  The bitmap is the structure that keeps track
  382. of which blocks on the disk are in use, and which are available.  The 
  383. bitmap contains one bit for each block on the disk.  If a block is in use,
  384. the bit in the bitmap that represents that disk block is a 1; if the block
  385. is available for use, its bit in the bitmap is a 0.  The bitmap is perma-
  386. nently stored on the disk beginning with block 2 and extending as far as 
  387. necessary.  The last two words in te bitmap form a hash total.  If some 
  388. data in the bitmap becomes destroyed, then there is a chance that data
  389. corruption has occurred.  The ocre for writing data to the disk is:
  390.  
  391.    [1] Find in memory a copy of the bitp of the disk to be accessedd.
  392.    [2] Computer the hash total of the bitmap & check agains the sh.
  393.    [3] Consult bitmap to see the next free block.
  394.    [4] Change bitmap to shockthe block is in use.
  395.    [5] Recompute bitmap hash to reflect the modified bmap.
  396.    [6] Write modified bitmap back out to the disk.
  397.    [7] Write thata to the chosen block.
  398.  
  399. Every disk contains one Master File Directory (MF  Each disk contains
  400. one MFD.  The MFD is one block long, and contains e entry of four words
  401. for each user account allocated on that disk.  This ps the limitation
  402. of having a maximum of 63 user accounts per disk.
  403.  
  404. Each try in the MFD identifies a specific acct directory.  Individual
  405. account dectories are known as User File Directories (UFDs).  The entry
  406. contains thccount PPN, number of the first block used by the UFD, and
  407. a password assned (if any).  The MFD contains one entry for every UFD
  408. on the disk.One UFD exists for each user account; it contains one entry 
  409. for eachlein that account.  These contain various sorts of information 
  410. relating tthe file.  A UFD may consist of more than one disk block; if 
  411. it is larger than oblock, the first word of the FD is nzero and gives the link 
  412. to the next UFD bock.
  413.  
  414. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  415.  
  416. Since the existing security  the Alpha Micro is lax, third party
  417. comiehave wriiten their own sceurity systems, making it considerably
  418. more dicult to access a system.  However, all is not lost.  There are a
  419. few wato make things easier.
  420.  
  421. Default passwords are the first step.  One of the security systems, known
  422. as TSASS, has the default passwords of MAL, MAL, MAL for its prompts.  You
  423. will know that you've encounted an Alpha Micro running TSASS by the 
  424. message: "Welcome to a Time Shar and Security System".  Another security
  425. package, UltraSafe, has the dult PW's of OPR, OPR, OPR.  An UltraSafe
  426. system is harder to recognize because the prompts can be changed, although
  427. some more common ones ask for  NAME, PORD, and GROUP.
  428.  
  429. The next option is if you have found a password that lets you in, it may be
  430. one of low security.  This can automatically chain you into a menu or shell
  431. program.  Depending onw the system is configure, a string of Control C'or any 
  432. other key sequence) can mess up the buffer, automatically causing
  433. e curity system to crash, and bringing you to AMOS, without being 
  434. confined to the security program.  The input must be typed in rapidly, or
  435. it won't work.  This method works for both TSASS and UltraSafe.
  436.  
  437. Note:  This file is written for informational purposes oy, to give
  438. you an idea of the workings of computer security for the Al Micro
  439. Operating System (AMOS).  If you want more information on the inner workings of
  440. this operating system, then get in touch with me.     
  441.  
  442.                      Nightcrawler out!
  443. ===============================================================================
  444.  
  445. DOWNLOADED FROM P-80 SYSTEMS 304-744-2253
  446.  
  447. Downloaded From P-80 International Information Systems 304-744-2253 12yrs+
  448.