Transcript History

Password Cracking, Sniffing and
Man-in-the Middle
• Agenda







Storing Passwords on the system
Password Cracking on Windows and Linux
Defenses against Password cracking
Address Resolution Protocol (ARP)
Sniffing
Defenses against Sniffing
Man in the Middle
ECE 4112 - Internetwork Security
1
Cracking Passwords
• Passwords that can be guessed easily are
a problem
• Lots of tools available to figure out
passwords
• L0phtcrack windows password cracker
• “John the Ripper” Unix password cracker
• Default passwords remaining on a system
are a typical vulnerability
ECE 4112 - Internetwork Security
2
Password storage
• Password files have passwords stored in a hashed or
encrypted form
• Hash algorithm example is message digest 4 (MD4)
• Encrypted algorithm example is Data Encryption
Standard (DES)
• When you use your password, it is hashed or encrypted
and then compared to the stored value
• Crackers use a downloaded local copy of password file
on their own machine
ECE 4112 - Internetwork Security
3
Storing Passwords
• Systems have a file with all hashed/encrypted
passwords
 Windows – SAM (Security Accounts Manager) database
 UNIX - /etc/passwd or /etc/shadow
• Access to these files can make it easy for a
hacker to break in
ECE 4112 - Internetwork Security
4
Windows Passwords
• Security Accounts Manager (SAM) has two versions for each
password
• LanMan (LM) password version for backward compatibility with
windows workgroups
• NT Hash – cryptographic hash for windows NT/2000 (Uses MD4)
• SAM file is in \WINNT\system32\config\ directory which is a binary
file that is hard to read
• Back up copy stored in \WINNT\repair
ECE 4112 - Internetwork Security
5
Using Passwords
• System has a hashed/encrypted version of the password stored
in a file
• On login attempt–
 system hashes/encrypts the password typed in by using for
example crypt() function in linux
 Compares hashed/encrypted value to stored
hashed/encrypted value
 Idea behind password cracking is to get a copy of the
hashed/encrypted passwords and then make guesses,
hash/encrypt the guess and compare
ECE 4112 - Internetwork Security
6
Password Cracking
• Dictionary Attack
 Hackers steal a copy of the stored password file
 Guess a password (may use a dictionary)
 Find hash/encrypted value of the guess
 Compare hash to entries from stored file
 Continue this until success or out of options for password
guesses.
• Brute Force – Guess every possible combination of characters
• Hybrid – Use dictionary but add characters to dictionary entries
ECE 4112 - Internetwork Security
7
Password retrieval on Windows
• Sniff the network for passwords being
transmitted
• From Administrator’s emergency repair disk
• From back-up directory
ECE 4112 - Internetwork Security
8
Password Cracking on Windows
• L0phtCrack – lc4 (Windows)
 Available at [email protected]/research/lc/
 Password Auditing and Recovery Application
 Default English dictionary 50,000 words
 Does “hybrid” attacks
 Our free trial version does not allow brute force (for $350 can purchase
with that capability)
 Works on weaker LanMan (LM) as well as NT hashes
 Can sniff a network for LanMan hashed passwords
 Can download from a local machine or remote computer the hashed
password file
ECE 4112 - Internetwork Security
9
L0phtCrack (lc4)
• Some statistics (from the website)
 L0phtCrack obtained 18% of the passwords in 10
minutes
 90% of the passwords were recovered within 48
hours on a Pentium II/300
 The Administrator and most Domain Admin
passwords were cracked
ECE 4112 - Internetwork Security
10
ECE 4112 - Internetwork Security
11
Password Cracking on UNIX
•
•
•
•
•
•
•
•
John the Ripper
Available at http://www.openwall.com/john/
Supports six hashing schemes including XP
Old Unix used /etc/passwd to store passwords
Password is stored after cryptographically altered
Various algorithms (hash/encrypted) used by various Unix platforms
/etc/password is readable by everyone
Some Unix store in a shadow password file thus /etc/passwd does not
contain the passwords since they are instead in /etc/shadow or /etc/secure,
only root can access these files
• If shadow file used, must have root to copy
ECE 4112 - Internetwork Security
12
Password retrieval on Linux
• List of login names and usernames in
/etc/passwd
• List of encrypted passwords in /etc/shadow
• Only /etc/shadow is enough to crack the
passwords.
• Having both files makes it easier
ECE 4112 - Internetwork Security
13
John the Ripper
• Combine information from /etc/passwd and
/etc/shadow into one file
• Use this file as input for John the Ripper
• John can create guesses by
 Using built-in dictionary
 Using account information
 Using brute-force guessing algorithm
