You are on page 1of 52

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) Attackers point of view
Identify potential target systems Identify which types of attacks may be useful on target a.k.a. fingerprinting

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


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 youre giving away Identify weaknesses in systems/network Know when systems/network is being probed Identify source of probe Develop awareness of threat Construct 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 ModelPolitics 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; 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; and other groups. (In practice, IANA still handles much of the dayto-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 [bash]$ whois -h [bash]$ whois -h

There are also several websites that attempt to automate this process with varying degrees of success:

Last but not least, there are several GUIs available that will assist you in your searches too:
SamSpade SuperScan NetScan Tools Pro

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: Address: > Server: Address: Name: Address:

> set type=any > ls -d >\> /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 ( 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 (, NeoTrace (, or Trout (

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

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

Sam Spade (collected network tools) Wireshark (packet sniffer) Command line tools ipconfig Many others

Determine host name of current system Usage: hostname

E.g. hostname

localhost.localdomain E.g. hostname

// default

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: . . . lo Link encap: Local Loopback inet addr: . . .

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

root paul

tty1 Jan 9 12:46 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 -3
wagnerpj pts/1 Sat Feb 5 15:40 still logged in flinstf pts/0 Sat Feb 5 15:38 still logged in rubbleb pts/0 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!)

Uses ICMP packets Often blocked on many hosts; more useful within network Usage: ping system E.g. ping E.g. ping localhost

Potential Uses
Determine physical location of machine Gather network information (gateway, other internal


systems) Find system thats dropping your packets evidence of a firewall Can use UDP or ICMP packets Results often limited by firewalls Several GUI-based traceroute utilities available Usage: traceroute system
E.g. traceroute

[wagnerpj@data ~]$ traceroute traceroute to (, 30 hops max, 38 byte packets 1 ( 0.247 ms 0.220 ms 0.208 ms 2 ( 0.245 ms 0.229 ms 0.220 ms 3 ( 1.315 ms 1.194 ms 1.343 ms 4 *** <ctrl-c> [wagnerpj@data ~]$


Tracing route to [] over a maximum of 30 hops:

1 <1 ms <1 ms <1 ms [] 2 4 ms 6 ms 3 ms [] 3 2 ms 1 ms 2 ms [] 4 17 ms 17 ms 17 ms [] 5 18 ms 16 ms 18 ms [] 6 17 ms 18 ms 19 ms [] 7 18 ms 19 ms 21 ms [] 8 18 ms 17 ms 18 ms [] 9 15 ms 16 ms 16 ms [] 10 16 ms 16 ms 18 ms 11 21 ms 19 ms 17 ms 12 18 ms 16 ms 16 ms

Trace complete.

Potential Uses
Queries nicname/whois servers for Internet

registration information Can gather contacts, names, geographic information, servers, - useful for social engineering attacks

Usage: whois domain e.g. whois

Domain Name: UWEC.EDU Registrant: University of Wisconsin - Eau Claire 105 Garfield Avenue Eau Claire, WI 54702-4004 UNITED STATES Contacts: Administrative Contact: Computing and Networking Services 105 Garfield Ave Eau Claire, WI 54701 UNITED STATES (715) 836-5711 Name Servers: TOMATO.UWEC.EDU LETTUCE.UWEC.EDU BACON.UWEC.EDU

whois Your search has matched multiple domains.

Below are the domains you matched (up to 100). For specific information 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

Now deprecated generally use dig Sometimes useful when dig fails

nslookup xxxxxxx // name or IP addr. E.g. nslookup E.g. dig

Potential Uses
Domain Name Service (DNS) lookup utility Associate name with IP address and vice versa

Many command options General usage: dig <somehost> E.g. dig E.g. dig

Tracks addresses, interfaces accessed by system Possible uses

Find systems that your system has recently talked


arp arp n

// display names // display numeric addresses

Shows connections, routing information, statistics Possible uses

find systems that your system has recently talked to, find


recently used ports

netstat netstat s netstat r netstat p netstat l

Many flags
// open sockets, etc. // summary statistics // routing tables // programs // listening sockets

Lists open files on your system Useful 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

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 Session

Layer 4 Transport (incl. protocol, port) Layer 3 Network (incl. source, dest) Layer 2 Data Link Layer 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


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

TCP sniffer Watch and reset connections Hijack sessions Spoof MAC address Spoof DNS name

EtherPEG image capture on network

Basic tools can generate much information Remember principle of accumulating information
Attacker will build on smaller pieces to get

bigger pieces

Message to defenders: dont give away any information if you can avoid it

McClure S., Joel S. Hacking Exposed 5th .