How to learn to hack in easy steps.doc

(100 KB) Pobierz
How to learn to hack in easy steps

How to learn to hack in easy steps

                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 

                                       Introduction

                                       ~~~~~~~~~~~~

 

Hi there, I'm TDC and I'd like to give back all the things i've learnt from the hackers i've

met. I want to write this because most tutorials i've found (very good tutorials) are now

old and don't fit just like they did before. This is why i'm going to teach you and show you

the way to learn to hack.

 

If you are a hacker, you read this, and find something that's not correct or you don't like,

i want to know. mail me.

 

I'm sure you'll find a lot of bad-grammars. Don't report them cause I'm not english and

i don't care at all as long as it's understandable.

 

On this document I talk about many security tools, you can find all them and also contact

me on my site: www.3b0x.com

 

When you finish reading it, please TELL ME how you like it!

 

I want to make newer versions of it, check on my site to stay informed.

 

COPYING: You're welcome to distribute this document to whoever the hell you want, post it

         on your website, on forums, newsgroups, etc, AS LONG as you DON'T MODIFY it at all.

         If you want to perform it, ask me for permission. thanks a lot!

 

DISCLAIMER: This document is intended for ludical or educational purposes. I don't want to

            promote computer crime and I'm not responible of your actions in any way.

            If you want to hack a computer, do the decent thing and ask for permission first.

 

 

 

                                       Let's start

                                       ~~~~~~~~~~~

 

If you read carefully all what i'm telling here, you are smart and you work hard on it,

you'll be able to hack. i promise. That doesn't really make you a hacker (but you're on the way).

A hacker is someone who is able to discover unknown vulnerabilities in software and able to

write the proper codes to exploit them.

 

NOTE: If you've been unlucky, and before you found this document, you've readen the

guides to (mostly) harmless hacking, then forget everything you think you've learnt from them.

You won't understand some things from my tutorial until you unpoison your brain.

 

 

                                    Some definitions

                                    ~~~~~~~~~~~~~~~~

 

I'm going to refer to every kind of computer as a box, and only as a box.

This includes your PC, any server, supercomputers, nuclear silos, HAL9000,

Michael Knight's car, The Matrix, etc.

 

The systems we're going to hack (with permission) are plenty of normal users, whose

don't have any remote idea about security, and the root. The root user is called

superuser and is used by the admin to administer the system.

 

I'm going to refer to the users of a system as lusers. Logically, I'll refer to

the admin as superluser.

 

 

 

                                   Operating Systems

                                   ~~~~~~~~~~~~~~~~~

 

Ok, I assume you own a x86 box (this means an intel processor or compatible) running windoze9x,

or perhaps a mac (motorola) box running macOS.

 

You can't hack with that. In order to hack, you'll need one of those UNIX derived operating

systems.

This is for two main reasons:

 

-the internet is full of UNIX boxes (windoze NT boxes are really few) running webservers and

so on. to hack one of them, you need a minimun knowledge of a UNIX system, and what's better

than running it at home?

 

-all the good hacking tools and exploit codes are for UNIX. You won't be able to use them unless

you're running some kind of it.

 

Let's see where to find the unix you're interested on.

 

The UNIX systems may be divided in two main groups:

 

- commercial UNIXes

- free opensource UNIXes

 

A commercial unix's price is not like windoze's price, and it usually can't run on your box,

so forget it.

 

The free opensource UNIXes can also be divided in:

- BSD

  These are older and difficult to use. The most secure OS (openBSD) is in this group.

  You don't want them unless you're planning to install a server on them.

 

- Linux

  Easy to use, stable, secure, and optimized for your kind of box. that's what we need.

 

I strongly suggest you to get the SuSE distribution of Linux.

It's the best one as i think, and i added here some tips for SuSE, so all should be easier.

 

Visit www.suse.de and look for a local store or order it online.

(i know i said it the software was free, but not the CDs nor the manual nor the support.

  It is much cheaper than windoze anyway, and you are allowed to copy and distribute it)

 

If you own an intel box, then order the PC version.

 

If you own a mac box, then order the PowerPC version.

 

Whatever you do, DON'T PICK THE COREL DISTRIBUTION, it sucks.

 

It's possible you have problem with your hardware on the installation. Read the manual, ask

for technical support or buy new hardware, just install it as you can.

 

This is really important! READ THE MANUAL, or even buy a UNIX book.

Books about TCP/IP and C programming are also useful.

 

If you don't, you won't understand some things i'll explain later. And, of course, you'll

never become a hacker if you don't read a lot of that 'literature'.

 

 

 

                                        the Internet

                                        ~~~~~~~~~~~~

 

Yes! you wanted to hack, didn't you? do you want to hack your own box or what?

You want to hack internet boxes! So lets connect to the internet.

 

Yes, i know you've gotten this document from the internet, but that was with windoze

and it was much easier. Now you're another person, someone who screams for knowledge and wisdom.

You're a Linux user, and you gotta open your way to the Internet.

 

You gotta make your Linux box to connect to the net,

so go and set up your modem (using YaST2 in SuSE).

 

Common problems:

 

If your box doesn't detect any modems, that probably means that you have no modem installed

:-D (not a joke!).

 

Most PCI modems are NOT modems, but "winmodems". Winmodems, like all winhardware, are

specifically designed to work ONLY on windoze. Don't blame linux, this happens because the

winmodem has not a critical chip that makes it work. It works on windoze cause the vendor

driver emulates that missing chip. And hat vendor driver is only available for windoze.

 

 

ISA and external modems are more probably real modems, but not all of them.

If you want to make sure wether a modem is or not a winmodem, visit http://start.at/modem.

 

Then use your modem to connect to your ISP and you're on the net. (on SuSE, with wvdial)

 

NOTE: Those strange and abnormal online services like aol are NOT ISPs. You cannot connect the

internet with aol. You can't hack with aol. i don't like aol. aol sucks.

Don't worry, we humans are not perfect, and it's probably not your fault. If that is your case,

leave aol and get a real ISP. Then you'll be forgiven.

 

 

                                     Don't get busted

                                     ~~~~~~~~~~~~~~~~

 

 

Let's  suppose you haven't skipped everything below and your Linux bow is now connected to the net.

 

It's now turn for the STEALTH. You won't get busted! just follow my advices and you'll be safe.

 

- Don't hack

  this is the most effective stealth technique. not even the FBI can bust you. :-)

  If you choose this option, stop reading now, cause the rest is worthless and futile.

 

