Nmap option
Nmap 6.40 ( http://nmap.org )
Usage: nmap [Scan Type(s)] [Options] {target specification}
TARGET SPECIFICATION:
Can pass hostnames, IP addresses, networks, etc.
Ex: scanme.nmap.org, microsoft.com/24, 192.168.0.1; 10.0.0-255.1-254
-iL : Input from list of hosts/networks
-iR : Choose random targets
--exclude : Exclude hosts/networks
--excludefile : Exclude list from file
HOST DISCOVERY:
-sL: List Scan - simply list targets to scan
-sn: Ping Scan - disable port scan
-Pn: Treat all hosts as online -- skip host discovery
-PS/PA/PU/PY[portlist]: TCP SYN/ACK, UDP or SCTP discovery to given ports
-PE/PP/PM: ICMP echo, timestamp, and netmask request discovery probes
-PO[protocol list]: IP Protocol Ping
-n/-R: Never do DNS resolution/Always resolve [default: sometimes]
--dns-servers : Specify custom DNS servers
--system-dns: Use OS's DNS resolver
--traceroute: Trace hop path to each host
SCAN TECHNIQUES:
-sS/sT/sA/sW/sM: TCP SYN/Connect()/ACK/Window/Maimon scans
-sU: UDP Scan
-sN/sF/sX: TCP Null, FIN, and Xmas scans
--scanflags : Customize TCP scan flags
-sI : Idle scan
-sY/sZ: SCTP INIT/COOKIE-ECHO scans
-sO: IP protocol scan
-b : FTP bounce scan
PORT SPECIFICATION AND SCAN ORDER:
-p : Only scan specified ports
Ex: -p22; -p1-65535; -p U:53,111,137,T:21-25,80,139,8080,S:9
F: Fast mode - Scan fewer ports than the default scan
-r: Scan ports consecutively - don't randomize
--top-ports : Scan most common ports
--port-ratio : Scan ports more common than
SERVICE/VERSION DETECTION:
-sV: Probe open ports to determine service/version info
--version-intensity : Set from 0 (light) to 9 (try all probes)
--version-light: Limit to most likely probes (intensity 2)
--version-all: Try every single probe (intensity 9)
--version-trace: Show detailed version scan activity (for debugging)
FIREWALL/IDS EVASION AND SPOOFING:
-f; --mtu : fragment packets (optionally w/given MTU)
-D : Cloak a scan with decoys
-S : Spoof source address
-e : Use specified interface
-g/--source-port : Use given port number
--data-length : Append random data to sent packets
--ip-options : Send packets with specified ip options
--ttl : Set IP time-to-live field
--spoof-mac : Spoof your MAC address
--badsum: Send packets with a bogus TCP/UDP/SCTP checksum
1. 포트 스캔 기술
프로토콜(TCP) 포트를 스캔하는데 가장 빠른 방법으로 지금까지 단연 인기 있는 스캔방법이다. 이 스캔은 연결 스캔보다 더 비밀스러우며 모든 기능적인 TCP 스택에 대해 잘 작동한다.
연결 스캔은 대부분의 다른 방법처럼 로우 패킷에 의존하기 보다는 장치를 스캔하는데 같은 이름의 시스템 콜을 사용한다. 이 스캔은 대부분 권한이 없는 유닉스 사용자들이 사용하며 그런 경우 SYN스캔이 작동하지 않기 때문에 IPv6를 대상으로 사용된다.
UDP 포트 스캔이다.
- TCP FIN, Xmas, Nll (-sF, -sX, sN)
특정 목적 스캔 방법으로 방화벽 뒤에 있는 시스템을 탐험하기 위해 방화벽을 몰래 지나치는데 사용한다. 불행히도 이 스캔들은 일부 시스템이 보여주지 않는 대상 시스템의 행동에 의존한다.
ACK 스캔은 보통 방화벽 규치 세그를 정밀하게 표시하기 위해 사용한다. 특히 ACK스캔은 방화벽 규칙이 제대로 된 상태에 있는지 아닌지를 이해하는데 도움을 준다. 단점을 열린 포트와 닫힌 포트를 구별하지 못하는 점이다.
윈도우 스캔은 ACK스캔과 같은데 특정장치에 대해서는 열린 포트와 닫힌 포트를 구별할 수 있다는 점에서 다르다.
이 모호한 방화벽-침투 스캔방법은 FIN스캔과 유사한테 ACK플래그도 포함한다. 이는 더 많은 패킷 필터링 방화벽을 잡게 허락하는데 단점은 FIN스캔보다 더 적은 시스템에 대해 작동한다는 점이다.
Idle 스캔은 모든 방법 중 가장 비밀스러운 스캔방법이며 때로는 신뢰성이 있는 IP주소 관계조차 탐험한다. 불행히도 이 스캔 역시 느리고 복잡하다.
프로토콜 스캔은 어느 IP프로토콜이 대상 장치에 의해 지원되는지를 결정한다. 이것은 TCP나 UDP포트 번호보다는 IP프로토콜 숫자를 통해 순환하기 때문에 기술적으로 포트 스캔이 아니다. 하지만 여전히 -P 옵션을 사용해 스캔된 프로토콜 번호를 선택하고 결과를 보통의 포트 테이블 형식으로 보고하며 포트 스캐닝 방법과 같은 스캔엔진을 사용한다.
TCP FTP 바운스 스캔 종류는 FTP서버를 속여 프록시로 포트 스캔을 수행하게 한다. FTP서버는 이제 이 스캔을 방지하게 패치됐다.
2. 포트 선택
-p인수를 통해 해당 포트를 지정한다. port대신 서비스가 매치될 수도 있다.(-p ssh)
, 를 이용해 다수의 포트를 선택할 수 있다.
-를 이용해 범위를 확장할 수 있다.
전체 포트(1 ~ 65535)를 스캔한다.
와이드카드(*)는 포트와 유사한 이름의 서비스를 매치시키는데 사용될수 있다.
3. 서비스 탐지
열려있는 해당 포트의 서비스와 버젼을 탐지한다.
4. 방화벽, IDS 우회 및 스푸핑
fragment packets 크기를 조정하여 탐지를 어렵게 한다.
source IP address를 변조한다.
source port를 변조한다.
특정 인터페이스를 선택한다.
랜덤 데이터를 패킷에 추가한다.
time-to-live 필드를 설정한다.
MAC 주소를 변조한다.
TCP/UDP/SCTP패킷에 잘못된 checksum 값을 설정한다.
참고:http://sol9501.blog.me/70102045865