icmp - みる会図書館


検索対象: UNIX MAGAZINE 2005年6月号
9件見つかりました。

1. UNIX MAGAZINE 2005年6月号

連載 / ネットワークとセキュリティ # apt—get install xprobe FreeBSD であれば、 ports からインストールできます ( 下記は FreeBSD 5. x の場合 ) 。 # cd /usr/ports/net/xprobe # make # make install IP ヘッダの ToS フィールドの値が 0 か 0 以外か ( 例 : ・ icmp-echo-tos-bits = 0 いるか ( 例 : 0 以外 ) 。 は送信した ICMP ECHO 要求の値をそのまま返して IP ヘッダの識別子フィールドの値が 0 、 0 以外、あるい ・ icmp-echo-ip-id = ! 0 ICMP code が 0 か 0 以外 ( ! 0 ) か ( 例 : code は 0 ) 。 ・ icmp-echo-code = 0 返します。 グされていないかぎり、すべての OS は ECHO 応答を り ) 。ファイアウォールなどでバケットがフィルタリン ICMP ECHO 応答が返ってくるか否か ( 例 : 応答あ ・ icmp-echo-reply = y ICMP ECHO 要求に対する応答を調査します。 モシュール A の設定をもとに各テスト項目を説明します。 る WindowsXP SP2 用のフィンガー・プリンティング こでは、設疋ファイル xprobe2. conf で定義されてい 定される OS の一覧をユーザーに提示します。 ら結果を得られない場合でも、入手しているデータから推 ルによるフィルタリングなどの影響で、あるモジュールか ストの OS を推測します。 Xprobe2 は、ファイアウォー グ手法を利用するモジュールの結果をもとに、リモートホ Xprobe2 では、次のようなフィンガー・プリンティン Xprobe2 のフィンカー・プリンティング手法 ・ icmp-echo-df-bit ToS フィールドの値は 0 ) 。 UNIX MAGAZINE 2005 . 6 定値より大きい、あるいは小さいことを示します ( 例 : ICMP 応答バケットの TTL (Time-to-Live) が一 ・ icmp-echo-reply-ttl = < 128 あり ) 。 DF フラグが立っているか、いないか ( 例 : DF フラグ TTL は 128 未満 ) 。 モシュール B ICMP タイムスタンフ要求に対する応答を調査します。 ・ icmp -t imest amp -reply = y ICMP タイムスタンフ。要求に対する応答があるかない か ( 例 : 応答あり ) 。 Solaris 10 や Windows NT 4 な どの一部の OS を除いて、ほとんどの OS はタイムスタ ・ icmp-timestamp-reply-ip-id = ! 0 未満 ) 。 い、もしくは小さいことを示します ( 例 :TTL は 128 タイムスタンプ応答バケットの TTL が一定値より大き ・ icmp-timestamp-reply-ttl = く 128 ンフ要求に応答します。 ( 例 : 応答なし ) 。 AIX と Cisco IOS 以外の OS のほ ICMP lnformation 要求に対する応答があるかないか ・ icmp-info-reply = n ICMP lnformation 要求に対する応答を調査します。 モシュール D ない ) 。 返しているか ( 例 : 0 以外。ただし、この例では未は は送信した ICMP アドレスマスク要求の値をそのまま IP ヘッダの識別子フィールドの値が 0 、 0 以外、あるい ・ icmp-addrmask-reply-ip-id = ! 0 だし、この例では応答がないので実質的な未はない ) 。 い、もしくは小さいことを示します ( 例 : 128 未満。た アドレスマスク応答バケットの TTL が一定値より大き ・ icmp-addrmask-reply-ttl = < 128 に答えません。 4 などを除いて、ほとんどの OS はアドレスマスク要求 ない (n) か ( 例 : 応答なし ) 。 Solaris や Windows NT ICMP アドレスマスク要求に対する応答がある (y) か ・ icmp-addrmask-reply = n ICMP アドレスマスク要求に対する応答を調査します。 モジュール C 返しているか ( 例 : 0 以外 ) 。 は送信した ICMP タイムスタンフ要求の値をそのまま IP ヘッダの識別子フィールドの値が 0 、 0 以外、あるい 45

2. UNIX MAGAZINE 2005年6月号

