From e438d9da075268158504561db1635ac62cbad1d6 Mon Sep 17 00:00:00 2001 From: Bastien Faure Date: Sun, 2 Jun 2024 02:03:37 -0700 Subject: [PATCH 1/3] Build sdist from linux --- .github/workflows/build.yml | 13 +++++++++++-- .github/workflows/release.yml | 3 --- ldeep/views/ldap_activedirectory.py | 20 -------------------- 3 files changed, 11 insertions(+), 25 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 2eca70f..5aecdaf 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -31,17 +31,26 @@ jobs: pdm export -f requirements --without-hashes --dev > requirements.txt python3.12 -m pip install -r requirements.txt - - name: Build + - name: Build binary release run: | python3.12 -m nuitka --standalone --onefile --output-filename=ldeep.bin ldeep/__main__.py mv ldeep.bin ldeep_linux-amd64 - - name: Upload Artifacts + - name: Build Source Distribution + run: pdm build -d sdist --no-wheel + + - name: Upload Artifacts (binary) uses: actions/upload-artifact@v3 with: name: linux path: ldeep_linux-amd64 + - name: Upload Artifacts (sdist) + uses: actions/upload-artifact@v3 + with: + name: sdist + path: sdist/* + windows-build: name: Windows Build runs-on: "windows-latest" diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index f649630..4a33810 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -17,9 +17,6 @@ jobs: - name: Get local version run: echo "version=$(cat VERSION)" >> $GITHUB_ENV - - name: Build sdist - run: pdm build -d sdist --no-wheel - - name: Create tag uses: rickstaa/action-create-tag@v1 with: diff --git a/ldeep/views/ldap_activedirectory.py b/ldeep/views/ldap_activedirectory.py index 07123d3..718d72b 100644 --- a/ldeep/views/ldap_activedirectory.py +++ b/ldeep/views/ldap_activedirectory.py @@ -698,26 +698,6 @@ def get_gmsa(self, attributes): sam = entry["sAMAccountName"] data = entry["msDS-ManagedPassword"] readers = entry["msDS-GroupMSAMembership"] - - # Find principals who can read the password - try: - readers_sd = parse_ntSecurityDescriptor(readers) - entry["readers"] = [] - for ace in readers_sd["DACL"]["ACEs"]: - try: - reader_object = list(self.resolve_sid(ace["SID"])) - if reader_object: - name = reader_object[0]["sAMAccountName"] - if "group" in reader_object[0]["objectClass"]: - name += " (group)" - entry["readers"].append(name) - else: - entry["readers"].append(ace["SID"]) - except Exception: - pass - except Exception: - pass - blob = MSDS_MANAGEDPASSWORD_BLOB() try: blob.fromString(data) From 12dcfd6abdf0b1668b5d9c7a84a1f047c3fe39b9 Mon Sep 17 00:00:00 2001 From: Bastien Faure Date: Sun, 2 Jun 2024 02:04:54 -0700 Subject: [PATCH 2/3] Test release --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 78a3e6e..ed453e6 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.0.55 +1.0.56 From 37c7e68a353a05e8f4ee3958ca3eedf138981877 Mon Sep 17 00:00:00 2001 From: Bastien Faure Date: Sun, 2 Jun 2024 02:07:45 -0700 Subject: [PATCH 3/3] Test release --- ldeep/views/ldap_activedirectory.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/ldeep/views/ldap_activedirectory.py b/ldeep/views/ldap_activedirectory.py index 718d72b..9795d60 100644 --- a/ldeep/views/ldap_activedirectory.py +++ b/ldeep/views/ldap_activedirectory.py @@ -698,6 +698,24 @@ def get_gmsa(self, attributes): sam = entry["sAMAccountName"] data = entry["msDS-ManagedPassword"] readers = entry["msDS-GroupMSAMembership"] + # Find principals who can read the password + try: + readers_sd = parse_ntSecurityDescriptor(readers) + entry["readers"] = [] + for ace in readers_sd["DACL"]["ACEs"]: + try: + reader_object = list(self.resolve_sid(ace["SID"])) + if reader_object: + name = reader_object[0]["sAMAccountName"] + if "group" in reader_object[0]["objectClass"]: + name += " (group)" + entry["readers"].append(name) + else: + entry["readers"].append(ace["SID"]) + except Exception: + pass + except Exception: + pass blob = MSDS_MANAGEDPASSWORD_BLOB() try: blob.fromString(data)