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 持久化机制收集工件。检测结果根据置信度和严重性分为三个级别 - 高、低 和 参考信息。示例包括引用 /tmp/、/home/、/dev/tcp、curl 的可疑自启动条目,或检测到活跃的绑定/反向 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] 活跃的反向 shell ===
bob      3889906  0.0  0.0   2800  1848 pts/2    S+   06:38   0:00 sh -i

=== [HIGH] 活跃的绑定 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 程序(可能存在 BPFdoor 持久化) ===
PID: 3903559, Executable: bpfdoorpoc, Stack trace: /proc/3903559/stack:[<0>] packet_recvmsg+0x6e/0x5c0

=== [LOW] tmp/home/hidden 目录中的近期 ELF 二进制文件 ===
/var/tmp/.test

技术

下载工具
置信度技术描述
高AT 作业持久化合法的 'at' 作业并不常见;/var/spool/at 中的意外条目高度可疑。
高引用可疑关键字的 Cron 条目引用 curl/wget/nc/ncat/socat 或 /tmp、/var/tmp、/dev/shm、/home 及隐藏文件等路径的 Cron 文件。
高活跃的绑定 shell检测正在网络套接字上监听的解释器进程(bash/sh/zsh/dash/ksh/python*/perl/nc/ncat/socat)(绑定 shell)。
高活跃的反向 shell检测标准输入和标准输出被重定向到套接字的进程,这表明存在反向 shell。
高使用 eBPF 原始网络套接字进行持久化BPFdoor 等 Rootkit 使用带原始网络套接字的 eBPF 程序作为持久化后门。了解更多
高引用可疑关键字的 systemd 服务/定时器搜索 systemd 路径(包括 ~/.config/systemd/user/ 下的用户单元)中的 .service 和 .timer 文件,查找可疑关键字。
高引用可疑关键字的 Init/rc.local/profile 脚本引用可疑关键字或持久化路径中的网络/工具的 Init 脚本和 rc.local/profile 文件。
高引用可疑关键字的 MOTD 脚本引用可疑关键字或持久化工具的 MOTD 脚本。
高引用可疑关键字的 Shell profile包含可疑命令或路径的 Shell profile(/etc/profile、/etc/profile.d、/.bashrc、/.profile 等)。
高引用可疑关键字的 D-BUS 服务文件在路径 */dbus-1/* 下找到的引用可疑关键字的 D-BUS 服务文件
高引用可疑关键字的 NetworkManager dispatcher 脚本在路径 */NetworkManager/dispatcher.d/* 下找到的引用可疑关键字的 NetworkManager dispatcher 脚本
高tmp/home/hidden 目录中的隐藏 ELF 可执行文件/tmp、/var/tmp、/home、/dev/shm 中名称以点开头的隐藏点文件,且为 ELF 可执行文件。
高正在运行的进程引用可疑关键字的正在运行的进程
高SUID/SGID/全局可写的 ELF 二进制文件设置了 SUID 或 SGID 位且为 ELF 二进制的全局可写文件(潜在的特权提升/后门)。
高在 /proc 中检测到隐藏进程(可能的 rootkit)枚举 /proc 中的 PID 并与 ps 输出比较,以发现被 rootkit(例如 Diamorphine)隐藏的进程;包括攻击者如何通过后门化 ps 来隐藏 PID 的说明。
高使用 bind mount 技巧隐藏进程检测覆盖 /proc/ 的挂载(例如 mount -o bind mydir /proc/1234),这可能会向 ps 隐藏进程条目。
高系统级配置 LD_PRELOAD/etc/ld.so.preload 的存在或被修改,该文件可能被 rootkit 滥用以实现持久化。
低具有 capabilities 的文件系统上设置了 POSIX capabilities 的文件(来自 getcap)——置信度较低的指标,但值得检查。
低tmp/home/hidden 目录中的近期 ELF 二进制文件/tmp、/var/tmp、/dev/shm、/home 中最近修改或创建的可执行 ELF 二进制文件(7 天内)——置信度较低的指标。
低Git 配置或 hooks 文件非示例的 git 配置或 hooks 文件(例如 .git/config 或 .git/hooks/*),这些文件可能被滥用进行持久化。
低APT HooksAPT Hooks 可能被滥用进行持久化。
低Yum/DNF 插件引用可疑关键字的 Yum/DNF 插件
低内容可疑的 .pth 文件(Python 持久化)包含已执行的导入或调用(如 import、os.system、exec())的 .pth 文件,这些代码会在 Python 模块导入时运行。
低udev 规则带有 RUN 键的 Udev 规则(可能的持久化)
低PAM 模块引用 pam_exec 的 PAM 模块,这可能被滥用进行持久化
低劫持系统二进制文件/bin /sbin /usr/bin /usr/sbin /usr/local/bin /usr/local/sbin/ 中最近修改的二进制文件
参考信息所有 cron 条目(人工审查)打印所有与 cron 相关的文件及其(非注释)内容以供人工审查。
参考信息所有 shell profile(人工审查)打印所有系统级和用户级 shell profile 文件的内容以供人工检查。
参考信息所有 init.d 和 rc.local 脚本(人工审查)打印 init.d 和 rc.local 脚本以供人工检查。
参考信息所有 MOTD 文件(人工审查)打印 MOTD 和 update-motd.d 脚本/文件以供人工审查。
参考信息近期(7 天)ELF 二进制文件(人工审查)列出近期(7 天内)可执行的 ELF 文件以供人工审查。
参考信息列出主目录中的所有点文件(人工审查)枚举用户主目录中的点文件以供人工审查。
参考信息主目录中的 SSH authorized keys(人工审查)打印 /root 和 /home 中非空的 authorized_keys 文件以供人工检查。
参考信息本地用户和组(人工审查)通过 getent 列出本地用户和组以供人工审查。
参考信息挂载信息(人工审查)打印当前挂载信息以供人工检查。
参考信息活跃的网络连接(人工审查)显示活跃的网络连接(ss -tunap)以供人工审查。
参考信息systemd 服务(人工审查)列出正在运行的 systemd 服务(systemctl list-units --type=service --state=running)。
参考信息D-BUS 服务文件(人工审查)查找 dbus-1 目录下的 D-BUS 服务文件以供审查。
参考信息NetworkManager dispatcher 脚本NetworkManager-dispatcher 会在网络变化时运行脚本;检查 NetworkManager 下 dispatcher.d 中的可执行脚本,以发现潜在的持久化。
参考信息容器镜像和正在运行的容器使用 Docker、Podman 和 Containerd 列出所有容器镜像和正在运行的容器
参考信息已安装的软件包使用 dpkg/rpm/dnf 列出所有已安装的软件包
参考信息已加载的内核模块列出所有已加载的内核模块