Skip to content

Commit 1a945f3

Browse files
authored
Merge pull request #349 from tclahr/release/3.1.0
Release/3.1.0
2 parents 522acbe + ef88a55 commit 1a945f3

File tree

106 files changed

+2624
-492
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

106 files changed

+2624
-492
lines changed

.github/workflows/shellcheck.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ on:
66
- develop
77
- main
88
paths:
9+
- 'bin/**/*.sh'
910
- 'lib/**'
1011
- 'uac'
1112

CHANGELOG.md

Lines changed: 82 additions & 109 deletions
Large diffs are not rendered by default.

CODE_OF_CONDUCT.md

Lines changed: 35 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# Code of Conduct
2+
13
An open-source and open community project is one in which participants choose to work together, and in that process experience differences in language, location, nationality, and experience. In such a diverse environment, misunderstandings and disagreements happen, which in most cases can be resolved informally. In rare cases, however, behavior can intimidate, harass, or otherwise disrupt one or more people in the community, which this project will not tolerate.
24

35
A **Code of Conduct** is useful to define accepted and acceptable behaviors and to promote high standards of professional practice. It also provides a benchmark for self evaluation and acts as a vehicle for better identity of the organization.
@@ -7,7 +9,9 @@ This code (**CoC**) applies to any participant in this project's community – d
79
## Statement of Intent
810

