Chapter 2
Scanning
Last modified 1-23-09
Determining If The System Is Alive
Summary
Ping Sweeps
Fping Nmap SuperScan Ping Sweep from SolarWinds Hping2 Icmpenum
Countermeasures ICMP Queries
Determining If The System Is Alive
Network Ping Sweeps
Ping is traditionally used to send ICMP ECHO (Type 8) packets to a target system Response is ICMP ECHO_REPLY (Type 0) indicating the target system is alive
fping
fping is a fast PING scanner, because it doesn't wait for a response from one system before moving on to the next one
Available for Linux and Windows
Link Ch 2b for Windows version (seems slower)
Ping Sweep With Nmap
Use the sP option
SuperScan
Does PING scanning, using several types of ICMP packets Also does port scanning, banner grabbing, whois, and enumeration
Superscan Enumeration
To run SuperScan, you need Win 2000 or Win XP before SP 2 Great tool
Link Ch 2c
ICMP Packet Types
Message Type: 0 - Echo Reply Message Type: 3 - Destination Unreachable Message Type: 4 - Source Quench Message Type: 5 - Redirect Message Type: 8 - Echo Message Type: 11 - Time Exceeded Message Type: 12 - Parameter Problem Message Type: 13 - Timestamp Message Type: 14 - Timestamp Reply Message Type: 15 - Information Request Message Type: 16 - Information Reply
Ping Sweep from SolarWinds
Scans really fast, which can saturate a network Commercial tool, but there's a 30-day trial available
Ch 2d
icmpenum
Unix utility that sends the traditional ICMP ECHO packets as well as
ICMP TIME STAMP REQUEST and ICMP INFO requests
Similar to SuperScan
ICMP Blocking
ICMP is often blocked these days
Blocked by default in Win XP SP2, Win 2003 SP 1, and Vista
If ICMP is blocked, use port scanning
Slower than ping sweeping
SuperScan for Win 2000 or XP without SP2 Nmap for Linux, Unix, or Windows Hping2 for Unix (can fragment packets)
Nmap
TCP Ping Scan uses TCP ACK packets instead of ICMP Zenmap GUI runs on Vista (as Administrator) very pretty Use PT 80 to get through many firewalls
Link Ch 2i
Other Ports to Use
Email ports
SMTP (25) POP (110) IMAP (143)
AUTH (113)
IDENT service determines remote user of a network connection (link Ch 2g)
Ping Sweeps Countermeasures
Detecting Ping Sweeps
Network-based Intrusion Detection Systems like Snort detect ping sweeps Ping scans will be in the host logs Firewalls can detect ping scans
Ping Sweep Detection Tools
For Unix
Scanlogd, Courtney, Ippl, Protolog
For Windows
Snort could be used (link Ch 2z9)
Blocking ICMP
Routers may require some ICMP packets, but not all types Safest procedure would be to allow ICMP only from your ISP, and only to public servers on your DMZ
Other ICMP Threats
ICMP can be used for a Denial of Service attack ICMP can be used as a covert channel with Loki
Allowing unauthorized data transfer Such as control signals for a back-door trojan Links Ch 2l, Ch 2m
ICMP Queries
icmpquery uses ICMP type 13 (TIMESTAMP) to find the system time, which shows its timezone ICMP type 17 (ADDRESS MASK REQUEST) shows the subnet mask
Link Ch 2n
Determining Which Services Are Running Or Listening
Summary
Port Scanning Scan Types Identifying TCP and UDP Services Running Windows-Based Port Scanners Port Scanning Breakdown
Port Scan Types
We covered these ones in CNIT 123
TCP Connect scan TCP SYN scan TCP FIN scan TCP Xmas Tree scan (FIN, URG, and PUSH) TCP Null scan TCP ACK scan UDP scan
TCP Header
WINDOW indicates the amount of data that may be sent before an acknowledgement is required
TCP Window Scan
Sends ACK packets
Both open and closed ports reply with RST packets But on some operating systems, the WINDOW size in the TCP header is non-zero for open ports, because the listening service does sometimes send data Link Ch 2x
RPC Scan
SunRPC (Sun Remote Procedure Call) is a common UNIX protocol used to implement many services including NFS (Network File System) The RPC scan works on Unix systems, including Solaris Enumerates RPC services, which are rich in exploitable security holes
See link Ch 2y
Nmap
Interesting options
-f -D -I
-b
fragments packets Launches decoy scans for concealment IDENT Scan finds owners of processes (on Unix systems) FTP Bounce (see next slide)
FTP Bounce
Attacker
1. Transfer attack code to FTP server 2. Request file transfer to target
Target
FTP Server
FTP Bounce
Old FTP servers allowed a request for a file transfer to a third IP address This could be used to send email or other data to the third computer from the FTP server
Nmap Book Out
Available from Amazon Highly Recommended
Older Port Scanning Tools
strobe fast TCP scanner udp_scan UDP scanner netcat can do port scanning
Amap (not in book)
Application scanner finds applications even if they are running on unusual ports Steps to use amap:
1. Create a folder C:\amap 2. Download amap from link Ch 2h & extract it there
Amap (not in book)
3. Run an nmap scan with this option, to save the output file: oM c:\amap\filename.nmap
4. At Command Prompt in C:\amap amap bqv i hackebank.nmap
Amap (not in book)
Windows-Based Port Scanners
SuperScan
Four different ICMP host-discovery techniques Accurate UDP scan sending "nudge strings" Banner grabbing Many other tools
Nmap with the Zenmap GUI
Powerful, runs on Vista
Popular Scanning Tools and Features
Add Nmap with Zenmap in the Windows group
Port Scanning Countermeasures
Snort (http://www.snort.org) is a great free IDS (Intrusion Detection System)
[**] spp_portscan: PORTSCAN DETECTED from 192.168.1.10 [**] 05/2218:48:53.681227 [**] spp_portscan: portscan status from 192.168.1.10: 4 connections across 1 hosts: TCP(0), UDP(4) [**] 05/22-18:49:14.180505 [**] spp_portscan: End of portscan from 192.168.1.10 [**] 05/22-18:49:34.180236
Other Detection Tools
Scanlogd
Detects TCP Port Scans on Unix
Firewalls can detect port scans
Use threshold logging to limit the volume of email alerts sent by your firewall That groups similar alerts into a single email
Preventing Port Scans
You can't stop the scans from coming in, but you can mimimize your attack surface Disable unnecessary services
Detecting the Operating System
Banner-Grabbing
Many services announce what they are in response to requests Banner grabbers just collect those banners But they could be spoofed
Active Stack Fingerprinting
Details of the TCP Packets are used to identify the operating system Nmap does this, using these probes:
FIN probe Bogus Flag probe Initial Sequence Number (ISN) sampling "Don't fragment bit" monitoring TCP initial window size
And many others
Operating System Detection Countermeasures
IDS can detect operating system detection scans Hacking the OS to change its TCP stack is dangerous, and not recommended Best policy: Accept that your firewalls and proxy servers will be scanned and fingerprinted, and harden them against attackers who know the OS
Passive Operating System Identification
Sniff traffic and guess the OS from that Examine these features
TTL (time-to-live) Window size DF (Don't fragment bit)
siphon was the first tool to do this, it's out of date p0f is a newer one (link Ch 2z6)
p0f on Vista
Run p0f in a Command Prompt Window Open a Web page It fingerprints any OS it can see on the LAN
Automated Discovery Tool: Cheops-ng
Combines Ping, Traceroute, Port Scans, and OS Detection to draw a network map
Link Ch 2z7
Vista's "Network Map" is worth a look