Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
livewire-honeypot — 高対話型ハニーポットで、脆弱なLaravel/Livewireアプリを模倣します。CVE-2024-47823、CVE-2025-54068、CVE-2025-14894を標的とするRCEエクスプロイトやウェブシェルを捕捉し、サンドボックス化されたDockerコンテナ内で分析してIOCを抽出します。 | Kitploit
ツール/GitHubGitHub/helgesverre/livewire-honeypot
侵害指標 (IOC) 管理動的分析 (サンドボックス)脆弱性分析エクスプロイトウェブセキュリティマルウェア分析コマンド&コントロール脅威インテリジェンスインシデントレスポンス
GitHubhelgesverre/livewire-honeypot

livewire-honeypot

高対話型ハニーポットで、脆弱なLaravel/Livewireアプリを模倣します。CVE-2024-47823、CVE-2025-54068、CVE-2025-14894を標的とするRCEエクスプロイトやウェブシェルを捕捉し、サンドボックス化されたDockerコンテナ内で分析してIOCを抽出します。

673ヶ月前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有
リポジトリを見る

Livewire Honeypot

Honeypot Python 3.11+ FastAPI License

Livewire Honeypot

脆弱なLaravel/Livewireアプリケーションを装う高対話型ハニーポット。既知のLivewire CVEを狙ったエクスプロイト試行を捕捉し、アップロードされた悪意のあるファイル(Webシェル)やリモートコード実行(RCE)ペイロードをSHA-256重複排除で保存し、必要に応じてサンドボックス化されたDockerコンテナ内で実行して、マルウェアが接続しようとする侵害指標(IOC)— URL、IP、ドメイン — を抽出します。

このシステムはセキュリティのために2つの独立したプロセスとして動作します。ペイロードを捕捉するWebサーバー(Dockerアクセスなし)と、隔離されたコンテナ内でそれらを解析するサンドボックスワーカーです。

仕組み

root@kitploit:~
Attacker → Nginx → FastAPI → SQLite ← Sandbox Worker (Docker)
                   (capture)            (polls jobs, writes IOCs)
  1. ファサード — 実際のLaravelログイン/登録ページを模した、Livewire wire: 属性、XSRFトークン、X-Powered-By: PHP/8.3.12 ヘッダーを備えたページを配信します。自動スキャナーには、実際の脆弱なアプリケーションのように見えます。

  2. 捕捉 — ASGIミドルウェア層によって、すべてのHTTPリクエストが(IP、ヘッダー、ボディハッシュ、タイムスタンプ)ルーティングの前に透過的にSQLiteに記録されます。

  3. トラップ — Livewireエンドポイントは、実際のフレームワークと同様にファイルアップロードとコンポーネントメッセージを受け入れます。ペイロードは(PHPコード、シリアライズされたオブジェクト、シェルコマンドに)分類され、SHA-256重複排除で保存されます。興味深い各ペイロードは、sandbox_jobs キューに永続的なジョブを作成します。

  4. サンドボックス — 別のワーカープロセスが保留中のジョブをポーリングし、各ペイロードを一時的なDockerコンテナ(読み取り専用ファイルシステム、ネットワークなし、cap_drop=ALL)で実行します。LD_PRELOAD シムがlibcネットワークコールをインターセプトして、C2(コマンド&コントロール)通信の試行を記録します。アナライザーはIOCを抽出し、ヒューリスティックを使用して潜在的なC2エンドポイントをスコアリングします。

対象CVE

*.php キャッチオールトラップは、一般的なWebシェルのファイル名(例: accesson.php、wp-login.php、admin.php)を探すポストエクスプロイトの探索も捕捉します。

クイックスタート

前提条件: Python 3.11+ と uv。

root@kitploit:~
git clone https://github.com/HelgeSverre/livewire-honeypot.git
cd livewire-honeypot

# Install dependencies
uv sync

# Start the web server (capture-only, no Docker needed)
DATA_DIR=./data uv run uvicorn honeypot.main:app --reload --port 8000

# In a second terminal — start the sandbox worker (requires Docker)
DATA_DIR=./data uv run python -m honeypot.worker

# Run tests
uv run pytest tests/ -v

Webサーバーはスタンドアロンで動作します。サンドボックスワーカーが実行されていなくても、すべてを捕捉して保存します。自動ペイロード解析が必要になったらワーカーを起動してください。

注意: src/ ディレクトリは pyproject.toml(srcレイアウト)を介してPythonパス上にあるため、honeypot.main:app は src/honeypot/main.py にマップされます。

デプロイ

クイックスタート: DigitalOcean(または任意のUbuntu 24.04 VPS)

必要なもの:

  • DigitalOceanアカウント(またはUbuntu 24.04でroot権限を提供する任意のプロバイダー)。
  • 管理下にあるドメイン。TLSはスキャナーに対してトラップを本物に見せ、certbotが証明書を発行した瞬間にホスト名が証明書の透明性ログに記録されます。Shodan、Censys、およびほとんどのマスエクスプロイトキットが、数時間以内に新しいターゲットを発見するために使用するのはこれです。