連載 / ネットワークとセキュリティ 返しているか ( 例 : 0 以外。ただし、この例では未は は送信した ICMP lnformation 要求の値をそのまま IP ヘッダの識別子フィールドの値が 0 、 0 以外、あるい ・ icmp-info-reply-ip-id = ! 0 だし、この例では応答がないので未はない ) 。 い、もしくは小さいことを示します ( 例 : 128 未満。た lnformation 応答バケットの TTL が -- -- ・定値より大き ・ icmp-info-reply-ttl = < 128 とんどは、 lnformation 要求に応答しません。 ・ icmp-unreach-reply = y reachable メッセージを調査します。 ラムを送信し、エラーとして返される ICMP Port Un- 調査対象のホストの閉じているポートに UDP データグ モシュール冊 ない ) 。 DF フラグが立っているか、いないか ( 例 : DF フラグ ・ icmp-unreach-df-bit = 0 となります。 ヘッダなし ) 。 0xc0 、 0 、もしくはその他の 16 進数の値 Precedence ヘッダの値を示します ( 例 : Precedence ・ icmp-unreach-precedence-bits = 0 TTL が 128 未満 ) 。 一定値より大きい、もしくは小さいことを示します ( 例 : port UnreachabIe メッセージの IP ヘッダの TTL が ・ icmp-unreach-reply-ttl = < 128 64 バイトより大きい ) 。 ト " 、、 64 バイトより大きい " のいずれかになります ( 例 : れる、もとの IP ヘッダのサイズ。、、 8 バイト " 、、 64 バイ 送される ICMP port UnreachabIe メッセージに含ま 最初に送信したデータグラムに対して、エラーとして返 ・ icmp-unreach-echoed-dtsize = > 64 ッセージに含まれる IP ヘッダに関する情報です。 モシュール E の前半は、 ICMP Port Unreachable メ 否か ( 例 : 返る ) 。 ICMP port UnreachabIe メッセージが返ってくるか 46 ・ icmp—unreacll—ip—id なし ) 。 IP ヘッダの識別子フィールドの値が 0 、 0 以外、あるい ! 0 は送信した UDP データグラムの値をそのまま返してい るか ( 例 : 0 以外 ) 。 モジュール E の後半は、 ICMP Port Unreachable メッセージに含まれる、返送された元データに関する情報 です。 ・ icmp-unreach-echoed-udp-cksum = OK 返送された ICMP port UnreachabIe メッセージに含 まれる UDP ヘッダのチェックサムの値です。正しい値 が返される (OK) 、間違った値が返される (BAD) 、 0 に設疋されているの 3 パターンがあります ( 例 : 正しい 値が返される ) 。 ・ icmp-unreach-echoed-ip-cksum = OK ICMP port UnreachabIe メッセージに含まれる IP ヘッダのチェックサムの値です。正しい値が返される (OK) 、間違った値が返される (BAD) 、 0 に設定され ているの 3 パターンがあります ( 例 : 正しい値が返さ れる ) 。 ・ icmp-unreach-echoed-ip-id = OK ICMP port UnreachabIe メッセージ中の IP ヘッダ の識別子フィールドの値が正しい (OK) か、反転されて いる (FLIPPED) か ( 例 : 正しい値が返される ) 。 ・ icmp-unreach-echoed-total 」 en = OK 返送される IP ヘッダの合計長を示します。 IPv4 では ヘッダの長さは 20 バイトですが、実装によっては IP ヘッダの長さを正しく返さないことがあります。とりう る値は、 20 バイト未満 ( く 20 ) 、 20 バイトより大きい ( > 20 ) 、もしくは正しい値のいすれかになります ( 例 : 正しい値 ) 。 ・ icmp-unreach-echoed-3bit-flags = OK IP ヘッダに含まれる 3 ビットのフラグが正しく返され る (OK) か、フラグが反転され (FLIPPED) 、フラグ メンテーション・オフセットの内容が壊れているか ( 例 : 正しく返される ) 。 モジュール F フィンガー・プリンティングの対象ホストの開いている ポートに、 SYN フラグの立った TCP セグメントを送信 し、応答メッセージの SYN 十 ACK を調査します。 ・ tcp-syn-ack-tos = 0 UNIX MAGAZ 工 NE 2005 . 6

3. UNIX MAGAZINE 2005年6月号

連載 / ネットワークとセキュリティ 5 . 1 " Host 192.168.1 ・ 70 Running OS: Host 192 .168 . 1 . 70 Running OS: Xprobe2 v . 0 . 2 . 2 Copyright (c) 2002 ー 2005 fyodor@000. nu, # xprobe2 -p tcp : 80 : open habanero 図 4 Xprobe2 によるフィンカー・プリンティング ( 2 ) FoIIowing modules are loaded : Loading modules . Target is habanero ofir@sys—security. com, meder@000. nu Cx] Cx] Cx] Cx] Cx] Cx] [x] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] ICMP echo discovery module P1ng: lcmp-pmg ICMP Echo request fingerprinting module fingerprint : icmp—echo TCP and UDP PortScanner infogather:portscan TCP and UDP based TTL distance calculation infogather:ttl—calc UDP—based ping discovery module ping : udp-ping TCP—based ping discovery module ping:tcp-ping ICMP port unreachable fingerprinting module fingerprint : icmp—port—unreach ICMP Address mask request fingerprinting module fingerprint : icmp—amask ICMP Timestamp request fingerprinting module fingerprint : icmp—tstamp [ 10 ] fingerprint : tcp—hshake TCP Handshake fingerprinting module [ 11 ] fingerprint :tcp-rst TCP RST fingerprinting module 11 modules registered lnitializing scan engine RunnIng ping:udp—ping module : no closed/open UDP ports known on 192.168.1.70. Host: 192 . 168 . 1 .70 is up (Guess probability: 50 % ) Target : 192.168.1.70 is alive . Round—Trip Time : 0.02236 sec Modu1e test failed SeIected safe Round—Trip Time value is : Primary guess : Host 192 . 168 . 1 Other guesses : Host 192 . 168 . 1 Host 192 . 168 . 1 Host 192 . 168 . 1 Host 192 . 168 . 1 Host 192. 168 . 1 Host 192. 168. 1 Host 192 . 168 . 1 . 70 Running OS : .70 Running OS : .70 Running OS : .70 Running OS: .70 Running OS: .70 Running OS: .70 Running OS: .70 Running OS: Execution completed . Modu1es deinitialized Cleaning scan engine ・ tcp-rst-ttl = < 128 "FreeBSD "FreeBSD "FreeBSD "FreeBSD "FreeBSD 4 . 5 " "FreeBSD 5 ・ 3 " "FreeBSD 4 . 4 " "FreeBSD 4 . 7 " "FreeBSD 4 . 8 " "FreeBSD 4 . 9 " 5 . 2.1 " (Guess probability: 53 % ) (Guess probability: (Guess probability: (Guess probability. (Guess probability. (Guess probability: (Guess probability. 0 .04472 sec 5 . 2 " (Guess probability: 53 % ) (Guess probability: 53 % ) 5 . 0 " (Guess probability: 53 % ) ・ 51 % ) 51 % ) ・ 48 % ) ・ 48 % ) 48 % ) 48 % ) RST 応答の TTL が -- - 一定値より大きい、あるいは小さ いことを示します ( 例 : TTL は 128 未満 ) 。 なお、各モジュールについては、配布ファイル中の . / d 。 cs /new-fingerprints-howto. txt を参照してください。た だし、原稿執筆時点では、モジュール F の一部とモジュ ール G については言当がなく、ソースコードを参考にする しかないようです。 Xprobe2 の利用 Xprobe2 は RAW ソケットを利用してフィンガー プリンティングをおこないます。そのため、実行するには root などの RAW ソケットを開けるユーザー権限が必要 UNIX MAGAZINE 2005 . 6 です。 ートで起動しているので、その情報を明示的に指定して実 次に、このホストは Web サーバーが TCP の 80 番ポ は候補として挙げられていません。 が表示されました。しかし、正解である FreeBSD 5.2.1 象ホストは HP-UX または FreeBSD の可能性がある旨 は ICMP を用いた手法のみを利用します。その結果、対 コマンドライン・オプションを付けない場合、 Xprobe2 ガー・プリンティングをおこなった例を示します。 です。図 3 に、 FreeBSD 5.2.1 のホストを対象にフィン # xprobe2 対象ホスト名 もっとも基本的な Xprobe2 の使い方は、 行してみます ( 図 4 ) 。 49

4. UNIX MAGAZINE 2005年6月号

連載 / ネットワークとセキュリティ Xprobe2 v. 0.2 . 2 Copyright (c) 2002 ー 2005 fY0d0r9000. nu, ofir@sys-security. com, # xprobe2 habanero 図 3 Xprobe2 によるフィンカー・プリンティング (FreeBSD 5.2.1 の場合 ) FOIIowing modules are loaded: Loading modules . Target is habanero meder@000. nu Cx] Cx] Cx] Cx] Cx] Cx] Cx] Cx] Cx] Cx] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] ICMP echo discovery module P1ng : xcmp-P1ng ping:tcp-ping TCP-based ping discovery module ping : udp-ping UDP—based ping discovery module infogather:ttl—calc TCP and UDP based TTL distance calculation infogather : portscan TCP and UDP PortScanner fingerprint : icmp—echo ICMP Echo request fingerprinting module ICMP port unreachable fingerprinting module fingerprint : icmp—port—unreach 工 CMP Address mask request fingerprinting module fingerprint : icmp—amask ICMP Timestamp request fingerprinting module fingerprint : icmp—tstamp [ 10 ] fingerprint : tcp—hshake TCP Handshake fingerprinting module [ 11 ] fingerprint : tcp—rst TCP RST fingerprinting module 11 modules registered lnitializing scan engine Running scan engine ping:tcp—ping module : Ⅱ 0 closed/open TCP ports known on 192 .168 . 1 . 70 . M0du1e test failed ping:udp—ping module : Ⅱ 0 closed/open UDP ports known on 192 . 168 . 1 . 70 . M0du1e test failed NO distance calculation. 192.168.1.70 appears to be dead or Ⅱ 0 ports known Host: 192.168.1.70 is up (Guess probability: 25 % ) Target : 192.168.1.70 is alive. Round-Trip Time: 0.02662 sec SeIected safe Round—Trip Time value is: 0 .05323 sec f ingerprint : tcp—hshake Modu1e Primary guess : Host 192 .168.1.70 Running Other guesses : execution aborted ( Ⅱ 0 open TCP ports known) "HP UX 11 .0x " (Guess probability: 28 % ) Host Host Host Host Host Host Host Host Host 192.168.1.70 Running OS: 192.168.1.70 Running OS: 192.168.1.70 Running OS: OS: OS : 192. 168. 1 192. 168. 1 192. 168. 1 192. 168. 1 192. 168. 1 192. 168. 1 .70 Running .70 Running OS : .70 Running .70 Running .70 Running OS : .70 Running OS : OS : OS : "FreeBSD "FreeBSD "FreeBSD "FreeBSD 4.4 " (Guess probability: 28 % ) 4.5 " (Guess probability: 28 % ) 4.6 ” (Guess probability: 28 % ) 4.6 . 2 " (Guess probability: 28 % ) "FreeBSD 4 . 7 " "FreeBSD 4 . 8 " "FreeBSD 4. "FreeBSD 4. "FreeBSD 5 10 " 9 " CIeaning up scan Modu1es deinitialized Execution completed. ・ tcp-rst-df = 0 応答あり ) 。 トの IP ヘッダの識別子フィールドの値をそのまま利用 値が 0 、 0 以外、あるいは SYN フラグの付いたバケッ 1 回目の RST 応答の IP ヘッダの識別子フィールドの ・ tcp-rst-ip-id-l ! 0 いないか ( 例 : DF フラグなし ) 。 RST 応答の IP ヘッダに DF フラグが立っているか、 しているか ( 例 : 0 以外 ) 。 ・ tcp-rst-ip-id-2 2 回目の RST 応答の IP ヘッダの識別子フィ 48 ールドの (Guess probability. (Guess probability. (Guess probability. (Guess probability. (Guess probability. ・ 28 % ) ・ 28 % ) ・ 28 % ) ・ 28 % ) ・ 28 % ) UNIX MAGAZINE 2005.6 カーネル 2.4. x はつねに 0 を指定するようです [ 8 ] 。 識別子がランダムになっているようです。また、 Linux 別子の値が轣曽しますが、 OpenBSD では IP ヘッダの 差がない場合には、、 0 " を指定します。多くの OS では識 以上、 256 以下の場合にば轣曽しているとみなして I 合には識別子の値がランダムであるとみなして、、 R " 、 1 す。差異が 256 より大きいか、もしくは 0 より小さい場 値から、 1 回目の RST 応答の値を引き、差異を求めま 2 回目の RST 応答の IP ヘッダの識別子フィールドの ・ tcp-rst-ip-id-strategy = I 値を調べます ( 例 : 0 以外 ) 。

5. UNIX MAGAZINE 2005年6月号

連載 / ネットワークとセキュリティ —d —R の OS のトラフィックをフィルタするといった設疋ができ インガー・プリンティング機能が組み込まれており、特定 リング・プログラムの PF には、 p0f 相当の受動的 OS フ でいます。また、 OpenBSD に付属するバケットフィルタ では、ホストの OS 情報を取得するために p0f を組み込ん 余談になりますが、いくっかの商用の脆弱性管理ツール だ実用的とは言い難いのカ観状です。 ングをおこなえます。こちらも残念ながら精度の面でま ーやタイムアウトをもとに OS フィンガー・プリンティ RST モードで検知をおこないます。 TCP の接続工ラ 用レベルに達していません。 測するのに役立ちますが、現時点では精度の面でまだ実 しているホストに接続してくるクライアントの OS を推 SYN 十 ACK モードで検知をおこないます。 pOf を起動 —A 十 ACK を用いる方法、 RST を用いる方法にも対応してい フィンガー・プリンティングをおこなっていますが、 SYN p0f は、デフォルトでは SYN フラグにもとづいて OS 指定したファイルに検知結果を出力します。 -w ファイル名 査するのに役立ちます。 に NAT などを利用しているホストがないかどうかを調 レスを共有していることを検出します。ネットワーク内 最近の通信内容にもとづき、複数のシステムが IP アド ます。 バックグラウンドで動作するようデーモンとして起動し ットとテメリット ます [ 9 , 10 ] 。 受動的フィンカー・プリンティングのメリ 52 調査はネットワークを流れているトラフィックを観測す メリット リットとデメリットがあります。 受動的フィンガー・プリンティングには、次のようなメ るだけなので、ネットワークにまったく負荷を与えない。 ・デュアルプートのホストなど、あるホストの OS か変更 された場合に、いち早くその変化を検出できる。 テメリット ・フィンガー・プリンティングをおこなうにはトラフィッ クを入手しなければならないため、ネットワーク構成の 変更が必要な場合がある ( ネットワーク型 IDS と同様 ) 。 ・既存のトラフィックをもとに OS を推測するため、任意 のホストに対してフィンガー・プリンティングをおこな トラフィックの種類や量によ うことはできない。また、 っては、 OS を判断するための十分な情報が得られない 場合がある。 OS フィンカー・プリンティングの回避 OS フィンガー・プリンティングは、ネットワーク管理 に有用な反面、攻撃者が攻撃対象の環境を詳細に把握する ために利用されるおそれがあります。そこで、リモートか らのフィンガー・プリンティングを回避する方法を紹介し ます。 能動的 OS フィンカー・プリンティンク リモートから能動的 OS フィンガー・プリンティングを おこなわれるのを防ぐには、ファイアウォールなどを利用 して不要なポートをフィルタします。こうすれば、能動的 な OS フィンガー・プリンティングを回避したり、精度を 低下させることができます。 Nmap の場合には、最低 1 つ の開いている TCP ポート、閉じられている TCP ポート と UDP ポートが必要なため、完全にポートが閉じられて いるホストに対しては OS フィンガー・プリンティングは おこなえません。 図 6 に OS を推測できない例を示します。 また、 Xprobe2 の場合には、 ICMP 工ラーメッセージ をもとに OS を推測しているため、ファイアウォールで ICMP をフィルタすることで、 OS フィンガー・プリン ティングがおこなえなくなります。 受動的 OS フィンガー・プリンティンク 受動的 OS フィンガー・プリンティングは、 MTU や TCP の初期ウインドウサイズをもとに OS を推測します。 UNIX MAGAZINE 2005.6

6. UNIX MAGAZINE 2005年6月号

Xprobe2 は、おもに ICMP バケットを送信し、その応 答の内容をもとに OS を推測します [ 6 , 7 ] 。フィンガー プリンティングをおこなう際、 Nmap では多くの TCP?S ケットを送信するのに対し、 Xprobe2 は少の ICMP ノヾ ケットのみを送信するため、ネットワークに与える負荷が 比較的軽いといえます。 Xprobe2 のインストール まず、 Xprobe2 のインストールの手川頁を説明します。 執筆時点での Xprobe2 の最新版は 0.2.2 です。下記の イ乍者のページ、 ・ http://www.sys-security.com index. php?page=xprobe の、 Download" という項目にあるファイル名 (xprobe2- 0.2.2. tar. gz ) をクリックすると、 SourceForge のサイト からダウンロードできます。 入手したアーカイプを展開します。 $ tar xvzf xprobe2-O . 2 . 2 . tar. gz 44 連載 / ネットワークとセキュリティ インストールをおこ Uptime 2.747 days (since Sat Apr 9 00 : 54 : 32 2005 ) OS details : FreeBSD 5 .2—CURRENT (Jan 2004 ) 0 Ⅱ X86 Running : FreeBSD 5 . X Device type : general purpose 199/tcp open smux 80/tcp open http 25/tcp open smtp 22/tcp open ssh STATE SERV I CE PORT (The 1659 ports scanned but not shown below are in state : closed) lnteresting ports on habanero ( 192 . 168 . 1 . 70 ) : Starting nmap 3 .77 ( http: //www. insecure. org/nmap/ ) at 2005 ー 04 ー 11 18 : 49 JST # nmap ー 0 habanero 図 2 Nmap による OS フィンガー・プリンティング (FreeBSD 5.2.1 の場合 ) Uptime 9 . 228 days (since Sat Apr 2 11 : 18 : 12 2005 ) 2.4.21 , Linux 2 . 6.8 (Debian) OS details: Linux 2.4.21 (Suse, X86 ) , Linux 2.4.6 Running : Linux 2.4. X ー 2 . 6. X Device type : general purpose 80/tcp open http 22/tcp open ssh 21/tcp open ftp PORT STATE SERVICE (The 1658 ports scanned but not shown below are in state : closed) lnteresting ports 0 Ⅱ tux ( 10 . 0.0.1 ) : Starting nmap 3.77 ( http: //www. insecure.org/nmap/ ) at 2005 ー 04 ー 11 16 : 45 JST # nmap ー 0 tux $ su 図 1 Nmap による OS フィンガー・プリンティング (Debian GNU/Linux 3.1 の場合 ) 次に、カレント・ディレクトリを xprobe2 ー 0.2.2 に変 更し、 configure と make を実行します。なお、コンパ イルにあたっては、 libpcap 0.6. x 以降が必要になります。 libpcap がインストールされていない場合には、あらかじ めインストールしておいてください。また、 libusi 十十とい うライプラリも必要ですが、アーカイプに同梱されている ため、別途入手する必要はありません。 # make install $ su ないます。 最後に root ユーザーに変更して、 $ make $ . /configure $ cd xprobe2-O.2.2 UNIX MAGAZINE 2005 . 6 ョンのままなので、注意が必要です。 testing と unstable のみに含まれ、 stable は旧いバージ 単にインストールできます。ただし、新しいバージョンは ジが用意されているので、 apt-get コマンドを利用して簡 Debian GNU/Linux では xprobe の deb パッケー

7. UNIX MAGAZINE 2005年6月号

連載 / ネットワークとセキュリティ 図 6 OS を描則できない例 # nmap ー 0 firewalled (The 1586 ports scanned but ot shown below are in state : filtered) lnteresting ports on firewalled ( 10 . 0 . 0.199 ) : lnsufficient responses for TCP sequencing ( 0 ) , OS detection may be less accurate lnsufficient responses for TCP sequencing ( 0 ) , OS detection may be less accurate lnsufficient responses for TCP sequencing ( 0 ) , OS detection may be less accurate closed TCP port Warning: OS detection will be MUCH less reliable because we did not find at least 1 open and 1 Starting nmap 3.77 ( http://買買買.insecure.org/nmap/ ) at 2005 ー 04 ー 12 00 : 06 JST PORT 68/tcp STATE SERVICE open dhcpclient 22370 / tcp open hpnpd T00 many fingerprints match this host tO give specific OS details 1 IP address ( 1 host (p) scanned in 74.783 seconds Nmap run completed したがって、ホストの TCP/IP スタックの値をデフォル ト値から変更することで、受動的 OS フィンガー・プリン ティングを回避できます。 ☆ 今回紹介した OS フィンガー・プリンティングの手法 は、さまざまな TCP/IP スタックの実装上の差異をもと に、直接調べられないホストの OS を推測できます。 OS フィンガー・プリンティングから得られる情報とほかのツ ールを組み合わせることで、いままでにない活用方法がみ つかるかもしれません。 ( しらはた・しん慶應義塾大学 ) [ 赭 URL] [ 1 ] Ryan Spangler, ' ' AnaIysis of Remote Active Operat- ing System Fingerprinting T001s ” , May 2003 http://www.packetwatch.net/documents/papers/ osdetection. pdf [2]SIM ってなあに ? http://www.kazamidori.jp/SECURITY/osc2005.pdf [ 3 ] 「セキュリティ・イベント管理ソフトは包括的な製品がまだ存在 しない」 , 米 Forrester http://itpro.nikkeibp.co.jp/free/ITPro/USNEWS/ 20040924 / 150339 / [ 4 ] Taking Airn http://infosecuritymag.techtarget.C0m/SS/O.295796 sid6-iss306-art540 00. html [ 5 ] Remote OS detection via TCP/IP Stack FingerPrint- mg http://www.insecure.org/nmap/ nmap-fingerprinting-article. html UNIX MAGAZINE 2005 . 6 http://www.insecure.org/nmap/ nmap-fingerprinting-article-jp. html ( 日本語版 ) [ 6 ] Ofir Arkin ” lntroducing X: Playing Tricks with ICMP ” http://www.blackhat.com/html/bh-media-archives/ bh-archives-2001. html http://www.blackhat.com/presentations/bh-usa-()l /OfirArkin/bh-usa-01-Ofir-Arkin-X. ppt [ 7 ] Ofir Arkin and Fyodor Yarochkin, ” ICMP based re- mote OS TCP/IP stack fingerprinting techniques ” http://www.phrack.org/phrack/57/p57-0x07 [ 8 ] A crash course with Linux Kernel 2.4. x , IP ID values & RFC 791 http://lists.virus.org/bugtraq-0204/msg00152.html [ 9 ] OpenBSD: OS Fingerprinting Merged lnto PF http://kerneltrap.org/node/770/ [ 10 ] PF: Packet Filtering http://www.openbsd.org/faq/pf/filter.html#osfp 53

8. UNIX MAGAZINE 2005年6月号

連載 / ネットワークとセキュリティ 閉じている TCP ポートに、 SYN フラグを付けたセグ 閉じている TCP ポートに、 ACK フラグを付けたセグ ラグを付けたセグメントを送信します。 開いている TCP ポートに、 SYNIFINIURGIPSH フ ・テスト 3 スキャンです。 ないセグメントを送信します。いわゆる TCP NULL 開いている TCP ポートに、まったくフラグの立ってい ・テスト 2 ションを組み合わせたセグメントを送信します。 開いている TCP ポートに、 SYN フラグと無効なオプ ・テスト 1 の初期シーケンス番号の変化を観測します。 開いている TCP ポートにバケットを 6 回送信し、 TCP ・ TCP のシーケンス番号 に用いるチェック手法を説明します。 ます。以下に、 Nmap がフィンガー・プリンティングの際 とともに、意図的に異常な TCP セグメントなどを送信し 違いから OS を推測するため、ポートスキャンをおこなう Nmap では、おもに TCP/IP スタックのエラー処理の Nmap のテスト手法 紹介しているので、今回は省略します。 なお、 Nmap のインストール方法については 3 月号で いて説明します。 Nmap がフィンガー・プリンティングで利用する手法につ 的フィンガープリンティング・ツールでもあります。まず、 Nmap はポートスキャナとして有名ですが、優れた育 Nmap をとりあげます。 して、 2005 年 3 月号でも紹介した Nmap と、 Xprobe2 ・テスト 6 メントを送信します。 ・テスト 5 です。 ・テスト 4 メントを送信します。いわゆる TCP ACK スキャン 開いている TCP ポートに、 ACK フラグを付けたセグ UNIX MAGAZINE 2005.6 メントを送信します (TCP ACK スキャン ) 。 ・テスト 7 閉じている TCP ポートに、 FINIPSHIURG フラグを 付けたセグメントを送信します。いわゆる TCP xmas Tree スキャンです。 RFC793 では、閉じたポートがこ のようなセグメントを受信した場合には、 RST バケッ トを返送すべきであるとしています。 port unreachable' メッセージテスト 閉じている UDP ポートにデータグラムを送信し、返送 される ICMP Port Unreachable メッセージを観測し ます。 これらの各手法に対する OS ごとの応答内容は nmap- os-fingerprints というファイルにまとめられています。 最新のデータは、 ・ http://www.insecure.org/nmap/data/ nmap-os-fingerprints からダウンロードでき、原稿執筆時点で 1 , 353 種類の OS や機器のデータを 1 泉しています。 Nmap の利用 Nmap を利用して OS フィンガー・プリンティング をおこなうには、 root 権限でン O " オプションを付けて Nmap を起動します。図 1 は、 Debian GNU/Linux 3.1 (sargeo カーネル 2.4.27 ) ホストを対象にフィンガー・プ リンティングをおこなった例です。 Nmap は、このホスト (tux) の OS が Linux であると正しく推測しています。 図 2 は、 FreeBSD 5.2.1 のホスト (habanero) に対し てスキャンをおこなった例で、こちらもおおむね正しい結 果が得られています。 繰返しになりますが、 Nmap で OS フィンガー・プリ ンティングをおこなう場合、必然的にポートスキャンをお こなうこととなります。あらかじめ、対象となるホストや ネットワークの管理者の承諾を得るようにしましよう。 Xprobe2 Xprobe2 は、 Ofir Arkin 氏、 Fyodor Yarochkin 氏、 Meder Kydyraliev 氏によって開発された能動的 OS フ インガープリンティング・ツールです。 43

9. UNIX MAGAZINE 2005年6月号

NEWS tel E8500 、主記憶 ( ECC 付き DDR 2 / 400 SDRAM) は最大 32GB 。 HD (UItra320 SCSI) 数は、 140Rd ー 4 が 5 、 140He が 13 ( いすれも最大 ) で、 RAID 0 / 1 / 5 構成、ホットプラグに対応。拡張ス ロットは、 PCI ExpressX3 、 PCI-X x4 、 PCIx20 1/F は、 10 / 100 / 1000 Base T x 2 、 10Base T / 100B ぉ e TX ( 管理用 ) 、パラレル、シリアル x3 、 USB 2.0X2 、 USB 1.1 、キーボード、マウ ス、ディスプレイ、 ICMB (lntelligent Chassis Management Bus) x 2 。冗 長電源 ( オプション ) 、冗長ファンはホット プラグに対応。 外形寸法 (HxWxD) と重量は、 140 Rd ー 4 が 17.6X48X76.6cm で 47kg 、 140 •HP Opteron 252 使用の WS 日本ヒューレット・パッカード (Tel 03 ー 5304 ー 6660 ) は、 AMD64 プラットホ ームの WS 、、 HP XW9300 Worksta- tion" に Opteron 252 使用モデルを追 加、販売を開始した。 CPU は Opteron 252 (2.6GHz) x 1 ( デュアル・プロセッサ対応 ) 、チップセ ットは NVIDIA nForce Profession- al 十 AMD ー 8131 、主記億は 2GB ( 最 大 16GB ) 、 HD は 74GB 、 ) ヒ学ドライプ は 16 倍速 DVD 士 RW ドライプ。グラフ イックス・カードはオプション。 HD I/ F は、 Ultra320 SCSI 、シリアル ATAO 拡張べイは、 5.25 ⅲ chX2 ( 空き 1 ) 、 3. 5inchx5 ( 空き 4 ) 。拡張スロットは、 PCI Express x2 、 PCI-XX3 、 PCIO I/F は、 10 / 100 / 1000Base T 、シリア ル、パラレル、 USB 2.0X6 、 IEEE1394 x2 、 PS/2x2 、ディスプレイ、音声入 出力。 ■旧 M ブレードサーバーを値下げ 日本アイ・ビー・エム (Tel 0120- 041992 ) は、 lntel アーキテクチャのプレ ードサーバー IBM e server Blade- Center" の IBM Express ポートフォリ オ対応モデルの価格を改定した。 CPU が Xeon ( 2.8G Ⅱ z ) x 1 ~ 2 の 耐圧 100kg のノート PC 松下電器産業 ( TeI 0120 ー 873029 ) は、 ノート PC 、、 Let'snote" の新モデルの販 売を開始した。 セキュリティ・チップが標準で、 HD のパスワード保護に対応。光学ドライ プを備える、、 Let'snote Y4 同 W4" シリーズ、 1 スピンドルの、、同 T4 " 、、同 R 4 " シリーズがある。、 V4 / T4 は耐圧 100 16 「 IBM e server BladeCenter HS20 Express ポートフォリオ対応モデル」を 9 % 、 HS20 を最大 14 基懾内できる高さが 7U のシャーシ「同 Express ポートフォリ オ対応モデル」を 13 % 値ドげした。 IBM Express ポートフォリオ対応モデルは用 公下電器 kg 、 30cm 落下試験をクリアした筐体 を使用。 CPU は、 Y4 が低電圧版 Pen ー tium M 758 ( 1.5GHz ) 、 W4/T4/R 4 が超低電圧版 Pentium M 753 ( 1. 2GHz)0 いずれもチップセットは lntel 915GMS Express 、主記意は 512MB ( 最大 IGB ) 、ファンレス言妬 t 。充電量を 約 80 % に制限し、バッテリーの寿命を延長 He が 46X31X74Cm ( スタビライザ含 まず ) で 75kg 。 対応 OS は、 Red Hat Enterprise Linux AS 4 (EM64T) 、 Windows 2000/Server 2003 。 価格はいずれも 135 万円 (ICPU ( 3. 16GHz) 、主記慮 2GB 、ディスクレス構 成 ) から。 プレインストール OS は Windows XP Professiona10 外形 -寸法 (HXWXD) は 44.9X21X 52.5cm 、重量は 19kgo 価格は 449 , 400 円から。 途や目的に合わせて構成 / ノヾッケージ化し ロ 0 直販価格は、 IBM e server BIade- Center HS20 Express ポートフォリオ 対応モデルが 262 , 500 円、同 Express ポ ートフォリオ対応モデルが 798 , 000 円 ( 旧 価格は、それぞれ 289 , 800 円、 920 , 850 円 ) 。 Let'snote CF-T4 するエコノミーモードを備える。 プレインストール OS は Windows UN 工 X MAGAZINE 2005.6