dissect.cobaltstrike 1.2.1.dev3__tar.gz → 1.2.1.dev5__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.
- {dissect_cobaltstrike-1.2.1.dev3 → dissect_cobaltstrike-1.2.1.dev5}/PKG-INFO +1 -1
- {dissect_cobaltstrike-1.2.1.dev3 → dissect_cobaltstrike-1.2.1.dev5}/dissect/cobaltstrike/_version.py +2 -2
- {dissect_cobaltstrike-1.2.1.dev3 → dissect_cobaltstrike-1.2.1.dev5}/dissect/cobaltstrike/beacon.py +8 -0
- {dissect_cobaltstrike-1.2.1.dev3 → dissect_cobaltstrike-1.2.1.dev5}/dissect/cobaltstrike/c2profile.py +4 -0
- {dissect_cobaltstrike-1.2.1.dev3 → dissect_cobaltstrike-1.2.1.dev5}/dissect/cobaltstrike/version.py +8 -0
- {dissect_cobaltstrike-1.2.1.dev3 → dissect_cobaltstrike-1.2.1.dev5}/tests/test_c2profile.py +44 -0
- {dissect_cobaltstrike-1.2.1.dev3 → dissect_cobaltstrike-1.2.1.dev5}/.github/workflows/dissect-ci.yml +0 -0
- {dissect_cobaltstrike-1.2.1.dev3 → dissect_cobaltstrike-1.2.1.dev5}/.gitignore +0 -0
- {dissect_cobaltstrike-1.2.1.dev3 → dissect_cobaltstrike-1.2.1.dev5}/.lfs-assets-id +0 -0
- {dissect_cobaltstrike-1.2.1.dev3 → dissect_cobaltstrike-1.2.1.dev5}/.pre-commit-config.yaml +0 -0
- {dissect_cobaltstrike-1.2.1.dev3 → dissect_cobaltstrike-1.2.1.dev5}/.readthedocs.yml +0 -0
- {dissect_cobaltstrike-1.2.1.dev3 → dissect_cobaltstrike-1.2.1.dev5}/LICENSE +0 -0
- {dissect_cobaltstrike-1.2.1.dev3 → dissect_cobaltstrike-1.2.1.dev5}/README.rst +0 -0
- {dissect_cobaltstrike-1.2.1.dev3 → dissect_cobaltstrike-1.2.1.dev5}/codecov.yml +0 -0
- {dissect_cobaltstrike-1.2.1.dev3 → dissect_cobaltstrike-1.2.1.dev5}/dissect/cobaltstrike/__init__.py +0 -0
- {dissect_cobaltstrike-1.2.1.dev3 → dissect_cobaltstrike-1.2.1.dev5}/dissect/cobaltstrike/artifact.py +0 -0
- {dissect_cobaltstrike-1.2.1.dev3 → dissect_cobaltstrike-1.2.1.dev5}/dissect/cobaltstrike/c2.py +0 -0
- {dissect_cobaltstrike-1.2.1.dev3 → dissect_cobaltstrike-1.2.1.dev5}/dissect/cobaltstrike/c2profile.lark +0 -0
- {dissect_cobaltstrike-1.2.1.dev3 → dissect_cobaltstrike-1.2.1.dev5}/dissect/cobaltstrike/c_c2.py +0 -0
- {dissect_cobaltstrike-1.2.1.dev3 → dissect_cobaltstrike-1.2.1.dev5}/dissect/cobaltstrike/client.py +0 -0
- {dissect_cobaltstrike-1.2.1.dev3 → dissect_cobaltstrike-1.2.1.dev5}/dissect/cobaltstrike/pcap.py +0 -0
- {dissect_cobaltstrike-1.2.1.dev3 → dissect_cobaltstrike-1.2.1.dev5}/dissect/cobaltstrike/pe.py +0 -0
- {dissect_cobaltstrike-1.2.1.dev3 → dissect_cobaltstrike-1.2.1.dev5}/dissect/cobaltstrike/utils.py +0 -0
- {dissect_cobaltstrike-1.2.1.dev3 → dissect_cobaltstrike-1.2.1.dev5}/dissect/cobaltstrike/xordecode.py +0 -0
- {dissect_cobaltstrike-1.2.1.dev3 → dissect_cobaltstrike-1.2.1.dev5}/docs/Makefile +0 -0
- {dissect_cobaltstrike-1.2.1.dev3 → dissect_cobaltstrike-1.2.1.dev5}/docs/c2profile-grammar.rst +0 -0
- {dissect_cobaltstrike-1.2.1.dev3 → dissect_cobaltstrike-1.2.1.dev5}/docs/codespell-ignore-words.txt +0 -0
- {dissect_cobaltstrike-1.2.1.dev3 → dissect_cobaltstrike-1.2.1.dev5}/docs/conf.py +0 -0
- {dissect_cobaltstrike-1.2.1.dev3 → dissect_cobaltstrike-1.2.1.dev5}/docs/examples.rst +0 -0
- {dissect_cobaltstrike-1.2.1.dev3 → dissect_cobaltstrike-1.2.1.dev5}/docs/images/beacon-client.png +0 -0
- {dissect_cobaltstrike-1.2.1.dev3 → dissect_cobaltstrike-1.2.1.dev5}/docs/images/teamserver-echoclient.png +0 -0
- {dissect_cobaltstrike-1.2.1.dev3 → dissect_cobaltstrike-1.2.1.dev5}/docs/images/teamserver_ls.png +0 -0
- {dissect_cobaltstrike-1.2.1.dev3 → dissect_cobaltstrike-1.2.1.dev5}/docs/images/vt-cobaltstrike-43-zip.png +0 -0
- {dissect_cobaltstrike-1.2.1.dev3 → dissect_cobaltstrike-1.2.1.dev5}/docs/index.rst +0 -0
- {dissect_cobaltstrike-1.2.1.dev3 → dissect_cobaltstrike-1.2.1.dev5}/docs/installation.rst +0 -0
- {dissect_cobaltstrike-1.2.1.dev3 → dissect_cobaltstrike-1.2.1.dev5}/docs/license.rst +0 -0
- {dissect_cobaltstrike-1.2.1.dev3 → dissect_cobaltstrike-1.2.1.dev5}/docs/scripts/checksum8-accesslogs.rst +0 -0
- {dissect_cobaltstrike-1.2.1.dev3 → dissect_cobaltstrike-1.2.1.dev5}/docs/scripts/dump_beacon_keys.rst +0 -0
- {dissect_cobaltstrike-1.2.1.dev3 → dissect_cobaltstrike-1.2.1.dev5}/docs/scripts/example_client.rst +0 -0
- {dissect_cobaltstrike-1.2.1.dev3 → dissect_cobaltstrike-1.2.1.dev5}/docs/scripts/index.rst +0 -0
- {dissect_cobaltstrike-1.2.1.dev3 → dissect_cobaltstrike-1.2.1.dev5}/docs/structures/c2_def.rst +0 -0
- {dissect_cobaltstrike-1.2.1.dev3 → dissect_cobaltstrike-1.2.1.dev5}/docs/structures/cs_def.rst +0 -0
- {dissect_cobaltstrike-1.2.1.dev3 → dissect_cobaltstrike-1.2.1.dev5}/docs/structures/index.rst +0 -0
- {dissect_cobaltstrike-1.2.1.dev3 → dissect_cobaltstrike-1.2.1.dev5}/docs/structures/pe_def.rst +0 -0
- {dissect_cobaltstrike-1.2.1.dev3 → dissect_cobaltstrike-1.2.1.dev5}/docs/tools/beacon-artifact.rst +0 -0
- {dissect_cobaltstrike-1.2.1.dev3 → dissect_cobaltstrike-1.2.1.dev5}/docs/tools/beacon-client.rst +0 -0
- {dissect_cobaltstrike-1.2.1.dev3 → dissect_cobaltstrike-1.2.1.dev5}/docs/tools/beacon-dump.rst +0 -0
- {dissect_cobaltstrike-1.2.1.dev3 → dissect_cobaltstrike-1.2.1.dev5}/docs/tools/beacon-pcap.rst +0 -0
- {dissect_cobaltstrike-1.2.1.dev3 → dissect_cobaltstrike-1.2.1.dev5}/docs/tools/beacon-xordecode.rst +0 -0
- {dissect_cobaltstrike-1.2.1.dev3 → dissect_cobaltstrike-1.2.1.dev5}/docs/tools/c2profile-dump.rst +0 -0
- {dissect_cobaltstrike-1.2.1.dev3 → dissect_cobaltstrike-1.2.1.dev5}/docs/tutorials/decrypt_cobaltstrike_pcaps.rst +0 -0
- {dissect_cobaltstrike-1.2.1.dev3 → dissect_cobaltstrike-1.2.1.dev5}/docs/tutorials/index.rst +0 -0
- {dissect_cobaltstrike-1.2.1.dev3 → dissect_cobaltstrike-1.2.1.dev5}/docs/tutorials/minimal_beacon_client.rst +0 -0
- {dissect_cobaltstrike-1.2.1.dev3 → dissect_cobaltstrike-1.2.1.dev5}/pyproject.toml +0 -0
- {dissect_cobaltstrike-1.2.1.dev3 → dissect_cobaltstrike-1.2.1.dev5}/scripts/checksum8-accesslogs.py +0 -0
- {dissect_cobaltstrike-1.2.1.dev3 → dissect_cobaltstrike-1.2.1.dev5}/scripts/dump_beacon_keys.py +0 -0
- {dissect_cobaltstrike-1.2.1.dev3 → dissect_cobaltstrike-1.2.1.dev5}/scripts/example_client.py +0 -0
- {dissect_cobaltstrike-1.2.1.dev3 → dissect_cobaltstrike-1.2.1.dev5}/tests/conftest.py +0 -0
- {dissect_cobaltstrike-1.2.1.dev3 → dissect_cobaltstrike-1.2.1.dev5}/tests/test_beacon.py +0 -0
- {dissect_cobaltstrike-1.2.1.dev3 → dissect_cobaltstrike-1.2.1.dev5}/tests/test_c2.py +0 -0
- {dissect_cobaltstrike-1.2.1.dev3 → dissect_cobaltstrike-1.2.1.dev5}/tests/test_client.py +0 -0
- {dissect_cobaltstrike-1.2.1.dev3 → dissect_cobaltstrike-1.2.1.dev5}/tests/test_pe.py +0 -0
- {dissect_cobaltstrike-1.2.1.dev3 → dissect_cobaltstrike-1.2.1.dev5}/tests/test_utils.py +0 -0
- {dissect_cobaltstrike-1.2.1.dev3 → dissect_cobaltstrike-1.2.1.dev5}/tests/test_version.py +0 -0
- {dissect_cobaltstrike-1.2.1.dev3 → dissect_cobaltstrike-1.2.1.dev5}/tests/test_xordecode.py +0 -0
- {dissect_cobaltstrike-1.2.1.dev3 → dissect_cobaltstrike-1.2.1.dev5}/tox.ini +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: dissect.cobaltstrike
|
|
3
|
-
Version: 1.2.1.
|
|
3
|
+
Version: 1.2.1.dev5
|
|
4
4
|
Summary: a Python library for dissecting Cobalt Strike related data
|
|
5
5
|
Project-URL: Homepage, https://github.com/fox-it/dissect.cobaltstrike
|
|
6
6
|
Project-URL: Documentation, https://dissect-cobaltstrike.readthedocs.io/
|
{dissect_cobaltstrike-1.2.1.dev3 → dissect_cobaltstrike-1.2.1.dev5}/dissect/cobaltstrike/_version.py
RENAMED
|
@@ -12,5 +12,5 @@ __version__: str
|
|
|
12
12
|
__version_tuple__: VERSION_TUPLE
|
|
13
13
|
version_tuple: VERSION_TUPLE
|
|
14
14
|
|
|
15
|
-
__version__ = version = '1.2.1.
|
|
16
|
-
__version_tuple__ = version_tuple = (1, 2, 1, '
|
|
15
|
+
__version__ = version = '1.2.1.dev5'
|
|
16
|
+
__version_tuple__ = version_tuple = (1, 2, 1, 'dev5')
|
{dissect_cobaltstrike-1.2.1.dev3 → dissect_cobaltstrike-1.2.1.dev5}/dissect/cobaltstrike/beacon.py
RENAMED
|
@@ -247,6 +247,12 @@ enum InjectExecutor: uint8 {
|
|
|
247
247
|
CreateRemoteThread_ = 7,
|
|
248
248
|
NtQueueApcThread_s = 8
|
|
249
249
|
};
|
|
250
|
+
|
|
251
|
+
enum BofAllocator: uint16 {
|
|
252
|
+
VirtualAlloc = 0,
|
|
253
|
+
MapViewOfFile = 1,
|
|
254
|
+
HeapAlloc = 2,
|
|
255
|
+
};
|
|
250
256
|
"""
|
|
251
257
|
|
|
252
258
|
cs_struct = cstruct.cstruct(endian=">")
|
|
@@ -262,6 +268,7 @@ CryptoScheme = cs_struct.CryptoScheme
|
|
|
262
268
|
ProxyServer = cs_struct.ProxyServer
|
|
263
269
|
InjectAllocator = cs_struct.InjectAllocator
|
|
264
270
|
InjectExecutor = cs_struct.InjectExecutor
|
|
271
|
+
BofAllocator = cs_struct.BofAllocator
|
|
265
272
|
|
|
266
273
|
DEFAULT_XOR_KEYS: List[bytes] = [b"\x69", b"\x2e", b"\x00"]
|
|
267
274
|
""" Default XOR keys used by Cobalt Strike for obfuscating Beacon config bytes """
|
|
@@ -635,6 +642,7 @@ SETTING_TO_PRETTYFUNC: Dict[BeaconSetting, Callable] = {
|
|
|
635
642
|
BeaconSetting.SETTING_DNS_IDLE: lambda x: str(ipaddress.IPv4Address(x)),
|
|
636
643
|
BeaconSetting.SETTING_WATERMARKHASH: lambda x: null_terminated_bytes(x) if isinstance(x, bytes) else x,
|
|
637
644
|
BeaconSetting.SETTING_MASKED_WATERMARK: lambda x: x.hex(),
|
|
645
|
+
BeaconSetting.SETTING_BOF_ALLOCATOR: lambda x: BofAllocator(x).name,
|
|
638
646
|
# BeaconSetting.SETTING_PROTOCOL: lambda x: BeaconProtocol(x).name,
|
|
639
647
|
# BeaconSetting.SETTING_CRYPTO_SCHEME: lambda x: CryptoScheme(x).name,
|
|
640
648
|
# BeaconSetting.SETTING_PROXY_BEHAVIOR: lambda x: ProxyServer(x).name,
|
|
@@ -618,6 +618,10 @@ class C2Profile(ConfigBlock):
|
|
|
618
618
|
dns_beacon.set_option("dns_sleep", value)
|
|
619
619
|
elif setting == BeaconSetting.SETTING_MAXDNS:
|
|
620
620
|
dns_beacon.set_option("maxdns", value)
|
|
621
|
+
elif setting == BeaconSetting.SETTING_PROCINJ_BOF_REUSE_MEM and value:
|
|
622
|
+
proc_inj.set_option("bof_reuse_memory", "true")
|
|
623
|
+
elif setting == BeaconSetting.SETTING_BOF_ALLOCATOR:
|
|
624
|
+
proc_inj.set_option("bof_allocator", value)
|
|
621
625
|
|
|
622
626
|
if c2_recover:
|
|
623
627
|
http_get.set_non_empty_config_block("server", HttpOptionsBlock(output=DataTransformBlock(steps=c2_recover)))
|
{dissect_cobaltstrike-1.2.1.dev3 → dissect_cobaltstrike-1.2.1.dev5}/dissect/cobaltstrike/version.py
RENAMED
|
@@ -32,6 +32,8 @@ MAX_ENUM_TO_VERSION: Dict[int, str] = {
|
|
|
32
32
|
70: "Cobalt Strike 4.3 (Mar 03, 2021)",
|
|
33
33
|
73: "Cobalt Strike 4.5 (Dec 14, 2021)",
|
|
34
34
|
74: "Cobalt Strike 4.7 (Aug 17, 2022)",
|
|
35
|
+
76: "Cobalt Strike 4.9 (Sep 19, 2023)",
|
|
36
|
+
78: "Cobalt Strike 4.10 (Jul 16, 2024)",
|
|
35
37
|
}
|
|
36
38
|
""" Max setting enum to Cobalt Strike version mapping """
|
|
37
39
|
|
|
@@ -77,6 +79,12 @@ PE_EXPORT_STAMP_TO_VERSION: Dict[int, str] = {
|
|
|
77
79
|
0x63EE0552: "Cobalt Strike 4.8 (Feb 28, 2023)",
|
|
78
80
|
0x63EE056C: "Cobalt Strike 4.8 (Feb 28, 2023)",
|
|
79
81
|
0x63EE0587: "Cobalt Strike 4.8 (Feb 28, 2023)",
|
|
82
|
+
0x64F88C5E: "Cobalt Strike 4.9 (Sep 19, 2023)",
|
|
83
|
+
0x64F88C9E: "Cobalt Strike 4.9 (Sep 19, 2023)",
|
|
84
|
+
0x64F88CDE: "Cobalt Strike 4.9 (Sep 19, 2023)",
|
|
85
|
+
0x6691500F: "Cobalt Strike 4.10 (Jul 16, 2024)",
|
|
86
|
+
0x66915020: "Cobalt Strike 4.10 (Jul 16, 2024)",
|
|
87
|
+
0x66915022: "Cobalt Strike 4.10 (Jul 16, 2024)",
|
|
80
88
|
}
|
|
81
89
|
""" PE export timestamp to Cobalt Strike version mapping """
|
|
82
90
|
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import pytest
|
|
2
|
+
|
|
1
3
|
from dissect.cobaltstrike import beacon, c2profile
|
|
2
4
|
|
|
3
5
|
C2PROFILE_SOURCE = """
|
|
@@ -294,3 +296,45 @@ def test_c2profile_v48():
|
|
|
294
296
|
"""
|
|
295
297
|
profile = c2profile.C2Profile.from_text(c2profile_fragment)
|
|
296
298
|
assert profile.properties["stage.syscall_method"] == ["direct"]
|
|
299
|
+
|
|
300
|
+
|
|
301
|
+
@pytest.mark.parametrize(
|
|
302
|
+
("allocator_enum", "bof_allocator"),
|
|
303
|
+
[
|
|
304
|
+
(beacon.BofAllocator.HeapAlloc, "HeapAlloc"),
|
|
305
|
+
(beacon.BofAllocator.MapViewOfFile, "MapViewOfFile"),
|
|
306
|
+
(beacon.BofAllocator.HeapAlloc, "HeapAlloc"),
|
|
307
|
+
],
|
|
308
|
+
)
|
|
309
|
+
def test_c2profile_bof_allocator(allocator_enum, bof_allocator):
|
|
310
|
+
data = beacon.Setting(
|
|
311
|
+
index=beacon.BeaconSetting.SETTING_BOF_ALLOCATOR,
|
|
312
|
+
type=beacon.SettingsType.TYPE_SHORT,
|
|
313
|
+
length=0x2,
|
|
314
|
+
value=allocator_enum.dumps(),
|
|
315
|
+
).dumps()
|
|
316
|
+
bconfig = beacon.BeaconConfig(data)
|
|
317
|
+
profile = c2profile.C2Profile.from_beacon_config(bconfig)
|
|
318
|
+
assert profile.properties["process-inject.bof_allocator"] == [bof_allocator]
|
|
319
|
+
|
|
320
|
+
|
|
321
|
+
@pytest.mark.parametrize(
|
|
322
|
+
("bof_reuse_memory",),
|
|
323
|
+
[
|
|
324
|
+
(True,),
|
|
325
|
+
(False,),
|
|
326
|
+
],
|
|
327
|
+
)
|
|
328
|
+
def test_c2profile_bof_reuse_memory(bof_reuse_memory):
|
|
329
|
+
data = beacon.Setting(
|
|
330
|
+
index=beacon.BeaconSetting.SETTING_PROCINJ_BOF_REUSE_MEM,
|
|
331
|
+
type=beacon.SettingsType.TYPE_SHORT,
|
|
332
|
+
length=0x2,
|
|
333
|
+
value=beacon.cs_struct.uint16(bof_reuse_memory).dumps(),
|
|
334
|
+
).dumps()
|
|
335
|
+
bconfig = beacon.BeaconConfig(data)
|
|
336
|
+
profile = c2profile.C2Profile.from_beacon_config(bconfig)
|
|
337
|
+
if bof_reuse_memory:
|
|
338
|
+
assert profile.properties["process-inject.bof_reuse_memory"] == ["true"]
|
|
339
|
+
else:
|
|
340
|
+
assert "project.inject.bof_reuse_memory" not in profile.properties
|
{dissect_cobaltstrike-1.2.1.dev3 → dissect_cobaltstrike-1.2.1.dev5}/.github/workflows/dissect-ci.yml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dissect_cobaltstrike-1.2.1.dev3 → dissect_cobaltstrike-1.2.1.dev5}/dissect/cobaltstrike/__init__.py
RENAMED
|
File without changes
|
{dissect_cobaltstrike-1.2.1.dev3 → dissect_cobaltstrike-1.2.1.dev5}/dissect/cobaltstrike/artifact.py
RENAMED
|
File without changes
|
{dissect_cobaltstrike-1.2.1.dev3 → dissect_cobaltstrike-1.2.1.dev5}/dissect/cobaltstrike/c2.py
RENAMED
|
File without changes
|
|
File without changes
|
{dissect_cobaltstrike-1.2.1.dev3 → dissect_cobaltstrike-1.2.1.dev5}/dissect/cobaltstrike/c_c2.py
RENAMED
|
File without changes
|
{dissect_cobaltstrike-1.2.1.dev3 → dissect_cobaltstrike-1.2.1.dev5}/dissect/cobaltstrike/client.py
RENAMED
|
File without changes
|
{dissect_cobaltstrike-1.2.1.dev3 → dissect_cobaltstrike-1.2.1.dev5}/dissect/cobaltstrike/pcap.py
RENAMED
|
File without changes
|
{dissect_cobaltstrike-1.2.1.dev3 → dissect_cobaltstrike-1.2.1.dev5}/dissect/cobaltstrike/pe.py
RENAMED
|
File without changes
|
{dissect_cobaltstrike-1.2.1.dev3 → dissect_cobaltstrike-1.2.1.dev5}/dissect/cobaltstrike/utils.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dissect_cobaltstrike-1.2.1.dev3 → dissect_cobaltstrike-1.2.1.dev5}/docs/c2profile-grammar.rst
RENAMED
|
File without changes
|
{dissect_cobaltstrike-1.2.1.dev3 → dissect_cobaltstrike-1.2.1.dev5}/docs/codespell-ignore-words.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dissect_cobaltstrike-1.2.1.dev3 → dissect_cobaltstrike-1.2.1.dev5}/docs/images/beacon-client.png
RENAMED
|
File without changes
|
|
File without changes
|
{dissect_cobaltstrike-1.2.1.dev3 → dissect_cobaltstrike-1.2.1.dev5}/docs/images/teamserver_ls.png
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dissect_cobaltstrike-1.2.1.dev3 → dissect_cobaltstrike-1.2.1.dev5}/docs/scripts/example_client.rst
RENAMED
|
File without changes
|
|
File without changes
|
{dissect_cobaltstrike-1.2.1.dev3 → dissect_cobaltstrike-1.2.1.dev5}/docs/structures/c2_def.rst
RENAMED
|
File without changes
|
{dissect_cobaltstrike-1.2.1.dev3 → dissect_cobaltstrike-1.2.1.dev5}/docs/structures/cs_def.rst
RENAMED
|
File without changes
|
{dissect_cobaltstrike-1.2.1.dev3 → dissect_cobaltstrike-1.2.1.dev5}/docs/structures/index.rst
RENAMED
|
File without changes
|
{dissect_cobaltstrike-1.2.1.dev3 → dissect_cobaltstrike-1.2.1.dev5}/docs/structures/pe_def.rst
RENAMED
|
File without changes
|
{dissect_cobaltstrike-1.2.1.dev3 → dissect_cobaltstrike-1.2.1.dev5}/docs/tools/beacon-artifact.rst
RENAMED
|
File without changes
|
{dissect_cobaltstrike-1.2.1.dev3 → dissect_cobaltstrike-1.2.1.dev5}/docs/tools/beacon-client.rst
RENAMED
|
File without changes
|
{dissect_cobaltstrike-1.2.1.dev3 → dissect_cobaltstrike-1.2.1.dev5}/docs/tools/beacon-dump.rst
RENAMED
|
File without changes
|
{dissect_cobaltstrike-1.2.1.dev3 → dissect_cobaltstrike-1.2.1.dev5}/docs/tools/beacon-pcap.rst
RENAMED
|
File without changes
|
{dissect_cobaltstrike-1.2.1.dev3 → dissect_cobaltstrike-1.2.1.dev5}/docs/tools/beacon-xordecode.rst
RENAMED
|
File without changes
|
{dissect_cobaltstrike-1.2.1.dev3 → dissect_cobaltstrike-1.2.1.dev5}/docs/tools/c2profile-dump.rst
RENAMED
|
File without changes
|
|
File without changes
|
{dissect_cobaltstrike-1.2.1.dev3 → dissect_cobaltstrike-1.2.1.dev5}/docs/tutorials/index.rst
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dissect_cobaltstrike-1.2.1.dev3 → dissect_cobaltstrike-1.2.1.dev5}/scripts/checksum8-accesslogs.py
RENAMED
|
File without changes
|
{dissect_cobaltstrike-1.2.1.dev3 → dissect_cobaltstrike-1.2.1.dev5}/scripts/dump_beacon_keys.py
RENAMED
|
File without changes
|
{dissect_cobaltstrike-1.2.1.dev3 → dissect_cobaltstrike-1.2.1.dev5}/scripts/example_client.py
RENAMED
|
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
|