自分のIPとネットワークセグメントを確認
問題解決のために知らないネットワークに繋げた際にまずやることはネットワークマッピング。ネットワークに接続し、DHCPによって自動的に設定が行われた場合、自分のIPアドレスとデフォルトゲートウェイを知っておく。
ip addr
ip route
IPアドレスは192.168.1.2/24でデフォルトゲートウェイは192.168.1.1であることが分かる。
同じネットワークに居るホストを列挙
arp-scanで列挙
同じネットワークセグメントに所属するホストを列挙するにはarp-scanを使う。nmapでスキャンをするよりもarp-scanの方が速いしMACアドレスのベンダーコードからメーカーまでわかる。
arp-scan -I eth0 -l
nmapで列挙
ちなみにnmapで列挙するためには、-snオプションで”ping scan”を使う。ただし、pingに応答しないホストは列挙できない。ローカルネットへの”ping scan”でもDNS解決をしようとしてしまうので-nオプションを付けて無効にする。
nmap -n -sn 192.168.1.0/24
各ホストの情報を取得する
同ネットワークセグメント上のホスト一覧が分かったところで、各ホストが何のOSで何のサービスが稼働しているのか調べるにはnmapを使う。
192.168.1.110の詳細な情報を調べる場合:
nmap -nFA 192.168.1.110
-Aを付けて実行をするとOS検知、可動サービスのバージョン情報、スクリプトスキャンなどをしてくれる。-Fを付けると最高速になるが、ファイアーウォールにポートスキャンを検知される可能性が高くなる。-nはDNS解決を無効化するため少し早くなる。
192.168.1.110(Windows10のPC)をスキャンした結果:
このように、Apache2.4.41・PHP7.1.32・mysqlなどが動いていて、NetBIOS名は「ROOT-PC」であることが分かる。MACアドレスのベンダーコードからAsustek製のボードを使っていることも分かった。
このような情報は、技術者にとってトラブル等の解決のヒントになるが、逆に攻撃者にとってはクラッキングの為の有益な情報になってしまう。
もっと詳細に知りたい場合は以下の書籍がおすすめです。