dissect.cobaltstrike 1.2.1.dev13__tar.gz → 1.2.2.dev2__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.dev13 → dissect_cobaltstrike-1.2.2.dev2}/PKG-INFO +2 -2
- {dissect_cobaltstrike-1.2.1.dev13 → dissect_cobaltstrike-1.2.2.dev2}/dissect/cobaltstrike/_version.py +2 -2
- {dissect_cobaltstrike-1.2.1.dev13 → dissect_cobaltstrike-1.2.2.dev2}/dissect/cobaltstrike/beacon.py +1 -1
- {dissect_cobaltstrike-1.2.1.dev13 → dissect_cobaltstrike-1.2.2.dev2}/dissect/cobaltstrike/pcap.py +1 -1
- {dissect_cobaltstrike-1.2.1.dev13 → dissect_cobaltstrike-1.2.2.dev2}/dissect/cobaltstrike/version.py +1 -0
- dissect_cobaltstrike-1.2.2.dev2/docs/_ext/generate_beacon_version_csv.py +30 -0
- dissect_cobaltstrike-1.2.2.dev2/docs/beacon-version-identification.rst +26 -0
- dissect_cobaltstrike-1.2.2.dev2/docs/cobaltstrike-beacon-versions.csv +54 -0
- {dissect_cobaltstrike-1.2.1.dev13 → dissect_cobaltstrike-1.2.2.dev2}/docs/conf.py +5 -1
- {dissect_cobaltstrike-1.2.1.dev13 → dissect_cobaltstrike-1.2.2.dev2}/docs/index.rst +1 -0
- {dissect_cobaltstrike-1.2.1.dev13 → dissect_cobaltstrike-1.2.2.dev2}/pyproject.toml +1 -1
- {dissect_cobaltstrike-1.2.1.dev13 → dissect_cobaltstrike-1.2.2.dev2}/.github/workflows/dissect-ci.yml +0 -0
- {dissect_cobaltstrike-1.2.1.dev13 → dissect_cobaltstrike-1.2.2.dev2}/.gitignore +0 -0
- {dissect_cobaltstrike-1.2.1.dev13 → dissect_cobaltstrike-1.2.2.dev2}/.lfs-assets-id +0 -0
- {dissect_cobaltstrike-1.2.1.dev13 → dissect_cobaltstrike-1.2.2.dev2}/.pre-commit-config.yaml +0 -0
- {dissect_cobaltstrike-1.2.1.dev13 → dissect_cobaltstrike-1.2.2.dev2}/.readthedocs.yml +0 -0
- {dissect_cobaltstrike-1.2.1.dev13 → dissect_cobaltstrike-1.2.2.dev2}/LICENSE +0 -0
- {dissect_cobaltstrike-1.2.1.dev13 → dissect_cobaltstrike-1.2.2.dev2}/README.rst +0 -0
- {dissect_cobaltstrike-1.2.1.dev13 → dissect_cobaltstrike-1.2.2.dev2}/codecov.yml +0 -0
- {dissect_cobaltstrike-1.2.1.dev13 → dissect_cobaltstrike-1.2.2.dev2}/dissect/cobaltstrike/__init__.py +0 -0
- {dissect_cobaltstrike-1.2.1.dev13 → dissect_cobaltstrike-1.2.2.dev2}/dissect/cobaltstrike/artifact.py +0 -0
- {dissect_cobaltstrike-1.2.1.dev13 → dissect_cobaltstrike-1.2.2.dev2}/dissect/cobaltstrike/c2.py +0 -0
- {dissect_cobaltstrike-1.2.1.dev13 → dissect_cobaltstrike-1.2.2.dev2}/dissect/cobaltstrike/c2profile.lark +0 -0
- {dissect_cobaltstrike-1.2.1.dev13 → dissect_cobaltstrike-1.2.2.dev2}/dissect/cobaltstrike/c2profile.py +0 -0
- {dissect_cobaltstrike-1.2.1.dev13 → dissect_cobaltstrike-1.2.2.dev2}/dissect/cobaltstrike/c_c2.py +0 -0
- {dissect_cobaltstrike-1.2.1.dev13 → dissect_cobaltstrike-1.2.2.dev2}/dissect/cobaltstrike/client.py +0 -0
- {dissect_cobaltstrike-1.2.1.dev13 → dissect_cobaltstrike-1.2.2.dev2}/dissect/cobaltstrike/guardrails.py +0 -0
- {dissect_cobaltstrike-1.2.1.dev13 → dissect_cobaltstrike-1.2.2.dev2}/dissect/cobaltstrike/pe.py +0 -0
- {dissect_cobaltstrike-1.2.1.dev13 → dissect_cobaltstrike-1.2.2.dev2}/dissect/cobaltstrike/utils.py +0 -0
- {dissect_cobaltstrike-1.2.1.dev13 → dissect_cobaltstrike-1.2.2.dev2}/dissect/cobaltstrike/xordecode.py +0 -0
- {dissect_cobaltstrike-1.2.1.dev13 → dissect_cobaltstrike-1.2.2.dev2}/docs/Makefile +0 -0
- {dissect_cobaltstrike-1.2.1.dev13 → dissect_cobaltstrike-1.2.2.dev2}/docs/c2profile-grammar.rst +0 -0
- {dissect_cobaltstrike-1.2.1.dev13 → dissect_cobaltstrike-1.2.2.dev2}/docs/codespell-ignore-words.txt +0 -0
- {dissect_cobaltstrike-1.2.1.dev13 → dissect_cobaltstrike-1.2.2.dev2}/docs/examples.rst +0 -0
- {dissect_cobaltstrike-1.2.1.dev13 → dissect_cobaltstrike-1.2.2.dev2}/docs/images/beacon-client.png +0 -0
- {dissect_cobaltstrike-1.2.1.dev13 → dissect_cobaltstrike-1.2.2.dev2}/docs/images/teamserver-echoclient.png +0 -0
- {dissect_cobaltstrike-1.2.1.dev13 → dissect_cobaltstrike-1.2.2.dev2}/docs/images/teamserver_ls.png +0 -0
- {dissect_cobaltstrike-1.2.1.dev13 → dissect_cobaltstrike-1.2.2.dev2}/docs/images/vt-cobaltstrike-43-zip.png +0 -0
- {dissect_cobaltstrike-1.2.1.dev13 → dissect_cobaltstrike-1.2.2.dev2}/docs/installation.rst +0 -0
- {dissect_cobaltstrike-1.2.1.dev13 → dissect_cobaltstrike-1.2.2.dev2}/docs/license.rst +0 -0
- {dissect_cobaltstrike-1.2.1.dev13 → dissect_cobaltstrike-1.2.2.dev2}/docs/scripts/checksum8-accesslogs.rst +0 -0
- {dissect_cobaltstrike-1.2.1.dev13 → dissect_cobaltstrike-1.2.2.dev2}/docs/scripts/dump_beacon_keys.rst +0 -0
- {dissect_cobaltstrike-1.2.1.dev13 → dissect_cobaltstrike-1.2.2.dev2}/docs/scripts/example_client.rst +0 -0
- {dissect_cobaltstrike-1.2.1.dev13 → dissect_cobaltstrike-1.2.2.dev2}/docs/scripts/index.rst +0 -0
- {dissect_cobaltstrike-1.2.1.dev13 → dissect_cobaltstrike-1.2.2.dev2}/docs/structures/c2_def.rst +0 -0
- {dissect_cobaltstrike-1.2.1.dev13 → dissect_cobaltstrike-1.2.2.dev2}/docs/structures/cs_def.rst +0 -0
- {dissect_cobaltstrike-1.2.1.dev13 → dissect_cobaltstrike-1.2.2.dev2}/docs/structures/guardrails_def.rst +0 -0
- {dissect_cobaltstrike-1.2.1.dev13 → dissect_cobaltstrike-1.2.2.dev2}/docs/structures/index.rst +0 -0
- {dissect_cobaltstrike-1.2.1.dev13 → dissect_cobaltstrike-1.2.2.dev2}/docs/structures/pe_def.rst +0 -0
- {dissect_cobaltstrike-1.2.1.dev13 → dissect_cobaltstrike-1.2.2.dev2}/docs/tools/beacon-artifact.rst +0 -0
- {dissect_cobaltstrike-1.2.1.dev13 → dissect_cobaltstrike-1.2.2.dev2}/docs/tools/beacon-client.rst +0 -0
- {dissect_cobaltstrike-1.2.1.dev13 → dissect_cobaltstrike-1.2.2.dev2}/docs/tools/beacon-dump.rst +0 -0
- {dissect_cobaltstrike-1.2.1.dev13 → dissect_cobaltstrike-1.2.2.dev2}/docs/tools/beacon-pcap.rst +0 -0
- {dissect_cobaltstrike-1.2.1.dev13 → dissect_cobaltstrike-1.2.2.dev2}/docs/tools/beacon-xordecode.rst +0 -0
- {dissect_cobaltstrike-1.2.1.dev13 → dissect_cobaltstrike-1.2.2.dev2}/docs/tools/c2profile-dump.rst +0 -0
- {dissect_cobaltstrike-1.2.1.dev13 → dissect_cobaltstrike-1.2.2.dev2}/docs/tutorials/decrypt_cobaltstrike_pcaps.rst +0 -0
- {dissect_cobaltstrike-1.2.1.dev13 → dissect_cobaltstrike-1.2.2.dev2}/docs/tutorials/index.rst +0 -0
- {dissect_cobaltstrike-1.2.1.dev13 → dissect_cobaltstrike-1.2.2.dev2}/docs/tutorials/minimal_beacon_client.rst +0 -0
- {dissect_cobaltstrike-1.2.1.dev13 → dissect_cobaltstrike-1.2.2.dev2}/scripts/checksum8-accesslogs.py +0 -0
- {dissect_cobaltstrike-1.2.1.dev13 → dissect_cobaltstrike-1.2.2.dev2}/scripts/dump_beacon_keys.py +0 -0
- {dissect_cobaltstrike-1.2.1.dev13 → dissect_cobaltstrike-1.2.2.dev2}/scripts/example_client.py +0 -0
- {dissect_cobaltstrike-1.2.1.dev13 → dissect_cobaltstrike-1.2.2.dev2}/tests/conftest.py +0 -0
- {dissect_cobaltstrike-1.2.1.dev13 → dissect_cobaltstrike-1.2.2.dev2}/tests/test_beacon.py +0 -0
- {dissect_cobaltstrike-1.2.1.dev13 → dissect_cobaltstrike-1.2.2.dev2}/tests/test_c2.py +0 -0
- {dissect_cobaltstrike-1.2.1.dev13 → dissect_cobaltstrike-1.2.2.dev2}/tests/test_c2profile.py +0 -0
- {dissect_cobaltstrike-1.2.1.dev13 → dissect_cobaltstrike-1.2.2.dev2}/tests/test_client.py +0 -0
- {dissect_cobaltstrike-1.2.1.dev13 → dissect_cobaltstrike-1.2.2.dev2}/tests/test_guardrails.py +0 -0
- {dissect_cobaltstrike-1.2.1.dev13 → dissect_cobaltstrike-1.2.2.dev2}/tests/test_pe.py +0 -0
- {dissect_cobaltstrike-1.2.1.dev13 → dissect_cobaltstrike-1.2.2.dev2}/tests/test_utils.py +0 -0
- {dissect_cobaltstrike-1.2.1.dev13 → dissect_cobaltstrike-1.2.2.dev2}/tests/test_version.py +0 -0
- {dissect_cobaltstrike-1.2.1.dev13 → dissect_cobaltstrike-1.2.2.dev2}/tests/test_xordecode.py +0 -0
- {dissect_cobaltstrike-1.2.1.dev13 → dissect_cobaltstrike-1.2.2.dev2}/tox.ini +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: dissect.cobaltstrike
|
|
3
|
-
Version: 1.2.
|
|
3
|
+
Version: 1.2.2.dev2
|
|
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/
|
|
@@ -29,7 +29,7 @@ Classifier: Topic :: Security
|
|
|
29
29
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
30
30
|
Classifier: Topic :: Utilities
|
|
31
31
|
Requires-Python: >=3.9
|
|
32
|
-
Requires-Dist: dissect-cstruct>=4.
|
|
32
|
+
Requires-Dist: dissect-cstruct>=4.6.dev
|
|
33
33
|
Requires-Dist: lark
|
|
34
34
|
Provides-Extra: c2
|
|
35
35
|
Requires-Dist: flow-record; extra == 'c2'
|
|
@@ -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.
|
|
21
|
-
__version_tuple__ = version_tuple = (1, 2,
|
|
20
|
+
__version__ = version = '1.2.2.dev2'
|
|
21
|
+
__version_tuple__ = version_tuple = (1, 2, 2, 'dev2')
|
{dissect_cobaltstrike-1.2.1.dev13 → dissect_cobaltstrike-1.2.2.dev2}/dissect/cobaltstrike/beacon.py
RENAMED
|
@@ -617,7 +617,7 @@ def parse_beacon_gate(data: bytes) -> BeaconGateOptions:
|
|
|
617
617
|
|
|
618
618
|
def beacon_gate_options_string(bgo: BeaconGateOptions) -> list[str]:
|
|
619
619
|
"""Return the enabled BeaconGate WinAPI's as a list of strings"""
|
|
620
|
-
options = {k for k, v in bgo.
|
|
620
|
+
options = {k for k, v in bgo.__values__.items() if v}
|
|
621
621
|
|
|
622
622
|
comms = {"InternetOpenA", "InternetConnectA"}
|
|
623
623
|
core = {
|
{dissect_cobaltstrike-1.2.1.dev13 → dissect_cobaltstrike-1.2.2.dev2}/dissect/cobaltstrike/pcap.py
RENAMED
|
@@ -77,7 +77,7 @@ def c2packet_to_record(c2packet: C2Packet) -> Record:
|
|
|
77
77
|
"""Convert `c2packet` to a flow.record."""
|
|
78
78
|
fields = []
|
|
79
79
|
fields.append(("bytes", "raw_http"))
|
|
80
|
-
kv = c2packet.
|
|
80
|
+
kv = c2packet.__values__
|
|
81
81
|
for field in c2packet._type.fields:
|
|
82
82
|
ftype = str(field.type)
|
|
83
83
|
if ftype.startswith("char"):
|
{dissect_cobaltstrike-1.2.1.dev13 → dissect_cobaltstrike-1.2.2.dev2}/dissect/cobaltstrike/version.py
RENAMED
|
@@ -88,6 +88,7 @@ PE_EXPORT_STAMP_TO_VERSION: Dict[int, str] = {
|
|
|
88
88
|
0x66915022: "Cobalt Strike 4.10 (Jul 16, 2024)",
|
|
89
89
|
0x66915024: "Cobalt Strike 4.10 (Jul 16, 2024)",
|
|
90
90
|
0x66915027: "Cobalt Strike 4.10 (Jul 16, 2024)",
|
|
91
|
+
0x6691503D: "Cobalt Strike 4.10 (Jul 16, 2024)",
|
|
91
92
|
0x674E0D02: "Cobalt Strike 4.10.1 (Dec 10, 2024)",
|
|
92
93
|
0x674E0D13: "Cobalt Strike 4.10.1 (Dec 10, 2024)",
|
|
93
94
|
0x674E0D17: "Cobalt Strike 4.10.1 (Dec 10, 2024)",
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import csv
|
|
2
|
+
from datetime import datetime, timezone
|
|
3
|
+
|
|
4
|
+
from dissect.cobaltstrike.version import PE_EXPORT_STAMP_TO_VERSION
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
def setup(app):
|
|
8
|
+
"""Set up the extension"""
|
|
9
|
+
app.connect("builder-inited", generate_csv)
|
|
10
|
+
return {
|
|
11
|
+
"version": "0.1",
|
|
12
|
+
"parallel_read_safe": True,
|
|
13
|
+
"parallel_write_safe": True,
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
def generate_csv(app):
|
|
18
|
+
"""Generate the CSV file"""
|
|
19
|
+
with open("cobaltstrike-beacon-versions.csv", "w", newline="") as csvfile:
|
|
20
|
+
writer = csv.writer(csvfile, lineterminator="\n")
|
|
21
|
+
writer.writerow(["Export Stamp", "Hex", "PE Export Date", "Cobalt Strike version"])
|
|
22
|
+
for pe_export_stamp, version in sorted(PE_EXPORT_STAMP_TO_VERSION.items(), reverse=True):
|
|
23
|
+
writer.writerow(
|
|
24
|
+
[
|
|
25
|
+
pe_export_stamp,
|
|
26
|
+
f"0x{pe_export_stamp:08x}",
|
|
27
|
+
datetime.fromtimestamp(pe_export_stamp, timezone.utc).strftime("%a %b %d %H:%M:%S %Y"),
|
|
28
|
+
version,
|
|
29
|
+
]
|
|
30
|
+
)
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
Beacon version identification
|
|
2
|
+
=============================
|
|
3
|
+
|
|
4
|
+
:py:mod:`dissect.cobaltstrike.version` can identify the version of a Cobalt Strike beacon based on the PE export timestamp.
|
|
5
|
+
The following table lists the PE export timestamp and the corresponding Cobalt Strike version that have been collected and identified in the wild.
|
|
6
|
+
|
|
7
|
+
.. csv-table:: Beacon version detection based on PE export timestamp
|
|
8
|
+
:file: cobaltstrike-beacon-versions.csv
|
|
9
|
+
:header-rows: 1
|
|
10
|
+
:class: longtable
|
|
11
|
+
|
|
12
|
+
Use the ``beacon-dump`` command to identify the version of a Cobalt Strike beacon.
|
|
13
|
+
Use the ``-v`` flag to print extra information, including the PE export timestamp and the version of the beacon.
|
|
14
|
+
|
|
15
|
+
.. code-block::
|
|
16
|
+
|
|
17
|
+
$ beacon-dump -v beacon.bin
|
|
18
|
+
|
|
19
|
+
--------------------------------------------------
|
|
20
|
+
pe_export_stamp = 1720799264, 0x66915020, Fri Jul 12 17:47:44 2024 - Cobalt Strike 4.10 (Jul 16, 2024)
|
|
21
|
+
pe_compile_stamp = 1478837312, 0x58254440, Fri Nov 11 05:08:32 2016
|
|
22
|
+
max_setting_enum = 78 - BeaconSetting.SETTING_BEACON_GATE
|
|
23
|
+
beacon_version = Cobalt Strike 4.10 (Jul 16, 2024)
|
|
24
|
+
|
|
25
|
+
If the version is unknown, the ``beacon-dump`` command will print the PE export timestamp and the version ``Unknown``.
|
|
26
|
+
A GitHub issue is welcome to add the PE export timestamp and the corresponding Cobalt Strike version to the table.
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
Export Stamp,Hex,PE Export Date,Cobalt Strike version
|
|
2
|
+
1733168407,0x674e0d17,Mon Dec 02 19:40:07 2024,"Cobalt Strike 4.10.1 (Dec 10, 2024)"
|
|
3
|
+
1733168403,0x674e0d13,Mon Dec 02 19:40:03 2024,"Cobalt Strike 4.10.1 (Dec 10, 2024)"
|
|
4
|
+
1733168386,0x674e0d02,Mon Dec 02 19:39:46 2024,"Cobalt Strike 4.10.1 (Dec 10, 2024)"
|
|
5
|
+
1720799271,0x66915027,Fri Jul 12 15:47:51 2024,"Cobalt Strike 4.10 (Jul 16, 2024)"
|
|
6
|
+
1720799268,0x66915024,Fri Jul 12 15:47:48 2024,"Cobalt Strike 4.10 (Jul 16, 2024)"
|
|
7
|
+
1720799266,0x66915022,Fri Jul 12 15:47:46 2024,"Cobalt Strike 4.10 (Jul 16, 2024)"
|
|
8
|
+
1720799264,0x66915020,Fri Jul 12 15:47:44 2024,"Cobalt Strike 4.10 (Jul 16, 2024)"
|
|
9
|
+
1720799247,0x6691500f,Fri Jul 12 15:47:27 2024,"Cobalt Strike 4.10 (Jul 16, 2024)"
|
|
10
|
+
1694010590,0x64f88cde,Wed Sep 06 14:29:50 2023,"Cobalt Strike 4.9 (Sep 19, 2023)"
|
|
11
|
+
1694010526,0x64f88c9e,Wed Sep 06 14:28:46 2023,"Cobalt Strike 4.9 (Sep 19, 2023)"
|
|
12
|
+
1694010494,0x64f88c7e,Wed Sep 06 14:28:14 2023,"Cobalt Strike 4.9 (Sep 19, 2023)"
|
|
13
|
+
1694010462,0x64f88c5e,Wed Sep 06 14:27:42 2023,"Cobalt Strike 4.9 (Sep 19, 2023)"
|
|
14
|
+
1676543367,0x63ee0587,Thu Feb 16 10:29:27 2023,"Cobalt Strike 4.8 (Feb 28, 2023)"
|
|
15
|
+
1676543340,0x63ee056c,Thu Feb 16 10:29:00 2023,"Cobalt Strike 4.8 (Feb 28, 2023)"
|
|
16
|
+
1676543314,0x63ee0552,Thu Feb 16 10:28:34 2023,"Cobalt Strike 4.8 (Feb 28, 2023)"
|
|
17
|
+
1661785433,0x630cd559,Mon Aug 29 15:03:53 2022,"Cobalt Strike 4.7.1 (Sep 16, 2022)"
|
|
18
|
+
1661785403,0x630cd53b,Mon Aug 29 15:03:23 2022,"Cobalt Strike 4.7.1 (Sep 16, 2022)"
|
|
19
|
+
1661785372,0x630cd51c,Mon Aug 29 15:02:52 2022,"Cobalt Strike 4.7.1 (Sep 16, 2022)"
|
|
20
|
+
1659630329,0x62ebf2f9,Thu Aug 04 16:25:29 2022,"Cobalt Strike 4.7 (Aug 17, 2022)"
|
|
21
|
+
1659630298,0x62ebf2da,Thu Aug 04 16:24:58 2022,"Cobalt Strike 4.7 (Aug 17, 2022)"
|
|
22
|
+
1659630264,0x62ebf2b8,Thu Aug 04 16:24:24 2022,"Cobalt Strike 4.7 (Aug 17, 2022)"
|
|
23
|
+
1649798033,0x6255eb91,Tue Apr 12 21:13:53 2022,"Cobalt Strike 4.6 (Apr 12, 2022)"
|
|
24
|
+
1649797998,0x6255eb6e,Tue Apr 12 21:13:18 2022,"Cobalt Strike 4.6 (Apr 12, 2022)"
|
|
25
|
+
1649797966,0x6255eb4e,Tue Apr 12 21:12:46 2022,"Cobalt Strike 4.6 (Apr 12, 2022)"
|
|
26
|
+
1637694016,0x619d3a40,Tue Nov 23 19:00:16 2021,"Cobalt Strike 4.5 (Dec 14, 2021)"
|
|
27
|
+
1637693979,0x619d3a1b,Tue Nov 23 18:59:39 2021,"Cobalt Strike 4.5 (Dec 14, 2021)"
|
|
28
|
+
1627994782,0x61093a9e,Tue Aug 03 12:46:22 2021,"Cobalt Strike 4.4 (Aug 04, 2021)"
|
|
29
|
+
1627994693,0x61093a45,Tue Aug 03 12:44:53 2021,"Cobalt Strike 4.4 (Aug 04, 2021)"
|
|
30
|
+
1614781725,0x603f9d1d,Wed Mar 03 14:28:45 2021,"Cobalt Strike 4.3 (Mar 03, 2021)"
|
|
31
|
+
1614696183,0x603e4ef7,Tue Mar 02 14:43:03 2021,"Cobalt Strike 4.3 (Mar 03, 2021)"
|
|
32
|
+
1614687645,0x603e2d9d,Tue Mar 02 12:20:45 2021,"Cobalt Strike 4.3 (Mar 03, 2021)"
|
|
33
|
+
1604366948,0x5fa0b264,Tue Nov 03 01:29:08 2020,"Cobalt Strike 4.2 (Nov 06, 2020)"
|
|
34
|
+
1604366849,0x5fa0b201,Tue Nov 03 01:27:29 2020,"Cobalt Strike 4.2 (Nov 06, 2020)"
|
|
35
|
+
1603584534,0x5f94c216,Sun Oct 25 00:08:54 2020,"Cobalt Strike 4.2 (Nov 06, 2020)"
|
|
36
|
+
1592939923,0x5ef25593,Tue Jun 23 19:18:43 2020,"Cobalt Strike 4.1 (Jun 25, 2020)"
|
|
37
|
+
1592939867,0x5ef2555b,Tue Jun 23 19:17:47 2020,"Cobalt Strike 4.1 (Jun 25, 2020)"
|
|
38
|
+
1575547386,0x5de8f1fa,Thu Dec 05 12:03:06 2019,"Cobalt Strike 4.0 (Dec 05, 2019)"
|
|
39
|
+
1575547248,0x5de8f170,Thu Dec 05 12:00:48 2019,"Cobalt Strike 4.0 (Dec 05, 2019)"
|
|
40
|
+
1575497188,0x5de82de4,Wed Dec 04 22:06:28 2019,"Cobalt Strike 4.0 (Dec 05, 2019)"
|
|
41
|
+
1569306883,0x5d89b903,Tue Sep 24 06:34:43 2019,"Cobalt Strike 4.0 (Dec 05, 2019)"
|
|
42
|
+
1556924433,0x5cccc811,Fri May 03 23:00:33 2019,"Cobalt Strike 3.14 (May 04, 2019)"
|
|
43
|
+
1555631605,0x5cb90df5,Thu Apr 18 23:53:25 2019,"Cobalt Strike 3.14 (May 02, 2019)"
|
|
44
|
+
1546037702,0x5c26a9c6,Fri Dec 28 22:55:02 2018,"Cobalt Strike 3.13 (Jan 02, 2019)"
|
|
45
|
+
1536184396,0x5b90504c,Wed Sep 05 21:53:16 2018,"Cobalt Strike 3.12 (Sep 06, 2018)"
|
|
46
|
+
1527022389,0x5b048335,Tue May 22 20:53:09 2018,"Cobalt Strike 3.11 (May 24, 2018)"
|
|
47
|
+
1523134121,0x5ac92ea9,Sat Apr 07 20:48:41 2018,"Cobalt Strike 3.11 (Apr 09, 2018)"
|
|
48
|
+
1512682653,0x5a29b49d,Thu Dec 07 21:37:33 2017,"Cobalt Strike 3.10 (Dec 11, 2017)"
|
|
49
|
+
1505657962,0x59be846a,Sun Sep 17 14:19:22 2017,"Cobalt Strike 3.9 (Sep 26, 2017)"
|
|
50
|
+
1495488077,0x5923564d,Mon May 22 21:21:17 2017,"Cobalt Strike 3.8 (May 23, 2017)"
|
|
51
|
+
1488758730,0x58bca7ca,Mon Mar 06 00:05:30 2017,"Cobalt Strike 3.7 (Mar 15, 2017)"
|
|
52
|
+
1481145921,0x58487e41,Wed Dec 07 21:25:21 2016,"Cobalt Strike 3.6 (Dec 08, 2016)"
|
|
53
|
+
1474078204,0x57dca5fc,Sat Sep 17 02:10:04 2016,"Cobalt Strike 3.5 (Sep 22, 2016)"
|
|
54
|
+
1469737033,0x579a6849,Thu Jul 28 20:17:13 2016,"Cobalt Strike 3.4 (Jul 29, 2016)"
|
|
@@ -12,8 +12,11 @@
|
|
|
12
12
|
#
|
|
13
13
|
import os
|
|
14
14
|
import sys
|
|
15
|
+
from datetime import datetime
|
|
15
16
|
|
|
16
17
|
sys.path.insert(0, os.path.abspath("../"))
|
|
18
|
+
sys.path.append(os.path.abspath("_ext"))
|
|
19
|
+
|
|
17
20
|
|
|
18
21
|
# Get version info from dissect.cobaltstrike._version
|
|
19
22
|
try:
|
|
@@ -27,7 +30,7 @@ except ModuleNotFoundError:
|
|
|
27
30
|
# -- Project information -----------------------------------------------------
|
|
28
31
|
|
|
29
32
|
project = "dissect.cobaltstrike"
|
|
30
|
-
copyright = "2022, Fox-IT part of NCC Group"
|
|
33
|
+
copyright = f"2022-{datetime.now().year}, Fox-IT part of NCC Group"
|
|
31
34
|
author = "Fox-IT part of NCC Group"
|
|
32
35
|
|
|
33
36
|
|
|
@@ -48,6 +51,7 @@ extensions = [
|
|
|
48
51
|
"sphinx_copybutton",
|
|
49
52
|
"autoapi.extension",
|
|
50
53
|
"sphinx_argparse_cli",
|
|
54
|
+
"generate_beacon_version_csv",
|
|
51
55
|
]
|
|
52
56
|
|
|
53
57
|
# Add any paths that contain templates here, relative to this directory.
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dissect_cobaltstrike-1.2.1.dev13 → dissect_cobaltstrike-1.2.2.dev2}/.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.dev13 → dissect_cobaltstrike-1.2.2.dev2}/dissect/cobaltstrike/c2.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dissect_cobaltstrike-1.2.1.dev13 → dissect_cobaltstrike-1.2.2.dev2}/dissect/cobaltstrike/c_c2.py
RENAMED
|
File without changes
|
{dissect_cobaltstrike-1.2.1.dev13 → dissect_cobaltstrike-1.2.2.dev2}/dissect/cobaltstrike/client.py
RENAMED
|
File without changes
|
|
File without changes
|
{dissect_cobaltstrike-1.2.1.dev13 → dissect_cobaltstrike-1.2.2.dev2}/dissect/cobaltstrike/pe.py
RENAMED
|
File without changes
|
{dissect_cobaltstrike-1.2.1.dev13 → dissect_cobaltstrike-1.2.2.dev2}/dissect/cobaltstrike/utils.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dissect_cobaltstrike-1.2.1.dev13 → dissect_cobaltstrike-1.2.2.dev2}/docs/c2profile-grammar.rst
RENAMED
|
File without changes
|
{dissect_cobaltstrike-1.2.1.dev13 → dissect_cobaltstrike-1.2.2.dev2}/docs/codespell-ignore-words.txt
RENAMED
|
File without changes
|
|
File without changes
|
{dissect_cobaltstrike-1.2.1.dev13 → dissect_cobaltstrike-1.2.2.dev2}/docs/images/beacon-client.png
RENAMED
|
File without changes
|
|
File without changes
|
{dissect_cobaltstrike-1.2.1.dev13 → dissect_cobaltstrike-1.2.2.dev2}/docs/images/teamserver_ls.png
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dissect_cobaltstrike-1.2.1.dev13 → dissect_cobaltstrike-1.2.2.dev2}/docs/scripts/example_client.rst
RENAMED
|
File without changes
|
|
File without changes
|
{dissect_cobaltstrike-1.2.1.dev13 → dissect_cobaltstrike-1.2.2.dev2}/docs/structures/c2_def.rst
RENAMED
|
File without changes
|
{dissect_cobaltstrike-1.2.1.dev13 → dissect_cobaltstrike-1.2.2.dev2}/docs/structures/cs_def.rst
RENAMED
|
File without changes
|
|
File without changes
|
{dissect_cobaltstrike-1.2.1.dev13 → dissect_cobaltstrike-1.2.2.dev2}/docs/structures/index.rst
RENAMED
|
File without changes
|
{dissect_cobaltstrike-1.2.1.dev13 → dissect_cobaltstrike-1.2.2.dev2}/docs/structures/pe_def.rst
RENAMED
|
File without changes
|
{dissect_cobaltstrike-1.2.1.dev13 → dissect_cobaltstrike-1.2.2.dev2}/docs/tools/beacon-artifact.rst
RENAMED
|
File without changes
|
{dissect_cobaltstrike-1.2.1.dev13 → dissect_cobaltstrike-1.2.2.dev2}/docs/tools/beacon-client.rst
RENAMED
|
File without changes
|
{dissect_cobaltstrike-1.2.1.dev13 → dissect_cobaltstrike-1.2.2.dev2}/docs/tools/beacon-dump.rst
RENAMED
|
File without changes
|
{dissect_cobaltstrike-1.2.1.dev13 → dissect_cobaltstrike-1.2.2.dev2}/docs/tools/beacon-pcap.rst
RENAMED
|
File without changes
|
{dissect_cobaltstrike-1.2.1.dev13 → dissect_cobaltstrike-1.2.2.dev2}/docs/tools/beacon-xordecode.rst
RENAMED
|
File without changes
|
{dissect_cobaltstrike-1.2.1.dev13 → dissect_cobaltstrike-1.2.2.dev2}/docs/tools/c2profile-dump.rst
RENAMED
|
File without changes
|
|
File without changes
|
{dissect_cobaltstrike-1.2.1.dev13 → dissect_cobaltstrike-1.2.2.dev2}/docs/tutorials/index.rst
RENAMED
|
File without changes
|
|
File without changes
|
{dissect_cobaltstrike-1.2.1.dev13 → dissect_cobaltstrike-1.2.2.dev2}/scripts/checksum8-accesslogs.py
RENAMED
|
File without changes
|
{dissect_cobaltstrike-1.2.1.dev13 → dissect_cobaltstrike-1.2.2.dev2}/scripts/dump_beacon_keys.py
RENAMED
|
File without changes
|
{dissect_cobaltstrike-1.2.1.dev13 → dissect_cobaltstrike-1.2.2.dev2}/scripts/example_client.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dissect_cobaltstrike-1.2.1.dev13 → dissect_cobaltstrike-1.2.2.dev2}/tests/test_c2profile.py
RENAMED
|
File without changes
|
|
File without changes
|
{dissect_cobaltstrike-1.2.1.dev13 → dissect_cobaltstrike-1.2.2.dev2}/tests/test_guardrails.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dissect_cobaltstrike-1.2.1.dev13 → dissect_cobaltstrike-1.2.2.dev2}/tests/test_xordecode.py
RENAMED
|
File without changes
|
|
File without changes
|