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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
psa-2026-00043-recovery — PSA-2026-00043-1(CVE-2023-54391)に関するproxmoxアドバイザリの復旧メモ | Kitploit
ツール/GitHubGitHub/disqualifier/psa-2026-00043-recovery
クラウドインフラストラクチャセキュリティ脆弱性分析フォレンジックデータ復旧デジタルフォレンジックインシデントレスポンス
GitHubdisqualifier/psa-2026-00043-recovery

psa-2026-00043-recovery

PSA-2026-00043-1(CVE-2023-54391)に関するproxmoxアドバイザリの復旧メモ

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有
リポジトリを見る
2321日前未レビュー

psa-2026-00043-recovery

ランサムウェアを装ったワイパーからの復旧 — インターネットに露出したProxmoxインフラストラクチャへの攻撃後(PSA-2026-00043-1 / CVE-2023-54391)。

攻撃者はゲストを消去し、ファイルシステムを破損させたままにしました。ゲストの種類に応じて2つの復旧経路があります:

  • データベースゲスト — 生のWiredTigerページからBSONドキュメントをカービング
  • アプリケーションホスト — 破損したファイルシステムからファイル(nginx、systemdユニット、env、アプリのルート)をカービング

これらはツールと方法論であり、同じ状況にある誰にとっても役立つように一般化されています。ソースに対して読み取り専用、CC0。実際の復旧データは含まれていません。出力例はプレースホルダーを使用しています。


最初の1時間

破損したディスクは、残っているものの唯一のコピーです。修復しないでください。イメージ化してください。

root@kitploit:~
blockdev --setro /dev/<source>                                    # 1. 即座に読み取り専用にする
dd if=/dev/<source> of=/safe/disk.img bs=4M conv=noerror,sync     # 2. 安全なストレージにイメージ化
# 3. fsck、rwマウント、「修復」は行わないこと。カーバーが必要とするブロックを上書きする
# 4. すべてのソースパスを scripts/source_guard.sh でラップする
# 5. 元のディスクではなく、イメージからのみ復旧する

スクリプト

共通の規律、分割されたカーバー。いずれも -h で実行可能。Python 3.8+ / bash、サードパーティ製パッケージ不要。source_guard.sh はLinuxの /proc/diskstats が必要です。

試してみる

root@kitploit:~
python3 scripts/make_demo.py
python3 scripts/bson_frame.py --total demo/*.bson
python3 scripts/sensitivity_scan.py demo/*.bson
python3 scripts/integrity_verify.py --compare demo/source demo/copy

方法論

この順序で実行しました。カービングステップはゲストによって分岐します。setro+imageのブックエンドとコンテンツキー方式の検証はどちらの場合も同じです。

root@kitploit:~
damaged disk ──setro+image──► read-only image
                                    │
                database ──────────►│◄────────── filesystem
          carve WT pages            │            carve files
          count docs                │            classify by content + manifest
                                    │
                          tier exposure (RED/AMBER/GREEN)
                          verify copy (content-keyed)
                                    │
                                 recover

障害モード

  1. ゼロは曖昧です: 空の領域とブラインドデコーダーの両方が何も返しません。すでに保持しているページに対してすべてのゼロをポジティブコントロールしてください。
  2. 最初のフィットではなく、最初の成功したデコードでページサイズを選択してください。フィットは常に4096を選択し、マルチブロックページを落とします。
  3. サンプリングされたカウントはフロアであり、合計ではありません。ビン全体を読んでください。
  4. 名前は過剰にフラグ付けし(マップキーとして使用されるデータ)、値は過小にフラグ付けします(人間がフォーマットしたシークレット)。両方とコンテキストを要求してください。
  5. 出現回数ではなく、入力されたフィールドをカウントしてください。Nullが多いフィールドは数を膨らませます。
  6. ファイル名ではなくコンテンツハッシュで検証してください。復旧ではすべてがリネームされます。
  7. find | sort | xargs sha256sum | sha256sum はパスとロケールもハッシュします。LC_ALL=C またはファイルごとのマニフェストを使用してください。
  8. sha256sum -c はFAILEDを出力しながら終了コード0で終了します。$? ではなく列を読んでください。
  9. 資格情報を特定するレポートには資格情報の値を含めてはなりません。形状とカウントのみを出力してください。
  10. 検証は実行された場合にのみ真です。すべての読み取りにスタンプを押し、現在の状態を再確認してください。

メモ

ターンキーではなく出発点です。本番のWiredTigerは、汎用カーバーがスタブ化するページ圧縮(snappy/zstd)とセルエンコーディングを使用します。圧縮ページ用に独自の強力なデコーダーを配線してください。すべての数値をポジティブコントロールと、2つ目の異なる計測器と照合してください: 仮定を共有する2つのツールは、それが正しいからではなく、仮定のために一致します。バイトを読むことがそれを検出します。

データが同じでない場合(異なるデータベース、アプリ、またはファイルシステム)、方法論は依然として有効です: ソースを読み取り専用に設定し、イメージ化し、コピーからカービングし、ゼロを信じる前にポジティブコントロールし、全体をカウントし、コンテンツで検証します。カーバーを交換し、規律を維持してください。

根本原因を強化してください: :8006 のProxmox Web UIはインターネットから到達可能であってはなりません。公式のProxmoxセキュリティアドバイザリに従ってください: https://forum.proxmox.com/threads/proxmox-virtual-environment-security-advisories.149331/

復旧と強化に関する著者の一般的なアドバイスを含む、よりユーザーフレンドリーな解説: https://claude.ai/code/artifact/621495ce-4972-405a-ad90-f7703f7dc2f1

CC0 / パブリックドメイン。LICENSE を参照してください。

ツールをダウンロード
スクリプトトラック機能
scripts/source_guard.sh共通復旧コマンドをラップし、書き込みカウンターの差分によりソースが読み取り専用のままであることを証明。いかなるソース書き込みでも失敗します。
scripts/wt_leaf_carve.pyデータベース生のWiredTigerリーフページからBSONをカービング。ページサイズはフィットではなくデコードで決定。必須のポジティブコントロール。
scripts/bson_frame.pyデータベースオンディスクフレーミングによるBSONドキュメントのカウント/検証。デフォルトはファイル全体。サンプルはFLOORとしてフラグ付けされます。
scripts/fs_carve_classify.pyファイルシステムカービングされたファイルフラグメントをファイル名ではなくコンテンツで分類。ファイルごとのマニフェストを書き出し、徹底的なシークレットスキャンを実行。
scripts/sensitivity_scan.py共通復旧データを資格情報/PII露出についてRED/AMBER/GREENに階層化。カウントのみを出力し、値は決して出力しません。
scripts/integrity_verify.py共通再構成されたコピーがソースに忠実であることを証明。コンテンツキー方式(リネームに耐性)。終了コードではなくOK/FAILED列を読み取ります。
scripts/make_demo.py—ツールキットを実行するための合成BSONフィクスチャ(実データなし)を生成。