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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
block-copyfail — BPF LSMブロッカー for CVE-2026-31431(Copy Fail)— 再起動せずに実行時にauthencesn AF_ALGバインドをブロックします | Kitploit
ツール/GitHubGitHub/atgreen/block-copyfail
防御ツール動的分析 (サンドボックス)脆弱性分析インシデントレスポンス
GitHubatgreen/block-copyfail

block-copyfail

BPF LSMブロッカー for CVE-2026-31431(Copy Fail)— 再起動せずに実行時にauthencesn AF_ALGバインドをブロックします

リポジトリを見る
7394ヶ月前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有

block-copyfail

CVE-2026-31431(「Copy Fail」)に対する概念実証のランタイム緩和策です。これは、algif_aead 内の authencesn 暗号テンプレートを介したLinuxカーネルの権限昇格です。

モジュールのブラックリスト登録とは異なり、これは再起動を必要としません。BPF LSMプログラムがsocket_bindをフックし、Copy Failが悪用するサブシステムであるAF_ALG AEADバインドをすべてブロックします。これにより、暗号テンプレートのネスト(例:pcrypt(authencesn(...)))によるバイパスを防ぎます。他のAF_ALGの使用(hash、skcipher)には影響しません。

ブロックされた試行は、PID、プロセス名、タイムスタンプとともにリアルタイムでログに記録されます。

前提条件

  • CONFIG_BPF_LSM=y とブートパラメータに lsm=bpf が設定されたLinuxカーネル5.7以上
  • SBCL 2.0以上
  • Whistler(Common Lisp eBPFコンパイラ)
root@kitploit:~
make doctor   # すべての前提条件を確認

クイックスタート

root@kitploit:~
git clone https://github.com/atgreen/block-copyfail.git
cd block-copyfail
make ubi8-build
sudo ./block-copyfail

ブロッカーはCtrl-Cを押すまでアクティブな状態を維持し、その後クリーンにデタッチします。

ローカルでのビルド

自分のマシンでビルドするには、SBCLとWhistler(Common Lisp eBPFコンパイラ)が必要です:

root@kitploit:~
git clone https://github.com/atgreen/whistler.git ~/git/whistler
make build
sudo ./block-copyfail

ポータブルバイナリのビルド(EL8以上)

UBI8コンテナ内でビルドして、RHEL/CentOS/Alma/Rocky 8以上、Fedora、Ubuntu 20.04以上、およびglibc 2.28以降を備えた任意のLinuxで動作するバイナリを生成します。ターゲットシステムにSBCLやWhistlerは不要です — バイナリをコピーして実行するだけです。

root@kitploit:~
make ubi8-build
scp block-copyfail root@server:
ssh root@server ./block-copyfail

ELFオブジェクトへのコンパイル

bpftool、libbpf、または任意のBPFローダーでロード可能な標準の.bpf.oファイルを生成します:

root@kitploit:~
make elf
sudo mkdir -p /sys/fs/bpf/copyfail
sudo bpftool prog loadall block-copyfail.bpf.o /sys/fs/bpf/copyfail autoattach

デタッチして削除するには:

root@kitploit:~
sudo rm -rf /sys/fs/bpf/copyfail

テスト

ブロッカーを一方のターミナルで実行した状態で、もう一方のターミナルでテストをトリガーします:

root@kitploit:~
python3 trigger-test.py

テストスクリプトはAF_ALG AEADバインドを試行します(エクスプロイトは実行されません)。

テストターミナルでの期待される出力:

root@kitploit:~
BLOCKED: aead/authencesn(hmac(sha256),cbc(aes)) — [Errno 1] Operation not permitted
BLOCKED: aead/gcm(aes) — [Errno 1] Operation not permitted
ALLOWED: hash/sha256
ALLOWED: skcipher/cbc(aes)

ブロッカーターミナルでの期待される出力:

root@kitploit:~
Copy Fail blocker active — all AF_ALG AEAD binds blocked.
Other AF_ALG usage (hash, skcipher) unaffected.
Watching for blocked attempts. Press Ctrl-C to exit.

TIME                  PID       COMMAND
----                  ---       -------
06:38:12               31337  python3

ブロッカーを実行せずにテストスクリプトを実行すると、4つのアルゴリズムすべてに対してALLOWEDが出力されます。

仕組み

BPFプログラムは、bpf_probe_read_kernelを介してsocket_bind引数からstruct sockaddr_algの7バイトを読み取り、salg_family == AF_ALGとsalg_type == "aead"をチェックし、一致した場合に-EPERMを返します。これにより、テンプレートのネストに関係なく、すべてのAEADアルゴリズムのバインドがブロックされます。イベントはリングバッファを介してユーザースペースに送信されます。

Whistlerで記述されています。これは、eBPFバイトコードに直接コンパイルされるCommon Lisp方言であり、C、clang、LLVMは不要です。

ライセンス

MIT

ツールをダウンロード