Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

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

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

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
SysTrace — 使用 ptrace 的 Linux 系统调用监控器,用于跟踪文件、进程、网络和内存活动,并通过命名空间隔离和机器学习分类进行行为安全分析。 | Kitploit
工具/GitHubGitHub/tracebyte8/systrace
动态分析 (沙盒)恶意软件分析机器学习异常检测
GitHubtracebyte8/systrace

SysTrace

使用 ptrace 的 Linux 系统调用监控器,用于跟踪文件、进程、网络和内存活动,并通过命名空间隔离和机器学习分类进行行为安全分析。

查看仓库
252931个月前Kitploit 审核通过

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

SysTrace 2.0

基于 ptrace 的 Linux 系统调用监控器与沙箱,用于分析 ELF 二进制文件。

SysTrace 在隔离的 Linux 命名空间环境中运行目标程序,跟踪其系统调用和子进程,应用基于规则的检测和加权风险评分,然后使用随机森林分类器作为辅助信号。

功能特性

  • ptrace 系统调用跟踪
  • 跟踪 fork、vfork、clone 和 execve
  • Linux 用户、PID 和挂载命名空间
  • 最小化 pivot_root 沙箱
  • 文件、进程、内存和网络监控
  • 每进程及聚合系统调用统计
  • 基于规则的检测,并强制执行 SIGKILL
  • 0–100 的加权风险评分
  • 随机森林机器学习分类
  • HTML 安全报告
  • JSON 和文本日志
  • 原始系统调用跟踪

快速开始

克隆仓库:

git clone https://github.com/tracebyte8/SysTrace.git
cd SysTrace

使配置脚本可执行:

chmod +x config.sh

对已编译的 ELF 二进制文件运行 SysTrace:

./config.sh ./tests/bin/mal_fileopen

config.sh 会自动执行以下操作:

  1. 检查 gcc、make 和 python3
  2. 创建 .venv
  3. 安装所需的 Python 依赖
  4. 构建 SysTrace
  5. 通过监控器运行目标程序
  6. 生成安全报告

无需手动安装 Python 包。

目标必须是一个已经编译好的 ELF 二进制文件。不能直接传入 .c 源文件。

架构

Target ELF
    │
    ▼
Namespace Sandbox
    │
    ├── CLONE_NEWUSER
    ├── CLONE_NEWPID
    ├── CLONE_NEWNS
    └── pivot_root
    │
    ▼
ptrace Tracer
    │
    ├── Syscall tracing
    ├── fork/vfork/clone following
    └── exec following
    │
    ▼
System Call Monitors
    │
    ├── File
    ├── Process
    ├── Memory
    └── Network
    │
    ▼
Statistics
    │
    ▼
Rule Engine
    │
    ├── Alerts
    └── SIGKILL enforcement
    │
    ▼
Risk Scoring
    │
    ├── features.json
    │
    └── Random Forest
             │
             ▼
      security_report.html

监控内容

类别跟踪的系统调用
文件open、openat、read、close
进程execve、fork、clone、wait4、ptrace
内存mmap、mprotect
网络socket、connect、sendto、recvfrom、bind、listen、accept

当其他系统调用的名称在系统调用表中可用时,它们也会被写入 syscall.txt。

检测规则

触发条件条件操作
敏感文件访问/etc/passwd 或 /etc/shadow告警 + SIGKILL
文件打开次数过多open > 100告警 + SIGKILL
读取次数过多read > 29告警 + SIGKILL
派生进程过多fork/clone > 8告警 + SIGKILL
重复执行过多execve > 8告警 + SIGKILL
网络连接任意 connect()告警 + SIGKILL
网络发送被跟踪的发送系统调用告警 + SIGKILL
内存保护变更mprotect > 5告警 + SIGKILL
跨进程跟踪任意 ptrace()告警 + SIGKILL
高风险评分 ≥ 70告警 + SIGKILL
中等风险40 ≤ 评分 < 70告警

killit 会记录规则引擎执行的 SIGKILL 操作。

