インターネットソフトウェア(4日目) セキュリティ演習(ツール編)

【目次】

※以下で扱う3つのツール(Nmap, tcpdump, Wireshark)は、演習用VMにインストール済みです。

ポートスキャンツール

ポートスキャンとは?

  • ポートスキャンとは、ネットワーク上のステーションの存在や、そのステーションで稼働しているOSやサービスの内容(バージョン、種類など)を調査することです。
  • ポートスキャンは、サイバー攻撃を目論む攻撃者が、攻撃対象となるステーションを事前に調査するために行います。
  • 攻撃者の攻撃までの手順:
  • ホストスキャンによって攻撃対象の候補ステーションリストを作成する。(※)
  • 攻撃対象の候補ステーションリストに基づいてポートスキャンを行い、ステーションごとの情報(脆弱性)を収集する。
  • ステーションごとの情報(脆弱性)に基づいて、そのステーションにサイバー攻撃を行う。
  • ポートスキャンは、攻撃者からのサイバー攻撃を未然に防ぐために、システム運用者がシステムの脆弱性を発見するためにも行われます。
  • OSやサービスの種類やバージョンが分かると、攻撃者はそのOSやサービスの種類やバージョンに存在する脆弱性をピンポイントで攻撃することができます。

Nmap

  • Nmap(Network mapper)は、OSやサーバーアプリケーションの種類やバージョンを調べることができるポートスキャンツール(ポートスキャナ)です。
  • 基本的な使い方
  • ホストスキャン(リストスキャン)
# nmap -sL (ターゲット)
(例)
# nmap -sL 10.0.6.0/26

  ※ターゲット: IP, IP/MASK(prefix), etc.
  ※スキャンによっては、数分程度時間がかかります。

  • ホストスキャン(pingスキャン)
# nmap -sP (ターゲット)
  • OSスキャン
# nmap -A (ターゲット) *OSの種類とバージョン
又は
# nmap -O (ターゲット) *OSの種類のみ
  • サーバーアプリケーションスキャン
# nmap -sV (ターゲット)
  • TCPスキャン(デフォルト)
# nmap -sT (ターゲット)
# nmap -sA (ターゲット) *ACKフラグのみのスキャンパケット
# nmap -sS (ターゲット) *SYNフラグのみのスキャンパケット
# nmap -sF (ターゲット) *FINフラグのみのスキャンパケット
# nmap -sN (ターゲット) *フラグなしのスキャンパケット
  • UDPスキャン
# nmap -sU (ターゲット)
  • 高速スキャン(よく使われるポートのみスキャンする(約1200ポート))
# nmap -F (ターゲット)
  • あまり推奨されないが、少し凝った使い方
  • スキャンパケットの送信元アドレスを偽装する。
# nmap -e (インタフェース) -S (偽装する送信元IP) (ターゲット)
(例)
# nmap -e eth0 -S 1.1.1.1 10.0.6.0/26
※演習用VMではできません。
  • 踏み台サーバー(又はProxy)を経由する。
# nmap -sI (踏み台サーバーのアドレス) (ターゲット)
  • 送信元ポートを偽装する。
# nmap --source-port (偽装する送信元ポート番号) (ターゲット)
  • MACアドレスを偽装する。
# nmap --spoof-mac (偽装するMACアドレス) (ターゲット)

パケットキャプチャツール

パケットキャプチャとは?

  • パケットキャプチャとは、ネットワーク上を実際に流れるパケットを採取することです。
  • パケットキャプチャは、攻撃者が他人の通信パケットを採取し、そのパケットから個人情報を奪取したり、他人に成りすますための手段の一つとなり得ます。
  • ファイアウォール環境などでステーション間の通信が正しく行えない場合に、パケットキャプチャによってパケットの流れをトレースすることで、問題個所を特定することなどに有用です。
  • 自身が関与しない(自身が送信先にも送信元でもない)パケットをキャプチャするためには、リピータハブを使うか、ポートミラー機能を有するスイッチングハブを使う必要があります。(※)

tcpdump

  • tcpdumpは、ネットワークを流れているパケットをキャプチャするパケットキャプチャツールです。
  • tcpdumpは、ユーザインタフェースはCUIのみに対応しています。
  • 基本的な使い方
  • パケットキャプチャするインタフェースを指定する。
# tcpdump -i (インタフェース) -n
(例)
# tcpdump -i eth0 -n
  • パケットキャプチャ対象のアドレスとポートを指定する。
# tcpdump -i eth0 -n host (ターゲット) and port 22
# tcpdump -i eth0 -n net (ターゲット) mask (ターゲットのマスク) and port 22
  • パケットキャプチャする送信元又は送信先アドレスを指定する。
# tcpdump -i eth0 -n src host (ターゲット)
# tcpdump -i eth0 -n dst host (ターゲット)
  • パケットキャプチャしたデータをASCII表示する。
# tcpdump -i eth0 -n -X host (ターゲット) *16進数とASCII表示
# tcpdump -i eth0 -n -A host (ターゲット) *ASCII表示のみ
  • パケットキャプチャするサイズを指定する。
# tcpdump -i eth0 -n -x (パケットサイズ) *デフォルトでは65535バイト(0で制限なし)
  • パケットキャプチャするパケット数を指定する。
# tcpdump -i eth0 -n -c (パケット数)
  • 通常よく使いそうなオプション
# tcpdump -i eth0 -n -A -s 0 host (ターゲット)

Wireshark

  • Wiresharkは、パケットキャプチャ機能に加えて、数百以上のプロトコルを解析する機能を有するパケットアナライザツールです。
  • Wiresharkは、GUI/CUIいずれのユーザインタフェースにも対応しています。
  • 基本的な使い方(CUI版)
  • 使用できるインタフェースの確認
[root@is2017-40 ~]# tshark -D
1. eth0
2. nflog
3. nfqueue
4. usbmon1
5. usbmon2
6. usbmon3
7. usbmon4
8. any
9. lo (Loopback)
※上記の結果が得られるが、通常は、eth0, loを使用することになる。
  • パケットキャプチャ対象のアドレスとポートを指定する。
# tshark -i 1 -n -l host (ターゲット) and port 22
  • その他、Wireshark(CUI版)は、tcpdumpとほぼ同等のことができます。
  • WiresharkはGUI版を使うメリットが大きいです。(出力結果の表示機能、統計・解析機能など)
[ Back ]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2017-08-25 (金) 06:27:50 (299d)