Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
ubuntils — Python CLI/TUI for forensic triage of Ubuntu systems — detects and remediates persistence mechanisms with artifact collection, timeline correlation, and Wazuh integration. | Kitploit
도구/GitHubGitHub/asmitdesai/ubuntils
Defensive ToolsIndicator of Compromise (IOC) ManagementPersistence MechanismsVulnerability AnalysisScripting & AutomationConfiguration AuditingForensicsDigital ForensicsIncident ResponseLog Analysis
GitHubasmitdesai/ubuntils

ubuntils

41013일 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Python CLI/TUI for forensic triage of Ubuntu systems — detects and remediates persistence mechanisms with artifact collection, timeline correlation, and Wazuh integration.

저장소 보기
요청한 언어로 콘텐츠를 사용할 수 없습니다. 영어 버전을 표시합니다.

ubuntils

Forensic triage for live Ubuntu systems — automated artifact collection, persistence detection, and guided remediation in about a minute.

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


The Problem

When you suspect a Linux system is compromised, the first 30-40 minutes are usually spent running the same ten commands in sequence: check running processes, look for weird cron jobs, grep for LD_PRELOAD, scan authorized_keys for new entries, audit sudoers. Each step is manual, context-switching, and error-prone under pressure. Miss one source — say, /etc/sudoers.d/ instead of just /etc/sudoers, or user crontabs in addition to /etc/cron.d/ — and you have an incomplete picture.

Existing options don't solve this cleanly. lynis is a hardening auditor, not a triage tool — it reports configuration weaknesses on a clean system and generates noise on a hot one. chkrootkit and rkhunter check for known rootkit signatures but are blind to novel persistence techniques like abused systemd timers or legitimate-looking cron entries. Generic SIEM queries require log infrastructure that may not exist on the system you're looking at. And forensic suites like Volatility target memory images, not a live shell on a running host.

The gap is a tool that runs on the live system right now, covers the most common persistence vectors, correlates activity across log sources into a timeline, and tells you exactly what to look at — without requiring an external agent, a database, or an internet connection.


What ubuntils does

ubuntils runs in four sequential stages:

  1. Collection — Eleven collectors gather forensic artifacts concurrently from /proc, cron tables, systemd units, SSH keys, sudoers files, environment definitions, package integrity (dpkg --verify), PAM/NSS config, and loaded kernel modules. Most collectors finish in a second or two; dpkg --verify, which re-checks every installed package file, dominates — a full scan took 29–68 seconds on an Ubuntu 26.04 arm64 desktop VM.
  2. Detection — A detection engine runs all sixteen built-in rules — plus any custom rules loaded with --rules — over the collected artifacts, producing a ranked, confidence-scored findings list in about one second.
  3. Timeline — A timeline builder reads syslog, journald, and auditd in parallel and correlates events chronologically, adding roughly 0.3 seconds. Each finding is then auto-correlated against the timeline, so it carries the nearby events that relate to it.
  4. Output — Results appear either in an interactive four-tab TUI (default) or as structured JSON on stdout (--json).

ubuntils itself makes no network calls, and every feature — custom rules and correlation included — runs against locally collected artifacts. The one way findings can leave the host is the Wazuh integration: if a Wazuh agent is installed, a live scan writes its findings to a local file that the agent then ships to its manager. Pass --no-wazuh to turn that off for a run.

ubuntils scan is unchanged by everything below — it is still 100% live, single-host, and every existing flag works identically. Two additional commands, collect and analyze, split the same detection/timeline pipeline into an offline-friendly acquire-then-analyze workflow for cases where you can't (or don't want to) run detection directly on the host under investigation — see Offline analysis: collect and analyze below, including its detection-coverage caveats.


Installation

Ubuntu 22.04+ and any system with PEP 668 (recommended):

Ubuntu 22.04+ blocks system-wide pip install. Use pipx — it handles the environment transparently so you never think about it:

sudo apt install pipx -y
pipx ensurepath            # then open a new shell
git clone https://github.com/asmitdesai/ubuntils.git
cd ubuntils
pipx install -e .
ubuntils scan              # not `ubuntils scan` — see below

Run it as your normal user: scan and collect re-invoke themselves under sudo. Typing ubuntils … yourself fails with command not found, because sudo's secure_path doesn't include ~/.local/bin where pipx puts the command. If you need to start it from a root shell, call the installed binary by path (~youruser/.local/bin/ubuntils scan), or install into a virtual environment instead:

python3 -m venv .venv
.venv/bin/pip install -e .
.venv/bin/ubuntils scan

Older systems / manual install:

git clone https://github.com/asmitdesai/ubuntils.git
cd ubuntils
pip install -r requirements.txt -e .
ubuntils scan

ubuntils requires root for full artifact access. If you run ubuntils scan as a non-root user it will automatically re-invoke itself with sudo using the same Python interpreter (by absolute path), so the correct environment is used without forwarding your PATH into the root process. Every external command (ss, dpkg, systemctl, …) is resolved on a fixed, root-owned search path, never your PATH. Running without root will skip /etc/shadow, some /proc entries, and protected cron files, and will log warnings for each.


Quick start

Detection only — interactive TUI:

ubuntils scan

Detection with JSON output saved to file:

ubuntils scan --json > /tmp/triage-$(hostname)-$(date +%Y%m%d).json

Detection with CLI remediation preview (dry run — no changes applied):

ubuntils scan --remediate

Detection with CLI remediation applied:

ubuntils scan --remediate --confirm

Print version:

ubuntils version

Collect a tamper-evident bundle for later or offline analysis:

ubuntils collect --output /path/to/bundle.tar.gz

Analyze a previously collected bundle (no root required):

ubuntils analyze /path/to/bundle.tar.gz --json

Analyze a mounted forensic image or extracted filesystem tree instead of a bundle:

ubuntils analyze --root /mnt/forensic-image --json

See Offline analysis: collect and analyze for the bundle format and — importantly — what offline analysis cannot detect compared to a live scan.


Flags and configuration

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
도구 다운로드