An Introduction to Hacking

This is a brief tutorial designed to show you how to get started with 
hacking. It is not an in depth analysis of Unix and I will not show you how 
to hack specific systems or give you any specific usernames or passwords. 
Anything that you do after reading this file is NOT my responsibility, so 
don't expect me to write to you in jail if you get caught. If you are an 
advanced hacker, then I suggest you give this a miss as it's designed for 
beginners...

Section 1 : What exactly is a hacker then?

Tricky one really. There are hundreds of definitions floating around, but 
the basic description of a hacker would be someone who accesses and uses a 
computer system in ways which a normal user might not think of. This may be 
legal, but chances are that it will be illegal. Also, many hackers might not 
consider you to be one of them unless you have the hacker attitude. 
Basically what this means is that you have a certain view over the way in 
which things should be done. For example, nearly all hackers are anti 
authoritarian. Another thing which you really should do is give voluntry 
help to other hackers. This may be in the form of debugging programs that 
they have written, informing them of new bugs in systems e.t.c.... There are 
plenty of detailed FAQ's out there, so I won't go into it in detail. Try 
looking up 'hacker ethics' in any descent search engine (www.altavista.com 
is pretty good) for more

Section 2 : Tell me how to hack!

Yeah right. You ask any hacker or newsgroup this and your gonna get flamed. 
Flaming is when someone responds to your question by throwing a string of 
anger and obsenities at you because they are mad. Why would they do this? 
After all hacking is about giving voluntry help isn't it? Well, asking how 
to hack is not only far too general, but it's also pointless. Nobody can 
tell you how to hack. They can give you passwords, programs and bugs, but 
they by doing this they would be stopping you from learning and discovering 
new things, and let's face it, the best way to learn to hack is to do it.

Section 3 : Where to learn

Apart from actually hacking, the most important thing you can do is read. 
Texts can come from a variety of sources, including your local library and 
of coarse the internet. There are some around with titles like 'The secret 
underworld of hacking' but these are mostly a waste of time, and contain no 
valuable information. Instead, read books with titles like : 'Unix : An 
introduction' or 'How to teach yourself Unix'. These will contain a wealth 
of commands and information. You will not learn by simply downloading 
programs to do your work for you, although some are essential (I'll tell you 
which ones later).

Section 4 : The art of hacking

Hacking is in many ways an art. It takes time, patience and intelligence. 
You won't get immediate gratification, but if you do get good, then it's 
really worth it. There are several skills accosiated with hacking, but the 
fundemental one, which is often overlooked by newbies is the ability to 
program. Programming is basically telling the computer what to do, and a 
programming language is the way in which you write it. Again, there are 
millions of tutorials to do with this subject, and it is FAR too big to go 
into here. The basic languages you will need to know are perl and c, which 
are the main languages for the Unix operating system (I'll go onto that in a 
second). Again, any good search engine will give you hundreds of sites 
realted to these. Just to give you an idea of what programming is about, 
here' some c source code (that's the text before it is compiled/interpreted 
so the computer can understand it):

#include
using namespace std;
int main()
{
cout<<'Hi there, how are you!';
}

Note that this section of code is taken from a MSDOS application. Unix will 
differ slightly. Although it can be a bit tedious, programming is very 
rewarding, and is very important if you want to become a good hacker. You 
won't need to become some programming genius to hack though, just have a 
general idea of the syntax used by the languages. The next important skill 
you need to learn is how to use the Unix operating system. This is an 
operating system (like windows or DOS) which is specifically designed for 
networking. Most big servers use it and it allows thousands of users to 
connect to virtual (software) and hardware ports remotely ( if the computer 
it is operating has them). Like programming, Unix is very complicated and 
detailed, so I can only give you an introduction here. The best way to teach 
you what Unix is is to give you an example. This example assumes that the 
person using it has a shell account (a user name and password so that he can 
log in and use the computers), and that the user has windows on their 
computer. It is entirely fictional:

