dissect.cobaltstrike 1.2.1.dev11__tar.gz → 1.2.1.dev13__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.dev11 → dissect_cobaltstrike-1.2.1.dev13}/PKG-INFO +1 -1
- {dissect_cobaltstrike-1.2.1.dev11 → dissect_cobaltstrike-1.2.1.dev13}/dissect/cobaltstrike/_version.py +2 -2
- {dissect_cobaltstrike-1.2.1.dev11 → dissect_cobaltstrike-1.2.1.dev13}/dissect/cobaltstrike/beacon.py +2 -1
- {dissect_cobaltstrike-1.2.1.dev11 → dissect_cobaltstrike-1.2.1.dev13}/dissect/cobaltstrike/guardrails.py +6 -5
- {dissect_cobaltstrike-1.2.1.dev11 → dissect_cobaltstrike-1.2.1.dev13}/dissect/cobaltstrike/version.py +4 -0
- dissect_cobaltstrike-1.2.1.dev13/docs/structures/guardrails_def.rst +8 -0
- {dissect_cobaltstrike-1.2.1.dev11 → dissect_cobaltstrike-1.2.1.dev13}/docs/structures/index.rst +1 -0
- {dissect_cobaltstrike-1.2.1.dev11 → dissect_cobaltstrike-1.2.1.dev13}/.github/workflows/dissect-ci.yml +0 -0
- {dissect_cobaltstrike-1.2.1.dev11 → dissect_cobaltstrike-1.2.1.dev13}/.gitignore +0 -0
- {dissect_cobaltstrike-1.2.1.dev11 → dissect_cobaltstrike-1.2.1.dev13}/.lfs-assets-id +0 -0
- {dissect_cobaltstrike-1.2.1.dev11 → dissect_cobaltstrike-1.2.1.dev13}/.pre-commit-config.yaml +0 -0
- {dissect_cobaltstrike-1.2.1.dev11 → dissect_cobaltstrike-1.2.1.dev13}/.readthedocs.yml +0 -0
- {dissect_cobaltstrike-1.2.1.dev11 → dissect_cobaltstrike-1.2.1.dev13}/LICENSE +0 -0
- {dissect_cobaltstrike-1.2.1.dev11 → dissect_cobaltstrike-1.2.1.dev13}/README.rst +0 -0
- {dissect_cobaltstrike-1.2.1.dev11 → dissect_cobaltstrike-1.2.1.dev13}/codecov.yml +0 -0
- {dissect_cobaltstrike-1.2.1.dev11 → dissect_cobaltstrike-1.2.1.dev13}/dissect/cobaltstrike/__init__.py +0 -0
- {dissect_cobaltstrike-1.2.1.dev11 → dissect_cobaltstrike-1.2.1.dev13}/dissect/cobaltstrike/artifact.py +0 -0
- {dissect_cobaltstrike-1.2.1.dev11 → dissect_cobaltstrike-1.2.1.dev13}/dissect/cobaltstrike/c2.py +0 -0
- {dissect_cobaltstrike-1.2.1.dev11 → dissect_cobaltstrike-1.2.1.dev13}/dissect/cobaltstrike/c2profile.lark +0 -0
- {dissect_cobaltstrike-1.2.1.dev11 → dissect_cobaltstrike-1.2.1.dev13}/dissect/cobaltstrike/c2profile.py +0 -0
- {dissect_cobaltstrike-1.2.1.dev11 → dissect_cobaltstrike-1.2.1.dev13}/dissect/cobaltstrike/c_c2.py +0 -0
- {dissect_cobaltstrike-1.2.1.dev11 → dissect_cobaltstrike-1.2.1.dev13}/dissect/cobaltstrike/client.py +0 -0
- {dissect_cobaltstrike-1.2.1.dev11 → dissect_cobaltstrike-1.2.1.dev13}/dissect/cobaltstrike/pcap.py +0 -0
- {dissect_cobaltstrike-1.2.1.dev11 → dissect_cobaltstrike-1.2.1.dev13}/dissect/cobaltstrike/pe.py +0 -0
- {dissect_cobaltstrike-1.2.1.dev11 → dissect_cobaltstrike-1.2.1.dev13}/dissect/cobaltstrike/utils.py +0 -0
- {dissect_cobaltstrike-1.2.1.dev11 → dissect_cobaltstrike-1.2.1.dev13}/dissect/cobaltstrike/xordecode.py +0 -0
- {dissect_cobaltstrike-1.2.1.dev11 → dissect_cobaltstrike-1.2.1.dev13}/docs/Makefile +0 -0
- {dissect_cobaltstrike-1.2.1.dev11 → dissect_cobaltstrike-1.2.1.dev13}/docs/c2profile-grammar.rst +0 -0
- {dissect_cobaltstrike-1.2.1.dev11 → dissect_cobaltstrike-1.2.1.dev13}/docs/codespell-ignore-words.txt +0 -0
- {dissect_cobaltstrike-1.2.1.dev11 → dissect_cobaltstrike-1.2.1.dev13}/docs/conf.py +0 -0
- {dissect_cobaltstrike-1.2.1.dev11 → dissect_cobaltstrike-1.2.1.dev13}/docs/examples.rst +0 -0
- {dissect_cobaltstrike-1.2.1.dev11 → dissect_cobaltstrike-1.2.1.dev13}/docs/images/beacon-client.png +0 -0
- {dissect_cobaltstrike-1.2.1.dev11 → dissect_cobaltstrike-1.2.1.dev13}/docs/images/teamserver-echoclient.png +0 -0
- {dissect_cobaltstrike-1.2.1.dev11 → dissect_cobaltstrike-1.2.1.dev13}/docs/images/teamserver_ls.png +0 -0
- {dissect_cobaltstrike-1.2.1.dev11 → dissect_cobaltstrike-1.2.1.dev13}/docs/images/vt-cobaltstrike-43-zip.png +0 -0
- {dissect_cobaltstrike-1.2.1.dev11 → dissect_cobaltstrike-1.2.1.dev13}/docs/index.rst +0 -0
- {dissect_cobaltstrike-1.2.1.dev11 → dissect_cobaltstrike-1.2.1.dev13}/docs/installation.rst +0 -0
- {dissect_cobaltstrike-1.2.1.dev11 → dissect_cobaltstrike-1.2.1.dev13}/docs/license.rst +0 -0
- {dissect_cobaltstrike-1.2.1.dev11 → dissect_cobaltstrike-1.2.1.dev13}/docs/scripts/checksum8-accesslogs.rst +0 -0
- {dissect_cobaltstrike-1.2.1.dev11 → dissect_cobaltstrike-1.2.1.dev13}/docs/scripts/dump_beacon_keys.rst +0 -0
- {dissect_cobaltstrike-1.2.1.dev11 → dissect_cobaltstrike-1.2.1.dev13}/docs/scripts/example_client.rst +0 -0
- {dissect_cobaltstrike-1.2.1.dev11 → dissect_cobaltstrike-1.2.1.dev13}/docs/scripts/index.rst +0 -0
- {dissect_cobaltstrike-1.2.1.dev11 → dissect_cobaltstrike-1.2.1.dev13}/docs/structures/c2_def.rst +0 -0
- {dissect_cobaltstrike-1.2.1.dev11 → dissect_cobaltstrike-1.2.1.dev13}/docs/structures/cs_def.rst +0 -0
- {dissect_cobaltstrike-1.2.1.dev11 → dissect_cobaltstrike-1.2.1.dev13}/docs/structures/pe_def.rst +0 -0
- {dissect_cobaltstrike-1.2.1.dev11 → dissect_cobaltstrike-1.2.1.dev13}/docs/tools/beacon-artifact.rst +0 -0
- {dissect_cobaltstrike-1.2.1.dev11 → dissect_cobaltstrike-1.2.1.dev13}/docs/tools/beacon-client.rst +0 -0
- {dissect_cobaltstrike-1.2.1.dev11 → dissect_cobaltstrike-1.2.1.dev13}/docs/tools/beacon-dump.rst +0 -0
- {dissect_cobaltstrike-1.2.1.dev11 → dissect_cobaltstrike-1.2.1.dev13}/docs/tools/beacon-pcap.rst +0 -0
- {dissect_cobaltstrike-1.2.1.dev11 → dissect_cobaltstrike-1.2.1.dev13}/docs/tools/beacon-xordecode.rst +0 -0
- {dissect_cobaltstrike-1.2.1.dev11 → dissect_cobaltstrike-1.2.1.dev13}/docs/tools/c2profile-dump.rst +0 -0
- {dissect_cobaltstrike-1.2.1.dev11 → dissect_cobaltstrike-1.2.1.dev13}/docs/tutorials/decrypt_cobaltstrike_pcaps.rst +0 -0
- {dissect_cobaltstrike-1.2.1.dev11 → dissect_cobaltstrike-1.2.1.dev13}/docs/tutorials/index.rst +0 -0
- {dissect_cobaltstrike-1.2.1.dev11 → dissect_cobaltstrike-1.2.1.dev13}/docs/tutorials/minimal_beacon_client.rst +0 -0
- {dissect_cobaltstrike-1.2.1.dev11 → dissect_cobaltstrike-1.2.1.dev13}/pyproject.toml +0 -0
- {dissect_cobaltstrike-1.2.1.dev11 → dissect_cobaltstrike-1.2.1.dev13}/scripts/checksum8-accesslogs.py +0 -0
- {dissect_cobaltstrike-1.2.1.dev11 → dissect_cobaltstrike-1.2.1.dev13}/scripts/dump_beacon_keys.py +0 -0
- {dissect_cobaltstrike-1.2.1.dev11 → dissect_cobaltstrike-1.2.1.dev13}/scripts/example_client.py +0 -0
- {dissect_cobaltstrike-1.2.1.dev11 → dissect_cobaltstrike-1.2.1.dev13}/tests/conftest.py +0 -0
- {dissect_cobaltstrike-1.2.1.dev11 → dissect_cobaltstrike-1.2.1.dev13}/tests/test_beacon.py +0 -0
- {dissect_cobaltstrike-1.2.1.dev11 → dissect_cobaltstrike-1.2.1.dev13}/tests/test_c2.py +0 -0
- {dissect_cobaltstrike-1.2.1.dev11 → dissect_cobaltstrike-1.2.1.dev13}/tests/test_c2profile.py +0 -0
- {dissect_cobaltstrike-1.2.1.dev11 → dissect_cobaltstrike-1.2.1.dev13}/tests/test_client.py +0 -0
- {dissect_cobaltstrike-1.2.1.dev11 → dissect_cobaltstrike-1.2.1.dev13}/tests/test_guardrails.py +0 -0
- {dissect_cobaltstrike-1.2.1.dev11 → dissect_cobaltstrike-1.2.1.dev13}/tests/test_pe.py +0 -0
- {dissect_cobaltstrike-1.2.1.dev11 → dissect_cobaltstrike-1.2.1.dev13}/tests/test_utils.py +0 -0
- {dissect_cobaltstrike-1.2.1.dev11 → dissect_cobaltstrike-1.2.1.dev13}/tests/test_version.py +0 -0
- {dissect_cobaltstrike-1.2.1.dev11 → dissect_cobaltstrike-1.2.1.dev13}/tests/test_xordecode.py +0 -0
- {dissect_cobaltstrike-1.2.1.dev11 → dissect_cobaltstrike-1.2.1.dev13}/tox.ini +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: dissect.cobaltstrike
|
|
3
|
-
Version: 1.2.1.
|
|
3
|
+
Version: 1.2.1.dev13
|
|
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/
|
|
@@ -17,5 +17,5 @@ __version__: str
|
|
|
17
17
|
__version_tuple__: VERSION_TUPLE
|
|
18
18
|
version_tuple: VERSION_TUPLE
|
|
19
19
|
|
|
20
|
-
__version__ = version = '1.2.1.
|
|
21
|
-
__version_tuple__ = version_tuple = (1, 2, 1, '
|
|
20
|
+
__version__ = version = '1.2.1.dev13'
|
|
21
|
+
__version_tuple__ = version_tuple = (1, 2, 1, 'dev13')
|
{dissect_cobaltstrike-1.2.1.dev11 → dissect_cobaltstrike-1.2.1.dev13}/dissect/cobaltstrike/beacon.py
RENAMED
|
@@ -1198,10 +1198,11 @@ def main():
|
|
|
1198
1198
|
if args.verbose >= 1:
|
|
1199
1199
|
print("-" * 50)
|
|
1200
1200
|
print(
|
|
1201
|
-
"pe_export_stamp = {}, {}, {}".format(
|
|
1201
|
+
"pe_export_stamp = {}, {}, {} - {}".format(
|
|
1202
1202
|
config.pe_export_stamp,
|
|
1203
1203
|
hex(config.pe_export_stamp),
|
|
1204
1204
|
time.ctime(config.pe_export_stamp),
|
|
1205
|
+
config.version,
|
|
1205
1206
|
)
|
|
1206
1207
|
)
|
|
1207
1208
|
print(
|
|
@@ -2,15 +2,16 @@
|
|
|
2
2
|
This module is responsible for finding and recovering Beacon Guardrails configuration from Cobalt Strike payloads.
|
|
3
3
|
Guardrails is an additional layer of protection to the beacon config by using environmental keying (`T1480`_).
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
.. note::
|
|
6
|
+
Beacon Guardrails was introduced in Cobalt Strike 4.8:
|
|
6
7
|
|
|
7
|
-
|
|
8
|
+
- https://www.cobaltstrike.com/blog/cobalt-strike-4-8-system-call-me-maybe
|
|
8
9
|
|
|
9
|
-
Other research on Beacon Guardrails:
|
|
10
|
+
Other research on Beacon Guardrails:
|
|
10
11
|
|
|
11
|
-
|
|
12
|
+
- https://itea.org/journals/volume-45-3/cobalt-strike-cyber-assessment-challenge/
|
|
12
13
|
|
|
13
|
-
.. _T1480: https://attack.mitre.org/techniques/T1480/
|
|
14
|
+
.. _T1480: https://attack.mitre.org/techniques/T1480/
|
|
14
15
|
"""
|
|
15
16
|
|
|
16
17
|
from __future__ import annotations
|
|
@@ -87,6 +87,10 @@ PE_EXPORT_STAMP_TO_VERSION: Dict[int, str] = {
|
|
|
87
87
|
0x66915020: "Cobalt Strike 4.10 (Jul 16, 2024)",
|
|
88
88
|
0x66915022: "Cobalt Strike 4.10 (Jul 16, 2024)",
|
|
89
89
|
0x66915024: "Cobalt Strike 4.10 (Jul 16, 2024)",
|
|
90
|
+
0x66915027: "Cobalt Strike 4.10 (Jul 16, 2024)",
|
|
91
|
+
0x674E0D02: "Cobalt Strike 4.10.1 (Dec 10, 2024)",
|
|
92
|
+
0x674E0D13: "Cobalt Strike 4.10.1 (Dec 10, 2024)",
|
|
93
|
+
0x674E0D17: "Cobalt Strike 4.10.1 (Dec 10, 2024)",
|
|
90
94
|
}
|
|
91
95
|
""" PE export timestamp to Cobalt Strike version mapping """
|
|
92
96
|
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
:attr:`dissect.cobaltstrike.guardrails.C_GUARDRAILS_DEF`
|
|
2
|
+
----------------------------------------
|
|
3
|
+
Structures for parsing Beacon Guardrails metadata.
|
|
4
|
+
|
|
5
|
+
.. literalinclude:: ../../dissect/cobaltstrike/guardrails.py
|
|
6
|
+
:start-after: C_GUARDRAILS_DEF
|
|
7
|
+
:end-before: """
|
|
8
|
+
:language: c
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dissect_cobaltstrike-1.2.1.dev11 → dissect_cobaltstrike-1.2.1.dev13}/.pre-commit-config.yaml
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.dev11 → dissect_cobaltstrike-1.2.1.dev13}/dissect/cobaltstrike/c2.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dissect_cobaltstrike-1.2.1.dev11 → dissect_cobaltstrike-1.2.1.dev13}/dissect/cobaltstrike/c_c2.py
RENAMED
|
File without changes
|
{dissect_cobaltstrike-1.2.1.dev11 → dissect_cobaltstrike-1.2.1.dev13}/dissect/cobaltstrike/client.py
RENAMED
|
File without changes
|
{dissect_cobaltstrike-1.2.1.dev11 → dissect_cobaltstrike-1.2.1.dev13}/dissect/cobaltstrike/pcap.py
RENAMED
|
File without changes
|
{dissect_cobaltstrike-1.2.1.dev11 → dissect_cobaltstrike-1.2.1.dev13}/dissect/cobaltstrike/pe.py
RENAMED
|
File without changes
|
{dissect_cobaltstrike-1.2.1.dev11 → dissect_cobaltstrike-1.2.1.dev13}/dissect/cobaltstrike/utils.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dissect_cobaltstrike-1.2.1.dev11 → dissect_cobaltstrike-1.2.1.dev13}/docs/c2profile-grammar.rst
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dissect_cobaltstrike-1.2.1.dev11 → dissect_cobaltstrike-1.2.1.dev13}/docs/images/beacon-client.png
RENAMED
|
File without changes
|
|
File without changes
|
{dissect_cobaltstrike-1.2.1.dev11 → dissect_cobaltstrike-1.2.1.dev13}/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
|
|
File without changes
|
{dissect_cobaltstrike-1.2.1.dev11 → dissect_cobaltstrike-1.2.1.dev13}/docs/scripts/index.rst
RENAMED
|
File without changes
|
{dissect_cobaltstrike-1.2.1.dev11 → dissect_cobaltstrike-1.2.1.dev13}/docs/structures/c2_def.rst
RENAMED
|
File without changes
|
{dissect_cobaltstrike-1.2.1.dev11 → dissect_cobaltstrike-1.2.1.dev13}/docs/structures/cs_def.rst
RENAMED
|
File without changes
|
{dissect_cobaltstrike-1.2.1.dev11 → dissect_cobaltstrike-1.2.1.dev13}/docs/structures/pe_def.rst
RENAMED
|
File without changes
|
{dissect_cobaltstrike-1.2.1.dev11 → dissect_cobaltstrike-1.2.1.dev13}/docs/tools/beacon-artifact.rst
RENAMED
|
File without changes
|
{dissect_cobaltstrike-1.2.1.dev11 → dissect_cobaltstrike-1.2.1.dev13}/docs/tools/beacon-client.rst
RENAMED
|
File without changes
|
{dissect_cobaltstrike-1.2.1.dev11 → dissect_cobaltstrike-1.2.1.dev13}/docs/tools/beacon-dump.rst
RENAMED
|
File without changes
|
{dissect_cobaltstrike-1.2.1.dev11 → dissect_cobaltstrike-1.2.1.dev13}/docs/tools/beacon-pcap.rst
RENAMED
|
File without changes
|
|
File without changes
|
{dissect_cobaltstrike-1.2.1.dev11 → dissect_cobaltstrike-1.2.1.dev13}/docs/tools/c2profile-dump.rst
RENAMED
|
File without changes
|
|
File without changes
|
{dissect_cobaltstrike-1.2.1.dev11 → dissect_cobaltstrike-1.2.1.dev13}/docs/tutorials/index.rst
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dissect_cobaltstrike-1.2.1.dev11 → dissect_cobaltstrike-1.2.1.dev13}/scripts/dump_beacon_keys.py
RENAMED
|
File without changes
|
{dissect_cobaltstrike-1.2.1.dev11 → dissect_cobaltstrike-1.2.1.dev13}/scripts/example_client.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dissect_cobaltstrike-1.2.1.dev11 → dissect_cobaltstrike-1.2.1.dev13}/tests/test_c2profile.py
RENAMED
|
File without changes
|
|
File without changes
|
{dissect_cobaltstrike-1.2.1.dev11 → dissect_cobaltstrike-1.2.1.dev13}/tests/test_guardrails.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dissect_cobaltstrike-1.2.1.dev11 → dissect_cobaltstrike-1.2.1.dev13}/tests/test_xordecode.py
RENAMED
|
File without changes
|
|
File without changes
|