ECE 4112 - Internetwork Security
14
John the Ripper
• Scrambling used for each guess
• When a password is cracked, result displayed
on screen
• During execution of this tool, hitting any key
will give current guess and status
• Password complexity determines time needed
for cracking them
ECE 4112 - Internetwork Security
15
Defenses against Password Cracking
•
•
•
•
•
•
•
Select good passwords (not dictionary based)
Change regularly
Use tools to prevent easy passwords
Use password cracking tests against own systems
Protect system back ups that have password files
Unix: activate password shadowing
Windows: disable weaker LM authentication if no
windows 95/98 machines on network
ECE 4112 - Internetwork Security
16
Agenda
Storing Passwords on the system
Password Cracking on Windows and Linux
Defenses against Password cracking
• Address Resolution Protocol (ARP)
• Sniffing
• Defenses against Sniffing
• Man in the Middle
ECE 4112 - Internetwork Security
17
What is ARP?
• Address Resolution Protocol
 Used to convert IP addresses to MAC
addresses
 Low-Level Protocol
 Essential for inter-network communication
 Used in networks with broadcast capabilities;
usually Ethernet
ECE 4112 - Internetwork Security
18
How does ARP work?
•
Internetwork Example
 A forwards packet to Gateway
 Gateway checks to see if it has
the IP address in the cache
 If so, change the MAC address
and format packet appropriately
and forward on the network
 Otherwise broadcast a request
on the network. B will respond
with MAC address. Format
packet and forward to B.
ECE 4112 - Internetwork Security
19
How does ARP work?
• LAN Example
 A sends ARP request packet
on LAN
 Only the machine with
matching IP responds with
MAC
 B caches the IP & MAC pair
 Forwards all packets for
same IP to the cached MAC
ECE 4112 - Internetwork Security
20
Example of ARP in Use
The figure shows the
use of ARP when a
computer is trying to
contact another
computer on the
same LAN using
ping:
ECE 4112 - Internetwork Security
21
Four Types of ARP Messages
ARP request
ARP reply
RARP request
RARP reply
ECE 4112 - Internetwork Security
22
Reverse Address Resolution
Protocol (RARP)
• Physical address of host machine is able to
request its IP from a gateway server’s ARP table
• A router maps the MAC address to
corresponding Internet Protocol addresses
• RARP client program requests from the RARP
server on the router to be sent its IP address
• RARP then returns the IP address to the
machine which can store it for future use
ECE 4112 - Internetwork Security
23
Format of ARP Message
The ARP request includes:
-target machine (TARGET IP)
-IP address of the sender
machine
(SENDER IP)
-physical address of the sender
(SENDER HA)
-physical address of target
machine
(TARGET HA)
ECE 4112 - Internetwork Security
24
ARP Poisoning
Note: ARP is stateless
The malicious computer
(Machine C) can send an
ARP Reply to A and cause
A to associate B’s IP with
C’s MAC address.
This will cause all
messages from A to B to go
to C
Do the same to B
ECE 4112 - Internetwork Security
25
ARP Poisoning
C can now act as middle
man for all communications
between A and B.
C can decide which packets
are forwarded and which
are discarded.
C can also alter
communications packets
between A and B.
ECE 4112 - Internetwork Security
26
Agenda
Storing Passwords on the system
Password Cracking on Windows and Linux
Defenses against Password cracking
Address Resolution Protocol (ARP)
• Sniffing
• Defenses against Sniffing
• Man in the Middle
ECE 4112 - Internetwork Security
27
Sniffing
• Collect information being transmitted on the
network
• Attacker must be either on source, destination
or intermediate network
• Sniffed information can be stored/logged
ECE 4112 - Internetwork Security
28
Sniffing traditional LANS
• Traditional networks
 Broadcast medium – easy to sniff
Data A
H
U
B
attacker
Data A
ECE 4112 - Internetwork Security
29
Sniffing Switched LANS
• Switched LANS
 Difficult to do, but possible
 Address Resolution Protocol Cache Poisoning Attacker must inject packets into the network to
redirect traffic
 Attacker lies about the MAC address intercepts
