mcpField
N
network-101

network-101

github.com/sickn33セキュリティ48.7k372 回インストール今日更新
リポジトリ

network-101 について

許可されたセキュリティ評価や隔離ラボでネットワークサービスを設定・テストするためのガイダンススキルです。HTTP、HTTPS、SNMP、SMBの構築、列挙、ログ分析を扱い、対象を調査する前に許可と範囲の確認を求めます。

主な機能

  1. 01HTTPとHTTPSのサービス設定
  2. 02SNMPとSMBのラボ構築
  3. 03一般的なネットワークサービスの列挙
  4. 04アクセスログの分析
  5. 05許可と範囲の確認ゲート
  6. 06隔離ラボの安全に関する指針

活用シーン

  1. 01隔離されたネットワークサービスラボの構築
  2. 02SNMPまたはSMB列挙の練習
  3. 03HTTPサービスのアクセスログ分析
  4. 04許可された範囲でのサービス設定検証

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/sickn33/agentic-awesome-skills --skill network-101

インストール後、Claude Code で/network-101を入力して読み込まれたか確認します。

詳細

翻訳後に原文が更新されています。最新の内容は原文をご確認ください。

⚠️ 許可された使用のみ このスキルは教育目的または許可されたセキュリティ評価のみを対象としています。 このツールを使用する前に、システム所有者から明示的な書面による許可を得る必要があります。 このツールの悪用は違法であり、固く禁止されています。

必須の確認ゲート ターゲットに対してプローブ、悪用、変更、永続化、データ抽出、または資格情報へのアクセスを試みるコマンドを実行する前に:

  1. ユーザーに正確なターゲット URL、IP、アカウント、またはリソースを述べてもらいます。
  2. ユーザーに書面による許可と許可されたスコープを確認してもらいます。
  3. 正確なコマンドを示し、その想定される効果を説明します。
  4. 現在の会話で明示的な確認を待ちます。

その確認がない場合は、読み取り専用のままにして、防御的なガイダンスのみを提供してください。サンドボックス、使い捨て VM、または管理されたラボを優先してください。

ネットワーク 101

目的

ペネトレーションテストラボ環境向けに、一般的なネットワークサービス(HTTP、HTTPS、SNMP、SMB)を構成およびテストします。適切に構成されたターゲットシステムに対して、サービス列挙、ログ分析、セキュリティテストを実践できるようにします。

入力/前提条件

  • サービスをホストするための Windows Server または Linux システム
  • テスト用の Kali Linux または同様のもの
  • ターゲットシステムへの管理者アクセス
  • 基本的なネットワーク知識(IP アドレス指定、ポート)
  • ポート構成のためのファイアウォールアクセス

出力/成果物

  • 構成済みの HTTP/HTTPS Web サーバー
  • アクセス可能なコミュニティを持つ SNMP サービス
  • さまざまな権限レベルを持つ SMB ファイル共有
  • 分析用にキャプチャされたログ
  • 文書化された列挙結果

コアワークフロー

1. HTTP サーバーの構成(ポート 80)

テスト用に基本的な HTTP Web サーバーをセットアップします:

Windows IIS のセットアップ:

  1. IIS マネージャー(インターネット インフォメーション サービス)を開きます
  2. サイトを右クリック → Web サイトの追加
  3. サイト名と物理パスを構成します
  4. IP アドレスとポート 80 にバインドします

Linux Apache のセットアップ:

# Install Apache
sudo apt update && sudo apt install apache2

# Start service
sudo systemctl start apache2
sudo systemctl enable apache2

# Create test page
echo "<html><body><h1>Test Page</h1></body></html>" | sudo tee /var/www/html/index.html

# Verify service
curl http://localhost

HTTP 用のファイアウォール構成:

# Linux (UFW)
sudo ufw allow 80/tcp

# Windows PowerShell
New-NetFirewallRule -DisplayName "HTTP" -Direction Inbound -Protocol TCP -LocalPort 80 -Action Allow
2. HTTPS サーバーの構成(ポート 443)

SSL/TLS を使用して安全な HTTPS をセットアップします:

自己署名証明書の生成:

# Linux - Generate certificate
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
  -keyout /etc/ssl/private/apache-selfsigned.key \
  -out /etc/ssl/certs/apache-selfsigned.crt

# Enable SSL module
sudo a2enmod ssl
sudo systemctl restart apache2

HTTPS 用の Apache 構成:

# Edit SSL virtual host
sudo nano /etc/apache2/sites-available/default-ssl.conf

# Enable site
sudo a2ensite default-ssl
sudo systemctl reload apache2

HTTPS セットアップの確認:

# Check port 443 is open
nmap -p 443 192.168.1.1

# Test SSL connection
openssl s_client -connect 192.168.1.1:443

# Check certificate
curl -kv https://192.168.1.1
3. SNMP サービスの構成(ポート 161)

列挙の練習用に SNMP をセットアップします:

Linux SNMP のセットアップ:

# Install SNMP daemon
sudo apt install snmpd snmp

# Configure community strings
sudo nano /etc/snmp/snmpd.conf

# Add these lines:
# rocommunity public
# rwcommunity private

# Restart service
sudo systemctl restart snmpd