- If you change a webpage, DON'T SIGN! not even with a fake name. they can trace you, find

  your own website oe email address, find your ISP, your phone number, your home...

  and you get busted!!

 

- be PARANOID, don't talk about hacking to anyone unless he is really interested in hacking too.

  NEVER tell others you've hacked a box.

 

- NEVER hack directly from your box (your_box --> victim's box).

  Always use a third box in the middle (your_box --> lame_box --> victim's box).

 

  Where lame_box is a previously hacked box or...a shell account box!

  A shell account is a service where you get control of a box WITHOUT hacking it.

  There are a few places where shell accounts are given for free. One of them is nether.net.

 

- Don't hack dangerous boxes until you're a real hacker.

   Which boxes are dangerous:

     Military boxes

     Government boxes

     Important and powerful companies' boxes

     Security companies' boxes

   Which boxes are NOT dangerous:

     Educational boxes (any .edu domain)

     Little companies' boxes

     Japanese boxes

 

- Always connect to the internet through a free and anonymous ISP

  (did i tell you that AOL is NOT an ISP?)

 

- Use phreking techniques to redirect calls and use others' lines for your ISP call.

  Then it'll be really difficult to trace you. This is not a guide to phreaking anyway.

 

 

                                  TCP ports and scanning

                                  ~~~~~~~~~~~~~~~~~~~~~~

 

Do you got your stealth linux box connected to the internet (not aol)?

Have you read the manual as i told you?

 

 

Then we shall start with the damn real thing.

 

First of all, you should know some things about the internet. It's based on the TPC/IP protocol,

(and others)

 

It works like this: every box has 65k connection PORTS. some of them are opened and waiting for

your data to be sent.

 

So you can open a connection and send data to any these ports. Those ports are associated with

a service:

 

Every service is hosted by a DAEMON. Commonly, a daemon or a server is a program that runs

on the box, opens its port and offers their damn service.

 

here are some common ports and their usual services (there are a lot more):

 

              Port number                            Common service              Example daemon (d stands for daemon)

                            21                                          FTP                            FTPd

                            23                                          Telnet              telnetd

                            25                                          SMTP                            sendmail (yes!)

                            80                                          HTTP                            apache

                            110                                          POP3                            qpop

 

 

Example:

when you visit the website http://www.host.com/luser/index.html, your browser does this:

-it connects to the TCP port 80

-it sends the string: "GET /HTTP/1.1 /luser/index.html" plus two 'intro'

      (it really sends a lot of things more, but that is the essential)

-the host sends the html file

 

The cool thing of daemons is they have really serious security bugs.

 

That's why we want to know what daemons are running there, so...

 

We need to know what ports are opened in the box we want to hack.

 

How could we get that information?

 

We gotta use a scanner. A scanner is a program that tries to

connect to every port on the box and tells which of them are opened.

 

The best scanner i can think of is nmap, created by Fyodor.

You can get nmap from my site in tarball or rpm format.

 

Let's install nmap from an .rpm packet.

 

              bash-2.03$ rpm -i nmap-2.53-1.i386.rpm

 

then we run it:

 

              bash-2.03$ nmap -sS target.edu

 

              Starting nmap V. 2.53 by fyodor@insecure.org ( www.insecure.org/nmap/ )

              Interesting ports on target.edu (xx.xx.xx.xx):

              (The 1518 ports scanned but not shown below are in state: closed)

              Port       State       Service

              21/tcp     open        ftp

              23/tcp     open        telnet

              25/tcp     open        smtp

              80/tcp     open        http

              110/tcp    open        pop3

 

 

              Nmap run completed -- 1 IP address (1 host up) scanned in 34 seconds

 

 

Nmap has told us which ports are opened on target.edu and thus, what services it's offering.

 

I know, i said telnet is a service but is also a program (don't let this confuse you).

This program can open a TCP connection to the port you specify.

 

So lets see what's on that ports.

 

On your linux console, type:

 

              bash-2.03$ telnet target.edu 21

              Trying xx.xx.xx.xx...

              Connected to target.edu.

              Escape character is '^]'.

              220 target.edu FTP server (SunOS 5.6) ready.

              quit

              221 Goodbye.

              Connection closed by foreign host.

 

You see?

They speak out some valuable information:

-their operating system is SunOS 5.6

-their FTP daemon is the standard provided by the OS.

 

              bash-2.03$ telnet target.edu 25

              Trying xx.xx.xx.xx...

              Connected to target.edu.

              Escape character is '^]'.

              220 target.edu ESMTP Sendmail 8.11.0/8.9.3; Sun, 24 Sep 2000 09:18:14 -0

              400 (EDT)

              quit

              221 2.0.0 target.edu closing connection

              Connection closed by foreign host.

 

They like to tell us everything:

-their SMTP daemon is sendmail

-its version is 8.11.0/8.9.3

 

Experiment with other ports to discover other daemons.

 

Why is this information useful to us? cause the security bugs that can let us in depend

on the OS and daemons they are running.

 

But there is a problem here... such information can be faked!

 

It's difficult to really know what daemons are they running, but we can know FOR SURE

what's the operating system:

 

              bash-2.03$ nmap -sS target.edu

 

              Starting nmap V. 2.53 by fyodor@insecure.org ( www.insecure.org/nmap/ )

              Interesting ports on target.edu (xx.xx.xx.xx):

              (The 1518 ports scanned but not shown below are in state: closed)

              Port       State       Service

              21/tcp     open        ftp

              23/tcp     open        telnet

              25/tcp     open        smtp

              80/tcp     open        http

...

Zgłoś jeśli naruszono regulamin