traffic
– ARP tells which MAC address corresponds to which IP
address
ECE 4112 - Internetwork Security
30
Sniffing Switched LANS
attacker
Data A
S
W
I
T
C
H
Data A
ECE 4112 - Internetwork Security
31
Sniffit
• Easy to use sniffer
• Available at:
http://reptile.rug.ac.be/~coder/sniffit/sniffit.html
• Can be run in interactive mode
• Can be used to sniff traditional LANS
• For Switched LANS, must be used with ARP
Cache Poisoning tools
ECE 4112 - Internetwork Security
32
Sniffit
• Conditions (from the Sniffit web page):
 You should be ROOT on your machine
 The machine has to be connected to a network
 You have to be allowed to sniff (ethical condition)
ECE 4112 - Internetwork Security
33
Sniffit – Interactive mode
• All TCP traffic can be viewed in main screen
• Traffic from each system and port to each
system and port can be seen
• Has option to see data in a particular stream
flow
ECE 4112 - Internetwork Security
34
ethereal
• From http://www.ethereal.com/
• Ethereal is a free network protocol analyzer for Unix and
Windows.
• It allows you to examine data from a live network or
from a capture file on disk.
• You can interactively browse the capture data, viewing
summary and detail information for each packet.
• Ethereal has several powerful features, including a rich
display filter language and the ability to view the
reconstructed stream of a TCP session.
ECE 4112 - Internetwork Security
Source: www.ethereal.com
35
Source: www.ethereal.com
ECE 4112 - Internetwork Security
36
Defense against Sniffing
•
•
•
•
•
Transmit encrypted data across a network
Don’t use telnet, rsh,rlogin
Use Secure Shell
Use VPNs to encrypt data between systems
Use switches instead of hubs – makes sniffing
more difficult
ECE 4112 - Internetwork Security
37
Defense against Sniffing
• For critical systems
 MAC address filtering on switches
 Restrict MAC addresses that can send and receive
data on specific switch connectors (plugs)
 Hard code ARP tables on critical systems
ECE 4112 - Internetwork Security
38
Agenda
Storing Passwords on the system
Password Cracking on Windows and Linux
Defenses against Password cracking
Address Resolution Protocol (ARP)
Sniffing
Defenses against Sniffing
• Man in the Middle
ECE 4112 - Internetwork Security
39
Man in the Middle:Sniffing
• It is the easiest attack to launch since all
the packets transit through the attacker.
• All the “plain text” protocols are
compromised (the attacker can sniff user
and password of many widely used
protocol such as telnet, ftp, http)
ECE 4112 - Internetwork Security
40
Man in the Middle: Hijacking
• Easy to launch
• It isn’t blind (the attacker knows exactly
the sequence numbers of the TCP
connection)
ECE 4112 - Internetwork Security
41
Man in the Middle: Injecting
• Possibility to add packets to an already established
connection (only possible in full-duplex MITM)
• The attacker can modify the sequence numbers and
keep the connection synchronized while injecting
packets.
• If the MITM attack is a “proxy attack” it is even easier to
inject (there are two distinct connections)
ECE 4112 - Internetwork Security
42
Attacks examples (1)
Command injection
• Useful in scenarios where a one time
authentication is used (e.g. RSA token). In such
scenarios sniffing the password is useless, but
hijacking an already authenticated session is
possible
• Injection of commands to the server
• Emulation of fake replies to the client
ECE 4112 - Internetwork Security
43
Attacks examples (2)
Malicious code injection
• Insertion of malicious code into web
pages or mail (javascript, trojans, virus,
etc)
• Modification on the fly of binary files
during the download phase (virus,
backdoor, etc)
ECE 4112 - Internetwork Security
44
Attacks examples (3)
Payload modification
• The attacker can modify the payload of the
packets by recalculating the checksum
• The length of the payload can also be changed
but only in full-duplex (in this case the seq
number has to be adjusted)
ECE 4112 - Internetwork Security
45
The Lab Exercise – Set up
ECE 4112 - Internetwork Security
46
The Exercise - Tools
• Address Resolution Protocol
• Ettercap to passively sniff a connection
• Ettercap to actively disrupt a
connection
• Hunt to hijack a connection
ECE 4112 - Internetwork Security
47
Exercise – Investigating ARP
• Check ARP Table on all machines
• Observe changes to the ARP table using Ethereal as
unknown IP addresses are pinged
• Get a better feel for ARP by making manual changes
to the ARP table
• Observe effects of making incorrect entries into the
ARP table
ECE 4112 - Internetwork Security
48
Exercise – Using Ettercap
ECE 4112 - Internetwork Security
49
The Lab - Introduce Ettercap
ECE 4112 - Internetwork Security
50
Exercise – Using Ettercap
• Use Ettercap passively for sniffing
 Use Redhat 8.0 machine to ARP poison both 7.2 machines
 Start an FTP communication between the two 7.2 machines
 Observe traffic between the two 7.2 machines