(In the run bar)
telnet shinracorperation.com 23
(Telnet starts up, there's a brief pause before the cursor starts flashing)
SunOS : 5.10
login:rudolf
password:########

Welcome to the shinra corperations main server. Type 'help' for more.
$

That is an example of a typical Unix system. To operate it, we run telnet 
(the standard telnet program included with windows), this will allow our 
computer to communicate with the remote server which is 
shinracorperation.com. The number 23 after it tells telnet to connect to 
port 23 on the computer. Ports allow remote users to input commands to the 
computer. A computer can have thousands of ports, each with a different 
number, but the most common and what they do are:

13 : Date and time port (pretty useless really)
21 : FTP (File transport Protocal) port
23 : Standard telnet port. This is the port which the telnet program will 
try to open by default
25 : Send Mail port. This allows the user to operate an ancient send mail 
program which can send messages to email addresses on that server (more 
later)
79 : The 'finger' port. This allows the user to type in the name of a user 
and get details on them (very useful)
80 : Standard http port (it's the one your browser opens)
110 : POP port. Allows you to operate a primitive POP email program.

To connect to each of these ports you would put the number instead of 23 in 
the command line. The next line tells us what type of operating system the 
computer is using. This will become important if you need to use a bug or 
back door to get into the system, as they vary from operating system to 
operating system. One advantage of Unix operating systems is that they don't 
record your login attemps, so the sysadmin won't find 6000 attempts in his 
log file when he has a look. Now, the only thing holding us back here is the 
need for a username and password. In the early days of hacking, you could 
telnet to any computer, type in root as your username and root as your 
password and you'd be in with superuser privialges (root is the username 
that should give you the ability to do anything on that computer). That 
ain't gonna happen these days. There are some servers which you might be 
lucky enough to guess a username and password on, so have a look at the list 
below of common Unix users:

root
admin
adm
sysadmin
guest (VERY often the password will be guest too)
test
demo
uucp

Although unlikely, these may work if you enter the password the same as the 
username, it's worth a try. I hope that gave you an idea of what Unix is. 
The final part, by the way, was the command prompt, similair to the C:\> 
prompt in DOS. Here you would enter commands for the computer. Since this is 
only an introduction, I won't go into commands here, but there are plenty of 
books, many from your local library which will tell you how to use Unix. You 
can find more information on how to exploit bugs in Unix operating systems 
and backdoors in them by using a search engine. Chances are that you will 
not be able to guess the password. In this case you'll need to do some 
research. Try looking at the companies web site, and finding out things 
about them.

Section 5 : Toolz

Although you should use them as little as possible, you will need to use 
some programs. One of the most essential is a password cracking program. In 
most Unix systems, the password file is located in /etc/passwd. As I've 
said, there are plenty of files which will tell you how to download it, so I 
won't go into that here. Now, assuming you've got the password file, you'll 
need a program called John the Ripper deencrypt the file and get the 
passwords. If you open the passwd file with a standard editor like notepad 
or edit, you will see something like:

root:h589798Hhgh:0:0:/etc

or

root:x:0:0:/etc

With many more lines added on. If it looks like the first one, then not only 
are you lucky, but you've got the passwords for the entire system. Now run 
Jack the ripper on it, and if your dictionary file (a file with lots of 
standard passwords in it) is good enough, you should at least get a few of 
the passwords. If you get root, then get very, very excited. You can now log 
into the system and do anything. BUT be warned, you do ANY damage what so 
ever, and they'll find you within a couple of hours, so DON'T. Not only 
that, but it'll make you a cracker which is someone who breaks into a system 
to do damage to it, they are looked down upon by real hackers. Now, if it 
looks more like the second one, get ready to cry 'cos the password file is 
shadowed. This means that although the users are stored in the passwd file, 
the passwords are stored in different one, usually /etc/shadow. This 
obviously means that you must download the shadow file (the server probably 
won't let you), merge it with the passswd file, and then run john the ripper 
on it. If you can get both the passwd and shadow files, you'll need to get a 
program called VCU to merge them, although there are some others around. 
Shadowing is used by most servers these days, and makes life a hell of a lot 
more difficult

Section 6 : Using programs on the server

The first program I'm gonna look at is SMTP (send mail) which is usually 
stored on port 25. I'm not gonna give any direct examples here, but replace 
the xxx part with virtually any server name and you should find one:

telnet xxx 25

SMPT Version 1.3 Ready

And that is all you get. You are now ready to run this program. It allows 
you to send mail to anyone who has an email address within that server. The 
commands that you'll need to know to use this program are

help - gives you a list of commands. If you follow it with a command, it 
will give you help on it

helo - This tells the computer who you are

mail from:xxx - It will say who the mail is from on the message (replace xx 
with a made up or real email address)

rcpt to: - Who the mail will go to. It must be within the server that you 
are hacking or you will get the error 'Relaying not allowed'

data : Press enter, and type in what you want the message to say. Put a full 
stop (a period) and a seperate line and press enter to end and send the 
message

quit : Disconnects you

vrfy xxx : Replace the xxx with a user name, and it will tell you if it 
exists

This should give you a basic idea of how to use the program. The commands 
should come in that order to send mail (vrfy is not needed to send mail, you 
can simply use it to tell if a user exists. Oh yeah, and you won't see what 
you type in.

The other program I'm gonna look at is in port 79 so type:

telnet xxx 79

You will be greeted by, well nothing. Loads of servers have closed this 
port, but if they have it open, then it is very useful. All you do is type 
in the name of the user you want to finger, and it will give you their 
account details. Try all of the common users above. This program will 
usually only let you finger one user before disconnecting.

Conclusion

I hope this has been an informative introduction into the world of hacking. 
Even at this level, there are tonnes more things which you will need to find 
out about so that you can hack. I suggest you look the following things up 
in your search engine:

Unix operatins system
computer security
hacking
c programming
perl programming
hacking tutorials

Hopefully you will find what you need. One last word of warning, be VERY 
careful about hacking, and don't do any damage, you WILL get caught if you 
do. Oh yeah, and have fun...

Legal Stuff...

You may reproduce this document on any web page or on any CDROM or 
otherwise. You do not have to ask my permission or anything, as long as it 
remains unchanged and I get the credit. As I've already said, I'm not 
responsible if you act on the information above, and this was intended for 
EDUCATIONAL PURPOSES ONLY.

Chaw...

Seditious