Popular Posts

Showing posts with label Linux. Show all posts
Showing posts with label Linux. Show all posts

2/01/2013

An Introduction into TeleScan


INTRODUCTION

 Whats all the hoopla? Well I've been trying to find a good ANI demo ever
 since IIRG's went down at the first of the year [800-852-9932]. Well I
 finally got one from The Mortician. Here it is...     8 0 0 . 7 7 5 . 5 5 1 3




        This is an ANI demo provided by a security company called TEL-SCAN(tm). Now
 ANI is cool and useful and everything, but it isn't hardly worthy of one of
 my wonderful headers. But see, theres more at stake here. Call the demo and
 get the ANI info and all that, and if you're a lamer stop there. But if
 you're kK00l enough, stay on the line and find out more about TEL-SCAN(tm),
 the company providing the demo.
THE TEL-SCAN(tm) NETWORK
 TEL-SCAN(tm) is a Colorado based Security service that offers an improvised
 skip-tracing method to Private Investigators, (or anyone with money and a
 good MO). How it works is this: subscribers are provided with an 800
 "Identifier Line" which when called automatically identifies the incoming
 number and records it into a corresponding Voice Mail Box. The subscriber can
 then call the Mail Box and it will relay to him all incoming calls to the
 "Identifier Line". 2-o0 pH_ukYn /<eW/! The possibilities with ANI and VMBs at
 hand are endless!!!
 TEL-SCAN(tm) can be used as such: Get a bunch of business cards printed with
 the "Identifier Line" printed as your phone number. If you're looking for
 someone, leave your card around places where they're likely to get it. When
 they call, you've got the number they're calling from and possibly an
 important lead. Viola! Skip-Tracing improvised. No this of course is
 constitutes intended use. As far as underground use goes...well...you know.
TEL-SCAN(tm) GEOGRAPHICALS
 For more information on TEL-SCAN(tm) write or call::
                    TEL-SCAN(tm)
                    2641 North Taft
                    Loveland, CO  80538
                    Number: 303.663.1703
                       FAX: 303.663.1708
 By the way when you call, you will be asked where you heard about TEL-
 SCAN(tm). DO NOT say you heard it from me (duh)! Have a good one ready
 because they will hang up on you if they think something is funny.
TEL-SCAN(tm) PRICES
 This service has a one time activation fee of $67.00 dollars. Thereafter you
 are charged $5.00 dollars everytime the service identifies a number for you.
 You are billed monthly if applicable, but there are no mandatory monthly
 fees. Now here's the good part: you can subscribe to the service via FAXed
 licensing agreement at which time you will IMMEDIATLEY be issued a Mail Box
 and a "Line Identifier". They will bill you later for the activation fee. Not
 to shabby huh?
OUTRODUCTION
 Well thats it, and thanks again to The Mortician at Lies, Hate, and Deception
 (LHD·) for this one. 

An Indepth Guide in Hacking UNIX and the concept of Basic Net



]
*> Press [X] to Abort / [CR] to Continue: []

*> Title:   Hacking UNIX
*> Date:    6/10/89
*> Time:    12:20 pm




     /|\/|\/|\/|\/|\/|\/|\/|\/|\/|\/|\/|\/|\/|\/|\/|\/|\/|\/|\/|\/|\/|\/|\/|\/|\/|\/|\/|\/|\/|\/|\/
     \|/                                                                                 \|/
     /|\                                                                                 /|\
     \|/        An Indepth Guide in Hacking UNIX and the      \|/
     /|\           concept of Basic Networking Utility                /|\
     \|/        ----------------------------------------             \|/
     /|\                   By:Red Knight                                        /|\
     \|/        Phreakers/Hackers Underground Network         \|/
     /|\                                                                                 /|\
     \|/\|/\|/\|/\|/\|/\|/\|/\|/\|/\|/\|/\|/\|/\|/\|/\|/\|/\|/\|/\|/\|/\|/\|/\|/\|/\|/\|/\|/\|/\|/\

Brief history on UNIX
----------------------
Its because of Ken Tompson that today were able to Hack Unix.He used to work
for Bell Labs in the 60s.Tompson started out using the MULTICS OS which was
later eliminated and Tompson was left without an operating system to work with.
Tompson had to come up with something real quick.He did some research and
and in 1969 UNIX came out,which was a single user and it didn't have
many capabilities.A combined effort with others he rewrote the version
in C and added some good features.This version was out in 1973 and was
available to the public.This was the first begining of UNIX as its known    
presently.The more refined version of UNIX,today know as UNIX system V    
developed by Berkley University has unique capabilities.
Various types of UNIXes are CPIX,Berkeley Ver 4.1,Berkeley 4.2,FOS,Genix,HP-UX,
IS/I,OSx,PC-IX,PERPOS,Sys3,Ultrix,Zeus,Xenix,UNITY,VENIX,UTS,Unisys,Uniplus+,
UNOS,Idris,QNIX,Coherent,Cromix,System III,System 7,Sixth edition.

The article it self:
--------------------
I believe that hacking into any system requires knowledge of the Operating
system itself.Basically what I will try to do is make you more familiar with
UNIX  operation ,its usefull commands that will be advantageous to you as a
hacker.This article contains in depth explainations.                    

Error Messages that one may came across:[UNIX system V]
----------------------------------------
Login incorrect - An ivalid ID and/or pw was entered.This means nothing.
                  In UNIX there is no way guessing valid user IDs.You may    
                  come across this one when trying to get in.
No more logins - will happens when the system wont accept anymore logins
                 could be going down          
Unknown Id - will happen if an ivalid id is entered using (su) command
Unexpected eof in file - The file being stripped file has been damaged
Your password has expired - This is quiet rare although there have been cases
                            where it happened.Reading the etc/passwd will
                            show you at how many intervals it changes.
You may not change the password - The password has not yet aged enough.The
                                  Administrator set the quotas for the users
Unknown group [groups name] - occurs when chgrp is executed ,group doesn't
                              exist
Sorry - Indicated that you have typed in an invalid super user password(execu-
        tion of the su)
Permission denied!- Indicated you must be the owner or a super user to change
                    password.
