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.
Files changed (65) hide show
  1. {acquire-3.16.dev8/acquire.egg-info → acquire-3.17.dev1}/PKG-INFO +1 -1
  2. {acquire-3.16.dev8 → acquire-3.17.dev1}/acquire/utils.py +15 -5
  3. {acquire-3.16.dev8 → acquire-3.17.dev1}/acquire/version.py +2 -2
  4. {acquire-3.16.dev8 → acquire-3.17.dev1/acquire.egg-info}/PKG-INFO +1 -1
  5. {acquire-3.16.dev8 → acquire-3.17.dev1}/tests/test_utils.py +3 -3
  6. {acquire-3.16.dev8 → acquire-3.17.dev1}/COPYRIGHT +0 -0
  7. {acquire-3.16.dev8 → acquire-3.17.dev1}/LICENSE +0 -0
  8. {acquire-3.16.dev8 → acquire-3.17.dev1}/MANIFEST.in +0 -0
  9. {acquire-3.16.dev8 → acquire-3.17.dev1}/README.md +0 -0
  10. {acquire-3.16.dev8 → acquire-3.17.dev1}/acquire/__init__.py +0 -0
  11. {acquire-3.16.dev8 → acquire-3.17.dev1}/acquire/acquire.py +0 -0
  12. {acquire-3.16.dev8 → acquire-3.17.dev1}/acquire/collector.py +0 -0
  13. {acquire-3.16.dev8 → acquire-3.17.dev1}/acquire/crypt.py +0 -0
  14. {acquire-3.16.dev8 → acquire-3.17.dev1}/acquire/dynamic/__init__.py +0 -0
  15. {acquire-3.16.dev8 → acquire-3.17.dev1}/acquire/dynamic/windows/__init__.py +0 -0
  16. {acquire-3.16.dev8 → acquire-3.17.dev1}/acquire/dynamic/windows/collect.py +0 -0
  17. {acquire-3.16.dev8 → acquire-3.17.dev1}/acquire/dynamic/windows/exceptions.py +0 -0
  18. {acquire-3.16.dev8 → acquire-3.17.dev1}/acquire/dynamic/windows/handles.py +0 -0
  19. {acquire-3.16.dev8 → acquire-3.17.dev1}/acquire/dynamic/windows/named_objects.py +0 -0
  20. {acquire-3.16.dev8 → acquire-3.17.dev1}/acquire/dynamic/windows/ntdll.py +0 -0
  21. {acquire-3.16.dev8 → acquire-3.17.dev1}/acquire/dynamic/windows/types.py +0 -0
  22. {acquire-3.16.dev8 → acquire-3.17.dev1}/acquire/esxi.py +0 -0
  23. {acquire-3.16.dev8 → acquire-3.17.dev1}/acquire/gui/__init__.py +0 -0
  24. {acquire-3.16.dev8 → acquire-3.17.dev1}/acquire/gui/base.py +0 -0
  25. {acquire-3.16.dev8 → acquire-3.17.dev1}/acquire/gui/win32.py +0 -0
  26. {acquire-3.16.dev8 → acquire-3.17.dev1}/acquire/hashes.py +0 -0
  27. {acquire-3.16.dev8 → acquire-3.17.dev1}/acquire/log.py +0 -0
  28. {acquire-3.16.dev8 → acquire-3.17.dev1}/acquire/outputs/__init__.py +0 -0
  29. {acquire-3.16.dev8 → acquire-3.17.dev1}/acquire/outputs/base.py +0 -0
  30. {acquire-3.16.dev8 → acquire-3.17.dev1}/acquire/outputs/dir.py +0 -0
  31. {acquire-3.16.dev8 → acquire-3.17.dev1}/acquire/outputs/tar.py +0 -0
  32. {acquire-3.16.dev8 → acquire-3.17.dev1}/acquire/outputs/zip.py +0 -0
  33. {acquire-3.16.dev8 → acquire-3.17.dev1}/acquire/tools/__init__.py +0 -0
  34. {acquire-3.16.dev8 → acquire-3.17.dev1}/acquire/tools/decrypter.py +0 -0
  35. {acquire-3.16.dev8 → acquire-3.17.dev1}/acquire/uploaders/__init__.py +0 -0
  36. {acquire-3.16.dev8 → acquire-3.17.dev1}/acquire/uploaders/minio.py +0 -0
  37. {acquire-3.16.dev8 → acquire-3.17.dev1}/acquire/uploaders/plugin.py +0 -0
  38. {acquire-3.16.dev8 → acquire-3.17.dev1}/acquire/uploaders/plugin_registry.py +0 -0
  39. {acquire-3.16.dev8 → acquire-3.17.dev1}/acquire/volatilestream.py +0 -0
  40. {acquire-3.16.dev8 → acquire-3.17.dev1}/acquire.egg-info/SOURCES.txt +0 -0
  41. {acquire-3.16.dev8 → acquire-3.17.dev1}/acquire.egg-info/dependency_links.txt +0 -0
  42. {acquire-3.16.dev8 → acquire-3.17.dev1}/acquire.egg-info/entry_points.txt +0 -0
  43. {acquire-3.16.dev8 → acquire-3.17.dev1}/acquire.egg-info/requires.txt +0 -0
  44. {acquire-3.16.dev8 → acquire-3.17.dev1}/acquire.egg-info/top_level.txt +0 -0
  45. {acquire-3.16.dev8 → acquire-3.17.dev1}/pyproject.toml +0 -0
  46. {acquire-3.16.dev8 → acquire-3.17.dev1}/setup.cfg +0 -0
  47. {acquire-3.16.dev8 → acquire-3.17.dev1}/tests/__init__.py +0 -0
  48. {acquire-3.16.dev8 → acquire-3.17.dev1}/tests/conftest.py +0 -0
  49. {acquire-3.16.dev8 → acquire-3.17.dev1}/tests/docs/Makefile +0 -0
  50. {acquire-3.16.dev8 → acquire-3.17.dev1}/tests/docs/conf.py +0 -0
  51. {acquire-3.16.dev8 → acquire-3.17.dev1}/tests/docs/index.rst +0 -0
  52. {acquire-3.16.dev8 → acquire-3.17.dev1}/tests/test_acquire_command.py +0 -0
  53. {acquire-3.16.dev8 → acquire-3.17.dev1}/tests/test_acquire_modules.py +0 -0
  54. {acquire-3.16.dev8 → acquire-3.17.dev1}/tests/test_collector.py +0 -0
  55. {acquire-3.16.dev8 → acquire-3.17.dev1}/tests/test_decryptor_funcs.py +0 -0
  56. {acquire-3.16.dev8 → acquire-3.17.dev1}/tests/test_esxi_memory.py +0 -0
  57. {acquire-3.16.dev8 → acquire-3.17.dev1}/tests/test_file_sorting.py +0 -0
  58. {acquire-3.16.dev8 → acquire-3.17.dev1}/tests/test_gui.py +0 -0
  59. {acquire-3.16.dev8 → acquire-3.17.dev1}/tests/test_minio_uploader.py +0 -0
  60. {acquire-3.16.dev8 → acquire-3.17.dev1}/tests/test_misc_users.py +0 -0
  61. {acquire-3.16.dev8 → acquire-3.17.dev1}/tests/test_outputs_dir.py +0 -0
  62. {acquire-3.16.dev8 → acquire-3.17.dev1}/tests/test_outputs_tar.py +0 -0
  63. {acquire-3.16.dev8 → acquire-3.17.dev1}/tests/test_outputs_zip.py +0 -0
  64. {acquire-3.16.dev8 → acquire-3.17.dev1}/tests/test_plugin.py +0 -0
  65. {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.16.dev8
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
- command_line_args, rest = parser.parse_known_args()
194
- _merge_args_and_config(parser, command_line_args, config)
197
+ args, rest = parser.parse_known_args()
198
+ _merge_args_and_config(parser, args, config)
195
199
 
196
- return command_line_args, rest
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 --output_file. Use --output instead")
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("--output_file must be a path to a file in an existing directory")
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.dev8'
16
- __version_tuple__ = version_tuple = (3, 16, 'dev8')
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.16.dev8
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 --output_file. Use --output instead",
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
- "--output_file must be a path to a file in an existing directory",
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
- "--output_file must be a path to a file in an existing directory",
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