acquire 3.16.dev8__tar.gz → 3.17.dev1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {acquire-3.16.dev8/acquire.egg-info → acquire-3.17.dev1}/PKG-INFO +1 -1
- {acquire-3.16.dev8 → acquire-3.17.dev1}/acquire/utils.py +15 -5
- {acquire-3.16.dev8 → acquire-3.17.dev1}/acquire/version.py +2 -2
- {acquire-3.16.dev8 → acquire-3.17.dev1/acquire.egg-info}/PKG-INFO +1 -1
- {acquire-3.16.dev8 → acquire-3.17.dev1}/tests/test_utils.py +3 -3
- {acquire-3.16.dev8 → acquire-3.17.dev1}/COPYRIGHT +0 -0
- {acquire-3.16.dev8 → acquire-3.17.dev1}/LICENSE +0 -0
- {acquire-3.16.dev8 → acquire-3.17.dev1}/MANIFEST.in +0 -0
- {acquire-3.16.dev8 → acquire-3.17.dev1}/README.md +0 -0
- {acquire-3.16.dev8 → acquire-3.17.dev1}/acquire/__init__.py +0 -0
- {acquire-3.16.dev8 → acquire-3.17.dev1}/acquire/acquire.py +0 -0
- {acquire-3.16.dev8 → acquire-3.17.dev1}/acquire/collector.py +0 -0
- {acquire-3.16.dev8 → acquire-3.17.dev1}/acquire/crypt.py +0 -0
- {acquire-3.16.dev8 → acquire-3.17.dev1}/acquire/dynamic/__init__.py +0 -0
- {acquire-3.16.dev8 → acquire-3.17.dev1}/acquire/dynamic/windows/__init__.py +0 -0
- {acquire-3.16.dev8 → acquire-3.17.dev1}/acquire/dynamic/windows/collect.py +0 -0
- {acquire-3.16.dev8 → acquire-3.17.dev1}/acquire/dynamic/windows/exceptions.py +0 -0
- {acquire-3.16.dev8 → acquire-3.17.dev1}/acquire/dynamic/windows/handles.py +0 -0
- {acquire-3.16.dev8 → acquire-3.17.dev1}/acquire/dynamic/windows/named_objects.py +0 -0
- {acquire-3.16.dev8 → acquire-3.17.dev1}/acquire/dynamic/windows/ntdll.py +0 -0
- {acquire-3.16.dev8 → acquire-3.17.dev1}/acquire/dynamic/windows/types.py +0 -0
- {acquire-3.16.dev8 → acquire-3.17.dev1}/acquire/esxi.py +0 -0
- {acquire-3.16.dev8 → acquire-3.17.dev1}/acquire/gui/__init__.py +0 -0
- {acquire-3.16.dev8 → acquire-3.17.dev1}/acquire/gui/base.py +0 -0
- {acquire-3.16.dev8 → acquire-3.17.dev1}/acquire/gui/win32.py +0 -0
- {acquire-3.16.dev8 → acquire-3.17.dev1}/acquire/hashes.py +0 -0
- {acquire-3.16.dev8 → acquire-3.17.dev1}/acquire/log.py +0 -0
- {acquire-3.16.dev8 → acquire-3.17.dev1}/acquire/outputs/__init__.py +0 -0
- {acquire-3.16.dev8 → acquire-3.17.dev1}/acquire/outputs/base.py +0 -0
- {acquire-3.16.dev8 → acquire-3.17.dev1}/acquire/outputs/dir.py +0 -0
- {acquire-3.16.dev8 → acquire-3.17.dev1}/acquire/outputs/tar.py +0 -0
- {acquire-3.16.dev8 → acquire-3.17.dev1}/acquire/outputs/zip.py +0 -0
- {acquire-3.16.dev8 → acquire-3.17.dev1}/acquire/tools/__init__.py +0 -0
- {acquire-3.16.dev8 → acquire-3.17.dev1}/acquire/tools/decrypter.py +0 -0
- {acquire-3.16.dev8 → acquire-3.17.dev1}/acquire/uploaders/__init__.py +0 -0
- {acquire-3.16.dev8 → acquire-3.17.dev1}/acquire/uploaders/minio.py +0 -0
- {acquire-3.16.dev8 → acquire-3.17.dev1}/acquire/uploaders/plugin.py +0 -0
- {acquire-3.16.dev8 → acquire-3.17.dev1}/acquire/uploaders/plugin_registry.py +0 -0
- {acquire-3.16.dev8 → acquire-3.17.dev1}/acquire/volatilestream.py +0 -0
- {acquire-3.16.dev8 → acquire-3.17.dev1}/acquire.egg-info/SOURCES.txt +0 -0
- {acquire-3.16.dev8 → acquire-3.17.dev1}/acquire.egg-info/dependency_links.txt +0 -0
- {acquire-3.16.dev8 → acquire-3.17.dev1}/acquire.egg-info/entry_points.txt +0 -0
- {acquire-3.16.dev8 → acquire-3.17.dev1}/acquire.egg-info/requires.txt +0 -0
- {acquire-3.16.dev8 → acquire-3.17.dev1}/acquire.egg-info/top_level.txt +0 -0
- {acquire-3.16.dev8 → acquire-3.17.dev1}/pyproject.toml +0 -0
- {acquire-3.16.dev8 → acquire-3.17.dev1}/setup.cfg +0 -0
- {acquire-3.16.dev8 → acquire-3.17.dev1}/tests/__init__.py +0 -0
- {acquire-3.16.dev8 → acquire-3.17.dev1}/tests/conftest.py +0 -0
- {acquire-3.16.dev8 → acquire-3.17.dev1}/tests/docs/Makefile +0 -0
- {acquire-3.16.dev8 → acquire-3.17.dev1}/tests/docs/conf.py +0 -0
- {acquire-3.16.dev8 → acquire-3.17.dev1}/tests/docs/index.rst +0 -0
- {acquire-3.16.dev8 → acquire-3.17.dev1}/tests/test_acquire_command.py +0 -0
- {acquire-3.16.dev8 → acquire-3.17.dev1}/tests/test_acquire_modules.py +0 -0
- {acquire-3.16.dev8 → acquire-3.17.dev1}/tests/test_collector.py +0 -0
- {acquire-3.16.dev8 → acquire-3.17.dev1}/tests/test_decryptor_funcs.py +0 -0
- {acquire-3.16.dev8 → acquire-3.17.dev1}/tests/test_esxi_memory.py +0 -0
- {acquire-3.16.dev8 → acquire-3.17.dev1}/tests/test_file_sorting.py +0 -0
- {acquire-3.16.dev8 → acquire-3.17.dev1}/tests/test_gui.py +0 -0
- {acquire-3.16.dev8 → acquire-3.17.dev1}/tests/test_minio_uploader.py +0 -0
- {acquire-3.16.dev8 → acquire-3.17.dev1}/tests/test_misc_users.py +0 -0
- {acquire-3.16.dev8 → acquire-3.17.dev1}/tests/test_outputs_dir.py +0 -0
- {acquire-3.16.dev8 → acquire-3.17.dev1}/tests/test_outputs_tar.py +0 -0
- {acquire-3.16.dev8 → acquire-3.17.dev1}/tests/test_outputs_zip.py +0 -0
- {acquire-3.16.dev8 → acquire-3.17.dev1}/tests/test_plugin.py +0 -0
- {acquire-3.16.dev8 → acquire-3.17.dev1}/tox.ini +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: acquire
|
|
3
|
-
Version: 3.
|
|
3
|
+
Version: 3.17.dev1
|
|
4
4
|
Summary: A tool to quickly gather forensic artifacts from disk images or a live system into a lightweight container
|
|
5
5
|
Author-email: Dissect Team <dissect@fox-it.com>
|
|
6
6
|
License: Affero General Public License v3
|
|
@@ -15,6 +15,7 @@ from pathlib import Path
|
|
|
15
15
|
from typing import Any, Optional
|
|
16
16
|
|
|
17
17
|
from dissect.target import Target
|
|
18
|
+
from dissect.target.helpers import keychain
|
|
18
19
|
|
|
19
20
|
from acquire.outputs import (
|
|
20
21
|
COMPRESSION_METHODS,
|
|
@@ -163,6 +164,9 @@ def create_argument_parser(profiles: dict, volatile: dict, modules: dict) -> arg
|
|
|
163
164
|
)
|
|
164
165
|
parser.add_argument("--no-proxy", action="store_true", help="don't autodetect proxies")
|
|
165
166
|
|
|
167
|
+
parser.add_argument("-K", "--keychain-file", type=Path, help="keychain file in CSV format")
|
|
168
|
+
parser.add_argument("-Kv", "--keychain-value", help="passphrase, recovery key or key file path value")
|
|
169
|
+
|
|
166
170
|
for module_cls in modules.values():
|
|
167
171
|
for args, kwargs in module_cls.__cli_args__:
|
|
168
172
|
parser.add_argument(*args, **kwargs)
|
|
@@ -190,10 +194,10 @@ def parse_acquire_args(
|
|
|
190
194
|
Returns:
|
|
191
195
|
A command line arguments namespace
|
|
192
196
|
"""
|
|
193
|
-
|
|
194
|
-
_merge_args_and_config(parser,
|
|
197
|
+
args, rest = parser.parse_known_args()
|
|
198
|
+
_merge_args_and_config(parser, args, config)
|
|
195
199
|
|
|
196
|
-
return
|
|
200
|
+
return args, rest
|
|
197
201
|
|
|
198
202
|
|
|
199
203
|
def _merge_args_and_config(
|
|
@@ -312,9 +316,9 @@ def check_and_set_acquire_args(
|
|
|
312
316
|
if not args.upload:
|
|
313
317
|
# check output related configuration
|
|
314
318
|
if (args.children or len(args.targets) > 1) and args.output_file:
|
|
315
|
-
raise ValueError("--children can not be used with --
|
|
319
|
+
raise ValueError("--children can not be used with --output-file. Use --output instead")
|
|
316
320
|
elif args.output_file and (not args.output_file.parent.is_dir() or args.output_file.is_dir()):
|
|
317
|
-
raise ValueError("--
|
|
321
|
+
raise ValueError("--output-file must be a path to a file in an existing directory")
|
|
318
322
|
elif args.output and not args.output.is_dir():
|
|
319
323
|
raise ValueError(f"Output directory doesn't exist or is a file: {args.output}")
|
|
320
324
|
|
|
@@ -340,6 +344,12 @@ def check_and_set_acquire_args(
|
|
|
340
344
|
f"Invalid compression method for tar, allowed are: {', '.join(TAR_COMPRESSION_METHODS.keys())}"
|
|
341
345
|
)
|
|
342
346
|
|
|
347
|
+
if args.keychain_file:
|
|
348
|
+
keychain.register_keychain_file(args.keychain_file)
|
|
349
|
+
|
|
350
|
+
if args.keychain_value:
|
|
351
|
+
keychain.register_wildcard_value(args.keychain_value)
|
|
352
|
+
|
|
343
353
|
|
|
344
354
|
def get_user_name() -> str:
|
|
345
355
|
try:
|
|
@@ -12,5 +12,5 @@ __version__: str
|
|
|
12
12
|
__version_tuple__: VERSION_TUPLE
|
|
13
13
|
version_tuple: VERSION_TUPLE
|
|
14
14
|
|
|
15
|
-
__version__ = version = '3.
|
|
16
|
-
__version_tuple__ = version_tuple = (3,
|
|
15
|
+
__version__ = version = '3.17.dev1'
|
|
16
|
+
__version_tuple__ = version_tuple = (3, 17, 'dev1')
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: acquire
|
|
3
|
-
Version: 3.
|
|
3
|
+
Version: 3.17.dev1
|
|
4
4
|
Summary: A tool to quickly gather forensic artifacts from disk images or a live system into a lightweight container
|
|
5
5
|
Author-email: Dissect Team <dissect@fox-it.com>
|
|
6
6
|
License: Affero General Public License v3
|
|
@@ -229,21 +229,21 @@ def test_check_and_set_acquire_args_output(children: bool, arg_name: str, output
|
|
|
229
229
|
True,
|
|
230
230
|
"output_file",
|
|
231
231
|
get_mock_path(is_dir=False),
|
|
232
|
-
"--children can not be used with --
|
|
232
|
+
"--children can not be used with --output-file. Use --output instead",
|
|
233
233
|
),
|
|
234
234
|
# Output_file is a directory
|
|
235
235
|
(
|
|
236
236
|
False,
|
|
237
237
|
"output_file",
|
|
238
238
|
get_mock_path(),
|
|
239
|
-
"--
|
|
239
|
+
"--output-file must be a path to a file in an existing directory",
|
|
240
240
|
),
|
|
241
241
|
# Output_file has a non-existing parent directory
|
|
242
242
|
(
|
|
243
243
|
False,
|
|
244
244
|
"output_file",
|
|
245
245
|
get_mock_path(is_dir=False, parent_is_dir=False),
|
|
246
|
-
"--
|
|
246
|
+
"--output-file must be a path to a file in an existing directory",
|
|
247
247
|
),
|
|
248
248
|
# Output is a non-existing directory
|
|
249
249
|
(
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|