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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
security checks — Linux セキュリティチェック | Kitploit
ツール/GitLabGitLab/abdom.seada/security-checks
防御ツールメモリフォレンジック脆弱性分析ネットワークフォレンジック構成監査フォレンジックマルウェア分析デジタルフォレンジック侵入検知インシデントレスポンスログ分析
196ヶ月前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有
GitLab
abdom.seada/security-checks

security checks

Linux セキュリティチェック

リポジトリを見る

🔍 Miner Hunter

Linuxサーバ向け暗号通貨マイナー検出・削除・堅牢化ツールキット

実際のインシデントレスポンスから構築 — ps、top、htop、btop からルートキット技術を用いて隠れるマイナーを検出します。


📦 インストール

git clone https://gitlab.com/abdom.seada/security-checks.git
cd security-checks
sudo bash setup.sh

🔀 ブランチ: master — このツールキットは master ブランチにあります。他のセキュリティスクリプトは将来別のブランチに追加される可能性があります。


⚙️ セットアップ

⚠️ クローン後すぐに setup.sh を一度実行してください — これをスキップするとエラーの最大の原因になります。

sudo bash setup.sh

setup.sh はすべてを自動的に処理します:

ステップ処理内容
✅ パーミッションminer-hunter とすべての lib/*.sh スクリプトに chmod +x を実行
✅ ディレクトリ/var/log/miner_hunter/ および /var/lib/miner_hunter/ を作成 (rootのみ、700)
✅ 依存関係perf、mpstat、iptables、fail2ban、bc、strings を確認 — 不足分は自動インストール
✅ セルフテスト./miner-hunter --version を実行してすべてが正しく接続されていることを確認

セットアップ成功時の期待される出力:

✅ Setup complete — all checks passed!

  Next steps:
    sudo ./miner-hunter scan        # Safe read-only scan
    sudo ./miner-hunter full        # Scan → Kill → Harden

💡 なぜこれが必要か? Linux は、ファイルに +x フラグがないと実行しません。Git や SCP 転送ではこれが失われます。setup.sh は、メインスクリプトが依存する lib/ モジュールを含むすべてのファイルを一度に修正します。


🚀 クイックスタート

sudo ./miner-hunter scan            # ✅ 安全 — 読み取り専用、変更なし
sudo ./miner-hunter full            # ⚠️  フルパイプライン: スキャン → キル → ハードニング
sudo ./miner-hunter scan --dry-run  # 👁️  プレビューモード — 何が起こるかを表示

📋 コマンドとオプション

コマンド

コマンド説明システムを変更するか?
scan完全検出スキャン — 隠しプロセス、CPU、ネットワーク、永続化✅ いいえ
kill特定されたマイナーを強制終了、プールIPをブロック、アーティファクトを削除⚠️ はい
hardenインシデント後の堅牢化 — SSH、ファイアウォール、ウォッチドッグ、整合性ベースライン⚠️ はい
fullスキャン → キル → ハードニングを各フェーズ間で確認プロンプト付きで実行⚠️ はい
report最新のスキャンレポートを表示✅ いいえ

オプション

オプション説明
-d, --dry-run変更を加えずにすべてのアクションをプレビュー
-e, --evidence DIR/root/miner_evidence_* の代わりにカスタムディレクトリに証拠を保存
-h, --helpヘルプを表示
-v, --versionバージョンを表示

🎭 シナリオ例

実際の状況と、それぞれで正確に実行すべき内容を示します。


🔴 シナリオ 1 — 「サーバのCPU使用率が100%なのに top には何も表示されない」

これは典型的なルートキットの症状です。マイナーはユーザー空間ツールからは隠れますが、ハードウェアパフォーマンスカウンタからは隠れられません。

# ステップ1: まず安全なスキャンを実行 — 何を触る前に何があるか確認
sudo ./miner-hunter scan

マイナーが存在する場合に表示される内容:

🚨 [CRITICAL]  CPU anomaly: 97% user CPU but top shows max 2% per process
🚨 [CRITICAL]  perf detected 4 hidden threads consuming ~94% total CPU
🚨 [CRITICAL]  Active connection to 185.x.x.x:9200 (known mining port)
🚨 [CRITICAL]  Fake kernel thread PID=3421 NAME=[kworker/0:1] EXE=/tmp/.x/miner
# ステップ2: マイナーを強制終了し、そのプールをブロック
sudo ./miner-hunter kill

# ステップ3: サーバを堅牢化して再発を防止
sudo ./miner-hunter harden

🟡 シナリオ 2 — 「ハッキングされたと思うけど確信がない」

異常な送信トラフィック、自分で作成していないcronジョブ、奇妙な名前のプロセスなど、何か怪しいことに気づいたが確信がない場合。

# 完全スキャンを実行 — 完全に安全、読み取り専用、変更なし
sudo ./miner-hunter scan

# その後、構造化されたレポートを読む
sudo ./miner-hunter report

/root/miner_evidence_*/report.txt のレポートはすべての検出結果を重要度別に分類します:

  • [CRITICAL] エントリ → すぐに kill を実行
  • [WARNING] エントリ → 手動で確認してから対処
  • 空のレポート → サーバは正常と思われる

