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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
persisthunt — Linux向け永続化検出・ハンティング・アーティファクト収集スクリプト | Kitploit
ツール/GitHubGitHub/raj3shp/persisthunt
特権昇格偵察コンテナセキュリティ永続化メカニズムスクリプトと自動化フォレンジックマルウェア分析デジタルフォレンジックインシデントレスポンス
GitHubraj3shp/persisthunt

persisthunt

Linux向け永続化検出・ハンティング・アーティファクト収集スクリプト

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

人気

すべて見る →

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

すべてのツールを探索

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

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

Linux 永続化の検出、ハンティング、およびアーティファクト収集

  • 概要
  • 使用方法
  • 検出例
  • テクニック一覧

概要

persisthunt.sh は、標的を絞った永続化関連アーティファクトを収集し、Linux の永続化テクニックに一般的に関連する疑わしいパターンを強調表示することで、調査を迅速化します。

このスクリプトは、よく知られた Linux の永続化メカニズム全体にわたって、永続化の検出、脅威ハンティング、アーティファクト収集を支援します。結果は、信頼度と重大度に基づいて High、Low、Informational の3つのレベルに分類されます。例としては、/tmp/、/home/、/dev/tcp、curl を参照する疑わしい自動実行エントリ、またはアクティブな bind/reverse shell の検出が含まれます。

これは、検出ロジックやキーワードを追加・削除することで、防御担当者が各自の環境に合わせてカスタマイズできる柔軟な基盤として設計されています。出力は大きくなる可能性があり、環境固有の分析が必要になる場合がありますが、LLM や AI エージェントを使用したレビューや要約にも適しています。

使用方法

root ユーザーとして実行し、出力をファイルにリダイレクトします

root@kitploit:~
sudo persisthunt.sh > output.log

SSH 経由でリモートホスト上で実行します

root@kitploit:~
ssh [email protected] 'bash -s' < persisthunt.sh > output.log 2>&1

検出例

root@kitploit:~
=== [HIGH] Active reverse shell ===
bob      3889906  0.0  0.0   2800  1848 pts/2    S+   06:38   0:00 sh -i

=== [HIGH] Active bind shell ===
LISTEN 0      1                                     0.0.0.0:4444  0.0.0.0:* users:(("python3",pid=3891687,fd=3))
bob      3891687  0.7  0.3  19540 12320 pts/3    S+   06:41   0:00 python3 -c exec("""import socket as s,subprocess as sp;s1=s.socket(s.AF_INET,s.SOCK_STREAM);s1.setsockopt(s.SOL_SOCKET,s.SO_REUSEADDR, 1);s1.bind(("0.0.0.0",4444));s1.listen(1);c,a=s1.accept(); while True: d=c.recv(1024).decode();p=sp.Popen(d,shell=True,stdout=sp.PIPE,stderr=sp.PIPE,stdin=sp.PIPE);c.sendall(p.stdout.read()+p.stderr.read())""")

=== [HIGH] eBPF programs with raw network sockets (possible BPFdoor persistence) ===
PID: 3903559, Executable: bpfdoorpoc, Stack trace: /proc/3903559/stack:[<0>] packet_recvmsg+0x6e/0x5c0

=== [LOW] Recent ELF binary in tmp/home/hidden dirs ===
/var/tmp/.test

テクニック一覧

