====== Linux Trash ====== ===== Definition ===== Linux Trash is a Linux or macOS artifact, behavior, or record used to interpret access, execution, configuration, file-system activity, or user context. In a forensic report, linux trash should be treated as a source of evidence and uncertainty, not as a shortcut to intent. The useful question is what the record supports, what it does not support, and what another source says when asked the same question. ===== Background ===== Unix-like systems reward careful examiners and punish lazy assumptions. Logs move, shells remember selectively, and metadata often keeps the kind of quiet that makes bad reports nervous. The same trace can support several explanations, so the analyst has to make the boring alternatives testify before naming the suspicious one. Shell history is helpful until it remembers that it is editable. ===== Technical Description ===== Review usually compares logs, account records, shell history, metadata, scheduled jobs, application state, and platform-specific storage behavior. If the tool normalized, decoded, or reconstructed the record, that transformation belongs in the notes. ===== Forensic Relevance ===== * **User activity review:** It may support account or profile context, but only when independent artifacts point the same direction. * **Contradiction testing:** It is useful for finding places where logs, metadata, storage behavior, or accounts disagree. * **Reporting decisions:** It helps decide how narrow the finding should be when linux trash looks interesting but not conclusive. * **Timeline reconstruction:** Linux Trash can help place activity in sequence when the time source and collection conditions are understood. * **Recovery analysis:** It can explain why data was recovered, missed, corrupted, or only partially reconstructed. ===== Evidence Sources ===== ^ Evidence source ^ What it may show ^ Reliability limits ^ What it cannot prove alone ^ | System logs | May show authentication, service behavior, boot activity, package changes, and errors. | Retention and configuration vary by distribution or deployment. | Do not prove a complete sequence. | | Shell and account artifacts | May show command history, login context, keys, and user environment. | History can be disabled, edited, truncated, or shared. | Do not prove who typed a command. | | File metadata | May show ownership, permissions, timestamps, and extended attributes. | Copying, sync, backup, and package managers can change metadata. | Does not prove motive. | | Platform-specific stores | macOS and Linux keep different records for indexing, quarantine, auditing, and scheduling. | Version differences matter. | Do not support Windows-style assumptions. | ===== Interpretation Limits ===== The most common error is treating linux trash as proof of motive. It may support a technical event, a sequence, or a contradiction, but motive needs stronger ground. Another bad leap is treating absence as intent. Missing data can come from retention, configuration, collection scope, sync behavior, overwriting, media behavior, or ordinary use. A tool result should be described as a parsed or recovered record, not as the tool's opinion about what happened. Tools surface evidence; they do not understand it. A plist can look tidy while hiding the kind of version detail that ruins an easy paragraph. ===== Common Misinterpretations ===== * Treating a timestamp as exact truth without checking timezone, clock drift, and source semantics. * Ignoring benign explanations because the suspicious explanation is easier to write. * Treating linux trash as proof that a specific user acted, when the artifact only supports system or account context. ===== Example Scenario ===== A reviewer sees system logs in the case file and asks whether it actually supports the written conclusion. The finding may support activity in the relevant time window, but it does not prove who caused it or why. The careful next step is to normalize the time source, compare independent artifacts, and write the finding as support rather than proof. ===== Analysis Workflow ===== - Define the question before opening another parser: what should Linux Trash help answer? - Preserve the source evidence and document how the system logs were collected. - Record tool versions, input paths, output paths, time settings, and errors. - Identify observed facts before writing any interpretation. - Normalize time sources and document timezone, clock drift, and collection-time effects. - Compare at least two independent artifact families before raising confidence. - Consider benign explanations, automated behavior, retention, sync, and storage-device behavior. - Write conclusions proportionally: observed fact first, inference second, uncertainty always visible. ===== Reporting Guidance ===== Reporting on linux trash should be precise enough that another analyst can retrace the claim without inheriting the original examiner's confidence. Avoid wording that converts possibility into intent. The report should not say a user deliberately deleted, hid, wiped, or tampered with evidence unless the evidence actually supports that conclusion. Report-ready wording: * The available system logs are consistent with activity related to linux trash, but they do not independently establish motive or user intent. * Recovery was limited under the examined conditions; additional corroboration would be required before concluding deliberate destruction. * The finding should be read with the collection scope, time-source limits, and alternate explanations described in this report. ===== Confidence and Reliability ===== ^ Confidence level ^ What it looks like for this topic ^ How to report it ^ | Low | System logs exist, but collection scope, time source, or surrounding context is limited. | State the observation and keep interpretation narrow. | | Moderate | System logs align with Shell and account artifacts, but attribution or intent remains unresolved. | Say the artifacts support the finding, not that they prove it. | | High | Multiple independent sources agree on sequence, source system, account context, and collection conditions. | Use stronger language, but still separate observed facts from inference. | ===== Related Concepts ===== * [[wiki:digital_forensics:linux_macos:linux_auditd|Linux Auditd]] - Often appears nearby in reviews of the same system or behavior. * [[wiki:digital_forensics:linux_macos:linux_auth_logs|Linux Auth Logs]] - Compare this concept when testing sequence and corroboration. * [[wiki:digital_forensics:linux_macos:linux_inodes|Linux Inodes]] - Helps keep the finding grounded in a wider evidence pattern. * [[wiki:digital_forensics:linux_macos:linux_package_logs|Linux Package Logs]] - Compare this concept when testing sequence and corroboration. * [[wiki:digital_forensics:linux_macos:macos_trash|macOS Trash]] - Compare this concept when testing sequence and corroboration. * [[wiki:digital_forensics:linux_macos:apfs_snapshots|APFS Snapshots]] - Often appears nearby in reviews of the same system or behavior. ===== Tools ===== * [[https://www.osquery.io/|osquery]] - Structured endpoint state collection across operating systems. * [[https://www.sans.org/tools/sift-workstation/|SIFT Workstation]] - DFIR workstation distribution and toolset. * [[https://github.com/ydkhatri/mac_apt|mac_apt]] - macOS artifact parsing and reporting. * [[https://github.com/mac4n6/APOLLO|APOLLO]] - SQLite query framework for Apple artifacts. * [[https://docs.velociraptor.app/|Velociraptor]] - Endpoint collection, hunting, and artifact triage. * [[https://github.com/log2timeline/plaso|Plaso]] - Timeline extraction and normalization across many artifact types. * [[https://github.com/libyal/libyal|libyal]] - Forensic libraries for many evidence formats. * [[https://github.com/log2timeline/dfvfs|dfVFS]] - Virtual file-system abstraction used by forensic tools. * [[https://github.com/libyal/libewf|libewf]] - Expert Witness Format image support library. * [[https://github.com/libyal/libvshadow|libvshadow]] - Volume Shadow Copy parsing library. * [[wiki:tools:start|Forensic Tools]] - Full tool directory for the wiki. ===== Limitations of Tools ===== Tools parse, surface, and organize evidence. They do not create conclusions. Parser output can be affected by version differences, unsupported formats, corrupted records, timezone handling, partial collection, and storage behavior outside the tool's view. When a tool produces a strong-looking result, validate it against another tool or source where the stakes justify it. A parser can recover a fragment; it cannot tell you whether the fragment deserves a paragraph in the report. ===== References and Further Reading ===== * [[https://www.man7.org/linux/man-pages/man8/systemd-journald.service.8.html|systemd-journald manual]] - Linux journal behavior. * [[https://support.apple.com/guide/security/welcome/web|Apple Platform Security]] - Apple platform and security reference. * [[https://support.apple.com/guide/deployment/welcome/web|Apple macOS deployment reference]] - macOS administration and deployment context. * [[https://csrc.nist.gov/publications/detail/sp/800-86/final|NIST SP 800-86]] - Guide to integrating forensic techniques into incident response. * [[https://www.nist.gov/itl/ssd/software-quality-group/computer-forensics-tool-testing-program-cftt|NIST CFTT]] - Computer Forensics Tool Testing program. ===== See Also ===== * [[wiki:digital_forensics:linux_macos:start|Linux Macos]] * [[wiki:digital_forensics:linux_macos:linux_auditd|Linux Auditd]] * [[wiki:digital_forensics:linux_macos:linux_auth_logs|Linux Auth Logs]] * [[wiki:digital_forensics:linux_macos:linux_inodes|Linux Inodes]] * [[wiki:digital_forensics:linux_macos:linux_package_logs|Linux Package Logs]] * [[wiki:digital_forensics:linux_macos:macos_trash|macOS Trash]] * [[wiki:digital_forensics:linux_macos:apfs_snapshots|APFS Snapshots]] * [[wiki:digital_forensics:linux_macos:bash_history|Bash History]] * [[wiki:digital_forensics:linux_macos:cron_jobs|Cron Jobs]] * [[wiki:digital_forensics:linux_macos:extended_attributes|Extended Attributes]] * [[wiki:digital_forensics:linux_macos:file_permissions|File Permissions]] * [[wiki:tools:start|Forensic Tools]] * [[wiki:resources:start|Project Resources]] ===== Reader Takeaway ===== Linux Trash is useful when it helps explain what the evidence can support and where the limits begin. Treat linux trash as one part of a corroborated record, not a shortcut to intent. Shell history is helpful until it remembers that it is editable. ===== Use Notes ===== This article is for defensive education and technical reference. It should not be treated as legal, forensic, investigative, compliance, or operational advice without qualified professional judgment.