🟠 シナリオ 3 — 「手動でマイナーを強制終了したが、何度も復活する」

マイナーには永続化メカニズムがあります — そのメカニズム(cronジョブ、systemdサービス、PM2エントリ、シェルプロファイルのバックドア)が、強制終了後に再生成します。

sudo ./miner-hunter scan

出力内で以下を探します:

⚠️  [WARN]     Suspicious cron entry: * * * * * /tmp/.x/update
🚨 [CRITICAL]  Malicious systemd service: /etc/systemd/system/update-check.service
🚨 [CRITICAL]  PM2 process 'app-worker' has 8432 restarts — likely miner respawn loop
🚨 [CRITICAL]  Shell profile backdoor detected in /root/.bashrc
# kill は実行中のプロセスだけでなく、すべての永続化アーティファクトを削除します
sudo ./miner-hunter kill

# 次に、何かが再生成された場合に警告を受け取れるようにウォッチドッグをインストールするため、ハードニングを実行
sudo ./miner-hunter harden

💡 kill 後、ウォッチドッグcronは5分ごとに実行され、/var/log/miner_hunter/watchdog_alerts.log にログを記録します — 何かが再発した場合に即座に把握できます。


🔵 シナリオ 4 — 「何かが起こる前に新しいサーバを堅牢化したい」

デプロイ前の予防的な堅牢化 — マイナーなし、インシデントなし、単にロックダウン。

# ハードニングを単独で実行 — スキャンやキルは不要
sudo ./miner-hunter harden

これにより:

  • SSH設定を監査し、推奨設定を表示
  • fail2banが sshd ジャイルでアクティブであることを確認
  • /usr/bin の整合性ベースラインを作成(MD5チェックサム — 後で改ざんされたバイナリを検出可能)
  • 5分ごとにマイナー指標をチェックするcronウォッチドッグをインストール
  • 既存のiptablesルールを systemd サービスを介して再起動後も保持

⚫ シナリオ 5 — 「マイナーがキルに耐えた — CPU使用率が依然として高い」

kill 後、検証ステップでマイナーがまだ実行中である可能性が報告されます:

⚠️  MINER MAY HAVE RESPAWNED
CPU: 89% | Mining conns: 1
Firewall blocks are in place — miner can't reach pool
Consider a REBOOT or OS REINSTALL
# 1. ファイアウォールブロックはすでに有効 — マイナーはプールに到達できません
#    ブロックがアクティブであることを確認:
iptables -L OUTPUT -n | grep DROP

# 2. 2回目のスキャンを実行して何が生き残ったか確認
sudo ./miner-hunter scan

# 3. プロセスを隠しているカーネルモジュールルートキットを確認
lsmod | grep -iE 'diamorphine|reptile|kovid|rootkit'

# 4. 非ゼロの taint = カーネル外のモジュールがロードされている(ルートキットの指標)
cat /proc/sys/kernel/tainted

カーネル taint 値が非ゼロであるか、既知のルートキットモジュールが表示される場合 — マイナーはカーネルレベルで制御しています。この時点で最も安全な方法は、既知のクリーンなスナップショットからの完全なOS再インストールです。


🟣 シナリオ 6 — 「手動でスキャンを実行せずに継続的な監視をしたい」

