現役ペンテスト技術者が選ぶ 使えるセキュリティツール(15) 「tcptraceroute」 | ScanNetSecurity
2024.04.20(土)

現役ペンテスト技術者が選ぶ 使えるセキュリティツール(15) 「tcptraceroute」

このコーナーでは、現役のペネトレーションテスト技術者が、使えるセキュリティツールを、ペンテストの現場の視点から紹介します。

特集 特集
このコーナーでは、現役のペネトレーションテスト技術者が、使えるセキュリティツールを、ペンテストの現場の視点から紹介します。

・名称 …… tcptraceroute
・配布制限 …… フリーウェア
・商用版の有無 …… 無
・類似ツール …… tracetcp
・DL URL …… http://michael.toren.net/code/tcptraceroute/
・対応OS …… Unix系OS
・分野 …… 経路調査
・コマンド一覧

(1) 基本項目と概要

この記事を読まれている方の中では「traceroute」という言葉をご存知の方が殆どだろう。「traceroute」とはホスト間のネットワーク上の経路を調査するコマンドで、ホスト間に存在するルータやフィアウォールなどのネットワーク機器をリストアップすることができる。Windows系OSやLinux系OSにも標準で付属しているコマンドバイナリであり、主にネットワークのトラブルシューティングに用いられる。
(Linux系OSのコマンド名は「traceroute」Windows系OSの場合は「tracert」であるが本稿では「traceroute」と統一する。)

今回は、このOS標準で付属しているものから一歩発展した「tcptraceroute」を紹介する。

(2) コマンドサンプル

本題の「tcptraceroute」の説明に入る前に、前提として「traceroute」の仕組みを簡単ではあるが解説したい。

「traceroute」は、TTL(Time To Live)というパケットの生存時間を利用している。

例えば、TTLに1という値をセットしたパケットを送出し、一つ目のネットワーク機器がそのパケットを受信した段階で1つTTLが減らされ0となり、そのネットワーク機器からは通常(*1)、ICMP Time ExceededというTTLの超過によるパケットの破棄報告のパケットが返される。そして、次にTTLに2という値をセットしたパケットを送出し、二つ目のネットワーク機器の結果を得る。
「traceroute」は目的のホストに辿り着くまで、これを繰り返すことで経路情報をリストアップすることを実現している。

ご存知の方もいるとは思うが、「traceroute」は、Windows系OSとLinux系OSとでデフォルトで用いられる方法が異なっている。

Windowsでは、ICMP Echo Request(Ping)の送出、Linux系OSでは、ハイポートへのUDPパケットの送出で行っている。(Linux系OSでは「-I」オプションを用いることでICMPでの「traceroute」を行うことが可能である。)

それでは、本題に入ろう。

「traceroute」はICMPとUDPのみと思われがちだが、今回紹介するツール名にもあるように「tcptraceroute」を使用することでTCPにおける「traceroute」を行うことも可能である。

インストールには、libnetとlibpcapが事前にインストールされている必要があるが、インストール自体は非常に簡単なので割愛させていただく。

libnet:
http://www.packetfactory.net/libnet
libpcap:
http://www.tcpdump.org/

HELPは以下のようになっている。

・tcptraceroute

tcptraceroute 1.5beta7
Copyright (c) 2001-2006 Michael C. Toren
Updates are available from
http://michael.toren.net/code/tcptraceroute/

Usage: tcptraceroute [-nNFSAE] [-i ] [-f ]
[-l ] [-q ] [-t ]
[-m ] [-pP] ] [-s ]
[-w ] [destination port] [packet length]


いくつかのオプションが存在するが、特に必要ない場合は、以下のように実行するとよいだろう。

・tcptraceroute <対象アドレス> <ポート>

ポートの指定は、その対象上でオープンしているポート番号を指定する。以下はWebサーバに対して「tcptraceroute」を実行した結果である。

