ポートスキャンツール nmap の使い方
nmapの使い方
kali Linuxにも入っているポートスキャンツールの使い方
事前準備
kali linux インストール
やられサーバ インストール
オープンポートの確認とはいえ、自身の管理下にないネットワークへは接続しないでください。 場合によっては攻撃行為だと見なされ、最悪の場合には法的処置を取られる可能性があります。
nmapの起動
[Applications]→[Kali Linux]→[Top 10 Security Tools]→[nmap]
nmapの実行
構文
nmap [スキャンタイプ] [オプション] {ターゲット}
スキャンタイプ
・TCP SYNスキャン(-sS)
デフォルトのスキャンタイプ。 SYNスキャンはTCPコネクションを確立しないため秘匿性が高い。
root@osboxes:~# nmap -sS -P0 192.168.56.101 Starting Nmap 6.47 ( http://nmap.org ) at 2015-03-19 10:22 GMT Nmap scan report for 192.168.56.101 Host is up (0.0026s latency). Not shown: 991 closed ports PORT STATE SERVICE 22/tcp open ssh 80/tcp open http 139/tcp open netbios-ssn 143/tcp open imap 443/tcp open https 445/tcp open microsoft-ds 5001/tcp open commplex-link 8080/tcp open http-proxy 8081/tcp open blackice-icecap Nmap done: 1 IP address (1 host up) scanned in 0.23 seconds ost up) scanned in 0.23 seconds
・TCP Connectスキャン(-sT)
TCPコネクションを確立してスキャンするタイプ。
TCP SYNスキャンのような生パケットを扱う場合は管理者権限が必要のため、nmapを使用する際に管理者権限が無いユーザを使った場合はこちらを利用する。
また、IPv6環境をスキャンする場合もこのスキャンを利用する。
このスキャンを利用するとコネクションが成立してしまうため、ターゲットのサーバのログに接続が記憶されてしまう可能性が高くなる。
(たいていのIDSなら、SYNスキャンでも検知はされるはずだが)
root@osboxes:~# nmap -sT -P0 192.168.56.101 Starting Nmap 6.47 ( http://nmap.org ) at 2015-03-19 10:22 GMT Nmap scan report for 192.168.56.101 Host is up (0.0026s latency). Not shown: 991 closed ports PORT STATE SERVICE 22/tcp open ssh 80/tcp open http 139/tcp open netbios-ssn 143/tcp open imap 443/tcp open https 445/tcp open microsoft-ds 5001/tcp open commplex-link 8080/tcp open http-proxy 8081/tcp open blackice-icecap Nmap done: 1 IP address (1 host up) scanned in 0.23 seconds ost up) scanned in 0.23 seconds
・UDPスキャン(-sU)
UDPをスキャンするタイプ。
TCPサービスが多いが、UDPが使われているサービスも多く、代表的なものにDNS(port:53),SNMP(port:161/162),DHCP(port:67/68)などがある。
UDPスキャンは空のUDPヘッダを各ポートに送りつける。
ICMPポート到達不能エラー(タイプ3:コード1,2,9,10,13)が返された場合はclosed状態、ICMPポート到達不能エラー(タイプ3:コード3)が返された場合はfiltered(フィルターされている)状態と判断する。
LinuxなどではICMPポート到達不能メッセージを毎秒1回など制限しているため、よく使うポートだけ検索することがおおい。
root@osboxes:~# nmap -sU -P0 192.168.56.101 Starting Nmap 6.47 ( http://nmap.org ) at 2015-03-19 10:22 GMT Nmap scan report for 192.168.56.101 Host is up (0.00078s latency). Not shown: 996 closed ports PORT STATE SERVICE 67/udp open|filtered dhcps 68/udp open|filtered dhcpc 137/udp open netbios-ns 138/udp open|filtered netbios-dgm Nmap done: 1 IP address (1 host up) scanned in 823.70 seconds
オプション
・ホスト検証の無効化(-P0)
-P*オプションはホスト検証の方法のオプション
事前に検査するサーバが明確な時が覆いので、このプションを指定することが多くもられる。
・ACKフラグ付きパケットによるホスト検証(-PA)
TCP80番での確認を行う。80番ポート以外で確認が行いたい場合は、-PA,81のように記載する。
・ICMPによるホスト検証(-PE,-PP,-PM)
-PEはICMP Echo(つまりping),-PPはICMP Timestamp,-PMはICMP Address Maskにより検証する
TCP80番での確認を行う。80番ポート以外で確認が行いたい場合は、-PA,81のように記載する。
root@osboxes:~# nmap -PA 192.168.56.101 Starting Nmap 6.47 ( http://nmap.org ) at 2015-03-19 11:19 GMT Nmap scan report for 192.168.56.101 Host is up (0.00082s latency). Not shown: 991 closed ports PORT STATE SERVICE 22/tcp open ssh 80/tcp open http 139/tcp open netbios-ssn 143/tcp open imap 443/tcp open https 445/tcp open microsoft-ds 5001/tcp open commplex-link 8080/tcp open http-proxy 8081/tcp open blackice-icecap Nmap done: 1 IP address (1 host up) scanned in 1.26 seconds root@osboxes:~# nmap -PE 192.168.56.101 Starting Nmap 6.47 ( http://nmap.org ) at 2015-03-19 11:12 GMT Nmap scan report for 192.168.56.101 Host is up (0.00044s latency). Not shown: 991 closed ports PORT STATE SERVICE 22/tcp open ssh 80/tcp open http 139/tcp open netbios-ssn 143/tcp open imap 443/tcp open https 445/tcp open microsoft-ds 5001/tcp open commplex-link 8080/tcp open http-proxy 8081/tcp open blackice-icecap Nmap done: 1 IP address (1 host up) scanned in 0.20 seconds root@osboxes:~# nmap -PP 192.168.56.101 Starting Nmap 6.47 ( http://nmap.org ) at 2015-03-19 11:12 GMT Note: Host seems down. If it is really up, but blocking our ping probes, try -Pn Nmap done: 1 IP address (0 hosts up) scanned in 2.05 seconds root@osboxes:~# nmap -PM 192.168.56.101 Starting Nmap 6.47 ( http://nmap.org ) at 2015-03-19 11:12 GMT Note: Host seems down. If it is really up, but blocking our ping probes, try -Pn Nmap done: 1 IP address (0 hosts up) scanned in 2.04 seconds
・スキャンタイミングの変更(-T*)
スキャンの効率化を図るためにスキャンのタイミングを細かく設定が可能ですが、事前に設定されているタイミングテンプレートを利用することが多い
テンプレートは
- -T0:paranoid
- -T1:sneaky
- -T2:polite
- -T3:normal(デフォルト)
- -T4:aggressive
- -T5:insane
で、-T0から-T5と順にスキャン速度がはやくなっていくが、T3かT4あたりを利用するのが現実的。
・出力方式の指定(-oN,-oX,-oG)
出力方式を変更することができる
・冗長レベル出力モード(-v)
進行中のスキャンに対しての情報を多く出力してくれる。
・デバッグレベル出力モード(-d)
デバッグモードでより多くの情報を出力してくれる。
・OSおよびサービス検出(-A)
スキャン対象の挙動から、サービスおよびOSを推測して表示してくれる
・ポートの設定(-p)
スキャンするポートの設定が可能。
- -p22:22番ポート
- -p22,25,53:22、25、53番ポート
- -p100-600:100から600番ポート
実行サンプル
よく使うオプションの実行サンプル
root@osboxes:~# nmap -sS -P0 -T4 -oN resultN.log -p1-65535 -A -v 192.168.56.101 Starting Nmap 6.47 ( http://nmap.org ) at 2015-03-19 11:44 GMT NSE: Loaded 118 scripts for scanning. NSE: Script Pre-scanning. Initiating Parallel DNS resolution of 1 host. at 11:44 Completed Parallel DNS resolution of 1 host. at 11:44, 0.10s elapsed Initiating SYN Stealth Scan at 11:44 Scanning 192.168.56.101 [65535 ports] Discovered open port 80/tcp on 192.168.56.101 Discovered open port 139/tcp on 192.168.56.101 Discovered open port 8080/tcp on 192.168.56.101 Discovered open port 22/tcp on 192.168.56.101 Discovered open port 443/tcp on 192.168.56.101 Discovered open port 143/tcp on 192.168.56.101 Discovered open port 445/tcp on 192.168.56.101 Increasing send delay for 192.168.56.101 from 0 to 5 due to max_successful_tryno increase to 5 Discovered open port 8081/tcp on 192.168.56.101 Discovered open port 5001/tcp on 192.168.56.101 Completed SYN Stealth Scan at 11:46, 93.54s elapsed (65535 total ports) Initiating Service scan at 11:46 Scanning 9 services on 192.168.56.101 Completed Service scan at 11:46, 12.06s elapsed (9 services on 1 host) Initiating OS detection (try #1) against 192.168.56.101 Retrying OS detection (try #2) against 192.168.56.101 Retrying OS detection (try #3) against 192.168.56.101 Retrying OS detection (try #4) against 192.168.56.101 Retrying OS detection (try #5) against 192.168.56.101 Initiating Traceroute at 11:46 Completed Traceroute at 11:46, 0.01s elapsed Initiating Parallel DNS resolution of 2 hosts. at 11:46 Completed Parallel DNS resolution of 2 hosts. at 11:46, 0.04s elapsed NSE: Script scanning 192.168.56.101. Initiating NSE at 11:46 Completed NSE at 11:46, 0.43s elapsed Nmap scan report for 192.168.56.101 Host is up (0.00058s latency). Not shown: 65526 closed ports PORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 5.3p1 Debian 3ubuntu4 (Ubuntu Linux; protocol 2.0) | ssh-hostkey: | 1024 ea:83:1e:45:5a:a6:8c:43:1c:3c:e3:18:dd:fc:88:a5 (DSA) |_ 2048 3a:94:d8:3f:e0:a2:7a:b8:c3:94:d7:5e:00:55:0c:a7 (RSA) 80/tcp open http Apache httpd 2.2.14 ((Ubuntu) mod_mono/2.4.3 PHP/5.3.2-1ubuntu4.5 with Suhosin-Patch proxy_html/3.0.1 mod_python/3.3.1 Python/2.6.5 mod_ssl/2.2.14 OpenSSL/...) |_http-favicon: Unknown favicon MD5: 1F8C0B08FB6B556A6587517A8D5F290B | http-methods: GET HEAD POST OPTIONS TRACE | Potentially risky methods: TRACE |_See http://nmap.org/nsedoc/scripts/http-methods.html |_http-title: owaspbwa OWASP Broken Web Applications 139/tcp open netbios-ssn Samba smbd 3.X (workgroup: WORKGROUP) 143/tcp open imap Courier Imapd (released 2008) |_imap-capabilities: ACL THREAD=ORDEREDSUBJECT ACL2=UNIONA0001 UIDPLUS IMAP4rev1 OK completed CAPABILITY CHILDREN QUOTA SORT IDLE THREAD=REFERENCES NAMESPACE 443/tcp open ssl/http Apache httpd 2.2.14 ((Ubuntu) mod_mono/2.4.3 PHP/5.3.2-1ubuntu4.5 with Suhosin-Patch proxy_html/3.0.1 mod_python/3.3.1 Python/2.6.5 mod_ssl/2.2.14 OpenSSL/...) |_http-favicon: Unknown favicon MD5: 1F8C0B08FB6B556A6587517A8D5F290B | http-methods: GET HEAD POST OPTIONS TRACE | Potentially risky methods: TRACE |_See http://nmap.org/nsedoc/scripts/http-methods.html |_http-title: owaspbwa OWASP Broken Web Applications | ssl-cert: Subject: commonName=owaspbwa | Issuer: commonName=owaspbwa | Public Key type: rsa | Public Key bits: 1024 | Not valid before: 2013-01-02T21:12:38+00:00 | Not valid after: 2022-12-31T21:12:38+00:00 | MD5: 0fb9 ca0b e9b7 b26f de6c 3555 6186 2399 |_SHA-1: e469 e1f2 9877 40c3 3aec ee7c f630 ca19 31be 05ae |_ssl-date: 2015-03-20T21:12:07+00:00; +1d9h25m20s from local time. 445/tcp open netbios-ssn Samba smbd 3.X (workgroup: WORKGROUP) 5001/tcp open ovm-manager Oracle VM Manager 8080/tcp open http Apache Tomcat/Coyote JSP engine 1.1 | http-methods: GET HEAD POST PUT DELETE OPTIONS | Potentially risky methods: PUT DELETE |_See http://nmap.org/nsedoc/scripts/http-methods.html |_http-title: Apache Tomcat/6.0.24 - Error report 8081/tcp open http Jetty 6.1.25 | http-methods: GET HEAD POST TRACE OPTIONS | Potentially risky methods: TRACE |_See http://nmap.org/nsedoc/scripts/http-methods.html |_http-title: Choose Your Path No exact OS matches for host (If you know what OS is running on it, see http://nmap.org/submit/ ). TCP/IP fingerprint: OS:SCAN(V=6.47%E=4%D=3/19%OT=22%CT=1%CU=39101%PV=Y%DS=2%DC=T%G=Y%TM=550AB72 OS:8%P=x86_64-unknown-linux-gnu)SEQ(SP=11%GCD=FA00%ISR=9C%TI=I%CI=I%TS=U)OP OS:S(O1=M5B4%O2=M5B4%O3=M5B4%O4=M5B4%O5=M5B4%O6=M5B4)WIN(W1=FFFF%W2=FFFF%W3 OS:=FFFF%W4=FFFF%W5=FFFF%W6=FFFF)ECN(R=Y%DF=N%T=41%W=FFFF%O=M5B4%CC=N%Q=)T1 OS:(R=Y%DF=N%T=41%S=O%A=S+%F=AS%RD=0%Q=)T2(R=Y%DF=N%T=100%W=0%S=Z%A=S%F=AR% OS:O=%RD=0%Q=)T3(R=Y%DF=N%T=100%W=0%S=Z%A=S+%F=AR%O=%RD=0%Q=)T4(R=Y%DF=N%T= OS:100%W=0%S=A%A=Z%F=R%O=%RD=0%Q=)T5(R=Y%DF=N%T=100%W=0%S=Z%A=S+%F=AR%O=%RD OS:=0%Q=)T6(R=Y%DF=N%T=100%W=0%S=A%A=Z%F=R%O=%RD=0%Q=)T7(R=Y%DF=N%T=100%W=0 OS:%S=Z%A=S%F=AR%O=%RD=0%Q=)U1(R=Y%DF=N%T=37%IPL=164%UN=0%RIPL=4801%RID=421 OS:0%RIPCK=I%RUCK=G%RUD=G)IE(R=N) Network Distance: 2 hops TCP Sequence Prediction: Difficulty=17 (Good luck!) IP ID Sequence Generation: Incremental Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel Host script results: | nbstat: NetBIOS name: OWASPBWA, NetBIOS user:, NetBIOS MAC: (unknown) | Names: | OWASPBWA<00> Flags: | OWASPBWA<03> Flags: | OWASPBWA<20> Flags: | \x01\x02__MSBROWSE__\x02<01> Flags: | WORKGROUP<1d> Flags: | WORKGROUP<1e> Flags: |_ WORKGROUP<00> Flags: | smb-security-mode: | Account that was used for smb scripts: guest | User-level authentication | SMB Security: Challenge/response passwords supported |_ Message signing disabled (dangerous, but default) |_smbv2-enabled: Server doesn't support SMBv2 protocol TRACEROUTE (using port 135/tcp) HOP RTT ADDRESS 1 0.29 ms 10.0.2.2 2 1.03 ms 192.168.56.101 NSE: Script Post-scanning. Initiating NSE at 11:46 Completed NSE at 11:46, 0.00s elapsed Read data files from: /usr/bin/../share/nmap OS and Service detection performed. Please report any incorrect results at http://nmap.org/submit/ . Nmap done: 1 IP address (1 host up) scanned in 118.18 seconds Raw packets sent: 67761 (2.987MB) | Rcvd: 67761 (2.713MB) root@osboxes:~#