(10101101)173/Security2008. 11. 10. 03:16

1. TCP connect() port scan
connect() 시스템 콜을 이용하여 열려 있거나 닫힌 포트를 알아내느 방식으로 connect() call 반환값이 true면 열린 포트로 간주합니다.
이 방법은 완전한 Three-way Handshadke[각주:1]를 하기 때문에 목적 호스팅에 공격자가 스캔하고 있다는 로그를 남기게 되어 쉽게 발각되지만, 빠르고 정확한 스캔 결과를 가져 옵니다.

C:\> nmap -sT 192.168.1.2

Starting Nmap 4.76 ( http://nmap.org ) at 2008-11-10 02:37 대한민국 표준시
Interesting ports on 192.168.1.2:
Not shown: 979 filtered ports
PORT      STATE SERVICE
5001/tcp  open  commplex-link
6001/tcp  open  X11:1
9000/tcp  open  unknown
9900/tcp  open  unknown
MAC Address: 00:30:6E:FF:FF:FF (Hewlett Packard)

Nmap done: 1 IP address (1 host up) scanned in 87.89 seconds

C:\>


2. TCP SYN stealth port scan
호스트에 포크가 열려 있으면 SYN-ACK flag를 보내고, 닫힌 포트는 RST-ACK를 보내는 것으로 완전한 Three-way Handshake를 이루지 못한 표적 호스트가 스캔을 눈치채지 못한다는 장점이 있습니다.

C:\> nmap -sS 192.168.1.2

Starting Nmap 4.76 ( http://nmap.org ) at 2008-11-10 02:45 대한민국 표준시
Interesting ports on 192.168.1.2:
Not shown: 979 closed ports
PORT      STATE    SERVICE
5001/tcp  open     commplex-link
6001/tcp  open     X11:1
9000/tcp  open     unknown
9900/tcp  open     unknown
MAC Address: 00:30:6E:FF:FF:FF (Hewlett Packard)

Nmap done: 1 IP address (1 host up) scanned in 4.76 seconds

C:\>


3. FIN scan
Inverse mapping을 이용하는 기법으로 BSD[각주:2] 기반의 운영체계에서 사용하는 네트워크 코드를 기반으로 합니다. 장점으로 IDS[각주:3]와 Three-way Handshake를 피할 수 있지만, False positive[각주:4]가 많습니다.

C:\> nmap -sF 192.168.1.2

Starting Nmap 4.76 ( http://nmap.org ) at 2008-11-10 02:48 대한민국 표준시
All 1000 scanned ports on 192.168.1.2 are closed
MAC Address: 00:30:6E:FF:FF:FF (Hewlett Packard)

Nmap done: 1 IP address (1 host up) scanned in 0.58 seconds

C:\>


4. ACK scan
ACK 패킷을 보내고 돌아오는 RST 패킷의 TTL 필드와 Windows 필드로 판단하는 것으로 몇몇 운영체제의 IP 계층 버그를 이용한 기법입니다. 침입 탐지를 우회할 수 있는 장점을 가지고 있으며, 방화벽 보안 정책을 검사할 때 주로 사용되고 단순히 SYN 패킷만 차단하는 방화벽은 ACK scan을 차단할 수 없습니다.

C:\> nmap -sA 192.168.1.2

Starting Nmap 4.76 ( http://nmap.org ) at 2008-11-10 02:50 대한민국 표준시
All 1000 scanned ports on 192.168.1.2 are unfiltered
MAC Address: 00:30:6E:FF:FF:FF (Hewlett Packard)

Nmap done: 1 IP address (1 host up) scanned in 0.64 seconds

C:\>


5. Windows scan
Windows 필드에서 값이 0이 아닌 패킷을 가진 값을 열린 포트로 간주하는 방식입니다.

C:\> nmap -sW 192.168.1.2

Starting Nmap 4.76 ( http://nmap.org ) at 2008-11-10 02:53 대한민국 표준시
All 1000 scanned ports on 192.168.1.2 are closed
MAC Address: 00:13:77:FF:FF:FF (Samsung Electronics CO.)

Nmap done: 1 IP address (1 host up) scanned in 1.70 seconds

C:\>


6. NULL scan
TCP 헤더에 ACK, FIN, RST, SYN, URG, PSH를 설정하지 않은 즉, TCP 헤더에 모든 Flag를 설정하지 않은 것으로  RFC에서는 이런 종류의 패킷 응답에 대해 정의하지 않고 있어 운영 체제마다 패킷에 대한 반응이 다르지만 대부분 닫힌 포트는 이런 패킷에 대해 RST패킷을 보내고, LISTEN(청취)중인 포트는 패킷을 소멸시켜 버립니다.

C:\> nmap -sN 192.168.1.2

Starting Nmap 4.76 ( http://nmap.org ) at 2008-11-10 02:55 대한민국 표준시
All 1000 scanned ports on 192.168.1.2 are closed
MAC Address: 00:30:6E:FF:FF:FF (Hewlett Packard)

Nmap done: 1 IP address (1 host up) scanned in 0.58 seconds

C:\>


7. XMAS scan
NULL 스캔의 반대되는 기법으로 TCP 헤더에 모든 Flag를 설정하는 것으로 XMAS, 또는 크리스마스 트리 스캔이라 부릅니다.

C:\> nmap -sX 192.168.1.2

Starting Nmap 4.76 ( http://nmap.org ) at 2008-11-10 02:58 대한민국 표준시
All 1000 scanned ports on 192.168.1.2 are closed
MAC Address: 00:30:6E:FF:FF:FF (Hewlett Packard)

Nmap done: 1 IP address (1 host up) scanned in 0.56 seconds

C:\>


8. UDP scan
ICMP_PORT_UNREACH를 이용하고 스캔 시간이 오래 걸림으로 특정 포트가 UDP를 청취 중인지 확인해 볼 때 사용된다.

C:\> nmap -sU 192.168.1.2

Starting Nmap 4.76 ( http://nmap.org ) at 2008-11-10 03:01 대한민국 표준시
Interesting ports on 192.168.1.2:
Not shown: 986 closed ports
PORT      STATE         SERVICE
111/udp   open|filtered rpcbind
161/udp   open|filtered snmp
1022/udp  open|filtered unknown
4045/udp  open|filtered lockd
MAC Address: 00:30:6E:FF:FF:FF (Hewlett Packard)

Nmap done: 1 IP address (1 host up) scanned in 2.05 seconds

C:\>



참고서적 : 웹 해킹 패턴과 대응 / 사이텍 미디어

각주 ▽

  1. Three-way Handshake TCP상에서 Server와 Client간의 연결 과정을 의미한다. 클라이언트가 먼저 서버에게 SYN플래그를 보내면 서버는 다시 클라이언트에게 SYN-ACK플래그를 보내게 된다. SYN-ACK를 받은 클라이언트는 잘 받았다는 의미로 ACK를 서버에게 보내게 되면 서버와 클라이언트간 TCP 연결이 완성된다. [본문으로]
  2. BSD(Berkeley Software Distribution) BSD는 1970년대 미국 캘리포니아 대학교 버클리(UC Berkeley)에서 개발한 유닉스 계열의 컴퓨터 운영체제이다. 유명한 BSD는 FreeBSD가 있다. [본문으로]
  3. IDS(Intrusion Detection System) "침입탐지시스템"으로 방화벽 밖이나 안쪽에서 내부로 들어오는 패킷중 침입시도를 감시해 방어(차단)하는 기능을 가진 장비이다. [본문으로]
  4. False positive 네트워크적 기반으로 볼때는 "오탐"이란 의미이다. [본문으로]
Posted by Special Alex