Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
gibson — プロセスとネットワークの接続をマッピングし、クラウドプロバイダーを特定し、ビーコン活動を検出するネットワーク監視ツール | Kitploit
ツール/GitLabGitLab/hackinglz/gibson
防御ツールOSINT (オープンソースインテリジェンス)フォレンジッククラウドセキュリティレッドチーミングインシデントレスポンスDNS分析異常検知ログ分析
GitLabhackinglz/gibson

gibson

プロセスとネットワークの接続をマッピングし、クラウドプロバイダーを特定し、ビーコン活動を検出するネットワーク監視ツール

137ヶ月前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
リポジトリを見る
ウェブサイト

Gibson

プロセスとネットワーク接続のマッピング、クラウドプロバイダーの識別、ファイアウォールルールの生成を行うネットワーク監視ツール。収集用の軽量エージェント、集約用のサーバー、分析用のパーサーを備えています。

スクリーンショット

マシン間の概要 — OSバージョン比較、共有IP検出、全ホストにわたるビーコン候補: マシン間分析

ホスト別詳細 — クリティカルアラート (EOL OS、nc.exe が不明IPにビーコン): ホスト詳細 - クリティカル

ホスト別詳細 — 警告 (ビーコン候補がフラグ): ホスト詳細 - 警告

ホスト別詳細 — 正常 (異常なし): ホスト詳細 - 正常

機能

コレクター (エージェント)

  • 🔒 セキュア: オプションのAES-256-GCM暗号化
  • 🗜️ 効率的: オプションのgzip圧縮
  • 🌐 クラウドアップロード: APIキー対応のHTTP/HTTPSアップロード
  • 📊 リアルタイム: ストリーミングデータ収集
  • 🔍 DNS解決: オプションの逆DNSルックアップ
  • 💾 柔軟なストレージ: 解析しやすいJSONL形式

パーサー (分析器)

  • ☁️ クラウド検出: AWS、Azure、GCP、Cloudflareなどを識別
  • 🔥 ファイアウォールルール: iptables/Windowsルールを自動生成
  • 📈 リスクスコアリング: 不審なプロセスを識別
  • 🗄️ データベースエクスポート: さらなる分析のためのSQLエクスポート
  • 📊 リッチレポート: 詳細なインサイトを含むJSONサマリー

クイックスタート

ビルド

cargo build --release

基本収集 (5分間)

# シンプルな収集
cargo run --release -- collect --duration-seconds 300

# DNSルックアップ付き
cargo run --release -- collect --duration-seconds 300 --enable-dns

# 圧縮と暗号化付き
cargo run --release -- collect \
  --duration-seconds 300 \
  --compress \
  --encrypt-key "your-secret-password"

収集データの解析

# すべてのレポートを生成
cargo run --release -- parse \
  --input connections.jsonl \
  --process-summary processes.json \
  --cloud-analysis cloud.json \
  --firewall-rules-iptables firewall.sh \
  --database-export network.sql

# ローカルASN DBを使用したオフライン所有権ルックアップ(ネットワーク呼び出しなし)
cargo run --release -- parse \
  --input connections.jsonl \
  --cloud-analysis cloud.json \
  --asn-db ip2asn-v4.tsv

# 永続キャッシュを使用したライブARINルックアップ(再実行時に既に照会済みのIPをスキップ)
cargo run --release -- parse \
  --input connections.jsonl \
  --cloud-analysis cloud.json \
  --arin-lookup \
  --arin-cache arin_cache.json

オールインワンモニターモード

# クイック5分分析
cargo run --release -- monitor \
  --duration-seconds 300 \
  --output-dir ./analysis \
  --full-analysis

エージェントビルド

agent バイナリは、最小限のフラグなしデプロイメントターゲットです。すべての設定はビルド時に環境変数を介してバイナリに焼き付けられます。ターゲットに配置し、引数なしで実行するだけです。

ビルド

AGENT_SERVER="http://10.0.1.5:8080/upload" \
AGENT_KEY="labkey123" \
AGENT_INTERVAL="5" \
AGENT_BATCH="200" \
AGENT_DURATION="0" \
AGENT_DNS="false" \
AGENT_ENCRYPT_KEY="mysecretpassword" \
cargo build --release --bin agent

生成されたバイナリ target/release/agent には外部依存関係がなく、フラグは不要です:

./agent

環境変数

変数デフォルト説明
AGENT_SERVERhttp://localhost:8080/uploadアップロードエンドポイントURL
AGENT_KEY(なし)X-API-Key ヘッダー値
AGENT_INTERVAL5ソケットポーリング間隔(秒)
AGENT_BATCH200アップロードバッチあたりのレコード数
AGENT_DURATION0実行時間(秒)(0 = 永続実行)
AGENT_DNSfalseIPをホスト名に解決
AGENT_ESTABLISHEDtrueESTABLISHED接続のみ
AGENT_LOCAL_COPYfalseアップロードと同時にローカルの.jsonlコピーを保持
AGENT_COMPRESSfalseアップロード前にGzip圧縮
AGENT_ENCRYPT_KEY(なし)AES-256-GCM暗号化ペイロード(パスワードまたは64文字の16進キー)
AGENT_UA(reqwestデフォルト)HTTP User-Agent ヘッダー

