ハッカーはnbtscanでNetBIOS名テーブルをスキャンする(Kali Linuxツール説明)
複数のコンピュータやネットワーク全体のNetBIOS名テーブルのスキャンを理解するためにまとめてみました。
このnbtscanの動作確認は自分のドメインでテストを行っています。
nbtscanとは
nbtscanとは、複数のコンピュータやネットワーク全体のNetBIOS名テーブルをスキャンするためのツールです。
与えられた範囲内の各アドレスにNetBIOSステータス・クエリを送信し、受信した情報を人間が読める形でリストアップします。応答のあった各ホストについて、IPアドレス、NetBIOSコンピュータ名、ログインしたユーザ名、MACアドレスをリストアップします。
機能
- Windowsネットワークパソコンのコンピュータ名(NetBIOS名)や対応するIPアドレスの参照
- 自分がやりとりしたWindowsネットワーク関連パケットの統計情報を表示
- 複数のコンピュータやネットワーク全体をスキャンすることができます。
※基本的にWindows標準のコマンドであるnbtstatのNetBIOS名テーブル参照機能と同じ機能を有します。
ツールの場所
[Applications]→[01-Information Gathering]→[SMB Analysis]→[nbtscan]
ツールと使用方法
nbtscan [-v] [-d] [-e] [-l] [-t timeout] [-b bandwidth] [-r] [-q] [-s separator] [-m retransmits] (-f filename)|(<scan_range>)
例 nbtscan -v -s : 192.168.1.7
【実行イメージ】少し端折って整形しています。
┌──(kali__kali)-[~]
└─$ nbtscan -v -s : 192.168.1.7
192.168.1.7:LAPTOP-FQ7MN7OJ:00U
192.168.1.7:LAPTOP-FQ7MN7OJ:20U
192.168.1.7:WORKGROUP :00G
192.168.1.7:WORKGROUP :1eG
192.168.1.7:WORKGROUP :1dU
192.168.1.7:__MSBROWSE__:01G
192.168.1.7:MAC:c8:d9:d2:8b:29:45
オプション
-v
verbose output. Print all names received from each host.
冗長な出力。各ホストから受信したすべての名前を表示します。
-d
dump packets. Print whole packet contents.
パケットをダンプする。パケット全体の内容を印刷します。
-e
Format output in /etc/hosts format.
出力を /etc/hosts 形式にします。
-l
Format output in lmhosts format.
Cannot be used with -v, -s or -h options.
出力を lmhosts 形式にします。
v、-s、-h オプションとは併用できません。
-t timeout
wait timeout milliseconds for response. Default 1000.
wait timeout 応答までの時間をミリ秒単位で指定します。 デフォルトは1000。
-b bandwidth
Output throttling. Slow down output so that it uses no more that bandwidth bps.
Useful on slow links, so that ougoing queries don’t get dropped.
Output throttling(出力調整)。帯域幅 bps を超えないように出力を減速させます。
遅いリンクでは、送信されるクエリがドロップしないようにするのに便利です。
-r
use local port 137 for scans. Win95 boxes respond to this only.
You need to be root to use this option on Unix.
スキャンにはローカルポート137を使用してください。Win95ボックスはこれにのみ反応します。
Unixでこのオプションを使用するには、rootになる必要があります。
-q
Suppress banners and error messages.
バナーやエラーメッセージを表示しない。
-s separator
Script-friendly output. Don’t print column and record headers, separate fields with separator.
スクリプトフレンドリーな出力。カラムやレコードのヘッダを表示せず、セパレータでフィールドを区切ります。
-h
Print human-readable names for services. Can only be used with -v option.
サービスの人間が読める名前を表示します。 vオプションとの併用のみ可能です。
-m retransmits
Number of retransmits. Default 0.
再送信の回数。デフォルトは0。
-f filename
Take IP addresses to scan from file filename.
-f – makes nbtscan take IP addresses from stdin.
ファイル filename からスキャンする IP アドレスを取得します。
-f – nbtscanが標準入力からIPアドレスを取るようにします。
※<scan_range> 192.168.1.1のような単一のIPでも、2つの形式のうちの1つである範囲のアドレスでも構いません。
xxx.xxx.xxx.xxx/xx or xxx.xxx.xxx.xxx-xxx.
nbtscanの設定例
nbtscan -r 192.168.1.0/24
Scans the whole C-class network.
Cクラスのネットワーク全体をスキャンします。
nbtscan 192.168.1.25-137
Scans a range from 192.168.1.25 to 192.168.1.137
192.168.1.25から192.168.1.137までの範囲をスキャンする
nbtscan -v -s : 192.168.1.0/24
Scans C-class network. Prints results in script-friendly format using colon as field separator.
Cクラスのネットワークをスキャンします。結果は、コロンをフィールドセパレータとして使用し、スクリプトに適したフォーマットで印刷されます。
このように出力されます。
192.168.0.1:NT_SERVER:00U
192.168.0.1:MY_DOMAIN:00G
192.168.0.1:ADMINISTRATOR:03U
192.168.0.2:OTHER_BOX:00U
…
nbtscan -f iplist
Scans IP addresses specified in file iplist.
ファイル iplist で指定された IP アドレスをスキャンします。
nbtscanツールのまとめ
nbtscanは基本的にWindows系の「nbtstat」を便利にしたツールですね。
ブラックハットハッカーは攻撃するために、システムにあらかじめ内蔵されているnbtscanツールを使って、内部偵察を行うそうです。