chapter 2. foot printing
TRANSCRIPT
Definition of Foot Printing Internet foot printing
Sun Tzu on the Art of War: "If you know the enemy and know
yourself, you need not fear the result of a hundred battles.
If you know yourself but not the enemy, for every victory gained you will also suffer a defeat.
If you know neither the enemy nor yourself, you will succumb in every battle."
Definition: the gathering of information about a potential system or network (the fine art of gathering target information) a.k.a. fingerprinting
Attacker’s point of view Identify potential target systems Identify which types of attacks may be useful on target systems
Defender’s point of view Know available tools May be able to tell if system is being footprinted, be more prepared for possible attack Vulnerability analysis: know what information you’re giving away, what weaknesses you have
System (Local or Remote) IP Address, Name and Domain Operating System▪ Type (Windows, Linux, Solaris, Mac)▪ Version (98/NT/2000/2003/XP/Vista/7, Redhat, Fedora,
SuSe, Ubuntu, OS X) Usernames (and their passwords) File structure Open Ports (what services/programs are
running on the system)
Networks / Enterprises System information for all hosts Network topology▪ Gateways▪ Firewalls▪ Overall topology
Network traffic information Specialized servers▪ Web, Database, FTP, Email, etc.
Identify information you’re giving away
Identify weaknesses in systems/network
Know when systems/network is being probed
Identify source of probeDevelop awareness of threatConstruct audit trail of activity
Footprinting is necessary to systematically and methodically ensure that all pieces of information related to the aforementioned technologies are identified
Footprinting is often the most arduous task of trying to determine the security posture of an entity; however, it is one of the most important.
Footprinting must be performed accurately and in a controlled fashion
Without a sound methodology for performing this type of reconnaissance, you are likely to miss key pieces of information related to a specific technology or organization
Step 1: Determine the Scope of Your Activities determine the scope of your footprinting activities▪ Are you going to footprint the entire organization, or limit
your activities to certain subsidiaries or locations? ▪ What about business partner connections (extranets), or
disaster-recovery sites?▪ Are there other relationships or considerations?
Unfortunately, hackers have no sympathy for our struggles. They exploit our weaknesses in whatever forms they manifest themselves. You do not want hackers to know more about your security posture than you do!
Step 2: Get Proper Authorization One thing hackers can usually disregard that
you must pay particular attention to is what we techies affectionately refer to as layers eight and nine of the seven-layer OSI Model—Politics and Funding▪ Do you have authorization to proceed with your
activities?▪ what exactly are your activities? ▪ Is the authorization from the right person(s)? ▪ Is it in writing? ▪ Are the target IP addresses the right ones?
Step 3: Publicly Available Information Company web pages Related organizations Location details Phone numbers, contact names, e-mail addresses,
and personal details Current events (mergers, acquisitions, layoffs, rapid
growth, etc.) Privacy or security policies, and technical details
indicating the types of security mechanisms in place Archived information Disgruntled employees Search engines, Usenet, and resumes Other information of interest
Step 4: WHOIS & DNS Enumeration So who is "managing" the Internet today, you ask?
These core functions of the Internet are "managed" by a nonprofit organization named the Internet Corporation for Assigned Names and Numbers (ICANN; http://www.icann.org).
ICANN is a technical coordination body for the Internet. Created in October 1998 by a broad coalition of the Internet's business, technical, academic, and user communities, ICANN is assuming responsibility for a set of technical functions previously performed under U.S. government contract by the Internet Assigned Numbers Authority (IANA; http://www.iana.org) and other groups. (In practice, IANA still handles much of the day-to-day operations, but these will eventually be transitioned to ICANN.)
Specifically, ICANN coordinates the assignment of the following identifiers that must be globally unique for the Internet to function: Internet domain names IP address numbers Protocol parameters and port numbers
In addition, ICANN coordinates the stable operation of the Internet's root DNS server system.
To be thorough, we could have done the same searches via the command-line WHOIS client with the following three commands: [bash]$ whois com -h whois.iana.org [bash]$ whois keyhole.com -h whois.verisign-grs.com [bash]$ whois keyhole.com -h whois.omnis.com
There are also several websites that attempt to automate this process with varying degrees of success: http://www.allwhois.com http://www.uwhois.com http://www.internic.net/whois.html
Last but not least, there are several GUIs available that will assist you in your searches too: SamSpade http://www.samspade.org SuperScan http://www.foundstone.com NetScan Tools Pro http://www.nwpsw.com
Step 5: DNS Interrogation After identifying all the associated domains,
you can begin to query the DNS. DNS is a distributed database used to map IP addresses to hostnames, and vice versa. If DNS is configured insecurely, it is possible to obtain revealing information about the organization.
One of the most serious misconfigurations a system administrator can make is allowing untrusted Internet users to perform a DNS zone transfer
A zone transfer allows a secondary master server to update its zone database from the primary master
This provides for redundancy when running DNS, should the primary name server become unavailable.
Generally, a DNS zone transfer needs to be performed only by secondary master DNS servers
Many DNS servers, however, are misconfigured and provide a copy of the zone to anyone who asks.
A simple way to perform a zone transfer is to use the nslookup client that is usually provided with most UNIX and Windows implementations. We can use nslookup in interactive mode, as follows: [bash]$ nslookup Default Server: ns1.example.net Address: 10.10.20.2 > 216.182.1.1 Server: ns1.example.net Address: 10.10.20.2 Name: gate.tellurian.net Address: 216.182.1.1
> set type=any > ls -d Tellurian.net. >\> /tmp/zone_out
Step 6: Network Reconnaissance Now that we have identified potential networks, we
can attempt to determine their network topology as well as potential access paths into the network.
To accomplish this task, we can use the traceroute (ftp://www.ee.lbl.gov/traceroute.tar.gz) program that comes with most flavors of UNIX and is provided in Windows. In Windows, it is spelled tracert due to the 8.3 legacy filename issues.
traceroute is a diagnostic tool originally written by Van Jacobson that lets you view the route that an IP packet follows from one host to the next. traceroute uses the time-tolive (TTL) option in the IP packet to elicit an ICMP TIME_EXCEEDED message from each router
traceroute may allow you to discover the network topology employed by the target network, in addition to identifying access control devices (such as an applicationbased firewall or packet-filtering routers) that may be filtering our traffic
Most of what we have done up to this point with traceroute has been command-line oriented. For the graphically inclined, you can use VisualRoute (http://www.visualroute.com), NeoTrace (http://www.neotrace.com), or Trout (http://www.foundstone.com)
Some basic Linux tools - lower level utilities Local System▪ hostname▪ ifconfig▪ who, last
Remote Systems▪ ping▪ traceroute▪ nslookup, dig▪ whois▪ arp, netstat (also local system)
Other tools▪ lsof
Other utilities wireshark (packet sniffing) nmap (port scanning) - more later
Ubuntu Linux▪ Go to System / Administration / Network
Tools – get interface to collection of tools: ping, netstat, traceroute, port scan, nslookup, finger, whois
Windows Sam Spade (collected network tools) Wireshark (packet sniffer) Command line tools▪ ipconfig
Many others…
Determine host name of current system
Usage: hostname E.g. hostnamelocalhost.localdomain // default E.g. hostnamemobile.cs.uwec.edu
Configure network interface Tells current IP numbers for host system Usage: ifconfig
E.g. ifconfig // command alone: display status
eth0 Link encap: Ethernet HWaddr 00:0C:29:CD:F6:D3 inet addr: 192.168.172.128 . . .lo Link encap: Local
Loopbackinet addr: 127.0.0.1 . . .
Basic tool to show users on current system
Useful for identifying unusual activity (e.g. activity by newly created accounts or inactive accounts)
Usage: who E.g. whoroot tty1 Jan 9 12:46paul tty2 Jan 9 12:52
Show last N users on system Default: since last cycling of file -N: last N lines
Useful for identifying unusual activity in recent past
Usage: last [-n] E.g. last -3wagnerpj pts/1 137.28.253.254 Sat Feb 5 15:40 still logged inflinstf pts/0 137.28.191.74 Sat Feb 5 15:38 still logged inrubbleb pts/0 c48.someu.edu Sat Feb 5 14:38 - 15:25 (00:46)
Potential Uses Is system online?▪ Through response
Gather name information▪ Through DNS
Tentatively Identify operating system▪ Based on TTL (packet Time To Live) on each packet line▪ TTL = number of hops allowed to get to system▪ 64 is Linux default, 128 is Windows default (but can be
changed!) Notes
Uses ICMP packets Often blocked on many hosts; more useful within network Usage: ping system▪ E.g. ping ftp.redhat.com▪ E.g. ping localhost
Potential Uses Determine physical location of machine Gather network information (gateway, other
internal systems) Find system that’s dropping your packets –
evidence of a firewall Notes
Can use UDP or ICMP packets Results often limited by firewalls Several GUI-based traceroute utilities available Usage: traceroute system▪ E.g. traceroute cs.umn.edu
[wagnerpj@data ~]$ traceroute cs.umn.edutraceroute to cs.umn.edu (128.101.34.202), 30
hops max, 38 byte packets1 137.28.109.2 (137.28.109.2) 0.247 ms 0.220
ms 0.208 ms2 v101.networking.cns.uwec.edu (137.28.9.1)
0.245 ms 0.229 ms 0.220 ms3 uweauclairehub2-ge50.core.wiscnet.net
(216.56.90.1) 1.315 ms 1.194 ms 1.343 ms4 * * *<ctrl-c>[wagnerpj@data ~]$
H:\>tracert www.google.comTracing route to www.google.akadns.net [64.233.167.99] over a maximum of
30 hops:
1 <1 ms <1 ms <1 ms v61.networking.cns.uwec.edu [137.28.61.1]2 4 ms 6 ms 3 ms UWEauClaireHub2-ge50.core.wiscnet.net
[216.56.90.1]3 2 ms 1 ms 2 ms r-uweauclaire-isp-gig2-0.wiscnet.net
[140.189.8.141]4 17 ms 17 ms 17 ms chi-edge-08.inet.qwest.net [65.113.85.5]5 18 ms 16 ms 18 ms chi-core-02.inet.qwest.net [205.171.20.113]6 17 ms 18 ms 19 ms cer-core-01.inet.qwest.net [205.171.205.34]7 18 ms 19 ms 21 ms chp-brdr-01.inet.qwest.net [205.171.139.146]8 18 ms 17 ms 18 ms P11-0.CHICR2.Chicago.opentransit.net
[193.251.129.113]9 15 ms 16 ms 16 ms Google-EU-Customers-2.GW.opentransit.net
[193.251.249.30]10 16 ms 16 ms 18 ms 216.239.46.1011 21 ms 19 ms 17 ms 64.233.175.3012 18 ms 16 ms 16 ms 64.233.167.99 Trace complete.
Potential Uses Queries nicname/whois servers for
Internet registration information Can gather contacts, names, geographic
information, servers, … - useful for social engineering attacks
Notes Usage: whois domain▪ e.g. whois netcom.com
Domain Name: UWEC.EDURegistrant: University of Wisconsin - Eau Claire 105 Garfield Avenue Eau Claire, WI 54702-4004 UNITED STATESContacts: Administrative Contact: Computing and Networking Services 105 Garfield Ave Eau Claire, WI 54701 UNITED STATES (715) 836-5711 [email protected] Servers: TOMATO.UWEC.EDU 137.28.1.17 LETTUCE.UWEC.EDU 137.28.1.18 BACON.UWEC.EDU 137.28.5.194
whois uw%.eduYour search has matched multiple domains.Below are the domains you matched (up to 100).
For specificinformation on one of these domains, please search
on that domain. UW.EDU UWA.EDU UWB.EDU UWC.EDU UWEC.EDU UWEST.EDU UWEX.EDU
….
Potential Uses Query internet name servers Find name for IP address, and vice versa
Notes Now deprecated – generally use dig Sometimes useful when dig fails
Usage nslookup xxxxxxx // name or IP
addr.▪ E.g. nslookup data.cs.uwec.edu▪ E.g. dig data.cs.uwec.edu
Potential Uses Domain Name Service (DNS) lookup utility Associate name with IP address and vice
versa Notes
Many command options General usage: dig <somehost>▪ E.g. dig data.cs.uwec.edu▪ E.g. dig 137.28.109.33
Tracks addresses, interfaces accessed by system
Possible uses Find systems that your system has
recently talked toNotes
arp // display names arp –n // display numeric
addresses
Shows connections, routing information, statistics
Possible uses find systems that your system has recently
talked to, find recently used ports Notes
Many flags▪ netstat // open sockets, etc.▪ netstat –s // summary statistics▪ netstat – r // routing tables▪ netstat – p // programs▪ netstat – l // listening sockets
Lists open files on your systemUseful to see what processes are
working with what files, possibly identify tampering
Usage: lsof
Sam Spade “swiss army knife” of footprinting Has most of the Linux tools Plus other functionality
Usage Start application Fill in name or IP address Choose option desired in menus
Definition: Hardware or software that can display network traffic packet information
Usage Network traffic analysis
Example packet sniffers tcpdump (command line, Linux) wireshark (GUI interface, Linux, Windows
– open source) others…
Packet sniffers only catch what they can see Users attached to hub – can see everything Users attached to switch – only see own traffic Wireless – wireless access point is like hub
Need to be able to put your network interface card (NIC) in “promiscuous” mode to be able to process all traffic, not just traffic for/from itself NIC must support Need privilege (e.g. root in Linux)
Layer 7 – Application (incl. app. content)
Layer 6 – Presentation Layer 5 – SessionLayer 4 – Transport (incl. protocol,
port)Layer 3 – Network (incl. source,
dest)Layer 2 – Data LinkLayer 1 – Physical
Created as tool to examine network problems in 1997
Various contributors added pieces; released 1998
Name change (2007): ethereal -> wireshark
Works with other packet filter formats Information
http://www.wireshark.org Demonstration
Ubuntu – Applications / Internet / Wireshark (as root) Enter your administrative account pw: user Capture/Interfaces/eth0:, Start
Capture window shows accumulated totals for different types of packets
Stop – packets now displayed Top window – packet summary
Can sort by column – source, destination, protocol are useful
Middle window – packet breakdown Click on + icons for detail at each packet level
Bottom window – packet content
Can save a session to a capture file Can reopen file later for further analysis Open capture file
Ubuntu: /home/user/Support/MOBILEcapture.cap W2K3: C:\Support\MOBILEcapture.cap
Identify and follow different TCP streams Select TCP packet, Analyze/Follow TCP Stream MOBILEcapture.cap has http, https, ftp, ssh
streams Any interesting information out there?
HINT: follow stream on an ftp packet
Hunt TCP sniffer Watch and reset connections Hijack sessions Spoof MAC address Spoof DNS name
EtherPEG – image capture on network http://www.etherpeg.com
Basic tools can generate much information
Remember principle of accumulating information Attacker will build on smaller pieces to
get bigger pieces Message to defenders: don’t give
away any information if you can avoid it
McClure S., Joel S. Hacking Exposed 5th .