nmap : a network and port scanner - santa monica...

13
1 © David Morgan 2003-2014 nmap nmap: a network and port scanner a network and port scanner David Morgan © David Morgan 2003-2014 Plain vanilla port scanning Plain vanilla port scanning— survey a remote machine survey a remote machine try to open a TCP connection on a port note response repeat over many ports repeat over many machines but how do you know baseline behavior by which to judge? . . . (hint: r.t.f.rfc)

Upload: dothuan

Post on 16-Apr-2018

223 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: nmap : a network and port scanner - Santa Monica Collegehomepage.smc.edu/morgan_david/linux/n-prog-02-nmap.pdf · nmap : a network and port scanner ... nmap has proper OS detection

1

© David Morgan 2003-2014

nmapnmap::

a network and port scannera network and port scanner

David Morgan

© David Morgan 2003-2014

Plain vanilla port scanningPlain vanilla port scanning——

survey a remote machinesurvey a remote machine

� try to open a TCP connection on a port

� note response

� repeat over many ports

� repeat over many machines

� but how do you know baseline behavior by which to judge? . . . (hint: r.t.f.rfc)

Page 2: nmap : a network and port scanner - Santa Monica Collegehomepage.smc.edu/morgan_david/linux/n-prog-02-nmap.pdf · nmap : a network and port scanner ... nmap has proper OS detection

2

© David Morgan 2003-2014

33--way handshakeway handshake

� connection establishment’s signature sequence

� client sends packet with SYN bit set

� server returns packet with SYN & ACK set

� client sends packet with ACK set

© David Morgan 2003-2014

WhatWhat’’s SYN? whats SYN? what’’s ACK?s ACK?

TCP Header

TCP flags field

URG = urgent

ACK= acknowledgement

PSH = push

RST = reset

SYN = synchronize

FIN = finish

Page 3: nmap : a network and port scanner - Santa Monica Collegehomepage.smc.edu/morgan_david/linux/n-prog-02-nmap.pdf · nmap : a network and port scanner ... nmap has proper OS detection

3

© David Morgan 2003-2014

33--way handshake succeedsway handshake succeeds……

host1 host2

�T

i m

e

SYN=1

SYN=1, ACK=1

ACK=1

if this comes backif this comes back……

……port in question is openport in question is open

© David Morgan 2003-2014

3 port dispositions3 port dispositions

� it’s open

� or it’s closed.

� otherwise it’s “filtered”

Page 4: nmap : a network and port scanner - Santa Monica Collegehomepage.smc.edu/morgan_david/linux/n-prog-02-nmap.pdf · nmap : a network and port scanner ... nmap has proper OS detection

4

© David Morgan 2003-2014

Test of ports that are openTest of ports that are open

� send probe packet with SYN bit set

� packet with SYN & ACK comes back

© David Morgan 2003-2014

DonDon’’t have to shake backt have to shake back……

host1 host2

�T

i m

e

SYN=1

SYN=1, ACK=1

ACK=1

……port in question is openport in question is open

Page 5: nmap : a network and port scanner - Santa Monica Collegehomepage.smc.edu/morgan_david/linux/n-prog-02-nmap.pdf · nmap : a network and port scanner ... nmap has proper OS detection

5

© David Morgan 2003-2014

Send something else insteadSend something else instead……

host1 host2

�T

i m

e

SYN=1

SYN=1, ACK=1

RST=1

……port in question is openport in question is open

© David Morgan 2003-2014

Test of ports that are closedTest of ports that are closed

� send probe packet with SYN bit set

� packet with RST set comes back(but some implementations deviate; might be silent)

“…reset (RST) must be sent whenever a segment arrives

which apparently is not intended for the current connection.

…a reset is sent in response to…SYNs addressed to a

non-existent connection” rfc793 p. 36

Page 6: nmap : a network and port scanner - Santa Monica Collegehomepage.smc.edu/morgan_david/linux/n-prog-02-nmap.pdf · nmap : a network and port scanner ... nmap has proper OS detection

6

© David Morgan 2003-2014

33--way handshake failsway handshake fails……

host1 host2

�T

i m

e

SYN=1

RST=1, ACK=1

……port in question is closedport in question is closed

© David Morgan 2003-2014

nmapnmap ––sTsT ((nmapnmap’’ss ““plain vanillaplain vanilla””))

TCP connect( ) scan: This is the most basic form of

TCP scanning. The connect( ) system call provided by

your operating system is used to open a connection

to every interesting port on the machine. If the

port is listening, connect( ) will succeed,other-

wise the port isn't reachable. …

This sort of scan is easily detectable as target

host logs will show a bunch of connection and error

messages for the services which accept( ) the con-

nection just to have it immediately shutdown.

from nmap man page

Page 7: nmap : a network and port scanner - Santa Monica Collegehomepage.smc.edu/morgan_david/linux/n-prog-02-nmap.pdf · nmap : a network and port scanner ... nmap has proper OS detection

