UJP - 技術情報1

Life is fun and easy!

不正IP報告数

Okan Sensor
 
メイン
ログイン
ブログ カテゴリ一覧

macosでnmapをつかってみる

macosでnmapをつかってみる


更新履歴

  • 初版 2019/11/26

はじめに

  • masscanをネットワークスキャナとして使って見たけれど,TCPのみという制限があるので,UDPにも対応しているnmapを使って見る.Linuxだとnmapはインストールされているような気がするけれど,macには入ってないのでインストールするところから.

nmapのインストール

  • HomeBrewなので難しいことはないです.
  • まずは情報を確認.
       $ brew info nmap🆑
       nmap: stable 7.80 (bottled), HEAD
       Port scanning utility for large networks
       https://nmap.org/
       Conflicts with:
         ndiff (because both install `ndiff` binaries)
       Not installed
       From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/nmap.rb
       ==> Dependencies
       Required: openssl@1.1 ✔
       ==> Options
       --HEAD
       	Install HEAD version
       ==> Analytics
       install: 29,327 (30 days), 117,613 (90 days), 345,479 (365 days)
       install-on-request: 27,643 (30 days), 107,355 (90 days), 324,715 (365 days)
       build-error: 0 (30 days)
       $
  • 現在のバージョンは7.80とのこと.次にインストール.
       $ brew install nmap🆑
       Updating Homebrew...
       ==> Auto-updated Homebrew!
       Updated Homebrew from 99a8f15fb to 83d851351.
       Updated 2 taps (homebrew/core and homebrew/cask).
       ==> New Formulae
       onnxruntime                          tio                                  vale
       ==> Updated Formulae
       libidn2 ✔                            gjs                                  parallel
       abcl                                 goreleaser                           pdns
       abcmidi                              grafana                              pgbouncer
       alexjs                               grakn                                pgpool-ii
       ammonite-repl                        haproxy                              pianobar
       ansiweather                          hyperfine                            pianod
       antlr4-cpp-runtime                   i386-elf-binutils                    pylint
       apache-arrow                         imapsync                             pypy
       arm-linux-gnueabihf-binutils         imlib2                               pypy3
       arp-scan                             include-what-you-use                 sbt
       audacious                            jailkit                              scipy
       azure-cli                            jenkins                              stress-ng
       babeld                               jmeter                               swiftformat
       bind                                 kepubify                             thrift
       binutils                             libcoap                              todoman
       bitcoin                              libgusb                              transmission-cli
       cheat                                librsvg                              ttyd
       clamav                               mono-libgdiplus                      ungit
       clojure                              node                                 urbit
       dafny                                orc-tools                            urh
       eslint                               osquery                              vice
       fauna-shell                          pachi                                xapian
       freeradius-server                    pandoc                               z3
       fs-uae                               pandoc-citeproc
       gcc@7                                pandoc-crossref
       
       ==> Downloading https://homebrew.bintray.com/bottles/nmap-7.80_1.high_sierra.bottle.tar.gz
       ==> Downloading from https://akamai.bintray.com/3c/3cbc937428a7db08be8fa106b3a70ffad16f4a4d80808d2113490dd9ab60
       ######################################################################## 100.0%
       ==> Pouring nmap-7.80_1.high_sierra.bottle.tar.gz
       🍺  /usr/local/Cellar/nmap/7.80_1: 821 files, 27.0MB

$