ツールをダウンロード
ConfidenceTechniqueDescription
HighAT ジョブの永続化正当な 'at' ジョブはまれです。 /var/spool/at 内の予期しないエントリは非常に疑わしいです。
High不審なキーワードを参照する Cron エントリcurl/wget/nc/ncat/socat や /tmp, /var/tmp, /dev/shm, /home, または隠しファイルなどのパスを参照する Cron ファイル。
Highアクティブな bind shellネットワークソケットで待ち受けている (bind shell) インタープリタプロセス (bash/sh/zsh/dash/ksh/python*/perl/nc/ncat/socat) を検出します。
Highアクティブな reverse shell標準入力と標準出力がソケットにリダイレクトされているプロセスを検出し、reverse shell を示します。
HigheBPF 生ネットワークソケットを使用した永続化BPFdoor などのルートキットは、永続的なバックドアのために生ネットワークソケットを持つ eBPF プログラムを使用します。 続きを読む
High不審なキーワードを参照する Systemd サービス/タイマーsystemd パス配下の .service および .timer ファイル (~/.config/systemd/user/ 配下のユーザーユニットを含む) を不審なキーワードについて検索します。
High不審なキーワードを参照する Init/rc.local/profile スクリプト永続化パス内で不審なキーワードやネットワーク/ツールを参照する Init スクリプトおよび rc.local/profile ファイル。
High不審なキーワードを参照する MOTD スクリプト不審なキーワードまたは永続化ツールを参照する MOTD スクリプト。
High不審なキーワードを参照するシェルプロファイル不審なコマンドやパスを含むシェルプロファイル (/etc/profile, /etc/profile.d, ~/.bashrc, ~/.profile, など)。
High不審なキーワードを参照する D-BUS サービスファイル不審なキーワードを参照するパス */dbus-1/* 内の D-BUS サービスファイル
High不審なキーワードを参照する NetworkManager ディスパッチャスクリプト不審なキーワードを参照するパス */NetworkManager/dispatcher.d/* 内の NetworkManager ディスパッチャスクリプト
Hightmp/home/隠しディレクトリ内の隠し ELF 実行ファイル/tmp, /var/tmp, /home, /dev/shm 内の隠しドットファイル (ドットで始まる名前) で ELF 実行ファイルであるもの。
High実行中のプロセス不審なキーワードを参照する実行中のプロセス
HighSUID/SGID/ワールドライタブル ELF バイナリSUID または SGID ビットが設定されたワールドライタブルなファイルで、ELF バイナリであるもの (特権昇格/バックドアの可能性)。
High/proc で検出された隠しプロセス (rootkit の可能性)/proc の PID を列挙し、ps の出力と比較して、rootkit (例: Diamorphine) によって隠されたプロセスを特定します。攻撃者が PID を隠すために ps をバックドアする方法に関するメモも含まれます。
Highbind マウントトリックによる隠しプロセス/proc/ の上にバインドするマウント (例: mount -o bind mydir /proc/1234) を検出します。これにより ps からプロセスエントリを隠すことができます。
Highシステム全体に構成された LD_PRELOADrootkit が永続化のために悪用する可能性がある /etc/ld.so.preload の存在または変更。
Lowケイパビリティを持つファイルgetcap から POSIX ケイパビリティが設定されたシステム上のファイル — 信頼度は低いですが、確認する価値があります。
Lowtmp/home/隠しディレクトリ内の最近の ELF バイナリ/tmp, /var/tmp, /dev/shm, /home 内で最近 (7 日以内) に変更または作成された実行可能な ELF バイナリ — 信頼度の低い指標。
LowGit 設定またはフックファイルサンプル以外の git 設定またはフックファイル (例: .git/config または .git/hooks/*) で、永続化に悪用される可能性があるもの。
LowAPT フックAPT フックは永続化のために悪用される可能性があります。
LowYum/DNF プラグイン不審なキーワードを参照する Yum/DNF プラグイン
Low不審な内容を含む .pth ファイル (Python の永続化)import, os.system, exec() などの実行されるインポートや呼び出しを含む .pth ファイル。これらは Python モジュールのインポート時に実行されます。
Lowudev ルールRUN キーを持つ udev ルール (永続化の可能性)
LowPAM モジュールpam_exec を参照する PAM モジュール。永続化に悪用される可能性があります。
Lowシステムバイナリのハイジャック/bin /sbin /usr/bin /usr/sbin /usr/local/bin /usr/local/sbin/ 内の最近変更されたバイナリファイル
Informationalすべての cron エントリ (手動レビュー)すべての cron 関連ファイルとその (コメント以外の) 内容を出力し、手動でレビューします。
Informationalすべてのシェルプロファイル (手動レビュー)すべてのシステムおよびユーザーのシェルプロファイルファイルの内容を出力し、手動で検査します。
Informationalすべての init.d および rc.local スクリプト (手動レビュー)init.d および rc.local スクリプトを出力し、手動で検査します。
Informationalすべての MOTD ファイル (手動レビュー)MOTD および update-motd.d のスクリプト/ファイルを出力し、手動でレビューします。
Informational最近 (7 日間) の ELF バイナリ (手動レビュー)最近の実行可能な ELF ファイル (7 日間) を一覧表示し、手動でレビューします。
Informationalホームディレクトリ内のすべてのドットファイルを一覧表示 (手動レビュー)ユーザーのホームディレクトリ内のドットファイルを列挙し、手動でレビューします。
Informationalホームディレクトリ内の SSH 認証鍵 (手動レビュー)/root および /home 内の空でない authorized_keys ファイルを出力し、手動で検査します。
Informationalローカルユーザーとグループ (手動レビュー)getent を使用してローカルユーザーとグループを一覧表示し、手動でレビューします。
Informationalマウント (手動レビュー)現在のマウントを出力し、手動で検査します。
Informationalアクティブなネットワーク接続 (手動レビュー)アクティブなネットワーク接続 (ss -tunap) を表示し、手動でレビューします。
InformationalSystemd サービス (手動レビュー)実行中の systemd サービスを一覧表示します (systemctl list-units --type=service --state=running)。
InformationalD-BUS サービスファイル (手動レビュー)dbus-1 ディレクトリ配下の D-BUS サービスファイルを検索してレビューします。
InformationalNetworkManager ディスパッチャスクリプトNetworkManager-dispatcher はネットワーク変更時にスクリプトを実行します。NetworkManager 配下の dispatcher.d 実行可能スクリプトを確認して、永続化の可能性を調べます。
Informationalコンテナイメージと実行中のコンテナDocker、Podman、Containerd を使用してすべてのコンテナイメージと実行中のコンテナを一覧表示します。
Informationalインストール済みパッケージdpkg/rpm/dnf を使用してすべてのインストール済みパッケージを一覧表示します。
Informationalロードされたカーネルモジュールロードされたすべてのカーネルモジュールを一覧表示します。