Você está na página 1de 24


slides (c) 2012 by Richard Newman based on Hacking Exposed 7 by McClure, Scambray, and Kurtz

What is Scanning?
How does it differ from footprinting?
Footprinting did not necessarily attempt to access the target system(s) directly
Determine if system is alive network ping sweep Determining which services are up Determining OS type/version Determining protocol stack versions

Direct examination of target systems

Determining if system is alive

Popularity=10; Simplicity=9; Impact=3; Risk Rating=7

- Purpose
Find out which IP addresses have live hosts on them No point in detailed examination of empty address!

- Network Ping sweep

ARP Host discovery ICMP Host discovery OS Utilities Network discovery tools TCP/UDP Host discovery

- Ping sweep countermeasures

ARP Host discovery - 1

- Address Resolution Protocol
Works on top of layer 2, in parallel with network layer
Has its own ethertype value

Needed for plug-and-play autoconfiguration and mobility Request is broadcast to all hosts on LAN Host with matching address is required to respond Attacker needs to be on same LAN Must be run as super-user Takes CIDR subnet address range as input Returns all responding hosts with IP and MAC addresses Includes OUI of MAC if known

- arp-scan by NTA Monitor (nta-monitor.com/tools/arp-scan)

- Nmap by Fyodor (nmap.org)

ARP Host discovery - 2

- Nmap by Fyodor (nmap.org)
De facto tool of choice
Works on Linux, Windows, Mac

Does much more than ARP scanning ARP scan through -PR <CIDR address> option Turn off port scan using -sn option Reports IP address, MAC address, OUI's name, and latency Windows tool Does much more than ARP scanning GUI-based tool Targets on distant network segments

- CAIN (oxid.it/cain.html)

- Limitations of ARP scanning

ICMP Host discovery - 1

- Internet Control Message Protocol (ICMP) intended uses
Diagnostics and trouble shooting needed on internet ICMP used for diagnostics, error reporting, management, etc. Echo request/reply (ping) Destination unreachable Source quench Redirect Time exceeded (TTL reached 0) Timestamp/reply (used in enumeration) Information request/reply Address mask request/reply (used in enumeration)

- ICMP messages

ICMP Host discovery - 2

- OS ping utility uses ICMP echo request/reply messages
If receive request, must reply Can also be used in smurf attack (using broadcast) May still respond to other messages

- host may be configured not to respond to echo requests

Network discovery tools - 1

- Nmap
Beside ICMP ping sweep also does ARP sweep and TCP pings Limit activity (to avoid detection by IDS) using -sn (no port scan), PE (use echo request), and --send-ip (no ARP scan) If on different subnet, --send-ip not needed Individual and CIDR subnet addressing Gives responding host IP, MAC, OUI name, latency Has -PM option for address mask and -PP option for timestamp
In case host configured to ignore ECHO REQUEST messages

Network discovery tools - 2

- hping3 and nping
Very flexible tools
Select flags, message types Spoof source address (IP and MAC) Set number of messages to send

nping ships with nmap Windows tool Free from Foundstone Fast ping sweep GUI with options for echo request, timestamp, address mask, and information request messages Also supports UDP and TCP port scans and more Can give HTML output

- superscan

TCP/UDP Host discovery - 1

- Especially useful when ICMP responses are limited - Servers provide services over network
Must be able to take clients May be open through firewall Any response indicates host is alive More probing = higher visibility to IDS File sharing Remote desktop Management tools Often have local firewall

- May have to probe multiple ports to find open service

- Local hosts (not servers) may also have services

TCP/UDP Host discovery - 2

- nmap
-sn option also include port 80 (www) -Pn option for 1000 common ports -p <portnumber> option to specify one particular port --open option to suppress IP addresses that don't respond Also provides port scan option Output noisier Also provides options to probe particular ports or port ranges Can take file with list of IP addresses to scan

- nping

- superscan

Ping sweep countermeasures

- Detection
May want to leave ICMP diagnostic abilities in place for legit use May want to use as early warning of impending attack Most standard network and desktop firewall tools can be configured to detect ping sweeps Many OS tools available for this also Detection does little good if nobody is watching Limit which ICMP messages will be allowed Limit where they will be received from/sent to Pingd allows handling at user level (flexible access control) Can prevent exchange of info by compromised system using data field in ECHO REQUEST (loki2, etc.)

- Prevention

Determining services that are up

Popularity=10; simplicity=10; impact=7; Risk Rating=9

- Port scanning
Send packets to TCP and UDP ports to find listening servers Find live hosts Determine which services are open Help identify OS type, version Identify specific applications/versions of particular service

