recon-nmap
Nmapを使ってネットワークの偵察やセキュリティ監査を行い、ポートスキャンやサービス特定、脆弱性検出を通じて、ネットワーク構成の把握やセキュリティ評価、コンプライアンススキャンなどを効率的に行うSkill。
📜 元の英語説明(参考)
Network reconnaissance and security auditing using Nmap for port scanning, service enumeration, and vulnerability detection. Use when: (1) Conducting authorized network reconnaissance and asset discovery, (2) Enumerating network services and identifying running versions, (3) Detecting security vulnerabilities through NSE scripts, (4) Mapping network topology and firewall rules, (5) Performing compliance scanning for security assessments, (6) Validating network segmentation and access controls.
🇯🇵 日本人クリエイター向け解説
Nmapを使ってネットワークの偵察やセキュリティ監査を行い、ポートスキャンやサービス特定、脆弱性検出を通じて、ネットワーク構成の把握やセキュリティ評価、コンプライアンススキャンなどを効率的に行うSkill。
※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o recon-nmap.zip https://jpskill.com/download/17035.zip && unzip -o recon-nmap.zip && rm recon-nmap.zip
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/17035.zip -OutFile "$d\recon-nmap.zip"; Expand-Archive "$d\recon-nmap.zip" -DestinationPath $d -Force; ri "$d\recon-nmap.zip"
完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。
💾 手動でダウンロードしたい(コマンドが難しい人向け)
- 1. 下の青いボタンを押して
recon-nmap.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
recon-nmapフォルダができる - 3. そのフォルダを
C:\Users\あなたの名前\.claude\skills\(Win)または~/.claude/skills/(Mac)へ移動 - 4. Claude Code を再起動
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。
詳しい使い方ガイドを見る →- 最終更新
- 2026-05-18
- 取得日時
- 2026-05-18
- 同梱ファイル
- 5
📖 Skill本文(日本語訳)
※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。
Nmap ネットワーク偵察
概要
Nmap (Network Mapper) は、ネットワークの発見、セキュリティ監査、脆弱性評価のための業界標準ツールです。このスキルでは、ポートスキャン、サービス列挙、OSフィンガープリント、および Nmap Scripting Engine (NSE) を使用した脆弱性検出を含む、許可された偵察操作のための構造化されたワークフローを提供します。
重要: ネットワークスキャンは中断を引き起こす可能性があり、適切な許可を得てのみ実施する必要があります。所有していないネットワークまたはシステムをスキャンする前に、必ず書面による許可を得てください。
クイックスタート
基本的なホスト発見とポートスキャン:
# 一般的なポートのクイックスキャン
nmap -F <target-ip>
# サービス検出付きの上位1000ポートのスキャン
nmap -sV <target-ip>
# OS検出とデフォルトスクリプトによる包括的なスキャン
nmap -A <target-ip>
コアワークフロー
ネットワーク偵察ワークフロー
進捗状況: [ ] 1. 許可と範囲の確認 [ ] 2. ホストの発見と資産の列挙の実行 [ ] 3. 稼働中のホストでのポートスキャンの実施 [ ] 4. サービスとバージョンの列挙 [ ] 5. OSフィンガープリントと検出の実行 [ ] 6. 脆弱性検出のための NSE スクリプトの実行 [ ] 7. 調査結果の文書化とレポートの生成 [ ] 8. 結果の検証と誤検知の特定
各ステップを体系的に進めてください。完了した項目にチェックを入れてください。
1. 許可の検証
重要: スキャン活動の前に:
- ネットワーク所有者からの書面による許可を確認する
- スコープ内の IP 範囲とドメインについて、スコープドキュメントを確認する
- スキャンウィンドウとレート制限の要件を確認する
- 偶発的な中断のための緊急連絡先を文書化する
- ブラックリストに登録されたホスト(本番データベース、重要なインフラストラクチャ)を確認する
2. ホストの発見
ターゲットネットワーク内の稼働中のホストを特定します。
# Ping スイープ (ICMP echo)
nmap -sn <target-network>/24
# ARP スキャン (ローカルネットワークのみ、より高速で信頼性が高い)
nmap -sn -PR <target-network>/24
# TCP SYN ping (ICMP がブロックされている場合)
nmap -sn -PS22,80,443 <target-network>/24
# UDP ping (TCP をブロックするホストの場合)
nmap -sn -PU53,161 <target-network>/24
# Ping を無効にし、すべてのホストが稼働中であると仮定する
nmap -Pn <target-network>/24
ホスト発見テクニック:
- ICMP Echo (-PE): 標準的な ping、しばしばブロックされる
- TCP SYN (-PS): 指定されたポートへのハーフオープン接続
- TCP ACK (-PA): ACK パケットを送信、ステートフルファイアウォールに役立つ
- UDP (-PU): 指定されたポートに UDP パケットを送信
- ARP (-PR): レイヤ2の発見、ローカルネットワークでのみ機能する
後続のスキャンのために、稼働中のホストをファイルに出力します。
nmap -sn <target-network>/24 -oG - | awk '/Up$/{print $2}' > live_hosts.txt
3. ポートスキャン
発見されたホストでオープンポートをスキャンします。
# 高速スキャン (上位100ポート)
nmap -F -iL live_hosts.txt
# 上位1000ポート (デフォルト)
nmap -iL live_hosts.txt
# すべての 65535 ポートをスキャン
nmap -p- -iL live_hosts.txt
# 特定のポートをスキャン
nmap -p 22,80,443,3389,8080 -iL live_hosts.txt
# ポート範囲をスキャン
nmap -p 1-1024,3000-9000 -iL live_hosts.txt
スキャンテクニック:
-
TCP SYN Scan (-sS): デフォルト、ステルスハーフオープンスキャン (root が必要)
sudo nmap -sS <target-ip> -
TCP Connect Scan (-sT): フル TCP 接続 (root は不要)
nmap -sT <target-ip> -
UDP Scan (-sU): UDP ポートをスキャン (遅いが重要)
sudo nmap -sU -p 53,161,500 <target-ip> -
Version Detection (-sV): バージョン情報を得るためにサービスを調査
nmap -sV <target-ip> -
Aggressive Scan (-A): OS検出、バージョン検出、スクリプトスキャン、traceroute を有効にする
sudo nmap -A <target-ip>
タイミングとパフォーマンス:
# Paranoid (0) - 非常に遅い、IDS 回避
nmap -T0 <target-ip>
# Sneaky (1) - 非常に遅い、IDS 回避
nmap -T1 <target-ip>
# Polite (2) - 帯域幅の使用量を減らすために速度を落とす
nmap -T2 <target-ip>
# Normal (3) - デフォルトのタイミング
nmap -T3 <target-ip>
# Aggressive (4) - より高速、信頼性の高いネットワークを想定
nmap -T4 <target-ip>
# Insane (5) - 非常に高速、結果を見逃す可能性がある
nmap -T5 <target-ip>
安全のためのレート制限:
# 1秒あたり100パケットに制限
nmap --max-rate 100 <target-ip>
# 最小1秒あたり10パケット
nmap --min-rate 10 <target-ip>
# 検出を避けるために遅延を伴うスキャン
nmap --scan-delay 1s <target-ip>
4. サービス列挙
サービスを特定し、バージョン情報を抽出します。
# サービスバージョン検出
nmap -sV <target-ip>
# アグレッシブなバージョン検出 (より多くのプローブ)
nmap -sV --version-intensity 5 <target-ip>
# ライトバージョン検出 (より少ないプローブ、より高速)
nmap -sV --version-intensity 0 <target-ip>
# 特定のサービス列挙
nmap -sV -p 80,443 --script=http-headers,http-title <target-ip>
サービス固有の列挙:
# SMB 列挙
nmap -p 445 --script=smb-os-discovery,smb-security-mode <target-ip>
# SSH 列挙
nmap -p 22 --script=ssh-hostkey,ssh-auth-methods <target-ip>
# DNS 列挙
nmap -p 53 --script=dns-nsid,dns-recursion <target-ip>
# HTTP/HTTPS 列挙
nmap -p 80,443 --script=http-methods,http-robots.txt,http-title <target-ip>
# データベース列挙
nmap -p 3306 --script=mysql-info <target-ip>
nmap -p 5432 --script=pgsql-brute <target-ip>
nmap -p 1433 --script=ms-sql-info <target-ip>
5. オペレーティングシステムの検出
ターゲットのオペレーティングシステムを特定します。
# OS 検出
sudo nmap -O <target-ip>
# バージョンスキャンによるアグレッシブな OS 検出
sudo nmap -A <target-ip>
# 有望なターゲットに OS 検出を制限する
sudo nmap -O --osscan-limit <target-ip>
# OS を積極的に推測する
sudo nmap -O --osscan-guess <target-ip>
OSフィンガープリントの指標:
- TCP/IP スタックの特性
- オープンポートのパターン
- サービスのバナーとバージョン
- TTL 値と TCP ウィンドウサイズ
6. NSE スクリプトスキャン
高度な偵察と脆弱性検出のための Nmap Scripting Engine:
# デフォルトの NSE スクリプトを実行する
nmap -sC <target-ip>
# カテゴリ内のすべてのスクリプトを実行する
nmap --script=vuln <target-ip>
nmap --script=explo
(原文がここで切り詰められています) 📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開
Nmap Network Reconnaissance
Overview
Nmap (Network Mapper) is the industry-standard tool for network discovery, security auditing, and vulnerability assessment. This skill provides structured workflows for authorized reconnaissance operations including port scanning, service enumeration, OS fingerprinting, and vulnerability detection using Nmap Scripting Engine (NSE).
IMPORTANT: Network scanning may be disruptive and must only be conducted with proper authorization. Always ensure written permission before scanning networks or systems you do not own.
Quick Start
Basic host discovery and port scanning:
# Quick scan of common ports
nmap -F <target-ip>
# Scan top 1000 ports with service detection
nmap -sV <target-ip>
# Comprehensive scan with OS detection and default scripts
nmap -A <target-ip>
Core Workflow
Network Reconnaissance Workflow
Progress: [ ] 1. Verify authorization and scope [ ] 2. Perform host discovery and asset enumeration [ ] 3. Conduct port scanning on live hosts [ ] 4. Enumerate services and versions [ ] 5. Perform OS fingerprinting and detection [ ] 6. Run NSE scripts for vulnerability detection [ ] 7. Document findings and generate reports [ ] 8. Validate results and identify false positives
Work through each step systematically. Check off completed items.
1. Authorization Verification
CRITICAL: Before any scanning activities:
- Confirm written authorization from network owner
- Review scope document for in-scope IP ranges and domains
- Verify scanning windows and rate-limiting requirements
- Document emergency contact for accidental disruption
- Confirm blacklisted hosts (production databases, critical infrastructure)
2. Host Discovery
Identify live hosts in target network:
# Ping sweep (ICMP echo)
nmap -sn <target-network>/24
# ARP scan (local network only, faster and more reliable)
nmap -sn -PR <target-network>/24
# TCP SYN ping (when ICMP blocked)
nmap -sn -PS22,80,443 <target-network>/24
# UDP ping (for hosts blocking TCP)
nmap -sn -PU53,161 <target-network>/24
# Disable ping, assume all hosts alive
nmap -Pn <target-network>/24
Host discovery techniques:
- ICMP Echo (-PE): Standard ping, often blocked
- TCP SYN (-PS): Half-open connection to specified ports
- TCP ACK (-PA): Sends ACK packets, useful for stateful firewalls
- UDP (-PU): Sends UDP packets to specified ports
- ARP (-PR): Layer 2 discovery, only works on local network
Output live hosts to file for subsequent scanning:
nmap -sn <target-network>/24 -oG - | awk '/Up$/{print $2}' > live_hosts.txt
3. Port Scanning
Scan discovered hosts for open ports:
# Fast scan (top 100 ports)
nmap -F -iL live_hosts.txt
# Top 1000 ports (default)
nmap -iL live_hosts.txt
# Scan all 65535 ports
nmap -p- -iL live_hosts.txt
# Scan specific ports
nmap -p 22,80,443,3389,8080 -iL live_hosts.txt
# Scan port ranges
nmap -p 1-1024,3000-9000 -iL live_hosts.txt
Scan techniques:
-
TCP SYN Scan (-sS): Default, stealthy half-open scan (requires root)
sudo nmap -sS <target-ip> -
TCP Connect Scan (-sT): Full TCP connection (no root required)
nmap -sT <target-ip> -
UDP Scan (-sU): Scan UDP ports (slow but critical)
sudo nmap -sU -p 53,161,500 <target-ip> -
Version Detection (-sV): Probe services for version information
nmap -sV <target-ip> -
Aggressive Scan (-A): Enable OS detection, version detection, script scanning, traceroute
sudo nmap -A <target-ip>
Timing and performance:
# Paranoid (0) - Extremely slow, IDS evasion
nmap -T0 <target-ip>
# Sneaky (1) - Very slow, IDS evasion
nmap -T1 <target-ip>
# Polite (2) - Slows down to use less bandwidth
nmap -T2 <target-ip>
# Normal (3) - Default timing
nmap -T3 <target-ip>
# Aggressive (4) - Faster, assumes reliable network
nmap -T4 <target-ip>
# Insane (5) - Very fast, may miss results
nmap -T5 <target-ip>
Rate limiting for safety:
# Limit to 100 packets/second
nmap --max-rate 100 <target-ip>
# Minimum 10 packets/second
nmap --min-rate 10 <target-ip>
# Scan with delays to avoid detection
nmap --scan-delay 1s <target-ip>
4. Service Enumeration
Identify services and extract version information:
# Service version detection
nmap -sV <target-ip>
# Aggressive version detection (more probes)
nmap -sV --version-intensity 5 <target-ip>
# Light version detection (fewer probes, faster)
nmap -sV --version-intensity 0 <target-ip>
# Specific service enumeration
nmap -sV -p 80,443 --script=http-headers,http-title <target-ip>
Service-specific enumeration:
# SMB enumeration
nmap -p 445 --script=smb-os-discovery,smb-security-mode <target-ip>
# SSH enumeration
nmap -p 22 --script=ssh-hostkey,ssh-auth-methods <target-ip>
# DNS enumeration
nmap -p 53 --script=dns-nsid,dns-recursion <target-ip>
# HTTP/HTTPS enumeration
nmap -p 80,443 --script=http-methods,http-robots.txt,http-title <target-ip>
# Database enumeration
nmap -p 3306 --script=mysql-info <target-ip>
nmap -p 5432 --script=pgsql-brute <target-ip>
nmap -p 1433 --script=ms-sql-info <target-ip>
5. Operating System Detection
Identify target operating systems:
# OS detection
sudo nmap -O <target-ip>
# Aggressive OS detection with version scanning
sudo nmap -A <target-ip>
# Limit OS detection to promising targets
sudo nmap -O --osscan-limit <target-ip>
# Guess OS aggressively
sudo nmap -O --osscan-guess <target-ip>
OS fingerprinting indicators:
- TCP/IP stack characteristics
- Open port patterns
- Service banners and versions
- TTL values and TCP window sizes
6. NSE Script Scanning
Nmap Scripting Engine for advanced reconnaissance and vulnerability detection:
# Run default NSE scripts
nmap -sC <target-ip>
# Run all scripts in category
nmap --script=vuln <target-ip>
nmap --script=exploit <target-ip>
nmap --script=discovery <target-ip>
# Run specific script
nmap --script=http-sql-injection <target-ip>
# Multiple scripts
nmap --script=smb-vuln-ms17-010,smb-vuln-cve-2017-7494 <target-ip>
# Script with arguments
nmap --script=http-brute --script-args http-brute.path=/admin <target-ip>
NSE script categories:
- auth: Authentication testing
- broadcast: Network broadcast/multicast discovery
- brute: Brute-force password auditing
- default: Default safe scripts (-sC)
- discovery: Network and service discovery
- dos: Denial of service testing (use with caution)
- exploit: Exploitation attempts (authorized only)
- external: External resource queries (WHOIS, etc.)
- fuzzer: Fuzzing attacks
- intrusive: Intrusive scanning (may crash services)
- malware: Malware detection
- safe: Safe scripts unlikely to crash services
- version: Version detection enhancement
- vuln: Vulnerability detection
Common vulnerability detection scripts:
# Check for EternalBlue (MS17-010)
nmap -p 445 --script=smb-vuln-ms17-010 <target-ip>
# Heartbleed detection
nmap -p 443 --script=ssl-heartbleed <target-ip>
# Shellshock detection
nmap --script=http-shellshock --script-args uri=/cgi-bin/test.sh <target-ip>
# Check for weak SSL/TLS
nmap -p 443 --script=ssl-enum-ciphers <target-ip>
# SQL injection testing
nmap -p 80 --script=http-sql-injection <target-ip>
# Check for anonymous FTP
nmap -p 21 --script=ftp-anon <target-ip>
7. Output and Reporting
Generate reports in multiple formats:
# Normal output to screen and file
nmap <target-ip> -oN scan_results.txt
# XML output (for parsing/import)
nmap <target-ip> -oX scan_results.xml
# Grepable output (for easy parsing)
nmap <target-ip> -oG scan_results.gnmap
# All formats
nmap <target-ip> -oA scan_results
# Script kiddie output (for fun)
nmap <target-ip> -oS scan_results.skid
Convert and process results:
# Convert XML to HTML report
xsltproc /usr/share/nmap/nmap.xsl scan_results.xml -o report.html
# Parse XML with Python
python3 -c "import xml.etree.ElementTree as ET; tree = ET.parse('scan_results.xml'); root = tree.getroot(); [print(host.find('address').get('addr')) for host in root.findall('host')]"
# Extract open ports from grepable output
grep 'Ports:' scan_results.gnmap | awk '{print $2, $5}'
8. Firewall and IDS Evasion
Techniques to evade detection (authorized testing only):
# Fragment packets
sudo nmap -f <target-ip>
# Use decoys
sudo nmap -D RND:10 <target-ip>
sudo nmap -D decoy1,decoy2,ME,decoy3 <target-ip>
# Spoof source IP (requires raw packet privileges)
sudo nmap -S <spoofed-ip> -e <interface> <target-ip>
# Randomize target order
nmap --randomize-hosts -iL targets.txt
# Use proxy
nmap --proxies http://proxy:8080 <target-ip>
# Idle scan (zombie host required)
sudo nmap -sI <zombie-host> <target-ip>
Security Considerations
Authorization & Legal Compliance
- Written Permission: Obtain explicit authorization before scanning any network
- Scope Definition: Only scan explicitly authorized IP ranges and ports
- Disruption Risk: Some scans (DOS, exploit scripts) can crash services
- Privacy: Service enumeration may expose sensitive information
- Log Traces: Scanning activities are typically logged by firewalls and IDS
Operational Security
- Rate Limiting: Use
--max-rateto avoid overwhelming targets - Timing: Schedule scans during approved maintenance windows
- Bandwidth: Consider network impact, especially for large scans
- Noise: Aggressive scans are easily detected by security monitoring
- False Positives: Validate findings before reporting vulnerabilities
Audit Logging
Document all reconnaissance activities:
- Scan start and end timestamps
- Source IP address and scanner hostname
- Target IP ranges and ports scanned
- Nmap command-line arguments used
- Number of hosts discovered and ports found
- Vulnerabilities identified via NSE scripts
- Any service disruptions or anomalies
Compliance
- PTES: Reconnaissance phase of Penetration Testing Execution Standard
- OWASP: ASVS verification requirements for network security
- MITRE ATT&CK: T1046 (Network Service Scanning)
- PCI-DSS 11.2: External and internal vulnerability scanning
- ISO 27001: A.12.6 Technical vulnerability management
Common Patterns
Pattern 1: External Perimeter Assessment
# Phase 1: Identify live hosts
nmap -sn -PE -PS80,443 -PA3389 <external-network>/24 -oG - | awk '/Up$/{print $2}' > external_hosts.txt
# Phase 2: Scan common external services
nmap -Pn -sV -p 21,22,25,53,80,110,143,443,587,993,995,3389,8080,8443 -iL external_hosts.txt -oA external_scan
# Phase 3: Vulnerability detection
nmap -Pn -sV --script=vuln -p 21,22,25,80,443,3389,8080,8443 -iL external_hosts.txt -oA external_vulns
# Phase 4: SSL/TLS security audit
nmap -Pn -p 443,8443 --script=ssl-enum-ciphers,ssl-cert -iL external_hosts.txt -oA ssl_audit
Pattern 2: Internal Network Mapping
# Phase 1: Fast host discovery
nmap -sn -PR <internal-network>/24 -oG - | awk '/Up$/{print $2}' > internal_hosts.txt
# Phase 2: Comprehensive port scan
nmap -sV -p- -T4 -iL internal_hosts.txt -oA internal_full_scan
# Phase 3: OS fingerprinting
sudo nmap -O -iL internal_hosts.txt -oA internal_os_detection
# Phase 4: Service enumeration
nmap -sV --script=default,discovery -iL internal_hosts.txt -oA internal_services
Pattern 3: Web Application Discovery
# Identify web servers
nmap -p 80,443,8000,8080,8443 --open -oG - <target-network>/24 | grep 'open' | awk '{print $2}' > web_servers.txt
# Enumerate web technologies
nmap -sV -p 80,443,8080,8443 --script=http-enum,http-headers,http-methods,http-title,http-server-header -iL web_servers.txt -oA web_enum
# Check for common web vulnerabilities
nmap -p 80,443 --script=http-sql-injection,http-csrf,http-vuln-cve2017-5638 -iL web_servers.txt -oA web_vulns
Pattern 4: SMB/CIFS Security Audit
# Enumerate SMB hosts
nmap -p 445 --open <target-network>/24 -oG - | grep 'open' | awk '{print $2}' > smb_hosts.txt
# SMB version and configuration
nmap -p 445 --script=smb-protocols,smb-security-mode,smb-os-discovery -iL smb_hosts.txt -oA smb_enum
# Check for SMB vulnerabilities
nmap -p 445 --script=smb-vuln* -iL smb_hosts.txt -oA smb_vulns
# Enumerate shares (authentication may be required)
nmap -p 445 --script=smb-enum-shares,smb-enum-users -iL smb_hosts.txt -oA smb_shares
Pattern 5: Database Server Discovery
# Scan for common database ports
nmap -sV -p 1433,1521,3306,5432,5984,6379,9200,27017 <target-network>/24 -oA database_scan
# MySQL enumeration
nmap -p 3306 --script=mysql-info,mysql-databases,mysql-variables <target-ip>
# PostgreSQL enumeration
nmap -p 5432 --script=pgsql-brute <target-ip>
# MongoDB enumeration
nmap -p 27017 --script=mongodb-info,mongodb-databases <target-ip>
# Redis enumeration
nmap -p 6379 --script=redis-info <target-ip>
Integration Points
CI/CD Integration
Automated security scanning in pipelines:
#!/bin/bash
# ci_network_scan.sh - Continuous network security validation
TARGET_NETWORK="$1"
OUTPUT_DIR="scan_results/$(date +%Y%m%d_%H%M%S)"
mkdir -p "$OUTPUT_DIR"
# Quick security scan
nmap -Pn -sV --script=vuln -p 21,22,25,80,443,3389,8080 \
"$TARGET_NETWORK" -oA "$OUTPUT_DIR/security_scan"
# Parse results for critical findings
if grep -i "VULNERABLE" "$OUTPUT_DIR/security_scan.nmap"; then
echo "CRITICAL: Vulnerabilities detected!"
exit 1
fi
echo "Security scan completed successfully"
exit 0
Security Tools Integration
- Metasploit Integration: Import Nmap XML with
db_import - Vulnerability Scanners: Feed Nmap results to Nessus, OpenVAS, Qualys
- SIEM Integration: Parse Nmap output for security monitoring
- Asset Management: Update CMDB with discovered hosts and services
- Shodan/Censys: Validate external exposure findings
MITRE ATT&CK Mapping
Map Nmap reconnaissance to ATT&CK framework:
- Reconnaissance: T1595 (Active Scanning)
- T1595.001 (Scanning IP Blocks)
- T1595.002 (Vulnerability Scanning)
- Discovery: T1046 (Network Service Scanning)
- Discovery: T1040 (Network Sniffing)
- Credential Access: T1110 (Brute Force) - when using NSE brute scripts
Troubleshooting
Issue: No Results Despite Hosts Being Online
Causes:
- ICMP blocked by firewall
- Host-based firewall dropping probes
- Network ACLs filtering traffic
Solutions:
# Skip ping, assume all hosts up
nmap -Pn <target-ip>
# Try TCP ping instead of ICMP
nmap -PS80,443 -PA3389 <target-ip>
# Try multiple discovery techniques
nmap -PE -PS22,80,443 -PA3389 -PU53,161 <target-ip>
Issue: Scan Too Slow
Solutions:
# Increase timing template
nmap -T4 <target-ip>
# Scan fewer ports
nmap -F <target-ip> # Top 100 ports
nmap --top-ports 1000 <target-ip>
# Parallelize by splitting targets
nmap -T4 192.168.1.1-50 &
nmap -T4 192.168.1.51-100 &
nmap -T4 192.168.1.101-150 &
wait
# Use masscan for very fast port scanning
masscan -p 1-65535 --rate 10000 <target-network>/24
Issue: False Positives in Vulnerability Scripts
Solutions:
- Manually verify findings with specific exploit tools
- Check service version against CVE databases
- Use
--version-intensity 9for more accurate version detection - Run vulnerability-specific NSE scripts instead of broad categories
- Cross-reference with authenticated vulnerability scanners
Issue: Getting Blocked by Firewall/IDS
Solutions:
# Slow down scan
nmap -T1 --scan-delay 1s <target-ip>
# Fragment packets
sudo nmap -f <target-ip>
# Randomize scan order
nmap --randomize-hosts -iL targets.txt
# Use source port 53 (often allowed)
nmap -g 53 <target-ip>
# Split into smaller scans over time
nmap -p 1-1000 <target-ip>
# Wait several hours
nmap -p 1001-2000 <target-ip>
Defensive Considerations
Organizations can detect Nmap scanning by:
- Network IDS: Signature detection of scan patterns (vertical/horizontal sweeps)
- Firewall Logs: Multiple connection attempts from single source
- Port Scan Detection: Monitoring for SYN packets without completion
- Honeypots: Triggering alerts when accessing decoy services
- Traffic Analysis: Unusual packet patterns (fragmentation, timing anomalies)
Enhance defensive posture:
- Deploy network intrusion detection systems (Snort, Suricata)
- Enable firewall logging and monitor for scan patterns
- Use port knocking or service hiding for sensitive services
- Implement rate limiting on border firewalls
- Deploy honeypots to detect and track reconnaissance
References
同梱ファイル
※ ZIPに含まれるファイル一覧。`SKILL.md` 本体に加え、参考資料・サンプル・スクリプトが入っている場合があります。
- 📄 SKILL.md (18,207 bytes)
- 📎 assets/ci-config-template.yml (11,105 bytes)
- 📎 assets/rule-template.yaml (11,044 bytes)
- 📎 references/EXAMPLE.md (15,672 bytes)
- 📎 references/WORKFLOW_CHECKLIST.md (8,390 bytes)