VPSが存在すれば、フルデプロイは単一のコマンドで完了します。スクリプトは「ベアドロップレット」から「TLSで動作中のサービス」までのすべての手順(aptパッケージ、ユーザーとグループ、Python venv、サンドボックスイメージ、nginx、certbot、ファイアウォールルール)を処理します。

root@kitploit:~
# 1. Provision a $6/mo droplet (Ubuntu 24.04, 1 GB RAM is enough).
#    On DigitalOcean:
doctl compute droplet create veritron-honeypot \
    --size s-1vcpu-1gb \
    --image ubuntu-24-04-x64 \
    --region fra1 \
    --ssh-keys "$(doctl compute ssh-key list --format ID --no-header | head -1)" \
    --wait

# 2. Point your domain's A record at the droplet IP.
#    Wait for DNS to resolve before continuing.
dig +short your-domain.example   # should return the droplet IP

# 3. Copy the project onto the droplet.
rsync -az --exclude='.git' --exclude='.venv' --exclude='data' \
    ./ root@<droplet-ip>:/opt/honeypot/

# 4. Run the bootstrap script. Passing your domain enables TLS via certbot.
ssh root@<droplet-ip> 'cd /opt/honeypot && [email protected] \
    bash deploy/setup.sh your-domain.example'

これで完了です。ハニーポットはHTTPS経由で偽のLaravel/Livewireログインページを提供し、すべてのリクエストをSQLiteに捕捉し、Dockerサンドボックスでペイロードを解析する準備ができています。

ブートストラップスクリプトの動作

deploy/setup.sh は冪等です。再実行しても安全です。順に、次のことを行います:

  1. cloud-init / unattended-upgrades がdpkgロックを解放するのを待ちます(新しいDOドロップレットは起動後1〜3分間ロックを保持します)。
  2. nginx、certbot、docker.io、システムPython 3.12、sqlite3をインストールします。
  3. uv(Astral)を /root/.local/bin の下にインストールします。
  4. honeypot(Web)と sandbox(ワーカー)サービスユーザー、および共有の honeypot-data グループを作成します。
  5. uv sync --python /usr/bin/python3.12 を実行します。uvがバンドルするインタープリターではなく、aptでインストールされたPythonを意図的に使用します。uvのPythonは /root/.local/share/uv/ にあり、非特権サービスユーザーはこれを通過できないため、uvにインタープリターを選択させると systemd から紛らわしい status=203/EXEC が返ります。
  6. setgidビットと共有グループ所有権で /var/honeypot/ を作成し、両方のサービスが互いの書き込みを読み取れるようにします。
  7. systemdユニットファイルをインストールし、ワーカーの ExecStart をシステムのDockerデーモンを使用するように書き換えます(同梱のユニットは設定が難しいrootless Dockerを想定しています)。
  8. サンドボックスコンテナイメージをビルドします(docker build -t honeypot-sandbox sandbox/)。
  9. nginxサイト設定を書き込み、limit_req_zone ディレクティブを に配置します( ブロック内に置く必要があり、 ブロック内ではありません)。

手動セットアップ

setup.sh を実行せずに各手順を自分で実施したい場合は、同等のシェル履歴がdeploy/setup.shにコメント付きステージとして記載されています。

サービスアーキテクチャ

ServiceUser目的Dockerアクセス
honeypot.servicehoneypot

両方のサービスは、SQLiteデータベースとペイロードストレージのために /var/honeypot/ を共有します。WebプロセスはDockerソケットへのアクセスを持たないため、攻撃者のトラフィックを通じて侵害されたとしても、ホスト上でコンテナを作成することはできません。

運用

root@kitploit:~
# View logs
journalctl -u honeypot -f
journalctl -u honeypot-worker -f

# Restart services
systemctl restart honeypot honeypot-worker

# Upgrade
cd /opt/honeypot && git pull && uv sync
docker build -t honeypot-sandbox sandbox/
systemctl restart honeypot honeypot-worker

設定

すべての設定は環境変数で制御されます(systemdユニットファイルで設定するか、実行前にエクスポートします):

取得データのクエリ

すべてのデータは単一のSQLiteデータベース(デフォルト: /var/honeypot/captures.db)に保存されます。

root@kitploit:~
# Recent requests
sqlite3 /var/honeypot/captures.db \
  "SELECT timestamp, source_ip, method, path, matched_trap
   FROM requests ORDER BY id DESC LIMIT 20;"

# Unique payloads by frequency
sqlite3 /var/honeypot/captures.db \
  "SELECT sha256, filename, payload_type, times_seen, sandbox_status
   FROM payloads ORDER BY times_seen DESC;"

# Top attacker IPs
sqlite3 /var/honeypot/captures.db \
  "SELECT ip, total_requests, first_seen, last_seen
   FROM attackers ORDER BY total_requests DESC LIMIT 10;"

