home *** CD-ROM | disk | FTP | other *** search
- _____________________________________________________________
-
- GUIDE TO (mostly) HARMLESS HACKING
-
- Vol. 1 Number 2
-
- In this issue we learn how to forge email -- and how to spot forgeries. I
- promise, this hack is spectacularly easy!
- ______________________________________________________________
-
- Heroic Hacking in Half an Hour
-
- How would you like to totally blow away your friends? OK, what is the
- hairiest thing you hear that super hackers do?
-
- It's gaining unauthorized access to a computer, right?
-
- So how would you like to be able to gain access and run a program on the
- almost any of the millions of computers hooked up to the Internet? How would
- you like to access these Internet computers in the same way as the most
- notorious hacker in history: Robert Morris!
-
- It was his "Morris Worm" which took down the Internet in 1990. Of course,
- the flaw he exploited to fill up 10% of the computers on the Internet with
- his self-mailing virus has been fixed now -- on most Internet hosts.
-
- But that same feature of the Internet still has lots of fun and games and
- bugs left in it. In fact, what we are about to learn is the first step of
- several of the most common ways that hackers break into private areas of
- unsuspecting computers.
-
- But I'm not going to teach you to break into private parts of computers. It
- sounds too sleazy. Besides, I am allergic to jail.
-
- So what you are about to learn is legal, harmless, yet still lots of fun. No
- pulling the blinds and swearing blood oaths among your buddies who will
- witness you doing this hack.
-
- But -- to do this hack, you need an on-line service which allows you to
- telnet to a specific port on an Internet host. Netcom, for example, will let
- you get away with this.
-
- But Compuserve, America Online and many other Internet Service Providers
- (ISPs) are such good nannies that they will shelter you from this temptation.
-
- But your best way to do this stuph is with a SHELL ACCOUNT! If you don't
- have one yet, get it now!
-
- ***********************************
- Newbie note #1; A shell account is an Internet account that lets you give
- Unix commands. Unix is a lot like DOS. You get a prompt on your screen and
- type out commands. Unix is the language of the Internet. If you want to be
- a serious hacker, you have to learn Unix.
- ****************************
-
- Even if you have never telnetted before, this hack is super simple. In fact,
- even though what you are about to learn will look like hacking of the most
- heroic sort, you can master it in half an hour -- or less. And you only need
- to memorize *two* commands.
-
- To find out whether your Internet service provider will let you do this
- stuph, try this command:
-
- telnet callisto.unm.edu 25
-
- This is a computer at the University of New Mexico. My Compuserve account
- gets the vapors when I try this. It simply crashes out of telnet without so
- much as a "tsk, tsk."
-
- But at least today Netcom will let me do this command. And just about any
- cheap "shell account" offered by a fly-by-night Internet service provider
- will let you do this. Many college accounts will let you get away with this,
- too.
-
- ******************************
- Newbie note #2: How to Get Shell Accounts
-
- Try your yellow pages phone book. Look under Internet. Call and ask for a
- "shell account."
-
- They'll usually say, "Sure, can do." But lots of times they are lying. They
- think you are too dumb to know what a real shell account is. Or the
- underpaid person you talk with doesn't have a clue.
-
- The way around this is to ask for a free temporary guest account. Any
- worthwhile ISP will give you a test drive. Then try out today's hack.
- *******************************
-
- OK, let's assume that you have an account that lets you telnet someplace
- serious. So let's get back to this command:
-
- telnet callisto.unm.edu 25
-
- If you have ever done telnet before, you probably just put in the name of
- the computer you planned to visit, but didn't add in any numbers afterward.
- But those numbers afterward are what makes the first distinction between the
- good, boring Internet citizen and someone slaloming down the slippery slope
- of hackerdom.
-
- What that 25 means is that you are commanding telnet to take you to a
- specific port on your intended victim, er, computer.
-
- ***********************************
- Newbie note #3: Ports
- A computer port is a place where information goes in or out of it. On your
- home computer, examples of ports are your monitor, which sends information
- out, your keyboard and mouse, which send information in, and your modem,
- which sends information both out and in.
-
- But an Internet host computer such as callisto.unm.edu has many more ports
- than a typical home computer. These ports are identified by numbers. Now
- these are not all physical ports, like a keyboard or RS232 serial port (for
- your modem). They are virtual (software) ports.
- ***********************************
-
- But there is phun in that port 25. Incredible phun. You see, whenever you
- telnet to a computer's port 25, you will get one of two results: once in
- awhile, a message saying "access denied" as you hit a firewall. But, more
- often than not, you get something like this:
-
- Trying 129.24.96.10...
- Connected to callisto.unm.edu.
- Escape character is '^]'.
- 220 callisto.unm.edu Smail3.1.28.1 #41 ready at Fri, 12 Jul 96 12:17 MDT
-
- Hey, get a look at this! It didn't ask us to log in. It just says...ready!
-
- Notice it is running Smail3.1.28.1, a program used to compose and send email.
-
- Ohmigosh, what do we do now? Well, if you really want to look sophisticated,
- the next thing you do is ask callisto.unm.edu to tell you what commands you
- can use. In general, when you get on a strange computer, at least one of
- three commands will get you information: "help," "?", or "man." In this case
- I type in:
-
- help
-
- ... and this is what I get
-
- 250 The following SMTP commands are recognized:
- 250
- 250 HELO hostname startup and give your hostname
- 250 MAIL FROM:<sender address> start transaction from sender
- 250 RCPT TO:<recipient address> name recipient for message
- 250 VRFY <address> verify deliverability of address
- 250 EXPN <address> expand mailing list address
- 250 DATA start text of mail message
- 250 RSET reset state, drop transaction
- 250 NOOP do nothing
- 250 DEBUG [level] set debugging level,default 1
- 250 HELP produce this help message
- 250 QUIT close SMTP connection
- 250
- 250 The normal sequence of events in sending a message is to state the
- 250 sender address with a MAIL FROM command, give the recipients with
- 250 as many RCPT TO commands as are required (one address per command)
- 250 and then to specify the mail message text after the DATA command.
- 250 Multiple messages may be specified. End the last one with a QUIT.
-
- Getting this list of commands is pretty nifty. It makes you look really kewl
- because you know how to get the computer to tell you how to hack it. And it
- means that all you have to memorize is the "telnet <hostname> 25 " and
- "help" commands. For the rest, you can simply check up on the commands while
- on-line. So even if your memory is as bad as mine, you really can learn and
- memorize this hack in only half an hour. Heck, maybe half a minute.
-
- OK, so what do we do with these commands? Yup, you figured it out, this is a
- very, very primitive email program. And guess why you can get on it without
- logging in? Guess why it was the point of vulnerability that allowed Robert
- Morris to crash the Internet?
-
- Port 25 moves email from one node to the next across the Internet. It
- automatically takes incoming email and if the email doesn't belong to
- someone with an email address on that computer, it sends it on to the next
- computer on the net, eventually to wend its way to the person to who this
- email belongs.
-
- Oftentimes email will go directly from sender to recipient, but if you email
- to someone far away, or if the Internet is clogged with traffic, email may
- go through several computers.
-
- There are millions of computers on the Internet that forward email. And you
- can get access to almost any one of these computers without a password!
- Furthermore, as you will soon learn, it is easy to get the Internet
- addresses of these millions of computers.
-
- Some of these computers have very good security, making it hard to have
- serious fun with them. But others have very little security. One of the joys
- of hacking is exploring these computers to find ones that suit ones fancy.
-
- OK, so now that we are in Morris Worm country, what can we do with it? Well,
- here's what I did. (My commands have no number in front of them, whereas the
- computer's responses are prefixed by numbers.)
-
- helo santa@north.pole.org
- 250 callisto.unm.edu Hello santa@north.pole.org
- mail from:santa@north.pole.org
- 250 <santa@north.pole.org> ... Sender Okay
- rcpt to:cmeinel@nmia.com
- 250 <cmeinel@nmia.com> ... Recipient Okay
- data
- 354 Enter mail, end with "." on a line by itself
- It works!!!
- .
- 250 Mail accepted
-
- What happened here is that I sent some fake email to myself. Now let's take
- a look at what I got in my mailbox, showing the complete header:
-
- Here's what I saw using the free version of Eudora:
-
- X POP3 Rcpt: cmeinel@socrates
-
- This line tells us that X-POP3 is the program of my ISP that received my
- email, and that my incoming email is handled by the computer Socrates.
-
- *****************************
- Evil Genius Tip: incoming email is handled by port 110. Try telnetting there
- someday. But usually POP, the program running on 110, won't give you help
- with its commands and boots you off the minute you make a misstep.
- *****************************
-
- Return Path: <santa@north.pole.org>
-
- This line above is my fake email address.
-
- Apparently From: santa@north.pole.org
- Date: Fri, 12 Jul 96 12:18 MDT
-
- But note that the header lines above say "Apparently-From" This is important
- because it alerts me to the fact that this is fake mail.
-
- Apparently To: cmeinel@nmia.com
- X Status:
-
- It works!!!
-
- Now here is an interesting fact. Different email reading programs show
- different headers. So how good your fake email is depends on part on what
- email program is used to read it. Here's what Pine, an email program that
- runs on Unix systems, shows with this same email:
-
- Return Path: <santa@north.pole.org>
- Received:
- from callisto.unm.edu by nmia.com
- with smtp
- (Linux Smail3.1.28.1 #4)
- id m0uemp4 000LFGC; Fri, 12 Jul 96 12:20 MDT
-
- This identifies the computer on which I ran the smail program. It also tells
- what version of the smail program was running.
-
- Apparently From: santa@north.pole.org
-
- And here is the "apparently-from" message again. So both Pine and Eudora
- show this is fake mail.
-
- Received: from santa@north.pole.org by callisto.unm.edu with smtp
- (Smail3.1.28.1 #41) id m0uemnL 0000HFC; Fri, 12 Jul 96 12:18 MDT
- Message Id: <m0uemnL 0000HFC@callisto.unm.edu>
-
- Oh, oh! Not only does it show that it may be fake mail -- it has a message
- ID! This means that somewhere on Callisto there will be a log of message IDs
- telling who has used port 25 and the smail program. You see, every time
- someone logs on to port 25 on that computer, their email address is left
- behind on the log along with that message ID.
-
- Date: Fri, 12 Jul 96 12:18 MDT
- Apparently From: santa@north.pole.com
- Apparently To: cmeinel@nmia.com
-
- It works!!!
-
- If someone were to use this email program to do a dastardly deed, that
- message ID is what will put the narcs on his or her tail. So if you want to
- fake email, it is harder to get away with it if you send it to someone using
- Pine than if they use the free version of Eudora. (You can tell what email
- program a person uses by looking at the header of their email.)
-
- But -- the email programs on port 25 of many Internet hosts are not as well
- defended as callisto.unm.edu. Some are better defended, and some are not
- defended at all. In fact, it is possible that some may not even keep a log
- of users of port 25, making them perfect for criminal email forgery.
-
- So just because you get email with perfect-looking headers doesn't mean it
- is genuine. You need some sort of encrypted verification scheme to be almost
- certain email is genuine.
-
- ******************************************
- You can go to jail note: If you are contemplating using fake email to commit
- a crime, think again. If you are reading this you don't know enough to forge
- email well enough to elude arrest.
- *******************************************
-
- Here is an example of a different email program, sendmail. This will give
- you an idea of the small variations you'll run into with this hack.
-
- Here's my command:
-
- telnet ns.Interlink.Net 25
-
- The computer answers:
-
- Trying 198.168.73.8...
- Connected to NS.INTERLINK.NET.
- Escape character is '^]'.
- 220 InterLink.NET Sendmail AIX 3.2/UCB 5.64/4.03 ready at Fri, 12 Jul 1996
- 15:45
-
- Then I tell it:
-
- helo santa@north.pole.org
-
- And it responds:
-
- 250 InterLink.NET Hello santa@north.pole.org (plato.nmia.com)
-
- Oh, oh! This sendmail version isn't fooled at all! See how it puts
- "(plato.nmia.com)" -- the computer I was using for this hack -- in there
- just to let me know it knows from what computer I've telnetted? But what the
- heck, all Internet hosts know that kind of info. I'll just bull ahead and
- send fake mail anyhow. Again, my input has no numbers in front, while the
- responses of the computer are prefaced by the number 250:
-
- mail from:santa@north.pole.com
- 250 santa@north.pole.com... Sender is valid.
- rcpt to:cmeinel@nmia.com
- 250 cmeinel@nmia.com... Recipient is valid.
- data
- 354 Enter mail. End with the . character on a line by itself.
- It works!
- .
- 250 Ok
- quit
- 221 InterLink.NET: closing the connection.
-
- OK, what kind of email did that computer generate? Here's what I saw using Pine:
-
- Return Path: <santa@north.pole.org>
- Received:
- from InterLink.NET by nmia.com
- with smtp
- (Linux Smail3.1.28.1 #4)
- id m0ueo7t 000LEKC; Fri, 12 Jul 96 13:43 MDT
- Received: from plato.nmia.com by InterLink.NET (AIX 3.2/UCB 5.64/4.03)
- id AA23900; Fri, 12 Jul 1996 15:43:20 0400
-
- Oops. Here the InterLink.NET computer has revealed the computer I was on
- when I telnetted to its port 25. However, many people use that Internet host
- computer.
-
- Date: Fri, 12 Jul 1996 15:43:20 0400
- From: santa@north.pole.org
- Message Id: <9607121943.AA23900@InterLink.NET>
- Apparently To: cmeinel@nmia.com
-
- It worked!
-
- OK, here it doesn't say "Apparently-From," so now I know the computer
- ns.Interlink.Net is a pretty good one to send fake mail from. An experienced
- email aficionado would know from the Received: line that this is fake mail.
- But its phoniness doesn't just jump out at you.
-
- I'm going to try another computer. Hmmm, the University of California at
- Berkeley is renowned for its computer sciences research. I wonder what their
- hosts are like? Having first looked up the numerical Internet address of one
- of their machines, I give the command:
-
- telnet 128.32.152.164 25
-
- It responds with:
-
- Trying 128.32.152.164...
- Connected to 128.32.152.164.
- Escape character is '^]'.
- 220 remarque.berkeley.edu ESMTP Sendmail 8.7.3/1.31 ready at Thu, 11 Jul
- 1996 12
- help
- 214 This is Sendmail version 8.7.3
- 214 Commands:
- 214 HELO EHLO MAIL RCPT DATA
- 214 RSET NOOP QUIT HELP VRFY
- 214 EXPN VERB
- 214 For more info use "HELP <topic>".
- 214 To report bugs in the implementation send email to
- 214 sendmail@CS.Berkeley.EDU.
- 214 For local information send email to Postmaster at your site.
- 214 End of HELP info
-
- Oh, boy, a slightly different sendmail program! I wonder what more it will
- tell me about these commands?
-
- HELP mail
- 214 MAIL FROM: <sender>
- 214 Specifies the sender.
- 214 End of HELP info
-
- Big f***ing deal! Oh, well, let's see what this computer (which we now know
- is named remarque) will do to fake mail.
-
- MAIL FROM:santa@north.pole.org
- 250 santa@north.pole.org... Sender ok
-
- Heyyy... this is interesting ... I didn't say "helo" and this sendmail
- program didn't slap me on the wrist! Wonder what that means...
-
- RCPT TO:cmeinel@techbroker.com
- 250 Recipient ok
- DATA
- 354 Enter mail, end with "." on a line by itself
- This is fake mail on a Berkeley computer for which I do not have a password.
- .
- 250 MAA23472 Message accepted for delivery
- quit
- 221 remarque.berkeley.edu closing connection
-
- Now we go to Pine and see what the header looks like:
-
- Return Path: <santa@north.pole.org>
- Received:
- from nmia.com by nmia.com
- with smtp
- (Linux Smail3.1.28.1 #4)
- id m0ueRnW 000LGiC; Thu, 11 Jul 96 13:53 MDT
- Received:
- from remarque.berkeley.edu by nmia.com
- with smtp
- (Linux Smail3.1.28.1 #4)
- id m0ueRnV 000LGhC; Thu, 11 Jul 96 13:53 MDT
- Apparently To: <cmeinel@techbroker.com>
- Received: from merde.dis.org by remarque.berkeley.edu (8.7.3/1.31)
- id MAA23472; Thu, 11 Jul 1996 12:49:56 0700 (PDT)
-
- Look at the three "received" messages. My ISP's computer received this email
- not directly from Remarque.berkeley.edu. but from merde.dis.com, which in
- turn got the email from Remarque.
-
- Hey, I know who owns merde.dis.org! So the Berkeley computer forwarded this
- fake mail through famed computer security expert Pete Shipley's Internet
- host computer! Hint: the name "merde" is a joke. So is "dis.org."
-
- Now let's see what email from remarque looks like. Let's use Pine again:
-
- Date: Thu, 11 Jul 1996 12:49:56 0700 (PDT)
- From: santa@north.pole.org
- Message Id: <199607111949.MAA23472@remarque.berkeley.edu>
-
- This is fake mail on a Berkeley computer for which I do not have a password.
-
- Hey, this is pretty kewl. It doesn't warn that the Santa address is phony!
- Even better, it keeps secret the name of the originating computer:
- plato.nmia.com. Thus remarque.berkeley.edu was a really good computer from
- which to send fake mail. (Note: last time I checked, they had fixed
- remarque, so don't bother telnetting there.)
-
- But not all sendmail programs are so friendly to fake mail. Check out the
- email I created from atropos.c2.org!
-
- telnet atropos.c2.org 25
- Trying 140.174.185.14...
- Connected to atropos.c2.org.
- Escape character is '^]'.
- 220 atropos.c2.org ESMTP Sendmail 8.7.4/CSUA ready at Fri, 12 Jul 1996 15:41:33
- help
- 502 Sendmail 8.7.4 HELP not implemented
-
- Gee, you're pretty snippy today, aren't you... What the heck, let's plow
- ahead anyhow...
-
- helo santa@north.pole.org
- 501 Invalid domain name
-
- Hey, what's it to you, buddy? Other sendmail programs don't give a darn what
- name I use with "helo." OK, OK, I'll give you a valid domain name. But not
- a valid user name!
-
- helo satan@unm.edu
- 250 atropos.c2.org Hello cmeinel@plato.nmia.com [198.59.166.165], pleased
- to meet you
-
- Verrrry funny, pal. I'll just bet you're pleased to meet me. Why the #%&@
- did you demand a valid domain name when you knew who I was all along?
-
- mail from:santa@north.pole.com
- 250 santa@north.pole.com... Sender ok
- rcpt to: cmeinel@nmia.com
- 250 Recipient ok
- data
- 354 Enter mail, end with "." on a line by itself
- Oh, crap!
- .
- 250 PAA13437 Message accepted for delivery
- quit
- 221 atropos.c2.org closing connection
-
- OK, what kind of email did that obnoxious little sendmail program generate?
- I rush over to Pine and take a look:
-
- Return Path: <santa@north.pole.com>
-
- Well, how very nice to allow me to use my fake address.
-
- Received:
- from atropos.c2.org by nmia.com
- with smtp
- (Linux Smail3.1.28.1 #4)
- id m0ueqxh 000LD9C; Fri, 12 Jul 96 16:45 MDT
- Apparently To: <cmeinel@nmia.com>
- Received: from satan.unm.edu (cmeinel@plato.nmia.com [198.59.166.165])
-
- Oh, how truly special! Not only did the computer atropos.c2.org blab out my
- true identity, it also revealed that satan.unm.edu thing. Grump...
- that will teach me.
-
- by atropos.c2.org (8.7.4/CSUA) with SMTP id PAA13437 for
- cmeinel@nmia.com; Fri, 12
- Jul 1996 15:44:37 0700 (PDT)
- Date: Fri, 12 Jul 1996 15:44:37 0700 (PDT)
- From: santa@north.pole.com
- Message Id: <199607122244.PAA13437@atropos.c2.org>
-
- Oh, crap!
-
- So, the moral of that little hack is that there are lots of different email
- programs floating around on port 25 of Internet hosts. So if you want to
- have fun with them, it's a good idea to check them out first before you use
- them to show off with.
- _________________________________________________________
- Want to share some kewl stuph? Tell me I'm terrific? Flame me? For the first
- two, I'm at cmeinel@techbroker.com. Please direct flames to
- dev/null@techbroker.com. Happy hacking!
- Copyright 1996 Carolyn P. Meinel. You may forward the GUIDE TO (mostly)
- HARMLESS HACKING as long as you leave this notice at the end. To subscribe,
- email cmeinel@techbroker.com with message "subscribe hacker
- <joe.blow@boring.ISP.net>" substituting your real email address for Joe Blow's.
- ________________________________________________________
-
-
-
-