acquire 3.18.dev10__tar.gz → 3.18.dev11__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.18.dev10 → acquire-3.18.dev11}/PKG-INFO +1 -1
- {acquire-3.18.dev10 → acquire-3.18.dev11}/acquire/crypt.py +25 -7
- {acquire-3.18.dev10 → acquire-3.18.dev11}/acquire/version.py +9 -4
- {acquire-3.18.dev10 → acquire-3.18.dev11}/acquire.egg-info/PKG-INFO +1 -1
- {acquire-3.18.dev10 → acquire-3.18.dev11}/.git-blame-ignore-revs +0 -0
- {acquire-3.18.dev10 → acquire-3.18.dev11}/.gitattributes +0 -0
- {acquire-3.18.dev10 → acquire-3.18.dev11}/COPYRIGHT +0 -0
- {acquire-3.18.dev10 → acquire-3.18.dev11}/LICENSE +0 -0
- {acquire-3.18.dev10 → acquire-3.18.dev11}/MANIFEST.in +0 -0
- {acquire-3.18.dev10 → acquire-3.18.dev11}/README.md +0 -0
- {acquire-3.18.dev10 → acquire-3.18.dev11}/acquire/__init__.py +0 -0
- {acquire-3.18.dev10 → acquire-3.18.dev11}/acquire/acquire.py +0 -0
- {acquire-3.18.dev10 → acquire-3.18.dev11}/acquire/collector.py +0 -0
- {acquire-3.18.dev10 → acquire-3.18.dev11}/acquire/dynamic/__init__.py +0 -0
- {acquire-3.18.dev10 → acquire-3.18.dev11}/acquire/dynamic/windows/__init__.py +0 -0
- {acquire-3.18.dev10 → acquire-3.18.dev11}/acquire/dynamic/windows/collect.py +0 -0
- {acquire-3.18.dev10 → acquire-3.18.dev11}/acquire/dynamic/windows/exceptions.py +0 -0
- {acquire-3.18.dev10 → acquire-3.18.dev11}/acquire/dynamic/windows/handles.py +0 -0
- {acquire-3.18.dev10 → acquire-3.18.dev11}/acquire/dynamic/windows/named_objects.py +0 -0
- {acquire-3.18.dev10 → acquire-3.18.dev11}/acquire/dynamic/windows/ntdll.py +0 -0
- {acquire-3.18.dev10 → acquire-3.18.dev11}/acquire/dynamic/windows/types.py +0 -0
- {acquire-3.18.dev10 → acquire-3.18.dev11}/acquire/esxi.py +0 -0
- {acquire-3.18.dev10 → acquire-3.18.dev11}/acquire/gui/__init__.py +0 -0
- {acquire-3.18.dev10 → acquire-3.18.dev11}/acquire/gui/base.py +0 -0
- {acquire-3.18.dev10 → acquire-3.18.dev11}/acquire/gui/win32.py +0 -0
- {acquire-3.18.dev10 → acquire-3.18.dev11}/acquire/hashes.py +0 -0
- {acquire-3.18.dev10 → acquire-3.18.dev11}/acquire/log.py +0 -0
- {acquire-3.18.dev10 → acquire-3.18.dev11}/acquire/outputs/__init__.py +0 -0
- {acquire-3.18.dev10 → acquire-3.18.dev11}/acquire/outputs/base.py +0 -0
- {acquire-3.18.dev10 → acquire-3.18.dev11}/acquire/outputs/dir.py +0 -0
- {acquire-3.18.dev10 → acquire-3.18.dev11}/acquire/outputs/tar.py +0 -0
- {acquire-3.18.dev10 → acquire-3.18.dev11}/acquire/outputs/zip.py +0 -0
- {acquire-3.18.dev10 → acquire-3.18.dev11}/acquire/tools/__init__.py +0 -0
- {acquire-3.18.dev10 → acquire-3.18.dev11}/acquire/tools/decrypter.py +0 -0
- {acquire-3.18.dev10 → acquire-3.18.dev11}/acquire/uploaders/__init__.py +0 -0
- {acquire-3.18.dev10 → acquire-3.18.dev11}/acquire/uploaders/minio.py +0 -0
- {acquire-3.18.dev10 → acquire-3.18.dev11}/acquire/uploaders/plugin.py +0 -0
- {acquire-3.18.dev10 → acquire-3.18.dev11}/acquire/uploaders/plugin_registry.py +0 -0
- {acquire-3.18.dev10 → acquire-3.18.dev11}/acquire/utils.py +0 -0
- {acquire-3.18.dev10 → acquire-3.18.dev11}/acquire/volatilestream.py +0 -0
- {acquire-3.18.dev10 → acquire-3.18.dev11}/acquire.egg-info/SOURCES.txt +0 -0
- {acquire-3.18.dev10 → acquire-3.18.dev11}/acquire.egg-info/dependency_links.txt +0 -0
- {acquire-3.18.dev10 → acquire-3.18.dev11}/acquire.egg-info/entry_points.txt +0 -0
- {acquire-3.18.dev10 → acquire-3.18.dev11}/acquire.egg-info/requires.txt +0 -0
- {acquire-3.18.dev10 → acquire-3.18.dev11}/acquire.egg-info/top_level.txt +0 -0
- {acquire-3.18.dev10 → acquire-3.18.dev11}/pyproject.toml +0 -0
- {acquire-3.18.dev10 → acquire-3.18.dev11}/setup.cfg +0 -0
- {acquire-3.18.dev10 → acquire-3.18.dev11}/tests/__init__.py +0 -0
- {acquire-3.18.dev10 → acquire-3.18.dev11}/tests/_data/private_key.pem +0 -0
- {acquire-3.18.dev10 → acquire-3.18.dev11}/tests/_data/public_key.pem +0 -0
- {acquire-3.18.dev10 → acquire-3.18.dev11}/tests/_docs/Makefile +0 -0
- {acquire-3.18.dev10 → acquire-3.18.dev11}/tests/_docs/__init__.py +0 -0
- {acquire-3.18.dev10 → acquire-3.18.dev11}/tests/_docs/conf.py +0 -0
- {acquire-3.18.dev10 → acquire-3.18.dev11}/tests/_docs/index.rst +0 -0
- {acquire-3.18.dev10 → acquire-3.18.dev11}/tests/conftest.py +0 -0
- {acquire-3.18.dev10 → acquire-3.18.dev11}/tests/test_acquire_command.py +0 -0
- {acquire-3.18.dev10 → acquire-3.18.dev11}/tests/test_acquire_modules.py +0 -0
- {acquire-3.18.dev10 → acquire-3.18.dev11}/tests/test_collector.py +0 -0
- {acquire-3.18.dev10 → acquire-3.18.dev11}/tests/test_decryptor_funcs.py +0 -0
- {acquire-3.18.dev10 → acquire-3.18.dev11}/tests/test_esxi_memory.py +0 -0
- {acquire-3.18.dev10 → acquire-3.18.dev11}/tests/test_file_sorting.py +0 -0
- {acquire-3.18.dev10 → acquire-3.18.dev11}/tests/test_gui.py +0 -0
- {acquire-3.18.dev10 → acquire-3.18.dev11}/tests/test_minio_uploader.py +0 -0
- {acquire-3.18.dev10 → acquire-3.18.dev11}/tests/test_misc_users.py +0 -0
- {acquire-3.18.dev10 → acquire-3.18.dev11}/tests/test_outputs_dir.py +0 -0
- {acquire-3.18.dev10 → acquire-3.18.dev11}/tests/test_outputs_tar.py +0 -0
- {acquire-3.18.dev10 → acquire-3.18.dev11}/tests/test_outputs_zip.py +0 -0
- {acquire-3.18.dev10 → acquire-3.18.dev11}/tests/test_plugin.py +0 -0
- {acquire-3.18.dev10 → acquire-3.18.dev11}/tests/test_utils.py +0 -0
- {acquire-3.18.dev10 → acquire-3.18.dev11}/tests/test_volatile.py +0 -0
- {acquire-3.18.dev10 → acquire-3.18.dev11}/tox.ini +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: acquire
|
|
3
|
-
Version: 3.18.
|
|
3
|
+
Version: 3.18.dev11
|
|
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
|
|
@@ -2,11 +2,19 @@ from __future__ import annotations
|
|
|
2
2
|
|
|
3
3
|
import hashlib
|
|
4
4
|
import io
|
|
5
|
+
import os
|
|
5
6
|
from datetime import datetime, timezone
|
|
6
7
|
from typing import BinaryIO
|
|
7
8
|
|
|
8
9
|
from dissect.cstruct import cstruct
|
|
9
10
|
|
|
11
|
+
try:
|
|
12
|
+
import _pystandalone
|
|
13
|
+
|
|
14
|
+
HAS_PYSTANDALONE = True
|
|
15
|
+
except ImportError:
|
|
16
|
+
HAS_PYSTANDALONE = False
|
|
17
|
+
|
|
10
18
|
try:
|
|
11
19
|
from Crypto.Cipher import AES, PKCS1_OAEP
|
|
12
20
|
from Crypto.PublicKey import RSA
|
|
@@ -74,16 +82,26 @@ class EncryptedStream(io.RawIOBase):
|
|
|
74
82
|
"""
|
|
75
83
|
|
|
76
84
|
def __init__(self, fh: BinaryIO, public_key: str):
|
|
77
|
-
if not HAS_PYCRYPTODOME:
|
|
78
|
-
raise ImportError("PyCryptodome
|
|
85
|
+
if not HAS_PYSTANDALONE and not HAS_PYCRYPTODOME:
|
|
86
|
+
raise ImportError("Neither _pystandalone nor PyCryptodome are available")
|
|
79
87
|
|
|
80
88
|
self.fh = fh
|
|
81
89
|
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
90
|
+
if HAS_PYSTANDALONE:
|
|
91
|
+
try:
|
|
92
|
+
key = _pystandalone.rand_bytes(32)
|
|
93
|
+
iv = _pystandalone.rand_bytes(12)
|
|
94
|
+
except Exception:
|
|
95
|
+
# Fallback if pystandalone does not work
|
|
96
|
+
key = os.urandom(32)
|
|
97
|
+
iv = os.urandom(12)
|
|
98
|
+
self.cipher = _pystandalone.aes_256_gcm(key, iv)
|
|
99
|
+
rsa = _pystandalone.rsa(public_key)
|
|
100
|
+
else:
|
|
101
|
+
key = get_random_bytes(32)
|
|
102
|
+
iv = get_random_bytes(12)
|
|
103
|
+
self.cipher = AES.new(key, AES.MODE_GCM, nonce=iv)
|
|
104
|
+
rsa = PKCS1_OAEP.new(RSA.import_key(public_key))
|
|
87
105
|
|
|
88
106
|
plain_header = c_acquire.header(
|
|
89
107
|
magic=HEADER_MAGIC,
|
|
@@ -1,8 +1,13 @@
|
|
|
1
|
-
# file generated by
|
|
1
|
+
# file generated by setuptools-scm
|
|
2
2
|
# don't change, don't track in version control
|
|
3
|
+
|
|
4
|
+
__all__ = ["__version__", "__version_tuple__", "version", "version_tuple"]
|
|
5
|
+
|
|
3
6
|
TYPE_CHECKING = False
|
|
4
7
|
if TYPE_CHECKING:
|
|
5
|
-
from typing import Tuple
|
|
8
|
+
from typing import Tuple
|
|
9
|
+
from typing import Union
|
|
10
|
+
|
|
6
11
|
VERSION_TUPLE = Tuple[Union[int, str], ...]
|
|
7
12
|
else:
|
|
8
13
|
VERSION_TUPLE = object
|
|
@@ -12,5 +17,5 @@ __version__: str
|
|
|
12
17
|
__version_tuple__: VERSION_TUPLE
|
|
13
18
|
version_tuple: VERSION_TUPLE
|
|
14
19
|
|
|
15
|
-
__version__ = version = '3.18.
|
|
16
|
-
__version_tuple__ = version_tuple = (3, 18, '
|
|
20
|
+
__version__ = version = '3.18.dev11'
|
|
21
|
+
__version_tuple__ = version_tuple = (3, 18, 'dev11')
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: acquire
|
|
3
|
-
Version: 3.18.
|
|
3
|
+
Version: 3.18.dev11
|
|
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
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|