harden 後、ウォッチドッグcronがすでにインストールされています。その操作方法は以下の通りです:

# アラートログをリアルタイムで監視
tail -f /var/log/miner_hunter/watchdog_alerts.log

# ウォッチドッグcronジョブが登録されていることを確認
cat /etc/cron.d/miner-watchdog

# ベースライン作成以降の /usr/bin バイナリの変更を確認
md5sum --check /var/lib/miner_hunter/usrbin_baseline.md5 --quiet

最後のコマンドで出力があった場合、ベースライン作成後にシステムバイナリが変更されたことを意味します — 直ちに調査してください。


🔬 検出内容

隠しプロセス検出

手法検出するもの
/proc と ps の比較ユーザー空間ツールから見えないプロセス
LD_PRELOAD ハイジャックlibc をフックしてプロセスを隠す悪意のある共有ライブラリ
カーネルモジュールルートキットDiamorphine、Reptile、Kovid などの既知のルートキット
偽のカーネルスレッド[kworker]、[kthreadd]、[kswapd] に偽装したマイナー
改ざんされたシステムバイナリ置き換えられた ps、top、ls、ss、netstat

CPUプロファイリング

手法検出するもの
perf ハードウェアPMCプロファイリング隠されたCPU消費 — ルートキットはハードウェアカウンタを偽造できません
/proc デルタサンプリングPIDごとの直接のカーネルレベルCPUアカウンティング
CPU異常検出それを説明する可視プロセスがない高い %user CPU

ネットワーク分析

手法検出するもの
/proc/net/tcp 直接読み取りアクティブな接続 — フックされた ss/netstat をバイパス
マイニングポート検出ポート 3333、4444、5555、7777、9200、14433、14444、45560
マイニングドメイン解決既知のプールドメインを解決し、アクティブな接続と相互参照
ソケットからPIDへのマッピング各マイニング接続がどのプロセスに属するかを特定

永続化メカニズム

場所チェック内容
Cron/etc/cron*、/var/spool/cron/、全ユーザーのcrontab
Systemdすべてのユニットファイルとタイマーの疑わしいエントリ
Udevルールデバイスイベントによるハードウェアトリガー実行
PM2Node.jsプロセスマネージャエントリの異常に多い再起動回数
シェルプロファイル.bashrc、.bash_profile、/etc/profile、/etc/profile.d/*
SSH全ユーザーの authorized_keys ファイルすべて
WebshellNode.jsプロジェクトディレクトリ内のPHPファイル
XMRig設定一般的なマイナー配置場所の config.json

⚔️ キルプロセス — ステップバイステップ

sudo ./miner-hunter kill を実行すると、以下の順序で処理が行われます:

  1. 🔥 ファイアウォールでマイニングプールIPをブロック — 強制終了前に iptables DROP ルールを適用。これにより、再生成してもマイナーは再接続できません
  2. 💀 スレッドグループリーダーを強制終了 — 最初に SIGKILL でTGID(スレッドグループリーダーPID)を対象
  3. 🧹 すべてのワーカースレッドを掃討 — 同じスレッドグループ内の全PIDをPID範囲全体で強制終了
  4. 🗑️ アーティファクトを削除 — マイナーの設定ファイル、バイナリ、webshell、永続化ファイル
  5. 🔄 PM2をクリーン — Node.jsプロセスマネージャからマイナーエントリを削除し、リストを保存
  6. ✅ 検証 — perf を再実行し、/proc/net/tcp をチェックしてCPUが低下し接続がなくなったことを確認

🛡️ インシデント後の堅牢化 — 適用される内容

アクション詳細
ファイアウォールの永続化再起動のたびにiptablesのマイニングブロックを復元するsystemdサービス
SSH監査PermitRootLogin、PasswordAuthentication、MaxAuthTries をチェック — 推奨値を表示
Fail2banチェックsshd ジャイルがアクティブであることを確認し、現在禁止されているIPを報告
マイナーウォッチドッグ5分ごとにCPU異常、LD_PRELOAD、マイニングポート、PHP webshellをチェックするcronジョブ
/usr/bin ベースライン/usr/bin 内の全バイナリのMD5チェックサム — 将来の改ざん検出用

📁 プロジェクト構成

ツールをダウンロード