例: 暗号化された長期エージェント

AGENT_SERVER="https://collector.internal/upload" \
AGENT_KEY="prod-api-key" \
AGENT_DURATION="0" \
AGENT_INTERVAL="30" \
AGENT_COMPRESS="true" \
AGENT_ENCRYPT_KEY="$(cat /etc/gibson/key)" \
cargo build --release --bin agent

高度な使用方法

安全なリモート収集

1. 暗号化収集とアップロード

cargo run --release -- collect \
  --duration-seconds 3600 \
  --interval-seconds 10 \
  --compress \
  --encrypt-key "your-32-char-hex-key-or-password" \
  --upload-url "https://your-server.com/api/upload" \
  --api-key "your-api-key" \
  --batch-size 50 \
  --delete-after-upload

2. 長期監視 (24時間)

cargo run --release -- collect \
  --duration-seconds 86400 \
  --interval-seconds 30 \
  --output connections_daily.jsonl \
  --enable-dns \
  --compress

IP所有権ルックアップ

パーサーは、未マッチIPの所有者を特定するための相互排他的な2つのパスをサポートしています:

方法フラグ速度ネットワーク最適な用途
ローカルASN DB--asn-db即時なし繰り返し分析、エアギャップ環境
ライブARIN RDAP--arin-lookup遅い (IPごと)あり1回限りのルックアップ、ローカルDBが利用不可

ip2asnデータベースのダウンロード (毎週更新):

curl -O https://iptoasn.com/data/ip2asn-v4.tsv.gz && gunzip ip2asn-v4.tsv.gz

--asn-db が指定された場合、--arin-lookup は無視されます。--arin-cache を使用してARIN結果をディスクに永続化すると、再実行時に既に照会済みのIPをスキップできます。

クラウドプロバイダー分析

# クラウド検出に焦点を当てた解析
cargo run --release -- parse \
  --input connections.jsonl \
  --cloud-analysis cloud_report.json \
  --min-connections 5 \
  --whitelist-processes "chrome,firefox,safari,edge"

データ収集のためのWebサーバー設定

オプション1: シンプルなPython Flaskサーバー

collector_server.py を作成:

from flask import Flask, request, jsonify
import os
import json
import base64
from datetime import datetime
from Crypto.Cipher import AES
import gzip

app = Flask(__name__)

# Configuration
UPLOAD_DIR = "./collected_data"
API_KEY = "your-secure-api-key"
ENCRYPTION_KEY = bytes.fromhex("your-32-byte-hex-key")  # Optional

os.makedirs(UPLOAD_DIR, exist_ok=True)

def decrypt_data(encrypted_data, key):
    """Decrypt AES-256-GCM encrypted data"""
    decoded = base64.b64decode(encrypted_data)
    nonce = decoded[:12]
    ciphertext = decoded[12:]
    
    cipher = AES.new(key, AES.MODE_GCM, nonce=nonce)
    plaintext = cipher.decrypt_and_verify(ciphertext[:-16], ciphertext[-16:])
    return plaintext

@app.route('/api/upload', methods=['POST'])
def upload():
    # Verify API key
    if request.headers.get('X-API-Key') != API_KEY:
        return jsonify({"error": "Invalid API key"}), 401
    
    try:
        data = request.get_data()
        
        # If data is base64 encoded (encrypted)
        if data.startswith(b'eyJ'):  # JSON starts with {"
            # Not encrypted, parse directly
            batch = json.loads(data)
        else:
            # Encrypted data
            decrypted = decrypt_data(data, ENCRYPTION_KEY)
            batch = json.loads(decrypted)
        
        # Save to file
        hostname = batch.get('hostname', 'unknown')
        timestamp = datetime.now().strftime('%Y%m%d_%H%M%S')
        filename = f"{UPLOAD_DIR}/{hostname}_{timestamp}.json"
        
        with open(filename, 'w') as f:
            json.dump(batch, f)
        
        return jsonify({"status": "success", "file": filename}), 200
        
    except Exception as e:
        return jsonify({"error": str(e)}), 500

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=5000, ssl_context='adhoc')  # Use proper SSL in production

以下のコマンドで実行:

pip install flask pycryptodome
python collector_server.py

オプション2: Nginxによる基本的なアップロード

/etc/nginx/sites-available/collector を作成:

server {
    listen 443 ssl;
    server_name collector.yourcompany.com;
    
    ssl_certificate /etc/ssl/certs/your-cert.pem;
    ssl_certificate_key /etc/ssl/private/your-key.pem;
    
    client_max_body_size 100M;
    
    location /upload {
        # API key validation
        if ($http_x_api_key != "your-secure-api-key") {
            return 403;
        }
        
        # Save uploaded files
        client_body_in_file_only on;
        client_body_temp_path /var/uploads/;
        
        # Pass to processing script
        proxy_pass http://localhost:8080;
        proxy_set_header X-File $request_body_file;
    }
}

オプション3: AWS Lambda関数

// index.js for AWS Lambda
const AWS = require('aws-sdk');
const crypto = require('crypto');
const s3 = new AWS.S3();
ツールをダウンロード