911
This project is committed to maintain a **positive** [work environment](#work-environment). This commitment calls for a workplace where [participants](#participant) at all levels behave according to the rules of the following code. A foundational concept of this code is that we all share responsibility for our work environment.
12+
1013
## Code
14+
1115
1. Treat each other with [respect](#respect), professionalism, fairness, and sensitivity to our many differences and strengths, including in situations of high pressure and urgency.
1216
1. Never [harass](#harassment) or [bully](#workplace-bullying) anyone verbally, physically or [sexually](#sexual-harassment).
1317
1. Never [discriminate](#discrimination) on the basis of personal characteristics or group membership.
@@ -21,37 +25,50 @@ This project is committed to maintain a **positive** [work environment](#work-en
2125
1. Step down considerately: Members of every project come and go, and the Hyperledger Project is no different. When you leave or disengage from the project, in whole or in part, we ask that you do so in a way that minimizes disruption to the project. This means you should tell people you are leaving and take the proper steps to ensure that others can pick up where you left off.
2226

2327
## Glossary
24-
#### Demeaning behavior
28+
29+
### Demeaning behavior
30+
2531
is acting in a way that reduces another person's dignity, sense of self-worth or respect within the community.
2632

27-
#### Discrimination
33+
### Discrimination
34+
2835
is the prejudicial treatment of an individual based on criteria such as: physical appearance, race, ethnic origin, genetic differences, national or social origin, name, religion, gender, sexual orientation, family or health situation, pregnancy, disability, age, education, wealth, domicile, political view, morals, employment, or union activity.
2936

30-
#### Insulting behavior
37+
### Insulting behavior
38+
3139
is treating another person with scorn or disrespect.
3240

33-
#### Acknowledgement
41+
### Acknowledgement
42+
3443
is a record of the origin(s) and author(s) of a contribution.
3544

36-
#### Harassment
45+
### Harassment
46+
3747
is any conduct, verbal or physical, that has the intent or effect of interfering with an individual, or that creates an intimidating, hostile, or offensive environment.
3848

39-
#### Leadership position
49+
### Leadership position
50+
4051
includes group Chairs, project maintainers, staff members, and Board members.
4152

42-
#### Participant
53+
### Participant
54+
4355
includes the following persons:
56+
4457
* Developers
4558
* Anyone from the Public partaking in this project's work environment (e.g. contribute code, comment on our code or specs, email us, attend our conferences, functions, etc)
4659

47-
#### Respect
60+
### Respect
61+
4862
is the genuine consideration you have for someone (if only because of their status as participant in Hyperledger Project, like yourself), and that you show by treating them in a polite and kind way.
4963

50-
#### Sexual harassment
64+
### Sexual harassment
65+
5166
includes visual displays of degrading sexual images, sexually suggestive conduct, offensive remarks of a sexual nature, requests for sexual favors, unwelcome physical contact, and sexual assault.
5267

53-
#### Unwelcome behavior
68+
### Unwelcome behavior
69+
5470
Hard to define? Some questions to ask yourself are:
71+
5572
* how would I feel if I were in the position of the recipient?
5673
* would my spouse, parent, child, sibling or friend like to be treated this way?
5774
* would I like an account of my behavior published in the organization's newsletter?
@@ -61,21 +78,25 @@ Hard to define? Some questions to ask yourself are:
6178

6279
_Summary_: if you are unsure whether something might be welcome or unwelcome, don't do it.
6380

64-
#### Unwelcome sexual advance
81+
### Unwelcome sexual advance
82+
6583
includes requests for sexual favors, and other verbal or physical conduct of a sexual nature, where:
84+
6685
* submission to such conduct is made either explicitly or implicitly a term or condition of an individual's employment,
6786
* submission to or rejection of such conduct by an individual is used as a basis for employment decisions affecting the individual,
6887
* such conduct has the purpose or effect of unreasonably interfering with an individual's work performance or creating an intimidating hostile or offensive working environment.
6988

70-
#### Workplace Bullying
89+
### Workplace Bullying
90+
7191
is a tendency of individuals or groups to use persistent aggressive or unreasonable behavior (e.g. verbal or written abuse, offensive conduct or any interference which undermines or impedes work) against a co-worker or any professional relations.
7292

73-
#### Work Environment
93+
### Work Environment
94+
7495
is the set of all available means of collaboration, including, but not limited to messages to mailing lists, private correspondence, Web pages, chat channels, phone and video teleconferences, and any kind of face-to-face meetings or discussions.
7596

7697
## Incident Procedure
7798

78-
To report incidents or to appeal reports of incidents, send email to iplsdk@linux.vnet.ibm.com create email. Please include any available relevant information, including links to any publicly accessible material relating to the matter. Every effort will be taken to ensure a safe and collegial environment in which to collaborate on matters relating to the Project. In order to protect the community, the Project reserves the right to take appropriate action, potentially including the removal of an individual from any and all participation in the project. The Project will work towards an equitable resolution in the event of a misunderstanding.
99+
To report incidents or to appeal reports of incidents, send email to <iplsdk@linux.vnet.ibm.com> create email. Please include any available relevant information, including links to any publicly accessible material relating to the matter. Every effort will be taken to ensure a safe and collegial environment in which to collaborate on matters relating to the Project. In order to protect the community, the Project reserves the right to take appropriate action, potentially including the removal of an individual from any and all participation in the project. The Project will work towards an equitable resolution in the event of a misunderstanding.
79100

80101
## Credits
81102

CONTRIBUTING.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -146,9 +146,9 @@ To ensure consistency throughout the source code, keep these rules in mind as yo
146146

147147
We have very precise rules over how our git commit messages can be formatted. This leads to more readable messages that are easy to follow when looking through the project history.
148148

149-
Each commit message consists of a **header**, a **blank line** and a **body**. The header has a special format that includes a **type** and a **subject**.
149+
Each commit message consists of a **header**, a **blank line** and a **body**. The header has a special format that includes a **type** and a **subject**.
150150

151-
```
151+
```text
152152
<type>: <subject>
153153
<BLANK LINE>
154154
<body>
@@ -158,7 +158,7 @@ Any line of the commit message cannot be longer than 100 characters! This allows
158158

159159
Samples:
160160

161-
```
161+
```text
162162
docs: update changelog to v2.0.0
163163
fix: fixed issue #15
164164
```

LICENSES.md

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
1+
# Licenses
2+
13
Use of the following Third-Party Software is subject to the license agreements at the URLs listed in the table below.
24

35
|Product|Copyright|URL|
46
|---|---|---|
5-
|AVML|Use rights in accordance with the information displayed at: https://github.com/microsoft/avml/blob/main/LICENSE|https://github.com/microsoft/avml|
6-
|linux_procmemdump.sh|Use rights in accordance with the information displayed at: https://creativecommons.org/licenses/by-sa/4.0|
7-
|statx|Use rights in accordance with the information displayed at: https://github.com/tclahr/statx/blob/main/LICENSE|https://github.com/tclahr/statx|
8-
|zip|Use rights in accordance with the information displayed at: https://infozip.sourceforge.net/license.html|https://infozip.sourceforge.net|
7+
|AVML|Use rights in accordance with the information displayed at: <https://github.com/microsoft/avml/blob/main/LICENSE>|<https://github.com/microsoft/avml>|
8+
|linux_procmemdump.sh|Use rights in accordance with the information displayed at: <https://creativecommons.org/licenses/by-sa/4.0>||
9+
|statx|Use rights in accordance with the information displayed at: <https://github.com/tclahr/statx/blob/main/LICENSE>|<https://github.com/tclahr/statx>|
10+
|zip|Use rights in accordance with the information displayed at: <https://infozip.sourceforge.net/license.html>|<https://infozip.sourceforge.net>|

README.md

Lines changed: 56 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,51 +1,63 @@
1+
<!-- markdownlint-disable MD033 -->
2+
<!-- markdownlint-disable MD041 -->
13
<p align="center">
24
<picture>
35
<source media="(prefers-color-scheme: dark)" srcset="logo/uac-light.svg">
46
<img src="logo/uac-dark.svg" alt="logo" width="120px">
57
</picture>
68

7-
<h2 align="center">Unix-like Artifacts Collector</h2>
9+
<h2 align="center">Unix-like Artifacts Collector (UAC)</h2>
810

911
<p align="center">
1012
<a href="https://github.com/tclahr/uac/actions/workflows/shellcheck.yaml" alt="Issues">
11-
<img src="https://github.com/tclahr/uac/actions/workflows/shellcheck.yaml/badge.svg" /></a>
13+
<img src="https://github.com/tclahr/uac/actions/workflows/shellcheck.yaml/badge.svg" alt="shellcheck_badge"/></a>
1214
<a href="https://bestpractices.coreinfrastructure.org/projects/5640" alt="CII Best Practices">
13-
<img src="https://bestpractices.coreinfrastructure.org/projects/5640/badge" /></a>
15+
<img src="https://bestpractices.coreinfrastructure.org/projects/5640/badge" alt="bestpractices_badge"/></a>
1416
<a href="https://github.com/tclahr/uac/releases" alt="GitHub release (latest by date including pre-releases)">
15-
<img src="https://img.shields.io/github/v/release/tclahr/uac?include_prereleases&style=flat" /></a>
17+
<img src="https://img.shields.io/github/v/release/tclahr/uac?include_prereleases&style=flat-square" alt="release_badge"/></a>
1618
<a href="https://github.com/tclahr/uac/LICENSE" alt="License">
17-
<img src="https://img.shields.io/github/license/tclahr/uac?style=flat" /></a>
19+
<img src="https://img.shields.io/github/license/tclahr/uac?style=flat-square" alt="license_badge"/></a>
1820
</p>
1921

2022
<p align="center">
23+
<a href="#-about-uac">About</a>
24+
2125
<a href="#-documentation">Documentation</a>
2226
2327
<a href="#-main-features">Main Features</a>
2428
2529
<a href="#-supported-operating-systems">Supported Operating Systems</a>
2630
27-
<a href="">Using UAC</a>
31+
<a href="#-usage">Usage</a>
2832
2933
<a href="#-contributing">Contributing</a>
3034
31-
<a href="#-community-support">Support</a>
35+
<a href="#-support">Support</a>
3236
3337
<a href="#-license">License</a>
3438
</p>
35-
3639
</p>
40+
<!-- markdownlint-enable MD033 -->
41+
<!-- markdownlint-enable MD041 -->
3742

3843
## 🔎 About UAC
3944

40-
UAC is a Live Response collection script for Incident Response that makes use of native binaries and tools to automate the collection of AIX, ESXi, FreeBSD, Linux, macOS, NetBSD, NetScaler, OpenBSD and Solaris systems artifacts. It was created to facilitate and speed up data collection, and depend less on remote support during incident response engagements.
45+
**UAC (Unix-like Artifacts Collector)** is a powerful and extensible incident response tool designed for forensic investigators, security analysts, and IT professionals. It automates the collection of artifacts from a wide range of Unix-like systems, including AIX, ESXi, FreeBSD, Linux, macOS, NetBSD, NetScaler, OpenBSD and Solaris.
46+
47+
Whether you're handling an intrusion, conducting forensic investigations, or performing compliance checks, UAC simplifies and accelerates data collection while minimizing reliance on external support during critical incidents.
4148

42-
UAC reads YAML files on the fly and, based on their contents, collects relevant artifacts. This makes UAC very customizable and extensible.
49+
### Key Highlights
4350

44-
[![uac_collection](https://tclahr.github.io/uac-docs/img/uac_3_collection.gif)](#)
51+
- 📂 Fully customizable via YAML profiles for tailored data collection.
52+
- ⚡ Lightweight, portable, and requires no installation or dependencies.
53+
- 🔒 Adheres to the order of volatility to ensure reliable data acquisition.
54+
- 🛠 Designed for diverse environments, including IoT devices and NAS systems.
55+
56+
![UAC in Action](https://tclahr.github.io/uac-docs/img/uac_collection.gif)
4557

4658
## 📘 Documentation
4759

48-
Project documentation page: [https://tclahr.github.io/uac-docs](https://tclahr.github.io/uac-docs)
60+
Full documentation is available at the [project documentation page](https://tclahr.github.io/uac-docs).
4961

5062
## 🌟 Main Features
5163

@@ -55,8 +67,9 @@ Project documentation page: [https://tclahr.github.io/uac-docs](https://tclahr.g
5567
- Collect information about current running processes (including processes without a binary on disk).
5668
- Hash running processes and executable files.
5769
- Extract files and directories status to create a bodyfile.
58-
- Collect system and user-specific data, configuration files and logs.
70+
- Collect system and user-specific data, configuration files, and logs.
5971
- Acquire volatile memory from Linux systems using different methods and tools.
72+
- Support to write output to various cloud platforms.
6073

6174
## 💾 Supported Operating Systems
6275

@@ -72,64 +85,77 @@ UAC runs on any Unix-like system, regardless of the processor architecture. All
7285
[![OpenBSD](https://img.shields.io/static/v1?label=&message=OpenBSD&color=yellow&style=for-the-badge)](#-supported-operating-systems)
7386
[![Solaris](https://img.shields.io/static/v1?label=&message=Solaris&color=lightblue&style=for-the-badge)](#-supported-operating-systems)
7487

75-
*Note that UAC even runs on systems like Network Attached Storage (NAS) devices, Network devices such as OpenWrt, and IoT devices.*
88+
*Note: UAC even runs on systems like Network Attached Storage (NAS) devices, Network devices such as OpenWrt, and IoT devices.*
7689

7790
## 🚀 Usage
7891

7992
UAC does not need to be installed on the target system. Simply download the latest version from the [releases page](https://github.com/tclahr/uac/releases), uncompress it, and launch. It's that simple!
8093

81-
> **Full Disk Access** permission is a privacy feature introduced in macOS Mojave (10.14) that prevents some applications from accessing important data, such as Mail, Messages, and Safari files. So it is strongly recommended that you manually [grant permission for Terminal application](https://support.apple.com/guide/mac-help/allow-access-to-system-configuration-files-mchlccb25729/mac) before running UAC from the terminal, or [grant permission for remote users](https://support.apple.com/guide/mac-help/allow-a-remote-computer-to-access-your-mac-mchlp1066/mac) before running UAC via ssh.
94+
### 🛠 Getting Started
95+
96+
1. Download the latest release from the [Releases page](https://github.com/tclahr/uac/releases).
97+
2. Uncompress the archive.
98+
3. Execute the tool directly from the terminal.
8299

83-
To execute a collection, you must supply at least a profile and/or a list of artifacts, and specify the destination directory. Any additional parameters are optional.
100+
### Examples
84101

85-
Examples:
102+
<!-- markdownlint-disable MD033 -->
103+
<details>
104+
<summary>Click to view usage examples</summary>
86105

87-
Collect all artifacts based on the ir_triage profile, and save the output file to /tmp.
106+
**Collect all artifacts based on the ir_triage profile:**
88107

89108
```shell
90109
./uac -p ir_triage /tmp
91110
```
92111

93-
Collect all artifacts located in the artifacts/live_response directory, and save the output file to /tmp.
112+
**Collect memory dump and all artifacts based on the full profile:**
94113

95114
```shell
96-
./uac -a ./artifacts/live_response/\* /tmp
115+
./uac -a ./artifacts/memory_dump/avml.yaml -p full /tmp
97116
```
98117

99-
Collect all artifacts based on the ir_triage profile, along with all artifacts located in the /my_custom_artifacts directory, and save the output file to /mnt/sda1.
118+
**Collect all artifacts excluding a specific one:**
100119

101120
```shell
102-
./uac -p ir_triage -a /my_custom_artifacts/\* /mnt/sda1
121+
./uac -p full -a \!artifacts/bodyfile/bodyfile.yaml .
103122
```
104123

105-
Collect a memory dump and all artifacts based on the full profile.
124+
**Collect all artifacts based on the ir_triage profile, along with all artifacts located in the /my_custom_artifacts directory:**
106125

107126
```shell
108-
./uac -a ./artifacts/memory_dump/avml.yaml -p full /tmp
127+
./uac -p ir_triage -a /my_custom_artifacts/\* /mnt/sda1
109128
```
110129

111-
Collect all artifacts based on the ir_triage profile excluding the bodyfile/bodyfile.yaml artifact.
130+
**Collect all artifacts based on a custom profile:**
112131

113132
```shell
114-
./uac -p ir_triage -a \!artifacts/bodyfile/bodyfile.yaml /tmp
133+
./uac -p /my_custom_uac_data/my_custom_uac_profile.yaml /tmp
115134
```
116135

136+
</details>
137+
<!-- markdownlint-enable MD033 -->
138+
117139
## 💙 Contributing
118140

119-
Contributions are what makes the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
141+
Contributions make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
120142

121143
Have you created any artifacts? Please share them with us!
122144

123-
You can contribute with new artifacts, profiles, bug fixes or even propose new features. Please read our [Contributing Guide](CONTRIBUTING.md) before submitting a Pull Request to the project.
145+
You can contribute with new artifacts, profiles, bug fixes, or propose new features. Please read our [Contributing Guide](CONTRIBUTING.md) before submitting a Pull Request to the project.
124146

125-
## 👨‍💻 Community Support
147+
## 👨‍💻 Support
126148

127-
For general help using UAC, please refer to the [project documentation page](https://tclahr.github.io/uac-docs). For additional help, you can use one of the channels to ask a question:
149+
For general help using UAC, please refer to the [project documentation page](https://tclahr.github.io/uac-docs). For additional help, you can use one of the following channels:
128150

129151
- [Discord](https://discord.com/invite/digitalforensics) (For live discussion with the community and UAC team)
130152
- [GitHub](https://github.com/tclahr/uac/issues) (Bug reports and contributions)
131153
- [Twitter](https://twitter.com/tclahr) (Get the news fast)
132154

155+
## ⭐ Support the Project
156+
157+
If you find UAC helpful, please give us a ⭐ on [GitHub](https://github.com/tclahr/uac)! This helps others discover the project and motivates us to improve it further.
158+
133159
## 📜 License
134160

135161
The UAC project uses the [Apache License Version 2.0](LICENSE) software license.

0 commit comments

Comments
 (0)