|
1 | 1 | # Changelog
|
2 | 2 |
|
3 |
| -## 2.9.1 (2024-06-12) |
| 3 | +## 3.0.0 (2024-10-22) |
4 | 4 |
|
5 |
| -### Fixes |
| 5 | +### Features |
6 | 6 |
|
7 |
| -- live_response/containers/docker.yaml: Fixed docker stats command that was running in a loop and therefore the program was not terminating [linux] (by [0xtter](https://github.com/0xtter)). |
8 |
| -- live_response/containers/podman.yaml: Fixed docker stats command that was running in a loop and therefore the program was not terminating [linux]. |
| 7 | +- New '--enable-modifiers' command line option. Enabling this option will case UAC to run artifacts that change the current system state ([#272](https://github.com/tclahr/uac/issues/272)). |
| 8 | +- UAC now completely skips an artifact file (YAML) that has no artifacts to be collected for the target operating system. You can use '--artifacts list [OPERATING_SYSTEM]' to display artifacts for a specific operating system only. |
| 9 | +- New output file formats: |
| 10 | + - none: Collected data will not be archived or compressed. Instead, it will be copied directly to an output directory ([#188](https://github.com/tclahr/uac/issues/188)). |
| 11 | + - zip: Collected data will be archived and compressed into a zip file. Additionally, you can create a password-protected zip file using the '--output-password' option ([#149](https://github.com/tclahr/uac/issues/149)). |
| 12 | +- You can now set a custom output file name using the '-o/--output-base-name' command line option. Variables are available to format the filename ([#179](https://github.com/tclahr/uac/issues/179)). |
| 13 | +- Now you have the option to supply a file path to a custom profile located outside the profiles directory. |
| 14 | +- Now you have the option to supply a file path to a custom artifact located outside the artifacts directory ([#154](https://github.com/tclahr/uac/issues/154)). |
| 15 | +- Now you can have the option to supply a file path to a custom config file located outside the config directory using the '-c/--config' command line option. |
| 16 | +- New remote transfer options for Amazon, Google and IBM cloud storage locations. |
| 17 | +- UAC will now use 'wget' to transfer files to remote cloud storage locations when 'curl' is not available. |
| 18 | +- You can now increase the verbosity level using the '-v/--verbose' command line option. Enabling a higher verbosity level will result in the display of all executed commands. |
| 19 | +- UAC will now use the built-in function 'astrings' to extract strings from binary files when 'strings' is not available on the system. |
| 20 | +- The message 'The strings command requires the command line developer tools.' will no longer appear on macOS systems without developer tools installed ([#171](https://github.com/tclahr/uac/issues/171)). |
| 21 | +- Error messages generated by executed commands (stderr) are now recorded in the uac.log file ([#150](https://github.com/tclahr/uac/issues/150)). |
| 22 | +- New '-H/--hash-collected' command line option. Enabling this option will cause UAC to hash all collected files and save the results in a hash file. To accomplish this, all collected data must first be copied to the destination directory. Therefore, ensure you have twice the free space available on the system: once for the collected data and once for the output file. Additionally, note that this process will increase the running time ([#189](https://github.com/tclahr/uac/issues/189)). |
| 23 | +- You can now validate profiles using the '--validate-profile' command line option. |
9 | 24 |
|
10 | 25 | ### Artifacts
|
11 | 26 |
|
12 |
| -- files/shell/history.yaml: Added collection support for *.historynew files [all]. |
13 |
| -- files/shell/sessions.yaml: Added collection support for *.session files [all] [randomaccess3](https://github.com/randomaccess3)) |
| 27 | +- bodyfile/bodyfile.yaml: Updated to remove max_depth limit. |
| 28 | +- files/applications/git.yaml: Added collection of files that can be used to run persistence [linux, macos] ([mnrkbys](https://github.com/mnrkbys)). |
| 29 | +- files/applications/lesshst.yaml: Added less history file (.lesshst) collection [aix, freebsd, linux, macos, netbsd, netscaler, openbsd, solaris] ([mnrkbys](https://github.com/mnrkbys)). |
| 30 | +- files/applications/whatsapp.yaml: Added collection of WhatsApp Desktop files [macos]. |
| 31 | +- files/logs/additional_logs.yaml: Artifact was renamed to advanced_log_search.yaml. |
| 32 | +- files/logs/relink.yaml: Added collection of the kernel relink log file [openbsd] ([Herbert-Karl](https://github.com/Herbert-Karl)). |
| 33 | +- files/logs/run_log.yaml: Added collection of /run/log directory. |
| 34 | +- files/packages/apt.yaml: Add artifacts to collect package manager plugins/scripts [linux] ([mnrkbys](https://github.com/mnrkbys)). |
| 35 | +- files/packages/dnf.yaml: Add artifacts to collect package manager plugins/scripts [linux] ([mnrkbys](https://github.com/mnrkbys)). |
| 36 | +- files/packages/pkg_contents.yaml: Updated to collect FreeBSD installed packages database [freebsd] ([Herbert-Karl](https://github.com/Herbert-Karl)). |
| 37 | +- files/packages/yum.yaml: Add artifacts to collect package manager plugins/scripts [linux] ([mnrkbys](https://github.com/mnrkbys)). |
| 38 | +- files/system/acct.yaml: Added collection of system accounting files [freebsd, netbsd, openbsd] ([Herbert-Karl](https://github.com/Herbert-Karl)). |
| 39 | +- files/system/acct.yaml: Updated to collect system accounting files [solaris] ([sec-hbaer](https://github.com/sec-hbaer)). |
| 40 | +- files/system/dev_db.yaml: Added collection of the database file used for device lookups [netbsd, openbsd] ([Herbert-Karl](https://github.com/Herbert-Karl)). |
| 41 | +- files/system/dev_shm.yaml: Updated to increase max_file_size to 10MB. |
| 42 | +- files/system/locate_db.yaml: Added collection of the database file used by locate command, representing a snapshot of the virtual file system accessible with minimal permissions [freebsd, netbsd, openbsd] ([Herbert-Karl](https://github.com/Herbert-Karl)). |
| 43 | +- files/system/netscaler.yaml: Updated to increase max_file_size to 10MB. |
| 44 | +- files/system/run_shm.yaml: Updated to increase max_file_size to 10MB. |
| 45 | +- files/system/security_backups.yaml: Added collection of file backups and hashes created by the integrated security script [freebsd, netbsd, openbsd] ([Herbert-Karl](https://github.com/Herbert-Karl)). |
| 46 | +- files/system/systemd.yaml: Updated to add new locations for configuration files. |
| 47 | +- files/system/tmp.yaml: Updated to increase max_file_size to 10MB. |
| 48 | +- files/system/udev.yaml: Added collection of udev rule files ([mnrkbys](https://github.com/mnrkbys)). |
| 49 | +- files/system/var_tmp.yaml: Updated to increase max_file_size to 10MB. |
| 50 | +- hash_executables/hash_executables.yaml: Updated to remove max_depth and max_file_size properties. |
| 51 | +- live_response/containers/jls.yaml: Added collection of jails used on FreeBSD systems [freebsd] ([Herbert-Karl](https://github.com/Herbert-Karl)). |
| 52 | +- live_response/hardware/dmesg.yaml: Updated collection of console message bufffer [esxi, freebsd, netscaler, openbsd, solaris] ([Herbert-Karl](https://github.com/Herbert-Karl)). |
| 53 | +- live_response/modifiers/revel_hidden_processes.yaml: Added command to umount filesystems mounted onto a directory that tipically corresponds to a process ID (PID) [linux] ([halpomeranz](https://github.com/halpomeranz)). |
| 54 | +- live_response/network/procfs_information.yaml: Added collection of TCP and UDP network details from /proc/net [linux]. |
| 55 | +- live_response/process/deleted.yaml: Collection of deleted processes will no longer use dd conv=swab. The binary file will be collected in its raw format now [linux]. |
| 56 | +- live_response/process/deleted.yaml: Updated to fix the collection of open files of (malicious) processes [linux] ([mnrkbys](https://github.com/mnrkbys)). |
| 57 | +- live_response/process/hash_running_processes.yaml: Updated to add support to hash running processes on FreeBSD systems that are using procfs (/proc) [freebsd]. |
| 58 | +- live_response/process/procfs_information.yaml: Added artifact collection using cat when strings is not available. |
| 59 | +- live_response/process/procfs_information.yaml: Updated to collect /proc/*/mount [linux] ([halpomeranz](https://github.com/halpomeranz)). |
| 60 | +- live_response/process/procfs_information.yaml: Updated to collect /proc/*/stat [linux] ([mnrkbys](https://github.com/mnrkbys)). |
| 61 | +- live_response/process/strings_running_processes.yaml: Added collection of strings from running processes for ESXi systems [esxi]. |
| 62 | +- live_response/process/strings_running_processes.yaml: Added condition to check whether developer tools are installed before running strings on macOS [macos]. |
| 63 | +- live_response/process/strings_running_processes.yaml: Added support for collecting strings even when the strings command is unavailable. In such cases, the built-in astrings command will be used instead [all]. |
| 64 | +- live_response/storage/btrfs.yaml: Added collection of btrfs mountpoints, subvolumes and snapshots information [linux] ([mnrkbys](https://github.com/mnrkbys)). |
| 65 | +- live_response/system/acctadm.yaml: Added collection of configuration for extended accounting [solaris] ([sec-hbaer](https://github.com/sec-hbaer)). |
| 66 | +- live_response/system/acctcom.yaml: Added collection of the last commands executed in a reverse order based on the default and historic accounting files [solaris] ([sec-hbaer](https://github.com/sec-hbaer)). |
| 67 | +- live_response/system/bpftool.yaml: Added eBPF programs information collection using bpftool [linux] ([mnrkbys](https://github.com/mnrkbys)). |
| 68 | +- live_response/system/hidden_directories.yaml: Updated to remove max_depth limit. |
| 69 | +- live_response/system/hidden_files.yaml: Updated to remove max_depth limit. |
| 70 | +- live_response/system/kernel_tainted_state.yaml: Added collection of dmesg messages showing modules tainting the kernel [linux]. |
| 71 | +- live_response/system/lastcomm.yaml: Added collection of the last commands executed in a reverse order based on the default and historic accounting file [freebsd, netbsd, openbsd] ([Herbert-Karl](https://github.com/Herbert-Karl)). |
| 72 | +- live_response/system/lastcomm.yaml: Updated to collect the last commands executed in a reverse order based on the extended accounting file [solaris] ([sec-hbaer](https://github.com/sec-hbaer)). |
| 73 | +- live_response/system/sgid.yaml: Updated to remove max_depth limit. |
| 74 | +- live_response/system/socket_files.yaml: Updated to remove max_depth limit. |
| 75 | +- live_response/system/suid.yaml: Updated to remove max_depth limit. |
| 76 | +- live_response/system/sys_modules.yaml: Removed as it is was duplicate artifact with kernel_modules.yaml. |
| 77 | +- live_response/system/world_writable_directories.yaml: Updated to remove max_depth limit. |
| 78 | +- live_response/system/world_writable_files.yaml: Updated to remove max_depth limit. |
| 79 | +- live_response/system/zoneadm.yaml: Artifact was moved to live_response/containers directory ([Herbert-Karl](https://github.com/Herbert-Karl)). |
| 80 | + |
| 81 | +### Profiles |
| 82 | + |
| 83 | +- files/applications/git.yaml, files/applications/lesshst.yaml, files/applications/viminfo.yaml, and files/applications/wget.yaml artifacts were added to the 'ir_triage' profile. |
| 84 | + |
| 85 | +### Command Line Option Changes |
| 86 | + |
| 87 | +- '--date-range-start' was renamed to '--start-date' ([#186](https://github.com/tclahr/uac/issues/186)). |
| 88 | +- '--date-range-end' was renamed to '--end-date' ([#186](https://github.com/tclahr/uac/issues/186)). |
| 89 | +- '--validate-artifacts-file' was renamed to '--validate-artifact'. |
| 90 | +- '--s3-presigned-url' was renamed to '--aws-s3-presigned-url'. |
| 91 | +- '--s3-presigned-url-log-file' was renamed to '--aws-s3-presigned-url-log-file'. |
| 92 | +- '--ibm-cos-url', '--ibm-cos-url-log-file' and '--ibm-cloud-api-key' were removed and now transfers to IBM cloud should be done using '--s3-provider', '--s3-region', '--s3-bucket' and '--s3-token' options. |
| 93 | + |
| 94 | +### Artifacts Properties Changes |
| 95 | + |
| 96 | +- Introduced a new global 'modifier' property that ensures the artifact runs only if '--enable-modifiers' command line option is used. |
| 97 | +- Introduced a new 'condition' property that ensures the collection runs only if the specified condition returns true. |
| 98 | +- The 'output_directory' property is now mandatory for the following collectors: command, find, hash and stat. |
| 99 | +- The 'file_type' property is now an array. |
| 100 | +- The 'permissions' property is now an array. |
| 101 | + |
| 102 | +### uac.conf |
| 103 | + |
| 104 | +- Introduced a new global 'max_depth' configuration option to limit the depth of directory tree searches globally. |
| 105 | + |
| 106 | +### Tools |
| 107 | + |
| 108 | +- Statically linked 'zip' is now available for the following systems: |
| 109 | + - linux/esxi (arm, arm64, i386 and x86_64) |
| 110 | + - freebsd/netscaler (i386 and x86_64) |
| 111 | +- 'avml' and 'linux_procmemdump.sh' tools were moved to the 'bin' directory. |
| 112 | +- AVML updated to v0.14.0. |
| 113 | + |
| 114 | +### Deprecated |
| 115 | + |
| 116 | +- Android support was removed, but UAC can still be executed on Android systems using '--operating-system linux' option. |
0 commit comments