7

© David Morgan 2003-2014

nmapnmap --sTsT 192.168.3.3 192.168.3.3 --p 24p 24--2525

� executed from 192.168.3.2

� “perform a TCP connect( ) scan on ports 24 and 25 of target 192.168.3.3”

� FYI: target’s 24 is closed, 25 open

see capture file nmap-sT

© David Morgan 2003-2014

nmapnmap --sTsT 192.168.3.3 192.168.3.3 --p 24p 24--2525

SYN flag set indicates new

connection request

Client Server

Page 8: nmap : a network and port scanner - Santa Monica Collegehomepage.smc.edu/morgan_david/linux/n-prog-02-nmap.pdf · nmap : a network and port scanner ... nmap has proper OS detection

8

© David Morgan 2003-2014

nmapnmap --sTsT 192.168.3.3 192.168.3.3 --p 24p 24--2525

SYN and ACK

flags set

Bin

go

! this p

ort (2

5) is o

pen

ClientServer

© David Morgan 2003-2014

nmapnmap --sTsT 192.168.3.3 192.168.3.3 --p 24p 24--2525

ACK flag set

Client Server

Page 9: nmap : a network and port scanner - Santa Monica Collegehomepage.smc.edu/morgan_david/linux/n-prog-02-nmap.pdf · nmap : a network and port scanner ... nmap has proper OS detection

9

© David Morgan 2003-2014

nmapnmap --sTsT 192.168.3.3 192.168.3.3 --p 24p 24--2525

RST and ACK

flags set

Client Server Nev

er min

d

© David Morgan 2003-2014

nmapnmap --sTsT 192.168.3.3 192.168.3.3 --p 24p 24--2525

SYN flag set indicates new

connection request

Client Server

Page 10: nmap : a network and port scanner - Santa Monica Collegehomepage.smc.edu/morgan_david/linux/n-prog-02-nmap.pdf · nmap : a network and port scanner ... nmap has proper OS detection

10

© David Morgan 2003-2014

nmapnmap --sTsT 192.168.3.3 192.168.3.3 --p 24p 24--2525

Bin

go

! this p

ort (2

4) is clo

sed

ClientServer

RST and ACK

flags set

© David Morgan 2003-2014

Other scan variations Other scan variations (non(non--vanilla)vanilla)

� SYN scan (-sS)

� stealth FIN (-sF)

� Xmas tree (-sX)

� null scan (-sN)

� ping scan (-sP)

� UDP scan (-sU)

see capture files nmap-sS, -sF, -sX, -sN, -sP, -sU

Page 11: nmap : a network and port scanner - Santa Monica Collegehomepage.smc.edu/morgan_david/linux/n-prog-02-nmap.pdf · nmap : a network and port scanner ... nmap has proper OS detection

11

© David Morgan 2003-2014

What do the variants do? What do the variants do?

� -sS replies RST instead of ACK

� -sF sets FIN in initial packet

� -sX sets FIN, URG, PSH

� -sN sets no flags in initial packet

� -sP pings

� -sU sends UDP packet

� others

© David Morgan 2003-2014

OS fingerprintingOS fingerprinting

RedHat8 box (kernel 2.4.18-14)

Windows XP box (build 2600 service pack 1)

Page 12: nmap : a network and port scanner - Santa Monica Collegehomepage.smc.edu/morgan_david/linux/n-prog-02-nmap.pdf · nmap : a network and port scanner ... nmap has proper OS detection

12

© David Morgan 2003-2014

Output of interestOutput of interest

� nmap’s log (-oN <filename>)

� a concurrent packet capture

� each gives different info/perspective

– packet capture is fundamental/authoritative

– log is interpretive

© David Morgan 2003-2014

Protocol deviationsProtocol deviations

linux box

24 is closed

25 is open

windows box

24 is closed

25 is open

??

Page 13: nmap : a network and port scanner - Santa Monica Collegehomepage.smc.edu/morgan_david/linux/n-prog-02-nmap.pdf · nmap : a network and port scanner ... nmap has proper OS detection

13

© David Morgan 2003-2014

The idea is that closed ports are required to reply to your probe

packet with an RST, while open ports must ignore the packets in

question (see RFC 793 pp 64). ...Unfortunately Microsoft (like

usual) decided to completely ignore the standard and do things

their own way. ...If the scan finds open ports, you know the machine

is not a Windows box. If a -sF,-sX,or -sN scan shows all ports

closed, yet a SYN (-sS) scan shows ports being opened, you are

probably looking at a Windows box. This is less useful now that

nmap has proper OS detection built in. There are also a few

other systems that are broken in the same way Windows is. They

include Cisco, BSDI, HP/UX, MVS, and IRIX. All of the above

send resets from the open ports when they should just drop the packet.

from nmap man page

Protocol deviationsProtocol deviations