• Use Ettercap actively for disruption
 Start a telnet connection between the two 7.2 machines
 Use filters to disrupt the connection between the two
machines
ECE 4112 - Internetwork Security
51
Exercise – Using Hunt
• Hijack a connection between the two 7.2
machines
 ARP poison the 7.2 machines
 Start an active connection between the two 7.2
machines
 Use Hunt to hijack the connections
ECE 4112 - Internetwork Security
52
Session hijack example
From http://staff.washington.edu/dittrich/talks/qsm-sec/
This demonstration involves three hosts: attacker, victim, and target.
•attacker is the system used by the attacker for the hijack.
•victim is the system used by the victim for telnet client connections to the target system.
•target is the target system that the intruder wants to compromise. It is where the telnetd
daemon is running.
A simple diagram of the network shows the attacker and victim hosts are on the same network
(which may use an ethernet switch and the attack will still work), while the target system can be
anywhere. (Actually, either victim or target can be on the same network as attacker: it doesn't
matter.)
For the attack to succeed, the victim must use telnet, rlogin, ftp, or any other non-encrypted
TCP/IP utility. Use of SecurID card, or other token based secondary authentication is useless as
protection against hijacking, as the attacker can simply wait until after the user authenticates, then
hijack the session.
ECE 4112 - Internetwork Security
53
ECE 4112 - Internetwork Security
54
Session hijack example
From http://staff.washington.edu/dittrich/talks/qsm-sec/
The attack scenario can be as simple as:
1. Attacker: Spends some time determining the IP addresses of target and victim
systems. Determining trust relationships can be easily done with utilities like
SATAN, finger, systat, rwho or running who, ps, or last from previously stolen (or
wide open "guest" style) accounts.
2. Attacker: Runs hunt as root on attacking host. Waits for hunt to indicate a
session has been detected (hunt will note a new session by changing its prompt
from "->" to "*>").
3. Attacker: Starts ARP relay daemon, prepares RST daemon entry for use later,
sets option to enable host name resolution (for convenience).
4. Victim: Logs in to target using telnet. Runs pine to read/compose email.
ECE 4112 - Internetwork Security
55
Session hijack example
From http://staff.washington.edu/dittrich/talks/qsm-sec/
5.
Attacker: Sees new connection; lists active connections to see if this one is
potentially "interesting." If it is, attacker can either watch the session (packet
sniffing) or hijack the session. Decides to hijack.
6.
Victim: Sees strange new prompt. Tries pressing RETURN and doesn't know what
to think. Tries web browser and notices that it still works fine (not a network
problem). Not sure what to think.
7.
Attacker: Finds this is a user session and decides to give it back (resynchronizes
TCP/IP stream).
8.
Victim: Sees prompt for keystrokes, follows request, gets session back. Puzzled,
decides to log in to root account to take a closer look.
9.
Attacker: Turns on RST daemon to prevent new connections, waits to hijack root
session.
10.
Victim: Runs ssu to get SecurID protected root shell.
ECE 4112 - Internetwork Security
56
Session hijack example
From http://staff.washington.edu/dittrich/talks/qsm-sec/
11.
Attacker: Completes hijack after seeing root login.
12.
Victim: Sees strange prompt. Tries pressing RETURN again. Same result as
before. Tries web browser again. Same thing. Tries getting a new telnet session.
Fails. Tries ftp. Fails.
13.
Attacker: Sets up backdoor, disables command history, resets session, turns off
RST daemon.
14.
Victim: Finally gets a new session. Original session is now gone. Assumes
network outage or Windows TCP/IP stack corruption. Reboots system and
everything is back to "normal").
15.
Attacker: Waits for admin's sessions to all disappear (gone home for the night),
then logs in using new backdoor. Installs rootkit (more backdoors, sniffer), cleans
log files.
ECE 4112 - Internetwork Security
57
References
• http://alor.antifork.org/talks/MITMBHeu03.ppt
• http://www.csc.vill.edu/~fsalandr/netclass
/cassel.ppt
• http://staff.washington.edu/dittrich/talks/
qsm-sec/script.html
ECE 4112 - Internetwork Security
58