nmapを使ってローカルマシンをスキャンする

  • まずは,自分自身をスキャンして見る.
       $ /usr/local/bin/nmap 192.168.20.32🆑
       Starting Nmap 7.80 ( https://nmap.org ) at 2019-11-26 18:44 JST
       Nmap scan report for 192.168.20.32
       Host is up (0.00017s latency).
       Not shown: 969 closed ports, 30 filtered ports
       PORT     STATE SERVICE
       3283/tcp open  netassistant🈁
       
       Nmap done: 1 IP address (1 host up) scanned in 5.45 seconds
       $
  • 5秒で完了.masscanより速いなぁ.デフォルトでスキャンする対象ポートが違う野田ロイと想像.
  • 空いているポートについて,今回の場合3283ポートがnetassistantが使っているという風に,masscanより情報が多いのは好印象.

nmapでポートとプロトコルを指定してスキャン

  • 次にプロトコルをTCP限定,ポートを1から1024までのwelknownポートのみで,別のマシンをスキャンしてみる.
       $ /usr/local/bin/nmap -sT -p 1-1024 192.168.20.30
       Starting Nmap 7.80 ( https://nmap.org ) at 2019-11-26 18:50 JST
       Nmap scan report for 192.168.20.30
       Host is up (0.0011s latency).
       Not shown: 991 closed ports, 30 filtered ports
       PORT    STATE SERVICE
       22/tcp  open  ssh
       88/tcp  open  kerberos-sec
       445/tcp open  microsoft-ds
       
       Nmap done: 1 IP address (1 host up) scanned in 5.46 seconds
       $
  • この結果も5.46なので,nmapのポートを指定しない場合のスキャンはこのパターンでしょう.マニュアルを見ないで言っているけど...

全ポートスキャンを1台のマシンに対して実行して見る

  • ウェルノウンポートだけだと5秒強で終わりましたが,全ポートで実行するとどうなるか.
       $ /usr/local/bin/nmap -sT -p 1-65535 192.168.20.30🆑
       Starting Nmap 7.80 ( https://nmap.org ) at 2019-11-26 18:58 JST
       Nmap scan report for 192.168.20.30
       Host is up (0.00047s latency).
       Not shown: 65527 closed ports
       PORT      STATE SERVICE
       22/tcp    open  ssh
       88/tcp    open  kerberos-sec
       445/tcp   open  microsoft-ds
       3283/tcp  open  netassistant
       3689/tcp  open  rendezvous
       5900/tcp  open  vnc
       49190/tcp open  unknown
       57027/tcp open  unknown
       
       Nmap done: 1 IP address (1 host up) scanned in 687.87 seconds
       $
  • 約688秒なので11分程度ですね.ちょっとわからないものもたくさん出てきましたが,ちなみこのスキャン対象マシンはmacOS 10.14(Mojave)です.
  • ちなみに,Windows 10のマシン(Surface Pro 2)にスキャンして見ました.
       $ /usr/local/bin/nmap -sT -p 1-65535 192.168.20.149🆑
       Starting Nmap 7.80 ( https://nmap.org ) at 2019-11-26 19:14 JST
       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 3.05 seconds
       $
  • これはWindows Firewallが稼働しているから,速攻で拒否されています.
  • ping(ICMP)も通りません.
       $ ping 192.168.20.149🆑
       PING 192.168.20.149 (192.168.20.149): 56 data bytes
       Request timeout for icmp_seq 0
       Request timeout for icmp_seq 1
       Request timeout for icmp_seq 2
       Request timeout for icmp_seq 3
       ^C
       --- 192.168.20.149 ping statistics ---
       5 packets transmitted, 0 packets received, 100.0% packet loss
       $

スキャン相手のFirewall有無を調べる

  • オプションに-sAをつけると,ファイアウォールの有無を調べられるというので,実行して見る.
  • まずは,先に検査してFirewallが稼働してないことが明らかなmacOSを対象に.
       $ nmap -sA 192.168.20.32🆑
       Starting Nmap 7.80 ( https://nmap.org ) at 2019-11-26 19:03 JST
       Nmap scan report for 192.168.20.32
       Host is up (0.000047s latency).
       All 1000 scanned ports on 192.168.20.32 are unfiltered🈁
       
       Nmap done: 1 IP address (1 host up) scanned in 9.71 seconds
       $
  • unfilteredとでているので,フィルタ=ファイアウォールでブロックされてないと判断されている.1000個のポートをスキャンしているとあるけれど,1-1024のウェルノウンポートで5秒強だったのが10秒近くかかっているので,より代表的なポートを使ってスキャンしていると思われる.
  • そして次に,Windows 10のマシンをスキャンしてみる.
       $ nmap -sA 192.168.20.149🆑
       Starting Nmap 7.80 ( https://nmap.org ) at 2019-11-26 19:08 JST
       Nmap scan report for 192.168.20.149
       Host is up (0.096s latency).
       All 1000 scanned ports on 192.168.20.149 are filtered🆑
       MAC Address: 28:18:78:C6:XX:XX (Microsoft)
       
       Nmap done: 1 IP address (1 host up) scanned in 98.21 seconds
       $
  • 今回はfilteredとでた.100秒近くかかっている.

nmapを使って対象マシンのOSを調べる

  • TCP/IPの通信において,RFCとかで規定されているけれどOSによってやっぱり手順に特徴があったりとかで,その違いを観察すればOSの違いがわかると聞いたことがある.
  • nmapのオプションで-O(オー)を使うとOSがわかるというので実行して見た.
  • まずは,macOS 10.14(Mojave)のマシンを.
       $ nmap -O 192.168.20.30🆑
       Starting Nmap 7.80 ( https://nmap.org ) at 2019-11-26 19:31 JST
       Nmap scan report for 192.168.20.30
       Host is up (0.00038s latency).
       Not shown: 995 closed ports
       PORT     STATE SERVICE
       22/tcp   open  ssh
       445/tcp  open  microsoft-ds
       3283/tcp open  netassistant
       3689/tcp open  rendezvous
       5900/tcp open  vnc
       MAC Address: 40:6C:8F:42:XX:XX (Apple)
       No exact OS matches for host (If you know what OS is running on it, see
        https://nmap.org/submit/ ).
       TCP/IP fingerprint:
       OS:SCAN(V=7.80%E=4%D=11/26%OT=22%CT=1%CU=44071%PV=Y%DS=1%DC=D%G=Y%M=406C8F%
       OS:TM=5DDCFF23%P=x86_64-apple-darwin17.7.0)SEQ(SP=106%GCD=1%ISR=10A%TI=Z%CI
       OS:=RD%II=RI%TS=A)OPS(O1=M5B4NW6NNT11SLL%O2=M5B4NW6NNT11SLL%O3=M5B4NW6NNT11
       OS:%O4=M5B4NW6NNT11SLL%O5=M5B4NW6NNT11SLL%O6=M5B4NNT11SLL)WIN(W1=FFFF%W2=FF
       OS:FF%W3=FFFF%W4=FFFF%W5=FFFF%W6=FFFF)ECN(R=Y%DF=Y%T=40%W=FFFF%O=M5B4NW6SLL
       
       Network Distance: 1 hop
       
       OS detection performed. Please report any incorrect results at
        https://nmap.org/submit/ .
       Nmap done: 1 IP address (1 host up) scanned in 26.78 seconds
       $
  • これをみると,FingerprintにApple-darwin17.7.0とあるが,対象のマシンでカーネルのバージョンを確認するとこんな感じ.
       $ uname -a🆑
       Darwin MBA2013.local 18.6.0 Darwin Kernel Version 18.6.0:🈁
        Thu Apr 25 23:16:27 PDT 2019; root:xnu-4903.261.4~2/RELEASE_X86_64
        x86_64 i386 MacBookAir6,2 Darwin
       $ 
  • 少し異なる模様.
  • 次に,windows 10のマシンで試して見る.
       $ nmap -O 192.168.20.149🆑
       Starting Nmap 7.80 ( https://nmap.org ) at 2019-11-26 19:31 JST
       Nmap scan report for 192.168.20.149
       Host is up (0.0072s latency).
       Not shown: 999 filtered ports
       PORT     STATE SERVICE
       3389/tcp open  ms-wbt-server
       MAC Address: 28:18:78:C6:57:F1 (Microsoft)
       Warning: OSScan results may be unreliable because we could not find at
        least 1 open and 1 closed port
       Device type: specialized|general purpose
       Running (JUST GUESSING): AVtech embedded (87%), Microsoft Windows XP (87%)
       OS CPE: cpe:/o:microsoft:windows_xp::sp2
       Aggressive OS guesses: AVtech Room Alert 26W environmental monitor (87%),
        Microsoft Windows XP SP2 (87%)
       No exact OS matches for host (test conditions non-ideal).
       Network Distance: 1 hop
       
       OS detection performed. Please report any incorrect results at
        https://nmap.org/submit/ .
       Nmap done: 1 IP address (1 host up) scanned in 16.08 seconds
       $
  • 推測するにWindows XP SP2らしい.Firewallで通信が止められているので,判明できる情報からはそうなるのだろうなぁ.逆にいうとTCP/IPスタックはその頃から変わってないと言えるでかな.

広告スペース
Google