
Ms-Dos HackinG Do It NoW SerieS
|
Hack Attacks Denied: A Complete Guide to Network Lockdown for UNIX, Windows, and Linux, Second Edition |
MS-DOS Hacking
by PranaY
[email protected]
******************************************************
In this Guide you will learn how to:
* Use telnet from Windows
* Download web pages via telnet
* Get finger information via telnet
* Telnet from the DOS command-line
* Use netcat
* Break into Windows Computers from the Internet
Protecting Yourself
What can they do
The command-line approach
The GUI approach
Final Words
************************************************************
How to Use Telnet on a Windows Computer
Telnet is great little program for doing
a couple of interesting things. In fact,
if you want to call yourself a hacker, you
absolutely MUST be able to telnet! In this
lesson you will find out a few of the cool
things a hacker can do with telnet.
If you are using Win95, you can find telnet
in the c:\windows directory, and on NT, in
the c:\winnt\system32 directory. There isn't
a lot of online help concerning the usage
of the program, so my goal is to provide
some information for new users.
First off, telnet isn't so much an application
as it is a protocol. Telnet is protocol that
runs over TCP/IP, and was used for connecting
to remote computers. It provides a login
interface, and you can run command-line programs
by typing the commands on your keyboard,
and the programs use the resources of the
remote machine. The results are displayed
in the terminal window on your machine, but
the memory and CPU cycles consumed by the
program are located on the remote machine.
Therefore, telnet functions as a terminal
emulation program, emulating a terminal on
the remote machine.
Now, telnet runs on your Win95 box as a GUI
application...that is to say that you can
type "telnet" at the command prompt
(in Windows 95 this is the MS-DOS prompt),
and assuming that your PATH is set correctly,
a window titled "telnet" will open.
This differs from your ftp program in that
all commands are entered in the DOS window.
Let's begin by opening telnet. Simply open
a DOS window by clicking "start",
then "programs", then "MS-DOS",
and at the command prompt, type:
c:\telnet
The window for telnet will open, and you
can browse the features of the program from
the menu bar.
***************************************************
NEWBIE NOTE: In this text file, I am referring
only to the telnet
program that ships with Win95/NT/Xp/2K. If you
type "telnet" at the
command prompt and you don't get the telnet
window, goto run type telnet or make sure
that the program is on your hard drive using
the Start -> Find ->
Files or Folders command. Also make sure
that your path statement includes the Windows
directory. There are many other programs
available that provide similar functionality,
with a lot of other bells and whistles, from
any number of software sites.
*************************************************
< GUI TELNET >To learn a bit more about telnet, choose
Help -> Contents, or
Help -> Search for help on... from the
menu bar. Read through
the files in order to find more detailed
explanations of things
you may wish to do. For example, in this
explanation, I will
primarily be covering how to use the application
and what it can
be used for, but now how to customize the
colors for the application.
Now, if you choose Connect -> Remote System,
you will be presented with a dialog window
that will ask you for the remote host, the
port and the terminal type.
****************************************************
NEWBIE NOTE: For most purposes, you can leave
the terminal type on
VT100.
****************************************************
In the Connect dialog box, you can enter
in the host to which
you wish to connect, and there is a list
box of several ports
you can connect to:
daytime: May give you the current time on
the server.
echo: May echo back whatever you type in,
and will tell you that the computer you have
connected to is alive nd running on the Internet.
qotd: May provide you with a quote of the
day.
chargen: May display a continuous stream
of characters, useful for spotting network
problems, but may crash your telnet program.
telnet: May present you with a login screen.
< CUI INterface > goto run then type Telnet & hit enter.a dos window will appear.type ? for commands supported.type o < host name > < port number > press enter(default port is 23 or telnet you can change to 25,21,110).These will only work if the server to which
you are trying to connect is running these
services. However, you are not limited to
just those ports...you can type in any port
number you wish. (For more on fun ports,
see the GTMHH, "Port Surf's Up.")
You will only successfully connect to the
port if the service in question is available.
What occurs after you connect depends upon
the protocol for that particular service.
When you are using telnet to connect to the
telnet service on a server, you will (in
most cases) be presented with a banner and
a login prompt.
[Note from : Many people have
written saying their telnet program fails
to connect no matter what host they try to
reach. Here's a way to fix your problem.
First -- make sure you are already connected
to the Internet. If your telnet program still
cannot connect to anything, here's how to
fix your problem. Click "start"
then "settings" then "control
panel." Then click "Internet"
then "connection." This screen
will have two boxes that may or may not be
checked. The top one says "connect to
the Internet as needed." If that box
is checked, uncheck it -- but only uncheck
it if you already have been having problems
connecting. The bottom box says "connect
through a proxy server." If that box
is checked, you probably are on a local area
network and your systems administrator doesn't
allow you to use telnet.]
*********************************************
NEWBIE NOTE: It's not a good idea to connect
to a host on which you don't have a valid
account. In your attempts to guess a username
and password, all you will do is fill the
log files on that host. From there, you can
very easily be traced, and your online service
provider will probably cancel your account.
**********************************************
Now, you can also use telnet to connect to
other ports, such as
ftp (21), smtp (25), pop3 (110), and even
http (80). When you
connect to ftp, smtp, and pop3, you will
be presented with a
banner, or a line of text that displays some
information about the
service. This will give you a clue as to
the operating system
running on the host computer, or it may come
right out and tell
you what the operating system is...for instance,
AIX, Linux,
Solaris, or NT. If you successfully connect
to port 80, you will
see a blank screen. This indicates, again,
that you have successfully completed the
TCP negotiation and you have a connection.
Now, what you do from there is up to you.
You can simply disconnect with the knowledge
that, yes, there is a service running on
port 80, or you can use your knowledge of
the HTTP protocol to retrieve the HTML source
for web pages on the server.
How to Download Web Pages Via Telnet
To retrieve a web page for a server using
telnet, you need to connect to that server
on port 80, generally. Some servers may use
a different port number, such as 8080, but
most web servers run on port 80. The first
thing you need to do is click on Terminal
-> Preferences and make sure that there
is a check in the Local Echo box. Then, since
most web pages will generally take up more
than a single screen, enable logging by clicking
Terminal -> Start Logging... and select
a location and filename. Keep in mind that
as long as logging is on, and the same file
is being logged to, all new information will
be appended to the file, rather than overwriting
the
original file. This is useful if you want
to record several sessions, and edit out
the extraneous information using Notepad.
Now, connect the remote host, and if your
connection is successful, type in:
GET / HTTP/1.0
and hit enter twice.
**************************************************
NEWBIE NOTE: Make sure that you hit enter
twice...this is part
of the HTTP protocol. The single / after
GET tells the server
to return the default index file, which is
generally "index.html".
However, you can enter other filenames, as
well.
*************************************************
You should have seen a bunch of text scroll
by on the screen. Now you can open the log
file in Notepad, and you will see the HTML
code for the page, just as though you had
chosen the View Source
option from your web browser. You will also
get some additional
information...the headers for the file will
contain some information
about the server. For example:
HTTP/1.0 200 Document follows
Date: Thu, 04 Jun 1998 14:46:46 GMT
Server: NCSA/1.5.2
Last-modified: Thu, 19 Feb 1998 17:44:13
GMT
Content-type: text/html
Content-length: 3196
One particularly interesting piece of information
is the server
name. This refers to the web server software
that is running
and serving web pages. You may see other
names in this field,
such as versions of Microsoft IIS, Purveyor,
WebSite, etc.
This will give you a clue as to the underlying
operating system
running on the server.
*************************************************
SYSADMIN NOTE: This technique, used in conjunction
with a
database of exploits on web servers, can
be particularly annoying.
Make sure you keep up on exploits and the
appropriate security
patches from your web server and operating
system vendors.
*************************************************
*************************************************
NEWBIE NOTE: This technique of gathering
web pages is perfectly legal. You aren't
attempting to compromise the target system,
you are simply doing by hand what your web
browser does for you automatically. Of course,
this technique will not load images and Java
applets for you.
************************************************
Getting Finger(port 79) Information Via Telnet
By now, you've probably heard or read a lot
about finger. It doesn't seem like a very
useful service, and many sysadmins disable
the service because it provides information
on a particular user, information an evil
hacker can take advantage of. Win95 doesn't
ship with a finger client, but NT does. You
can download finger clients for Win95 from
any number of software sites. But why do
that when you have a readily available client
in telnet?
The finger daemon or server runs on port
79, so connect to a remote host on that port.
If the service is running, you will be presented
with a blank screen.
****************************************************
NEWBIE NOTE: NT doesn't ship with a finger
daemon (A daemon is a program on the remote
computer which waits for people like you
to connect to it), so generally speaking,
and server that you find running finger will
be a Unix box. I say "generally"
because there are third-party finger daemons
available and someone may want to run one
on their NT computer.
****************************************************
The blank screen indicates that the finger
daemon is waiting for input. If you have
a particular user that you are interested
in, type in the username and hit enter. A
response will be provided, and the daemon
will disconnect the client. If you don't
know a particular username, you can start
by simply hitting enter. In some cases, you
may get a response such as "No one logged
on." Or you may get information of all
currently logged on users. It all depends
on whether or not the sysadmin has chosen
to enable certain features of the daemon.
You can also try other names, such as "root",
"daemon", "ftp", "bin",
etc.
Another neat trick to try out is something
that I have seen referred to as "finger
forwarding". To try this out, you need
two hosts that run finger. Connect to the
first host, host1.com, and enter the username
that you are interested in. Then go to the
second host, and enter:
[email protected]
You should see the same information! Again,
this all depends upon
the configuration of the finger daemon.
Using Telnet from the Command Line
Now, if you want to show your friends that
you a "real man" because "real
men don't need no stinkin' GUIs", well
just open up a DOS window and type:
c:\>telnet <host> <port>
and the program will automatically attempt
to connect to the host
on the designated port for you.
Using Netcat
netcat program for Windows NT. To get a copy
of this program, which comes with source
code, simply go to: http://www.ethicalhacker.tk/netcat.zip
I know that the program is supposed to run
on NT, but I have
seen it run on Win95. It's a great little
program that can be used
to do some of the same things as telnet.
However, there are
advantages to using netcat...for one, it's
a command-line program,
and it can be included in a batch file. In
fact, you can automate
multiple calls to netcat in a batch file,
saving the results to
a text file.
**************************************************
NEWBIE NOTE: For more information on batch
files, see previous versions of the Guide
To (mostly) Harmless Hacking, Getting Serious
with Windows series ...one of them dealt
with basic batch file programming.
**************************************************
Before using netcat, take a look at the readme.txt
file provided in
the zipped archive you downloaded. It goes
over the instructions
on how to download web pages using netcat,
similar to what I
described earlier using telnet.
There are two ways to go about getting finger
information using
netcat. The first is in interactive mode.
Simply type:
c:\>nc <host> 79
If the daemon is running, you won't get a
command prompt back. If this is the case,
type in the username and hit enter. Or use
the automatic mode by first creating a text
file containing the username of interest.
For example, I typed:
c:\>edit root
and entered the username "root",
without the quotes. Then from
the command prompt, type:
c:\>nc <host> 79 < root
and the response will appear on your screen.
You can save the
output to a file by adding the appropriate
redirection operator
to the end of the file:
c:\>nc <host> 79 < root >
nc.log
to create the file nc.log, or:
c:\>nc <host> 79 < root >>
nc.log
to append the response to the end of nc.log.
NOTE: Make sure
that you use spaces between the redirection
operators.
How to Break into a Windows 95 machine Connected
to the Internet
Disclaimer
The intent of this file is NOT to provide
a step-by-step guide to accessing a Win95
computer while it is connected to the Internet.
The intent is show you how to protect yourself.
There are no special tools needed to access
a remote Win95 machine...everything you need
is right there on your Win95 system! Two
methods will be described...the command-line
approach and the GUI approach.
Protecting Yourself
First, the method of protecting yourself
needs to be made perfectly clear. DON'T SHARE
FILES!! I can't stress that enough. If you
are a home user, and you are connecting a
Win95 computer to the Internet via some dial-up
method, disable sharing. If you must share,
use a strong password...8 characters minimum,
a mix of upper and lower case letters and
numbers, change the password every now and
again. If you need to transmit the
password to someone, do so over the phone
or by written letter. To disable sharing,
click on My Computer -> Control Panel
-> Network -> File and Print Sharing.
In the dialog box that appears, uncheck both
boxes. It's that easy.
What Can They Do?
What can someone do? Well, lots of stuff,
but it largely depends on what shares are
available. If someone is able to share a
printer from your machine, they can send
you annoying letters and messages. This consumes
time, your printer ink/toner, and your paper.
If they are able to share a disk share, what
they can do largely depends upon what's in
that share. The share appears as another
directory on the attacker's machine, so any
programs they run will be consuming their
own resources...memory, cpu cycles, etc.
But if the attacker has read and write access
to those disk shares, then you're in trouble.
If you take work home, your files may be
vulnerable. Initialization and configuration
files can be searched for passwords. Files
can be modified and deleted. A particularly
nasty thing to do is adding a line to your
autoexec.bat file so that the next time your
computer is booted, the hard drive is formatted
without any prompting from the user. Bad
ju-ju, indeed.
** The command-line approach **
Okay, now for the part that should probably
be titled "How they do it". All
that is needed is the IP address of the remote
machine. Now open up a DOS window, and at
the command prompt, type:
c:\>nbtstat -A [ip_addr]
If the remote machine is connected to the
Internet and the ports used for sharing are
not blocked, you should see something like:
NetBIOS Remote Machine Name Table
Name Type Status
---------------------------------------------
NAME <00> UNIQUE Registered
DOMAIN <00> GROUP Registered
NAME <03> UNIQUE Registered
USERNAME <03> UNIQUE Registered
MAC Address = 00-00-00-00-00-00
This machine name table shows the machine
and domain names, a logged-on username, and
the address of the Ethernet adapter (the
information has been obfuscated for instructional
purposes).
**Note: This machine, if unpatched and not
protected with a firewall or packet-filter
router, may be vulnerable to a range of denial
of service attacks, which seem to be fairly
popular, largely because they require no
skill or knowledge to perpetrate.
The key piece of information that you are
looking for is in the Type column. A machine
that has sharing enabled will have a hex
code of "<20>".
**Note: With the right tools, it is fairly
simple for a sysadmin to write a batch file
that combs a subnet or her entire network,
looking for client machines with sharing
enabled. This batch file can then be run
at specific times...every day at 2:00 am,
only on Friday evenings or weekends, etc.
If you find a machine with sharing enabled,
the next thing to do is type the following
command:
c:\>net view \\[ip_addr]
Now, your response may be varied. You may
find that there are no shares on the list,
or that there are several shares available.
Choose which share you would like to connect
to, and type the command:
c:\>net use g: \\[ip_addr]\[share_name]
You will likely get a response that the command
was completed successfully. If that is the
case, type:
c:\>cd g:
or which ever device name you decided to
use. You can now view what exists on that
share using the dir commands, etc.
Now, you may be presented with a password
prompt when you ssue the above command. If
that is the case, typical "hacker"
(I shudder at that term) methods may be used.
** The GUI approach **
After issuing the nbtstat command, you can
opt for the GUI approach to accessing the
shares on that machine. To do so, make sure
that you leave the DOS window open, or minimized...don't
close it. Now, use Notepad to open this file:
c:\windows\lmhosts.sam
Read over the file, and then open create
another file in Notepad, called simply "Lmhosts",
without an extension. The file should contain
the IP address of the host, the NetBIOS name
of the host (from the nbtstat command), and
#PRE, separated by tabs. Once you have added
this information, save it, and minimize the
window. In the DOS command window, type:
c:\>nbtstat -R
This command reloads the cache from the Lmhosts
file you just created.
Now, click on Start -> Find -> Computer,
and type in the NetBIOS name of the computer...the
same one you added to the lmhosts file. If
your attempt to connect to the machine is
successful, you should be presented with
a window containing the available shares.
You may be presented with a password prompt
window, but again, typical "hacker"
(again, that term grates on me like fingernails
on a chalk board, but today, it seems that
it's all folks understand) techniques may
be used to break the password.
************************************************
Note from : Want to try this
stuff without winding up in jail or getting
expelled from school? Get a friend to give
you permission to try to break in.
First, you will need his or her IP address.
Usually this will be different every time
your friend logs on. You friend can learn
his or her IP address by going to the DOS
prompt while online and giving the command
"netstat -r". Something like this
should show up:
C:\WINDOWS>netstat -r
Route Table
Active Routes:
Network Address Netmask Gateway Address Interface
Metric
0.0.0.0 0.0.0.0 198.999.176.84 198.999.176.84
1
127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1
198.999.176.0 255.255.255.0 198.999.176.84
198.999.176.84 1
198.999.176.84 255.255.255.255 127.0.0.1
127.0.0.1 1
198.999.176.255 255.255.255.255 198.999.176.84
198.999.176.84 1
224.0.0.0 224.0.0.0 198.999.176.84 198.999.176.84
1
255.255.255.255 255.255.255.255 198.999.176.84
0.0.0.0 1
Your friend's IP address should be under
"Gateway Address." Ignore the 127.0.0.1
as this will show up for everyone and simply
means "locahost" or "my own
computer." If in doubt, break the Internet
connection and then get online again. The
number that changes is the IP address of
your friend's computer.
***************************************************
**************************************************
Evil Genius tip: Here is something really
scary. In your shell account give the "netstat"
command. If your ISP allows you to use it,
you might be able to get the dynamically
assigned IP addresses of people from all
over the world -- everyone who is browsing
a Web site hosted by your ISP, everyone using
ftp, spammers you might catch red-handed
in the act of forging email on your ISP,
guys up at 2AM playing on multiuser dungeons,
IRC users, in fact you will see everyone
who is connected to your ISP!
****************************************************
***************************************************
YOU CAN GO TO JAIL WARNING: If you find a
Windows 95 box on the Internet with file
sharing enabled and no password protection,
you can still get in big trouble for exploiting
it. It's just like finding a house whose
owner forgot to lock the door -- you still
are in trouble if someone catches you inside.
Tell temptation to take a hike!
************************************************
Final Words
Please remember that this Guide is for instructional
purposes only and is meant to educate the
sysadmin and user alike. If someone uses
this information to gain access to a system
which they have no permission or business
messing with, I (PranaY) cannot be responsible
for the outcome. If you are intending to
try this information out, do so with the
consent and permission of a friend.
If there are questions, comments, or corrections,
please feel free to email me at [email protected].
|