・tcptraceroute -n zz.zz.zz.zz 80
Selected device eth0, address xx.xx.xx.xx port 32780 for outgoing packets
Tracing the path to zz.zz.zz.zz on TCP port 80 (http), 30 hops max
1 aa.aa.aa.aa 2.014 ms 0.799 ms 1.030 ms
2 bb.bb.bb.bb 2.855 ms 4.766 ms 3.262 ms
3 cc.cc.cc.cc 4.750 ms 5.433 ms 5.774 ms
4 dd.dd.dd.dd 8.098 ms 8.415 ms 10.174 ms
5 ee.ee.ee.ee 6.768 ms 6.911 ms 5.298 ms
6 ff.ff.ff.ff 9.122 ms 3.879 ms 3.884 ms
7 gg.gg.gg.gg 3.710 ms 3.813 ms 3.777 ms
8 hh.hh.hh.hh 26.527 ms 7.288 ms 7.805 ms
9 ii.ii.ii.ii 6.499 ms 3.864 ms 2.914 ms
10 jj.jj.jj.jj 7.682 ms 6.463 ms 4.389 ms
11 kk.kk.kk.kk 3.817 ms 3.791 ms 3.783 ms
12 ll.ll.ll.ll 5.066 ms 3.827 ms 3.750 ms
13 mm.mm.mm.mm 5.173 ms 5.131 ms 5.799 ms
14 zz.zz.zz.zz [open] 5.209 ms 9.157 ms 4.986 ms

(*1)ネットワーク機器によっては対応していない、返答しない設定にしている、なんからの障害が発生しているなどの理由からICMP Time Exceededを得られない場合もある。

(3) 使用例とTIPS、検査者の視点から

ペネトレーションテストでは、「traceroute」を実行した結果によっては低危険としてではあるが指摘する場合がある。

指摘の内容としては…

【執筆:NTTデータ・セキュリティ株式会社 辻 伸弘】
──
※ この記事は Scan購読会員向け記事をダイジェスト掲載しました
購読会員登録案内 http://www.ns-research.jp/cgi-bin/ct/p.cgi?w02_ssw

《ScanNetSecurity》

特集

PageTop

アクセスランキング

  1. 東芝テックが利用するクラウドサービスに不正アクセス、取引先や従業員の個人情報が閲覧された可能性

    東芝テックが利用するクラウドサービスに不正アクセス、取引先や従業員の個人情報が閲覧された可能性

  2. Windows DNS の脆弱性情報が公開

    Windows DNS の脆弱性情報が公開

  3. バッファロー製無線 LAN ルータに複数の脆弱性

    バッファロー製無線 LAN ルータに複数の脆弱性

  4. 「引っかかるのは当たり前」が前提、フィッシングハンターが提案する対策のポイント ~ JPAAWG 6th General Meeting レポート

    「引っかかるのは当たり前」が前提、フィッシングハンターが提案する対策のポイント ~ JPAAWG 6th General Meeting レポート

  5. 転職先で営業活動に活用、プルデンシャル生命保険 元社員 顧客情報持ち出し

    転職先で営業活動に活用、プルデンシャル生命保険 元社員 顧客情報持ち出し

  6. プルーフポイント、マルウェア配布する YouTube チャンネル特定

    プルーフポイント、マルウェア配布する YouTube チャンネル特定

  7. セキュリティ対策は株価を上げるのか ~ 株主総利回り(TSR)の平均値は高い傾向

    セキュリティ対策は株価を上げるのか ~ 株主総利回り(TSR)の平均値は高い傾向

  8. 東京高速道路のメールアカウントを不正利用、大量のメールを送信

    東京高速道路のメールアカウントを不正利用、大量のメールを送信

  9. 山田製作所にランサムウェア攻撃、「LockBit」が展開され複数のサーバのデータが暗号化

    山田製作所にランサムウェア攻撃、「LockBit」が展開され複数のサーバのデータが暗号化

  10. フュートレックにランサムウェア攻撃、本番環境への侵入形跡は存在せず

    フュートレックにランサムウェア攻撃、本番環境への侵入形跡は存在せず

ランキングをもっと見る