Sorry <[# of weeks] since last change - This will happen when password has  
                                        has not aged enough and you tried to
                                        change it(passwd)
[directory name]:no permission - You are trying to remove a directory which
                                 you have no permission to.
[file name] not removed - trying to delete a file owned by another user
                          that you dont have write pemision for.
[dirname] not removed - ownership of the dir is not your that your trying to
                        delete.
[dirname] not empty - the directory contains files so you must have to delete
                      the files before executing the rmdir
[command] not found - you have entered an ivalid command not know to UNIX
cant execute pwd - some thing wrong with the system cant execute pwd command
cannot chdir to .. -   (.. one level up) permision is required to execute pwd
                       above the current directory
cant open [file name] - defined wrong path,file name or you have no read
                        permission
cp:[file name] and [file name] are identical - self explanatory
cannot locate parent directory - occurs when using mv
[file name] not found - file which your trying to move doesn't exsist
You have mail - Self explanatory

Basic Networking Utility error messages
---------------------------------------
cu:not found - networking not installed
login failed - invalid id/pw or wrong # specified
dial failed - the systen never answered due to a wrong #
uucp completely failed - did not specify file after -s
wrong time to call - you called at the time at a time not specified in the
                     Systems file
system not in systems - you called a remote not in the systems file

Logon format : first thing one must do is switch to lower case
--------------
Identifing a UNIX.Here is what you'll see:
Some times there will be no system identifer
                           
AT&T UNIX SysVR3.0 (eg of a system identifier)

login:
 or
Login:

Any of these is a UNIX.Here is where you will have to guess at a user valid
id.Here are some that I have come across eg( glr,glt,radgo,rml,chester,cat,
lom,cora,hlto,hwill,edcasey and also some containing numbers smith1,mitu6 or
special characters in it like bremer$,j#fox.Login names have to be 3 to 8
chracters in lenght lowercase and must start with a letter.In some XENIX
systems one may login as "guest"

User level accounts:(lower case)
--------------------
In Unix they have whats called accounts .These
accounts can be used at the "login:" prompt.
Here is a list:

sys
bin
trouble
daemon
uucp
nuucp
rje
lp
adm
listen - if starlan is installed

Super-user accounts:
--------------------
And then there are super-user login which make UNIX worth hacking.  
The accounts are used for a specific job. In large systems these logins
are assingned to users who have a responsibilty to maintain subsystems.

They are as follows :(all lower case)

root       -  this is a must the system comes configured with it.It has no
              restriction.Has power over every other account.
unmountsys -  unmounts files
setup      -  system set up
makefsys   -  makes a new file
sysadm     -  allows useful S.A commands(doesn't need root login)
powerdown  -  powering system down
mountfsys  -  mounts files
checkfsys  -  checks file

These accounts will definitly have passwords assigned to them.These
accounts are also commands used by the system administrator.

Here are some examples of accounts I have seen:

cron         uuhelp     usenet
anonuccp     news       network
bellboy      lp         vector
guest        games      ninja
vote         warble     sysinfo



After the login prompt you will receive a password prompt:

password:
  or
Password:
   
Enter the password (it wont echo).The password rule is as follows:Each pw
has to contain at least 6 characters and maximum has to be 8 .Two of which are
to be alphabetic letters and at least one being a number or a special character
The alphabetic digits could be in upper case or lower case.Here are some of the
passwords that I have seen (eg.Ansuya1,PLAT00N6,uFo/78,ShAsHi..,Div417co)

The passwords for the super user accounts will be difficult to hack
try  the accounts interchangebly eg.login:sysadm password:makefsys or rje1,
sysop,sysop1,bin4 or they might contain letter,numbers,special chracters in
them.It could be anything.The user passwords are changed by an aging proccess
at successive intervals.The users are forced to changed it.The super-user
will pick a password that wont need changing for a long period of time.

You have made it!
-----------------
The hard part is over and hopefully you have hacked a super-user account.
Remember Control-d stops a process and also logs you off.
The next thing you'll probably see is the system news
eg.

login:john
password:hacker1      
System news                
There will be no networking offered to the users till
august 15,due to hardware problems.            
(just an example)

$

$ is the Unix prompt -waiting for a command to be entered.I will use this
                      throught the article to show outouts etc..(Its not
                      part of the command)
# - means your logged in as root(very good)

A word about the XENIX System III:(run on the tandy 6000)
---------------------------------                
The largest weakness in the XENIX System III occurs after the installation
of the Profile-16 or more commonly know as the filepro-16.I have seen the    
filepro-16 installed in many systems.        
The installation process creates an entry in the password file for a user
named \fBprofile\fR ,an account that who owns and administors the database.
The great thing about it is that when the account is created ,no password is
assigned to it.The database contains executable to maintain it.The database
creation programs perform a \fBsetuid\fR to boot up the \fBoot\fR  there by
giving a person the whole C Shell to gain Super User privilege same as root.
Intresting huh!
                   

* Note: First the article will inform you of how the Unix is made up

The Unix is made if three components-The shell,the kernal,file system.

The kernal:
-----------
You could say that the kernal is the heart of the Unix operating system.
The kernal is a low level language lower than the shell which maintains
processes .The kernal handles memory usage ,maintains file system
the sofware and hardware devices.

The shell:
----------
The shell a higher level language. The shell had two important uses,
to act as command interpreture for example using commands like cat,who,      
ls the the shell is at work figuring out whether you have entered a command
correctly or not.The second most important reason for the shell is its ability
to be used as programing language.Suppose your performing some tasks    
repeatedly over and over again,You can program the shell to do this for you.
       
The file system:  
---------------
The file system in Unix is divede into 3 catagories:Directories,ordinary files
and special files.(d,-)
         
Basic stucture:      
(/)-this is abreviation for the root dirctory.
  root level                      root
                                  (/)                                  system
-------------------------------------|----------------------------------level
|      |        |         |                  |        |       |        |
/unix   /etc    /dev      /tmp               /lib     /usr    /usr2    /bin
        |                                        _____|_____
login passwd                                     |    |    |
level                                            /john  /cathy  
                             ________________________|_______________
                            |        |     |      |        |        |
                        .profile   /mail  /pers  /games   /bin     /michelle
*.profile - in case                        |    __|______  |      __|_______
 you wich to change your enviroment     capital |        | data   |         |
but after you log off.It sets to              othello  starwars letter letter1
default.                                    

the /unix-is the kernal
/etc - contains system administrators files,Most are not available to the
       regular user.(this directory contains the /passwd file)

    Here are some files under /etc directory:
    /etc/passwd
    /etc/utmp
    /etc/adm/sulog
    /etc/motd
    /etc/group
    /etc/conf
    /etc/profile
 
/dev - contains files for physical devices such as printer and the disk drives
/tmp - temporary file directory
/lib - dirctory that contains programs for high level languages
/usr - this directory contains dirctories for each user on the system

     Eg. of a list of files under /usr
    /usr/tmp
    /usr/lib
    /usr/docs
    /usr/news
    /usr/spool
    /usr/spool/lp
    /usr/lib/uucp

/bin - contain executable programs (commands)

The root also contains:                                                      
/bck - used to mount a back up file system.
/install - Used to install and remove utilities
/lost+found - This is where all the removed files go,This dir is used by fsck
              (1M)
/save -A utility used to save data
/mnt - Used for temporary mounting

**Now the fun part scouting around**

                 Local commands (Explained in details)
                 -------------------------------------
At the unix prompt type the pwd command-it will show you the current working
directory you are in.

$ pwd
$ /usr/admin - assuming that you have hacked into a super user acc checkfsys
$

This gives you the full login directory.The / before tell you the location
of the root directory                    

or

(REFER TO THE DIAGRAM ABOVE)
$ pwd
$ /usr/john  
$
Assuming you have hacked into johns acc.

Now lets say you wanted to move down to the michelle directory( you own this)
that contains letters.You would type in

$ cd michelle or cd usr/john/michelle
$ pwd
$ /usr/john/michelle
$

Going back one directory up type in:
$ cd ..
or going to your parent directory just type in "cd"
     
Listing file directories assuming you are in the parent directory:

$ ls /usr/john
mail
pers
games      
bin
michelle
This wont give you the .profile file .To view it type
$ cd
$ ls -a
:
:
.profile

To list file names in michelles directory type in:
$ ls michelle (that if your in the johns directory)
$ ls /usr/john/michelle(parent dir)

ls -l          
-----            
The ls -l is an an important command in unix.This command displays the whole
directory in long format :Run this in parent directory

$ ls -l
total 60
-rwxr-x---    5 john      bluebox    10 april 9  7:04  mail
drwx------    7 john      bluebox    30 april 2  4:09  pers
     :            :         :         :     :      :    :
     :            :         :         :     :      :    :
-rwxr-x---     6 cathy    bluebox    13 april 1  13:00 partys
     :            :         :         :     :      :    :
$
 
The total 60 tells one the ammount of disk space used in a directory.The    
-rwxr-x--- is read in triples of 3.The first chracter eg(-,d,b,c)-means as
follows: - is an ordinary file ,d is a directory,b is block file,c is a
chracter file.
The r stands for read permission,w is write permission,x is execute.The first
colum is read in 3 triples as stated above.The first group of 3 (in -rwxr-x---)
after the "-" specifies the permission for the owner of the file,the second
triple are for the groups (the fourth colum) and the last triple are the    
permissions for all other users.Therefore the -rwxr-x--- is read as follows.
The owner john has permission to read,write and execute anything in the bin
directory but the group has no write permission to it and the rest of the users
have no permission at all.The format of one of the lines in the above output
is as follows:

file type-permissions,links,usersname,group,bytes taken,date,time when last
renued,directory or file name.
**You will be able to read,execute cathys file named party due to the same
group***

chmod                  
-----            
The chmod command changes permission of a directory or a file.Format is
chmod who+,-,=r,w,x
The who is substituted by u-user,g-group,o-other users,a-all.
The + means add permission,- means remove permission,= - assign.
Example :If you wanted all other users to read the file name mail ,type:  

$ chmod o+r mail

cat        
---        
Now suppose you wanted to read the file letter .There are teo ways to doing
this.First go to the michelle directory then type in:

$ cat letter
line one ...\
line two ... }the output of letter
line three../
$
   or
If you are in the parent directory type in:
$ cat /usr/john/michelle/letter
and you will have the same output.

Some cat options are  -s,-u,-v,-e,-t

Special Chracters in Unix:
-------------------------
*  - matches any number of single characters eg. ls john* will list
     all files that begin with john
[...] - matchs any one of the chracter in the [ ]
? - matches any single chracter
runs a process in the backgroung leaving your terminal free
$ - Values used for variables also $n - null argument
> - redirectes output
< - redirects input to come from a file
>> - redirects command to be added to the end of a file
| - pipe output (eg:who|wc-l tells us how many users are online)
"..." - Turn of meaning of special chracters excluding $,`
`...` - allows command output in to be used in a command line
'...' - turns of special meaning of all chracters

continuation of local commands...[     ] -contains the options used
-------------------------------
passwd
------
Password changing seems to be a big thing among the savants.Anyway to change
the password one would use the 'passwd' command as shown below:

   $passwd
   Changing password for john
   Old password:                            
   New password:                            
   Retype new password:
   $
 
This will only work when the password has aged enough

ps
--
Its sometimes necessary to see what command procesess you are running,this
command lets you see that.
ps [-a all processes except group leaders] [-e all processes] [-f the whole
   list]                                                          

   $ps
   PID   TTY  TIME   COMMAND
   200   tty09 14:20  ps

   The systems reports (PID - process idenetification number which is a #
   from 1-30,000 assigned to UNIX processes)
   It also reports the TTY,TIME and the COMMAND being executed at the time.
   To stop a process enter :  

   $kill [PID] (this case its 200)
   200 terminated
   $

grep
----
This comand is important when seaching for a word or words in large files.

grep [argument] [file name] - searchs for an file that contains the argument
                              for example:
   $ grep phone cathy
    phone   michelle  (718)5551234
    phone   cindy   (718)5553456

    What this did was to find the argument 'phone' in the file cathy.If the
    argument consists of two or more words then  it must be enclosed in single
    quotes.


mv
--
mv [file names(s)] [ dir name ] - renames a file or moves it to another    
                                  directory eg.    
   $mv letter letters
   $
   This renames the file letter to letters thereby deleting letter
                  or if you want to move files then
   $mv /usr/john/pers/capital /usr/john/michelle/capital
   $  
   This moves the file capital to the directory named michelle

diff
----
diff [file name] [ file name] - show diffrence between two files.Output of this
                                will have something like 4,5c4,5 then the it
                                will display both sets of files on the screen
                                The 4,5c4,5 means that you must change "c"
                                lines 4 to 5 in one file to line 4 to 5 in  
                                another.
      Option for using this command are :
       -b  -  it ignores blank spaces
       -h  - compares it quickly
       -s  - reports files that are the same
       -S[file] - this is when you want to compare a directory starting at a
                  specific file
     

       There is also a command to compare 3 files which is :  

       diff3 [options] [file1] [file2] [file3]

cp
--
cp [file name] [file name] - makes a copy of a file

   $ cp letter letters
   $
   The file letters is a dupilcate copy of letter.In this case the original
   is not erased like in the mv command



.... more UNIX commands:
--------------------

man [command] or [c/r] -will give you a list of commands explainations

help - available on some UNIX systems
                 
mkdir [dir name(s)] - makes a directory    

rmdir [dir name(s)] - removes directory.You wont be able to remove the
                      directory if it contains files in them

rm [file name(s)] - removes files. rm * will erase all files in the current
                    dir.Be carefull you!!.Some options are :              
                    [-f unconditional removal] [-i Prompts user for y or n]
                       
write [login name ] - to write to other logged in users.Sort of a chat

mesg [-n] [-y] - doesn't allow others to send you messages using the write
                 command.Wall used by system adm overrides it.

$ [file name] - to execute any file

wc [file name] - Counts words,chracters,lines in a file

stty [modes] - Set terminal I/O for the current devices

sort [filename] - Sorts and merges files many options

spell [file name] > [file name] - The second file is where the misspelt words
                                  are entered

date [+%m%d%y*] [+%H%%M%S] - Displays date acoording to options

at [-r] [-l] [job] - Does a specified job at a specified time.The -r Removes
                     all previously scheduled jobs.The -l reports the job #
                     and status of all jobs scheduled

write [login] [tty] - Sends message to the login name.Chat!



su [login name]
---------------
The su command allows one to switch user to a super user to a user.Very
important could be used to switch to super user accounts.
Usage:                                              

$ su sysadm
password:

This su command will be monitored in /usr/adm/sulog and this file of all files
is carefully monitered by the system administrator.Suppose you hacked in johns
account and then switched to the sysadm account (ABOVE) your /usr/adm/sulog
entry would look like:

SU  04/19/88  21:00 + tty 12 john-sysadm

Therfore the S.A(system administrator) would know that john swithed to sysadm
account on 4/19/88 at 21:00 hours

Searching for valid login names:  
-------------------------------
Type in-
$ who  ( command informs the user of other users on the system)
cathy  tty1  april 19  2:30
john   tty2  april 19  2:19
dipal  tty3  april 19  2:31
:
:
tty is the users terminal,date,time each logged on.dipal,john are valid
logins.  

Files worth concatenating(cat)
/etc/passwd file:                  
-----------------                    
The etc/passwd is a vital file to cat.For it contains login names of all
users including super user accounts and there passwords.In the newer        
SVR3 releases they are tighting their security by moving the encrypted
passwords from /etc/passwd to /etc/shadow making it only readable by root.
This is optional offcourse.

$ cat /etc/passwd
root:D943/sys34:0:1:0000:/:
sysadm:k54doPerate:0:0:administration:usr/admin:/bin/rsh
checkfsys:Locked;:0:0:check file system:/usr/admin:/bin/rsh
:
other super user accs.
:
john:chips11:34:3:john scezerend:/usr/john:
:
other users
:
$
If you have reached this far capture this file as soon as posible.
This is a typical output etc/passwd file.The entries are seperated
by a ":".There made be up to 7 fields in each line.
Eg.sysadm account.
The first is the login name in this case sysadm.The second field contains the
password.The third field contains the user id."0 is the root".Then comes the
group id then the account which contains the user full name etc .The sixth
field is the login directory defines the full path name of the the particlar
account and the last is the program to be executed.        
Now one can switch to other super user account using su command descibed above.
The password entry in the field of the checkfsys account in the above example
is "Locked;". This doesn't mean thats its a password but the account
checkfsys cannot be accessed remotely.The ";" acts as an unused encryption
chracter.A space is also used for the same purpose.You will find this in many
UNIX systems that are small systems where the system administrator handles
all maintaince.

Password aging:
---------------
If password aging is active the user is forced to change the password at  
regular intervals.One may be able to tell just by looking at the /etc/passwd
file when the password is allowed to be changed and when it is compulsory to
change it.
For example the entry:

john:chips11,43:34:3:John Scezerend:/usr/john:

The password contains an extension of (,43) which mean that john can change has
to change the password atleast evert 6 weeks and can keep it for atleast 3
week.The format used is [password],Mmww.The M is the maxiumum number of weeks
password has to be change and m is the minimum interval password can be changed
and the ww is indicates when the password was last changed.

    Aging chart:
---------|-----------
Character|# of weeks
    .    |  0
    /    |  1
 0-9     | 2-11
 A-Z     | 12-37
 a-z     | 38-63
---------|-----------

From the above anyone can determine the number of weeks one can chnage the  
password.        

The (ww) is automatically added as to when the password was last changed .  

IF SHAWDOWING IS ACTIVE:
------------------------

If the shawdowing is active the /etc/passwd would look like this:

root:x:0:1:0000:/:
sysadm:x:0:0:administration:/usr/admin:/bin/rsh

The password filed is substituted by "x".

The /etc/shawdow file only readable by root will look similar to
this:

root:D943/sys34:5288::
:
super user accounts
:
Cathy:masai1:5055:7:120
:
all other users
:

The first field contains users id:the second contains the password(The pw will
be NONE if logining in remotely is deactivated):the third contains a code of
when the password was last changed:the fourth and the fifth contains the
minimum and the maximum numbers of days for pw changes(Its rare that you will
find this in the super user logins due to there hard to guess passwords)

 
/etc/options directory
-----------------------
The etc/options dir will consists of utilities available in the system.
Example:                
-rwxr-xr-x   1 root  sys   40 april  1:00  uucp.name              
uucp standing for BNU

/etc/group
-----------
The file has each group on the system.Each line will have 4 entries separated
by a ":" . Example of concatenated /etc/group:

root::0:root
adm::2:adm,root
bluebox::70:

Group name:password:group id:login names
** It very unlikely that groups will have passwords assigned to them **
The id "0" is assigned to /

Sending and recieving messages:
-------------------------------
Two programs are used to manage this.They are mail & mailx.The difference
between them is that mailx is more fancier thereby giving you many choices
like replying message ,using editors etc.
Sending:
--------
The basic format for using this command is:

$mail [login(s)]
(now one would enter the text
after finishing enter "." a period
on the next blank line)
$
This command is also used to send mail to remote systems.Suppose you wanted
to send mail to john on a remote called ATT01
you would type in:

$mail ATT01!john

Mail can be sent to several users,just by entering more login name after
issuing the mail command

Using mailx is the same format:(This I'll describe very briefly)
$mailx john
subject:(this lets you enter the subject)
(line #1)
(line #2)
(After you finish enter (~.) not the brackets offcourse ,more commands are
available like ~p,~r,~v,~m,~h,~b etc.)

Receiving:
----------
After you log on to the system you will the account may have mail waiting.
You will be notified "you have mail".  
To read this enter:      
$mail
(line #1)
(line #2)
(line #3)
?      
$
After the message you will be prompted with a question mark.Here you have a
choice to delete it by entering d,saving it to view it later s,or just press
enter to view the next message.
(DONT BE A SAVANT AND DELETE THE POOR GUYS MAIL)

Super user commands:
--------------------
$sysadm adduser - will take you through a routine to add a user
                 (may not last long)

Enter this:

$ sysadm adduser
password:
(this is what you will see)
/--------------------------------------------------------------------------\
  Process running succommmand `adduser`    
  USER MANAGMENT

  Anytime you want to quit, type "q".
  If you are not sure how to answer any prompt, type "?" for help

  If a default appears in the question,press <RETURN> for the default.

  Enter users full name [?,q]: (enter the name you want)              
  Enter users login ID [?,q]:(the id you want to use)
  Enter users ID number (default 50000) [?,q) [?,q]:( press return )
  Enter group ID number or group name:(any name from /etc/group)
  Enter users login home directory:(enter /usr/name)
   
  This is the information for the new login:
  Users name: (name)
  login ID:(id)
  users ID:50000
  group ID or name:    
  home directory:/usr/name
 Do you want to install,edit,skip [i,e,s,q]? (enter your choice if "i" then)
 Login installed
 Do you want to give the user a password?[y,n] (its better to enter one)
 New password:
 Re-enter password:  

 Do you want to add another login?
\----------------------------------------------------------------------------/

This is the proccess to add a user.Since you hacked into a super user account
you can make a super user account by doing the following by entering 0 as an
user and a group ID and enter the home directory as /usr/admin.This will give
you as much access as the account sysadm
**Caution** - Do not use login names like Hacker,Cracker,Phreak etc .This is
a total give away.                                                          
The process of adding a user wont last very long the S.A will know when he
checks out the /etc/passwd file

$sysadm moduser - This utility allows one to modify users.DO NOT ABUSE!!!
Password:

This is what you'll see:

/----------------------------------------------------------------------------\
MODIFYING USER'S LOGIN

1)chgloginid  (This is to change the login ID)
2)chgpassword (Changing password)
3)chgshell (Changing directory DEFAULT = /bin/sh)

ENTER A NUMBER,NAME,INITIAL PART OF OF NAME,OR ? OR <NUMBER>? FOR HELP,
Q TO QUIT ?
\----------------------------------------------------------------------------/

Try every one of them out.Do not change someones password.It creates a havoc.
If you do decide to change it.Please write the original one down somewhere
and change back.Try not to leave to many traces after you had your fun.
In choice number 1 you will be asked for the login and then the new one.
In choice number 2 you will asked for the login and then supplied by it correct
password and enter a new one.
In choice 3 this is used to a pchange the login shell ** Use full **
The above utilites can be used separatly for eg( To change a password one
coulfd enter: $sysadm chgpasswd not chapassword ,The rest are same)

$sysadm deluser - This is an obviously to delete a user
password:
 
This will be the screen output:
/---------------------------------------------------------------------------\
Running subcommand 'deluser' from menu 'usermgmt'
USER MANAGEMENT
This fuction completely removes the user,their mail file,home directory
and all files below their home directory from the machine.

Enter login ID you wish to remove[q]:      (eg.cathy)
'cathy' belongs to 'Cathy Franklin'
whose home directory is /usr/cathy
Do you want to remove this login ID 'cathy' ? [y,n,?,q] :

/usr/cathy and all files under it have been deleted.

Enter login ID you wish to remove [q]:
\--------------------------------------------------------------------------/
This command deletes everthing owned by the user.Dont use it even if you have
access to it.



other super user commands:
--------------------------
wall [text] control-d  - to send an anouncement to users logged in(will
                          override mesg -n command).Execute only from /    
/etc/newgrp - is used to become a member of a group

sysadm [program name]
        delgroup - delets groups
        whoson - self explanatory
        lsgroup - Lists group
        mklineset -hunts various sequences
        lsuser -lists all the users & their logins names

Other commands may require file system to be mounted.
 

                       Basic Networking utility(BNU)
                       -----------------------------

The BNU is a unique feature in UNIX.Some systems may not have this installed.
What BNU does is allow other remote UNIXes communicate with yours without
logging off the present one.BNU also allowes file transfer between computers.
Most UNIX systems V will have this feature installed.

The user program like cu,uux etc are located in the /usr/bin directory

Basic Networking Files:
-----------------------
/usr/lib/uucp/[file name]
 [file name]
 systems - cu command to establishes link.Contains info on remote computers
           name,time it can be reached,login Id,password,telephone numbers
 devices - inter connected with systems files(Automatic call unit same in two
           entries)also cantains baud rate,port tty1 etc.
               
 dialers - where asscii converation must be made before file tranfers etc.
 dialcodes - contains abreiviations for phone numbers that can be used in
             systems file

 other files are sysfiles,permissions,poll,devconfig

B.N.U Aministrative files:
--------------------------
There are 5 admnistrative files present.These are files are created in the
/usr/spool directory .These A.Files are responsible for various BNU procceses
like kepping records data ,files tranfers bettwenn remote and local and also
usefull to lock devices.

TM - This file used to hold temporary data .When tranfering the files from a
     remote to local the /usr/spool/uucp/[name of the remote computer ] creates
     this in the format of as of below:
     
     TM[Process Identification Number].[ddd]

     The ddd is the a 3 digit number (sequential) starting with "0"
     Here a typical eg: TM322.012
     Then this file is moved into the path defined by the C.sysnxxx file

X.[Execute files] - Created in the /usr/spool before you execute the commands
                    in remote.
                    The format used to name this file is X.sysnxxx
                    where sys stand for the remote name and n is the priority
                    level the xxxx is a sequence assingned by the uucp.These
                    files always contain the Name of the file ,Comuter & file
                    name to recieve,Persons login & computer name and the
                    command string.

LCK - The lock file created in the /usr/spool/locks directory.The is used when
      devices are being used.Prevent usage of the same calling device.
     
     Format used: LCK.str wher the str is a device name.The Lock file contains
     the PID needed to lock

C.sysnxxx - created in the usr/spool directory.These are the work files.Used
            when work is in line,remote execeutions.Format is same as the    
            X.sysnxxxx.The works files contain the full path name of the file
            to be sent,path name of the destination (TM Transfers),Remote login
            name to be notified after the file transmision is complete,Users
            login name and the name of the programs used eg.uucp,uupick etc.
         
D - The data files.Format used is  D.systmxxxxyyy.These files are created when
    specified in a command to copy to the spool directory.Eg. By the usage of
    uucp -C this will be true.      
    The systm is the remote name,xxxx is the the 4 digits seq assingned by
    the uucp.The yyy is a sub sequence number.

Logining on to remote and sending+receiving files
-------------------------------------------------
 cu - This command allows one to log on to the local as well as the remote
      Unix (or a non unix)without haveing to hang up so you can transfer files.
      Usage:[options]

  $ cu [-s baud rate][-o odd parity][-e even parity][-l name of comm line]
       telephone number | systemname

  To view system names that you can communicate with use the 'unname' command:
  Eg. of output of names:

  ATT01
  ATT02
  ATT03
  ATT04


$ cu -s300 3=9872344 (9872344 is the tel#)
 connected
 login:
 password:

local strings:
--------------
<~.> - will log you off the remote terminal but not the local
~! - out you on the local withiout disconnecting the line from remote
<control-d> - puts you back on the remote unix
~%take [file name] - takes a copy of the file name and copies it to the
                     local(the directory which you are in)
"%put [file name] - reverse of above
~$[command] - allows the execution of a command to the local from remote

ct        
--        
ct allows local to connect to remote.Initiates a getty on a remote terminal.
Usefull when using a remote terminal.BNU has call back feature that allows
the user on the remote who can execute a call back meaning the local can call
the remote.[   ] are options

$ ct [-h prevent automatic hang up][-s bps rate][-wt set a time to call back
     abbrieviated t mins] telephone number

uux        
---      
To execute commands on a remote (unix to unix)      
usage:[  ] are options

$ uux [- use standard output][-n prevent mail notification][-p also use
      standard output] command-string                      

uucp                            
----            
uucp copies files from ones computer to the home directory
of a user in remote system.This also works when copying files from one
directory to another in the remote.The remote user will be notified by mail.
This command becomes use full when copying files from a remote to your local
system.
The uucp requires the uucico daemon will call up the remote and will perform
file login sequence,file transfer and notify the user by mail.
Daemons are programs runining in the background.The 3 daemons in a Unix are
uucico,uusched,uuxqt.

 Daemons Explained:[nows a good time to explain the 3 daemons]
 ------------------

 uuxqt - Remote execution.This daemon is executed by uudemon.hour started by
         cron.UUXQT searchs in the spool directory for executable file
         named X.file sent from the remote system.When it finds a file X.file
         where it obtains process which are to be executed.The next step is
         to find weather the processes are available at the time.The if    
         available it checks permission and if everthing is o.k it proceeds
         the background proccess.

 uucico - This Daemon is very immportant for it is responsible in establishing
          a connection to the remote also checks permission,performs login
          procedures,transfers + executes files and also notifies the user
          by mail.This daemon is called upon by uucp,uuto,uux commands.

 uusched - This is executed by the shell script called uudemon.hour
           This daemons acts as a randomizer before the UUCICO daemon is
           called.


Usage of uucp command:

$ uucp [options] [first full path name!] file [destination path!] file
example:
$ uucp -m -s bbss hackers unix2!/usr/todd/hackers

What this would do is send the file hackers from your computer to the remotes
/usr/todd/hackers making hackers offcourse as file.todd would mail that
a file has been sent to him.The unix2 is the name of the remote.
Options for uucp:(Dont forget to type in remotes name unix2 in case)        
-c  dont copy files to spool directory
-C  copy to spool
-s[file name] - this file will contain the file status(above is bbss)
-r  Dont start the comm program(uucico) yet
-j  print job number(for above eg.unix2e9o3)
-m  send mail when file file is complete

Now suppose you wanted to receive file called kenya which is in the usr/dan/usa
 to your home directory /usr/john assuming that the local systems name is
ATT01 and you are currently working in /usr/dan/usa,you would type in:

$uucp kenya ATT01!/usr/john/kenya

uuto        
----        
The uuto command allows one to send file to remote user and can also be used
to send files locally.
Usage:
$ uuto [file name] [system!login name]( omit systen name if local)



Conclusion:
-----------
Theres always more one can say about the UNIX but its time to stop.
I hope you have enjoyed the article.I apologize for the lenght. I hope I
made the UNIX operating system more familiar.
Remember do not abuse any systems you hack into for a true hacker doesn't like
to reck but to learn.
I can be reached at (718)358/9209 - Hackers Den88 [2600 BBS #5]

Watch for my new article on using PANAMAC airline computers coming soon.


                           Red Knight
                             P/HUN!
                           <<T.S.A.N>>

Leached off SSC (713) 497-2312

[13] [UNIX system specifics (all versions)]
(98) Minutes Remaining
(G-Files Menu) Command <?-Help>: [

X-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-X
 Another file downloaded from:                     The NIRVANAnet(tm) Seven

 & the Temple of the Screaming Electron   Taipan Enigma        510/935-5845
 Burn This Flag                           Zardoz               408/363-9766
 realitycheck                             Poindexter Fortran   510/527-1662
 Lies Unlimited                           Mick Freen           801/278-2699
 The New Dork Sublime                     Biffnix              415/864-DORK
 The Shrine                               Rif Raf              206/794-6674
 Planet Mirth                             Simon Jester         510/786-6560

                          "Raw Data for Raw Nerves"
X-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-X


Almost Everything You Ever Wanted To Know About Security

This document is meant to answer some of the questions which regularly
appear in the Usenet newsgroups "comp.security.misc" and "alt.security",
and is meant to provide some background to the subject for newcomers to
that newsgroup.



This FAQ is maintained by Alec Muffett (aem@aber.ac.uk, uknet!aber!aem),
with contributions from numerous others [perhaps].  The views expressed
in the document are the personal views of the author(s), and it should
not be inferred that they are necessarily shared by anyone with whom the
author(s) are now, or ever may be, associated.

Many thanks go to (in no particular order): Steve Bellovin, Matt Bishop,
Mark Brader, Ed DeHart, Dave Hayes, Jeffrey Hutzelman, William LeFebvre,
Wes Morgan, Rob Quinn, Chip Rosenthal, Wietse Venema, Gene Spafford,
John Wack and Randall Atkinson.

Disclaimer: Every attempt is made to ensure that the information
contained in this FAQ is up to date and accurate, but no responsibility
will be accepted for actions resulting from information gained herein.

Questions which this document addresses:

Q.1 What are alt.security and comp.security.misc for?
Q.2 Whats the difference between a hacker and a cracker?
Q.3 What is "security through obscurity"
Q.4 What makes a system insecure?
Q.5 What tools are there to aid security?
Q.6 Isn't it dangerous to give cracking tools to everyone?
Q.7 Where can I get these tools?
Q.8 Why and how do systems get broken into?
Q.9 Who can I contact if I get broken into?
Q.10 What is a firewall?
Q.11 Why shouldn't I use setuid shell scripts?
Q.12 Why shouldn't I leave "root" permanently logged on the console?
Q.13 Why shouldn't I create Unix accounts with null passwords?
Q.14 What security holes are associated with X-windows (and other WMs)?
Q.15 What security holes are associated with NFS?
Q.16 How can I generate safe passwords?
Q.17 Why are passwords so important?
Q.18 How many possible passwords are there?
Q.19 Where can I get more information?
Q.20 How silly can people get?

---------------------------------------------------------------------------

Q.1 What are alt.security and comp.security.misc for?

Comp.security.misc is a forum for the discussion of computer security,
especially those relating to Unix (and Unix like) operating systems.
Alt.security used to be the main newsgroup covering this topic, as well
as other issues such as car locks and alarm systems, but with the
creation of comp.security.misc, this may change.

This FAQ will concentrate wholly upon computer related security issues.

The discussions posted range from the likes of "What's such-and-such
system like?" and "What is the best software I can use to do so-and-so"
to "How shall we fix this particular bug?", although there is often a
low signal to noise ratio in the newsgroup (a problem which this FAQ
hopes to address).

The most common flamewars start when an apparent security novice posts a
message saying "Can someone explain how the such-and-such security hole
works?" and s/he is immediately leapt upon by a group of self appointed
people who crucify the person for asking such an "unsound" question in a
public place, and flame him/her for "obviously" being a cr/hacker.

Please remember that grilling someone over a high flame on the grounds
that they are "a possible cr/hacker" does nothing more than generate a
lot of bad feeling.  If computer security issues are to be dealt with in
an effective manner, the campaigns must be brought (to a large extent)
into the open.

Implementing computer security can turn ordinary people into rampaging
paranoiacs, unable to act reasonably when faced with a new situation.
Such people take an adversarial attitude to the rest of the human race,
and if someone like this is in charge of a system, users will rapidly
find their machine becoming more restrictive and less friendly (fun?) to
use.

This can lead to embarrasing situations, eg: (in one university) banning
a head of department from the college mainframe for using a network
utility that he wasn't expected to.  This apparently required a lot of
explaining to an unsympathetic committee to get sorted out.

A more sensible approach is to secure a system according to its needs,
and if its needs are great enough, isolate it completely.  Please, don't
lose your sanity to the cause of computer security; it's not worth it.

Q.2 What's the difference between a hacker and a cracker?

Lets get this question out of the way right now:

On USENET, calling someone a "cracker" is an unambiguous statement that
some person persistently gets his/her kicks from breaking from into
other peoples computer systems, for a variety of reasons.  S/He may pose
some weak justification for doing this, usually along the lines of
"because it's possible", but most probably does it for the "buzz" of
doing something which is illicit/illegal, and to gain status amongst a
peer group.

Particularly antisocial crackers have a vandalistic streak, and delete
filestores, crash machines, and trash running processes in pursuit of
their "kicks".

The term is also widely used to describe a person who breaks copy
protection software in microcomputer applications software in order to
keep or distribute free copies.

On USENET, calling someone a "hacker" is usually a statement that said
person holds a great deal of knowledge and expertise in the field of
computing, and is someone who is capable of exercising this expertise
with great finesse.  For a more detailed definition, readers are
referred to the Jargon File [Raymond].

In the "real world", various media people have taken the word "hacker"
and coerced it into meaning the same as "cracker" - this usage
occasionally appears on USENET, with disastrous and confusing results.

Posters to the security newsgroups should note that they currently risk
a great deal of flamage if they use the word "hacker" in place of
"cracker" in their articles.

NB: nowhere in the above do I say that crackers cannot be true hackers.
It's just that I don't say that they are...

Q.3 What is "security through obscurity"

Security Through Obscurity (STO) is the belief that a system of any sort
can be secure so long as nobody outside of its implementation group is
allowed to find out anything about its internal mechanisms.  Hiding
account passwords in binary files or scripts with the presumption that
"nobody will ever find it" is a prime case of STO.

STO is a philosophy favoured by many bureaucratic agencies (military,
governmental, and industrial), and it used to be a major method of
providing "pseudosecurity" in computing systems.

Its usefulness has declined in the computing world with the rise of open
systems, networking, greater understanding of programming techniques, as
well as the increase in computing power available to the average person.

The basis of STO has always been to run your system on a "need to know"
basis.  If a person doesn't know how to do something which could impact
system security, then s/he isn't dangerous.

Admittedly, this is sound in theory, but it can tie you into trusting a
small group of people for as long as they live.  If your employees get
an offer of better pay from somewhere else, the knowledge goes with
them, whether the knowledge is replaceable or not.  Once the secret gets
out, that is the end of your security.

Nowadays there is also a greater need for the ordinary user to know
details of how your system works than ever before, and STO falls down a
as a result.  Many users today have advanced knowledge of how their
operating system works, and because of their experience will be able to
guess at the bits of knowledge that they didn't "need to know".  This
bypasses the whole basis of STO, and makes your security useless.

Hence there is now a need is to to create systems which attempt to be
algorithmically secure (Kerberos, Secure RPC), rather than just
philosophically secure.  So long as your starting criteria can be met,
your system is LOGICALLY secure.

"Shadow Passwords" (below) are sometimes dismissed as STO, but this is
incorrect, since (strictly) STO depends on restricting access to an
algorithm or technique, whereas shadow passwords provide security by
restricting access to vital data.

Q.4 What makes a system insecure?

Switching it on.  The adage usually quoted runs along these lines:

 "The only system which is truly secure is one which is switched off
 and unplugged, locked in a titanium lined safe, buried in a concrete
 bunker, and is surrounded by nerve gas and very highly paid armed
 guards.  Even then, I wouldn't stake my life on it."

(the original version of this is attributed to Gene Spafford)

A system is only as secure as the people who can get at it.  It can be
"totally" secure without any protection at all, so long as its continued
good operation is important to everyone who can get at it, assuming all
those people are responsible, and regular backups are made in case of
hardware problems.  Many laboratory PC's quite merrily tick away the
hours like this.

The problems arise when a need (such as confidentiality) has to be
fulfilled.  Once you start putting the locks on a system, it is fairly
likely that you will never stop.

Security holes manifest themselves in (broadly) four ways:

1) Physical Security Holes.

- Where the potential problem is caused by giving unauthorised persons
physical access to the machine, where this might allow them to perform
things that they shouldn't be able to do.

A good example of this would be a public workstation room where it would
be trivial for a user to reboot a machine into single-user mode and muck
around with the workstation filestore, if precautions are not taken.

Another example of this is the need to restrict access to confidential
backup tapes, which may (otherwise) be read by any user with access to
the tapes and a tape drive, whether they are meant to have permission or
not.

2) Software Security Holes

- Where the problem is caused by badly written items of "privledged"
software (daemons, cronjobs) which can be compromised into doing things
which they shouldn't oughta.

The most famous example of this is the "sendmail debug" hole (see
bibliography) which would enable a cracker to bootstrap a "root" shell.
This could be used to delete your filestore, create a new account, copy
your password file, anything.

(Contrary to popular opinion, crack attacks via sendmail were not just
restricted to the infamous "Internet Worm" - any cracker could do this
by using "telnet" to port 25 on the target machine.  The story behind a
similar hole (this time in EMACS) is described in [Stoll].)

New holes like this appear all the time, and your best hopes are to:

  a: try to structure your system so that as little software as possible
  runs with root/daemon/bin privileges, and that which does is known to
  be robust.

  b: subscribe to a mailing list which can get details of problems
  and/or fixes out to you as quickly as possible, and then ACT when you
  receive information.

3) Incompatible Usage Security Holes

- Where, through lack of experience, or no fault of his/her own, the
System Manager assembles a combination of hardware and software which
when used as a system is seriously flawed from a security point of view.
It is the incompatibility of trying to do two unconnected but useful
things which creates the security hole.

Problems like this are a pain to find once a system is set up and
running, so it is better to build your system with them in mind.  It's
never too late to have a rethink, though.

Some examples are detailed below; let's not go into them here, it would
only spoil the surprise.

4) Choosing a suitable security philosophy and maintaining it.

>From: Gene Spafford <spaf@cs.purdue.edu>
>The fourth kind of security problem is one of perception and
>understanding.  Perfect software, protected hardware, and compatible
>components don't work unless you have selected an appropriate security
>policy and turned on the parts of your system that enforce it.  Having
>the best password mechanism in the world is worthless if your users
>think that their login name backwards is a good password! Security is
>relative to a policy (or set of policies) and the operation of a system
>in conformance with that policy.

Q.5 What tools are there to aid security?

1) "COPS"

Managed by Dan Farmer, this is a long established suite of shell scripts
which forms an extensive security testing system; There is a rudimentary
password cracker, and routines to check the filestore for suspicious
changes in setuid programs, others to check permissions of essential
system and user files, and still more to see whether any system software
behaves in a way which could cause problems.

The software comes in two versions - one written in Perl and one
(largely equivalent) written in shell scripts.  The latest version is
very up-to-date on Unix Security holes.

2) "Crack" (+ "UFC").

Written by Alec Muffett, this is a program written with one purpose in
mind: to break insecure passwords.  It is probably the most efficent and
friendly password cracker that is publically available, with the ability
to let the user to specify precisely how to form the words to use as
guesses at users passwords.

It also has an inbuilt networking capability, allowing the load of
cracking to be spread over as many machines as are available on a
network, and it is supplied with an optimised version of the Unix crypt()
algorithm.

An even faster version of the crypt() algorithm, "UFC" by Michael Glad,
is freely available on the network, and the latest versions of UFC and
Crack are compatible and can be easily hooked together.

3) NPasswd (Clyde Hoover) & Passwd+ (Matt Bishop)

These programs are written to redress the balance in the password
cracking war.  They provide replacements for the standard "passwd"
command, but prevent a user from selecting passwords which are easily
compromised by programs like Crack.

Several versions of these programs are available on the network, hacked
about to varying degrees in order to provide compatibility for System V
based systems, NIS/YP, shadow password schemes, etc.  The usual term for
this type of program is a 'fascist' password program.

4) "Shadow" - a Shadow Password Suite

This program suite (by John F Haugh II) is a set of program and function
replacements (compatible with most Unixes) which implements shadow
passwords, ie: a system where the plaintext of the password file is
hidden from all users except root, hopefully stopping all password
cracking attempts at source.  In combination with a fascist passwd
frontend, it should provide a good degree of password file robustness.

>From: jfh@rpp386.lonestar.org (John F. Haugh II)
>Shadow does much more than hide passwords.  It also provides for
>terminal access control, user and group administration, and a few
>other things which I've forgotten.  There are a dozen or more
>commands in the suite, plus a whole slew of library functions.

5) TCP Wrappers (Wietse Venema)

These are programs which provide a front-end filter to many of the
network services which Unix provides by default.  If installed, they can
curb otherwise unrestricted access to potential dangers like incoming
FTP/TFTP, Telnet, etc, and can provide extra logging information, which
may be of use if it appears that someone is trying to break in.

6) SecureLib

>From: phil@pex.eecs.nwu.edu (William LeFebvre)
>You may want to add a mention of securelib, a security enhancer
>available for SunOS version 4.1 and higher.

>Securelib contains replacement routines for three kernel calls:
>accept(), recvfrom(), recvmsg().  These replacements are compatible with
>the originals, with the additional functionality that they check the
>Internet address of the machine initiating the connection to make sure
>that it is "allowed" to connect.  A configuration file defines what
>hosts are allowed for a given program.  Once these replacement routines
>are compiled, they can be used when building a new shared libc library.
>The resulting libc.so can then be put in a special place.  Any program
>that should be protected can then be started with an alternate
>LD_LIBRARY_PATH.

7) SPI

>From: Gene Spafford <spaf@cs.purdue.edu>
>Sites connected with the Department of Energy and some military
>organizations may also have access to the SPI package.  Interested (and
>qualified) users should contact the CIAC at LLNL for details.

>SPI is a screen-based administrator's tool that checks configuration
>options, includes a file-change (integrity) checker to monitor for
>backdoors and viruses, and various other security checks.  Future
>versions will probably integrate COPS into the package.  It is not
>available to the general public, but it is available to US Dept of
>Energy contractors and sites and to some US military sites.  A version
>does or will exist for VMS, too.  Further information on availabilty can
>be had from the folks at the DoE CIAC.

Q.6 Isn't it dangerous to give cracking tools to everyone?

That depends on your point of view.  Some people have complained that
giving unrestricted public access to programs like COPS and Crack is
irresponsible because the "baddies" can get at them easily.

Alternatively, you may believe that the really bad "baddies" have had
programs like this for years, and that it's really a stupendously good
idea to give these programs to the good guys too, so that they may check
the integrity of their system before the baddies get to them.

So, who wins more from having these programs freely available? The good
guys or the bad ? You decide, but remember that less honest tools than
COPS and Crack tools were already out there, and most of the good guys
didn't have anything to help.

Q.7 Where can I get these tools?

COPS:

  V1.04, available for FTP from cert.sei.cmu.edu in pub/cops and
  archive.cis.ohio-state.edu in pub/cops.

Crack/UFC:

  Crack v4.1f and UFC Patchlevel 1.  Available from any major USENET
  archive (eg: ftp.uu.net) in volume 28 of comp.sources.misc.

NPasswd:

  Currently suffering from being hacked about by many different people.
  Version 2.0 is in the offing, but many versions exist in many
  different configurations. Will chase this up with authors - AEM

Passwd+:

  "alpha version, update 3" - beta version due soon.  Available from
  dartmouth.edu as pub/passwd+.tar.Z

Shadow:

  This is available from the comp.sources.misc directory at any major
  USENET archive (see entry for Crack)

TCP Wrappers:

  Available for anonymous FTP:

    cert.sei.cmu.edu: pub/network_tools/tcp_wrapper.shar
    ftp.win.tue.nl: pub/security/log_tcp.shar.Z

Securelib:

  The latest version of securelib is available via anonymous FTP from the
  host "eecs.nwu.edu".  It is stored in the file "pub/securelib.tar".

Q.8 Why and how do systems get broken into?

This is hard to answer definitively.  Many systems which crackers break
into are only used as a means of entry into yet more systems; by hopping
between many machines before breaking into a new one, the cracker hopes
to confuse any possible pursuers and put them off the scent.  There is
an advantage to be gained in breaking into as many different sites as
possible, in order to "launder" your connections.

Another reason may be psychological: some people love to play with
computers and stretch them to the limits of their capabilities.

Some crackers might think that it's "really neat" to hop over 6 Internet
machines, 2 gateways and an X.25 network just to knock on the doors of
some really famous company or institution (eg: NASA, CERN, AT+T, UCB).
Think of it as inter-network sightseeing.

This view is certainly appealing to some crackers, and certainly leads
to both the addiction and self-perpetuation of cracking.

As to the "How" of the question, this is again a very sketchy area.  In
universities, it is extremely common for computer account to be passed
back and forth between undergraduates:

  "Mary gives her account password to her boyfriend Bert at another
  site, who has a friend Joe who "plays around on the networks".  Joe
  finds other crackable accounts at Marys site, and passes them around
  amongst his friends..." pretty soon, a whole society of crackers is
  playing around on the machines that Mary uses.

This sort of thing happens all the time, and not just in universities.
One solution is in education.  Do not let your users develop attitudes
like this one:

       "It doesn't matter what password I use on _MY_ account,
            after all, I only use it for laserprinting..."
                                - an Aberystwyth Law student, 1991

Teach them that use of the computer is a group responsibility.  Make
sure that they understand that a chain is only as strong as it's weak
link.

Finally, when you're certain that they understand your problems as a
systems manager and that they totally sympathise with you, configure
your system in such a way that they can't possibly get it wrong.

Believe in user education, but don't trust to it alone.

Q.9 Who can I contact if I get broken into?

If you're connected to the Internet, you should certainly get in touch
with CERT, the Computer Emergency Response Team.

        To quote the official blurb:

>From: Ed DeHart
> The Computer Emergency Response Team (CERT) was formed by the Defense
> Advanced Research Projects Agency (DARPA) in 1988 to serve as a focal
> point for the computer security concerns of Internet users.  The
> Coordination Center for the CERT is located at the Software Engineering
> Institute, Carnegie Mellon University, Pittsburgh, PA.

> Internet E-mail: cert@cert.sei.cmu.edu
> Telephone: 412-268-7090 24-hour hotline:
>     CERT/CC personnel answer 7:30a.m. to 6:00p.m. EST(GMT-5)/EDT(GMT-4),
>     and are on call for emergencies during other hours.

...and also, the umbrella group "FIRST", which mediates between the
incident handling teams themselves...

>From: John Wack <wack@csrc.ncsl.nist.gov>
>[...] FIRST is actually a very viable and growing
>organization, of which CERT is a member.  It's not actually true that,
>if you're connected to the Internet, you should call CERT only - that
>doesn't do justice to the many other response teams out there and in the
>process of forming.

>NIST is currently the FIRST secretariat; we maintain an anonymous ftp
>server with a directory of FIRST information (csrc.ncsl.nist.gov:
>~/pub/first).  This directory contains a contact file that lists the
>current members and their constituencies and contact information
>(filename "first-contacts").

>While CERT is a great organization, other response teams who do handle
>incidents on their parts of the Internet merit some mention as well -
>perhaps mentioning the existence of this file would help to do that in a
>limited space.

The file mentioned is a comprehensive listing of contact points per
network for security incidents.  It is too large to reproduce here, I
suggest that the reader obtains a copy for his/her self by the means
given.

Q.10 What is a firewall?

A (Internet) firewall is a machine which is attached (usually) between
your site and a wide area network.  It provides controllable filtering
of network traffic, allowing restricted access to certain internet port
numbers (ie: services that your machine would otherwise provide to the
network as a whole) and blocks access to pretty well everything else.
Similar machines are available for other network types, too.

Firewalls are an effective "all-or-nothing" approach to dealing with
external access security, and they are becoming very popular, with the
rise in Internet connectivity.

For more information on these sort of topics, see the Gateway paper by
[Cheswick], below.

Q.11 Why shouldn't I use setuid shell scripts?

You shouldn't use them for a variety of reasons, mostly involving bugs
in the Unix kernel.  Here are a few of the more well known problems,
some of which are fixed on more recent operating systems.

1) If the script begins "#!/bin/sh" and a link (symbolic or otherwise)
can be made to it with the name "-i", a setuid shell can be immediately
obtained because the script will be invoked: "#!/bin/sh -i", ie: an
interactive shell.

2) Many kernels suffer from a race condition which can allow you to
exchange the shellscript for another executable of your choice between
the times that the newly exec()ed process goes setuid, and when the
command interpreter gets started up.  If you are persistent enough, in
theory you could get the kernel to run any program you want.

3) The IFS bug: the IFS shell variable contains a list of characters to
be treated like whitespace by a shell when parsing command names.  By
changing the IFS variable to contain the "/" character, the command
"/bin/true" becomes "bin true".

All you need do is export the modified IFS variable, install a command
called "bin" in your path, and run a setuid script which calls
"/bin/true".  Then "bin" will be executed whilst setuid.

If you really must write scripts to be setuid, either

  a) Put a setuid wrapper in "C" around the script, being very careful
  to reset IFS and PATH to something sensible before exec()ing the
  script.  If your system has runtime linked libraries, consider the
  values of the LD_LIBRARY_PATH also.

  b) Use a scripting language like Perl which has a safe setuid
  facility, and is proactively rabid about security.

- but really, it's safest not to use setuid scripts at all.

Q.12 Why shouldn't I leave "root" permanently logged on the console?

Using a 'smart' terminal as console and leaving "/dev/console" world
writable whilst "root" is logged in is a potential hole.  The terminal
may be vulnerable to remote control via escape sequences, and can be
used to 'type' things into the root shell.  The terminal type can
usually be obtained via the "ps" command.

Various solutions to this can be devised, usually by giving the console
owner and group-write access only , and then using the setgid mechanism
on any program which has need to output to the console (eg: "write").

Q.13 Why shouldn't I create Unix accounts with null passwords?

Creating an unpassworded account to serve any purpose is potentially
dangerous, not for any direct reason, but because it can give a cracker
a toehold.

For example, on many systems you will find a unpassworded user "sync",
which allows the sysman to sync the disks without being logged in.  This
appears to be both safe and innocuous.

The problem with this arises if your system is one of the many which
doesn't do checks on a user before authorising them for (say) FTP.  A
cracker might be able to connect to your machine for one of a variety of
FTP methods, pretending to be user "sync" with no password, and then
copy your password file off for remote cracking.

Although there are mechanisms to prevent this sort of thing happening in
most modern vesions of Unix, to be totally secure requires an in-depth
knowledge of every package on your system, and how it deals with the
verification of users.  If you can't be sure, it's probably better not
to leave holes like this around.

Another hole that having null-password accounts opens up is the
possibility (on systems with runtime linked libraries) of spoofing
system software into running your programs as the "sync" user, by
changing the LD_LIBRARY_PATH variable to a library of your own devising,
and running "login -p" or "su" to turn into that user.

Q.14 What security holes are associated with X-windows (and other WMs)?

Lots, some which affect use of X only, and some which impact the
security of the entire host system.

I would prefer not to go into too much detail here, and would refer any
reader reader looking for detailed information to the other FAQ's in
relevant newsgroups.  (comp.windows.*)

One point I will make is that X is one of those packages which often
generates "Incompatible Usage" security problems, for instance the
ability for crackers to run xsessions on hosts under accounts with no
password (eg: sync), if it is improperly set up.  Read the question
about unpassworded accounts in this FAQ.

Q.15 What security holes are associated with NFS?

Lots, mostly to do with who you export your disks to, and how.  The
security of NFS relies heavily upon who is allowed to mount the files
that a server exports, and whether they are exported read only or not.

The exact format for specifying which hosts can mount an exported
directory varies between Unix implementations, but generally the
information is contained within the file "/etc/exports".

This file contains a list of directories and for each one, it has a
series of either specific "hosts" or "netgroups" which are allowed to
NFS mount that directory.  This list is called the "access list".

The "hosts" are individual machines, whilst "netgroups" are combinations
of hosts and usernames specified in "/etc/netgroup".  These are meant to
provide a method of finetuning access.  Read the relevant manual page
for more information about netgroups.

The exports file also contains information about whether the directory
is to be exported as read-only, read-write, and whether super-user
access is to be allowed from clients which mount that directory.

The important point to remember is that if the access list for a
particular directory in /etc/exports contains:

1) <nothing>

Your directory can be mounted by anyone, anywhere.

2) <a specific hostname>

Your directory can be mounted by anyone permitted to run the mount
command at hostname.  This might not be a trustworthy person; for
instance, if the machine is a PC running NFS, it could be anyone.

3) <a netgroup name>

If the netgroup:

a) is empty, anyone can mount your directory, from anywhere.

b) contains "(,,)", anyone can mount your directory, from anywhere.

c) contains the name of a netgroup which is empty or contains "(,,)",
   anyone can mount your directory, from anywhere.

d) contains "(hostname,,)", anyone on the named host who is permissioned
   to mount files can mount your directory.

e) contains "(,username,)", the named user can mount your directory,
   from anywhere.

4) <a word which is neither a hostname or a netgroup>

If you meant to export the directory to the host "athena" but actually
type "ahtena", the word "ahtena" is taken as a netgroup name, is found
to be an empty netgroup, and thus the directory can be mounted by
anyone, anywhere.

So, if you aren't careful about what you put into /etc/exports and
/etc/netgroup you could find that a user with a PC could

  a) mount your mainframe filestore as a network disk
  b) edit your /etc/passwd or .rhosts or /etc/hosts.equiv ...
  c) log into your mainframe as another user, possibly "root"

Disclaimer: The above information may not be true for all platforms
which provide an NFS serving capability, but is true for all of the ones
in my experience (AEM).  It should be noted that the SAFE way to create
an "empty" netgroup entry is:

                           ngname (-,-,-)

Which is a netgroup which matches no-one on no-host on no-NIS-domain.

[ I am STILL working on PC NFS packages / ethics at the moment - AEM ]

Q.16 How can I generate safe passwords?

You can't.  The key word here is GENERATE.  Once an algorithm for
creating passwords is specified using upon some systematic method, it
merely becomes a matter of analysing your algorithm in order to find
every password on your system.

Unless the algorithm is very subtle, it will probably suffer from a very
low period (ie: it will soon start to repeat itself) so that either:

  a) a cracker can try out every possible output of the password
  generator on every user of the system, or

  b) the cracker can analyse the output of the password program,
  determine the algorithm being used, and apply the algorithm to other
  users to determine their passwords.

A beautiful example of this (where it was disastrously assumed that a
random number generator could generate an infinite number of random
passwords) is detailed in [Morris & Thompson].

The only way to get a reasonable amount of variety in your passwords
(I'm afraid) is to make them up.  Work out some flexible method of your
own which is NOT based upon:

  1) modifying any part of your name or name+initials
  2) modifying a dictionary word
  3) acronyms
  4) any systematic, well-adhered-to algorithm whatsoever

For instance, NEVER use passwords like:

alec7           - it's based on the users name (& it's too short anyway)
tteffum         - based on the users name again
gillian         - girlfiends name (in a dictionary)
naillig         - ditto, backwards
PORSCHE911      - it's in a dictionary
12345678        - it's in a dictionary (& people can watch you type it easily)
qwertyui        - ...ditto...
abcxyz          - ...ditto...
0ooooooo        - ...ditto...
Computer        - just because it's capitalised doesn't make it safe
wombat6         - ditto for appending some random character
6wombat         - ditto for prepending some random character
merde3          - even for french words...
mr.spock        - it's in a sci-fi dictionary
zeolite         - it's in a geological dictionary
ze0lite         - corrupted version of a word in a geological dictionary
ze0l1te         - ...ditto...
Z30L1T3         - ...ditto...

I hope that these examples emphasise that ANY password derived from ANY
dictionary word (or personal information), modified in ANY way,
constitutes a potentially guessable password.

For more detailed information in the same vein, you should read the
APPENDIX files which accompany Crack [Muffett].

Q.17 Why are passwords so important?

Because they are the first line of defence against interactive attacks
on your system.  It can be stated simply: if a cracker cannot interact
with your system(s), and he has no access to read or write the
information contained in the password file, then he has almost no
avenues of attack left open to break your system.

This is also why, if a cracker can at least read your password file (and
if you are on a vanilla modern Unix, you should assume this) it is so
important that he is not able to break any of the passwords contained
therein.  If he can, then it is also fair to assume that he can (a) log
on to your system and can then (b) break into "root" via an operating
system hole.

Q.18 How many possible passwords are there?

Most people ask this at one time or another, worried that programs like
Crack will eventually grow in power until they can do a completely
exhaustive search of all possible passwords, to break into a specific
users' account - usually root.

If (to simplify the maths) we make the assumptions that:

  1) Valid passwords are created from a set of 62 chars [A-Za-z0-9]
  2) Valid passwords are to be between 5 and 8 chars long

Then the size of the set of all valid passwords is: (in base 62)

                                   100000 +
                                  1000000 +
                                 10000000 +
                                100000000 =
                                ---------
                                111100000       (base 62)

A figure which is far too large to usefully undertake an exhaustive
search with current technologies.  Don't forget, however, that passwords
CAN be made up with even more characters then this; you can use <space>,
all the punctuation characters, and symbols (~<>|\#$%^&*) too.  If you
can use some of all the 95 non-control characters in passwords, this
increases the search space for a cracker to cover even further.

However, it's still MUCH more efficient for a cracker to get a copy of
"Crack", break into ANY account on the system (you only need one), log
onto the machine, and spoof his way up to root priviledges via operating
systems holes.

Take comfort from these figures.  If you can slam the door in the face
of a potential crackers with a robust password file, you have sealed
most of the major avenues of attack immediately.

Q.19 Where can I get more information?

Books:

[Kochan & Wood]
Unix System Security

A little dated for modern matters, but still a very good book on the
basics of Unix security.

[Spafford & Garfinkel]
Practical Unix Security

This wonderful book is a worthy successor to the above, and covers a
wide variety of the topics which the Unix (and some non Unix) system
manager of the 90's will come across.

>From: Gene Spafford <spaf@cs.purdue.edu>
>Mention appendix E in "Practical Unix Security."

Okay: Appendix E contains an extensive bibliography with even more
pointers to security books than this FAQ contains.

[Stoll]
The Cuckoo's Egg

A real life 1980's thriller detailing the tracing of a cracker from
Berkeley across the USA and over the Atlantic to Germany.  An excellent
view from all points: a good read, informative about security, funny,
and a good illustration of the cracker psyche.  Contains an excellent
recipie for chocolate chip cookies.

A videotape of the "NOVA" (PBS's Science Program on TV) episode that
explained/reenacted this story is available from PBS Home Video.  They
have a toll-free 800 number within North America.

I believe that this program was aired on the BBC's "HORIZON" program,
and thus will be available from BBC Enterprises, but I haven't checked
this out yet - AEM

[Raymond] (Ed.)
The New Hackers Dictionary/Online Jargon File

A mish-mash of history and dictionary definitions which explains why it
is so wonderful to be a hacker, and why those crackers who aren't
hackers want to be called "hackers".  The Jargon File version is
available online - check an archie database for retails.  Latest
revision: 2.99.

[Gasser]
Building a Secure Computer System.

By Morrie Gasser, and van Nostrand Reinhold; explains what is required
to build a secure computer system.

[Rainbow Series] (Especially the "Orange Book")

>From: epstein@trwacs.fp.trw.com (Jeremy Epstein)
>The "Rainbow Series" consists of about 25 volumes.  Some of the
>more interesting ones are:
>
>       The "Orange Book", or Trusted Computer Systems Evaluation
>               Criteria, which describes functional and assurance
>               requirements for computer systems
>
>       Trusted Database Interpretation, which talks both about
>               trusted databases and building systems out of trusted
>               components
>
>       Trusted Network Interpretation, which (obviously) talks
>               about networked systems
>
>A (possibly) complete list is:
>       -- Department of Defense Trusted Computer System Evaluation Criteria
>          (TCSEC), aka the "Orange Book"
>       -- Computer Security Subsystem Interpretation of the TCSEC
>       -- Trusted Data Base Management System Interpretation of the TCSEC
>       -- Trusted Network Interpretation of the TCSEC
>       -- Trusted Network Interpretation Environments Guideline -- Guidance
>          for Applying the Trusted Network Interpretation
>       -- Trusted Unix Working Group (TRUSIX) Rationale for Selecting
>          Access Control List Features for the Unix System
>       -- Trusted Product Evaulations -- A Guide for Vendors
>       -- Computer Security Requirements -- Guidance for Applying the DoD
>          TCSEC in Specific Environments
>       -- Technical Rationale Behind CSC-STD-003-85: Computer Security
>          Requirements
>       -- Trusted Product Evaluation Questionnaire
>       -- Rating Maintenance Phase -- Program Document
>       -- Guidelines for Formal Verification Systems
>       -- A Guide to Understanding Audit in Trusted Systems
>       -- A Guide to Understanding Trusted Facility Management
>       -- A Guide to Understanding Discretionary Access Control in Trusted
>          Systems
>       -- A Guide to Understanding Configuration Management in Trusted
Systems
>       -- A Guide to Understanding Design Documentation in Trusted Systems
>       -- A Guide to Understanding Trusted Distribution in Trusted Systems
>       -- A Guide to Understanding Data Remanence in Automated Information
>          Systems
>       -- Department of Defense Password Management Guideline
>       -- Glossary of Computer Security Terms
>       -- Integrity in Automated Information Systems
>
>You can get your own copy (free) of any or all of the books by
>writing or calling:
>
>       INFOSEC Awareness Office
>       National Computer Security Centre
>       9800 Savage Road
>       Fort George G. Meade, MD  20755-6000
>       Tel +1 301 766-8729
>
>If you ask to be put on the mailing list, you'll get a copy of each new
>book as it comes out (typically a couple a year).

>From: kleine@fzi.de (Karl Kleine)
>I was told that this offer is only valid for US citizens ("We only send
>this stuff to a US postal address").  Non-US people have to PAY to get
>hold of these documents.  They can be ordered from NTIS, the National
>Technical Information Service:
>       NTIS,
>       5285 Port Royal Rd,
>       Springfield VA 22151,
>       USA
>       order dept phone: +1-703-487-4650, fax +1-703-321-8547

>From: Ulf Kieber <kieber@de.tu-dresden.inf.freia>
>just today I got my set of the Rainbow Series.
>
>There are three new books:
> -- A Guide to Understanding Trusted Recovery in Trusted Systems
> -- A Guide to Understanding Identification and Authentication in Trusted
>    Systems
> -- A Guide to Writing the Security Features User's Guide for Trusted Systems
>
>They also shipped
> -- Advisory Memorandum on Office Automation Security Guideline
>issued by NTISS.  Most of the books (except three or four) can also be
>purchased from
>
>       U.S. Government Printing Office
>       Superintendent of Documents
>       Washington, DC 20402            phone: (202) 783-3238
>
>>-- Integrity in Automated Information Systems
>THIS book was NOT shipped to me--I'm not sure if it is still in
>the distribution.

>From: epstein@trwacs.fp.trw.com (Jeremy Epstein)
>...
>The ITSEC (Information Technology Security Evaluation Criteria) is a
>harmonized document developed by the British, German, French, and
>Netherlands governments.  It separates functional and assurance
>requirements, and has many other differences from the TCSEC.
>
>You can get your copy (again, free/gratis) by writing:
>
>       Commission of the European Communities
>       Directorate XIII/F
>       SOG-IS Secretariat
>       Rue de la Loi 200
>       B-1049 BRUSSELS
>       Belgium

Also note that NCSC periodically publish an "Evaluated Products List"
which is the definitive statement of which products have been approved
at what TCSEC level under which TCSEC interpretations.  This is useful
for separating the output of marketdroids from the truth.

Papers:

[Morris & Thompson]
Password Security, A Case History

A wonderful paper, first published in CACM in 1974, which is now often
to found in the Unix Programmer Docs supplied with many systems.

[Curry]
Improving the Security of your Unix System.

A marvellous paper detailing the basic security considerations every
Unix systems manager should know.  Available as "security-doc.tar.Z"
from FTP sites (check an Archie database for your nearest site.)

[Klein]
Foiling the Cracker: A Survey of, and Improvements to, Password Security.

A thorough and reasoned analysis of password cracking trends, and the
reasoning behind techniques of password cracking.  Your nearest copy
should be easily found via Archie, searching for the keyword "Foiling".

[Cheswick]
The Design of a Secure Internet Gateway.

Great stuff.  It's research.att.com:/dist/Secure_Internet_Gateway.ps

[Cheswick]
An Evening With Berferd: in which a Cracker is Lured, Endured and Studied.

Funny and very readable, somewhat in the style of [Stoll] but more
condensed.  research.att.com:/dist/berferd.ps

[Bellovin89]
Security Problems in the TCP/TP Protocol Suite.

A description of security problems in many of the protocols widely used
in the Internet.  Not all of the discussed protocols are official
Internet Protocols (i.e.  blessed by the IAB), but all are widely used.
The paper originally appeared in ACM Computer Communications Review,
Vol 19, No 2, April 1989.  research.att.com:/dist/ipext.ps.Z

[Bellovin91]
Limitations of the Kerberos Authentication System

A discussion of the limitations and weaknesses of the Kerberos
Authentication System.  Specific problems and solutions are presented.
Very worthwhile reading.  Available on research.att.com via anonymous
ftp, originally appeared in ACM Computer Communications Review but the
revised version (identical to the online version, I think) appeared in
the Winter 1991 USENIX Conference Proceedings.

[Muffett]
Crack documentation.

The information which accompanies Crack contains a whimsical explanation
of password cracking techniques and the optimisation thereof, as well as
an incredibly long and silly diatribe on how to not choose a crackable
password.  A good read for anyone who needs convincing that password
cracking is _really easy_.

[Farmer]
COPS

Read the documentation provided with COPS.  Lots of hints and
philosophy.  The where, why and how behind the piece of security
software that started it all.

[CERT]
maillists/advisories/clippings

CERT maintains archives of useful bits of information that it gets from
USENET and other sources.  Also archives of all the security
"advisories" that it has posted (ie: little messages warning people that
there is a hole in their operating system, and where to get a fix)

[OpenSystemsSecurity]

A notorious (but apparently quite good) document, which has been dogged
by being in a weird postscript format.

>From: amesml@monu1.cc.monash.edu.au (Mark L. Ames)

>I've received many replies to my posting about Arlo Karila's paper,
>including the news (that I and many others have missed) that a
>manageable postscript file and text file are available via anonymous ftp
>from ajk.tele.fi (131.177.5.20) in the directory PublicDocuments.

These are all available for FTP browsing from "cert.sei.cmu.edu".

[RFC-1244]
Site Security Handbook

RFC-1244 : JP Holbrook & JK Reynolds (Eds.) "The Site Security Handbook"
covering incident handling and prevention.  July 1991; 101 pages
(Format: TXT=259129 bytes), also called "FYI 8"

[USENET]
comp.virus: for discussions of virii and other nasties, with a PC bent.
comp.unix.admin: for general administration issues
comp.unix.<platform>: for the hardware/software that YOU use.
comp.protocols.tcp-ip: good for problems with NFS, etc.

Q.20 How silly can people get?

This section (which I hope to expand) is a forum for learning by
example; if people have a chance to read about real life (preferably
silly) security incidents, it will hopefully instill in readers some of
the zen of computer security without the pain of experiencing it.

If you have an experience that you wish to share, please send it to the
editors.  It'll boost your karma no end.

---------------------------------------------------------------------------
aem@aber.ac.uk: The best story I have is of a student friend of mine
(call him Bob) who spent his industrial year at a major computer
manufacturing company.  In his holidays, Bob would come back to college
and play AberMUD on my system.

Part of Bob's job at the company involved systems management, and the
company was very hot on security, so all the passwords were random
strings of letters, with no sensible order.  It was imperative that the
passwords were secure (this involved writing the random passwords down
and locking them in big, heavy duty safes).

One day, on a whim, I fed the MUD persona file passwords into Crack as a
dictionary (the passwords were stored plaintext) and then ran Crack on
our systems password file.  A few student accounts came up, but nothing
special.  I told the students concerned to change their passwords - that
was the end of it.

Being the lazy guy I am, I forgot to remove the passwords from the Crack
dictionary, and when I posted the next version to USENET, the words went
too.  It went to the comp.sources.misc moderator, came back over USENET,
and eventually wound up at Bob's company.  Round trip: ~10,000 miles.

Being a cool kinda student sysadmin dude, Bob ran the new version of
Crack when it arrived.  When it immediately churned out the root
password on his machine, he damn near fainted...

The moral of this story is: never use the same password in two different
places, and especially on untrusted systems (like MUDs).

--
 aem@aber.ac.uk aem@uk.ac.aber aem%aber@ukacrl.bitnet mcsun!uknet!aber!aem
   - send (cryptographic) comp.sources.misc material to: aem@aber.ac.uk -