# Sandbox results with extracted IOCs (JSON)
sqlite3 /var/honeypot/captures.db \
  "SELECT payload_id, exit_code, duration_seconds, c2_urls_found, iocs
   FROM sandbox_runs ORDER BY id DESC LIMIT 5;"

# Pending sandbox jobs
sqlite3 /var/honeypot/captures.db \
  "SELECT id, payload_sha256, status, created_at
   FROM sandbox_jobs ORDER BY id DESC LIMIT 10;"

sandbox_runs.iocs のIOCデータは、domains、ips、emails、urls、hashes というキーを持つJSONとして保存されます。必要に応じて抽出し、脅威インテルプラットフォーム(MISP、OpenCTIなど)にフィードしてください。

プロジェクト構成

root@kitploit:~
src/honeypot/
  main.py              # FastAPI web app (capture-only, no Docker)
  worker.py            # Standalone sandbox worker (polls SQLite, needs Docker)
  config.py            # Settings from environment variables
  capture/
    database.py        # Async SQLite — requests, payloads, sandbox_jobs queue
    logger.py          # ASGI middleware — logs every request
    payloads.py        # SHA-256 dedup storage + payload classification
  facade/
    routes.py          # Laravel-fingerprinted pages (login, register, etc.)
    templates/         # Jinja2 HTML with Livewire wire: attributes
    static/            # Fake livewire.js (v3.5.1 fingerprint)
  traps/
    livewire.py        # POST /livewire/message, /upload-file, /preview-file
    php_catchall.py    # Catch-all for *.php probing
  sandbox/
    orchestrator.py    # Docker container lifecycle + hardening
    analyzer.py        # Artifact parsing + IOC extraction + C2 scoring
deploy/
  nginx.conf           # Reverse-proxy with rate limiting
  honeypot.service     # systemd unit (web)
  honeypot-worker.service  # systemd unit (sandbox worker)
  setup.sh             # VPS bootstrap script
sandbox/
  Dockerfile           # Sandbox container image (PHP 8.3 + attacker tools)
  entrypoint.sh        # Container entry-point with LD_PRELOAD network shim

免責事項

これは、あなたが所有するインフラストラクチャ上でマルウェアサンプルを収集し、攻撃者の行動を観察するための研究ツールです。本番用セキュリティ製品ではありません。管理下にあるシステムにのみデプロイし、攻撃者のペイロードを捕捉して実行することは、お住まいの法域で法的影響を及ぼす可能性があることに注意してください。SQLiteデータベースとペイロードファイルは無制限に増大します。ディスク使用量を監視し、必要に応じて保持ポリシーを実装してください。

コントリビューション

問題報告やプルリクエストを歓迎します。

ライセンス

MIT

ツールをダウンロード
CVECVSS概要トラップエンドポイント
CVE-2024-478239.8 CriticalLivewireのファイルアップロードにおけるMIMEタイプバイパスによるRCE。 ファイル拡張子はファイル名から検証されるのではなくMIMEタイプから推定されるため、画像に偽装した .php のアップロードが可能です。影響を受けるバージョン: Livewire < 2.12.7 および < 3.5.2。POST /livewire/upload-file
CVE-2025-540689.2 CriticalLivewireのプロップハイドレーションによるRCE。 ハイドレーションプロセスはコンポーネントプロパティ更新時のオブジェクト型のサニタイズに失敗するため、注入されたペイロードがサーバーサイドで実行される可能性があります。影響を受けるバージョン: Livewire 3.0.0-beta.1 から 3.6.3。POST /livewire/message
CVE-2025-14894CriticalLivewire Filemanagerの無制限アップロードによるRCE。 ファイルタイプとMIME検証が欠如しているため、未認証で実行可能なPHPファイルをアップロードできます。POST /livewire/upload-file
/etc/nginx/conf.d/
http {}
server {}
  • ufwで22/80/443を開放します。
  • 両方のサービスを起動し、ドメインが渡された場合は certbot --nginx を実行します。
  • Webサーバー — リクエストとペイロードを捕捉
    なし
    honeypot-worker.servicesandboxサンドボックスワーカー — Dockerでペイロードを解析あり
    VariableDefault説明
    DATA_DIR/var/honeypotすべてのデータのベースディレクトリ
    DB_PATH$DATA_DIR/captures.dbSQLiteデータベースのパス
    SANDBOX_TIMEOUT60サンドボックス実行あたりの最大秒数
    SANDBOX_MEMORY128mコンテナのメモリ制限
    SANDBOX_CPUS0.5コンテナのCPU制限
    SANDBOX_MAX_CONCURRENT3最大同時サンドボックスコンテナ数
    SANDBOX_IMAGEhoneypot-sandboxサンドボックス用Dockerイメージ
    WORKER_POLL_INTERVAL2.0ジョブポーリング間隔(秒)