风险评分

SysTrace 会计算加权行为评分:

score =
    (sum of weighted syscall counts)
    / (total syscalls × 6.0)
    × 100

分数被限制在 0–100 之间。

如果规则引擎终止了某个进程,风险分数会被强制设为至少 90。

权重

行为权重
ptrace6.0
connect5.0
网络4.0
execve3.0
mprotect3.0
fork2.0
进程1.5
open0.5
mmap0.5
文件0.3
read0.2
close0.1

机器学习

SysTrace 使用随机森林分类器作为辅助行为信号。

该模型位于:

ml/syscall_model.pkl

被监控的系统调用统计信息导出到:

features.json

ml/predict.py 读取最新的特征记录并生成:

prediction.txt

示例:

Program: ./tests/bin/mal_fileopen

Prediction: MALICIOUS
Confidence: 91.42%

ML 结果应被视为次要信号,而非确定性结论。

该仓库不附带原始训练数据集或已发布的模型准确率。

报告与日志

文件描述
security_report.html最终 HTML 安全报告
alerts.jsonJSON 安全告警
features.jsonML 特征记录
prediction.txt最新 ML 预测
log.txt人类可读的告警
syscall.txt原始系统调用跟踪

features.json、alerts.json、log.txt 和 syscall.txt 会跨多次运行累积记录。

security_report.html 和 prediction.txt 在每次运行时被覆盖。

仪表盘

SysTrace Dashboard

HTML 报告包含:

  • 规则引擎评分
  • ML 预测
  • ML 置信度
  • 最终危险百分比
  • 安全事件
  • 行为统计

项目结构

SysTrace/
├── src/
│   ├── tracer.c
│   ├── namespace.c
│   ├── set_root.c
│   ├── file_monitor.c
│   ├── process_monitor.c
│   ├── memory_monitor.c
│   ├── network_monitor.c
│   ├── rules.c
│   ├── score.c
│   ├── stat.c
│   └── dataset.c
│
├── include/
├── dashboard/
│   ├── index.c
│   └── style.css
│
├── ml/
│   ├── train.py
│   ├── predict.py
│   └── syscall_model.pkl
│
├── tests/
│   └── bin/
│
├── image/
├── Makefile
├── config.sh
└── README.md

手动构建

如果你不想使用 config.sh:

make

清理项目:

make clean

重建:

make re

手动 Python 安装:

python3 -m venv .venv
source .venv/bin/activate
pip install numpy scikit-learn

测试程序

程序行为
benign_idle.c休眠后退出
benign_fileread.c创建、读取并删除临时文件
mal_fileopen.c打开/读取/关闭多个文件
mal_forkbomb.c创建数量受限的子进程
mal_connect.c尝试多次网络连接
mal_mmap_mprotect.c重复执行 mmap/mprotect 操作

示例:

./config.sh ./tests/bin/mal_forkbomb

然后打开:

xdg-open security_report.html

安全性与局限性

SysTrace 是一个研究/学习用途的动态分析工具,并非加固的安全边界或生产级 EDR。

重要局限性:

  • 每次运行仅分析单个目标。
  • 执行通过检测后的 SIGKILL 实现;并非内核级系统调用拦截。
  • 沙箱使用 Linux 用户/PID/挂载命名空间和 pivot_root。
  • 必须启用非特权用户命名空间。
  • 最小根文件系统仅包含目标及选定的运行时库。
  • 带有额外依赖的动态链接二进制文件可能在沙箱内运行失败。
  • 沙箱运行时目前假定使用 x86-64 库路径。
  • 文件描述符跟踪是全局的,而非按 PID 作用域。
  • ML 模型没有公开的准确率保证。
  • 规则引擎和 ML 分类器可能产生误报和漏报。
  • 不应将沙箱视为虚拟机或加固容器的替代品。

仅对您拥有或获授权分析的二进制文件运行 SysTrace。

对于不受信任的二进制文件,请使用专用虚拟机或其他适当隔离的环境。

版本

SysTrace 2.0

下载工具