Scan Types - 1
- TCP connect scan
Completes 3-way handshake Takes longer Can be run as regular user Sends SYN, waits for SYN-ACK SYN-ACK = open, RST = not open (usually) Stealthier Can produce DOS attack on target Sends FIN Should receive RST (see RFC 793) Usually works on Unix-based stacks

- TCP SYN scan (half-open scan)

- TCP FIN scan

Scan Types - 2
- TCP Xmas tree scan
Sends FIN, URG, and PUSH TCP packet Should receive RST on closed ports Sends TCP segment with no flags set Should receive RST on closed ports Sends packet with ACK set Helps determine firewall policies, capabilities

- TCP Null scan

- TCP ACK scan

- TCP Windows scan

Looks at how rwnd is handled with RST to ACK segment See http://www.networkuptime.com/nmap/page3-13.shtml

- TCP RPC scan - UDP scan

Scan Types - 3
- TCP RPC scan
Many Unix systems implement portmapper Used with RPC/RMI to find services Server registers service with portmapper (with pgm/version) Client contacts portmapper to request service, get port# Connectionless Send ICMP port unreachable message if not listening May be up if error message not received

- UDP scan

Identifying Services - 1
- TCP SYN port scan using nmap
Use -sS option Use -oN <file> to save human readable output Use -oG <file> to save tab-delimited version Use -oX <file> to save XML -oA saves in all formats Lists open ports with nominal services -f option to fragment packets

Some firewalls will not reassemble fragments, just pass packet

May make it harder for IDS to detect scan Burdens target with having to track down all scans

-D option provides for decoy source addresses

Take care to use real IP addresses to avoid SYN attack DOS -b option to use FTP bounce scanning
Uses older FTP servers to reflect packets

Identifying Services - 2
- SuperScan (Foundstone.com)
Windows/GUI-based alternative to nmap Port scans in addition to ICMP and ARP scans Select port or port range to scan, and protocol Select special techniques for TCP, UDP UDP data+ICMP method
Multiple UDP packets to a port May overwhelm ICMP response capability Very accurate, but slow

- ScanLine

- Netcat

Windows/command-line tool (also Foundstone) Single executable

Easier to load onto compromised system Many options

Older, command-line tool - Swiss army knife

Port Scanning Countermeasures

- Detection

IDS (e.g., Snort snort.org) Unix scanlogd (openwall.com/scanlogd)

TCP scans

See openwall.com/scanlogd/P53-13.gz for more Configure firewall to detect

Email alerts Use grouping to avoid DOS on email

Attacker (Foundstone.com)

Can monitor specific ports

Mostly useful against naive attackers

- Prevention
Disable all unnecessary services System specific

Detecting the OS - 1
Active OS Detection Popularity=10; Simplicity=8; Impact=4; Risk Rating=7 - Banner grabbing (later) - Available ports signature
Some systems use particular ports for services Responses to probes is implementation dependent Multiple types of probes used to narrow field See insecure.org/nmap/nmap-fingerprinting-article.html

- Active Stack Fingerprinting

Hard to prevent, not so hard to detect

Detecting the OS - 2
Active Stack Fingerprinting Probes - FIN probe
Correct not to respond, but some send FIN/ACK - Bogus flag probe (in SYN packet) Correct to ignore, but some set flag in SYN-ACK - Initial Sequence Number (ISN) sampling Patterns may be found in ISNs for connections that depend on OS - DF bit monitoring Some OS's may set DF in IP header to improve performance - TCP initial window size Some systems have characteristic initial rwnd size Note that rwnd is indication of buffer space at receiver, set by OS - ACK value May use last SN (less common) or last SN+1 (usual)

Detecting the OS - 3
- ICMP error message quenching Systems may limit the number of ICMP error messages (RFC 1812) Send UDP packets to random port, determine rate of ICMP unreachable port messages -ICMP message quoting ICMP error messages include some initial portion of the offending datagram Amount of data included varies according to system - ICMP error message-echoing integrity Some systems change IP headers quoted in ICMP error messages - TOS on ICMP port unreachable message Usually TOS=0, but may vary - Fragmentation handling Observe how probe packets with overlapping fragments are reassembled

Detecting the OS - 4
Passive OS Detection Popularity=5; Simplicity=6; Impact=4; Risk Rating=5 - Less obtrusive than active OS fingerprinting - Monitor traffic to/from target
Requires favorable position TTL on outbound datagrams Initial window size (rwnd) DF (don't fragment) bit set? Siphon tool (packetstormsecurity.org)

- Passive signatures

Hard to prevent, hard to detect

Storing and Processing Scan Data

- Large amounts of data may be produced - Desirable to have ways to sift through data, select items of interest - Metasploit (metasploit.com)
Postgres database for querying Can run nmap from metasploit Can import nmap output into database Then run queries to select desired items