マシンのサービスを探る「ポートスキャン」 |
では,具体的にポートスキャンについて解説していくが,その前にポート番号について簡単に理解しておく必要がある。
インターネットに接続されたコンピュータに,グローバルIPアドレスが割り振られているのは前述した通りだ。グローバルIPアドレスでコンピュータを特定することができるが,そこで動いているサービスは不明だ。
1台のコンピュータでWebサーバとFTPサーバなど,複数のサービスを提供している場合,グローバルIPアドレスだけでは,どのサービスを要求されているか判別することができない。そこでポート番号を用いてサービスを識別する。一般的なポート番号(Well Known Port)としてHTTPは80番,TELNETは23番,FTPは21番,SMTPは25番,POP3は110番などがある。ポート番号は「1〜65535」までの値で指定される。利用されているWell Known Portなどについては,IANA(Internet Assigned Numbers Authority)のWebサイトを参照してほしい。
たとえばWebサイトの閲覧であれば,
Webサーバに対してポート80番での接続を要求 |
といった流れになる。Webサーバの場合はブラウザが応答を処理しているので分かりにくいかもしれないが,原理は「メールの安全性を考える(その1) 」で解説した「TELNET接続でメールの送受信を行う」の方法と同じだ。サーバ側はサービスを行っているポートを開け,いつ要求が来ても答えられるようになっているわけだ。ここが狙い目となる。つまりクラッカーはそのコンピュータがどのサービスを提供し,どのポートを開けているかをチェックするために,ポートスキャンを行うのだ。もちろん前述したようにOSの特定など,そのほかの情報収集にも役に立つ。
では実際にポートスキャンを行った結果を見てみることにする。対象のOSは「Windows98 Second Edition」(ファイル共有機能を設定)で,ポートスキャンは,Linux上で動作する代表的なポートスキャナである「nmap v2.53」を使用した。TCP/UDPスキャン,そしてフィンガープリンティングによるOSの推定を行った(リスト1)。
リスト1■nmapによるポートスキャン
# nmap -sT -sU -O 192.168.1.4 Starting nmap V. 2.53 by fyodor@insecure.org
( www.insecure.org/nmap/ ) TCP Sequence Prediction: Class=trivial
time dependency Nmap run completed -- 1 IP address (1 host up) scanned in 9 seconds |
黄色の文字になっているところが,スキャンの結果分かったことである。つまり,開いているポートは
137/udp−netbios-ns |
推定されるOSは
WindowsNT4.0/Windows95/Windows98 |
ということが分かる。開いているポートの種類から「ファイルおよびプリンタ共有」(NetBIOS)のサービスが開いていることが分かり,OSもWindows系のOSであることが推定された。あとは侵入を試みるということになるだろう。この場合ファイル共有に設定したフォルダにパスワード設定がなければ,特殊なツールを使用せずとも侵入できることになる。
3/5 |