Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
工具/GitLabGitLab/abdom.seada/security-checks
防御工具内存取证漏洞分析网络取证配置审计取证分析恶意软件分析数字取证入侵检测事件响应日志分析
GitLababdom.seada/security-checks

security checks

Linux 安全检查

查看仓库
4个月前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

🔍 矿工猎手

针对 Linux 服务器的加密货币挖矿程序检测、清除与加固工具包。

基于真实事件响应构建——可检测使用 Rootkit 技术隐藏于 ps、top、htop 和 btop 之外的挖矿程序。


📦 安装

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

🔀 分支: master — 本工具包位于 master 分支。其他安全脚本未来可能添加在单独的分支上。


⚙️ 设置

⚠️ 克隆后立即运行 setup.sh — 跳过此步骤是导致错误的第一大原因。

root@kitploit:~
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 确认一切配置正确

设置成功后的预期输出:

root@kitploit:~
✅ 设置完成 — 所有检查均通过!

  下一步:
    sudo ./miner-hunter scan        # 安全只读扫描
    sudo ./miner-hunter full        # 扫描 → 清除 → 加固

💡 为什么需要此步骤? Linux 不会执行没有 +x 标记的文件。Git 和 SCP 传输会剥离此标记。setup.sh 一次性修复所有文件——包括主脚本依赖的 lib/ 模块。


🚀 快速开始

root@kitploit:~
sudo ./miner-hunter scan            # ✅ 安全 — 只读,零更改
sudo ./miner-hunter full            # ⚠️  完整流程:扫描 → 清除 → 加固
sudo ./miner-hunter scan --dry-run  # 👁️  预览模式 — 显示将要执行的操作

📋 命令与选项

命令

命令描述是否更改系统?
scan完整检测扫描 — 隐藏进程、CPU、网络、持久化✅ 否
kill清除识别出的挖矿程序、封禁矿池 IP、移除残留⚠️ 是
harden事件后续加固 — SSH、防火墙、监控、完整性基线⚠️ 是
full运行 scan → kill → harden,每个阶段有确认提示⚠️ 是
report显示最近的扫描报告✅ 否

选项

选项描述
-d, --dry-run预览所有操作而不做任何更改
-e, --evidence DIR将证据保存到自定义目录,而非 /root/miner_evidence_*
-h, --help显示帮助
-v, --version显示版本

🎭 案例场景

实际场景以及每种情况下的具体操作。


🔴 场景 1 — "我的服务器 CPU 100% 但 top 什么也没显示"

这是典型的 Rootkit 症状。挖矿程序对用户空间工具隐藏,但无法隐藏于硬件性能计数器。

root@kitploit:~
# 步骤 1:先运行安全扫描 — 确认存在什么,再触碰任何东西
sudo ./miner-hunter scan

如果存在挖矿程序,你会看到:

root@kitploit:~
🚨 [严重]  CPU 异常:用户 CPU 占用 97% 但 top 显示每个进程最多 2%
🚨 [严重]  perf 检测到 4 个隐藏线程,消耗约 94% 的总 CPU
🚨 [严重]  活动连接至 185.x.x.x:9200(已知挖矿端口)
🚨 [严重]  虚假内核线程 PID=3421 名称=[kworker/0:1] 执行文件=/tmp/.x/miner
root@kitploit:~
# 步骤 2:清除挖矿程序并封禁其矿池
sudo ./miner-hunter kill

# 步骤 3:加固服务器,防止它卷土重来
sudo ./miner-hunter harden

🟡 场景 2 — "我觉得被黑了,但不确定"

你注意到一些可疑情况——异常出站流量、不是你创建的 cron 任务、名称奇怪的进程——但无法确定。

root@kitploit:~
# 运行完整扫描 — 完全安全、只读、零更改
sudo ./miner-hunter scan

# 然后阅读结构化报告
sudo ./miner-hunter report

位于 /root/miner_evidence_*/report.txt 的报告按严重程度对每个发现进行分类:

  • [严重] 条目 → 立即执行 kill
  • [警告] 条目 → 手动审查后再操作
  • 报告为空 → 服务器似乎干净

🟠 场景 3 — "我手动清除了挖矿程序,但它不断复活"

挖矿程序拥有持久化机制——cron 任务、systemd 服务、PM2 条目或 shell 配置文件后门,在你清除后重新生成它。

root@kitploit:~
sudo ./miner-hunter scan

在输出中查找这些内容:

root@kitploit:~
⚠️  [警告]     可疑 cron 条目:* * * * * /tmp/.x/update
🚨 [严重]  恶意 systemd 服务:/etc/systemd/system/update-check.service
🚨 [严重]  PM2 进程 'app-worker' 已重启 8432 次 — 可能是挖矿程序重生循环
🚨 [严重]  在 /root/.bashrc 中检测到 Shell 配置文件后门
root@kitploit:~
# kill 会移除所有持久化残留 — 不仅仅是正在运行的进程
sudo ./miner-hunter kill

# 然后运行 harden 安装监控,这样如果有任何东西重生,你都会收到警报
sudo ./miner-hunter harden

💡 执行 kill 后,监控 cron 每 5 分钟运行一次并记录到 /var/log/miner_hunter/watchdog_alerts.log — 如果有东西回来,你会立即知道。


🔵 场景 4 — "我想在部署新服务器之前进行预防性加固"

主动加固,无需部署或清除挖矿程序,只是锁定系统。