Windows SNMP のセットアップ:

  1. サーバーマネージャーを開く → 機能の追加
  2. SNMP サービスを選択
  3. サービス → SNMP サービス → プロパティでコミュニティ文字列を構成します

SNMP 列挙コマンド:

# Basic SNMP walk
snmpwalk -c public -v1 192.168.1.1

# Enumerate system info
snmpwalk -c public -v1 192.168.1.1 1.3.6.1.2.1.1

# Get running processes
snmpwalk -c public -v1 192.168.1.1 1.3.6.1.2.1.25.4.2.1.2

# SNMP check tool
snmp-check 192.168.1.1 -c public

# Brute force community strings
onesixtyone -c /usr/share/seclists/Discovery/SNMP/common-snmp-community-strings.txt 192.168.1.1
4. SMB サービスの構成(ポート 445)

列挙用に SMB ファイル共有をセットアップします:

Windows SMB 共有:

  1. 共有するフォルダを作成します
  2. 右クリック → プロパティ → 共有 → 詳細な共有
  3. 共有を有効にして権限を設定します
  4. NTFS 権限を構成します

Linux Samba のセットアップ:

# Install Samba
sudo apt install samba

# Create a group-scoped share directory instead of a world-writable one
sudo install -d -m 0770 -o root -g sambashare /srv/samba/share

# Configure Samba
sudo nano /etc/samba/smb.conf

# Add share:
# [public]
#    path = /srv/samba/share
#    browsable = yes
#    guest ok = yes
#    read only = no

# Restart service
sudo systemctl restart smbd

SMB 列挙コマンド:

# List shares anonymously
smbclient -L //192.168.1.1 -N

# Connect to share
smbclient //192.168.1.1/share -N

# Enumerate with smbmap
smbmap -H 192.168.1.1

# Full enumeration
enum4linux -a 192.168.1.1

# Check for vulnerabilities
nmap --script smb-vuln* 192.168.1.1
5. サービスログの分析

セキュリティ分析のためにログを確認します:

HTTP/HTTPS ログ:

# Apache access log
sudo tail -f /var/log/apache2/access.log

# Apache error log
sudo tail -f /var/log/apache2/error.log

# Windows IIS logs
# Location: C:\inetpub\logs\LogFiles\W3SVC1\

資格情報のためにログを解析:

# Search for POST requests
grep "POST" /var/log/apache2/access.log

# Extract user agents
awk '{print $12}' /var/log/apache2/access.log | sort | uniq -c

クイックリファレンス

重要なポート
サービスポートプロトコル
HTTP80TCP
HTTPS443TCP
SNMP161UDP
SMB445TCP
NetBIOS137-139TCP/UDP
サービス確認コマンド
# Check HTTP
curl -I http://target

# Check HTTPS
curl -kI https://target

# Check SNMP
snmpwalk -c public -v1 target

# Check SMB
smbclient -L //target -N
一般的な列挙ツール
ツール目的
nmapポートスキャンとスクリプト
niktoWeb 脆弱性スキャン
snmpwalkSNMP 列挙
enum4linuxSMB/NetBIOS 列挙
smbclientSMB 接続
gobusterディレクトリブルートフォース

制約

  • 自己署名証明書はブラウザの警告を引き起こします
  • SNMP v1/v2c コミュニティは平文で送信されます
  • 匿名 SMB アクセスは多くの場合デフォルトで無効になっています
  • ファイアウォールルールは受信接続を許可する必要があります
  • ラボ環境は本番環境から分離する必要があります

例

例 1:完全な HTTP ラボのセットアップ
# Install and configure
sudo apt install apache2
sudo systemctl start apache2

# Create login page
cat << 'EOF' | sudo tee /var/www/html/login.html
<html>
<body>
<form method="POST" action="login.php">
Username: <input type="text" name="user"><br>
Password: <input type="password" name="pass"><br>
<input type="submit" value="Login">
</form>
</body>
</html>
EOF

# Allow through firewall
sudo ufw allow 80/tcp
例 2:SNMP テストのセットアップ
# Quick SNMP configuration
sudo apt install snmpd
echo "rocommunity public" | sudo tee -a /etc/snmp/snmpd.conf
sudo systemctl restart snmpd

# Test enumeration
snmpwalk -c public -v1 localhost
例 3:SMB 匿名アクセス
# Configure anonymous share
sudo apt install samba
# Keep the service-owned anonymous share non-world-writable.
sudo install -d -m 0770 -o root -g sambashare /srv/samba/anonymous

# Test access
smbclient //localhost/anonymous -N

トラブルシューティング

問題解決策
ポートにアクセスできないファイアウォールのルール(ufw、iptables、Windows ファイアウォール)を確認してください
サービスが起動しないjournalctl -u service-name でログを確認してください
SNMP タイムアウトUDP 161 が開いていることを確認し、コミュニティ文字列を確認してください
SMB アクセス拒否共有のアクセス許可とユーザー資格情報を確認してください
HTTPS 証明書エラー自己署名証明書を受け入れるか、信頼されたストアに追加してください
リモートから接続できないサービスを localhost ではなく 0.0.0.0 にバインドしてください

使用する場面

このスキルは、概要で説明されているワークフローまたは操作を実行する場合に適用できます。

コメント