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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ksentinel — Linuxカーネル整合性モニター - システムコールフック検出用 | Kitploit
ツール/GitHubGitHub/matheuzsecurity/ksentinel
防御ツール侵入検知
GitHubmatheuzsecurity/ksentinel

ksentinel

Linuxカーネル整合性モニター - システムコールフック検出用

リポジトリを見る
8876ヶ月前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

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

ksentinel - カーネルシステムコール整合性モニター

Singularity Rootkit

概要

ksentinel は、重要なカーネル関数とシステムコールテーブルを監視し、不正な改ざんを検出します。ftrace フック、kprobes、システムコールテーブルのハイジャックなど、ほとんどのルートキットが標的とする一般的なシステムコールを検出します。

機能

  • 関数プロローグ整合性チェック(FNV-1a ハッシュベース)
  • システムコールテーブル監視(512 エントリ)
  • LSTAR MSR 検証(x86_64 システムコールエントリポイント)
  • アンロード防止機構(アンロックキー方式)
  • 設定可能な間隔での継続監視

注: ksentinel は初期バージョンです。今後のコミットでさらなる改善が行われる予定です。

監視対象関数

VFS 層:

  • filldir, filldir64, do_getdents64, vfs_read, vfs_write, vfs_open

ネットワークスタック:

  • tcp4_seq_show, tcp6_seq_show, udp4_seq_show, udp6_seq_show

認証情報:

  • commit_creds, prepare_kernel_cred

モジュールシステム:

  • load_module, free_module

トレーシング基盤:

  • register_kprobe, register_ftrace_function, ftrace_set_filter

さらに、プレフィックスマッチングにより 500 以上の追加システムコールラッパーを監視します。

ビルド

root@kitploit:~
make

コンパイル中に、ランダムな 32 文字のアンロックキーが生成され表示されます。すぐに書き留めてください。 このキーはコンパイルされたモジュールに埋め込まれ、外部に保存されることはありません。

アンロード防止機能が有効な場合は、このキーを安全に保管してください。

インストール

root@kitploit:~
sudo make install

モジュールは lsmod から隠れてロードされ、デフォルトでアンロード防止機能が有効になります。

使い方

手動ロード

root@kitploit:~
sudo insmod ksentinel.ko

マネージャスクリプトの使用

root@kitploit:~
sudo ./ksentinel-manager.sh load      # load module
sudo ./ksentinel-manager.sh status    # check status
sudo ./ksentinel-manager.sh watch     # monitor live
sudo ./ksentinel-manager.sh violations # view alerts

ログの監視

root@kitploit:~
dmesg -wT | grep ksentinel

モジュールのアンロック

アンロード防止機能が有効な場合、モジュールを削除する前にアンロックする必要があります:

root@kitploit:~
echo "your_32char_key" > /proc/.ksctl

またはマネージャを使用:

root@kitploit:~
sudo ./ksentinel-manager.sh unlock

モジュールの削除

root@kitploit:~
sudo rmmod ksentinel

モジュールパラメータ

カスタムパラメータの例:

root@kitploit:~
sudo insmod ksentinel.ko period_ms=5000 anti_unload=false

パフォーマンスに関する考慮事項

ksentinel は period_ms パラメータに基づいて定期的な整合性チェックを実行します。

間隔を短くすると検出が速くなりますが、CPU 使用率が増加します。デフォルトの間隔(2000ms)は最新システムへの影響は最小限です。

検出例

Inline Hook Detected

root@kitploit:~
ksentinel: [CHANGE - HOOK PATTERN] sys_getdents64 @ 0xffffffff81234567
  baseline=1234567890abcdef  current=fedcba0987654321
  bytes: e9 ab cd ef 12 90 90 90 ...
  flags: JMP/CALL_DETECTED ENDBR64_PREFIX

Syscall Table Hook

root@kitploit:~
ksentinel: [SCT HOOK] syscall[78] expected=0xffffffff81111111 got=0xffffffffa0222222 (fake_getdents+0x0)

LSTAR Tampering

root@kitploit:~
ksentinel: [LSTAR TAMPERED] baseline=0xffffffff81800000 now=0xffffffffa0300000 (evil_syscall_entry+0x0)

既知のルートキット検出

ksentinel は以下によって行われた改ざんを検出できます:

  • PUMAKIT - ftrace ベースのフッキング(18 システムコール)
  • Diamorphine - システムコールテーブルのパッチ
  • KoviD - kprobes ベースの隠蔽

検出は、ルートキットよりも前に ksentinel をロードしているかどうかに依存します。

要件

カーネルコンフィグレーション:

  • CONFIG_KALLSYMS=y
  • CONFIG_KPROBES=y
  • CONFIG_MODULES=y

サポート対象カーネル:

  • Linux 5.4 through 6.12+
  • x86_64 アーキテクチャ(LSTAR チェック)
  • ARM64 サポート(LSTAR チェックなし)

制限事項

  1. 検出のみ - ルートキットの防止や除去は行いません
  2. ベースラインの前提 - モジュールロード時にカーネルがクリーンであることを前提とします
  3. 競合状態 - ksentinel より前にロードされたルートキットは検出できません
  4. 回避 - 高度なルートキットは監視コード自体を標的にする可能性があります

セキュリティに関する考慮事項

  • 起動時にできるだけ早く ksentinel をロードしてください
  • アンロックキーはオフラインで安全に保管してください

トラブルシューティング

モジュールがロードできない

カーネルコンフィグレーションを確認:

root@kitploit:~
grep -E "KALLSYMS|KPROBES" /boot/config-$(uname -r)

モジュールがアンロードできない

モジュールはアンロード防止機能により非表示になっています。先にアンロックしてください:

root@kitploit:~
sudo ./ksentinel-manager.sh unlock

開発

root@kitploit:~
make clean          # clean build artifacts
make                # compile module
make install        # load module
make uninstall      # unload module

貢献

貢献を歓迎します。コードスタイルを維持し、新機能にはテストを追加してください。

ライセンス

GPL-2.0-only

このプログラムは GPL バージョン 2.0 のもとでライセンスされたフリーソフトウェアです。修正を行う場合は、元の作者への帰属表示を保持し、同じライセンスで配布しなければなりません。

詳細は LICENSE ファイルを参照してください。

作者

MatheuZSecurity

ルートキット研究者コミュニティ:https://discord.gg/66N5ZQppU7

免責事項

このツールはセキュリティ研究およびシステム管理を目的としています。責任を持って使用してください。作者はこのソフトウェアの誤用や損害について一切の責任を負いません。

ツールをダウンロード
ParameterTypeDefaultDescription
period_msuint2000整合性チェックの間隔(ミリ秒)
sym_prefixesstring"sys_,x64_sys,do_sys,ksys_"監視するシンボルプレフィックスのカンマ区切りリスト
extra_symsstring""監視する追加の特定シンボル
anti_unloadbooltrueアンロード防止機能を有効化