root@kitploit:~
# 单独运行 harden — 无需扫描或清除
sudo ./miner-hunter harden

这将:

  • 审计你的 SSH 配置并打印推荐的设置
  • 验证 fail2ban 是否活跃并带有 sshd 监禁
  • 创建 /usr/bin 完整性基线(MD5 校验和——以便以后检测被篡改的二进制文件)
  • 安装一个 cron 监控,每 5 分钟检查一次挖矿指标
  • 通过 systemd 服务在重启后持久化现有 iptables 规则

⚫ 场景 5 — "挖矿程序在清除后仍然存活——CPU 仍然很高"

执行 kill 后,验证步骤报告挖矿程序可能仍在运行:

root@kitploit:~
⚠️  挖矿程序可能已重生
CPU:89% | 挖矿连接数:1
防火墙封锁已生效——挖矿程序无法连接矿池
建议重启或重装操作系统
root@kitploit:~
# 1. 防火墙封锁已生效——挖矿程序无法连接其矿池
#    确认封锁是否激活:
iptables -L OUTPUT -n | grep DROP

# 2. 运行二次扫描,看看哪些残留了
sudo ./miner-hunter scan

# 3. 检查是否有内核模块 Rootkit 隐藏进程
lsmod | grep -iE 'diamorphine|reptile|kovid|rootkit'

# 4. 非零污染值 = 加载了外部内核模块(Rootkit 指示器)
cat /proc/sys/kernel/tainted

如果内核污染值非零或出现已知的 Rootkit 模块——挖矿程序已拥有内核级控制权。此时最安全的做法是从已知干净的快照完全重装操作系统。


🟣 场景 6 — "我希望持续监控,而不需要手动运行扫描"

执行 harden 后,监控 cron 已安装。以下是如何操作:

root@kitploit:~
# 实时查看警报日志
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 以隐藏进程
内核模块 RootkitDiamorphine、Reptile、Kovid 及其他已知 Rootkit
虚假内核线程伪装为 [kworker]、[kthreadd]、[kswapd] 的挖矿程序
被篡改的系统二进制文件被替换的 ps、top、ls、ss、netstat

CPU 性能分析

技术捕捉的内容
perf 硬件 PMC 性能分析隐藏的 CPU 消耗者——Rootkit 无法伪造硬件计数器
/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 进程管理器条目中极端重启次数
Shell 配置文件.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 下降且连接已消失

🛡️ 事后加固 — 应用哪些措施

操作详情
防火墙持久化Systemd 服务,在每次重启后恢复 iptables 挖矿封锁规则
SSH 审计检查 PermitRootLogin、PasswordAuthentication、MaxAuthTries — 打印推荐值
Fail2ban 检查验证 sshd 监禁是否激活,并报告当前被封禁的 IP
挖矿监控每 5 分钟的 cron 任务 — 检查 CPU 异常、LD_PRELOAD、挖矿端口、PHP WebShell
/usr/bin 基线对 /usr/bin 中所有二进制文件进行 MD5 校验和,用于未来的篡改检测

📁 项目结构

root@kitploit:~
security-checks/               ← 仓库根目录(master 分支)
├── miner-hunter               # 入口点 — 实际运行的文件
├── setup.sh                   # ⚙️ 首次设置 — 克隆后运行一次
├── lib/
│   ├── common.sh              # 共享工具:日志、颜色、辅助函数
│   ├── detect_hidden.sh       # 隐藏进程与 Rootkit 检测
│   ├── detect_cpu.sh          # 通过 perf 和 /proc 进行 CPU 性能分析
│   ├── detect_network.sh      # 矿池连接检测
│   ├── detect_persistence.sh  # 持久化机制检测
│   ├── kill_miner.sh          # 进程杀死与残留移除
│   └── harden.sh              # 事后加固
├── README.md
└── LICENSE

📋 要求

要求详情
操作系统Linux — 已在 Ubuntu 24.04 LTS、Debian 13 上测试
权限必须以 root 身份运行(sudo)
由 setup.sh 自动安装perf、mpstat(sysstat)、bc、strings(binutils)
推荐安装fail2ban — 缺失时会标记,但不会自动安装
必需(不会自动安装)iptables — 执行 kill/harden 阶段时必须存在

📤 输出文件

每次运行都会生成:

输出位置内容
证据目录/root/miner_evidence_YYYYMMDD_HHMMSS/捕获的二进制文件、perf 报告、挖矿配置
日志文件/var/log/miner_hunter/run_YYYYMMDD_HHMMSS.log完整时间戳的运行日志
报告evidence_dir/report.txt结构化发现摘要,带有严重级别
监控警报/var/log/miner_hunter/watchdog_alerts.logharden 后的持续警报
完整性基线/var/lib/miner_hunter/usrbin_baseline.md5harden 后的 /usr/bin 校验和

🌍 真实世界起源

本工具是在应对一个加密货币挖矿程序的实际事件响应过程中构建的,该挖矿程序:

  • 将自身重命名为 next 以混入 Node.js 服务器上的 Next.js 进程
  • 使用一个重命名为 kthreadd 的线程组组长——这是一个实际的内核线程名称
  • 在保持内存中运行时从磁盘删除了它的二进制文件(/proc/PID/exe → (已删除))
  • 完全对 ps、top、htop 和 btop 不可见
  • 只能通过 perf 硬件 CPU 计数器性能分析被检测到

📄 许可证

MIT

下载工具